Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cb0236ec authored by Pierre-Louis Bossart's avatar Pierre-Louis Bossart Committed by Mark Brown
Browse files

ASoC: codecs: rt5645: add quirks for Asus T100HA



Fix jack detection and dmic setup

Signed-off-by: default avatarPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 5771a8c0
Loading
Loading
Loading
Loading
+20 −0
Original line number Diff line number Diff line
@@ -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);