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

Commit 30659894 authored by Mark Brown's avatar Mark Brown
Browse files

Merge tag 'asoc-v3.15-4' into asoc-linus

ASoC: Final updates for v3.15 merge window

A few more updates from last week - use of the tdm_slot mapping from
Xiubo plus a few smaller fixes and cleanups.

# gpg: Signature made Mon 31 Mar 2014 10:49:42 BST using RSA key ID 7EA229BD
# gpg: Good signature from "Mark Brown <broonie@sirena.org.uk>"
# gpg:                 aka "Mark Brown <broonie@debian.org>"
# gpg:                 aka "Mark Brown <broonie@kernel.org>"
# gpg:                 aka "Mark Brown <broonie@tardis.ed.ac.uk>"
# gpg:                 aka "Mark Brown <broonie@linaro.org>"
# gpg:                 aka "Mark Brown <Mark.Brown@linaro.org>"
parents e9b433cf c159a850
Loading
Loading
Loading
Loading
+12 −3
Original line number Diff line number Diff line
@@ -7,14 +7,23 @@ Required properties:
				  required register is
				   SRU/ADG/SSI      if generation1
				   SRU/ADG/SSIU/SSI if generation2
- rcar_sound,ssi		: SSI subnode
- rcar_sound,scu		: SCU subnode
- rcar_sound,dai		: DAI subnode
- rcar_sound,ssi		: Should contain SSI feature.
				  The number of SSI subnode should be same as HW.
				  see below for detail.
- rcar_sound,src		: Should contain SRC feature.
				  The number of SRC subnode should be same as HW.
				  see below for detail.
- rcar_sound,dai		: DAI contents.
				  The number of DAI subnode should be same as HW.
				  see below for detail.

SSI subnode properties:
- interrupts			: Should contain SSI interrupt for PIO transfer
- shared-pin			: if shared clock pin

SRC subnode properties:
no properties at this point

DAI subnode properties:
- playback			: list of playback modules
- capture			: list of capture  modules
+41 −1
Original line number Diff line number Diff line
@@ -23,6 +23,11 @@ Optional properties:

Required subnodes:

- simple-audio-card,dai-link		: container for the CPU and CODEC sub-nodes
					  This container may be omitted when the
					  card has only one DAI link.
					  See the examples.

- simple-audio-card,cpu			: CPU   sub-node
- simple-audio-card,codec		: CODEC sub-node

@@ -49,7 +54,7 @@ Note:
   CPU and CODEC sides as we need to keep the settings identical for both ends
   of the link.

Example:
Example 1 - single DAI link:

sound {
	compatible = "simple-audio-card";
@@ -94,3 +99,38 @@ sh_fsi2: sh_fsi2@ec230000 {
	interrupt-parent = <&gic>;
	interrupts = <0 146 0x4>;
};

Example 2 - many DAI links:

sound {
	compatible = "simple-audio-card";
	simple-audio-card,name = "Cubox Audio";
	simple-audio-card,format = "i2s";

	simple-audio-card,dai-link@0 {		/* I2S - HDMI */
		simple-audio-card,cpu {
			sound-dai = <&audio1 0>;
		};
		simple-audio-card,codec {
			sound-dai = <&tda998x 0>;
		};
	};

	simple-audio-card,dai-link@1 {		/* S/PDIF - HDMI */
		simple-audio-card,cpu {
			sound-dai = <&audio1 1>;
		};
		simple-audio-card,codec {
			sound-dai = <&tda998x 1>;
		};
	};

	simple-audio-card,dai-link@2 {		/* S/PDIF - S/PDIF */
		simple-audio-card,cpu {
			sound-dai = <&audio1 1>;
		};
		simple-audio-card,codec {
			sound-dai = <&spdif_codec>;
		};
	};
};
+5 −11
Original line number Diff line number Diff line
@@ -429,14 +429,12 @@ static struct asoc_simple_card_info rsnd_card_info[] = {
		.card		= "SSI56-AK4643",
		.codec		= "ak4642-codec.0-0012",
		.platform	= "rcar_sound",
		.daifmt		= SND_SOC_DAIFMT_LEFT_J,
		.daifmt		= SND_SOC_DAIFMT_LEFT_J | SND_SOC_DAIFMT_CBM_CFM,
		.cpu_dai = {
			.name	= "rsnd-dai.0",
			.fmt	= SND_SOC_DAIFMT_CBS_CFS,
		},
		.codec_dai = {
			.name	= "ak4642-hifi",
			.fmt	= SND_SOC_DAIFMT_CBM_CFM,
			.sysclk	= 11289600,
		},
	},
@@ -446,10 +444,9 @@ static struct asoc_simple_card_info rsnd_card_info[] = {
		.card		= "SSI3-AK4554(playback)",
		.codec		= "ak4554-adc-dac.0",
		.platform	= "rcar_sound",
		.daifmt		= SND_SOC_DAIFMT_CBS_CFS | SND_SOC_DAIFMT_RIGHT_J,
		.cpu_dai = {
			.name	= "rsnd-dai.1",
			.fmt	= SND_SOC_DAIFMT_CBM_CFM |
				  SND_SOC_DAIFMT_RIGHT_J,
		},
		.codec_dai = {
			.name	= "ak4554-hifi",
@@ -461,10 +458,9 @@ static struct asoc_simple_card_info rsnd_card_info[] = {
		.card		= "SSI4-AK4554(capture)",
		.codec		= "ak4554-adc-dac.0",
		.platform	= "rcar_sound",
		.daifmt		= SND_SOC_DAIFMT_CBS_CFS | SND_SOC_DAIFMT_LEFT_J,
		.cpu_dai = {
			.name	= "rsnd-dai.2",
			.fmt	= SND_SOC_DAIFMT_CBM_CFM |
				  SND_SOC_DAIFMT_LEFT_J,
		},
		.codec_dai = {
			.name	= "ak4554-hifi",
@@ -476,10 +472,9 @@ static struct asoc_simple_card_info rsnd_card_info[] = {
		.card		= "SSI7-AK4554(playback)",
		.codec		= "ak4554-adc-dac.1",
		.platform	= "rcar_sound",
		.daifmt		= SND_SOC_DAIFMT_CBS_CFS | SND_SOC_DAIFMT_RIGHT_J,
		.cpu_dai = {
			.name	= "rsnd-dai.3",
			.fmt	= SND_SOC_DAIFMT_CBM_CFM |
				  SND_SOC_DAIFMT_RIGHT_J,
		},
		.codec_dai = {
			.name	= "ak4554-hifi",
@@ -491,10 +486,9 @@ static struct asoc_simple_card_info rsnd_card_info[] = {
		.card		= "SSI8-AK4554(capture)",
		.codec		= "ak4554-adc-dac.1",
		.platform	= "rcar_sound",
		.daifmt		= SND_SOC_DAIFMT_CBS_CFS | SND_SOC_DAIFMT_LEFT_J,
		.cpu_dai = {
			.name	= "rsnd-dai.4",
			.fmt	= SND_SOC_DAIFMT_CBM_CFM |
				  SND_SOC_DAIFMT_LEFT_J,
		},
		.codec_dai = {
			.name	= "ak4554-hifi",
+1 −1
Original line number Diff line number Diff line
@@ -142,7 +142,7 @@ struct snd_soc_dai_ops {
	 * Called by soc_card drivers, normally in their hw_params.
	 */
	int (*set_fmt)(struct snd_soc_dai *dai, unsigned int fmt);
	int (*of_xlate_tdm_slot_mask)(unsigned int slots,
	int (*xlate_tdm_slot_mask)(unsigned int slots,
		unsigned int *tx_mask, unsigned int *rx_mask);
	int (*set_tdm_slot)(struct snd_soc_dai *dai,
		unsigned int tx_mask, unsigned int rx_mask,
+2 −0
Original line number Diff line number Diff line
@@ -13,6 +13,7 @@ config SND_SOC_FSL_SPDIF
config SND_SOC_FSL_ESAI
	tristate
	select REGMAP_MMIO
	select SND_SOC_FSL_UTILS

config SND_SOC_FSL_UTILS
	tristate
@@ -120,6 +121,7 @@ if SND_IMX_SOC

config SND_SOC_IMX_SSI
	tristate
	select SND_SOC_FSL_UTILS

config SND_SOC_IMX_PCM_FIQ
	tristate
Loading