ASoC: codecs: rt5670: add jack detection quirk for Dell Venue 5585
authorPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Tue, 22 Aug 2017 20:32:37 +0000 (15:32 -0500)
committerMark Brown <broonie@kernel.org>
Wed, 23 Aug 2017 11:20:58 +0000 (12:20 +0100)
Jack is not detected by default, using jdmode=3 works fine

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 0f4e5bc..4ea51b4 100644 (file)
@@ -2851,6 +2851,17 @@ static const struct dmi_system_id dmi_platform_intel_bytcht_jdmode2[] = {
        {}
 };
 
+static const struct dmi_system_id dmi_platform_intel_bytcht_jdmode3[] = {
+       {
+               .ident = "Dell Venue 8 Pro 5855",
+               .matches = {
+                       DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
+                       DMI_MATCH(DMI_PRODUCT_NAME, "Venue 8 Pro 5855"),
+               },
+       },
+       {}
+};
+
 static int rt5670_i2c_probe(struct i2c_client *i2c,
                    const struct i2c_device_id *id)
 {
@@ -2880,6 +2891,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 = 2;
+       } else if (dmi_check_system(dmi_platform_intel_bytcht_jdmode3)) {
+               rt5670->pdata.dmic_en = true;
+               rt5670->pdata.dmic1_data_pin = RT5670_DMIC_DATA_IN2P;
+               rt5670->pdata.dev_gpio = true;
+               rt5670->pdata.jd_mode = 3;
        }
 
        rt5670->regmap = devm_regmap_init_i2c(i2c, &rt5670_regmap);