summaryrefslogtreecommitdiffstats
path: root/include/sound/rcar_snd.h
diff options
context:
space:
mode:
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>2013-07-29 03:58:29 +0200
committerMark Brown <broonie@linaro.org>2013-08-06 18:56:13 +0200
commit4b4dab82340d969521f4f86108441cb597c8595d (patch)
tree25729bfd18f16bb735f53fe4deeee33577f6a71e /include/sound/rcar_snd.h
parentASoC: rcar: fix return value check in rsnd_gen1_probe() (diff)
downloadlinux-4b4dab82340d969521f4f86108441cb597c8595d.tar.xz
linux-4b4dab82340d969521f4f86108441cb597c8595d.zip
ASoC: rsnd: remove platform dai and add dai_id on platform setting
Current rsnd driver is using struct rsnd_dai_platform_info so that indicate sound DAI information (playback/capture SSI ID). But, SSI settings were also required separately. Thus, platform settings was very un-understandable. This patch adds dai_id to SSI settings, and removed rsnd_dai_platform_info. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org>
Diffstat (limited to 'include/sound/rcar_snd.h')
-rw-r--r--include/sound/rcar_snd.h18
1 files changed, 10 insertions, 8 deletions
diff --git a/include/sound/rcar_snd.h b/include/sound/rcar_snd.h
index 99d8dd029906..33233edd1664 100644
--- a/include/sound/rcar_snd.h
+++ b/include/sound/rcar_snd.h
@@ -28,15 +28,24 @@
/*
* flags
*
- * 0xA0000000
+ * 0xAB000000
*
* A : clock sharing settings
+ * B : SSI direction
*/
#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 */
+#define RSND_SSI_PLAY (1 << 24)
+
+#define RSND_SSI_SET(_dai_id, _pio_irq, _flags) \
+{ .dai_id = _dai_id, .pio_irq = _pio_irq, .flags = _flags }
+#define RSND_SSI_UNUSED \
+{ .dai_id = -1, .pio_irq = -1, .flags = 0 }
+
struct rsnd_ssi_platform_info {
+ int dai_id;
int pio_irq;
u32 flags;
};
@@ -45,11 +54,6 @@ struct rsnd_scu_platform_info {
u32 flags;
};
-struct rsnd_dai_platform_info {
- int ssi_id_playback;
- int ssi_id_capture;
-};
-
/*
* flags
*
@@ -66,8 +70,6 @@ struct rcar_snd_info {
int ssi_info_nr;
struct rsnd_scu_platform_info *scu_info;
int scu_info_nr;
- struct rsnd_dai_platform_info *dai_info;
- int dai_info_nr;
int (*start)(int id);
int (*stop)(int id);
};