From c38614f6a38862ebb9260b5502a8cb22a3976efc Mon Sep 17 00:00:00 2001 From: Misael Lopez Cruz Date: Mon, 28 Feb 2011 21:09:25 -0600 Subject: [PATCH 25/60] ASoC: twl6040: Add digital mic bias voltage commit 9f1aee835ec9102e798cae63148db15aa4142a3e upstream Add a control to select output voltage (1.80 or 1.85V) of Digital Mic Bias 1 and 2. Change-Id: I7d76df5c8678fbcff4280bcf9ae87f9c859952f3 Signed-off-by: Misael Lopez Cruz Integrated-by: Jingdong Lu --- sound/soc/codecs/twl6040.c | 17 +++++++++++++++++ 1 files changed, 17 insertions(+), 0 deletions(-) diff --git a/sound/soc/codecs/twl6040.c b/sound/soc/codecs/twl6040.c index 86b44a7..a92521f 100644 --- a/sound/soc/codecs/twl6040.c +++ b/sound/soc/codecs/twl6040.c @@ -1012,6 +1012,20 @@ static const struct snd_kcontrol_new hfr_mux_controls = static const struct snd_kcontrol_new ep_driver_switch_controls = SOC_DAPM_SINGLE("Switch", TWL6040_REG_EARCTL, 0, 1, 0); +/* AVADC clock priority */ +static const char *twl6040_dmic_volt_texts[] = { + "1.80V", "1.85V" +}; + +static const struct soc_enum twl6040_dmic_volt_enum[] = { + SOC_ENUM_SINGLE(TWL6040_REG_DMICBCTL, 2, + ARRAY_SIZE(twl6040_dmic_volt_texts), + twl6040_dmic_volt_texts), + SOC_ENUM_SINGLE(TWL6040_REG_DMICBCTL, 6, + ARRAY_SIZE(twl6040_dmic_volt_texts), + twl6040_dmic_volt_texts), +}; + /* Headset power mode */ static const char *twl6040_headset_power_texts[] = { "Low-Power", "High-Perfomance", @@ -1069,6 +1083,9 @@ static const struct snd_kcontrol_new twl6040_snd_controls[] = { SOC_SINGLE_TLV("Earphone Playback Volume", TWL6040_REG_EARCTL, 1, 0xF, 1, ep_tlv), + SOC_ENUM("Digital Mic Bias 1 Voltage", twl6040_dmic_volt_enum[0]), + SOC_ENUM("Digital Mic Bias 2 Voltage", twl6040_dmic_volt_enum[1]), + SOC_ENUM_EXT("Headset Power Mode", twl6040_headset_power_enum, twl6040_headset_power_get_enum, twl6040_headset_power_put_enum), -- 1.7.4.1