summaryrefslogtreecommitdiff
path: root/sound
diff options
context:
space:
mode:
authorAxel Lin <axel.lin@gmail.com>2011-10-17 20:14:56 +0800
committerMark Brown <broonie@opensource.wolfsonmicro.com>2011-10-17 22:46:41 +0100
commit3a340104fad6ecbea5ad6792a2ea855f0507a6e0 (patch)
tree512bd250298c58a85bd4e0f0957e56d1f2785e70 /sound
parentaf1c53865df2a33c02647a38660192820cbf519f (diff)
downloadkernel-common-3a340104fad6ecbea5ad6792a2ea855f0507a6e0.tar.gz
kernel-common-3a340104fad6ecbea5ad6792a2ea855f0507a6e0.tar.bz2
kernel-common-3a340104fad6ecbea5ad6792a2ea855f0507a6e0.zip
ASoC: wm8741: Fix setting interface format for DSP modes
According to the datasheet: Format Control (05h) BITS[3:2] FMT[1:0] Audio data format selection 00 = right justified mode 01 = left justified mode 10 = I2S mode 11 = DSP mode BIT[4] LRP Polarity selec for LRCLK/DSP mode select 0 = normal LRCLK poalrity/DSP mode A 1 = inverted LRCLK poarity/DSP mode B For SND_SOC_DAIFMT_DSP_A, we should set 0x000C instead of 0x0003. For SND_SOC_DAIFMT_DSP_B, we should set 0x001C instead of 0x0013. Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@kernel.org
Diffstat (limited to 'sound')
-rw-r--r--sound/soc/codecs/wm8741.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sound/soc/codecs/wm8741.c b/sound/soc/codecs/wm8741.c
index a42b282e0afd..85ebe029ee17 100644
--- a/sound/soc/codecs/wm8741.c
+++ b/sound/soc/codecs/wm8741.c
@@ -339,10 +339,10 @@ static int wm8741_set_dai_fmt(struct snd_soc_dai *codec_dai,
iface |= 0x0004;
break;
case SND_SOC_DAIFMT_DSP_A:
- iface |= 0x0003;
+ iface |= 0x000C;
break;
case SND_SOC_DAIFMT_DSP_B:
- iface |= 0x0013;
+ iface |= 0x001C;
break;
default:
return -EINVAL;