[alsa-devel] [PATCH 1/2][RFC] ASoC: fsi: fixup SND_SOC_DAIFMT_CBx_CFx flags
Simon Horman
horms at verge.net.au
Fri Mar 14 00:55:50 CET 2014
On Tue, Mar 11, 2014 at 11:48:21PM -0700, Kuninori Morimoto wrote:
> From: Kuninori Morimoto <kuninori.morimoto.gx at renesas.com>
>
> SND_SOC_DAIFMT_CBx_CFx means "codec" side master/slave mode.
> Then, FSI will be master mode if it was SND_SOC_DAIFMT_CBS_CFS.
>
> This patch fixup platform settings too.
> Then, it tidyups SND_SOC_DAIFMT_INV settings.
>
> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx at renesas.com>
arch/arm/mach-shmobile bits:
Acked-by: Simon Horman <horms+renesas at verge.net.au>
N.B: arch/sh/ is now orphaned.
> ---
> .../boot/dts/r8a7740-armadillo800eva-reference.dts | 3 ++-
> arch/arm/boot/dts/sh73a0-kzm9g-reference.dts | 2 ++
> arch/arm/mach-shmobile/board-armadillo800eva.c | 4 +---
> arch/arm/mach-shmobile/board-kzm9g.c | 4 +---
> arch/arm/mach-shmobile/board-mackerel.c | 6 ++----
> arch/sh/boards/mach-ecovec24/setup.c | 4 +---
> arch/sh/boards/mach-se/7724/setup.c | 4 +---
> sound/soc/sh/fsi.c | 2 +-
> 8 files changed, 11 insertions(+), 18 deletions(-)
>
> diff --git a/arch/arm/boot/dts/r8a7740-armadillo800eva-reference.dts b/arch/arm/boot/dts/r8a7740-armadillo800eva-reference.dts
> index 95a849b..acffbab 100644
> --- a/arch/arm/boot/dts/r8a7740-armadillo800eva-reference.dts
> +++ b/arch/arm/boot/dts/r8a7740-armadillo800eva-reference.dts
> @@ -135,7 +135,8 @@
>
> simple-audio-card,cpu {
> sound-dai = <&sh_fsi2 0>;
> - bitclock-inversion;
> + bitclock-master;
> + frame-master;
> };
>
> simple-audio-card,codec {
> diff --git a/arch/arm/boot/dts/sh73a0-kzm9g-reference.dts b/arch/arm/boot/dts/sh73a0-kzm9g-reference.dts
> index eb8886b..68da428 100644
> --- a/arch/arm/boot/dts/sh73a0-kzm9g-reference.dts
> +++ b/arch/arm/boot/dts/sh73a0-kzm9g-reference.dts
> @@ -158,6 +158,8 @@
> simple-audio-card,format = "left_j";
> simple-audio-card,cpu {
> sound-dai = <&sh_fsi2 0>;
> + bitclock-master;
> + frame-master;
> };
> simple-audio-card,codec {
> sound-dai = <&ak4648>;
> diff --git a/arch/arm/mach-shmobile/board-armadillo800eva.c b/arch/arm/mach-shmobile/board-armadillo800eva.c
> index 93533e2..9323854 100644
> --- a/arch/arm/mach-shmobile/board-armadillo800eva.c
> +++ b/arch/arm/mach-shmobile/board-armadillo800eva.c
> @@ -988,14 +988,12 @@ static struct asoc_simple_card_info fsi_wm8978_info = {
> .card = "FSI2A-WM8978",
> .codec = "wm8978.0-001a",
> .platform = "sh_fsi2",
> - .daifmt = SND_SOC_DAIFMT_I2S,
> + .daifmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_CBM_CFM,
> .cpu_dai = {
> .name = "fsia-dai",
> - .fmt = SND_SOC_DAIFMT_CBS_CFS | SND_SOC_DAIFMT_IB_NF,
> },
> .codec_dai = {
> .name = "wm8978-hifi",
> - .fmt = SND_SOC_DAIFMT_CBM_CFM | SND_SOC_DAIFMT_NB_NF,
> .sysclk = 12288000,
> },
> };
> diff --git a/arch/arm/mach-shmobile/board-kzm9g.c b/arch/arm/mach-shmobile/board-kzm9g.c
> index bc40b85..03dc3ac 100644
> --- a/arch/arm/mach-shmobile/board-kzm9g.c
> +++ b/arch/arm/mach-shmobile/board-kzm9g.c
> @@ -589,14 +589,12 @@ static struct asoc_simple_card_info fsi2_ak4648_info = {
> .card = "FSI2A-AK4648",
> .codec = "ak4642-codec.0-0012",
> .platform = "sh_fsi2",
> - .daifmt = SND_SOC_DAIFMT_LEFT_J,
> + .daifmt = SND_SOC_DAIFMT_LEFT_J | SND_SOC_DAIFMT_CBM_CFM,
> .cpu_dai = {
> .name = "fsia-dai",
> - .fmt = SND_SOC_DAIFMT_CBS_CFS,
> },
> .codec_dai = {
> .name = "ak4642-hifi",
> - .fmt = SND_SOC_DAIFMT_CBM_CFM,
> .sysclk = 11289600,
> },
> };
> diff --git a/arch/arm/mach-shmobile/board-mackerel.c b/arch/arm/mach-shmobile/board-mackerel.c
> index 3aba037..8c43321 100644
> --- a/arch/arm/mach-shmobile/board-mackerel.c
> +++ b/arch/arm/mach-shmobile/board-mackerel.c
> @@ -509,9 +509,9 @@ static struct asoc_simple_card_info fsi2_hdmi_info = {
> .card = "FSI2B-HDMI",
> .codec = "sh-mobile-hdmi",
> .platform = "sh_fsi2",
> + .fmt = SND_SOC_DAIFMT_CBS_CFS,
> .cpu_dai = {
> .name = "fsib-dai",
> - .fmt = SND_SOC_DAIFMT_CBM_CFM | SND_SOC_DAIFMT_IB_NF,
> },
> .codec_dai = {
> .name = "sh_mobile_hdmi-hifi",
> @@ -905,14 +905,12 @@ static struct asoc_simple_card_info fsi2_ak4643_info = {
> .card = "FSI2A-AK4643",
> .codec = "ak4642-codec.0-0013",
> .platform = "sh_fsi2",
> - .daifmt = SND_SOC_DAIFMT_LEFT_J,
> + .daifmt = SND_SOC_DAIFMT_LEFT_J | SND_SOC_DAIFMT_CBM_CFM,
> .cpu_dai = {
> .name = "fsia-dai",
> - .fmt = SND_SOC_DAIFMT_CBS_CFS,
> },
> .codec_dai = {
> .name = "ak4642-hifi",
> - .fmt = SND_SOC_DAIFMT_CBM_CFM,
> .sysclk = 11289600,
> },
> };
> diff --git a/arch/sh/boards/mach-ecovec24/setup.c b/arch/sh/boards/mach-ecovec24/setup.c
> index 5bc3a15..85d5255 100644
> --- a/arch/sh/boards/mach-ecovec24/setup.c
> +++ b/arch/sh/boards/mach-ecovec24/setup.c
> @@ -861,14 +861,12 @@ static struct asoc_simple_card_info fsi_da7210_info = {
> .card = "FSIB-DA7210",
> .codec = "da7210.0-001a",
> .platform = "sh_fsi.0",
> - .daifmt = SND_SOC_DAIFMT_I2S,
> + .daifmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_CBM_CFM,
> .cpu_dai = {
> .name = "fsib-dai",
> - .fmt = SND_SOC_DAIFMT_CBS_CFS | SND_SOC_DAIFMT_IB_NF,
> },
> .codec_dai = {
> .name = "da7210-hifi",
> - .fmt = SND_SOC_DAIFMT_CBM_CFM,
> },
> };
>
> diff --git a/arch/sh/boards/mach-se/7724/setup.c b/arch/sh/boards/mach-se/7724/setup.c
> index 21e4230..1162bc6 100644
> --- a/arch/sh/boards/mach-se/7724/setup.c
> +++ b/arch/sh/boards/mach-se/7724/setup.c
> @@ -304,14 +304,12 @@ static struct asoc_simple_card_info fsi_ak4642_info = {
> .card = "FSIA-AK4642",
> .codec = "ak4642-codec.0-0012",
> .platform = "sh_fsi.0",
> - .daifmt = SND_SOC_DAIFMT_LEFT_J,
> + .daifmt = SND_SOC_DAIFMT_LEFT_J | SND_SOC_DAIFMT_CBM_CFM,
> .cpu_dai = {
> .name = "fsia-dai",
> - .fmt = SND_SOC_DAIFMT_CBS_CFS | SND_SOC_DAIFMT_IB_NF,
> },
> .codec_dai = {
> .name = "ak4642-hifi",
> - .fmt = SND_SOC_DAIFMT_CBM_CFM,
> .sysclk = 11289600,
> },
> };
> diff --git a/sound/soc/sh/fsi.c b/sound/soc/sh/fsi.c
> index 1967f44..710a079 100644
> --- a/sound/soc/sh/fsi.c
> +++ b/sound/soc/sh/fsi.c
> @@ -1711,9 +1711,9 @@ static int fsi_dai_set_fmt(struct snd_soc_dai *dai, unsigned int fmt)
> /* set master/slave audio interface */
> switch (fmt & SND_SOC_DAIFMT_MASTER_MASK) {
> case SND_SOC_DAIFMT_CBM_CFM:
> - fsi->clk_master = 1;
> break;
> case SND_SOC_DAIFMT_CBS_CFS:
> + fsi->clk_master = 1; /* codec is slave, cpu is master */
> break;
> default:
> return -EINVAL;
> --
> 1.7.9.5
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-sh" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
More information about the Alsa-devel
mailing list