ASoC: Intel: sof_es8336: Add a quirk for Huawei Matebook D15
authorMauro Carvalho Chehab <mchehab@kernel.org>
Thu, 7 Apr 2022 18:49:59 +0000 (20:49 +0200)
committerMark Brown <broonie@kernel.org>
Thu, 7 Apr 2022 19:26:54 +0000 (20:26 +0100)
Based on experimental tests, Huawei Matebook D15 actually uses
both gpio0 and gpio1: the first one controls the speaker, while
the other one controls the headphone.

Also, the headset is mapped as MIC1, instead of MIC2.

So, add a quirk for it.

Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
Acked-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/d678aef9fc9a07aced611aa7cb8c9b800c649e5a.1649357263.git.mchehab@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/intel/boards/sof_es8336.c

index c71842be9d593e8181034d1e788d261b3bf4ae50..9d617831dd206e2a6c60e07c93734d03ae3821a5 100644 (file)
@@ -304,6 +304,15 @@ static const struct dmi_system_id sof_es8336_quirk_table[] = {
                },
                .driver_data = (void *)(SOF_ES8336_SPEAKERS_EN_GPIO1_QUIRK)
        },
+       {
+               .callback = sof_es8336_quirk_cb,
+               .matches = {
+                       DMI_MATCH(DMI_SYS_VENDOR, "HUAWEI"),
+                       DMI_MATCH(DMI_BOARD_NAME, "BOHB-WAX9-PCB-B2"),
+               },
+               .driver_data = (void *)(SOF_ES8336_HEADPHONE_GPIO |
+                                       SOC_ES8336_HEADSET_MIC1)
+       },
        {}
 };