Describe the bug
On the Panther 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:
- Boot CachyOS on a Panther Lake Dell XPS 13.
- Play any audio file or run
speaker-test -Dhw:0,0 -c2 -r48000 -f S16_LE.
- Observe that audio only plays through the two tweeters with zero bass response.
- 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 Panther 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
- 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
- Name of the topology file
- Topology: intel/sof-ipc4-tplg/sof-sdca-1amp-id2.tplg
- Name of the platform(s) on which the bug is observed.
- Platform: Panther Lake (PTL) - 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)
Describe the bug
On the Panther 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-ptldriver 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
alsamixerand 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:
speaker-test -Dhw:0,0 -c2 -r48000 -f S16_LE.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 Panther 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
sof-firmwarepackageDMI Information:
Screenshots or console output