Skip to content

Title: [CML] Add DMI quirk for Huawei MateBook D14 NBLB-WAX9N-PCB-B2 (ES8336) #5705

@gilbertoCM

Description

@gilbertoCM

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.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions