forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 142
Open
Labels
Description
Hardware
- Laptop: Huawei MateBook D14 (NBLB-WAX9N, M1120)
- Board: NBLB-WAX9N-PCB-B2
- CPU: Intel Core i3-10110U (Comet Lake)
- Audio: Intel CML cAVS (8086:02c8) + Everest ES8336 (i2c-ESSX8336:00)
- Topology: sof-cml-es8336-dmic2ch-ssp0.tplg
- Kernel: 6.12.73 (Debian Trixie)
Problem
Headphone jack detection fails: connecting wired headphones causes system freeze. The BOHB-WAX9-PCB-B2 board (same MateBook family) is in the DMI quirk table with SOF_ES8336_HEADPHONE_GPIO | SOC_ES8336_HEADSET_MIC1, but NBLB-WAX9N-PCB-B2 is missing. Without the quirk, headphone GPIO is not configured.
dmesg (without fix)
sof-essx8336 sof-essx8336: quirk mask 0x20
sof-essx8336 sof-essx8336: quirk SSP0
sof-essx8336 sof-essx8336: quirk DMIC enabled
es8316 i2c-ESSX8336:00: assuming static mclk
Solution
Adding the DMI entry with the same quirk as BOHB-WAX9 fixes headphone jack detection completely:
{
.callback = sof_es8336_quirk_cb,
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "HUAWEI"),
DMI_MATCH(DMI_BOARD_NAME, "NBLB-WAX9N-PCB-B2"),
},
.driver_data = (void *)(SOF_ES8336_HEADPHONE_GPIO |
SOC_ES8336_HEADSET_MIC1)
},dmesg (with fix)
sof-essx8336 sof-essx8336: quirk mask 0x1a0
sof-essx8336 sof-essx8336: quirk SSP0
sof-essx8336 sof-essx8336: quirk DMIC enabled
sof-essx8336 sof-essx8336: quirk headphone GPIO enabled
sof-essx8336 sof-essx8336: quirk headset at mic1 port enabled
es8316 i2c-ESSX8336:00: assuming static mclk
dmidecode
System: HUAWEI NBLB-WAX9N, Version M1120
Board: HUAWEI NBLB-WAX9N-PCB-B2
Tested and working on kernel 6.12.73 (Debian). Speakers, headphones, and headset mic all functional with this quirk.
Reactions are currently unavailable