aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorUk Kim <w0806.kim@samsung.com>2010-12-07 08:58:40 -0500
committerMark Brown <broonie@opensource.wolfsonmicro.com>2010-12-08 10:46:49 -0500
commit146fd574ec06b1c593805738b1c2c8c5a4128681 (patch)
treede32b6f6437f1a7ac95b3d18030fb5f264a15a2a
parentb1e43d933a3f1183e15d91b1737ecafb7de153eb (diff)
ASoC: Add ADC high pass filter support to WM8994
Signed-off-by: Uk Kim <w0806.kim@samsung.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
-rw-r--r--sound/soc/codecs/wm8994.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/sound/soc/codecs/wm8994.c b/sound/soc/codecs/wm8994.c
index 997fd178563f..da48802340fc 100644
--- a/sound/soc/codecs/wm8994.c
+++ b/sound/soc/codecs/wm8994.c
@@ -310,6 +310,19 @@ static const char *sidetone_hpf_text[] = {
310static const struct soc_enum sidetone_hpf = 310static const struct soc_enum sidetone_hpf =
311 SOC_ENUM_SINGLE(WM8994_SIDETONE, 7, 7, sidetone_hpf_text); 311 SOC_ENUM_SINGLE(WM8994_SIDETONE, 7, 7, sidetone_hpf_text);
312 312
313static const char *adc_hpf_text[] = {
314 "HiFi", "Voice 1", "Voice 2", "Voice 3"
315};
316
317static const struct soc_enum aif1adc1_hpf =
318 SOC_ENUM_SINGLE(WM8994_AIF1_ADC1_FILTERS, 13, 4, adc_hpf_text);
319
320static const struct soc_enum aif1adc2_hpf =
321 SOC_ENUM_SINGLE(WM8994_AIF1_ADC2_FILTERS, 13, 4, adc_hpf_text);
322
323static const struct soc_enum aif2adc_hpf =
324 SOC_ENUM_SINGLE(WM8994_AIF2_ADC_FILTERS, 13, 4, adc_hpf_text);
325
313static const DECLARE_TLV_DB_SCALE(aif_tlv, 0, 600, 0); 326static const DECLARE_TLV_DB_SCALE(aif_tlv, 0, 600, 0);
314static const DECLARE_TLV_DB_SCALE(digital_tlv, -7200, 75, 1); 327static const DECLARE_TLV_DB_SCALE(digital_tlv, -7200, 75, 1);
315static const DECLARE_TLV_DB_SCALE(st_tlv, -3600, 300, 0); 328static const DECLARE_TLV_DB_SCALE(st_tlv, -3600, 300, 0);
@@ -812,6 +825,15 @@ SOC_SINGLE_TLV("DAC2 Left Sidetone Volume", WM8994_DAC2_MIXER_VOLUMES,
812SOC_ENUM("Sidetone HPF Mux", sidetone_hpf), 825SOC_ENUM("Sidetone HPF Mux", sidetone_hpf),
813SOC_SINGLE("Sidetone HPF Switch", WM8994_SIDETONE, 6, 1, 0), 826SOC_SINGLE("Sidetone HPF Switch", WM8994_SIDETONE, 6, 1, 0),
814 827
828SOC_ENUM("AIF1ADC1 HPF Mode", aif1adc1_hpf),
829SOC_DOUBLE("AIF1ADC1 HPF Switch", WM8994_AIF1_ADC1_FILTERS, 12, 11, 1, 0),
830
831SOC_ENUM("AIF1ADC2 HPF Mode", aif1adc2_hpf),
832SOC_DOUBLE("AIF1ADC2 HPF Switch", WM8994_AIF1_ADC2_FILTERS, 12, 11, 1, 0),
833
834SOC_ENUM("AIF2ADC HPF Mode", aif2adc_hpf),
835SOC_DOUBLE("AIF2ADC HPF Switch", WM8994_AIF2_ADC_FILTERS, 12, 11, 1, 0),
836
815SOC_DOUBLE_R_TLV("DAC1 Volume", WM8994_DAC1_LEFT_VOLUME, 837SOC_DOUBLE_R_TLV("DAC1 Volume", WM8994_DAC1_LEFT_VOLUME,
816 WM8994_DAC1_RIGHT_VOLUME, 1, 96, 0, digital_tlv), 838 WM8994_DAC1_RIGHT_VOLUME, 1, 96, 0, digital_tlv),
817SOC_DOUBLE_R("DAC1 Switch", WM8994_DAC1_LEFT_VOLUME, 839SOC_DOUBLE_R("DAC1 Switch", WM8994_DAC1_LEFT_VOLUME,