Signed-off-by: Danny Milosavljevic <[email protected]>
---
sound/soc/sunxi/sun4i-codec.c | 34 ++++++++++++++++++++++------------
1 file changed, 22 insertions(+), 12 deletions(-)
diff --git a/sound/soc/sunxi/sun4i-codec.c b/sound/soc/sunxi/sun4i-codec.c
index 9866cb1..d75bc21 100644
--- a/sound/soc/sunxi/sun4i-codec.c
+++ b/sound/soc/sunxi/sun4i-codec.c
@@ -415,6 +415,7 @@ static const struct snd_kcontrol_new sun4i_codec_widgets[]
= {
SOC_SINGLE_TLV("PA Volume", SUN4I_CODEC_DAC_ACTL,
SUN4I_CODEC_DAC_ACTL_PA_VOL, 0x3F, 0,
sun4i_codec_pa_volume_scale),
+ /* Line-In, FM-In */
SOC_SINGLE_TLV("Line-In Playback Volume",
SUN4I_CODEC_DAC_ACTL,
SUN4I_CODEC_DAC_ACTL_LINEIN_OUTPUT_VOLUME,
@@ -427,23 +428,15 @@ static const struct snd_kcontrol_new
sun4i_codec_widgets[] = {
3,
0,
sun4i_codec_fmin_volume_scale),
- SOC_DOUBLE("Line-In Playback Switch",
- SUN4I_CODEC_DAC_ACTL,
- SUN4I_CODEC_DAC_ACTL_LINEIN_L_SWITCH,
- SUN4I_CODEC_DAC_ACTL_LINEIN_R_SWITCH,
- 1,
- 0),
- SOC_DOUBLE("FM-In Playback Switch",
- SUN4I_CODEC_DAC_ACTL,
- SUN4I_CODEC_DAC_ACTL_FMIN_L_SWITCH,
- SUN4I_CODEC_DAC_ACTL_FMIN_R_SWITCH,
- 1,
- 0),
};
static const struct snd_kcontrol_new sun4i_codec_left_mixer_controls[] = {
SOC_DAPM_SINGLE("Left DAC Playback Switch", SUN4I_CODEC_DAC_ACTL,
SUN4I_CODEC_DAC_ACTL_LDACLMIXS, 1, 0),
+ SOC_DAPM_SINGLE("Left Line-In Playback Switch", SUN4I_CODEC_DAC_ACTL,
+ SUN4I_CODEC_DAC_ACTL_LINEIN_L_SWITCH, 1, 0),
+ SOC_DAPM_SINGLE("Left FM-In Playback Switch", SUN4I_CODEC_DAC_ACTL,
+ SUN4I_CODEC_DAC_ACTL_FMIN_L_SWITCH, 1, 0),
};
static const struct snd_kcontrol_new sun4i_codec_right_mixer_controls[] = {
@@ -451,6 +444,10 @@ static const struct snd_kcontrol_new
sun4i_codec_right_mixer_controls[] = {
SUN4I_CODEC_DAC_ACTL_RDACRMIXS, 1, 0),
SOC_DAPM_SINGLE("Left DAC Playback Switch", SUN4I_CODEC_DAC_ACTL,
SUN4I_CODEC_DAC_ACTL_LDACRMIXS, 1, 0),
+ SOC_DAPM_SINGLE("Right Line-In Playback Switch", SUN4I_CODEC_DAC_ACTL,
+ SUN4I_CODEC_DAC_ACTL_LINEIN_R_SWITCH, 1, 0),
+ SOC_DAPM_SINGLE("Right FM-In Playback Switch", SUN4I_CODEC_DAC_ACTL,
+ SUN4I_CODEC_DAC_ACTL_FMIN_R_SWITCH, 1, 0),
};
static const struct snd_kcontrol_new sun4i_codec_pa_mixer_controls[] = {
@@ -494,8 +491,14 @@ static const struct snd_soc_dapm_widget
sun4i_codec_dapm_widgets[] = {
SND_SOC_DAPM_OUTPUT("HP Right"),
SND_SOC_DAPM_OUTPUT("HP Left"),
+
+ SND_SOC_DAPM_INPUT("LINE_IN Right"),
+ SND_SOC_DAPM_INPUT("LINE_IN Left"),
+ SND_SOC_DAPM_INPUT("FM_IN Right"),
+ SND_SOC_DAPM_INPUT("FM_IN Left"),
};
+/* {sink, control, source} */
static const struct snd_soc_dapm_route sun4i_codec_dapm_routes[] = {
/* Left DAC Routes */
{ "Left DAC", NULL, "DAC" },
@@ -522,6 +525,13 @@ static const struct snd_soc_dapm_route
sun4i_codec_dapm_routes[] = {
{ "Pre-Amplifier Mute", "Switch", "Pre-Amplifier" },
{ "HP Right", NULL, "Pre-Amplifier Mute" },
{ "HP Left", NULL, "Pre-Amplifier Mute" },
+
+ /* Line-In, FM-In */
+
+ { "Right Mixer", "Right Line-In Playback Switch", "LINE_IN Right" },
+ { "Left Mixer", "Left Line-In Playback Switch", "LINE_IN Left" },
+ { "Right Mixer", "Right FM-In Playback Switch", "FM_IN Right" },
+ { "Left Mixer", "Left FM-In Playback Switch", "FM_IN Left" },
};
static struct snd_soc_codec_driver sun4i_codec_codec = {
--
2.1.4
--
You received this message because you are subscribed to the Google Groups
"linux-sunxi" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.