diff options
author | Axel Lin <axel.lin@gmail.com> | 2011-10-27 16:38:42 +0800 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2011-10-27 12:00:15 +0200 |
commit | 68e47981437686e58de1edc616d6c3043e01f07e (patch) | |
tree | 8ef1cbd7ea2db51466bd10aeb7a089c487eb1760 /sound | |
parent | b01a3d69f85c0af0934451e0f5457f2f6e7f3e63 (diff) | |
download | linux-3.10-68e47981437686e58de1edc616d6c3043e01f07e.tar.gz linux-3.10-68e47981437686e58de1edc616d6c3043e01f07e.tar.bz2 linux-3.10-68e47981437686e58de1edc616d6c3043e01f07e.zip |
ASoC: tlv320aic3x: Clear BIT_CLK_MASTER and WORD_CLK_MASTER bits for for slave mode
According to the datasheet:
Page0 / Register8: Audio Serial Data interface Control Register A
BIT 7: Bit Clock Directional Control
0: Bit clock is an input (slave mode)
1: Bit clock is an output (master mode)
BIT 6: Word Clock Directional Control
0: Word clock is an input (slave mode)
1: Word clock is an output (master mode)
Current code sets BIT_CLK_MASTER and WORD_CLK_MASTER bits for master mode,
but does not clear these bits for slave mode.
Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound')
-rw-r--r-- | sound/soc/codecs/tlv320aic3x.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sound/soc/codecs/tlv320aic3x.c b/sound/soc/codecs/tlv320aic3x.c index 7a49390bc30..87d5ef188e2 100644 --- a/sound/soc/codecs/tlv320aic3x.c +++ b/sound/soc/codecs/tlv320aic3x.c @@ -1023,6 +1023,7 @@ static int aic3x_set_dai_fmt(struct snd_soc_dai *codec_dai, break; case SND_SOC_DAIFMT_CBS_CFS: aic3x->master = 0; + iface_areg &= ~(BIT_CLK_MASTER | WORD_CLK_MASTER); break; default: return -EINVAL; |