Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 57e756d3 authored by Felipe F. Tonello's avatar Felipe F. Tonello Committed by Mark Brown
Browse files

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



add cs4271 and cs42727 support for fsl-asoc-card

Signed-off-by: default avatarFelipe F. Tonello <eu@felipetonello.com>
Acked-by: default avatarNicolin Chen <nicoleotsuka@gmail.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 089dfaf7
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -24,6 +24,9 @@ The compatible list for this generic sound card currently:

 "fsl,imx-audio-cs42888"

 "fsl,imx-audio-cs427x"
 (compatible with CS4271 and CS4272)

 "fsl,imx-audio-wm8962"
 (compatible with Documentation/devicetree/bindings/sound/imx-audio-wm8962.txt)

@@ -61,6 +64,12 @@ Optional properties:
  - audio-asrc		: The phandle of ASRC. It can be absent if there's no
			  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:
sound-cs42888 {
	compatible = "fsl,imx-audio-cs42888";
+2 −2
Original line number Diff line number Diff line
@@ -292,8 +292,8 @@ config SND_SOC_FSL_ASOC_CARD
	select SND_SOC_FSL_SSI
	help
	 ALSA SoC Audio support with ASRC feature for Freescale SoCs that have
	 ESAI/SAI/SSI and connect with external CODECs such as WM8962, CS42888
	 and SGTL5000.
	 ESAI/SAI/SSI and connect with external CODECs such as WM8962, CS42888,
	 CS4271, CS4272 and SGTL5000.
	 Say Y if you want to add support for Freescale Generic ASoC Sound Card.

endif # SND_IMX_SOC
+7 −0
Original line number Diff line number Diff line
@@ -28,6 +28,8 @@
#include "../codecs/wm8962.h"
#include "../codecs/wm8960.h"

#define CS427x_SYSCLK_MCLK 0

#define RX 0
#define TX 1

@@ -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.slot_width = 32;
		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")) {
		codec_dai_name = "sgtl5000";
		priv->codec_priv.mclk_id = SGTL5000_SYSCLK;
@@ -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[] = {
	{ .compatible = "fsl,imx-audio-ac97", },
	{ .compatible = "fsl,imx-audio-cs42888", },
	{ .compatible = "fsl,imx-audio-cs427x", },
	{ .compatible = "fsl,imx-audio-sgtl5000", },
	{ .compatible = "fsl,imx-audio-wm8962", },
	{ .compatible = "fsl,imx-audio-wm8960", },