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

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions