Message ID | 20200918134317.22574-1-guille.rodriguez@gmail.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 641088722244f59fed00b68f7f5aaa3d56c1d73d |
Headers | show |
Series | ASoC: cs42l51: add additional ADC volume controls | expand |
> -----Original Message----- > From: Guillermo Rodríguez <guille.rodriguez@gmail.com> > Sent: Friday, September 18, 2020 8:43 AM > To: alsa-devel@alsa-project.org > Cc: Guillermo Rodríguez <guille.rodriguez@gmail.com>; Schulman, James > <James.Schulman@cirrus.com>; Rhodes, David <David.Rhodes@cirrus.com>; > Liam Girdwood <lgirdwood@gmail.com>; Mark Brown > <broonie@kernel.org>; Jaroslav Kysela <perex@perex.cz>; Takashi Iwai > <tiwai@suse.com> > 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@gmail.com> > --- > 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@cirrus.com> Thanks, David
On Fri, 18 Sep 2020 15:43:16 +0200, Guillermo Rodríguez wrote: > Add volume controls for: > - Analog programmable gain amplifier (PGA) (-3 .. +12 dB) > - ADC attenuator (0 .. -96 dB) Applied to https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next Thanks! [1/1] ASoC: cs42l51: add additional ADC volume controls commit: 641088722244f59fed00b68f7f5aaa3d56c1d73d All being well this means that it will be integrated into the linux-next tree (usually sometime in the next 24 hours) and sent to Linus during the next merge window (or sooner if it is a bug fix), however if problems are discovered then the patch may be dropped or reverted. You may get further e-mails resulting from automated or manual testing and review of the tree, please engage with people reporting problems and send followup patches addressing any issues that are reported if needed. If any updates are required or you are submitting further changes they should be sent as incremental updates against current git, existing patches will not be replaced. Please add any relevant lists and maintainers to the CCs when replying to this mail. Thanks, Mark
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),
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@gmail.com> --- sound/soc/codecs/cs42l51.c | 9 +++++++++ 1 file changed, 9 insertions(+)