ASoC: rt5682: enable fast discharge for headset unplugging
To avoid the pop noise, this patch enables the feature of fast discharge. Signed-off-by: Shuming Fan <shumingf@realtek.com> Link: https://lore.kernel.org/r/20210111092544.9064-1-shumingf@realtek.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
867f8d18df
commit
5a15cd7fce
@ -953,6 +953,8 @@ int rt5682_headset_detect(struct snd_soc_component *component, int jack_insert)
|
||||
case 0x1:
|
||||
case 0x2:
|
||||
rt5682->jack_type = SND_JACK_HEADSET;
|
||||
snd_soc_component_update_bits(component, RT5682_CBJ_CTRL_1,
|
||||
RT5682_FAST_OFF_MASK, RT5682_FAST_OFF_EN);
|
||||
rt5682_enable_push_button_irq(component, true);
|
||||
break;
|
||||
default:
|
||||
@ -982,6 +984,8 @@ int rt5682_headset_detect(struct snd_soc_component *component, int jack_insert)
|
||||
snd_soc_component_update_bits(component, RT5682_MICBIAS_2,
|
||||
RT5682_PWR_CLK25M_MASK | RT5682_PWR_CLK1M_MASK,
|
||||
RT5682_PWR_CLK25M_PD | RT5682_PWR_CLK1M_PD);
|
||||
snd_soc_component_update_bits(component, RT5682_CBJ_CTRL_1,
|
||||
RT5682_FAST_OFF_MASK, RT5682_FAST_OFF_DIS);
|
||||
|
||||
rt5682->jack_type = 0;
|
||||
}
|
||||
@ -1011,11 +1015,13 @@ static int rt5682_set_jack_detect(struct snd_soc_component *component,
|
||||
if (!rt5682->is_sdw) {
|
||||
switch (rt5682->pdata.jd_src) {
|
||||
case RT5682_JD1:
|
||||
snd_soc_component_update_bits(component,
|
||||
RT5682_CBJ_CTRL_5, 0x0700, 0x0600);
|
||||
snd_soc_component_update_bits(component,
|
||||
RT5682_CBJ_CTRL_2, RT5682_EXT_JD_SRC,
|
||||
RT5682_EXT_JD_SRC_MANUAL);
|
||||
snd_soc_component_write(component, RT5682_CBJ_CTRL_1,
|
||||
0xd042);
|
||||
0xd142);
|
||||
snd_soc_component_update_bits(component,
|
||||
RT5682_CBJ_CTRL_3, RT5682_CBJ_IN_BUF_EN,
|
||||
RT5682_CBJ_IN_BUF_EN);
|
||||
|
Loading…
x
Reference in New Issue
Block a user