ASoC: codecs: rt5670: fix jd mode for Lenovo Miix 2 10
authorPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Fri, 23 Jun 2017 17:21:01 +0000 (12:21 -0500)
committerMark Brown <broonie@kernel.org>
Wed, 28 Jun 2017 17:59:06 +0000 (18:59 +0100)
jd mode 2 (3.3V) is required apparently

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=96691
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/rt5670.c

index e27c5a4a0a152333205d6a59b6b239e2a81e225b..d90c74ef5c4271d6b49c94090e8069a8209a991a 100644 (file)
@@ -2849,6 +2849,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 +2887,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);