summaryrefslogtreecommitdiffstats
path: root/include/sound
diff options
context:
space:
mode:
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>2013-07-22 06:36:57 +0200
committerMark Brown <broonie@linaro.org>2013-07-28 20:34:09 +0200
commitae5c322303fff50b93d60e34c6563f1264a5941b (patch)
treeec37f50997c26bd8601502a640060fa66694ab61 /include/sound
parentASoC: add Renesas R-Car ADG feature (diff)
downloadlinux-ae5c322303fff50b93d60e34c6563f1264a5941b.tar.xz
linux-ae5c322303fff50b93d60e34c6563f1264a5941b.zip
ASoC: add Renesas R-Car SSI feature
Renesas R-Car series sound circuit consists of SSI and its peripheral. But this peripheral circuit is different between R-Car Generation1 (E1/M1/H1) and Generation2 (E2/M2/H2) (Actually, there are many difference in Generation1 chips) As 1st protype, this patch adds SSI feature on this driver. But, it is PIO sound playback support only at this point. The DMA transfer, and capture feature will be supported in the future Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org>
Diffstat (limited to 'include/sound')
-rw-r--r--include/sound/rcar_snd.h23
1 files changed, 22 insertions, 1 deletions
diff --git a/include/sound/rcar_snd.h b/include/sound/rcar_snd.h
index 6babd6f7b537..99d8dd029906 100644
--- a/include/sound/rcar_snd.h
+++ b/include/sound/rcar_snd.h
@@ -16,11 +16,30 @@
#define RSND_GEN1_SRU 0
#define RSND_GEN1_ADG 1
+#define RSND_GEN1_SSI 2
#define RSND_GEN2_SRU 0
#define RSND_GEN2_ADG 1
+#define RSND_GEN2_SSIU 2
+#define RSND_GEN2_SSI 3
-#define RSND_BASE_MAX 2
+#define RSND_BASE_MAX 4
+
+/*
+ * flags
+ *
+ * 0xA0000000
+ *
+ * A : clock sharing settings
+ */
+#define RSND_SSI_CLK_PIN_SHARE (1 << 31)
+#define RSND_SSI_CLK_FROM_ADG (1 << 30) /* clock parent is master */
+#define RSND_SSI_SYNC (1 << 29) /* SSI34_sync etc */
+
+struct rsnd_ssi_platform_info {
+ int pio_irq;
+ u32 flags;
+};
struct rsnd_scu_platform_info {
u32 flags;
@@ -43,6 +62,8 @@ struct rsnd_dai_platform_info {
struct rcar_snd_info {
u32 flags;
+ struct rsnd_ssi_platform_info *ssi_info;
+ int ssi_info_nr;
struct rsnd_scu_platform_info *scu_info;
int scu_info_nr;
struct rsnd_dai_platform_info *dai_info;