Merge remote-tracking branch 'asoc/topic/rt5670' into asoc-next
[deliverable/linux.git] / sound / soc / codecs / rt5645.h
index db78e9462876978e7a3a3917c31c982a487f5fbd..0353a6a273ab4ca2bd5136c28aaedee14c6e54b2 100644 (file)
 #define RT5645_TDM_CTRL_1                      0x77
 #define RT5645_TDM_CTRL_2                      0x78
 #define RT5645_TDM_CTRL_3                      0x79
+#define RT5650_TDM_CTRL_4                      0x7a
 
 /* Function - Analog */
 #define RT5645_GLB_CLK                         0x80
 #define RT5645_I2S2_SDI_I2S2                   (0x1 << 6)
 
 /* ADC/DAC Clock Control 1 (0x73) */
-#define RT5645_I2S_BCLK_MS1_MASK               (0x1 << 15)
-#define RT5645_I2S_BCLK_MS1_SFT                        15
-#define RT5645_I2S_BCLK_MS1_32                 (0x0 << 15)
-#define RT5645_I2S_BCLK_MS1_64                 (0x1 << 15)
 #define RT5645_I2S_PD1_MASK                    (0x7 << 12)
 #define RT5645_I2S_PD1_SFT                     12
 #define RT5645_I2S_PD1_1                       (0x0 << 12)
 #define RT5645_SCLK_SRC_SFT                    14
 #define RT5645_SCLK_SRC_MCLK                   (0x0 << 14)
 #define RT5645_SCLK_SRC_PLL1                   (0x1 << 14)
-#define RT5645_SCLK_SRC_RCCLK                  (0x2 << 14) /* 15MHz */
-#define RT5645_PLL1_SRC_MASK                   (0x3 << 12)
-#define RT5645_PLL1_SRC_SFT                    12
-#define RT5645_PLL1_SRC_MCLK                   (0x0 << 12)
-#define RT5645_PLL1_SRC_BCLK1                  (0x1 << 12)
-#define RT5645_PLL1_SRC_BCLK2                  (0x2 << 12)
-#define RT5645_PLL1_SRC_BCLK3                  (0x3 << 12)
+#define RT5645_SCLK_SRC_RCCLK                  (0x2 << 14)
+#define RT5645_PLL1_SRC_MASK                   (0x7 << 11)
+#define RT5645_PLL1_SRC_SFT                    11
+#define RT5645_PLL1_SRC_MCLK                   (0x0 << 11)
+#define RT5645_PLL1_SRC_BCLK1                  (0x1 << 11)
+#define RT5645_PLL1_SRC_BCLK2                  (0x2 << 11)
+#define RT5645_PLL1_SRC_BCLK3                  (0x3 << 11)
+#define RT5645_PLL1_SRC_RCCLK                  (0x4 << 11)
 #define RT5645_PLL1_PD_MASK                    (0x1 << 3)
 #define RT5645_PLL1_PD_SFT                     3
 #define RT5645_PLL1_PD_1                       (0x0 << 3)
@@ -2147,6 +2145,7 @@ enum {
 };
 
 enum {
+       RT5645_DMIC1_DISABLE,
        RT5645_DMIC_DATA_IN2P,
        RT5645_DMIC_DATA_GPIO6,
        RT5645_DMIC_DATA_GPIO10,
@@ -2154,6 +2153,7 @@ enum {
 };
 
 enum {
+       RT5645_DMIC2_DISABLE,
        RT5645_DMIC_DATA_IN2N,
        RT5645_DMIC_DATA_GPIO5,
        RT5645_DMIC_DATA_GPIO11,
@@ -2182,8 +2182,10 @@ struct rt5645_priv {
        struct rt5645_platform_data pdata;
        struct regmap *regmap;
        struct i2c_client *i2c;
+       struct gpio_desc *gpiod_hp_det;
        struct snd_soc_jack *hp_jack;
        struct snd_soc_jack *mic_jack;
+       struct snd_soc_jack *btn_jack;
        struct delayed_work jack_detect_work;
 
        int codec_type;
@@ -2196,9 +2198,12 @@ struct rt5645_priv {
        int pll_src;
        int pll_in;
        int pll_out;
+
+       int jack_type;
+       bool en_button_func;
 };
 
 int rt5645_set_jack_detect(struct snd_soc_codec *codec,
-       struct snd_soc_jack *hp_jack, struct snd_soc_jack *mic_jack);
-
+       struct snd_soc_jack *hp_jack, struct snd_soc_jack *mic_jack,
+       struct snd_soc_jack *btn_jack);
 #endif /* __RT5645_H__ */
This page took 0.039977 seconds and 5 git commands to generate.