#define SUN4I_CODEC_DAC_ACTL_DACAENR                   (31)
 #define SUN4I_CODEC_DAC_ACTL_DACAENL                   (30)
 #define SUN4I_CODEC_DAC_ACTL_MIXEN                     (29)
+#define SUN4I_CODEC_DAC_ACTL_LNG                       (26)
 #define SUN4I_CODEC_DAC_ACTL_FMG                       (23)
 #define SUN4I_CODEC_DAC_ACTL_MICG                      (20)
+#define SUN4I_CODEC_DAC_ACTL_LLNS                      (19)
+#define SUN4I_CODEC_DAC_ACTL_RLNS                      (18)
 #define SUN4I_CODEC_DAC_ACTL_LFMS                      (17)
 #define SUN4I_CODEC_DAC_ACTL_RFMS                      (16)
 #define SUN4I_CODEC_DAC_ACTL_LDACLMIXS                 (15)
 #define SUN4I_CODEC_ADC_ACTL_PREG2                     (23)
 #define SUN4I_CODEC_ADC_ACTL_VADCG                     (20)
 #define SUN4I_CODEC_ADC_ACTL_ADCIS                     (17)
+#define SUN4I_CODEC_ADC_ACTL_LNPREG                    (13)
 #define SUN4I_CODEC_ADC_ACTL_PA_EN                     (4)
 #define SUN4I_CODEC_ADC_ACTL_DDE                       (3)
 #define SUN4I_CODEC_ADC_DEBUG                  (0x2c)
                        SUN4I_CODEC_DAC_ACTL_PA_MUTE, 1, 0);
 
 static DECLARE_TLV_DB_SCALE(sun4i_codec_pa_volume_scale, -6300, 100, 1);
+static DECLARE_TLV_DB_SCALE(sun4i_codec_linein_loopback_gain_scale, -150, 150,
+                           0);
+static DECLARE_TLV_DB_SCALE(sun4i_codec_linein_preamp_gain_scale, -1200, 300,
+                           0);
 static DECLARE_TLV_DB_SCALE(sun4i_codec_fmin_loopback_gain_scale, -450, 150,
                            0);
 static DECLARE_TLV_DB_SCALE(sun4i_codec_micin_loopback_gain_scale, -450, 150,
        SOC_SINGLE_TLV("Power Amplifier Volume", SUN4I_CODEC_DAC_ACTL,
                       SUN4I_CODEC_DAC_ACTL_PA_VOL, 0x3F, 0,
                       sun4i_codec_pa_volume_scale),
+       SOC_SINGLE_TLV("Line Playback Volume", SUN4I_CODEC_DAC_ACTL,
+                      SUN4I_CODEC_DAC_ACTL_LNG, 1, 0,
+                      sun4i_codec_linein_loopback_gain_scale),
+       SOC_SINGLE_TLV("Line Boost Volume", SUN4I_CODEC_ADC_ACTL,
+                      SUN4I_CODEC_ADC_ACTL_LNPREG, 7, 0,
+                      sun4i_codec_linein_preamp_gain_scale),
        SOC_SINGLE_TLV("FM Playback Volume", SUN4I_CODEC_DAC_ACTL,
                       SUN4I_CODEC_DAC_ACTL_FMG, 3, 0,
                       sun4i_codec_fmin_loopback_gain_scale),
        SOC_SINGLE_TLV("Power Amplifier Volume", SUN4I_CODEC_DAC_ACTL,
                       SUN4I_CODEC_DAC_ACTL_PA_VOL, 0x3F, 0,
                       sun4i_codec_pa_volume_scale),
+       SOC_SINGLE_TLV("Line Playback Volume", SUN4I_CODEC_DAC_ACTL,
+                      SUN4I_CODEC_DAC_ACTL_LNG, 1, 0,
+                      sun4i_codec_linein_loopback_gain_scale),
+       SOC_SINGLE_TLV("Line Boost Volume", SUN4I_CODEC_ADC_ACTL,
+                      SUN4I_CODEC_ADC_ACTL_LNPREG, 7, 0,
+                      sun4i_codec_linein_preamp_gain_scale),
        SOC_SINGLE_TLV("FM Playback Volume", SUN4I_CODEC_DAC_ACTL,
                       SUN4I_CODEC_DAC_ACTL_FMG, 3, 0,
                       sun4i_codec_fmin_loopback_gain_scale),
        SOC_DAPM_SINGLE("Right Mixer Left DAC Playback Switch",
                        SUN4I_CODEC_DAC_ACTL,
                        SUN4I_CODEC_DAC_ACTL_LDACRMIXS, 1, 0),
+       SOC_DAPM_DOUBLE("Line Playback Switch", SUN4I_CODEC_DAC_ACTL,
+                       SUN4I_CODEC_DAC_ACTL_LLNS,
+                       SUN4I_CODEC_DAC_ACTL_RLNS, 1, 0),
        SOC_DAPM_DOUBLE("FM Playback Switch", SUN4I_CODEC_DAC_ACTL,
                        SUN4I_CODEC_DAC_ACTL_LFMS,
                        SUN4I_CODEC_DAC_ACTL_RFMS, 1, 0),
        SND_SOC_DAPM_SWITCH("Power Amplifier Mute", SND_SOC_NOPM, 0, 0,
                            &sun4i_codec_pa_mute),
 
+       SND_SOC_DAPM_INPUT("Line Right"),
+       SND_SOC_DAPM_INPUT("Line Left"),
        SND_SOC_DAPM_INPUT("FM Right"),
        SND_SOC_DAPM_INPUT("FM Left"),
        SND_SOC_DAPM_INPUT("Mic1"),
        { "Right Mixer", NULL, "Mixer Enable" },
        { "Right Mixer", "Right Mixer Left DAC Playback Switch", "Left DAC" },
        { "Right Mixer", "Right Mixer Right DAC Playback Switch", "Right DAC" },
+       { "Right Mixer", "Line Playback Switch", "Line Right" },
        { "Right Mixer", "FM Playback Switch", "FM Right" },
        { "Right Mixer", "Mic1 Playback Switch", "MIC1 Pre-Amplifier" },
        { "Right Mixer", "Mic2 Playback Switch", "MIC2 Pre-Amplifier" },
        /* Left Mixer Routes */
        { "Left Mixer", NULL, "Mixer Enable" },
        { "Left Mixer", "Left Mixer Left DAC Playback Switch", "Left DAC" },
+       { "Left Mixer", "Line Playback Switch", "Line Left" },
        { "Left Mixer", "FM Playback Switch", "FM Left" },
        { "Left Mixer", "Mic1 Playback Switch", "MIC1 Pre-Amplifier" },
        { "Left Mixer", "Mic2 Playback Switch", "MIC2 Pre-Amplifier" },