[d-kernel] [PATCH c10f2/c10f1 6.1.y] ASoC: codecs: ES8326: set ADC_SRC registers in es8326_init()
kovalev на altlinux.org
kovalev на altlinux.org
Вт Июл 30 20:47:58 MSK 2024
From: Vasiliy Kovalev <kovalev на altlinux.org>
ES8326_ADC1_SRC and ES8326_ADC2_SRC registers is used to select analog
microphone and headset microphone.
Set the values in the registers similar to the hp remove event.
By default, the analog microphone does not work properly, but if you
connect and disconnect the headset, the specified ADC codec registers
are set to correct values.
Thanks to Aquarius developers for providing a working version of
the driver source code, which helped identify the problem in the
upstream driver during debugging and comparison.
The problem has been passed on to the driver developers, and soon a
more informative patch will appear in the upstream.
Signed-off-by: Vasiliy Kovalev <kovalev на altlinux.org>
---
sound/soc/codecs/es8326.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/sound/soc/codecs/es8326.c b/sound/soc/codecs/es8326.c
index 873082dce133f..2ca4f213715c1 100644
--- a/sound/soc/codecs/es8326.c
+++ b/sound/soc/codecs/es8326.c
@@ -1068,6 +1068,8 @@ static void es8326_init(struct snd_soc_component *component)
regmap_write(es8326->regmap, ES8326_ADC_MUTE, 0x0f);
regmap_write(es8326->regmap, ES8326_CLK_DIV_LRCK, 0xff);
+ regmap_write(es8326->regmap, ES8326_ADC1_SRC, 0x44);
+ regmap_write(es8326->regmap, ES8326_ADC2_SRC, 0x66);
es8326_disable_micbias(es8326->component);
msleep(200);
--
2.33.8
Подробная информация о списке рассылки devel-kernel