ASoC: twl6040: Disconnect AUX output pads on digital mute
authorPeter Ujfalusi <peter.ujfalusi@ti.com>
Wed, 18 May 2016 13:19:01 +0000 (16:19 +0300)
committerMark Brown <broonie@kernel.org>
Wed, 18 May 2016 16:57:22 +0000 (17:57 +0100)
Disconnect also the path to AUXL from the HF path during digital_mute to
avoid pop noise leakage to Line-out pads.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
include/linux/mfd/twl6040.h
sound/soc/codecs/twl6040.c

index 8f9fc3d26e6d1e8582938dc20004c1988aad4147..8e95cd87cd749fd5426a01db5e313416b30dac37 100644 (file)
 #define TWL6040_HFDACENA               (1 << 0)
 #define TWL6040_HFPGAENA               (1 << 1)
 #define TWL6040_HFDRVENA               (1 << 4)
+#define TWL6040_HFSWENA                        (1 << 6)
 
 /* VIBCTLL/R (0x18/0x1A) fields */
 
index bc3de2e844e68b80d8bf96dcc5c66f96d1a82669..d1e3a932cbf3763dad2b9789fc93d73cd767c7f8 100644 (file)
@@ -983,9 +983,9 @@ static void twl6040_mute_path(struct snd_soc_codec *codec, enum twl6040_dai_id i
                if (mute) {
                        /* Power down drivers and DACs */
                        hflctl &= ~(TWL6040_HFDACENA | TWL6040_HFPGAENA |
-                                   TWL6040_HFDRVENA);
+                                   TWL6040_HFDRVENA | TWL6040_HFSWENA);
                        hfrctl &= ~(TWL6040_HFDACENA | TWL6040_HFPGAENA |
-                                   TWL6040_HFDRVENA);
+                                   TWL6040_HFDRVENA | TWL6040_HFSWENA);
                }
 
                twl6040_reg_write(twl6040, TWL6040_REG_HFLCTL, hflctl);