Commit 6817d759 authored by Kuninori Morimoto's avatar Kuninori Morimoto Committed by Mark Brown

ASoC: rsnd: enable TDM settings for SSI parent

Some SSIs are sharing each pins (= WS/CLK pin for playback/capture).
Then, SSI parent needs control WS/CLK setting for SSI slave.
In such case, SSI parent needs TDM settings if SSI slave is working as
TDM mode. But it is not cared in current driver.
It can't capture TDM sound without this patch if SSIs were pin sharing.
This patch is tested on R-Car H3 ulcb-kf board, SSI3/4 with TDM sound.
Signed-off-by: default avatarKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 4e9e07c5
...@@ -399,6 +399,17 @@ static void rsnd_ssi_config_init(struct rsnd_mod *mod, ...@@ -399,6 +399,17 @@ static void rsnd_ssi_config_init(struct rsnd_mod *mod,
if (rdai->sys_delay) if (rdai->sys_delay)
cr_own |= DEL; cr_own |= DEL;
/*
* TDM Mode
* see
* rsnd_ssiu_init_gen2()
*/
wsr = ssi->wsr;
if (is_tdm) {
wsr |= WS_MODE;
cr_own |= CHNL_8;
}
/* /*
* We shouldn't exchange SWSP after running. * We shouldn't exchange SWSP after running.
* This means, parent needs to care it. * This means, parent needs to care it.
...@@ -429,16 +440,6 @@ static void rsnd_ssi_config_init(struct rsnd_mod *mod, ...@@ -429,16 +440,6 @@ static void rsnd_ssi_config_init(struct rsnd_mod *mod,
cr_mode = DIEN; /* PIO : enable Data interrupt */ cr_mode = DIEN; /* PIO : enable Data interrupt */
} }
/*
* TDM Extend Mode
* see
* rsnd_ssiu_init_gen2()
*/
wsr = ssi->wsr;
if (is_tdm) {
wsr |= WS_MODE;
cr_own |= CHNL_8;
}
init_end: init_end:
ssi->cr_own = cr_own; ssi->cr_own = cr_own;
ssi->cr_mode = cr_mode; ssi->cr_mode = cr_mode;
......
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