summaryrefslogtreecommitdiffstats
path: root/sound/soc/uniphier
diff options
context:
space:
mode:
authorKatsuhiro Suzuki <suzuki.katsuhiro@socionext.com>2018-03-14 21:39:00 +0900
committerMark Brown <broonie@kernel.org>2018-03-14 09:26:32 -0700
commit90e0fb05e5c1b1cf6a59c4f888f500e2b1feffc4 (patch)
tree7751a1766a257a508e9d9236dce38811134e30a0 /sound/soc/uniphier
parent8413b9e00aa33604aa661d7271c3c02c86beb994 (diff)
downloadlinux-90e0fb05e5c1b1cf6a59c4f888f500e2b1feffc4.tar.gz
linux-90e0fb05e5c1b1cf6a59c4f888f500e2b1feffc4.tar.bz2
linux-90e0fb05e5c1b1cf6a59c4f888f500e2b1feffc4.zip
ASoC: uniphier: evea: add switch for changing source of line-in
This patch adds mixer switch for changing audio source of line-in. We can choose one of LIN1, 2, 3, default is LIN1. Signed-off-by: Katsuhiro Suzuki <suzuki.katsuhiro@socionext.com> Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/uniphier')
-rw-r--r--sound/soc/uniphier/evea.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/sound/soc/uniphier/evea.c b/sound/soc/uniphier/evea.c
index 439f14f91b23..73fd6730095c 100644
--- a/sound/soc/uniphier/evea.c
+++ b/sound/soc/uniphier/evea.c
@@ -18,6 +18,8 @@
#define AADCPOW(n) (0x0078 + 0x04 * (n))
#define AADCPOW_AADC_POWD BIT(0)
+#define ALINSW1 0x0088
+#define ALINSW1_SEL1_SHIFT 3
#define AHPOUTPOW 0x0098
#define AHPOUTPOW_HP_ON BIT(4)
#define ALINEPOW 0x009c
@@ -278,7 +280,16 @@ static int evea_set_switch_hp(struct snd_kcontrol *kcontrol,
return evea_update_switch_hp(evea);
}
+static const char * const linsw1_sel1_text[] = {
+ "LIN1", "LIN2", "LIN3"
+};
+
+static SOC_ENUM_SINGLE_DECL(linsw1_sel1_enum,
+ ALINSW1, ALINSW1_SEL1_SHIFT,
+ linsw1_sel1_text);
+
static const struct snd_kcontrol_new evea_controls[] = {
+ SOC_ENUM("Line Capture Source", linsw1_sel1_enum),
SOC_SINGLE_BOOL_EXT("Line Capture Switch", 0,
evea_get_switch_lin, evea_set_switch_lin),
SOC_SINGLE_BOOL_EXT("Line Playback Switch", 0,