summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeremy McDermond2016-04-20 20:39:12 +0200
committerMark Brown2016-04-21 11:50:18 +0200
commit13a06ed55dba0ae3f983ef3c4ea70fc42066e1b5 (patch)
tree4b4d0779672de3e825187d42ff77c62637b1a569
parentASoC: tlv320aic32x4: Implement resistors on input pins (diff)
downloadkernel-qcow2-linux-13a06ed55dba0ae3f983ef3c4ea70fc42066e1b5.tar.gz
kernel-qcow2-linux-13a06ed55dba0ae3f983ef3c4ea70fc42066e1b5.tar.xz
kernel-qcow2-linux-13a06ed55dba0ae3f983ef3c4ea70fc42066e1b5.zip
ASoC: tlv320aic32x4: Add additional input pins
The input mixers support routing the IN1_R pin to the Left PGA and the IN2_L pin to the Right PGA. This patch allows for those routings. Signed-off-by: Jeremy McDermond <nh6z@nh6z.net> Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r--sound/soc/codecs/tlv320aic32x4.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/sound/soc/codecs/tlv320aic32x4.c b/sound/soc/codecs/tlv320aic32x4.c
index 621f4210cd27..0eb8acc8cd66 100644
--- a/sound/soc/codecs/tlv320aic32x4.c
+++ b/sound/soc/codecs/tlv320aic32x4.c
@@ -193,11 +193,14 @@ static SOC_ENUM_SINGLE_DECL(in2l_lpga_p_enum, AIC32X4_LMICPGAPIN, 4,
resistor_text);
static SOC_ENUM_SINGLE_DECL(in3l_lpga_p_enum, AIC32X4_LMICPGAPIN, 2,
resistor_text);
+static SOC_ENUM_SINGLE_DECL(in1r_lpga_p_enum, AIC32X4_LMICPGAPIN, 0,
+ resistor_text);
static const struct snd_kcontrol_new left_input_mixer_controls[] = {
SOC_DAPM_ENUM("IN1_L P Switch", in1l_lpga_p_enum),
SOC_DAPM_ENUM("IN2_L P Switch", in2l_lpga_p_enum),
SOC_DAPM_ENUM("IN3_L P Switch", in3l_lpga_p_enum),
+ SOC_DAPM_ENUM("IN1_R P Switch", in1r_lpga_p_enum),
};
static SOC_ENUM_SINGLE_DECL(in1r_rpga_p_enum, AIC32X4_RMICPGAPIN, 6,
@@ -206,11 +209,14 @@ static SOC_ENUM_SINGLE_DECL(in2r_rpga_p_enum, AIC32X4_RMICPGAPIN, 4,
resistor_text);
static SOC_ENUM_SINGLE_DECL(in3r_rpga_p_enum, AIC32X4_RMICPGAPIN, 2,
resistor_text);
+static SOC_ENUM_SINGLE_DECL(in2l_rpga_p_enum, AIC32X4_RMICPGAPIN, 0,
+ resistor_text);
static const struct snd_kcontrol_new right_input_mixer_controls[] = {
SOC_DAPM_ENUM("IN1_R P Switch", in1r_rpga_p_enum),
SOC_DAPM_ENUM("IN2_R P Switch", in2r_rpga_p_enum),
SOC_DAPM_ENUM("IN3_R P Switch", in3r_rpga_p_enum),
+ SOC_DAPM_ENUM("IN2_L P Switch", in2l_rpga_p_enum),
};
static const struct snd_soc_dapm_widget aic32x4_dapm_widgets[] = {
@@ -285,6 +291,7 @@ static const struct snd_soc_dapm_route aic32x4_dapm_routes[] = {
{"Left Input Mixer", "IN1_L P Switch", "IN1_L"},
{"Left Input Mixer", "IN2_L P Switch", "IN2_L"},
{"Left Input Mixer", "IN3_L P Switch", "IN3_L"},
+ {"Left Input Mixer", "IN1_R P Switch", "IN1_R"},
{"Left ADC", NULL, "Left Input Mixer"},
@@ -292,6 +299,7 @@ static const struct snd_soc_dapm_route aic32x4_dapm_routes[] = {
{"Right Input Mixer", "IN1_R P Switch", "IN1_R"},
{"Right Input Mixer", "IN2_R P Switch", "IN2_R"},
{"Right Input Mixer", "IN3_R P Switch", "IN3_R"},
+ {"Right Input Mixer", "IN2_L P Switch", "IN2_L"},
{"Right ADC", NULL, "Right Input Mixer"},
};