提交 57e756d3 编写于 作者: F Felipe F. Tonello 提交者: Mark Brown

ASoC: fsl-asoc-card: add cs4271 and cs4272 support

add cs4271 and cs42727 support for fsl-asoc-card
Signed-off-by: NFelipe F. Tonello <eu@felipetonello.com>
Acked-by: NNicolin Chen <nicoleotsuka@gmail.com>
Signed-off-by: NMark Brown <broonie@kernel.org>
上级 089dfaf7
...@@ -24,6 +24,9 @@ The compatible list for this generic sound card currently: ...@@ -24,6 +24,9 @@ The compatible list for this generic sound card currently:
"fsl,imx-audio-cs42888" "fsl,imx-audio-cs42888"
"fsl,imx-audio-cs427x"
(compatible with CS4271 and CS4272)
"fsl,imx-audio-wm8962" "fsl,imx-audio-wm8962"
(compatible with Documentation/devicetree/bindings/sound/imx-audio-wm8962.txt) (compatible with Documentation/devicetree/bindings/sound/imx-audio-wm8962.txt)
...@@ -61,6 +64,12 @@ Optional properties: ...@@ -61,6 +64,12 @@ Optional properties:
- audio-asrc : The phandle of ASRC. It can be absent if there's no - audio-asrc : The phandle of ASRC. It can be absent if there's no
need to add ASRC support via DPCM. need to add ASRC support via DPCM.
Optional unless SSI is selected as a CPU DAI:
- mux-int-port : The internal port of the i.MX audio muxer (AUDMUX)
- mux-ext-port : The external port of the i.MX audio muxer
Example: Example:
sound-cs42888 { sound-cs42888 {
compatible = "fsl,imx-audio-cs42888"; compatible = "fsl,imx-audio-cs42888";
......
...@@ -292,8 +292,8 @@ config SND_SOC_FSL_ASOC_CARD ...@@ -292,8 +292,8 @@ config SND_SOC_FSL_ASOC_CARD
select SND_SOC_FSL_SSI select SND_SOC_FSL_SSI
help help
ALSA SoC Audio support with ASRC feature for Freescale SoCs that have ALSA SoC Audio support with ASRC feature for Freescale SoCs that have
ESAI/SAI/SSI and connect with external CODECs such as WM8962, CS42888 ESAI/SAI/SSI and connect with external CODECs such as WM8962, CS42888,
and SGTL5000. CS4271, CS4272 and SGTL5000.
Say Y if you want to add support for Freescale Generic ASoC Sound Card. Say Y if you want to add support for Freescale Generic ASoC Sound Card.
endif # SND_IMX_SOC endif # SND_IMX_SOC
......
...@@ -28,6 +28,8 @@ ...@@ -28,6 +28,8 @@
#include "../codecs/wm8962.h" #include "../codecs/wm8962.h"
#include "../codecs/wm8960.h" #include "../codecs/wm8960.h"
#define CS427x_SYSCLK_MCLK 0
#define RX 0 #define RX 0
#define TX 1 #define TX 1
...@@ -535,6 +537,10 @@ static int fsl_asoc_card_probe(struct platform_device *pdev) ...@@ -535,6 +537,10 @@ static int fsl_asoc_card_probe(struct platform_device *pdev)
priv->cpu_priv.sysclk_dir[RX] = SND_SOC_CLOCK_OUT; priv->cpu_priv.sysclk_dir[RX] = SND_SOC_CLOCK_OUT;
priv->cpu_priv.slot_width = 32; priv->cpu_priv.slot_width = 32;
priv->dai_fmt |= SND_SOC_DAIFMT_CBS_CFS; priv->dai_fmt |= SND_SOC_DAIFMT_CBS_CFS;
} else if (of_device_is_compatible(np, "fsl,imx-audio-cs427x")) {
codec_dai_name = "cs4271-hifi";
priv->codec_priv.mclk_id = CS427x_SYSCLK_MCLK;
priv->dai_fmt |= SND_SOC_DAIFMT_CBM_CFM;
} else if (of_device_is_compatible(np, "fsl,imx-audio-sgtl5000")) { } else if (of_device_is_compatible(np, "fsl,imx-audio-sgtl5000")) {
codec_dai_name = "sgtl5000"; codec_dai_name = "sgtl5000";
priv->codec_priv.mclk_id = SGTL5000_SYSCLK; priv->codec_priv.mclk_id = SGTL5000_SYSCLK;
...@@ -692,6 +698,7 @@ static int fsl_asoc_card_probe(struct platform_device *pdev) ...@@ -692,6 +698,7 @@ static int fsl_asoc_card_probe(struct platform_device *pdev)
static const struct of_device_id fsl_asoc_card_dt_ids[] = { static const struct of_device_id fsl_asoc_card_dt_ids[] = {
{ .compatible = "fsl,imx-audio-ac97", }, { .compatible = "fsl,imx-audio-ac97", },
{ .compatible = "fsl,imx-audio-cs42888", }, { .compatible = "fsl,imx-audio-cs42888", },
{ .compatible = "fsl,imx-audio-cs427x", },
{ .compatible = "fsl,imx-audio-sgtl5000", }, { .compatible = "fsl,imx-audio-sgtl5000", },
{ .compatible = "fsl,imx-audio-wm8962", }, { .compatible = "fsl,imx-audio-wm8962", },
{ .compatible = "fsl,imx-audio-wm8960", }, { .compatible = "fsl,imx-audio-wm8960", },
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册