summaryrefslogtreecommitdiffstats
path: root/sound/soc/fsl/fsl_ssi.c
diff options
context:
space:
mode:
authorMarkus Pargmann2014-04-28 12:54:51 +0200
committerMark Brown2014-05-21 00:04:11 +0200
commit504894799fa122822f5c48be2968e04d3f1af8e8 (patch)
tree4f08cd5caac44b0a9e6b6317a23607521be15778 /sound/soc/fsl/fsl_ssi.c
parentASoC: fsl-ssi: Remove unnecessary variables from ssi_private (diff)
downloadkernel-qcow2-linux-504894799fa122822f5c48be2968e04d3f1af8e8.tar.gz
kernel-qcow2-linux-504894799fa122822f5c48be2968e04d3f1af8e8.tar.xz
kernel-qcow2-linux-504894799fa122822f5c48be2968e04d3f1af8e8.zip
ASoC: fsl-ssi: Transmit enable synchronization
When the fsl-ssi unit is used in i2s slave mode, it is possible that the SSI unit starts transmitting data on the wrong channel. This happens because the SSI does not synchronize with the left-right-clock by default. This patch enables transmit enable synchronization. Signed-off-by: Markus Pargmann <mpa@pengutronix.de> Tested-By: Michael Grzeschik <mgr@pengutronix.de> Signed-off-by: Mark Brown <broonie@linaro.org>
Diffstat (limited to 'sound/soc/fsl/fsl_ssi.c')
-rw-r--r--sound/soc/fsl/fsl_ssi.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sound/soc/fsl/fsl_ssi.c b/sound/soc/fsl/fsl_ssi.c
index 794f25fb8114..c6dcdb88b2b9 100644
--- a/sound/soc/fsl/fsl_ssi.c
+++ b/sound/soc/fsl/fsl_ssi.c
@@ -589,6 +589,7 @@ static int fsl_ssi_set_dai_fmt(struct snd_soc_dai *cpu_dai, unsigned int fmt)
fsl_ssi_setup_reg_vals(ssi_private);
scr = read_ssi(&ssi->scr) & ~(CCSR_SSI_SCR_SYN | CCSR_SSI_SCR_I2S_MODE_MASK);
+ scr |= CCSR_SSI_SCR_SYNC_TX_FS;
mask = CCSR_SSI_STCR_TXBIT0 | CCSR_SSI_STCR_TFDIR | CCSR_SSI_STCR_TXDIR |
CCSR_SSI_STCR_TSCKP | CCSR_SSI_STCR_TFSI | CCSR_SSI_STCR_TFSL |