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

Ariel D'Alessandro ariel.dalessandro at collabora.com
Sat Dec 4 04:27:46 AEDT 2021


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 at amarulasolutions.com>
> Signed-off-by: Ariel D'Alessandro <ariel.dalessandro at collabora.com>
> ---
>  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


More information about the Linuxppc-dev mailing list