ASoC: rt5640: Fix the JD voltage dropping issue
authorOder Chiou <oder_chiou@realtek.com>
Mon, 8 Aug 2022 05:28:36 +0000 (13:28 +0800)
committerMark Brown <broonie@kernel.org>
Mon, 8 Aug 2022 19:44:44 +0000 (20:44 +0100)
The patch fixes the JD voltage dropping issue in the HDA JD using.

Signed-off-by: Oder Chiou <oder_chiou@realtek.com>
Reported-by: Mohan Kumar D <mkumard@nvidia.com>
Link: https://lore.kernel.org/r/20220808052836.25791-1-oder_chiou@realtek.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/rt5640.c

index 38ab8d4291c2d0bff9b68bf7386ec147b8a883f0..5a844329800f0ccb7209af1800322d0e2c96f244 100644 (file)
@@ -1986,7 +1986,7 @@ static int rt5640_set_bias_level(struct snd_soc_component *component,
                snd_soc_component_write(component, RT5640_PWR_MIXER, 0x0000);
                if (rt5640->jd_src == RT5640_JD_SRC_HDA_HEADER)
                        snd_soc_component_write(component, RT5640_PWR_ANLG1,
-                               0x0018);
+                               0x2818);
                else
                        snd_soc_component_write(component, RT5640_PWR_ANLG1,
                                0x0000);
@@ -2600,7 +2600,8 @@ static void rt5640_enable_hda_jack_detect(
        snd_soc_component_update_bits(component, RT5640_DUMMY1, 0x400, 0x0);
 
        snd_soc_component_update_bits(component, RT5640_PWR_ANLG1,
-               RT5640_PWR_VREF2, RT5640_PWR_VREF2);
+               RT5640_PWR_VREF2 | RT5640_PWR_MB | RT5640_PWR_BG,
+               RT5640_PWR_VREF2 | RT5640_PWR_MB | RT5640_PWR_BG);
        usleep_range(10000, 15000);
        snd_soc_component_update_bits(component, RT5640_PWR_ANLG1,
                RT5640_PWR_FV2, RT5640_PWR_FV2);