Commit 0d33ea0b authored by Peter Ujfalusi's avatar Peter Ujfalusi Committed by Mark Brown

ASoC: TWL4030: Add CGAIN volume control

Add CGAIN (Coarse gain control) to TWL4030 codec.
The range of the CGAIN is:
0 dB to 12 dB in 6 dB steps.
Signed-off-by: default avatarPeter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
parent c10b82cf
...@@ -196,10 +196,20 @@ static void twl4030_init_chip(struct snd_soc_codec *codec) ...@@ -196,10 +196,20 @@ static void twl4030_init_chip(struct snd_soc_codec *codec)
*/ */
static DECLARE_TLV_DB_SCALE(master_tlv, -6300, 100, 1); static DECLARE_TLV_DB_SCALE(master_tlv, -6300, 100, 1);
/*
* CGAIN volume control:
* 0 dB to 12 dB in 6 dB steps
* value 2 and 3 means 12 dB
*/
static DECLARE_TLV_DB_SCALE(master_coarse_tlv, 0, 600, 0);
static const struct snd_kcontrol_new twl4030_snd_controls[] = { static const struct snd_kcontrol_new twl4030_snd_controls[] = {
SOC_DOUBLE_R_TLV("Master Playback Volume", SOC_DOUBLE_R_TLV("Master Playback Volume",
TWL4030_REG_ARXL2PGA, TWL4030_REG_ARXR2PGA, TWL4030_REG_ARXL2PGA, TWL4030_REG_ARXR2PGA,
0, 0x3f, 0, master_tlv), 0, 0x3f, 0, master_tlv),
SOC_DOUBLE_R_TLV("Master PCM Playback Volume",
TWL4030_REG_ARXL2PGA, TWL4030_REG_ARXR2PGA,
6, 0x2, 0, master_coarse_tlv),
SOC_DOUBLE_R("Capture Volume", SOC_DOUBLE_R("Capture Volume",
TWL4030_REG_ATXL1PGA, TWL4030_REG_ATXR1PGA, TWL4030_REG_ATXL1PGA, TWL4030_REG_ATXR1PGA,
0, 0x1f, 0), 0, 0x1f, 0),
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment