diff mbox

ASoC: rt5645: Add jack detection workaround for MINIX Z83-4 based devices

Message ID c98257b6-a5bc-a1b6-5194-cc29b6aec571@gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Ian W MORRISON Aug. 30, 2017, 6:07 a.m. UTC
The MINIX NEO Z83-4 and MINIX NEO Z83-4 Pro devices requires jd_mode=3
to make the jack detection work. Using a BIOS DMI product of "Z83-4"
will match both devices of 'NEO Z83-4' and 'Z83-4 Pro'.

Signed-off-by: Ian W Morrison <ianwmorrison@gmail.com>
---
 sound/soc/codecs/rt5645.c | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

Comments

Mark Brown Aug. 30, 2017, 3:07 p.m. UTC | #1
On Wed, Aug 30, 2017 at 04:07:36PM +1000, Ian W MORRISON wrote:
> The MINIX NEO Z83-4 and MINIX NEO Z83-4 Pro devices requires jd_mode=3
> to make the jack detection work. Using a BIOS DMI product of "Z83-4"
> will match both devices of 'NEO Z83-4' and 'Z83-4 Pro'.

This doens't apply against current code, please check and resend.
diff mbox

Patch

diff --git a/sound/soc/codecs/rt5645.c b/sound/soc/codecs/rt5645.c
index 9ec5816..7d889b6 100644
--- a/sound/soc/codecs/rt5645.c
+++ b/sound/soc/codecs/rt5645.c
@@ -3637,6 +3637,21 @@  static int rt5645_resume(struct snd_soc_codec *codec)
        {}
 };

+static struct rt5645_platform_data minix_z83_4_platform_data = {
+       .jd_mode = 3,
+};
+
+static struct dmi_system_id dmi_platform_minix_z83_4[] = {
+       {
+               .ident = "MINIX Z83-4",
+               .matches = {
+                       DMI_EXACT_MATCH(DMI_SYS_VENDOR, "MINIX"),
+                       DMI_MATCH(DMI_PRODUCT_NAME, "Z83-4"),
+               },
+       },
+       { }
+};
+
 static bool rt5645_check_dp(struct device *dev)
 {
        if (device_property_present(dev, "realtek,in2-differential") ||
@@ -3689,6 +3704,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_minix_z83_4))
+               rt5645->pdata = minix_z83_4_platform_data;

        if (quirk != -1) {
                rt5645->pdata.in2_diff = QUIRK_IN2_DIFF(quirk);