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: Oder Chiou <oder_chiou@realtek.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
oder_chiou@realtek.com 2017-12-14 09:54:07 +08:00 committed by Mark Brown
parent 4fbd8d194f
commit 958d022e32
No known key found for this signature in database
GPG Key ID: 24D68B725D5487D0
2 changed files with 8 additions and 0 deletions

View File

@ -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); RT5663_IRQ_POW_SAV_MASK, RT5663_IRQ_POW_SAV_EN);
snd_soc_update_bits(codec, RT5663_IRQ_1, snd_soc_update_bits(codec, RT5663_IRQ_1,
RT5663_EN_IRQ_JD1_MASK, RT5663_EN_IRQ_JD1_EN); 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) { while (true) {
regmap_read(rt5663->regmap, RT5663_INT_ST_2, &val); regmap_read(rt5663->regmap, RT5663_INT_ST_2, &val);

View File

@ -1029,6 +1029,10 @@
#define RT5663_POL_EXT_JD_SHIFT 10 #define RT5663_POL_EXT_JD_SHIFT 10
#define RT5663_POL_EXT_JD_EN (0x1 << 10) #define RT5663_POL_EXT_JD_EN (0x1 << 10)
#define RT5663_POL_EXT_JD_DIS (0x0 << 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)*/ /* DACREF LDO Control (0x0112)*/
#define RT5663_PWR_LDO_DACREFL_MASK (0x1 << 9) #define RT5663_PWR_LDO_DACREFL_MASK (0x1 << 9)