[alsa-devel] [PATCH] ASoC: wm8741: Fix setting BCLK and LRCLK polarity
Sergej Sawazki
sergej at taudac.com
Thu Nov 2 14:23:02 CET 2017
After checking the code and the datasheet, it seems like we are handling
the clock inversion (SND_SOC_DAIFMT_NB_IF and SND_SOC_DAIFMT_IB_IF) not
correctly.
>From the datasheet (Table 58):
R5 Format Control, BITS[5:4], [BCP:LRP]:
(0) 00 = normal BCLK, normal LRCLK
(1) 01 = normal BCLK, inverted LRCLK <-- Fix this
(2) 10 = inverted BCLK, normal LRCLK
(3) 11 = inverted BCLK, inverted LRCLK <-- Fix this
Signed-off-by: Sergej Sawazki <sergej at taudac.com>
---
sound/soc/codecs/wm8741.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/sound/soc/codecs/wm8741.c b/sound/soc/codecs/wm8741.c
index 3c96af0..a394dbe 100644
--- a/sound/soc/codecs/wm8741.c
+++ b/sound/soc/codecs/wm8741.c
@@ -333,13 +333,13 @@ static int wm8741_set_dai_fmt(struct snd_soc_dai *codec_dai,
switch (fmt & SND_SOC_DAIFMT_INV_MASK) {
case SND_SOC_DAIFMT_NB_NF:
break;
- case SND_SOC_DAIFMT_IB_IF:
+ case SND_SOC_DAIFMT_NB_IF:
iface |= 0x10;
break;
case SND_SOC_DAIFMT_IB_NF:
iface |= 0x20;
break;
- case SND_SOC_DAIFMT_NB_IF:
+ case SND_SOC_DAIFMT_IB_IF:
iface |= 0x30;
break;
default:
--
2.7.4
More information about the Alsa-devel
mailing list