[alsa-devel] [PATCH 4/4] ASoC: msm8916-wcd-analog: Add MIC BIAS Internal3

Stephan Gerhold stephan at gerhold.net
Sat Jan 11 17:40:06 CET 2020


PM8916 has three TX inputs that each have an (optional) internal
RBIAS resistor. MIC BIAS Internal1/2 (for TX1/2) are already supported.
TX3 does not have its own MIC BIAS supply, instead it is also supplied
from MIC BIAS1.

Now that we have simplified the MIC BIAS Internal* implementation
we can easily add support for it:

Add a MIC BIAS Internal3 supply that enables the internal RBIAS
resistor on TX3, and make sure to enable MIC BIAS External1.

Tested-by: Nikita Travkin <nikitos.tr at gmail.com> # longcheer-l8150
Cc: Srinivas Kandagatla <srinivas.kandagatla at linaro.org>
Signed-off-by: Stephan Gerhold <stephan at gerhold.net>
---
 sound/soc/codecs/msm8916-wcd-analog.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/sound/soc/codecs/msm8916-wcd-analog.c b/sound/soc/codecs/msm8916-wcd-analog.c
index 930baae6eff5..5e452b2457b2 100644
--- a/sound/soc/codecs/msm8916-wcd-analog.c
+++ b/sound/soc/codecs/msm8916-wcd-analog.c
@@ -852,6 +852,7 @@ static const struct snd_soc_dapm_route pm8916_wcd_analog_audio_map[] = {
 
 	{"MIC BIAS Internal1", NULL, "MIC BIAS External1"},
 	{"MIC BIAS Internal2", NULL, "MIC BIAS External2"},
+	{"MIC BIAS Internal3", NULL, "MIC BIAS External1"},
 	{"MIC BIAS External1", NULL, "INT_LDO_H"},
 	{"MIC BIAS External2", NULL, "INT_LDO_H"},
 	{"MIC BIAS External1", NULL, "vdd-micbias"},
@@ -914,6 +915,9 @@ static const struct snd_soc_dapm_widget pm8916_wcd_analog_dapm_widgets[] = {
 			    pm8916_wcd_analog_enable_micbias_int2,
 			    SND_SOC_DAPM_PRE_PMU | SND_SOC_DAPM_POST_PMU |
 			    SND_SOC_DAPM_POST_PMD),
+	SND_SOC_DAPM_SUPPLY("MIC BIAS Internal3", CDC_A_MICB_1_INT_RBIAS, 1, 0,
+			    pm8916_wcd_analog_enable_micbias_int,
+			    SND_SOC_DAPM_PRE_PMU),
 
 	SND_SOC_DAPM_SUPPLY("MIC BIAS External1", CDC_A_MICB_1_EN, 7, 0,
 			    pm8916_wcd_analog_enable_micbias_ext1,
-- 
2.24.1



More information about the Alsa-devel mailing list