summaryrefslogtreecommitdiff
path: root/sound
diff options
context:
space:
mode:
authorMisael Lopez Cruz <misael.lopez@ti.com>2011-05-31 09:23:18 +0100
committerAndy Green <andy.green@linaro.org>2011-05-31 11:04:47 +0100
commit4740451daed895d9a84c56a1b3a445f8c1ded193 (patch)
treeb90c904824f6f1004a94385853cd051d92805d52 /sound
parent3bd1239720df89783cf07d416982716791bf127b (diff)
ASoC: twl6040: Add digital mic bias voltage
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 <misael.lopez@ti.com>
Diffstat (limited to 'sound')
-rw-r--r--sound/soc/codecs/twl6040.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/sound/soc/codecs/twl6040.c b/sound/soc/codecs/twl6040.c
index 4c4bf760bbe..dc83189fa39 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),