Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

ASoC: fsl-asoc-card: add wm8904 codec support

wm8904 codec is used on i.MX95 Toradex board

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Link: https://lore.kernel.org/r/1713165456-3494-2-git-send-email-shengjiu.wang@nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org>

authored by

Shengjiu Wang and committed by
Mark Brown
51f67862 863f94ac

+8
+8
sound/soc/fsl/fsl-asoc-card.c
··· 28 28 #include "../codecs/wm8994.h" 29 29 #include "../codecs/tlv320aic31xx.h" 30 30 #include "../codecs/nau8822.h" 31 + #include "../codecs/wm8904.h" 31 32 32 33 #define DRIVER_NAME "fsl-asoc-card" 33 34 ··· 710 709 priv->dai_fmt |= SND_SOC_DAIFMT_CBM_CFM; 711 710 if (codec_dev) 712 711 priv->codec_priv.mclk = devm_clk_get(codec_dev, NULL); 712 + } else if (of_device_is_compatible(np, "fsl,imx-audio-wm8904")) { 713 + codec_dai_name = "wm8904-hifi"; 714 + priv->codec_priv.mclk_id = WM8904_FLL_MCLK; 715 + priv->codec_priv.fll_id = WM8904_CLK_FLL; 716 + priv->codec_priv.pll_id = WM8904_FLL_MCLK; 717 + priv->dai_fmt |= SND_SOC_DAIFMT_CBP_CFP; 713 718 } else { 714 719 dev_err(&pdev->dev, "unknown Device Tree compatible\n"); 715 720 ret = -EINVAL; ··· 942 935 { .compatible = "fsl,imx-audio-si476x", }, 943 936 { .compatible = "fsl,imx-audio-wm8958", }, 944 937 { .compatible = "fsl,imx-audio-nau8822", }, 938 + { .compatible = "fsl,imx-audio-wm8904", }, 945 939 {} 946 940 }; 947 941 MODULE_DEVICE_TABLE(of, fsl_asoc_card_dt_ids);