Commit 08bada26 authored by Kuninori Morimoto's avatar Kuninori Morimoto Committed by Mark Brown

ASoC: rsnd: set SSIWSR setting on rsnd_ssi_config_init()

It will have TDM settings on SSIWSR. Actually, we would like to set
it on rsnd_ssi_config_init(), but we can't. Because SSI might be used
as clock master (It doesn't need to call rsnd_ssi_config_init() when
clock master mode).
This patch adds new ssi->wsr and set it on rsnd_ssi_start().
Signed-off-by: default avatarKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 840ada3b
...@@ -69,6 +69,7 @@ struct rsnd_ssi { ...@@ -69,6 +69,7 @@ struct rsnd_ssi {
u32 cr_own; u32 cr_own;
u32 cr_clk; u32 cr_clk;
u32 cr_mode; u32 cr_mode;
u32 wsr;
int chan; int chan;
int rate; int rate;
int err; int err;
...@@ -214,11 +215,10 @@ static int rsnd_ssi_master_clk_start(struct rsnd_ssi *ssi, ...@@ -214,11 +215,10 @@ static int rsnd_ssi_master_clk_start(struct rsnd_ssi *ssi,
if (0 == ret) { if (0 == ret) {
ssi->cr_clk = FORCE | SWL_32 | ssi->cr_clk = FORCE | SWL_32 |
SCKD | SWSD | CKDV(j); SCKD | SWSD | CKDV(j);
ssi->wsr = CONT;
ssi->rate = rate; ssi->rate = rate;
rsnd_mod_write(mod, SSIWSR, CONT);
dev_dbg(dev, "%s[%d] outputs %u Hz\n", dev_dbg(dev, "%s[%d] outputs %u Hz\n",
rsnd_mod_name(mod), rsnd_mod_name(mod),
rsnd_mod_id(mod), rate); rsnd_mod_id(mod), rate);
...@@ -421,6 +421,7 @@ static int __rsnd_ssi_start(struct rsnd_mod *mod, ...@@ -421,6 +421,7 @@ static int __rsnd_ssi_start(struct rsnd_mod *mod,
EN; EN;
rsnd_mod_write(mod, SSICR, cr); rsnd_mod_write(mod, SSICR, cr);
rsnd_mod_write(mod, SSIWSR, ssi->wsr);
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment