summaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorChris Rattray <crattray@opensource.wolfsonmicro.com>2013-02-01 16:40:41 +0100
committerMark Brown <broonie@opensource.wolfsonmicro.com>2013-02-04 11:51:46 +0100
commit4c97e8fedf1a7ef52e23dc06ec7a15be54ed18a4 (patch)
tree5e5cdc413392e6374436ef4d7be5074cb87ac51f /sound
parentASoC: wm2200: Set system clock control register is adsp structs (diff)
downloadlinux-4c97e8fedf1a7ef52e23dc06ec7a15be54ed18a4.tar.xz
linux-4c97e8fedf1a7ef52e23dc06ec7a15be54ed18a4.zip
ASoC: wm2200: Add Rx ANC input select control
Signed-off-by: Chris Rattray <crattray@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound')
-rw-r--r--sound/soc/codecs/wm2200.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/sound/soc/codecs/wm2200.c b/sound/soc/codecs/wm2200.c
index fc05553cc9c1..fee1a18e309e 100644
--- a/sound/soc/codecs/wm2200.c
+++ b/sound/soc/codecs/wm2200.c
@@ -1112,6 +1112,16 @@ static int wm2200_mixer_values[] = {
static WM2200_MUX_CTL_DECL(name##_aux5); \
static WM2200_MUX_CTL_DECL(name##_aux6);
+static const char *wm2200_rxanc_input_sel_texts[] = {
+ "None", "IN1", "IN2", "IN3",
+};
+
+static const struct soc_enum wm2200_rxanc_input_sel =
+ SOC_ENUM_SINGLE(WM2200_RXANC_SRC,
+ WM2200_IN_RXANC_SEL_SHIFT,
+ ARRAY_SIZE(wm2200_rxanc_input_sel_texts),
+ wm2200_rxanc_input_sel_texts);
+
static const struct snd_kcontrol_new wm2200_snd_controls[] = {
SOC_SINGLE("IN1 High Performance Switch", WM2200_IN1L_CONTROL,
WM2200_IN1_OSR_SHIFT, 1, 0),
@@ -1171,6 +1181,7 @@ SOC_DOUBLE_R_TLV("OUT2 Digital Volume", WM2200_DAC_DIGITAL_VOLUME_2L,
digital_tlv),
SOC_DOUBLE("OUT2 Switch", WM2200_PDM_1, WM2200_SPK1L_MUTE_SHIFT,
WM2200_SPK1R_MUTE_SHIFT, 1, 1),
+SOC_ENUM("RxANC Src", wm2200_rxanc_input_sel),
};
WM2200_MIXER_ENUMS(OUT1L, WM2200_OUT1LMIX_INPUT_1_SOURCE);