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>
This commit is contained in:
Katsuhiro Suzuki 2018-03-14 21:39:00 +09:00 committed by Mark Brown
parent 8413b9e00a
commit 90e0fb05e5
No known key found for this signature in database
GPG Key ID: 24D68B725D5487D0

View File

@ -18,6 +18,8 @@
#define AADCPOW(n) (0x0078 + 0x04 * (n)) #define AADCPOW(n) (0x0078 + 0x04 * (n))
#define AADCPOW_AADC_POWD BIT(0) #define AADCPOW_AADC_POWD BIT(0)
#define ALINSW1 0x0088
#define ALINSW1_SEL1_SHIFT 3
#define AHPOUTPOW 0x0098 #define AHPOUTPOW 0x0098
#define AHPOUTPOW_HP_ON BIT(4) #define AHPOUTPOW_HP_ON BIT(4)
#define ALINEPOW 0x009c #define ALINEPOW 0x009c
@ -278,7 +280,16 @@ static int evea_set_switch_hp(struct snd_kcontrol *kcontrol,
return evea_update_switch_hp(evea); 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[] = { static const struct snd_kcontrol_new evea_controls[] = {
SOC_ENUM("Line Capture Source", linsw1_sel1_enum),
SOC_SINGLE_BOOL_EXT("Line Capture Switch", 0, SOC_SINGLE_BOOL_EXT("Line Capture Switch", 0,
evea_get_switch_lin, evea_set_switch_lin), evea_get_switch_lin, evea_set_switch_lin),
SOC_SINGLE_BOOL_EXT("Line Playback Switch", 0, SOC_SINGLE_BOOL_EXT("Line Playback Switch", 0,