Skip to content

Commit cf4bb69

Browse files
Peter UjfalusiLiam Girdwood
authored andcommitted
ASoC: tlv320dac33: Control for line output gain
New control to select the line output gain. This gain control affects the linein-to-lineout and dac-to-loneout gain differently. Use enum type to select the desired gain combination. Signed-off-by: Peter Ujfalusi <[email protected]> Acked-by: Mark Brown <[email protected]> Signed-off-by: Liam Girdwood <[email protected]>
1 parent ec588ae commit cf4bb69

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

sound/soc/codecs/tlv320dac33.c

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -524,6 +524,22 @@ static const struct soc_enum dac33_fifo_mode_enum =
524524
SOC_ENUM_SINGLE_EXT(ARRAY_SIZE(dac33_fifo_mode_texts),
525525
dac33_fifo_mode_texts);
526526

527+
/* L/R Line Output Gain */
528+
static const char *lr_lineout_gain_texts[] = {
529+
"Line -12dB DAC 0dB", "Line -6dB DAC 6dB",
530+
"Line 0dB DAC 12dB", "Line 6dB DAC 18dB",
531+
};
532+
533+
static const struct soc_enum l_lineout_gain_enum =
534+
SOC_ENUM_SINGLE(DAC33_LDAC_PWR_CTRL, 0,
535+
ARRAY_SIZE(lr_lineout_gain_texts),
536+
lr_lineout_gain_texts);
537+
538+
static const struct soc_enum r_lineout_gain_enum =
539+
SOC_ENUM_SINGLE(DAC33_RDAC_PWR_CTRL, 0,
540+
ARRAY_SIZE(lr_lineout_gain_texts),
541+
lr_lineout_gain_texts);
542+
527543
/*
528544
* DACL/R digital volume control:
529545
* from 0 dB to -63.5 in 0.5 dB steps
@@ -541,6 +557,8 @@ static const struct snd_kcontrol_new dac33_snd_controls[] = {
541557
DAC33_LDAC_DIG_VOL_CTRL, DAC33_RDAC_DIG_VOL_CTRL, 7, 1, 1),
542558
SOC_DOUBLE_R("Line to Line Out Volume",
543559
DAC33_LINEL_TO_LLO_VOL, DAC33_LINER_TO_RLO_VOL, 0, 127, 1),
560+
SOC_ENUM("Left Line Output Gain", l_lineout_gain_enum),
561+
SOC_ENUM("Right Line Output Gain", r_lineout_gain_enum),
544562
};
545563

546564
static const struct snd_kcontrol_new dac33_mode_snd_controls[] = {

0 commit comments

Comments
 (0)