This reverts commit dd657eae8164f7e4bafe8b875031a7c6c50646a9.

There was a misinterpretation of the analysis using a scope.
After rechecking this using a logical analyzer the LRCK polarity is
fine.

Fixes: dd657eae8164 ("ASoC: sun4i-i2s: Fix the LRCK polarity")
Signed-off-by: Clément Péron <peron.c...@gmail.com>
---
 sound/soc/sunxi/sun4i-i2s.c | 18 ++++++------------
 1 file changed, 6 insertions(+), 12 deletions(-)

diff --git a/sound/soc/sunxi/sun4i-i2s.c b/sound/soc/sunxi/sun4i-i2s.c
index f23ff29e7c1d..fabff7bcccbc 100644
--- a/sound/soc/sunxi/sun4i-i2s.c
+++ b/sound/soc/sunxi/sun4i-i2s.c
@@ -603,29 +603,23 @@ static int sun8i_i2s_set_soc_fmt(const struct sun4i_i2s 
*i2s,
        u32 mode, val;
        u8 offset;
 
-       /*
-        * DAI clock polarity
-        *
-        * The setup for LRCK contradicts the datasheet, but under a
-        * scope it's clear that the LRCK polarity is reversed
-        * compared to the expected polarity on the bus.
-        */
+       /* DAI clock polarity */
        switch (fmt & SND_SOC_DAIFMT_INV_MASK) {
        case SND_SOC_DAIFMT_IB_IF:
                /* Invert both clocks */
-               val = SUN8I_I2S_FMT0_BCLK_POLARITY_INVERTED;
+               val = SUN8I_I2S_FMT0_BCLK_POLARITY_INVERTED |
+                     SUN8I_I2S_FMT0_LRCLK_POLARITY_INVERTED;
                break;
        case SND_SOC_DAIFMT_IB_NF:
                /* Invert bit clock */
-               val = SUN8I_I2S_FMT0_BCLK_POLARITY_INVERTED |
-                     SUN8I_I2S_FMT0_LRCLK_POLARITY_INVERTED;
+               val = SUN8I_I2S_FMT0_BCLK_POLARITY_INVERTED;
                break;
        case SND_SOC_DAIFMT_NB_IF:
                /* Invert frame clock */
-               val = 0;
+               val = SUN8I_I2S_FMT0_LRCLK_POLARITY_INVERTED;
                break;
        case SND_SOC_DAIFMT_NB_NF:
-               val = SUN8I_I2S_FMT0_LRCLK_POLARITY_INVERTED;
+               val = 0;
                break;
        default:
                return -EINVAL;
-- 
2.25.1

Reply via email to