Re: [RFC patch 5/5] ASoC: fsl-asoc-card: Support fsl,imx-audio-tlv320aic31xx codec

From: Ariel D'Alessandro
Date: Fri Dec 03 2021 - 12:27:57 EST



On 11/19/21 12:32 PM, Ariel D'Alessandro wrote:
> Add entry for fsl,imx-audio-tlv320aic31xx audio codec. This codec is
> configured to use BCLK as clock input.
>
> Signed-off-by: Michael Trimarchi <michael@xxxxxxxxxxxxxxxxxxxx>
> Signed-off-by: Ariel D'Alessandro <ariel.dalessandro@xxxxxxxxxxxxx>
> ---
> sound/soc/fsl/fsl-asoc-card.c | 12 ++++++++++++
> 1 file changed, 12 insertions(+)
>
> diff --git a/sound/soc/fsl/fsl-asoc-card.c b/sound/soc/fsl/fsl-asoc-card.c
> index 6e6494f9f399..90cbed496f98 100644
> --- a/sound/soc/fsl/fsl-asoc-card.c
> +++ b/sound/soc/fsl/fsl-asoc-card.c
> @@ -26,6 +26,7 @@
> #include "../codecs/wm8962.h"
> #include "../codecs/wm8960.h"
> #include "../codecs/wm8994.h"
> +#include "../codecs/tlv320aic31xx.h"
>
> #define CS427x_SYSCLK_MCLK 0
>
> @@ -629,6 +630,16 @@ static int fsl_asoc_card_probe(struct platform_device *pdev)
> } else if (of_device_is_compatible(np, "fsl,imx-audio-tlv320aic32x4")) {
> codec_dai_name = "tlv320aic32x4-hifi";
> priv->dai_fmt |= SND_SOC_DAIFMT_CBP_CFP;
> + } else if (of_device_is_compatible(np, "fsl,imx-audio-tlv320aic31xx")) {
> + codec_dai_name = "tlv320dac31xx-hifi";
> + priv->dai_fmt |= SND_SOC_DAIFMT_CBS_CFS;
> + priv->dai_link[1].dpcm_capture = 0;
> + priv->dai_link[2].dpcm_capture = 0;
> + priv->cpu_priv.sysclk_dir[TX] = SND_SOC_CLOCK_OUT;
> + priv->cpu_priv.sysclk_dir[RX] = SND_SOC_CLOCK_OUT;
> + priv->codec_priv.mclk_id = AIC31XX_PLL_CLKIN_BCLK;
> + priv->card.dapm_routes = audio_map_tx;
> + priv->card.num_dapm_routes = ARRAY_SIZE(audio_map_tx);
> } else if (of_device_is_compatible(np, "fsl,imx-audio-wm8962")) {
> codec_dai_name = "wm8962";
> priv->codec_priv.mclk_id = WM8962_SYSCLK_MCLK;
> @@ -888,6 +899,7 @@ static const struct of_device_id fsl_asoc_card_dt_ids[] = {
> { .compatible = "fsl,imx-audio-cs42888", },
> { .compatible = "fsl,imx-audio-cs427x", },
> { .compatible = "fsl,imx-audio-tlv320aic32x4", },
> + { .compatible = "fsl,imx-audio-tlv320aic31xx", },
> { .compatible = "fsl,imx-audio-sgtl5000", },
> { .compatible = "fsl,imx-audio-wm8962", },
> { .compatible = "fsl,imx-audio-wm8960", },

The following config is missing and must be added.

diff --git a/sound/soc/fsl/Kconfig b/sound/soc/fsl/Kconfig
index 8e05d092790e..14a06d9418a7 100644
--- a/sound/soc/fsl/Kconfig
+++ b/sound/soc/fsl/Kconfig
@@ -312,6 +312,7 @@ config SND_SOC_FSL_ASOC_CARD
select SND_SOC_FSL_SAI
select SND_SOC_FSL_SSI
+ select SND_SOC_TLV320AIC31XX
select SND_SOC_WM8994
select MFD_WM8994
help

Regards,
Ariel