ASoC: rt5682s: Adjust SAR ADC button mode to fix noise issue
Subsystems (3)
PATCH 1/1 ASoC: rt5682s: Adjust SAR ADC button mode to fix noise issue
Adjust register settings for SAR adc button detection mode to fix noise issue in headset.
--- sound/soc/codecs/rt5682s.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-)
sound/soc/codecs/rt5682s.c +9 -8
@@ -653,14 +653,15 @@ static void rt5682s_sar_power_mode(struct snd_soc_component *component, int modeswitch (mode) {case SAR_PWR_SAVING :snd_soc_component_update_bits (component,RT5682S_CBJ_CTRL_3 , -RT5682S_CBJ_IN_BUF_MASK ,RT5682S_CBJ_IN_BUF_DIS ); +RT5682S_CBJ_IN_BUF_MASK ,RT5682S_CBJ_IN_BUF_EN );snd_soc_component_update_bits (component,RT5682S_CBJ_CTRL_1 , -RT5682S_MB1_PATH_MASK |RT5682S_MB2_PATH_MASK , -RT5682S_CTRL_MB1_REG |RT5682S_CTRL_MB2_REG ); +RT5682S_MB1_PATH_MASK |RT5682S_MB2_PATH_MASK | +RT5682S_VREF_POW_MASK ,RT5682S_CTRL_MB1_FSM | +RT5682S_CTRL_MB2_FSM |RT5682S_VREF_POW_FSM );snd_soc_component_update_bits (component,RT5682S_SAR_IL_CMD_1 ,RT5682S_SAR_BUTDET_MASK |RT5682S_SAR_BUTDET_POW_MASK |RT5682S_SAR_SEL_MB1_2_CTL_MASK ,RT5682S_SAR_BUTDET_DIS | -RT5682S_SAR_BUTDET_POW_SAV |RT5682S_SAR_SEL_MB1_2_MANU ); +RT5682S_SAR_BUTDET_POW_NORM |RT5682S_SAR_SEL_MB1_2_MANU );usleep_range (5000 ,5500 );snd_soc_component_update_bits (component,RT5682S_SAR_IL_CMD_1 ,RT5682S_SAR_BUTDET_MASK ,RT5682S_SAR_BUTDET_EN );
@@ -688,7 +689,7 @@ static void rt5682s_sar_power_mode(struct snd_soc_component *component, int modesnd_soc_component_update_bits (component,RT5682S_SAR_IL_CMD_1 ,RT5682S_SAR_BUTDET_MASK |RT5682S_SAR_BUTDET_POW_MASK |RT5682S_SAR_SEL_MB1_2_CTL_MASK ,RT5682S_SAR_BUTDET_DIS | -RT5682S_SAR_BUTDET_POW_SAV |RT5682S_SAR_SEL_MB1_2_MANU ); +RT5682S_SAR_BUTDET_POW_NORM |RT5682S_SAR_SEL_MB1_2_MANU );break ;default :dev_err (component->dev,"Invalid SAR Power mode: %d\n" , mode);
@@ -725,7 +726,7 @@ static void rt5682s_disable_push_button_irq(struct snd_soc_component *component)snd_soc_component_update_bits (component,RT5682S_SAR_IL_CMD_1 ,RT5682S_SAR_BUTDET_MASK |RT5682S_SAR_BUTDET_POW_MASK |RT5682S_SAR_SEL_MB1_2_CTL_MASK ,RT5682S_SAR_BUTDET_DIS | -RT5682S_SAR_BUTDET_POW_SAV |RT5682S_SAR_SEL_MB1_2_MANU ); +RT5682S_SAR_BUTDET_POW_NORM |RT5682S_SAR_SEL_MB1_2_MANU ); }/**
@@ -786,7 +787,7 @@ static int rt5682s_headset_detect(struct snd_soc_component *component, int jack_ jack_type =SND_JACK_HEADSET ;snd_soc_component_write (component,RT5682S_SAR_IL_CMD_3 ,0x024c );snd_soc_component_update_bits (component,RT5682S_CBJ_CTRL_1 , -RT5682S_FAST_OFF_MASK ,RT5682S_FAST_OFF_EN ); +RT5682S_FAST_OFF_MASK ,RT5682S_FAST_OFF_DIS );snd_soc_component_update_bits (component,RT5682S_SAR_IL_CMD_1 ,RT5682S_SAR_SEL_MB1_2_MASK , val <<RT5682S_SAR_SEL_MB1_2_SFT );rt5682s_enable_push_button_irq (component);
@@ -966,7 +967,7 @@ static int rt5682s_set_jack_detect(struct snd_soc_component *component,RT5682S_EMB_JD_MASK |RT5682S_DET_TYPE |RT5682S_POL_FAST_OFF_MASK |RT5682S_MIC_CAP_MASK ,RT5682S_EMB_JD_EN |RT5682S_DET_TYPE | - RT5682S_POL_FAST_OFF_HIGH | RT5682S_MIC_CAP_HS); + RT5682S_POL_FAST_OFF_LOW | RT5682S_MIC_CAP_HS);regmap_update_bits (rt5682s->regmap,RT5682S_SAR_IL_CMD_1 ,RT5682S_SAR_POW_MASK ,RT5682S_SAR_POW_EN ); regmap_update_bits(rt5682s->regmap, RT5682S_GPIO_CTRL_1,
Signature · 1 line
2.34.1
Quoted 2 lines · Jack Yu
Adjust register settings for SAR adc button detection mode to fix noise issue in headset.
Is there any kind of bugzilla or link where the problem was publicly reported?
Mark Brown
maintainerQuoted 4 lines · Jack Yu
Adjust register settings for SAR adc button detection mode to fix noise issue in headset.
Applied to
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next
Thanks!
[1/1] ASoC: rt5682s: Adjust SAR ADC button mode to fix noise issue
commit: 1dd28fd86c3fa4e395031dd6f2ba920242107010
All being well this means that it will be integrated into the linux-next tree (usually sometime in the next 24 hours) and sent to Linus during the next merge window (or sooner if it is a bug fix), however if problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing and review of the tree, please engage with people reporting problems and send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they should be sent as incremental updates against current git, existing patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying to this mail.
Thanks,
Mark