aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sound/soc/sh/rcar/gen.c8
-rw-r--r--sound/soc/sh/rcar/rsnd.h8
-rw-r--r--sound/soc/sh/rcar/ssiu.c20
3 files changed, 36 insertions, 0 deletions
diff --git a/sound/soc/sh/rcar/gen.c b/sound/soc/sh/rcar/gen.c
index 7d2fdf8dd188..d653cf488f73 100644
--- a/sound/soc/sh/rcar/gen.c
+++ b/sound/soc/sh/rcar/gen.c
@@ -211,6 +211,14 @@ static int rsnd_gen2_probe(struct rsnd_priv *priv)
211 RSND_GEN_S_REG(SSI_MODE1, 0x804), 211 RSND_GEN_S_REG(SSI_MODE1, 0x804),
212 RSND_GEN_S_REG(SSI_MODE2, 0x808), 212 RSND_GEN_S_REG(SSI_MODE2, 0x808),
213 RSND_GEN_S_REG(SSI_CONTROL, 0x810), 213 RSND_GEN_S_REG(SSI_CONTROL, 0x810),
214 RSND_GEN_S_REG(SSI_SYS_STATUS0, 0x840),
215 RSND_GEN_S_REG(SSI_SYS_STATUS1, 0x844),
216 RSND_GEN_S_REG(SSI_SYS_STATUS2, 0x848),
217 RSND_GEN_S_REG(SSI_SYS_STATUS3, 0x84c),
218 RSND_GEN_S_REG(SSI_SYS_STATUS4, 0x880),
219 RSND_GEN_S_REG(SSI_SYS_STATUS5, 0x884),
220 RSND_GEN_S_REG(SSI_SYS_STATUS6, 0x888),
221 RSND_GEN_S_REG(SSI_SYS_STATUS7, 0x88c),
214 222
215 /* FIXME: it needs SSI_MODE2/3 in the future */ 223 /* FIXME: it needs SSI_MODE2/3 in the future */
216 RSND_GEN_M_REG(SSI_BUSIF_MODE, 0x0, 0x80), 224 RSND_GEN_M_REG(SSI_BUSIF_MODE, 0x0, 0x80),
diff --git a/sound/soc/sh/rcar/rsnd.h b/sound/soc/sh/rcar/rsnd.h
index 678a9914c96f..d6bb53009123 100644
--- a/sound/soc/sh/rcar/rsnd.h
+++ b/sound/soc/sh/rcar/rsnd.h
@@ -161,6 +161,14 @@ enum rsnd_reg {
161 RSND_REG_SSI_BUSIF_ADINR, 161 RSND_REG_SSI_BUSIF_ADINR,
162 RSND_REG_SSI_BUSIF_DALIGN, 162 RSND_REG_SSI_BUSIF_DALIGN,
163 RSND_REG_SSI_INT_ENABLE, 163 RSND_REG_SSI_INT_ENABLE,
164 RSND_REG_SSI_SYS_STATUS0,
165 RSND_REG_SSI_SYS_STATUS1,
166 RSND_REG_SSI_SYS_STATUS2,
167 RSND_REG_SSI_SYS_STATUS3,
168 RSND_REG_SSI_SYS_STATUS4,
169 RSND_REG_SSI_SYS_STATUS5,
170 RSND_REG_SSI_SYS_STATUS6,
171 RSND_REG_SSI_SYS_STATUS7,
164 172
165 /* SSI */ 173 /* SSI */
166 RSND_REG_SSICR, 174 RSND_REG_SSICR,
diff --git a/sound/soc/sh/rcar/ssiu.c b/sound/soc/sh/rcar/ssiu.c
index 6f9b388ec5a8..4e817c8a18c0 100644
--- a/sound/soc/sh/rcar/ssiu.c
+++ b/sound/soc/sh/rcar/ssiu.c
@@ -33,6 +33,26 @@ static int rsnd_ssiu_init(struct rsnd_mod *mod,
33 u32 mask1, val1; 33 u32 mask1, val1;
34 u32 mask2, val2; 34 u32 mask2, val2;
35 35
36 /* clear status */
37 switch (id) {
38 case 0:
39 case 1:
40 case 2:
41 case 3:
42 case 4:
43 rsnd_mod_write(mod, SSI_SYS_STATUS0, 0xf << (id * 4));
44 rsnd_mod_write(mod, SSI_SYS_STATUS2, 0xf << (id * 4));
45 rsnd_mod_write(mod, SSI_SYS_STATUS4, 0xf << (id * 4));
46 rsnd_mod_write(mod, SSI_SYS_STATUS6, 0xf << (id * 4));
47 break;
48 case 9:
49 rsnd_mod_write(mod, SSI_SYS_STATUS1, 0xf << 4);
50 rsnd_mod_write(mod, SSI_SYS_STATUS3, 0xf << 4);
51 rsnd_mod_write(mod, SSI_SYS_STATUS5, 0xf << 4);
52 rsnd_mod_write(mod, SSI_SYS_STATUS7, 0xf << 4);
53 break;
54 }
55
36 /* 56 /*
37 * SSI_MODE0 57 * SSI_MODE0
38 */ 58 */