All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/5] ARM: shmobile: bockw: add Sound support
@ 2013-08-07  4:05 Kuninori Morimoto
  2013-08-21  8:50 ` Simon Horman
  2013-08-26  8:50 ` [PATCH 0/5 v2] " Kuninori Morimoto
  0 siblings, 2 replies; 17+ messages in thread
From: Kuninori Morimoto @ 2013-08-07  4:05 UTC (permalink / raw)
  To: linux-sh


Hi Simon

These patches add R-Car sound support on Bock-W board.
It enables PIO transfer only at this point, because
 1) PIO settings is the most easy basic settings
 2) HPB-DMAC is still not enabled on r8a7778

R-Car sound driver is already supporting DMA transfer on ASoC (= Mark's) branch.
So, it is easy to support DMA transfer if r8a7778 has HPB-DMAC support.

To enable R-Car sound on Bock-W board, ASoC branch mergeing is required

git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git
:: asoc/topic/ak4554
:: asoc/topic/rcar

These patches are based on renesas-devel-20130806v4

Kuninori Morimoto (5):
      sh-pfc: r8a7778: add SRU/SSI pin support
      ARM: shmobile: r8a7778: add SSI/SRU clock support
      ARM: shmobile: bockw: enable global use of FPGA
      ARM: shmobile: bockw: add R-Car sound support (PIO)
      ARM: shmobile: bockw defconfig: add Sound support

 arch/arm/configs/bockw_defconfig       |    4 +
 arch/arm/mach-shmobile/Kconfig         |    2 +
 arch/arm/mach-shmobile/board-bockw.c   |  277 +++++++++++++++++++++++++++++++-
 arch/arm/mach-shmobile/clock-r8a7778.c |   43 ++++-
 drivers/pinctrl/sh-pfc/pfc-r8a7778.c   |  163 +++++++++++++++++++
 5 files changed, 479 insertions(+), 10 deletions(-)


---- asoc/topic/ak4554 ---------------------
commit b25f77815021ec6e7400a82c4984b9c80699ce80
Author: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Date:   Thu Jul 4 19:42:49 2013 -0700

    ASoC: ak4554: add DT support
    
    Support for loading the ak4554 codec module via devicetree.
    
    Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
    Signed-off-by: Mark Brown <broonie@linaro.org>

---- asoc/topic/rcar ------------------------
commit 2460719c79854a3bebe569cbfbfa0b1caa1dc434
Author: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Date:   Sun Jul 28 18:59:25 2013 -0700

    ASoC: rsnd: scu: cleanup empty functions
    
    This patch cleanups empty functions on scu
    
    Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
    Signed-off-by: Mark Brown <broonie@linaro.org>


Best regards
---
Kuninori Morimoto

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 0/5] ARM: shmobile: bockw: add Sound support
  2013-08-07  4:05 [PATCH 0/5] ARM: shmobile: bockw: add Sound support Kuninori Morimoto
@ 2013-08-21  8:50 ` Simon Horman
  2013-08-26  8:50 ` [PATCH 0/5 v2] " Kuninori Morimoto
  1 sibling, 0 replies; 17+ messages in thread
From: Simon Horman @ 2013-08-21  8:50 UTC (permalink / raw)
  To: linux-sh

Subject: Re: [PATCH 1/5] sh-pfc: r8a7778: add SRU/SSI pin support
Organisation: Horms Solutions Ltd.

[ CC Laurent and Linus ]

On Tue, Aug 06, 2013 at 09:05:34PM -0700, Kuninori Morimoto wrote:
> 
> Hi Simon
> 
> These patches add R-Car sound support on Bock-W board.
> It enables PIO transfer only at this point, because
>  1) PIO settings is the most easy basic settings
>  2) HPB-DMAC is still not enabled on r8a7778
> 
> R-Car sound driver is already supporting DMA transfer on ASoC (= Mark's) branch.
> So, it is easy to support DMA transfer if r8a7778 has HPB-DMAC support.
> 
> To enable R-Car sound on Bock-W board, ASoC branch mergeing is required
> 
> git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git
> :: asoc/topic/ak4554
> :: asoc/topic/rcar
> 
> These patches are based on renesas-devel-20130806v4
> 
> Kuninori Morimoto (5):
>       sh-pfc: r8a7778: add SRU/SSI pin support
>       ARM: shmobile: r8a7778: add SSI/SRU clock support
>       ARM: shmobile: bockw: enable global use of FPGA
>       ARM: shmobile: bockw: add R-Car sound support (PIO)
>       ARM: shmobile: bockw defconfig: add Sound support
> 
>  arch/arm/configs/bockw_defconfig       |    4 +
>  arch/arm/mach-shmobile/Kconfig         |    2 +
>  arch/arm/mach-shmobile/board-bockw.c   |  277 +++++++++++++++++++++++++++++++-
>  arch/arm/mach-shmobile/clock-r8a7778.c |   43 ++++-
>  drivers/pinctrl/sh-pfc/pfc-r8a7778.c   |  163 +++++++++++++++++++
>  5 files changed, 479 insertions(+), 10 deletions(-)

As per my separate email in response to "sh-pfc: r8a7778: add SRU/SSI pin
support", it seems that patch should be reviewed by Laurent and ideally
taken through Linus's tree.

With regards to the remaining patches, Magnus, could you cast an eye over them?


> 
> 
> ---- asoc/topic/ak4554 ---------------------
> commit b25f77815021ec6e7400a82c4984b9c80699ce80
> Author: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
> Date:   Thu Jul 4 19:42:49 2013 -0700
> 
>     ASoC: ak4554: add DT support
>     
>     Support for loading the ak4554 codec module via devicetree.
>     
>     Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
>     Signed-off-by: Mark Brown <broonie@linaro.org>
> 
> ---- asoc/topic/rcar ------------------------
> commit 2460719c79854a3bebe569cbfbfa0b1caa1dc434
> Author: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
> Date:   Sun Jul 28 18:59:25 2013 -0700
> 
>     ASoC: rsnd: scu: cleanup empty functions
>     
>     This patch cleanups empty functions on scu
>     
>     Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
>     Signed-off-by: Mark Brown <broonie@linaro.org>
> 
> 
> Best regards
> ---
> Kuninori Morimoto
> --
> To unsubscribe from this list: send the line "unsubscribe linux-sh" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 0/5 v2] ARM: shmobile: bockw: add Sound support
@ 2013-08-26  8:50 ` Kuninori Morimoto
  2013-08-26  8:52   ` [PATCH 4/5 v2] ARM: shmobile: bockw: add R-Car sound support (PIO) Kuninori Morimoto
  2013-08-30  0:42   ` [PATCH 0/5 v2] ARM: shmobile: bockw: add Sound support Kuninori Morimoto
  0 siblings, 2 replies; 17+ messages in thread
From: Kuninori Morimoto @ 2013-08-26  8:50 UTC (permalink / raw)
  To: linux-sh


Hi Simon, Laurent

These are v2 of R-Car sound support on Bock-W board.

It enables PIO transfer only at this point, because
 1) PIO settings is the most easy basic settings
 2) HPB-DMAC is still not enabled on r8a7778

R-Car sound driver is already supporting DMA transfer on ASoC (= Mark's) branch.
So, it is easy to support DMA transfer if r8a7778 has HPB-DMAC support.

To enable R-Car sound on Bock-W board, ASoC branch mergeing is required

git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git :: for-next

These patches are based on renesas-devel-20130823

Kuninori Morimoto (5):
      sh-pfc: r8a7778: add SRU/SSI pin support
      ARM: shmobile: r8a7778: add SSI/SRU clock support
      ARM: shmobile: bockw: enable global use of FPGA
      ARM: shmobile: bockw: add R-Car sound support (PIO)
      ARM: shmobile: bockw defconfig: add Sound support

 arch/arm/configs/bockw_defconfig       |    4 +
 arch/arm/mach-shmobile/Kconfig         |    2 +
 arch/arm/mach-shmobile/board-bockw.c   |  289 +++++++++++++++++++++++++++++++-
 arch/arm/mach-shmobile/clock-r8a7778.c |   43 ++++-
 drivers/pinctrl/sh-pfc/pfc-r8a7778.c   |  125 ++++++++++++++
 5 files changed, 453 insertions(+), 10 deletions(-)

Best regards
---
Kuninori Morimoto

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [PATCH 4/5 v2] ARM: shmobile: bockw: add R-Car sound support (PIO)
@ 2013-08-26  8:52   ` Kuninori Morimoto
  2013-09-04 18:38     ` Sergei Shtylyov
  2013-09-05  5:57     ` Simon Horman
  0 siblings, 2 replies; 17+ messages in thread
From: Kuninori Morimoto @ 2013-08-26  8:52 UTC (permalink / raw)
  To: linux-sh

This patch enables R-Car sound,
AK4643 (CN19) and AK4554 (CN20/CN21) codec chip
on Bock-W.

But, it supports PIO transfer only at this point.
User can check sound settings (Dip-switch/PFC etc)
via this patch, but will get under/over flow error
when playback/capture.
Because PIO transfer via SSI will be interrupted
"sampling rate" times per 1 second.

DMA transfer will be supported when HPB-DMAC was
enabled on r8a7778.

You will notice strange ALSA sound card HW
numbering on Bock-W board.
This came from AK4554 strange format on playback/capture.
The format on playback/capture is same on "normal" codec chip,
but AK4554 was different.
Because of that, AK4554 playback/capture are
registered as a different sound card.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
---
v1 -> v2

 - use new ssi pin

 arch/arm/mach-shmobile/Kconfig       |    2 +
 arch/arm/mach-shmobile/board-bockw.c |  274 +++++++++++++++++++++++++++++++++-
 2 files changed, 275 insertions(+), 1 deletion(-)

diff --git a/arch/arm/mach-shmobile/Kconfig b/arch/arm/mach-shmobile/Kconfig
index 1f94c31..f987216 100644
--- a/arch/arm/mach-shmobile/Kconfig
+++ b/arch/arm/mach-shmobile/Kconfig
@@ -162,6 +162,8 @@ config MACH_BOCKW
 	select RENESAS_INTC_IRQPIN
 	select REGULATOR_FIXED_VOLTAGE if REGULATOR
 	select USE_OF
+	select SND_SOC_AK4554 if SND_SIMPLE_CARD
+	select SND_SOC_AK4642 if SND_SIMPLE_CARD
 
 config MACH_BOCKW_REFERENCE
 	bool "BOCK-W  - Reference Device Tree Implementation"
diff --git a/arch/arm/mach-shmobile/board-bockw.c b/arch/arm/mach-shmobile/board-bockw.c
index 56bc9cc..b037026 100644
--- a/arch/arm/mach-shmobile/board-bockw.c
+++ b/arch/arm/mach-shmobile/board-bockw.c
@@ -35,9 +35,12 @@
 #include <mach/irqs.h>
 #include <mach/r8a7778.h>
 #include <asm/mach/arch.h>
+#include <sound/rcar_snd.h>
+#include <sound/simple_card.h>
 
 #define FPGA	0x18200000
 #define IRQ0MR	0x30
+#define COMCTLR	0x101c
 static void __iomem *fpga;
 
 /*
@@ -65,6 +68,35 @@ static void __iomem *fpga;
  * SW19	(MMC)	1 pin
  */
 
+/*
+ *	SSI settings
+ *
+ * SW45: 1-4 side	(SSI5 out, ROUT/LOUT CN19 Mid)
+ * SW46: 1101		(SSI6 Recorde)
+ * SW47: 1110		(SSI5 Playback)
+ * SW48: 11		(Recorde power)
+ * SW49: 1		(SSI slave mode)
+ * SW50: 1111		(SSI7, SSI8)
+ * SW51: 1111		(SSI3, SSI4)
+ * SW54: 1pin		(ak4554 FPGA control)
+ * SW55: 1		(CLKB is 24.5760MHz)
+ * SW60: 1pin		(ak4554 FPGA control)
+ * SW61: 3pin		(use X11 clock)
+ * SW78: 3-6		(ak4642 connects I2C0)
+ *
+ * You can use sound as
+ *
+ * hw0: CN19: SSI56-AK4643
+ * hw1: CN21: SSI3-AK4554(playback)
+ * hw2: CN21: SSI4-AK4554(capture)
+ * hw3: CN20: SSI7-AK4554(playback)
+ * hw4: CN20: SSI8-AK4554(capture)
+ *
+ * this command is required when playback on hw0.
+ *
+ * # amixer set "LINEOUT Mixer DACL" on
+ */
+
 /* Dummy supplies, where voltage doesn't matter */
 static struct regulator_consumer_supply dummy_supplies[] = {
 	REGULATOR_SUPPLY("vddvario", "smsc911x"),
@@ -121,7 +153,9 @@ static struct sh_eth_plat_data ether_platform_data __initdata = {
 static struct i2c_board_info i2c0_devices[] = {
 	{
 		I2C_BOARD_INFO("rx8581", 0x51),
-	},
+	}, {
+		I2C_BOARD_INFO("ak4643", 0x12),
+	}
 };
 
 /* HSPI*/
@@ -165,7 +199,213 @@ static struct sh_mmcif_plat_data sh_mmcif_plat __initdata = {
 			  MMC_CAP_NEEDS_POLL,
 };
 
+/* Sound */
+static struct resource rsnd_resources[] __initdata = {
+	[RSND_GEN1_SRU] = DEFINE_RES_MEM(0xffd90000, 0x1000),
+	[RSND_GEN1_SSI] = DEFINE_RES_MEM(0xffd91000, 0x1240),
+	[RSND_GEN1_ADG] = DEFINE_RES_MEM(0xfffe0000, 0x24),
+};
+
+static struct rsnd_ssi_platform_info rsnd_ssi[] = {
+	RSND_SSI_UNUSED, /* SSI 0 */
+	RSND_SSI_UNUSED, /* SSI 1 */
+	RSND_SSI_UNUSED, /* SSI 2 */
+	RSND_SSI_SET(1, 0, gic_iid(0x85), RSND_SSI_PLAY),
+	RSND_SSI_SET(2, 0, gic_iid(0x85), RSND_SSI_CLK_PIN_SHARE | RSND_SSI_CLK_FROM_ADG),
+	RSND_SSI_SET(0, 0, gic_iid(0x86), RSND_SSI_PLAY),
+	RSND_SSI_SET(0, 0, gic_iid(0x86), 0),
+	RSND_SSI_SET(3, 0, gic_iid(0x86), RSND_SSI_PLAY),
+	RSND_SSI_SET(4, 0, gic_iid(0x86), RSND_SSI_CLK_PIN_SHARE | RSND_SSI_CLK_FROM_ADG),
+};
+
+static struct rsnd_scu_platform_info rsnd_scu[9] = {
+	/* no member at this point */
+};
+
+enum {
+	AK4554_34 = 0,
+	AK4643_56,
+	AK4554_78,
+	SOUND_MAX,
+};
+
+static int rsnd_codec_power(int id, int enable)
+{
+	static int sound_user[SOUND_MAX] = {0, 0, 0};
+	int *usr = NULL;
+	u32 bit;
+
+	switch (id) {
+	case 3:
+	case 4:
+		usr = sound_user + AK4554_34;
+		bit = (1 << 10);
+		break;
+	case 5:
+	case 6:
+		usr = sound_user + AK4643_56;
+		bit = (1 << 6);
+		break;
+	case 7:
+	case 8:
+		usr = sound_user + AK4554_78;
+		bit = (1 << 7);
+		break;
+	}
+
+	if (!usr)
+		return -EIO;
+
+	if (enable) {
+		if (*usr = 0) {
+			u32 val = ioread16(fpga + COMCTLR);
+			val &= ~bit;
+			iowrite16(val, fpga + COMCTLR);
+		}
+
+		(*usr)++;
+	} else {
+		if (*usr = 0)
+			return 0;
+
+		(*usr)--;
+
+		if (*usr = 0) {
+			u32 val = ioread16(fpga + COMCTLR);
+			val |= bit;
+			iowrite16(val, fpga + COMCTLR);
+		}
+	}
+
+	return 0;
+}
+
+static int rsnd_start(int id)
+{
+	return rsnd_codec_power(id, 1);
+}
+
+static int rsnd_stop(int id)
+{
+	return rsnd_codec_power(id, 0);
+}
+
+static struct rcar_snd_info rsnd_info = {
+	.flags		= RSND_GEN1,
+	.ssi_info	= rsnd_ssi,
+	.ssi_info_nr	= ARRAY_SIZE(rsnd_ssi),
+	.scu_info	= rsnd_scu,
+	.scu_info_nr	= ARRAY_SIZE(rsnd_scu),
+	.start		= rsnd_start,
+	.stop		= rsnd_stop,
+};
+
+static struct asoc_simple_card_info rsnd_card_info[] = {
+	/* SSI5, SSI6 */
+	{
+		.name		= "AK4643",
+		.card		= "SSI56-AK4643",
+		.codec		= "ak4642-codec.0-0012",
+		.platform	= "rcar_sound",
+		.daifmt		= SND_SOC_DAIFMT_LEFT_J,
+		.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,
+		},
+	},
+	/* SSI3 */
+	{
+		.name		= "AK4554",
+		.card		= "SSI3-AK4554(playback)",
+		.codec		= "ak4554-adc-dac.0",
+		.platform	= "rcar_sound",
+		.cpu_dai = {
+			.name	= "rsnd-dai.1",
+			.fmt	= SND_SOC_DAIFMT_CBM_CFM |
+				  SND_SOC_DAIFMT_RIGHT_J,
+		},
+		.codec_dai = {
+			.name	= "ak4554-hifi",
+		},
+	},
+	/* SSI4 */
+	{
+		.name		= "AK4554",
+		.card		= "SSI4-AK4554(capture)",
+		.codec		= "ak4554-adc-dac.0",
+		.platform	= "rcar_sound",
+		.cpu_dai = {
+			.name	= "rsnd-dai.2",
+			.fmt	= SND_SOC_DAIFMT_CBM_CFM |
+				  SND_SOC_DAIFMT_LEFT_J,
+		},
+		.codec_dai = {
+			.name	= "ak4554-hifi",
+		},
+	},
+	/* SSI7 */
+	{
+		.name		= "AK4554",
+		.card		= "SSI7-AK4554(playback)",
+		.codec		= "ak4554-adc-dac.1",
+		.platform	= "rcar_sound",
+		.cpu_dai = {
+			.name	= "rsnd-dai.3",
+			.fmt	= SND_SOC_DAIFMT_CBM_CFM |
+				  SND_SOC_DAIFMT_RIGHT_J,
+		},
+		.codec_dai = {
+			.name	= "ak4554-hifi",
+		},
+	},
+	/* SSI8 */
+	{
+		.name		= "AK4554",
+		.card		= "SSI8-AK4554(capture)",
+		.codec		= "ak4554-adc-dac.1",
+		.platform	= "rcar_sound",
+		.cpu_dai = {
+			.name	= "rsnd-dai.4",
+			.fmt	= SND_SOC_DAIFMT_CBM_CFM |
+				  SND_SOC_DAIFMT_LEFT_J,
+		},
+		.codec_dai = {
+			.name	= "ak4554-hifi",
+		},
+	}
+};
+
 static const struct pinctrl_map bockw_pinctrl_map[] = {
+	/* AUDIO */
+	PIN_MAP_MUX_GROUP_DEFAULT("rcar_sound", "pfc-r8a7778",
+				  "audio_clk_a", "audio_clk"),
+	PIN_MAP_MUX_GROUP_DEFAULT("rcar_sound", "pfc-r8a7778",
+				  "audio_clk_b", "audio_clk"),
+	PIN_MAP_MUX_GROUP_DEFAULT("rcar_sound", "pfc-r8a7778",
+				  "ssi34_ctrl", "ssi"),
+	PIN_MAP_MUX_GROUP_DEFAULT("rcar_sound", "pfc-r8a7778",
+				  "ssi3_data", "ssi"),
+	PIN_MAP_MUX_GROUP_DEFAULT("rcar_sound", "pfc-r8a7778",
+				  "ssi4_data", "ssi"),
+	PIN_MAP_MUX_GROUP_DEFAULT("rcar_sound", "pfc-r8a7778",
+				  "ssi5_ctrl", "ssi"),
+	PIN_MAP_MUX_GROUP_DEFAULT("rcar_sound", "pfc-r8a7778",
+				  "ssi5_data", "ssi"),
+	PIN_MAP_MUX_GROUP_DEFAULT("rcar_sound", "pfc-r8a7778",
+				  "ssi6_ctrl", "ssi"),
+	PIN_MAP_MUX_GROUP_DEFAULT("rcar_sound", "pfc-r8a7778",
+				  "ssi6_data", "ssi"),
+	PIN_MAP_MUX_GROUP_DEFAULT("rcar_sound", "pfc-r8a7778",
+				  "ssi78_ctrl", "ssi"),
+	PIN_MAP_MUX_GROUP_DEFAULT("rcar_sound", "pfc-r8a7778",
+				  "ssi7_data", "ssi"),
+	PIN_MAP_MUX_GROUP_DEFAULT("rcar_sound", "pfc-r8a7778",
+				  "ssi8_data", "ssi"),
 	/* Ether */
 	PIN_MAP_MUX_GROUP_DEFAULT("r8a777x-ether", "pfc-r8a7778",
 				  "ether_rmii", "ether"),
@@ -203,6 +443,8 @@ static const struct pinctrl_map bockw_pinctrl_map[] = {
 static void __init bockw_init(void)
 {
 	void __iomem *base;
+	struct clk *clk;
+	int i;
 
 	r8a7778_clock_init();
 	r8a7778_init_irq_extpin(1);
@@ -269,6 +511,36 @@ static void __init bockw_init(void)
 			sdhi0_resources, ARRAY_SIZE(sdhi0_resources),
 			&sdhi0_info, sizeof(struct sh_mobile_sdhi_info));
 	}
+
+	/* for Audio */
+	clk = clk_get(NULL, "audio_clk_b");
+	clk_set_rate(clk, 24576000);
+	clk_put(clk);
+	rsnd_codec_power(5, 1); /* enable ak4642 */
+
+	platform_device_register_simple(
+		"ak4554-adc-dac", 0, NULL, 0);
+
+	platform_device_register_simple(
+		"ak4554-adc-dac", 1, NULL, 0);
+
+	platform_device_register_resndata(
+		&platform_bus, "rcar_sound", -1,
+		rsnd_resources, ARRAY_SIZE(rsnd_resources),
+		&rsnd_info, sizeof(rsnd_info));
+
+	for (i = 0; i < ARRAY_SIZE(rsnd_card_info); i++) {
+		struct platform_device_info cardinfo = {
+			.parent         = &platform_bus,
+			.name           = "asoc-simple-card",
+			.id             = i,
+			.data           = &rsnd_card_info[i],
+			.size_data      = sizeof(struct asoc_simple_card_info),
+			.dma_mask       = ~0,
+		};
+
+		platform_device_register_full(&cardinfo);
+	}
 }
 
 static const char *bockw_boards_compat_dt[] __initdata = {
-- 
1.7.9.5


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* Re: [PATCH 0/5 v2] ARM: shmobile: bockw: add Sound support
  2013-08-26  8:50 ` [PATCH 0/5 v2] " Kuninori Morimoto
  2013-08-26  8:52   ` [PATCH 4/5 v2] ARM: shmobile: bockw: add R-Car sound support (PIO) Kuninori Morimoto
@ 2013-08-30  0:42   ` Kuninori Morimoto
  1 sibling, 0 replies; 17+ messages in thread
From: Kuninori Morimoto @ 2013-08-30  0:42 UTC (permalink / raw)
  To: linux-sh


Hi Laurent

Could you please check this patches ?

> These are v2 of R-Car sound support on Bock-W board.
> 
> It enables PIO transfer only at this point, because
>  1) PIO settings is the most easy basic settings
>  2) HPB-DMAC is still not enabled on r8a7778
> 
> R-Car sound driver is already supporting DMA transfer on ASoC (= Mark's) branch.
> So, it is easy to support DMA transfer if r8a7778 has HPB-DMAC support.
> 
> To enable R-Car sound on Bock-W board, ASoC branch mergeing is required
> 
> git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git :: for-next
> 
> These patches are based on renesas-devel-20130823
> 
> Kuninori Morimoto (5):
>       sh-pfc: r8a7778: add SRU/SSI pin support
>       ARM: shmobile: r8a7778: add SSI/SRU clock support
>       ARM: shmobile: bockw: enable global use of FPGA
>       ARM: shmobile: bockw: add R-Car sound support (PIO)
>       ARM: shmobile: bockw defconfig: add Sound support
> 
>  arch/arm/configs/bockw_defconfig       |    4 +
>  arch/arm/mach-shmobile/Kconfig         |    2 +
>  arch/arm/mach-shmobile/board-bockw.c   |  289 +++++++++++++++++++++++++++++++-
>  arch/arm/mach-shmobile/clock-r8a7778.c |   43 ++++-
>  drivers/pinctrl/sh-pfc/pfc-r8a7778.c   |  125 ++++++++++++++
>  5 files changed, 453 insertions(+), 10 deletions(-)
> 
> Best regards
> ---
> Kuninori Morimoto


Best regards
---
Kuninori Morimoto

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 4/5 v2] ARM: shmobile: bockw: add R-Car sound support (PIO)
  2013-08-26  8:52   ` [PATCH 4/5 v2] ARM: shmobile: bockw: add R-Car sound support (PIO) Kuninori Morimoto
@ 2013-09-04 18:38     ` Sergei Shtylyov
  2013-09-05  5:57     ` Simon Horman
  1 sibling, 0 replies; 17+ messages in thread
From: Sergei Shtylyov @ 2013-09-04 18:38 UTC (permalink / raw)
  To: linux-sh

Hello.

On 08/26/2013 12:52 PM, Kuninori Morimoto wrote:

> This patch enables R-Car sound,
> AK4643 (CN19) and AK4554 (CN20/CN21) codec chip
> on Bock-W.

> But, it supports PIO transfer only at this point.
> User can check sound settings (Dip-switch/PFC etc)
> via this patch, but will get under/over flow error
> when playback/capture.
> Because PIO transfer via SSI will be interrupted
> "sampling rate" times per 1 second.

> DMA transfer will be supported when HPB-DMAC was
> enabled on r8a7778.

    Looks like Vinod Koul has queued HPP-DMAC for 3.12-rc1 in his 'next' 
branch, so you can start looking at addign DMA for 3.13. I'll submit the 
patches enabling HPB-DMAC in {marzen|bockw}_defconfig later...

WBR, Sergei


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 4/5 v2] ARM: shmobile: bockw: add R-Car sound support (PIO)
  2013-08-26  8:52   ` [PATCH 4/5 v2] ARM: shmobile: bockw: add R-Car sound support (PIO) Kuninori Morimoto
  2013-09-04 18:38     ` Sergei Shtylyov
@ 2013-09-05  5:57     ` Simon Horman
  2013-09-05  7:19         ` Simon Horman
  1 sibling, 1 reply; 17+ messages in thread
From: Simon Horman @ 2013-09-05  5:57 UTC (permalink / raw)
  To: linux-sh

On Mon, Aug 26, 2013 at 01:52:35AM -0700, Kuninori Morimoto wrote:
> This patch enables R-Car sound,
> AK4643 (CN19) and AK4554 (CN20/CN21) codec chip
> on Bock-W.
> 
> But, it supports PIO transfer only at this point.
> User can check sound settings (Dip-switch/PFC etc)
> via this patch, but will get under/over flow error
> when playback/capture.
> Because PIO transfer via SSI will be interrupted
> "sampling rate" times per 1 second.
> 
> DMA transfer will be supported when HPB-DMAC was
> enabled on r8a7778.
> 
> You will notice strange ALSA sound card HW
> numbering on Bock-W board.
> This came from AK4554 strange format on playback/capture.
> The format on playback/capture is same on "normal" codec chip,
> but AK4554 was different.
> Because of that, AK4554 playback/capture are
> registered as a different sound card.
> 
> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
> ---
> v1 -> v2

Thanks, I have queued this up for v3.13.

There was a bit of diff-noise, please make sure I have applied it
correctly. The patch I applied is below:


From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>

ARM: shmobile: bockw: add R-Car sound support (PIO)

This patch enables R-Car sound,
AK4643 (CN19) and AK4554 (CN20/CN21) codec chip
on Bock-W.

But, it supports PIO transfer only at this point.
User can check sound settings (Dip-switch/PFC etc)
via this patch, but will get under/over flow error
when playback/capture.
Because PIO transfer via SSI will be interrupted
"sampling rate" times per 1 second.

DMA transfer will be supported when HPB-DMAC was
enabled on r8a7778.

You will notice strange ALSA sound card HW
numbering on Bock-W board.
This came from AK4554 strange format on playback/capture.
The format on playback/capture is same on "normal" codec chip,
but AK4554 was different.
Because of that, AK4554 playback/capture are
registered as a different sound card.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
 arch/arm/mach-shmobile/Kconfig       |   2 +
 arch/arm/mach-shmobile/board-bockw.c | 274 ++++++++++++++++++++++++++++++++++-
 2 files changed, 275 insertions(+), 1 deletion(-)

diff --git a/arch/arm/mach-shmobile/Kconfig b/arch/arm/mach-shmobile/Kconfig
index f76fca6..e37c947 100644
--- a/arch/arm/mach-shmobile/Kconfig
+++ b/arch/arm/mach-shmobile/Kconfig
@@ -156,6 +156,8 @@ config MACH_KZM9D
 	depends on ARCH_EMEV2
 	select REGULATOR_FIXED_VOLTAGE if REGULATOR
 	select USE_OF
+	select SND_SOC_AK4554 if SND_SIMPLE_CARD
+	select SND_SOC_AK4642 if SND_SIMPLE_CARD
 
 config MACH_KZM9D_REFERENCE
 	bool "KZM9D board - Reference Device Tree Implementation"
diff --git a/arch/arm/mach-shmobile/board-bockw.c b/arch/arm/mach-shmobile/board-bockw.c
index 2cac3c7..945c62c 100644
--- a/arch/arm/mach-shmobile/board-bockw.c
+++ b/arch/arm/mach-shmobile/board-bockw.c
@@ -32,9 +32,12 @@
 #include <mach/irqs.h>
 #include <mach/r8a7778.h>
 #include <asm/mach/arch.h>
+#include <sound/rcar_snd.h>
+#include <sound/simple_card.h>
 
 #define FPGA	0x18200000
 #define IRQ0MR	0x30
+#define COMCTLR	0x101c
 static void __iomem *fpga;
 
 /*
@@ -62,6 +65,35 @@ static void __iomem *fpga;
  * SW19	(MMC)	1 pin
  */
 
+/*
+ *	SSI settings
+ *
+ * SW45: 1-4 side	(SSI5 out, ROUT/LOUT CN19 Mid)
+ * SW46: 1101		(SSI6 Recorde)
+ * SW47: 1110		(SSI5 Playback)
+ * SW48: 11		(Recorde power)
+ * SW49: 1		(SSI slave mode)
+ * SW50: 1111		(SSI7, SSI8)
+ * SW51: 1111		(SSI3, SSI4)
+ * SW54: 1pin		(ak4554 FPGA control)
+ * SW55: 1		(CLKB is 24.5760MHz)
+ * SW60: 1pin		(ak4554 FPGA control)
+ * SW61: 3pin		(use X11 clock)
+ * SW78: 3-6		(ak4642 connects I2C0)
+ *
+ * You can use sound as
+ *
+ * hw0: CN19: SSI56-AK4643
+ * hw1: CN21: SSI3-AK4554(playback)
+ * hw2: CN21: SSI4-AK4554(capture)
+ * hw3: CN20: SSI7-AK4554(playback)
+ * hw4: CN20: SSI8-AK4554(capture)
+ *
+ * this command is required when playback on hw0.
+ *
+ * # amixer set "LINEOUT Mixer DACL" on
+ */
+
 /* Dummy supplies, where voltage doesn't matter */
 static struct regulator_consumer_supply dummy_supplies[] = {
 	REGULATOR_SUPPLY("vddvario", "smsc911x"),
@@ -108,7 +140,9 @@ static struct sh_eth_plat_data ether_platform_data __initdata = {
 static struct i2c_board_info i2c0_devices[] = {
 	{
 		I2C_BOARD_INFO("rx8581", 0x51),
-	},
+	}, {
+		I2C_BOARD_INFO("ak4643", 0x12),
+	}
 };
 
 /* HSPI*/
@@ -147,7 +181,213 @@ static struct sh_mmcif_plat_data sh_mmcif_plat = {
 			  MMC_CAP_NEEDS_POLL,
 };
 
+/* Sound */
+static struct resource rsnd_resources[] __initdata = {
+	[RSND_GEN1_SRU] = DEFINE_RES_MEM(0xffd90000, 0x1000),
+	[RSND_GEN1_SSI] = DEFINE_RES_MEM(0xffd91000, 0x1240),
+	[RSND_GEN1_ADG] = DEFINE_RES_MEM(0xfffe0000, 0x24),
+};
+
+static struct rsnd_ssi_platform_info rsnd_ssi[] = {
+	RSND_SSI_UNUSED, /* SSI 0 */
+	RSND_SSI_UNUSED, /* SSI 1 */
+	RSND_SSI_UNUSED, /* SSI 2 */
+	RSND_SSI_SET(1, 0, gic_iid(0x85), RSND_SSI_PLAY),
+	RSND_SSI_SET(2, 0, gic_iid(0x85), RSND_SSI_CLK_PIN_SHARE | RSND_SSI_CLK_FROM_ADG),
+	RSND_SSI_SET(0, 0, gic_iid(0x86), RSND_SSI_PLAY),
+	RSND_SSI_SET(0, 0, gic_iid(0x86), 0),
+	RSND_SSI_SET(3, 0, gic_iid(0x86), RSND_SSI_PLAY),
+	RSND_SSI_SET(4, 0, gic_iid(0x86), RSND_SSI_CLK_PIN_SHARE | RSND_SSI_CLK_FROM_ADG),
+};
+
+static struct rsnd_scu_platform_info rsnd_scu[9] = {
+	/* no member at this point */
+};
+
+enum {
+	AK4554_34 = 0,
+	AK4643_56,
+	AK4554_78,
+	SOUND_MAX,
+};
+
+static int rsnd_codec_power(int id, int enable)
+{
+	static int sound_user[SOUND_MAX] = {0, 0, 0};
+	int *usr = NULL;
+	u32 bit;
+
+	switch (id) {
+	case 3:
+	case 4:
+		usr = sound_user + AK4554_34;
+		bit = (1 << 10);
+		break;
+	case 5:
+	case 6:
+		usr = sound_user + AK4643_56;
+		bit = (1 << 6);
+		break;
+	case 7:
+	case 8:
+		usr = sound_user + AK4554_78;
+		bit = (1 << 7);
+		break;
+	}
+
+	if (!usr)
+		return -EIO;
+
+	if (enable) {
+		if (*usr = 0) {
+			u32 val = ioread16(fpga + COMCTLR);
+			val &= ~bit;
+			iowrite16(val, fpga + COMCTLR);
+		}
+
+		(*usr)++;
+	} else {
+		if (*usr = 0)
+			return 0;
+
+		(*usr)--;
+
+		if (*usr = 0) {
+			u32 val = ioread16(fpga + COMCTLR);
+			val |= bit;
+			iowrite16(val, fpga + COMCTLR);
+		}
+	}
+
+	return 0;
+}
+
+static int rsnd_start(int id)
+{
+	return rsnd_codec_power(id, 1);
+}
+
+static int rsnd_stop(int id)
+{
+	return rsnd_codec_power(id, 0);
+}
+
+static struct rcar_snd_info rsnd_info = {
+	.flags		= RSND_GEN1,
+	.ssi_info	= rsnd_ssi,
+	.ssi_info_nr	= ARRAY_SIZE(rsnd_ssi),
+	.scu_info	= rsnd_scu,
+	.scu_info_nr	= ARRAY_SIZE(rsnd_scu),
+	.start		= rsnd_start,
+	.stop		= rsnd_stop,
+};
+
+static struct asoc_simple_card_info rsnd_card_info[] = {
+	/* SSI5, SSI6 */
+	{
+		.name		= "AK4643",
+		.card		= "SSI56-AK4643",
+		.codec		= "ak4642-codec.0-0012",
+		.platform	= "rcar_sound",
+		.daifmt		= SND_SOC_DAIFMT_LEFT_J,
+		.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,
+		},
+	},
+	/* SSI3 */
+	{
+		.name		= "AK4554",
+		.card		= "SSI3-AK4554(playback)",
+		.codec		= "ak4554-adc-dac.0",
+		.platform	= "rcar_sound",
+		.cpu_dai = {
+			.name	= "rsnd-dai.1",
+			.fmt	= SND_SOC_DAIFMT_CBM_CFM |
+				  SND_SOC_DAIFMT_RIGHT_J,
+		},
+		.codec_dai = {
+			.name	= "ak4554-hifi",
+		},
+	},
+	/* SSI4 */
+	{
+		.name		= "AK4554",
+		.card		= "SSI4-AK4554(capture)",
+		.codec		= "ak4554-adc-dac.0",
+		.platform	= "rcar_sound",
+		.cpu_dai = {
+			.name	= "rsnd-dai.2",
+			.fmt	= SND_SOC_DAIFMT_CBM_CFM |
+				  SND_SOC_DAIFMT_LEFT_J,
+		},
+		.codec_dai = {
+			.name	= "ak4554-hifi",
+		},
+	},
+	/* SSI7 */
+	{
+		.name		= "AK4554",
+		.card		= "SSI7-AK4554(playback)",
+		.codec		= "ak4554-adc-dac.1",
+		.platform	= "rcar_sound",
+		.cpu_dai = {
+			.name	= "rsnd-dai.3",
+			.fmt	= SND_SOC_DAIFMT_CBM_CFM |
+				  SND_SOC_DAIFMT_RIGHT_J,
+		},
+		.codec_dai = {
+			.name	= "ak4554-hifi",
+		},
+	},
+	/* SSI8 */
+	{
+		.name		= "AK4554",
+		.card		= "SSI8-AK4554(capture)",
+		.codec		= "ak4554-adc-dac.1",
+		.platform	= "rcar_sound",
+		.cpu_dai = {
+			.name	= "rsnd-dai.4",
+			.fmt	= SND_SOC_DAIFMT_CBM_CFM |
+				  SND_SOC_DAIFMT_LEFT_J,
+		},
+		.codec_dai = {
+			.name	= "ak4554-hifi",
+		},
+	}
+};
+
 static const struct pinctrl_map bockw_pinctrl_map[] = {
+	/* AUDIO */
+	PIN_MAP_MUX_GROUP_DEFAULT("rcar_sound", "pfc-r8a7778",
+				  "audio_clk_a", "audio_clk"),
+	PIN_MAP_MUX_GROUP_DEFAULT("rcar_sound", "pfc-r8a7778",
+				  "audio_clk_b", "audio_clk"),
+	PIN_MAP_MUX_GROUP_DEFAULT("rcar_sound", "pfc-r8a7778",
+				  "ssi34_ctrl", "ssi"),
+	PIN_MAP_MUX_GROUP_DEFAULT("rcar_sound", "pfc-r8a7778",
+				  "ssi3_data", "ssi"),
+	PIN_MAP_MUX_GROUP_DEFAULT("rcar_sound", "pfc-r8a7778",
+				  "ssi4_data", "ssi"),
+	PIN_MAP_MUX_GROUP_DEFAULT("rcar_sound", "pfc-r8a7778",
+				  "ssi5_ctrl", "ssi"),
+	PIN_MAP_MUX_GROUP_DEFAULT("rcar_sound", "pfc-r8a7778",
+				  "ssi5_data", "ssi"),
+	PIN_MAP_MUX_GROUP_DEFAULT("rcar_sound", "pfc-r8a7778",
+				  "ssi6_ctrl", "ssi"),
+	PIN_MAP_MUX_GROUP_DEFAULT("rcar_sound", "pfc-r8a7778",
+				  "ssi6_data", "ssi"),
+	PIN_MAP_MUX_GROUP_DEFAULT("rcar_sound", "pfc-r8a7778",
+				  "ssi78_ctrl", "ssi"),
+	PIN_MAP_MUX_GROUP_DEFAULT("rcar_sound", "pfc-r8a7778",
+				  "ssi7_data", "ssi"),
+	PIN_MAP_MUX_GROUP_DEFAULT("rcar_sound", "pfc-r8a7778",
+				  "ssi8_data", "ssi"),
 	/* Ether */
 	PIN_MAP_MUX_GROUP_DEFAULT("r8a777x-ether", "pfc-r8a7778",
 				  "ether_rmii", "ether"),
@@ -179,6 +419,8 @@ static const struct pinctrl_map bockw_pinctrl_map[] = {
 static void __init bockw_init(void)
 {
 	void __iomem *base;
+	struct clk *clk;
+	int i;
 
 	r8a7778_clock_init();
 	r8a7778_init_irq_extpin(1);
@@ -233,6 +475,36 @@ static void __init bockw_init(void)
 
 		r8a7778_sdhi_init(0, &sdhi0_info);
 	}
+
+	/* for Audio */
+	clk = clk_get(NULL, "audio_clk_b");
+	clk_set_rate(clk, 24576000);
+	clk_put(clk);
+	rsnd_codec_power(5, 1); /* enable ak4642 */
+
+	platform_device_register_simple(
+		"ak4554-adc-dac", 0, NULL, 0);
+
+	platform_device_register_simple(
+		"ak4554-adc-dac", 1, NULL, 0);
+
+	platform_device_register_resndata(
+		&platform_bus, "rcar_sound", -1,
+		rsnd_resources, ARRAY_SIZE(rsnd_resources),
+		&rsnd_info, sizeof(rsnd_info));
+
+	for (i = 0; i < ARRAY_SIZE(rsnd_card_info); i++) {
+		struct platform_device_info cardinfo = {
+			.parent         = &platform_bus,
+			.name           = "asoc-simple-card",
+			.id             = i,
+			.data           = &rsnd_card_info[i],
+			.size_data      = sizeof(struct asoc_simple_card_info),
+			.dma_mask       = ~0,
+		};
+
+		platform_device_register_full(&cardinfo);
+	}
 }
 
 static const char *bockw_boards_compat_dt[] __initdata = {
-- 
1.8.4


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* Re: [PATCH 4/5 v2] ARM: shmobile: bockw: add R-Car sound support (PIO)
  2013-09-05  5:57     ` Simon Horman
@ 2013-09-05  7:19         ` Simon Horman
  0 siblings, 0 replies; 17+ messages in thread
From: Simon Horman @ 2013-09-05  7:19 UTC (permalink / raw)
  To: Kuninori Morimoto
  Cc: Laurent, Magnus, Linux-SH, Kuninori Morimoto, broonie@kernel.org,
	Linux-ALSA

[ CC Mark Brown, alsa-devel ]

On Thu, Sep 05, 2013 at 02:57:51PM +0900, Simon Horman wrote:
> On Mon, Aug 26, 2013 at 01:52:35AM -0700, Kuninori Morimoto wrote:
> > This patch enables R-Car sound,
> > AK4643 (CN19) and AK4554 (CN20/CN21) codec chip
> > on Bock-W.
> > 
> > But, it supports PIO transfer only at this point.
> > User can check sound settings (Dip-switch/PFC etc)
> > via this patch, but will get under/over flow error
> > when playback/capture.
> > Because PIO transfer via SSI will be interrupted
> > "sampling rate" times per 1 second.
> > 
> > DMA transfer will be supported when HPB-DMAC was
> > enabled on r8a7778.
> > 
> > You will notice strange ALSA sound card HW
> > numbering on Bock-W board.
> > This came from AK4554 strange format on playback/capture.
> > The format on playback/capture is same on "normal" codec chip,
> > but AK4554 was different.
> > Because of that, AK4554 playback/capture are
> > registered as a different sound card.
> > 
> > Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
> > ---
> > v1 -> v2
> 
> Thanks, I have queued this up for v3.13.
> 
> There was a bit of diff-noise, please make sure I have applied it
> correctly. The patch I applied is below:

Unfortunately I didn't read your cover email carefully before queuing this up.
I now see that it has dependencies that aren't present in v3.11-rc and
thus I have temporarily dropped it.

It seems to me that the dependencies could be provided by
the topic/car branch of
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git.

Morimoto-san, is this correct?
If so, Mark, would it be possible for you to provide topic/car
or similar as stable branch for me to use as a base?
My intention is to queue these up for v3.13.

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 4/5 v2] ARM: shmobile: bockw: add R-Car sound support (PIO)
@ 2013-09-05  7:19         ` Simon Horman
  0 siblings, 0 replies; 17+ messages in thread
From: Simon Horman @ 2013-09-05  7:19 UTC (permalink / raw)
  To: Kuninori Morimoto
  Cc: Laurent, Magnus, Linux-SH, Kuninori Morimoto, broonie@kernel.org,
	Linux-ALSA

[ CC Mark Brown, alsa-devel ]

On Thu, Sep 05, 2013 at 02:57:51PM +0900, Simon Horman wrote:
> On Mon, Aug 26, 2013 at 01:52:35AM -0700, Kuninori Morimoto wrote:
> > This patch enables R-Car sound,
> > AK4643 (CN19) and AK4554 (CN20/CN21) codec chip
> > on Bock-W.
> > 
> > But, it supports PIO transfer only at this point.
> > User can check sound settings (Dip-switch/PFC etc)
> > via this patch, but will get under/over flow error
> > when playback/capture.
> > Because PIO transfer via SSI will be interrupted
> > "sampling rate" times per 1 second.
> > 
> > DMA transfer will be supported when HPB-DMAC was
> > enabled on r8a7778.
> > 
> > You will notice strange ALSA sound card HW
> > numbering on Bock-W board.
> > This came from AK4554 strange format on playback/capture.
> > The format on playback/capture is same on "normal" codec chip,
> > but AK4554 was different.
> > Because of that, AK4554 playback/capture are
> > registered as a different sound card.
> > 
> > Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
> > ---
> > v1 -> v2
> 
> Thanks, I have queued this up for v3.13.
> 
> There was a bit of diff-noise, please make sure I have applied it
> correctly. The patch I applied is below:

Unfortunately I didn't read your cover email carefully before queuing this up.
I now see that it has dependencies that aren't present in v3.11-rc and
thus I have temporarily dropped it.

It seems to me that the dependencies could be provided by
the topic/car branch of
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git.

Morimoto-san, is this correct?
If so, Mark, would it be possible for you to provide topic/car
or similar as stable branch for me to use as a base?
My intention is to queue these up for v3.13.

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 4/5 v2] ARM: shmobile: bockw: add R-Car sound support (PIO)
  2013-09-05  7:19         ` Simon Horman
@ 2013-09-05  7:31           ` Simon Horman
  -1 siblings, 0 replies; 17+ messages in thread
From: Simon Horman @ 2013-09-05  7:31 UTC (permalink / raw)
  To: Kuninori Morimoto
  Cc: Laurent, Magnus, Linux-SH, Kuninori Morimoto, broonie@kernel.org,
	Linux-ALSA

On Thu, Sep 05, 2013 at 04:19:50PM +0900, Simon Horman wrote:
> [ CC Mark Brown, alsa-devel ]
> 
> On Thu, Sep 05, 2013 at 02:57:51PM +0900, Simon Horman wrote:
> > On Mon, Aug 26, 2013 at 01:52:35AM -0700, Kuninori Morimoto wrote:
> > > This patch enables R-Car sound,
> > > AK4643 (CN19) and AK4554 (CN20/CN21) codec chip
> > > on Bock-W.
> > > 
> > > But, it supports PIO transfer only at this point.
> > > User can check sound settings (Dip-switch/PFC etc)
> > > via this patch, but will get under/over flow error
> > > when playback/capture.
> > > Because PIO transfer via SSI will be interrupted
> > > "sampling rate" times per 1 second.
> > > 
> > > DMA transfer will be supported when HPB-DMAC was
> > > enabled on r8a7778.
> > > 
> > > You will notice strange ALSA sound card HW
> > > numbering on Bock-W board.
> > > This came from AK4554 strange format on playback/capture.
> > > The format on playback/capture is same on "normal" codec chip,
> > > but AK4554 was different.
> > > Because of that, AK4554 playback/capture are
> > > registered as a different sound card.
> > > 
> > > Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
> > > ---
> > > v1 -> v2
> > 
> > Thanks, I have queued this up for v3.13.
> > 
> > There was a bit of diff-noise, please make sure I have applied it
> > correctly. The patch I applied is below:
> 
> Unfortunately I didn't read your cover email carefully before queuing this up.
> I now see that it has dependencies that aren't present in v3.11-rc and
> thus I have temporarily dropped it.
> 
> It seems to me that the dependencies could be provided by
> the topic/car branch of
> git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git.
> 
> Morimoto-san, is this correct?
> If so, Mark, would it be possible for you to provide topic/car
> or similar as stable branch for me to use as a base?
> My intention is to queue these up for v3.13.

Alternatively, if the dependencies are likely to
appear in v3.12-rc1 or v3.12-rc2 then I can just wait until
they are available there.

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 4/5 v2] ARM: shmobile: bockw: add R-Car sound support (PIO)
@ 2013-09-05  7:31           ` Simon Horman
  0 siblings, 0 replies; 17+ messages in thread
From: Simon Horman @ 2013-09-05  7:31 UTC (permalink / raw)
  To: Kuninori Morimoto
  Cc: Laurent, Magnus, Linux-SH, Kuninori Morimoto, broonie@kernel.org,
	Linux-ALSA

On Thu, Sep 05, 2013 at 04:19:50PM +0900, Simon Horman wrote:
> [ CC Mark Brown, alsa-devel ]
> 
> On Thu, Sep 05, 2013 at 02:57:51PM +0900, Simon Horman wrote:
> > On Mon, Aug 26, 2013 at 01:52:35AM -0700, Kuninori Morimoto wrote:
> > > This patch enables R-Car sound,
> > > AK4643 (CN19) and AK4554 (CN20/CN21) codec chip
> > > on Bock-W.
> > > 
> > > But, it supports PIO transfer only at this point.
> > > User can check sound settings (Dip-switch/PFC etc)
> > > via this patch, but will get under/over flow error
> > > when playback/capture.
> > > Because PIO transfer via SSI will be interrupted
> > > "sampling rate" times per 1 second.
> > > 
> > > DMA transfer will be supported when HPB-DMAC was
> > > enabled on r8a7778.
> > > 
> > > You will notice strange ALSA sound card HW
> > > numbering on Bock-W board.
> > > This came from AK4554 strange format on playback/capture.
> > > The format on playback/capture is same on "normal" codec chip,
> > > but AK4554 was different.
> > > Because of that, AK4554 playback/capture are
> > > registered as a different sound card.
> > > 
> > > Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
> > > ---
> > > v1 -> v2
> > 
> > Thanks, I have queued this up for v3.13.
> > 
> > There was a bit of diff-noise, please make sure I have applied it
> > correctly. The patch I applied is below:
> 
> Unfortunately I didn't read your cover email carefully before queuing this up.
> I now see that it has dependencies that aren't present in v3.11-rc and
> thus I have temporarily dropped it.
> 
> It seems to me that the dependencies could be provided by
> the topic/car branch of
> git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git.
> 
> Morimoto-san, is this correct?
> If so, Mark, would it be possible for you to provide topic/car
> or similar as stable branch for me to use as a base?
> My intention is to queue these up for v3.13.

Alternatively, if the dependencies are likely to
appear in v3.12-rc1 or v3.12-rc2 then I can just wait until
they are available there.

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 4/5 v2] ARM: shmobile: bockw: add R-Car sound support (PIO)
  2013-09-05  7:31           ` Simon Horman
@ 2013-09-05  7:40             ` Kuninori Morimoto
  -1 siblings, 0 replies; 17+ messages in thread
From: Kuninori Morimoto @ 2013-09-05  7:40 UTC (permalink / raw)
  To: Simon; +Cc: Mark Brown, Magnus, Linux-SH, Linux-ALSA, Laurent,
	Kuninori Morimoto


Hi Simon, Mark

Thank you for your hard work

> > > > This patch enables R-Car sound,
> > > > AK4643 (CN19) and AK4554 (CN20/CN21) codec chip
> > > > on Bock-W.
> > > > 
> > > > But, it supports PIO transfer only at this point.
> > > > User can check sound settings (Dip-switch/PFC etc)
> > > > via this patch, but will get under/over flow error
> > > > when playback/capture.
> > > > Because PIO transfer via SSI will be interrupted
> > > > "sampling rate" times per 1 second.
> > > > 
> > > > DMA transfer will be supported when HPB-DMAC was
> > > > enabled on r8a7778.
> > > > 
> > > > You will notice strange ALSA sound card HW
> > > > numbering on Bock-W board.
> > > > This came from AK4554 strange format on playback/capture.
> > > > The format on playback/capture is same on "normal" codec chip,
> > > > but AK4554 was different.
> > > > Because of that, AK4554 playback/capture are
> > > > registered as a different sound card.
> > > > 
> > > > Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
> > > > ---
> > > > v1 -> v2
> > > 
> > > Thanks, I have queued this up for v3.13.
> > > 
> > > There was a bit of diff-noise, please make sure I have applied it
> > > correctly. The patch I applied is below:
> > 
> > Unfortunately I didn't read your cover email carefully before queuing this up.
> > I now see that it has dependencies that aren't present in v3.11-rc and
> > thus I have temporarily dropped it.
> > 
> > It seems to me that the dependencies could be provided by
> > the topic/car branch of
> > git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git.

Yes, exactly.

But

 - topic/car
 + topic/rcar

;P

> > Morimoto-san, is this correct?
> > If so, Mark, would it be possible for you to provide topic/car
> > or similar as stable branch for me to use as a base?
> > My intention is to queue these up for v3.13.
> 
> Alternatively, if the dependencies are likely to
> appear in v3.12-rc1 or v3.12-rc2 then I can just wait until
> they are available there.

Can you help Mark ?

Best regards
---
Kuninori Morimoto

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 4/5 v2] ARM: shmobile: bockw: add R-Car sound support (PIO)
@ 2013-09-05  7:40             ` Kuninori Morimoto
  0 siblings, 0 replies; 17+ messages in thread
From: Kuninori Morimoto @ 2013-09-05  7:40 UTC (permalink / raw)
  To: Simon; +Cc: Mark Brown, Magnus, Linux-SH, Linux-ALSA, Laurent,
	Kuninori Morimoto


Hi Simon, Mark

Thank you for your hard work

> > > > This patch enables R-Car sound,
> > > > AK4643 (CN19) and AK4554 (CN20/CN21) codec chip
> > > > on Bock-W.
> > > > 
> > > > But, it supports PIO transfer only at this point.
> > > > User can check sound settings (Dip-switch/PFC etc)
> > > > via this patch, but will get under/over flow error
> > > > when playback/capture.
> > > > Because PIO transfer via SSI will be interrupted
> > > > "sampling rate" times per 1 second.
> > > > 
> > > > DMA transfer will be supported when HPB-DMAC was
> > > > enabled on r8a7778.
> > > > 
> > > > You will notice strange ALSA sound card HW
> > > > numbering on Bock-W board.
> > > > This came from AK4554 strange format on playback/capture.
> > > > The format on playback/capture is same on "normal" codec chip,
> > > > but AK4554 was different.
> > > > Because of that, AK4554 playback/capture are
> > > > registered as a different sound card.
> > > > 
> > > > Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
> > > > ---
> > > > v1 -> v2
> > > 
> > > Thanks, I have queued this up for v3.13.
> > > 
> > > There was a bit of diff-noise, please make sure I have applied it
> > > correctly. The patch I applied is below:
> > 
> > Unfortunately I didn't read your cover email carefully before queuing this up.
> > I now see that it has dependencies that aren't present in v3.11-rc and
> > thus I have temporarily dropped it.
> > 
> > It seems to me that the dependencies could be provided by
> > the topic/car branch of
> > git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git.

Yes, exactly.

But

 - topic/car
 + topic/rcar

;P

> > Morimoto-san, is this correct?
> > If so, Mark, would it be possible for you to provide topic/car
> > or similar as stable branch for me to use as a base?
> > My intention is to queue these up for v3.13.
> 
> Alternatively, if the dependencies are likely to
> appear in v3.12-rc1 or v3.12-rc2 then I can just wait until
> they are available there.

Can you help Mark ?

Best regards
---
Kuninori Morimoto

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 4/5 v2] ARM: shmobile: bockw: add R-Car sound support (PIO)
  2013-09-05  7:19         ` Simon Horman
@ 2013-09-05 13:53           ` Mark Brown
  -1 siblings, 0 replies; 17+ messages in thread
From: Mark Brown @ 2013-09-05 13:53 UTC (permalink / raw)
  To: Simon Horman
  Cc: Linux-ALSA, Kuninori Morimoto, Linux-SH, Magnus, Laurent,
	Kuninori Morimoto


[-- Attachment #1.1: Type: text/plain, Size: 307 bytes --]

On Thu, Sep 05, 2013 at 04:19:50PM +0900, Simon Horman wrote:

> Morimoto-san, is this correct?
> If so, Mark, would it be possible for you to provide topic/car
> or similar as stable branch for me to use as a base?
> My intention is to queue these up for v3.13.

It's gone to Linus already so it's stable.

[-- Attachment #1.2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

[-- Attachment #2: Type: text/plain, Size: 0 bytes --]



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 4/5 v2] ARM: shmobile: bockw: add R-Car sound support (PIO)
@ 2013-09-05 13:53           ` Mark Brown
  0 siblings, 0 replies; 17+ messages in thread
From: Mark Brown @ 2013-09-05 13:53 UTC (permalink / raw)
  To: Simon Horman
  Cc: Linux-ALSA, Kuninori Morimoto, Linux-SH, Magnus, Laurent,
	Kuninori Morimoto

[-- Attachment #1: Type: text/plain, Size: 307 bytes --]

On Thu, Sep 05, 2013 at 04:19:50PM +0900, Simon Horman wrote:

> Morimoto-san, is this correct?
> If so, Mark, would it be possible for you to provide topic/car
> or similar as stable branch for me to use as a base?
> My intention is to queue these up for v3.13.

It's gone to Linus already so it's stable.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 4/5 v2] ARM: shmobile: bockw: add R-Car sound support (PIO)
  2013-09-05 13:53           ` Mark Brown
@ 2013-09-06  2:16             ` Simon Horman
  -1 siblings, 0 replies; 17+ messages in thread
From: Simon Horman @ 2013-09-06  2:16 UTC (permalink / raw)
  To: Mark Brown
  Cc: Kuninori Morimoto, Laurent, Magnus, Linux-SH, Kuninori Morimoto,
	Linux-ALSA

On Thu, Sep 05, 2013 at 02:53:01PM +0100, Mark Brown wrote:
> On Thu, Sep 05, 2013 at 04:19:50PM +0900, Simon Horman wrote:
> 
> > Morimoto-san, is this correct?
> > If so, Mark, would it be possible for you to provide topic/car
> > or similar as stable branch for me to use as a base?
> > My intention is to queue these up for v3.13.
> 
> It's gone to Linus already so it's stable.

Thanks and sorry for missing that.

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 4/5 v2] ARM: shmobile: bockw: add R-Car sound support (PIO)
@ 2013-09-06  2:16             ` Simon Horman
  0 siblings, 0 replies; 17+ messages in thread
From: Simon Horman @ 2013-09-06  2:16 UTC (permalink / raw)
  To: Mark Brown
  Cc: Kuninori Morimoto, Laurent, Magnus, Linux-SH, Kuninori Morimoto,
	Linux-ALSA

On Thu, Sep 05, 2013 at 02:53:01PM +0100, Mark Brown wrote:
> On Thu, Sep 05, 2013 at 04:19:50PM +0900, Simon Horman wrote:
> 
> > Morimoto-san, is this correct?
> > If so, Mark, would it be possible for you to provide topic/car
> > or similar as stable branch for me to use as a base?
> > My intention is to queue these up for v3.13.
> 
> It's gone to Linus already so it's stable.

Thanks and sorry for missing that.

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2013-09-06  2:16 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-08-07  4:05 [PATCH 0/5] ARM: shmobile: bockw: add Sound support Kuninori Morimoto
2013-08-21  8:50 ` Simon Horman
2013-08-26  8:50 ` [PATCH 0/5 v2] " Kuninori Morimoto
2013-08-26  8:52   ` [PATCH 4/5 v2] ARM: shmobile: bockw: add R-Car sound support (PIO) Kuninori Morimoto
2013-09-04 18:38     ` Sergei Shtylyov
2013-09-05  5:57     ` Simon Horman
2013-09-05  7:19       ` Simon Horman
2013-09-05  7:19         ` Simon Horman
2013-09-05  7:31         ` Simon Horman
2013-09-05  7:31           ` Simon Horman
2013-09-05  7:40           ` Kuninori Morimoto
2013-09-05  7:40             ` Kuninori Morimoto
2013-09-05 13:53         ` Mark Brown
2013-09-05 13:53           ` Mark Brown
2013-09-06  2:16           ` Simon Horman
2013-09-06  2:16             ` Simon Horman
2013-08-30  0:42   ` [PATCH 0/5 v2] ARM: shmobile: bockw: add Sound support Kuninori Morimoto

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.