Skip to content

[BUG] topology: Missing Machine Driver for Wildcat Lake Dell XPS 13 (CS42L43 on SDW + Dual CS35L56 on SPI) #11007

Description

@ilikepizza1275

Describe the bug
On the Wildcat Lake Dell XPS 13, the audio routing uses a split-bus configuration: the main codec (CS42L43) is wired via SoundWire, while the woofer smart amplifiers (dual CS35L56) are wired via SPI.

During boot, the sof-audio-pci-intel-ptl driver fails to find a matching machine driver for this specific ACPI configuration. It drops the SPI amplifiers and falls back to a generic fallback topology (sof-sdca-1amp-id2.tplg). Because of this, only the SoundWire tweeters are initialized. The woofers remain dead, resulting in completely tinny audio.

I have checked alsamixer and only the digital speaker channels are exposed. Checking /sys/bus/soundwire/devices/ confirms that only the CS42L43 codec is present on the SoundWire bus.

To Reproduce
Steps to reproduce the behavior:

  1. Boot CachyOS on a Panther Lake Dell XPS 13.
  2. Play any audio file or run speaker-test -Dhw:0,0 -c2 -r48000 -f S16_LE.
  3. Observe that audio only plays through the two tweeters with zero bass response.
  4. Run dmesg | grep -iE "sof|soundwire|cs42|cs35" and observe the missing machine driver error.

Reproduction Rate
All the time (100% on every boot).

Expected behavior
The SOF driver should recognize the Wildcat Lake XPS 13 ACPI configuration, correctly bridge both the SoundWire codec and the SPI amplifiers, load a proper multi-speaker topology, and output audio across all four internal speakers.

Impact
Showstopper for built-in audio (the internal speakers are unusable due to the total lack of lower/mid frequencies).

Environment

  1. Branch name and commit hash of the 2 repositories: sof (firmware/topology) and linux (kernel driver).
    • Kernel: 7.1.3-2-cachyos (Upstream Arch/CachyOS branch)
    • SOF: Upstream sof-firmware package
  2. Name of the topology file
    • Topology: intel/sof-ipc4-tplg/sof-sdca-1amp-id2.tplg
  3. Name of the platform(s) on which the bug is observed.
    • Platform: Wildcat Lake - Dell XPS 13

DMI Information:

Screenshots or console output

❯ ls /sys/bus/soundwire/devices
lrwxrwxrwx - root 16 Jul 20:15  sdw-master-0-2 -> ../../../devices/pci0000:00/0000:00:1f.3/soundwire_intel.link.2/sdw-master-0-2
lrwxrwxrwx - root 16 Jul 20:15  sdw:0:2:01fa:4243:01 -> ../../../devices/pci0000:00/0000:00:1f.3/soundwire_intel.link.2/sdw-master-0-2/sdw:0:2:01fa:4243:01

~
❯ sudo dmesg | grep -iE "sof-audio|cs42|cs35"
[    6.585259] sof-audio-pci-intel-ptl 0000:00:1f.3: SoundWire enabled on CannonLake+ platform, using SOF driver
[    6.585277] sof-audio-pci-intel-ptl 0000:00:1f.3: enabling device (0000 -> 0002)
[    6.585504] sof-audio-pci-intel-ptl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040100
[    6.585566] sof-audio-pci-intel-ptl 0000:00:1f.3: bound 0000:00:02.0 (ops intel_audio_component_bind_ops [xe])
[    6.594307] sof-audio-pci-intel-ptl 0000:00:1f.3: use msi interrupt mode
[    6.632955] sof-audio-pci-intel-ptl 0000:00:1f.3: No SoundWire machine driver found for the ACPI-reported configuration:
[    6.632958] sof-audio-pci-intel-ptl 0000:00:1f.3: link 2 mfg_id 0x01fa part_id 0x4243 version 0x3
[    6.632962] sof-audio-pci-intel-ptl 0000:00:1f.3: Use SoundWire default machine driver with function topologies
[    6.632963] sof-audio-pci-intel-ptl 0000:00:1f.3: hda codecs found, mask 4
[    6.632964] sof-audio-pci-intel-ptl 0000:00:1f.3: NHLT device BT(0) detected, ssp_mask 0x4
[    6.632965] sof-audio-pci-intel-ptl 0000:00:1f.3: BT link detected in NHLT tables: 0x4
[    6.632966] sof-audio-pci-intel-ptl 0000:00:1f.3: DMICs detected in NHLT tables: 0
[    6.634093] cs42l43 sdw:0:2:01fa:4243:01: supply vdd-p not found, using dummy regulator
[    6.634123] cs42l43 sdw:0:2:01fa:4243:01: supply vdd-d not found, using dummy regulator
[    6.634128] cs42l43 sdw:0:2:01fa:4243:01: supply vdd-a not found, using dummy regulator
[    6.634133] cs42l43 sdw:0:2:01fa:4243:01: supply vdd-io not found, using dummy regulator
[    6.634137] cs42l43 sdw:0:2:01fa:4243:01: supply vdd-cp not found, using dummy regulator
[    6.635515] sof-audio-pci-intel-ptl 0000:00:1f.3: Firmware paths/files for ipc type 1:
[    6.635522] sof-audio-pci-intel-ptl 0000:00:1f.3:  Firmware file:     intel/sof-ipc4/wcl/sof-wcl.ri
[    6.635525] sof-audio-pci-intel-ptl 0000:00:1f.3:  Firmware lib path: intel/sof-ipc4-lib/wcl
[    6.635527] sof-audio-pci-intel-ptl 0000:00:1f.3:  Topology file:     function topologies
[    6.635822] sof-audio-pci-intel-ptl 0000:00:1f.3: Loaded firmware library: ADSPFW, version: 2.14.1.1
[    6.636774] cs42l43 sdw:0:2:01fa:4243:01: devid: 0x042a43, rev: 0xa1, otp: 0x03
[    6.724016] cs35l56 spi-cs35l56-left: supply VDD_P not found, using dummy regulator
[    6.724070] cs35l56 spi-cs35l56-left: supply VDD_IO not found, using dummy regulator
[    6.724079] cs35l56 spi-cs35l56-left: supply VDD_A not found, using dummy regulator
[    6.748276] sof-audio-pci-intel-ptl 0000:00:1f.3: Loaded firmware library: ADSPFW, version: 2.14.1.1
[    6.765588] cs35l56 spi-cs35l56-left: Cirrus Logic CS35L56 Rev B2 OTP1 fw:4.2.1 (patched=0)
[    6.810677] sof-audio-pci-intel-ptl 0000:00:1f.3: Booted firmware version: 2.14.1.1
[    6.840312] cs42l43-codec cs42l43-codec: supply vdd-amp not found, using dummy regulator
[    6.877945] cs35l56 spi-cs35l56-right: supply VDD_P not found, using dummy regulator
[    6.878100] cs35l56 spi-cs35l56-right: supply VDD_IO not found, using dummy regulator
[    6.878120] cs35l56 spi-cs35l56-right: supply VDD_A not found, using dummy regulator
[    6.891552] sof-audio-pci-intel-ptl 0000:00:1f.3: Using function topologies instead intel/sof-ipc4-tplg/sof-wcl-dummy.tplg
[    6.891559] sof-audio-pci-intel-ptl 0000:00:1f.3: loading topology 0: intel/sof-ipc4-tplg/sof-sdca-mic-id4.tplg
[    6.891616] sof-audio-pci-intel-ptl 0000:00:1f.3: Topology: ABI 3:29:1 Kernel ABI 3:23:1
[    6.891781] sof-audio-pci-intel-ptl 0000:00:1f.3: loading topology 1: intel/sof-ipc4-tplg/sof-sdca-1amp-id2.tplg
[    6.891817] sof-audio-pci-intel-ptl 0000:00:1f.3: Topology: ABI 3:29:1 Kernel ABI 3:23:1
[    6.892024] sof-audio-pci-intel-ptl 0000:00:1f.3: loading topology 2: intel/sof-ipc4-tplg/sof-hdmi-pcm5-id5.tplg
[    6.892088] sof-audio-pci-intel-ptl 0000:00:1f.3: Topology: ABI 3:29:1 Kernel ABI 3:23:1
[    6.899134] sof_sdw sof_sdw: Setting CS42L43 Speaker volume limit to 128
[    6.964709] cs35l56 spi-cs35l56-right: Cirrus Logic CS35L56 Rev B2 OTP1 fw:4.2.1 (patched=0)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working as expected

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions