ASoC: codecs: rt5645: add quirks for Asus T100HA
authorPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Tue, 22 Aug 2017 20:32:35 +0000 (15:32 -0500)
committerMark Brown <broonie@kernel.org>
Wed, 23 Aug 2017 11:20:31 +0000 (12:20 +0100)
Fix jack detection and dmic setup

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/rt5645.c

index 9ec58166f7c427f50d9b72ba1f6bc9cbf0362a50..500bb42d0804d3a01cbac2fad8fd22ae74fabfee 100644 (file)
@@ -3637,6 +3637,24 @@ static const struct dmi_system_id dmi_platform_gpd_win[] = {
        {}
 };
 
+static struct rt5645_platform_data general_platform_data2 = {
+       .dmic1_data_pin = RT5645_DMIC_DATA_IN2N,
+       .dmic2_data_pin = RT5645_DMIC2_DISABLE,
+       .jd_mode = 3,
+       .inv_jd1_1 = true,
+};
+
+static struct dmi_system_id dmi_platform_asus_t100ha[] = {
+       {
+               .ident = "ASUS T100HAN",
+               .matches = {
+                       DMI_EXACT_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
+                       DMI_MATCH(DMI_PRODUCT_NAME, "T100HAN"),
+               },
+       },
+       { }
+};
+
 static bool rt5645_check_dp(struct device *dev)
 {
        if (device_property_present(dev, "realtek,in2-differential") ||
@@ -3689,6 +3707,8 @@ static int rt5645_i2c_probe(struct i2c_client *i2c,
                rt5645->pdata = general_platform_data;
        else if (dmi_check_system(dmi_platform_gpd_win))
                rt5645->pdata = gpd_win_platform_data;
+       else if (dmi_check_system(dmi_platform_asus_t100ha))
+               rt5645->pdata = general_platform_data2;
 
        if (quirk != -1) {
                rt5645->pdata.in2_diff = QUIRK_IN2_DIFF(quirk);