]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
ASoC: uniphier: evea: add switch for changing source of line-in
authorKatsuhiro Suzuki <suzuki.katsuhiro@socionext.com>
Wed, 14 Mar 2018 12:39:00 +0000 (21:39 +0900)
committerMark Brown <broonie@kernel.org>
Wed, 14 Mar 2018 16:26:32 +0000 (09:26 -0700)
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>
sound/soc/uniphier/evea.c

index 439f14f91b237b3709fa0b41b249792029abc0d9..73fd6730095c3714a3658b015aaa2f838d434a43 100644 (file)
@@ -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,