ASoC: cs42l43: Disable headphone clamps during type detection
The headphone clamps cause fairly loud pops during type detect because they sink current from the detection process itself. Disable the clamps whilst the type detect runs, to improve the detection pop performance. Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com> Link: https://patch.msgid.link/20250423090944.1504538-1-ckeepax@opensource.cirrus.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
committed by
Mark Brown
parent
68715cb5c0
commit
70ad2e6bd1
@@ -654,6 +654,10 @@ static int cs42l43_run_type_detect(struct cs42l43_codec *priv)
|
||||
|
||||
reinit_completion(&priv->type_detect);
|
||||
|
||||
regmap_update_bits(cs42l43->regmap, CS42L43_STEREO_MIC_CLAMP_CTRL,
|
||||
CS42L43_SMIC_HPAMP_CLAMP_DIS_FRC_VAL_MASK,
|
||||
CS42L43_SMIC_HPAMP_CLAMP_DIS_FRC_VAL_MASK);
|
||||
|
||||
cs42l43_start_hs_bias(priv, true);
|
||||
regmap_update_bits(cs42l43->regmap, CS42L43_HS2,
|
||||
CS42L43_HSDET_MODE_MASK, 0x3 << CS42L43_HSDET_MODE_SHIFT);
|
||||
@@ -665,6 +669,9 @@ static int cs42l43_run_type_detect(struct cs42l43_codec *priv)
|
||||
CS42L43_HSDET_MODE_MASK, 0x2 << CS42L43_HSDET_MODE_SHIFT);
|
||||
cs42l43_stop_hs_bias(priv);
|
||||
|
||||
regmap_update_bits(cs42l43->regmap, CS42L43_STEREO_MIC_CLAMP_CTRL,
|
||||
CS42L43_SMIC_HPAMP_CLAMP_DIS_FRC_VAL_MASK, 0);
|
||||
|
||||
if (!time_left)
|
||||
return -ETIMEDOUT;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user