phonepad: rt3261 add IN3 mode、IN3 boost and LOUT differential mixer.
author宋秀杰 <sxj@rock-chips.com>
Tue, 4 Sep 2012 15:18:20 +0000 (23:18 +0800)
committer宋秀杰 <sxj@rock-chips.com>
Tue, 4 Sep 2012 15:18:20 +0000 (23:18 +0800)
sound/soc/codecs/rt3261.c
sound/soc/codecs/rt3261.h

index af97d6a89d53f2ed9fa4541add477988c6a4d460..8dd98c71ba21d5e6d6184238bcb80a45c3eff2b6 100644 (file)
@@ -809,6 +809,19 @@ static const SOC_ENUM_SINGLE_DECL(
        rt3261_in2_mode_enum, RT3261_IN3_IN4,
        RT3261_IN_SFT2, rt3261_input_mode);
 
+static const SOC_ENUM_SINGLE_DECL(
+       rt3261_in3_mode_enum, RT3261_IN1_IN2,
+       RT3261_IN_SFT2, rt3261_input_mode);
+
+//output type
+static const char *rt3261_output_mode[] = {
+       "Single ended", "Differential"};
+
+static const SOC_ENUM_SINGLE_DECL(
+       rt3261_lout_mode_enum, RT3261_GEN_CTRL1,
+       RT3261_LOUT_DF, rt3261_output_mode);
+
+
 /* Interface data select */
 static const char *rt3261_data_select[] = {
        "Normal", "left copy to right", "right copy to left", "Swap"};
@@ -969,6 +982,11 @@ static const struct snd_kcontrol_new rt3261_snd_controls[] = {
        SOC_ENUM("IN2 Mode Control", rt3261_in2_mode_enum),
        SOC_SINGLE_TLV("IN2 Boost", RT3261_IN3_IN4,
                RT3261_BST_SFT2, 8, 0, bst_tlv),
+       SOC_ENUM("IN3 Mode Control",  rt3261_in3_mode_enum),
+       SOC_SINGLE_TLV("IN3 Boost", RT3261_IN1_IN2,
+               RT3261_BST_SFT2, 8, 0, bst_tlv),
+
+       SOC_ENUM("LOUT Mode Control",  rt3261_lout_mode_enum),
        /* INL/INR Volume Control */
        SOC_DOUBLE_TLV("IN Capture Volume", RT3261_INL_INR_VOL,
                        RT3261_INL_VOL_SFT, RT3261_INR_VOL_SFT,
index 5f4b3e887d018e88ba2184380623d4ea244eb1c2..d0c19dab07784caaa18fa9b4382a11ae1a7203ee 100644 (file)
@@ -2040,6 +2040,7 @@ enum {
 #define RT3261_EQ_PST_VOL_SFT                  0
 
 /* General Control1 (0xfa) */
+#define RT3261_LOUT_DF                         14
 #define RT3261_M_MAMIX_L                       (0x1 << 13)
 #define RT3261_M_MAMIX_R                       (0x1 << 12)