Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Unverified Commit 958d022e authored by oder_chiou@realtek.com's avatar oder_chiou@realtek.com Committed by Mark Brown
Browse files

ASoC: rt5663: Fix the wrong result of the first jack detection



In the first jack detection while booting, the result will always show as
headset, even we insert the headphone.

Signed-off-by: default avatarOder Chiou <oder_chiou@realtek.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 4fbd8d19
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -1560,6 +1560,10 @@ static int rt5663_jack_detect(struct snd_soc_codec *codec, int jack_insert)
			RT5663_IRQ_POW_SAV_MASK, RT5663_IRQ_POW_SAV_EN);
		snd_soc_update_bits(codec, RT5663_IRQ_1,
			RT5663_EN_IRQ_JD1_MASK, RT5663_EN_IRQ_JD1_EN);
		snd_soc_update_bits(codec, RT5663_EM_JACK_TYPE_1,
			RT5663_EM_JD_MASK, RT5663_EM_JD_RST);
		snd_soc_update_bits(codec, RT5663_EM_JACK_TYPE_1,
			RT5663_EM_JD_MASK, RT5663_EM_JD_NOR);

		while (true) {
			regmap_read(rt5663->regmap, RT5663_INT_ST_2, &val);
+4 −0
Original line number Diff line number Diff line
@@ -1029,6 +1029,10 @@
#define RT5663_POL_EXT_JD_SHIFT			10
#define RT5663_POL_EXT_JD_EN			(0x1 << 10)
#define RT5663_POL_EXT_JD_DIS			(0x0 << 10)
#define RT5663_EM_JD_MASK			(0x1 << 7)
#define RT5663_EM_JD_SHIFT			7
#define RT5663_EM_JD_NOR			(0x1 << 7)
#define RT5663_EM_JD_RST			(0x0 << 7)

/* DACREF LDO Control (0x0112)*/
#define RT5663_PWR_LDO_DACREFL_MASK		(0x1 << 9)