Skip to content

Commit 0b18939

Browse files
pcercueibroonie
authored andcommitted
ASoC: codecs/jz4770: Add missing gain control after DAC/ADC mixer
The capture and playback paths both have a configurable gain after their respective mixer, which can be set from -31 dB to 0 dB in 32 steps. Signed-off-by: Paul Cercueil <paul@crapouillou.net> Link: https://lore.kernel.org/r/20211125232543.117074-1-paul@crapouillou.net Signed-off-by: Mark Brown <broonie@kernel.org>
1 parent f670b27 commit 0b18939

1 file changed

Lines changed: 9 additions & 0 deletions

File tree

sound/soc/codecs/jz4770.c

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -307,6 +307,7 @@ static const DECLARE_TLV_DB_MINMAX_MUTE(dac_tlv, -3100, 0);
307307
static const DECLARE_TLV_DB_SCALE(adc_tlv, 0, 100, 0);
308308
static const DECLARE_TLV_DB_MINMAX(out_tlv, -2500, 600);
309309
static const DECLARE_TLV_DB_SCALE(linein_tlv, -2500, 100, 0);
310+
static const DECLARE_TLV_DB_MINMAX(mixer_tlv, -3100, 0);
310311

311312
/* Unconditional controls. */
312313
static const struct snd_kcontrol_new jz4770_codec_snd_controls[] = {
@@ -319,6 +320,14 @@ static const struct snd_kcontrol_new jz4770_codec_snd_controls[] = {
319320
SOC_DOUBLE_R_TLV("Line In Bypass Playback Volume",
320321
JZ4770_CODEC_REG_GCR_LIBYL, JZ4770_CODEC_REG_GCR_LIBYR,
321322
REG_GCR_GAIN_OFFSET, REG_GCR_GAIN_MAX, 1, linein_tlv),
323+
324+
SOC_SINGLE_TLV("Mixer Capture Volume",
325+
JZ4770_CODEC_REG_GCR_MIXADC,
326+
REG_GCR_GAIN_OFFSET, REG_GCR_GAIN_MAX, 1, mixer_tlv),
327+
328+
SOC_SINGLE_TLV("Mixer Playback Volume",
329+
JZ4770_CODEC_REG_GCR_MIXDAC,
330+
REG_GCR_GAIN_OFFSET, REG_GCR_GAIN_MAX, 1, mixer_tlv),
322331
};
323332

324333
static const struct snd_kcontrol_new jz4770_codec_pcm_playback_controls[] = {

0 commit comments

Comments
 (0)