aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sound/soc/codecs/twl4030.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/sound/soc/codecs/twl4030.c b/sound/soc/codecs/twl4030.c
index 498c42f7c6e..91effd341c0 100644
--- a/sound/soc/codecs/twl4030.c
+++ b/sound/soc/codecs/twl4030.c
@@ -196,10 +196,20 @@ static void twl4030_init_chip(struct snd_soc_codec *codec)
196 */ 196 */
197static DECLARE_TLV_DB_SCALE(master_tlv, -6300, 100, 1); 197static DECLARE_TLV_DB_SCALE(master_tlv, -6300, 100, 1);
198 198
199/*
200 * CGAIN volume control:
201 * 0 dB to 12 dB in 6 dB steps
202 * value 2 and 3 means 12 dB
203 */
204static DECLARE_TLV_DB_SCALE(master_coarse_tlv, 0, 600, 0);
205
199static const struct snd_kcontrol_new twl4030_snd_controls[] = { 206static const struct snd_kcontrol_new twl4030_snd_controls[] = {
200 SOC_DOUBLE_R_TLV("Master Playback Volume", 207 SOC_DOUBLE_R_TLV("Master Playback Volume",
201 TWL4030_REG_ARXL2PGA, TWL4030_REG_ARXR2PGA, 208 TWL4030_REG_ARXL2PGA, TWL4030_REG_ARXR2PGA,
202 0, 0x3f, 0, master_tlv), 209 0, 0x3f, 0, master_tlv),
210 SOC_DOUBLE_R_TLV("Master PCM Playback Volume",
211 TWL4030_REG_ARXL2PGA, TWL4030_REG_ARXR2PGA,
212 6, 0x2, 0, master_coarse_tlv),
203 SOC_DOUBLE_R("Capture Volume", 213 SOC_DOUBLE_R("Capture Volume",
204 TWL4030_REG_ATXL1PGA, TWL4030_REG_ATXR1PGA, 214 TWL4030_REG_ATXL1PGA, TWL4030_REG_ATXR1PGA,
205 0, 0x1f, 0), 215 0, 0x1f, 0),