Re: [PATCH v3 4/4] ASoC: tegra: Specify components string for Nexus 7

From: Jon Hunter
Date: Tue May 25 2021 - 04:40:37 EST



On 24/05/2021 00:44, Dmitry Osipenko wrote:
> Specify components string for Nexus 7 using the Intel BayTrail components
> format. This may allow us to create a more generic UCM for RT5640 codec.
>
> Signed-off-by: Dmitry Osipenko <digetx@xxxxxxxxx>
> ---
> sound/soc/tegra/tegra_asoc_machine.c | 19 +++++++++++++++++++
> 1 file changed, 19 insertions(+)
>
> diff --git a/sound/soc/tegra/tegra_asoc_machine.c b/sound/soc/tegra/tegra_asoc_machine.c
> index a81f2ebfc00c..87e0a47040a5 100644
> --- a/sound/soc/tegra/tegra_asoc_machine.c
> +++ b/sound/soc/tegra/tegra_asoc_machine.c
> @@ -671,6 +671,24 @@ static const struct tegra_asoc_data tegra_rt5640_data = {
> .add_hp_jack = true,
> };
>
> +/*
> + * Speaker: Connected to SPO L/R P/N pins, stereo.
> + * Internal Microphone: Digital, connected to DMIC1_DAT IN2P/N pins.
> + * Headphones: Connected to HPOL/R pins.
> + * Headset Microphone: Unconnected.
> + *
> + * IF2_DAC/ADC are unpopulated.
> + */
> +static const struct tegra_asoc_data tegra_rt5640_grouper_data = {
> + .components = "codec:rt5640 cfg-spk:2 cfg-mic:dmic1 aif:1",
> + .mclk_rate = tegra_machine_mclk_rate_256,
> + .card = &snd_soc_tegra_rt5640,
> + .add_common_dapm_widgets = true,
> + .add_common_controls = true,
> + .add_common_snd_ops = true,
> + .add_hp_jack = true,
> +};
> +
> /* RT5632 machine */
>
> SND_SOC_DAILINK_DEFS(rt5632_hifi,
> @@ -712,6 +730,7 @@ static const struct of_device_id tegra_machine_of_match[] = {
> { .compatible = "nvidia,tegra-audio-wm8753", .data = &tegra_wm8753_data },
> { .compatible = "nvidia,tegra-audio-rt5677", .data = &tegra_rt5677_data },
> { .compatible = "nvidia,tegra-audio-rt5640", .data = &tegra_rt5640_data },
> + { .compatible = "nvidia,tegra-audio-rt5640-grouper", .data = &tegra_rt5640_grouper_data },


Is there any harm always populating the components data for rt5640? I
did not see any existing UCM support for Tegra+rt5640 platforms in ALSA.

Jon

--
nvpublic