Merge remote-tracking branch 'asoc/topic/intel' into asoc-next
[sfrench/cifs-2.6.git] / sound / soc / codecs / rt5670.c
index e27c5a4a0a152333205d6a59b6b239e2a81e225b..a5f15a104c47a7558405380f8603490e7bd9b921 100644 (file)
@@ -1717,7 +1717,6 @@ static const struct snd_soc_dapm_widget rt5670_dapm_widgets[] = {
        SND_SOC_DAPM_PGA("IF1_ADC1", SND_SOC_NOPM, 0, 0, NULL, 0),
        SND_SOC_DAPM_PGA("IF1_ADC2", SND_SOC_NOPM, 0, 0, NULL, 0),
        SND_SOC_DAPM_PGA("IF1_ADC3", SND_SOC_NOPM, 0, 0, NULL, 0),
-       SND_SOC_DAPM_PGA("IF1_ADC4", SND_SOC_NOPM, 0, 0, NULL, 0),
 
        /* DSP */
        SND_SOC_DAPM_PGA("TxDP_ADC", SND_SOC_NOPM, 0, 0, NULL, 0),
@@ -2086,13 +2085,13 @@ static const struct snd_soc_dapm_route rt5670_dapm_routes[] = {
        { "IF1 ADC1 IN1 Mux", "IF1_ADC3", "IF1_ADC3" },
 
        { "IF1 ADC1 IN2 Mux", "IF1_ADC1_IN1", "IF1 ADC1 IN1 Mux" },
-       { "IF1 ADC1 IN2 Mux", "IF1_ADC4", "IF1_ADC4" },
+       { "IF1 ADC1 IN2 Mux", "IF1_ADC4", "TxDP_ADC" },
 
        { "IF1 ADC2 IN Mux", "IF_ADC2", "IF_ADC2" },
        { "IF1 ADC2 IN Mux", "VAD_ADC", "VAD_ADC" },
 
        { "IF1 ADC2 IN1 Mux", "IF1_ADC2_IN", "IF1 ADC2 IN Mux" },
-       { "IF1 ADC2 IN1 Mux", "IF1_ADC4", "IF1_ADC4" },
+       { "IF1 ADC2 IN1 Mux", "IF1_ADC4", "TxDP_ADC" },
 
        { "IF1_ADC1" , NULL, "IF1 ADC1 IN2 Mux" },
        { "IF1_ADC2" , NULL, "IF1 ADC2 IN1 Mux" },
@@ -2849,6 +2848,10 @@ static const struct dmi_system_id dmi_platform_intel_braswell[] = {
                        DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad Tablet B"),
                },
        },
+       {}
+};
+
+static const struct dmi_system_id dmi_platform_intel_bytcht_jdmode2[] = {
        {
                .ident = "Lenovo Thinkpad Tablet 10",
                .matches = {
@@ -2883,6 +2886,11 @@ static int rt5670_i2c_probe(struct i2c_client *i2c,
                rt5670->pdata.dmic1_data_pin = RT5670_DMIC_DATA_IN2P;
                rt5670->pdata.dev_gpio = true;
                rt5670->pdata.jd_mode = 1;
+       } else if (dmi_check_system(dmi_platform_intel_bytcht_jdmode2)) {
+               rt5670->pdata.dmic_en = true;
+               rt5670->pdata.dmic1_data_pin = RT5670_DMIC_DATA_IN2P;
+               rt5670->pdata.dev_gpio = true;
+               rt5670->pdata.jd_mode = 2;
        }
 
        rt5670->regmap = devm_regmap_init_i2c(i2c, &rt5670_regmap);