> -----Original Message----- > From: Guillermo Rodríguez <guille.rodriguez@xxxxxxxxx> > Sent: Friday, September 18, 2020 8:43 AM > To: alsa-devel@xxxxxxxxxxxxxxxx > Cc: Guillermo Rodríguez <guille.rodriguez@xxxxxxxxx>; Schulman, James > <James.Schulman@xxxxxxxxxx>; Rhodes, David <David.Rhodes@xxxxxxxxxx>; > Liam Girdwood <lgirdwood@xxxxxxxxx>; Mark Brown > <broonie@xxxxxxxxxx>; Jaroslav Kysela <perex@xxxxxxxx>; Takashi Iwai > <tiwai@xxxxxxxx> > Subject: [PATCH] ASoC: cs42l51: add additional ADC volume controls > > Add volume controls for: > - Analog programmable gain amplifier (PGA) (-3 .. +12 dB) > - ADC attenuator (0 .. -96 dB) > > Signed-off-by: Guillermo Rodríguez <guille.rodriguez@xxxxxxxxx> > --- > sound/soc/codecs/cs42l51.c | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/sound/soc/codecs/cs42l51.c b/sound/soc/codecs/cs42l51.c > index 764f2ef8f59d..097c4e8d9950 100644 > --- a/sound/soc/codecs/cs42l51.c > +++ b/sound/soc/codecs/cs42l51.c > @@ -122,6 +122,9 @@ static const char *chan_mix[] = { > "R L", > }; > > +static const DECLARE_TLV_DB_SCALE(pga_tlv, -300, 50, 0); > +static const DECLARE_TLV_DB_SCALE(adc_att_tlv, -9600, 100, 0); > + > static SOC_ENUM_SINGLE_EXT_DECL(cs42l51_chan_mix, chan_mix); > > static const struct snd_kcontrol_new cs42l51_snd_controls[] = { > @@ -138,6 +141,12 @@ static const struct snd_kcontrol_new > cs42l51_snd_controls[] = { > 0, 0x19, 0x7F, adc_pcm_tlv), > SOC_DOUBLE_R("ADC Mixer Switch", > CS42L51_ADCA_VOL, CS42L51_ADCB_VOL, 7, 1, 1), > + SOC_DOUBLE_R_SX_TLV("ADC Attenuator Volume", > + CS42L51_ADCA_ATT, CS42L51_ADCB_ATT, > + 0, 0xA0, 96, adc_att_tlv), > + SOC_DOUBLE_R_SX_TLV("PGA Volume", > + CS42L51_ALC_PGA_CTL, CS42L51_ALC_PGB_CTL, > + 0, 0x1A, 30, pga_tlv), > SOC_SINGLE("Playback Deemphasis Switch", CS42L51_DAC_CTL, 3, 1, > 0), > SOC_SINGLE("Auto-Mute Switch", CS42L51_DAC_CTL, 2, 1, 0), > SOC_SINGLE("Soft Ramp Switch", CS42L51_DAC_CTL, 1, 1, 0), > -- > 2.26.0 Acked-by: David Rhodes <David.rhodes@xxxxxxxxxx> Thanks, David