summaryrefslogtreecommitdiffstats
path: root/sound/soc/sh/rcar/rsnd.h
diff options
context:
space:
mode:
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>2013-07-21 21:36:46 -0700
committerMark Brown <broonie@linaro.org>2013-07-28 19:34:09 +0100
commitdfc9403b7c1f566bb099a12c58aee20589e390f1 (patch)
treecc868032b3a32cdefeded82cd13ad0d61cfb93c1 /sound/soc/sh/rcar/rsnd.h
parent07539c1de82cdc0ecbe72b413762b2e920407227 (diff)
downloadop-kernel-dev-dfc9403b7c1f566bb099a12c58aee20589e390f1.zip
op-kernel-dev-dfc9403b7c1f566bb099a12c58aee20589e390f1.tar.gz
ASoC: add Renesas R-Car ADG 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) This patch adds ADG feature which controls sound clock Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org>
Diffstat (limited to 'sound/soc/sh/rcar/rsnd.h')
-rw-r--r--sound/soc/sh/rcar/rsnd.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/sound/soc/sh/rcar/rsnd.h b/sound/soc/sh/rcar/rsnd.h
index 95a391f..344fd59 100644
--- a/sound/soc/sh/rcar/rsnd.h
+++ b/sound/soc/sh/rcar/rsnd.h
@@ -32,6 +32,17 @@ enum rsnd_reg {
RSND_REG_SSI_MODE0,
RSND_REG_SSI_MODE1,
+ /* ADG */
+ RSND_REG_BRRA,
+ RSND_REG_BRRB,
+ RSND_REG_SSICKR,
+ RSND_REG_AUDIO_CLK_SEL0,
+ RSND_REG_AUDIO_CLK_SEL1,
+ RSND_REG_AUDIO_CLK_SEL2,
+ RSND_REG_AUDIO_CLK_SEL3,
+ RSND_REG_AUDIO_CLK_SEL4,
+ RSND_REG_AUDIO_CLK_SEL5,
+
RSND_REG_MAX,
};
@@ -163,6 +174,17 @@ void __iomem *rsnd_gen_reg_get(struct rsnd_priv *priv,
enum rsnd_reg reg);
/*
+ * R-Car ADG
+ */
+int rsnd_adg_ssi_clk_stop(struct rsnd_mod *mod);
+int rsnd_adg_ssi_clk_try_start(struct rsnd_mod *mod, unsigned int rate);
+int rsnd_adg_probe(struct platform_device *pdev,
+ struct rcar_snd_info *info,
+ struct rsnd_priv *priv);
+void rsnd_adg_remove(struct platform_device *pdev,
+ struct rsnd_priv *priv);
+
+/*
* R-Car sound priv
*/
struct rsnd_priv {
@@ -183,6 +205,11 @@ struct rsnd_priv {
int scu_nr;
/*
+ * below value will be filled on rsnd_adg_probe()
+ */
+ void *adg;
+
+ /*
* below value will be filled on rsnd_dai_probe()
*/
struct snd_soc_dai_driver *daidrv;
OpenPOWER on IntegriCloud