diff options
author | Katsuhiro Suzuki <suzuki.katsuhiro@socionext.com> | 2018-03-14 21:39:00 +0900 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2018-03-14 09:26:32 -0700 |
commit | 90e0fb05e5c1b1cf6a59c4f888f500e2b1feffc4 (patch) | |
tree | 7751a1766a257a508e9d9236dce38811134e30a0 | |
parent | 8413b9e00aa33604aa661d7271c3c02c86beb994 (diff) | |
download | linux-90e0fb05e5c1b1cf6a59c4f888f500e2b1feffc4.tar.bz2 |
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>
-rw-r--r-- | sound/soc/uniphier/evea.c | 11 |
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, |