Skip to content

Honor MagicBook Art 14 (HONOR-MRA, MTL-P): RT1308 smart amp on I2C3 not functional — BIOS disables I2C3 controller #5740

@voronin166

Description

@voronin166

Hardware

Laptop Honor MagicBook Art 14, HONOR-MRA_XXX-M1100, SKU C233
CPU Intel Meteor Lake-P (Core Ultra 7)
BIOS 3.05 (2025-03-07), latest available
Codec Realtek ALC256 (HDA, subsystem 0x1ee72060) — works, drives 2 tweeters
Amp Realtek RT1308 (ACPI: 10EC1308:00, path \_SB_.PC00.I2C3.HDC1, I2C addr 0x10, I2S+I2C mode — not SoundWire)
Kernel 6.17.0-20-generic
Stack SOF sof-hda-dsp, PipeWire 1.4.7, topology sof-hda-generic-4ch.tplg

The laptop has 6 speakers: 2 tweeters (ALC256) + 4 woofers (RT1308). Only the 2 tweeters work under Linux.

Root cause

BIOS physically disables the I2C3 controller at hardware level.

1. GNVS variable I2SC = 0x00 at GNVS_BASE + 0x84E (physical addr 0x65DD8866).
RT1308 _STA in DSDT:

If (((I2SC == 0x02) && (CDIS != One))) { Return(0x0F) }

With I2SC=0x00, _STA returns 0 → ACPI device disabled:

$ cat /sys/bus/acpi/devices/10EC1308:00/status
0

2. I2C3 PCI device is absent — only 00:15.0 (I2C0) and 00:15.1 (I2C1) are visible in lspci.

3. I2C3 MMIO (0x48192D1000) returns 0xFFFFFFFF — hardware is physically off. Address overlaps with Thunderbolt BAR2 (PCI 00:0d.3).

4. NHLT table has no RT1308 endpoint — only BT on SSP4 and 4 DMIC.

5. SoundWire bus exists (/sys/bus/soundwire/) but is completely empty — no devices, no drivers.

6. Warm reboot from Windows does not help — tested multiple times.

ACPI details

  • I2SB = 0x03 (I2C3 bus index)
  • RT1308 I2C address: 0x10 (7-bit)
  • GNVS OperationRegion: SystemMemory, 0x65DD8018, 0x0DAA
  • I2SC at offset 0x84E within GNVS

SOF state

  • No MTL + RT1308 (I2C mode) machine driver or topology exists in SOF project
  • Existing RT1308 topologies target ADL/TGL with SoundWire
  • ABI mismatch noted: sof-hda-generic-ace1-4ch.tplg reports ABI 3:29:1 vs kernel ABI 3:23:1

Questions

  1. Is there a known way to force-enable I2C3 from Linux (ACPI method, EFI variable write)?
  2. Is a machine driver/topology for MTL + RT1308-via-I2C feasible?
  3. Should this be reported to Honor/Intel as a BIOS bug?

Full ACPI tables, dmesg, and additional diagnostics available on request.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions