ASoC: sti: unip player tdm mode
authorMoise Gergaud <moise.gergaud@st.com>
Thu, 7 Apr 2016 09:25:35 +0000 (11:25 +0200)
committerMark Brown <broonie@kernel.org>
Tue, 12 Apr 2016 03:59:09 +0000 (04:59 +0100)
commit8d8b1e2eddaef25ca0a18500dd9425638f1cfd02
tree2c8a4a60e30e3230dacf4aaec1cb248369b0f887
parent72199787662612a7747248f8b56bc5d42694538f
ASoC: sti: unip player tdm mode

here are the changes to enable player tdm mode:
- When TDM_ENABLE is set to 1, the i2s format should be automatically
configured. Unfortunately this is not the case (HW bug). Then, we shall
force DATA_SIZE setting.
- Compute the transfer size for tdm mode: transfer size = user frame size
- Manage tdm slots configuration given in DT.
- Don't use mclk-fs when unip in tdm mode; use tdm slot config to compute
frame size and to set mclk rate.
- Refine the hw param (channels & format) according to tdm slot config.

Signed-off-by: Moise Gergaud <moise.gergaud@st.com>
Acked-by: Arnaud Pouliquen <arnaud.pouliquen@st.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sti/sti_uniperif.c
sound/soc/sti/uniperif.h
sound/soc/sti/uniperif_player.c