ASoC: max9867: add filter controls
authorPavel Dobias <dobias@2n.cz>
Wed, 20 May 2020 07:19:01 +0000 (09:19 +0200)
committerMark Brown <broonie@kernel.org>
Wed, 20 May 2020 14:48:18 +0000 (15:48 +0100)
Adding missing codec controls - ADC/DAC IIR filter selection.

Signed-off-by: Pavel Dobias <dobias@2n.cz>
Link: https://lore.kernel.org/r/20200520071904.15801-3-dobias@2n.cz
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/max9867.c

index 521aaa193607690fcd6b219566633c3dca08f632..22e06a795042a28eb45339e9ae1d525fd1bb61de 100644 (file)
@@ -23,8 +23,21 @@ static const char *const max9867_spmode[] = {
 };
 static const char *const max9867_filter_text[] = {"IIR", "FIR"};
 
+static const char *const max9867_adc_dac_filter_text[] = {
+       "Disabled",
+       "Elliptical/16/256",
+       "Butterworth/16/500",
+       "Elliptical/8/256",
+       "Butterworth/8/500",
+       "Butterworth/8-24"
+};
+
 static SOC_ENUM_SINGLE_DECL(max9867_filter, MAX9867_CODECFLTR, 7,
        max9867_filter_text);
+static SOC_ENUM_SINGLE_DECL(max9867_dac_filter, MAX9867_CODECFLTR, 0,
+       max9867_adc_dac_filter_text);
+static SOC_ENUM_SINGLE_DECL(max9867_adc_filter, MAX9867_CODECFLTR, 4,
+       max9867_adc_dac_filter_text);
 static SOC_ENUM_SINGLE_DECL(max9867_spkmode, MAX9867_MODECONFIG, 0,
        max9867_spmode);
 static const SNDRV_CTL_TLVD_DECLARE_DB_RANGE(max9867_master_tlv,
@@ -64,6 +77,8 @@ static const struct snd_kcontrol_new max9867_snd_controls[] = {
        SOC_SINGLE("Volume Smoothing Switch", MAX9867_MODECONFIG, 6, 1, 0),
        SOC_SINGLE("Line ZC Switch", MAX9867_MODECONFIG, 5, 1, 0),
        SOC_ENUM("DSP Filter", max9867_filter),
+       SOC_ENUM("ADC Filter", max9867_adc_filter),
+       SOC_ENUM("DAC Filter", max9867_dac_filter),
 };
 
 /* Input mixer */