Skip to content

Dell XPS 14 DA14260 (Panther Lake, 1028:0db9): speakers use default SoundWire machine driver and sound quality is tinny #5725

Open

Description

@AndreasBackx

Summary

Built-in speaker output works on my new Dell XPS 14 DA14260, but the sound quality is quite tinny and not as what I've seen from speaker tests online. It seems like kernel falls back to the default SoundWire machine driver with function topologies instead of finding a board-specific machine driver.

Note: I've used AI to help me debug some of the issues so I can give you the best possible bug report with my limited understanding of SOF and audio on Linux beyond the basics. I did not want to do too invasive steps just yet as described by https://thesofproject.github.io/latest/getting_started/intel_debug/suggestions.html but let me know if you would like some of the information described there.

I've seen some reports here about failures, but basic functionality here works fine:

  • Sound card registers
  • Speakers are detected and usable
  • Raw ALSA playback works
  • PipeWire routing is correct
  • SOF firmware boots
  • Cirrus amp firmware/tuning loads
  • Calibration seems to be applied on all amps
  • Mixer state looks sane

But the fallback machine-driver path remains, and speaker quality sounds flat compared with expected behaviour.

Hardware

  • Laptop: Dell XPS 14 DA14260
➜ lspci -nnk | rg -A3 -i "audio|multimedia"
00:05.0 Multimedia controller [0480]: Intel Corporation Panther Lake IPU [8086:b05d] (rev 04)
        Subsystem: Dell Device [1028:0db9]
        Kernel driver in use: intel-ipu7
        Kernel modules: intel_ipu7
--
00:1f.3 Audio device [0403]: Intel Corporation Device [8086:e428] (rev 01)
        Subsystem: Dell Device [1028:0db9]
        Kernel driver in use: sof-audio-pci-intel-ptl
        Kernel modules: snd_sof_pci_intel_ptl, snd_hda_intel
00:1f.4 SMBus [0c05]: Intel Corporation Device [8086:e422] (rev 01)
        Subsystem: Dell Device [1028:0db9]

Software

  • Distro: Fedora 43
  • Kernels tested:
    • Fedora 6.19.11
    • vanilla 7.0.0-0.rc7.260407.bfe62a45.254.vanilla.fc43.x86_64
  • Firmware/BIOS:
    • current according to fwupdmgr

Actual Behavior

  • Built-in speakers work.
  • Output is routed correctly to the internal speaker sink.
  • Direct ALSA playback to the speaker PCM works.
  • Sound quality is tinny compared with expectations, or what I saw online.
  • Subjectively there was no meaningful improvement between 6.19.11 and 7.0-rc7.

Expected Behavior

Either:

  • this subsystem should match a board-specific SoundWire machine driver, or
  • the generic function-topology path should already provide correct speaker tuning/quality
    At the moment it appears to be partial bring-up only.

Findings

I put the output of the list of commands I could find through AI to see if it could give a summary of what it thinks is happening.

It wonder whether subsystem 1028:0db9 currently missing board-specific SoundWire machine-driver support, or whether the generic default-machine-driver path expected to provide full/correct speaker tuning on this model?

Strong evidence that the audio stack is basically functional

  • Raw ALSA playback works on the speaker PCM.
  • PipeWire/WirePlumber are functioning normally.
  • The sound card and speaker path register correctly.
  • Dell-specific Cirrus firmware/tuning blobs for subsystem 1028:0db9 are present and loaded.
  • Calibration is applied on all four amps.
  • ALSA mixer state looks sane:
    • Speaker Switch is on
    • AMP1..AMP4 Speaker Switch are on
    • AMP1..AMP4 Speaker Volume are maxed
    • Post Mixer Speaker Playback Volume is maxed
    • Post Mixer Speaker Playback DRC switch is on

Strong evidence that model-specific support is still missing or incomplete

The kernel still reports:

sof-audio-pci-intel-ptl 0000:00:1f.3: No SoundWire machine driver found for the ACPI-reported configuration:
sof-audio-pci-intel-ptl 0000:00:1f.3: link 0 mfg_id 0x01fa part_id 0x4245 version 0x3
sof-audio-pci-intel-ptl 0000:00:1f.3: link 2 mfg_id 0x01fa part_id 0x3557 version 0x3
sof-audio-pci-intel-ptl 0000:00:1f.3: link 3 mfg_id 0x01fa part_id 0x3557 version 0x3
sof-audio-pci-intel-ptl 0000:00:1f.3: Use SoundWire default machine driver with function topologies

The function-topology path is then used instead of a board-specific machine driver.
At the same time, the amp firmware/tuning/calibration path is active, which suggests this is not a missing-firmware or muted-mixer problem.

Interpretation
This looks like partial bring-up with generic function topologies rather than full model-specific SoundWire machine-driver support/tuning for this exact Dell SKU.

These look related, though not identical:

Logs and other output
➜ uname -r
7.0.0-0.rc7.260407.bfe62a45.254.vanilla.fc43.x86_64

PCI audio device and driver binding

➜ lspci -nnk | rg -A3 -i "audio|multimedia"
00:05.0 Multimedia controller [0480]: Intel Corporation Panther Lake IPU [8086:b05d] (rev 04)
        Subsystem: Dell Device [1028:0db9]
        Kernel driver in use: intel-ipu7
        Kernel modules: intel_ipu7
--
00:1f.3 Audio device [0403]: Intel Corporation Device [8086:e428] (rev 01)
        Subsystem: Dell Device [1028:0db9]
        Kernel driver in use: sof-audio-pci-intel-ptl
        Kernel modules: snd_sof_pci_intel_ptl, snd_hda_intel
00:1f.4 SMBus [0c05]: Intel Corporation Device [8086:e422] (rev 01)
        Subsystem: Dell Device [1028:0db9]

ALSA info alsa-info.sh --no-upload:

https://gist.github.com/AndreasBackx/8fb9c905c1e4e1a5ef8a4b522746e453

Current boot audio logs
Command:

journalctl -b --no-pager | rg -i "sof|soundwire|cs35|cs42|machine driver|topolog|calibration"

https://gist.github.com/AndreasBackx/858c74ef0bf2d1af07e3707b5c7e3e1a

Kernel ring buffer audio logs

sudo dmesg | rg -i "sof|soundwire|cs35|cs42|machine driver|topolog|calibration"

https://gist.github.com/AndreasBackx/9c664b5eea769b2bc61c994dedf82097

ALSA playback devices

➜ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: sofsoundwire [sof-soundwire], device 0: Jack Out (*) []
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 0: sofsoundwire [sof-soundwire], device 2: Speaker (*) []
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 0: sofsoundwire [sof-soundwire], device 5: HDMI1 (*) [HDMI 1]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 0: sofsoundwire [sof-soundwire], device 6: HDMI2 (*) [HDMI 2]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 0: sofsoundwire [sof-soundwire], device 7: HDMI3 (*) [HDMI 3]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 0: sofsoundwire [sof-soundwire], device 31: Deepbuffer Jack Out (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0

ALSA capture devices

➜ arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: sofsoundwire [sof-soundwire], device 1: Jack In (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sofsoundwire [sof-soundwire], device 4: Microphone (*) []
  Subdevices: 0/1
  Subdevice #0: subdevice #0

Raw ALSA speaker playback test

Note:

  • this produces harsh pink noise by design
  • the important part is whether it successfully opens and plays through the speaker PCM
➜ speaker-test -Dhw:0,2 -c2 -r48000 -F S16_LE

speaker-test 1.2.15.2

Playback device is hw:0,2
Stream parameters are 48000Hz, S16_LE, 2 channels
Using 16 octaves of pink noise
Rate set to 48000Hz (requested 48000Hz)
Buffer size range from 768 to 1048576
Period size range from 384 to 524288
Periods = 4
was set period_size = 12000
was set buffer_size = 48000
 0 - Front Left
 1 - Front Right
Time per period = 5.004328
 0 - Front Left
 1 - Front Right
Time per period = 6.000841
 0 - Front Left
 1 - Front Right
Time per period = 5.999052
 0 - Front Left
 1 - Front Right
Time per period = 6.000084
 0 - Front Left
^C 1 - Front Right
Time per period = 2.499764

PipeWire device graph

wpctl status

https://gist.github.com/AndreasBackx/a916c3956d926f208660074a6f555c32

PulseAudio/PipeWire sink details

pactl list sinks

https://gist.github.com/AndreasBackx/4ef6a1aa13fb355110dec45687f4f15d

ALSA mixer controls

amixer -c 0 scontrols

https://gist.github.com/AndreasBackx/74fd51004222c09b997c45d98c0c1d0d

ALSA mixer values

amixer -c 0 contents

https://gist.github.com/AndreasBackx/99811ece36dcf6ea567f6fd26be10b5c

Audio service status

➜ systemctl --user status pipewire pipewire-pulse wireplumber --no-pager
● pipewire.service - PipeWire Multimedia Service
     Loaded: loaded ([/usr/lib/systemd/user/pipewire.service](file:///usr/lib/systemd/user/pipewire.service); disabled; preset: disabled)
    Drop-In: /usr/lib/systemd/user/pipewire.service.d
             └─00-uresourced.conf
             /usr/lib/systemd/user/service.d
             └─10-timeout-abort.conf
     Active: active (running) since Wed 2026-04-08 14:24:22 BST; 1h 11min ago
 Invocation: 2a2a4546442a4e07bcfea427850378dd
TriggeredBy: ● pipewire.socket
   Main PID: 4638 (pipewire)
      Tasks: 3 (limit: 37907)
     Memory: 36.2M (peak: 42.1M)
        CPU: 2min 23.428s
     CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/pipewire.service
             └─4638 /usr/bin/pipewire

Apr 08 14:26:30 fedora pipewire[4638]: mod.raop-sink: sess.latency.msec 250.000000 should…81859
Apr 08 14:38:56 fedora pipewire[4638]: mod.raop-sink: sess.latency.msec 250.000000 should…81859
Apr 08 14:49:29 fedora pipewire[4638]: mod.raop-sink: sess.latency.msec 250.000000 should…81859
Apr 08 14:54:13 fedora pipewire[4638]: mod.raop-sink: sess.latency.msec 250.000000 should…81859
Apr 08 15:07:10 fedora pipewire[4638]: mod.raop-sink: sess.latency.msec 250.000000 should…81859
Apr 08 15:09:01 fedora pipewire[4638]: mod.raop-sink: sess.latency.msec 250.000000 should…81859
Apr 08 15:16:01 fedora pipewire[4638]: mod.raop-sink: sess.latency.msec 250.000000 should…81859
Apr 08 15:22:35 fedora pipewire[4638]: mod.raop-sink: sess.latency.msec 250.000000 should…81859
Apr 08 15:31:11 fedora pipewire[4638]: mod.raop-sink: expected 179025536 != timestamp 235
Apr 08 15:32:43 fedora pipewire[4638]: mod.raop-sink: sess.latency.msec 250.000000 should…81859

● pipewire-pulse.service - PipeWire PulseAudio
     Loaded: loaded ([/usr/lib/systemd/user/pipewire-pulse.service](file:///usr/lib/systemd/user/pipewire-pulse.service); disabled; preset: disabled)
    Drop-In: /usr/lib/systemd/user/service.d
             └─10-timeout-abort.conf
     Active: active (running) since Wed 2026-04-08 14:24:27 BST; 1h 11min ago
 Invocation: 26eba72db6ba466bb45f50d2000218e6
TriggeredBy: ● pipewire-pulse.socket
   Main PID: 6066 (pipewire-pulse)
      Tasks: 3 (limit: 37907)
     Memory: 78.7M (peak: 80M)
        CPU: 3min 28.991s
     CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/pipewire-pulse.service
             └─6066 /usr/bin/pipewire-pulse

Apr 08 15:07:45 fedora pipewire-pulse[6066]: mod.protocol-pulse: [PulseAudio Volume Contr…nel:5
Apr 08 15:09:36 fedora pipewire-pulse[6066]: mod.protocol-pulse: [PulseAudio Volume Contr…nel:5
Apr 08 15:12:08 fedora pipewire-pulse[6066]: mod.protocol-pulse: [PulseAudio Volume Contr…nel:8
Apr 08 15:16:36 fedora pipewire-pulse[6066]: mod.protocol-pulse: [PulseAudio Volume Contr…nel:8
Apr 08 15:18:53 fedora pipewire-pulse[6066]: mod.protocol-pulse: [PulseAudio Volume Contr…nel:5
Apr 08 15:23:10 fedora pipewire-pulse[6066]: mod.protocol-pulse: [PulseAudio Volume Contr…nel:5
Apr 08 15:31:46 fedora pipewire-pulse[6066]: mod.protocol-pulse: [PulseAudio Volume Contr…nel:7
Apr 08 15:33:12 fedora pipewire-pulse[6066]: mod.protocol-pulse: [PulseAudio Volume Contr…nel:4
Apr 08 15:33:18 fedora pipewire-pulse[6066]: mod.protocol-pulse: [PulseAudio Volume Contr…nel:0
Apr 08 15:33:44 fedora pipewire-pulse[6066]: mod.protocol-pulse: [PulseAudio Volume Contr…nel:9

● wireplumber.service - Multimedia Service Session Manager
     Loaded: loaded ([/usr/lib/systemd/user/wireplumber.service](file:///usr/lib/systemd/user/wireplumber.service); enabled; preset: enabled)
    Drop-In: /usr/lib/systemd/user/service.d
             └─10-timeout-abort.conf
     Active: active (running) since Wed 2026-04-08 14:24:22 BST; 1h 11min ago
 Invocation: 8a6b95a22bfe4959af99cf465977d29d
   Main PID: 4639 (wireplumber)
      Tasks: 9 (limit: 37907)
     Memory: 12.7M (peak: 15.1M)
        CPU: 6.527s
     CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/wireplumber.service
             └─4639 /usr/bin/wireplumber

Apr 08 14:24:22 fedora systemd[4169]: Started wireplumber.service - Multimedia Service S…nager.
Apr 08 14:24:23 fedora wireplumber[4639]: [0:00:51.993519112] [4639]  INFO Camera camera_…0.5.2
Apr 08 14:24:23 fedora wireplumber[4639]: [0:00:52.002461401] [4773]  INFO SimplePipeline…edia0
Hint: Some lines were ellipsized, use -l to show in full.

Package versions

➜ rpm -q kernel kernel-core pipewire wireplumber alsa-sof-firmware alsa-ucm alsa-lib alsa-utils linux-firmware
kernel-6.19.10-200.fc43.x86_64
kernel-6.19.11-200.fc43.x86_64
kernel-7.0.0-0.rc7.260407.bfe62a45.254.vanilla.fc43.x86_64
kernel-core-6.19.10-200.fc43.x86_64
kernel-core-6.19.11-200.fc43.x86_64
kernel-core-7.0.0-0.rc7.260407.bfe62a45.254.vanilla.fc43.x86_64
pipewire-1.4.11-1.fc43.x86_64
wireplumber-0.5.14-1.fc43.x86_64
alsa-sof-firmware-2025.12.2-1.fc43.noarch
alsa-ucm-1.2.15.3-1.fc43.noarch
alsa-lib-1.2.15.3-1.fc43.x86_64
alsa-utils-1.2.15.2-1.fc43.x86_64
linux-firmware-20260309-1.fc43.noarch

Firmware update status

➜ fwupdmgr get-updates
Devices with no available firmware updates:
 • Corsair MP700 PRO XT
 • Internal SPI Controller (BIOS)
 • System Firmware
 • TPM
 • Bios DB Key
 • Bios FW Aux Authority
 • KEK CA
 • Key Exchange Key
 • Option ROM UEFI CA
 • Windows UEFI CA
Devices with the latest available firmware version:
 • UEFI CA
 • UEFI dbx
No updates available

Let me know if there is anything more I can provide or if there's something I can do.

Activity

  1. rfvirgil commented on Apr 8, 2026

    @rfvirgil

    It seems like kernel falls back to the default SoundWire machine driver with function topologies instead of finding a board-specific machine driver.

    Function topologies are not a fallback. It should be using function topologies on Pantherlake. And it should be using the SoundWire machine driver because they are SoundWire parts.

    It looks like the machine driver might have got the wrong number of amps somehow and only routed audio to the tweeters.
    There are clearly 4x CS35L57 amps, and this normally means 2x tweeters and 2x woofers.
    But the machine driver has loaded:

    [ 27.196693] sof-audio-pci-intel-ptl 0000:00:1f.3: loading topology 2: intel/sof-ipc4-tplg/sof-sdca-2amp-id2.tplg

    @bardliao Any idea why it's loading the 2amp tplg instead of the 4amp ?

  2. AndreasBackx commented on Apr 8, 2026

    @AndreasBackx
    Author

    Thank you for having a look, I don't have any understanding how most of this works. Just hoping to further the sof effort, and of course resolve the issues with my own hardware.

    In the meantime, when I closed my laptop, and I guess it might've went to sleep I got the following spamming errors in my system logs from sof along with no audio output anymore: https://gist.github.com/AndreasBackx/a7c662c781fa1b9b4b2d98de2047ccd3

  3. bardliao commented on Apr 9, 2026

    @bardliao
    Collaborator

    It seems like kernel falls back to the default SoundWire machine driver with function topologies instead of finding a board-specific machine driver.

    Function topologies are not a fallback. It should be using function topologies on Pantherlake. And it should be using the SoundWire machine driver because they are SoundWire parts.

    It looks like the machine driver might have got the wrong number of amps somehow and only routed audio to the tweeters. There are clearly 4x CS35L57 amps, and this normally means 2x tweeters and 2x woofers. But the machine driver has loaded:

    [ 27.196693] sof-audio-pci-intel-ptl 0000:00:1f.3: loading topology 2: intel/sof-ipc4-tplg/sof-sdca-2amp-id2.tplg

    @bardliao Any idea why it's loading the 2amp tplg instead of the 4amp ?

    @rfvirgil The 2amp topology means the amps are on 2 SDW links. And it is expected in this case.

    [   26.381667] sof-audio-pci-intel-ptl 0000:00:1f.3: link 0 mfg_id 0x01fa part_id 0x4245 version 0x3
    [   26.381668] sof-audio-pci-intel-ptl 0000:00:1f.3: link 2 mfg_id 0x01fa part_id 0x3557 version 0x3
    [   26.381669] sof-audio-pci-intel-ptl 0000:00:1f.3: link 2 mfg_id 0x01fa part_id 0x3557 version 0x3
    [   26.381669] sof-audio-pci-intel-ptl 0000:00:1f.3: link 3 mfg_id 0x01fa part_id 0x3557 version 0x3
    [   26.381670] sof-audio-pci-intel-ptl 0000:00:1f.3: link 3 mfg_id 0x01fa part_id 0x3557 version 0x3
    
  4. bardliao commented on Apr 9, 2026

    @bardliao
    Collaborator

    Thank you for having a look, I don't have any understanding how most of this works. Just hoping to further the sof effort, and of course resolve the issues with my own hardware.

    In the meantime, when I closed my laptop, and I guess it might've went to sleep I got the following spamming errors in my system logs from sof along with no audio output anymore: https://gist.github.com/AndreasBackx/a7c662c781fa1b9b4b2d98de2047ccd3

    @AndreasBackx Is it possible to get the log before the spamming errors? It would be useful if we can get the first error.

  5. ujfalusi commented on Apr 9, 2026

    @ujfalusi
    Collaborator

    @AndreasBackx, can you open a new issue for the DSP boot error, it is really concerning and so far we have not seen similar issue.
    From the logs it appears that enabling the DSP fails on your system and pipewire enters an endless loop of trying to use audio - which fails constantly.
    For this please copy sof-dyndbg.conf.txt as /etc/modprobe.d/sof-dyndbg.conf reboot and attach the full kernel boot log and it would help to capture the log corresponding to the event itself (open terminal, make it unlimited history, run dmesg -w, close the lid, open the lid and if the error appears, save the captured kernel log).

    As for the speaker tuning: You can try to enable/disable the DRC in SOF

    amixer sset 'Post Mixer Speaker Playback DRC switch' on
    amixer sset 'Post Mixer Speaker Playback DRC switch' off
    

    and see if that makes any difference, it is now enabled by default:
    alsa-project/alsa-ucm-conf#419
    alsa-project/alsa-ucm-conf#481
    and it is aimed to enhance the speaker performance, OEMs can add their tuning to alsa-ucm-conf, we can only provide generic, good enough parameters.
    The Cirrus codec on the other hand looks like to be loading a device tuned .bin fro cs35l57, I would guess it should be tuned to a good performance. You have recent alsa-ucm-conf, I would guess that all needed kcontrol is in the right position as well.

  6. ujfalusi commented on Apr 9, 2026

    @ujfalusi
    Collaborator

    @AndreasBackx , I see that pipewire is 1.4.11, I wonder if you also hit by the xrun issue that can happen with pre 1.6.0 pipewire (which have SOF specific headroom configuration).
    Can you try the workaround in #5284 (comment) and see if it can fix the DSP power issue?

  7. AndreasBackx commented on Apr 9, 2026

    @AndreasBackx
    Author

    Is it possible to get the log before the spamming errors? It would be useful if we can get the first error.

    I've created thesofproject/sof#10700 with the logs, but please let me know if there's more I can provide.

    @ujfalusi thank you very much for the elaborate steps. I'm currently with family but should be able to get the information to you by tomorrow and try the workaround.

  8. AndreasBackx commented on Apr 10, 2026

    @AndreasBackx
    Author

    As for the speaker tuning: You can try to enable/disable the DRC in SOF

    Gave this a try but I don't seem to have the control mentioned:

    ➜ amixer sset 'Post Mixer Speaker Playback DRC switch' on
    amixer: Unable to find simple control 'Post Mixer Speaker Playback DRC switch',0
    ➜ amixer controls
    numid=4,iface=MIXER,name='Master Playback Switch'
    numid=3,iface=MIXER,name='Master Playback Volume'
    numid=2,iface=MIXER,name='Capture Switch'
    numid=1,iface=MIXER,name='Capture Volume'
    

    I've replied to the DSP error questions on the other issue and managed to reproduce the error again: thesofproject/sof#10700 (comment)

    Let me know if I missed anything and thanks again!

  9. jso8910 commented on Apr 15, 2026

    @jso8910

    I have the XPS 16, and I did an experiment with alsamixer.

    Amp 4 is mapped to the back left speaker, which is VERY quiet (not sure if this is normal). I assume this is the tweeter
    Amp 3 is mapped to the front left speaker, which seems to be a woofer.
    Amp 2 is mapped to the back right speaker, again a tweeter.
    Amp 1 is mapped to the front right speaker, a woofer.

    Complete uninformed conjecture, but I think that the issue with the sound may be because all 4 channels are playing the same audio, or there is otherwise some optimization/mixing that is missing, leading to bass being less loud.

  10. sinclair-m commented on Apr 16, 2026

    @sinclair-m

    EDIT this was user error: Issue was resolved via Issue #5720 #5720

    Thank you @ujfalusi @bardliao and @charleskeepax I rebuild with kernel linux-mainline 7.1rc1-1 which has the SND_SOC_SDCA_CLASS kernel config enabled, and sof now gives full functionality to the sound/speaker system on the DA16260 laptop. Very much appreciate all the support and work for SOF.

    Thank you

    Outdate Bug Report Below:

    I would like to add to this Bug report, as built as best as I can with ai guidance. Raw outputs are available at: https://pastebin.com/nEgnm2Yj%

    [PTL][Dell DA16260][1028:0dba] No SoundWire machine driver found → sof_sdw card registration fails (CS42L43 + CS35L57 x4)

    Summary

    On a Dell XPS 16 (model DA16260), subsystem 1028:0dba, running a kernel (7.0.0-rc4-1-MANJARO), audio fails to initialize.

    • SOF DSP firmware loads successfully
    • SoundWire devices are enumerated
    • Cirrus Logic CS35L57 amplifiers are detected
    • BUT no ALSA card is registered

    The failure occurs at SoundWire machine driver selection / ASoC card registration.


    Key Error

    sof-audio-pci-intel-ptl 0000:00:1f.3: No SoundWire machine driver found for the ACPI-reported configuration:
    link 0 mfg_id 0x01fa part_id 0x4245 version 0x3
    link 2 mfg_id 0x01fa part_id 0x3557 version 0x3
    link 3 mfg_id 0x01fa part_id 0x3557 version 0x3

    Use SoundWire default machine driver with function topologies platform sof_sdw: deferred probe pending: sof_sdw: snd_soc_register_card failed -517


    Observed Behavior

    • aplay -l → only HDMI or USB devices
    • pactl list short sinks → auto_null
    • /proc/asound/cards → empty

    Hardware

    • Model: Dell XPS 16 (DA16260)
    • PCI audio: 8086:e428
    • Subsystem: 1028:0dba
    • Platform: Panther Lake (PTL)

    SoundWire devices detected:

    • 01fa:4245 (likely CS42L43 codec)
    • 01fa:3557 ×4 (CS35L57 amplifiers)

    Kernel

    7.0.0-rc4-1-MANJARO

    SOF Status

    DSP detected
    Firmware file: intel/sof-ipc4/ptl/sof-ptl.ri
    Loaded firmware library: ADSPFW, version: 2.14.1.1
    Booted firmware version: 2.14.1.1

    Cirrus Devices

    cs35l56 sdw:...: Cirrus Logic CS35L57 Rev B2 OTP1 fw:4.2.1 (patched=0)
    Slave X state check1: UNATTACHED

    All amps remain UNATTACHED.


    SoundWire Failure

    soundwire_intel ... prepare clock stop failed -110
    platform sof_sdw: snd_soc_register_card failed -517


    Firmware Availability

    The system has Dell-specific firmware installed:
    /lib/firmware/cirrus/

    • cs35l57-10280dba.bin

    SOF PTL firmware and topology files are also present.


    SoundWire Topology Observed

    From kernel logs:

    • Link 0: 01fa:4245 (likely CS42L43 codec)
    • Link 2: 01fa:3557 (2 devices)
    • Link 3: 01fa:3557 (2 devices)

    Total: 1 codec + 4 amplifiers across multiple SoundWire links

    This appears to be a multi-amp speaker configuration not handled by current generic topology matching.


    Interpretation

    • SOF DSP: working
    • SoundWire enumeration: working
    • CS35L57 driver: binding successfully
    • Firmware files: present

    Failure appears to be:

    Missing or incomplete SoundWire machine driver / topology mapping for this Dell platform (SSID 10280dba)

    @ujfalsui @bardliao, @ charleskeepax, thank you, it was the SND_SOC_SDCA_CLASS in the kernel config, I rebuilt to kernel7.1rc and as per Issue #5720 #5720 I was misunderstanding the root cause of the issue. Thank you for all the work to have this functionality.

    #5720


    Additional Notes

    • Kernel attempts fallback:
      Use SoundWire default machine driver with function topologies, but card registration still fails.

    Reproduction

    Occurs consistently on boot.

    PasteBin of system outputs uploaded and attached

    sof_sdw_bugreport_20260415_190609.txt


    Thank you

  11. ujfalusi commented on Apr 22, 2026

    @ujfalusi
    Collaborator

    @sinclair-m , the issue you are facing is different, @bardliao , do we have similar one already (thesofproject/sof#10711 ?)? If not I think this warrants a new issue?
    Also: try a firmware update to see if it helps.

  12. bardliao commented on Apr 22, 2026

    @bardliao
    Collaborator

    @ujfalusi @sinclair-m It looks similar to thesofproject/sof#10711 (comment). But I have no idea why -517 without debug logs. Please rename sof-dyndbg.conf.txt to sof-dyndbg.conf and put it in the /etc/modprobe.d/ and share the dmesg after rebooting.
    And yes, it warrants a new issue. @rom-ruszok FYI

  13. charleskeepax commented on Apr 24, 2026

    @charleskeepax

    @sinclair-m Do you have SND_SOC_SDCA_CLASS in your kernel config? It sounds a bit like you just don't have the SDCA class driver so the device doesn't bind against any drivers. EDIT: But yes this is a separate issue so it would probably be best to create a new issue for it if you have more questions.

  14. charleskeepax commented on Apr 24, 2026

    @charleskeepax

    @jso8910 Could you clarify a little when you say:

    Amp 4 is mapped to the back left speaker, which is VERY quiet (not sure if this is normal). I assume this is the tweeter.
    Amp 2 is mapped to the back right speaker, again a tweeter.

    Are you saying both amps 2,4 are very quiet, or are you saying that Amp 4 is especially quiet even compared to amp 2?

    It is likely normal for the tweeters to be fairly quiet with general playback, testing with a couple of sine tones would probably make sense. Say something like 1kHz and something like 8kHz, you should hear the lower tone come through clearly on the woofers and be really quiet on the tweeters, then the inverse for the higher tone.

    @jso8910 @AndreasBackx
    Would anyone be able to provide a short video/audio recording of the playback? I am not sure it will give the fidelity to hear the issue fully but might give us some start on how bad this issue is which might help us to discern which direction to investigate.

  15. AndreasBackx commented on Apr 24, 2026

    @AndreasBackx
    Author

    Would anyone be able to provide a short video/audio recording of the playback? I am not sure it will give the fidelity to hear the issue fully but might give us some start on how bad this issue is which might help us to discern which direction to investigate.

    I can look into playing back specific sine waves, but I thought this video showcased my issue (or one of them the best):

    https://www.youtube.com/watch?v=jxtJcrRJEIU

    0-100Hz is basically not producing any sound while it is on other laptops like a Macbook Pro. My guess is that this is the tinniness I am hearing, but is hard to really use examples for otherwise. I've also got these 2 recordings of other music videos:

    https://www.youtube.com/watch?v=RD-QAyXsjkE

    ^ The beginning of this song highlights the tinniness a bit as well.

    https://www.youtube.com/watch?v=wX7cjNdxqI0

    If you'd like me to give some more specific samples like the 1 or 8KHz sine waves, let me know.

  16. 16 remaining items

  17. singalsu commented on Jul 10, 2026

    @singalsu
    Collaborator

    @AndreasBackx I created some helpers to set up equalizers in SOF

    • For measuring the speaker there is a helper script to find out and set up things for measurement audio: eq_iir: tune: add sof_mls_freq_resp_local.sh sof#10981 . An USB measurement microphone is recommended, e.g. miniDSP UMIK-1. There are several brands of those from few tens of euros to hundreds e.g. in Amazon. A microphone with serial # based calibration should be good. The own microphones of laptop can be used for first try but those usually boost the high frequencies too much due to coupling from local speakers in the form factor.
    • For designing the equalizer blobs for UCMv2: audio: eq_iir: tune: add sof_ucm2_eq_generate sof#10980 . The created IIR and FIR blobs and the DMI ID a names based .conf are copied to the /usr/share/alsa/ucm2/blobs/sof directories.
  18. gregnetau commented on Jul 18, 2026

    @gregnetau

    I'm not sure if this is the same issue, but I just got a Wildcat Lake Dell XPS 13 and found this issue and had Claude dig in with Opus 4.8 and it only took around 10 mins to find the root cause:

    File: sound/soc/intel/boards/sof_sdw.c, inside sof_sdw_quirk_table[]:

          {
                  /* Dell XPS 13 DX13260 (Wildcat Lake), CS42L43 + 2x CS35L63 sidecar amps */
                  .callback = sof_sdw_quirk_cb,
                  .matches = {
                          DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc"),
                          DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0E53")
                  },
                  .driver_data = (void *)(SOC_SDW_SIDECAR_AMPS),
          },
    

    YMMV - but i believe it's the same hardware - see full post here: thesofproject/sof#11007

  19. charleskeepax commented on Jul 20, 2026

    @charleskeepax

    Yeah afraid the hardware configurations are different between the two models, this one is not a sidecar amp SKU so that change would be inappropriate here.

  20. AndreasBackx commented on Aug 21, 2026

    @AndreasBackx
    Author

    @singalsu thank you sharing the tuning information. That microphone seems to go for 100-120 pounds here, which is a bit more than I was hoping to spend as I'm not using this device regularly, especially for music. I'll mull over the purchase...

    In the meantime, say we have the measurement, what would be the next steps and how much effort is required to improve the situation? The page shared is quite detailed and talks about a few things I have little knowledge of. 😅️ How feasible is it for someone like me or what is the usual process that happens for new devices as I'm assuming most people have little expertise with this?

  21. charleskeepax commented on Sep 28, 2026

    @charleskeepax

    It looks like we might have identified a problem in the ACPI which sometimes causes the wrong speaker ID GPIO to be selected on this model. Is anyone still active on this ticket who might be able to run a couple small tests for me? Ideally someone who feels the audio quality is not good on their system.

    Check GPP_E_20 is on pin 46:
    cat /sys/kernel/debug/pinctrl/INTC10BC:01/pins

    Check chip1 is INTC10BC:01:
    cat /sys/class/gpio/chip1/label

    Export GPIO:
    echo 46 > /sys/class/gpio/chip1/export

    Check value:
    cat /sys/class/gpio/chip1/gpio46/value

    Then report the value returned (note the kernel will need CONFIG_GPIO_SYSFS, although you can do similar things through the new gpio chardev, let me know if I need to figure out instructions for that). And also have a look through the kernel log for lines like the following:

    [ 14.649013] cs35l56 sdw:0:3:01fa:3557:01:0: DSP1: cirrus/cs35l57-b2-dsp1-misc-10280dba-spkid0-l3u0.bin (v1): v4.5.9

  22. gregnetau commented on Sep 28, 2026

    @gregnetau

    I am on Wildcat Lake XPS 14 - here is my output from the nearest neighbor i could find on those debugs:

    [root@cachyos-x8664 ~]# cat /sys/kernel/debug/pinctrl/INTC10EC\:01/pins 
    registered pins: 51
    pin 0 (GPP_F_0) 0:INTC10EC:01 mode 1 0x44000700 0x0003c042 0x00000000 [LOCKED full, ACPI]
    pin 1 (GPP_F_1) 1:INTC10EC:01 mode 1 0x44000700 0x0003f043 0x00000000 [LOCKED full, ACPI]
    pin 2 (GPP_F_2) 2:INTC10EC:01 mode 1 0x44000700 0x0003c044 0x00000000 [LOCKED full, ACPI]
    pin 3 (GPP_F_3) 3:INTC10EC:01 mode 1 0x44000700 0x0003f045 0x00000000 [LOCKED full, ACPI]
    pin 4 (GPP_F_4) 4:INTC10EC:01 mode 1 0x44000700 0x0003c046 0x00000000 [LOCKED full, ACPI]
    pin 5 (GPP_F_5) 5:INTC10EC:01 mode 3 0x44000f00 0x0003c047 0x00000000 [LOCKED full, ACPI]
    pin 6 (GPP_F_6) 6:INTC10EC:01 GPIO 0x44000300 0x00000048 0x00000000 [LOCKED full, ACPI]
    pin 7 (GPP_F_7) 7:INTC10EC:01 GPIO 0x44000300 0x0003d049 0x00000000 [LOCKED full, ACPI]
    pin 8 (GPP_F_8) 8:INTC10EC:01 GPIO 0x44000201 0x0003d04a 0x00000000 [LOCKED]
    pin 9 (GPP_F_9) 9:INTC10EC:01 GPIO 0x44000300 0x0000004b 0x00000000 [LOCKED full, ACPI]
    pin 10 (GPP_F_10) 10:INTC10EC:01 GPIO 0x44000300 0x0000004c 0x00000000 [LOCKED full, ACPI]
    pin 11 (GPP_F_11) 11:INTC10EC:01 GPIO 0x44000300 0x0003c04d 0x00000000 [LOCKED full, ACPI]
    pin 12 (GPP_F_12) 12:INTC10EC:01 mode 8 0x44002302 0x0000004e 0x00000000 [LOCKED full, ACPI]
    pin 13 (GPP_F_13) 13:INTC10EC:01 mode 8 0x44002302 0x0000004f 0x00000000 [LOCKED full, ACPI]
    pin 14 (GPP_F_14) 14:INTC10EC:01 GPIO 0x44000300 0x0003c050 0x00000000 [LOCKED full, ACPI]
    pin 15 (GPP_F_15) 15:INTC10EC:01 GPIO 0x44000300 0x0003c051 0x00000000 [LOCKED full, ACPI]
    pin 16 (GPP_F_16) 16:INTC10EC:01 GPIO 0x44000300 0x0003c052 0x00000000 [LOCKED full, ACPI]
    pin 17 (GPP_F_17) 17:INTC10EC:01 GPIO 0x44000300 0x0003c053 0x00000000 [LOCKED full, ACPI]
    pin 18 (GPP_F_18) 18:INTC10EC:01 GPIO 0x40800102 0x0003c054 0x00000000 [LOCKED full]
    pin 19 (GPP_F_19) 19:INTC10EC:01 GPIO 0x44000300 0x00000055 0x00000000 [LOCKED full, ACPI]
    pin 20 (GPP_F_20) 20:INTC10EC:01 GPIO 0x44000300 0x00000056 0x00000000 [LOCKED full, ACPI]
    pin 21 (GPP_F_21) 21:INTC10EC:01 GPIO 0x44000202 0x00000057 0x00000000 [LOCKED full, ACPI]
    pin 22 (GPP_F_22) 22:INTC10EC:01 GPIO 0x84000201 0x0003c058 0x00000000 [LOCKED, ACPI]
    pin 23 (GPP_F_23) 23:INTC10EC:01 GPIO 0x44000300 0x00000059 0x00000000 [LOCKED full, ACPI]
    pin 24 (GPP_F_24) 24:INTC10EC:01 GPIO 0x40000300 0x00003c00 0x00000000 [LOCKED full, ACPI]
    pin 25 (GPP_F_25) 25:INTC10EC:01 mode 8 0x40002300 0x00000000 0x00000000 [LOCKED full, ACPI]
    pin 26 (GPP_E_0) 26:INTC10EC:01 GPIO 0x44000302 0x0000005a 0x00000000 [LOCKED full, ACPI]
    pin 27 (GPP_E_1) 27:INTC10EC:01 GPIO 0x44000300 0x0003c05b 0x00000000 [LOCKED full, ACPI]
    pin 28 (GPP_E_2) 28:INTC10EC:01 GPIO 0x44000300 0x0000005c 0x00000000 [LOCKED full, ACPI]
    pin 29 (GPP_E_3) 29:INTC10EC:01 GPIO 0x44000300 0x0000005d 0x00000000 [LOCKED full, ACPI]
    pin 30 (GPP_E_4) 30:INTC10EC:01 GPIO 0x44000302 0x0000005e 0x00000000 [LOCKED full, ACPI]
    pin 31 (GPP_E_5) 31:INTC10EC:01 mode 4 0x04001200 0x0003c05f 0x00000000 [LOCKED]
    pin 32 (GPP_E_6) 32:INTC10EC:01 GPIO 0x44000300 0x00000060 0x00000800 [LOCKED full, ACPI]
    pin 33 (GPP_E_7) 33:INTC10EC:01 GPIO 0x44000300 0x00000061 0x00000000 [LOCKED full, ACPI]
    pin 34 (GPP_E_8) 34:INTC10EC:01 GPIO 0x44000300 0x00000062 0x00000000 [LOCKED full, ACPI]
    pin 35 (GPP_E_9) 35:INTC10EC:01 GPIO 0x44000300 0x00000063 0x00000000 [LOCKED full, ACPI]
    pin 36 (GPP_E_10) 36:INTC10EC:01 GPIO 0x44000300 0x00000064 0x00000000 [LOCKED full, ACPI]
    pin 37 (GPP_E_11) 37:INTC10EC:01 GPIO 0x44000201 0x0003c065 0x00000000 [LOCKED]
    pin 38 (GPP_E_12) 38:INTC10EC:01 mode 8 0x44002302 0x00000066 0x00000000 [LOCKED full, ACPI]
    pin 39 (GPP_E_13) 39:INTC10EC:01 mode 8 0x44002302 0x00000067 0x00000000 [LOCKED full, ACPI]
    pin 40 (GPP_E_14) 40:INTC10EC:01 GPIO 0x84000201 0x0003c068 0x00000000 [LOCKED, ACPI]
    pin 41 (GPP_E_15) 41:INTC10EC:01 GPIO 0x44000201 0x0003c069 0x00000000 [LOCKED]
    pin 42 (GPP_E_16) 42:INTC10EC:01 GPIO 0x84000201 0x0003c06a 0x00000000 [LOCKED, ACPI]
    pin 43 (GPP_E_17) 43:INTC10EC:01 GPIO 0x44000100 0x0003c06b 0x00000000 [LOCKED full]
    pin 44 (GPP_E_18) 44:INTC10EC:01 GPIO 0x40800102 0x0003c06c 0x00000000 [LOCKED full]
    pin 45 (GPP_E_19) 45:INTC10EC:01 GPIO 0x44000300 0x0003c06d 0x00000000 [LOCKED full, ACPI]
    pin 46 (GPP_E_20) 46:INTC10EC:01 GPIO 0x44000300 0x0003c06e 0x00000000 [LOCKED full, ACPI]
    pin 47 (GPP_E_21) 47:INTC10EC:01 mode 1 0x04000702 0x0003c06f 0x00000000 [LOCKED full, ACPI]
    pin 48 (GPP_E_22) 48:INTC10EC:01 GPIO 0x44000300 0x0003c070 0x00000000 [LOCKED full, ACPI]
    pin 49 (GPP_E_23) 49:INTC10EC:01 not available
    pin 50 (GPP_E_24) 50:INTC10EC:01 GPIO 0x40000300 0x00000000 0x00000000 [LOCKED full, ACPI]
    [root@cachyos-x8664 ~]# 
    

    Unfortunately I dont have any GPIO functions available in my /sys/class on my CachyOS laptop.

  23. SirCAS commented on Sep 28, 2026

    @SirCAS

    I'll be happy to help out too. Running Ubuntu on a Dell XPS 14 DA14260.

    Just for good measure - here is system info:

    root@xps-14:~# lsb_release -a
    No LSB modules are available.
    Distributor ID: Ubuntu
    Description:    Ubuntu 26.04.1 LTS
    Release:        26.04
    Codename:       resolute
    
    root@xps-14:~# uname -a
    Linux xps-14 7.0.0-34-generic #34-Ubuntu SMP PREEMPT_DYNAMIC Wed Sep  2 14:29:37 UTC 2026 x86_64 GNU/Linux
    

    Check GPP_E_20 is on pin 46:

    root@xps-14:~# cat /sys/kernel/debug/pinctrl/INTC10BC:01/pins
    registered pins: 51
    pin 0 (GPP_F_0) 0:INTC10BC:01 mode 1 0x44000700 0x0003c042 0x00000000 [ACPI]
    pin 1 (GPP_F_1) 1:INTC10BC:01 mode 1 0x44000700 0x0003f043 0x00000000 [ACPI]
    pin 2 (GPP_F_2) 2:INTC10BC:01 mode 1 0x44000700 0x0003c044 0x00000000 [ACPI]
    pin 3 (GPP_F_3) 3:INTC10BC:01 mode 1 0x44000700 0x0003f045 0x00000000 [ACPI]
    pin 4 (GPP_F_4) 4:INTC10BC:01 mode 1 0x44000700 0x0003c046 0x00000000 [ACPI]
    pin 5 (GPP_F_5) 5:INTC10BC:01 mode 3 0x44000f00 0x0003c047 0x00000000 [ACPI]
    pin 6 (GPP_F_6) 6:INTC10BC:01 GPIO 0x44000300 0x00000048 0x00000000
    pin 7 (GPP_F_7) 7:INTC10BC:01 GPIO 0x44000300 0x0003c049 0x00000000
    pin 8 (GPP_F_8) 8:INTC10BC:01 GPIO 0x44000300 0x0003c04a 0x00000000
    pin 9 (GPP_F_9) 9:INTC10BC:01 mode 4 0x44001302 0x0003c04b 0x00000000 [ACPI]
    pin 10 (GPP_F_10) 10:INTC10BC:01 GPIO 0x44000300 0x0000004c 0x00000000
    pin 11 (GPP_F_11) 11:INTC10BC:01 GPIO 0x44000300 0x0003c04d 0x00000000
    pin 12 (GPP_F_12) 12:INTC10BC:01 mode 8 0x44002302 0x0000004e 0x00000000 [ACPI]
    pin 13 (GPP_F_13) 13:INTC10BC:01 mode 8 0x44002302 0x0000004f 0x00000000 [ACPI]
    pin 14 (GPP_F_14) 14:INTC10BC:01 GPIO 0x44000300 0x0003c050 0x00000000
    pin 15 (GPP_F_15) 15:INTC10BC:01 GPIO 0x44000300 0x0003c051 0x00000000
    pin 16 (GPP_F_16) 16:INTC10BC:01 GPIO 0x84000200 0x0003c052 0x00000000
    pin 17 (GPP_F_17) 17:INTC10BC:01 GPIO 0x44000300 0x0003c053 0x00000000
    pin 18 (GPP_F_18) 18:INTC10BC:01 GPIO 0x80100102 0x0003c054 0x00000000
    pin 19 (GPP_F_19) 19:INTC10BC:01 GPIO 0x44000300 0x00000055 0x00000000
    pin 20 (GPP_F_20) 20:INTC10BC:01 GPIO 0x82800100 0x00000056 0x00000000
    pin 21 (GPP_F_21) 21:INTC10BC:01 GPIO 0x44000200 0x00000057 0x00000000 [ACPI]
    pin 22 (GPP_F_22) 22:INTC10BC:01 GPIO 0x84000100 0x0003c058 0x00000000
    pin 23 (GPP_F_23) 23:INTC10BC:01 GPIO 0x84000100 0x00000059 0x00000000
    pin 24 (GPP_F_24) 24:INTC10BC:01 GPIO 0x40000300 0x00003c00 0x00000000 [ACPI]
    pin 25 (GPP_F_25) 25:INTC10BC:01 mode 8 0x40002300 0x00000000 0x00000000 [ACPI]
    pin 26 (GPP_E_0) 26:INTC10BC:01 GPIO 0x44000300 0x0000005a 0x00000000 [ACPI]
    pin 27 (GPP_E_1) 27:INTC10BC:01 GPIO 0x84000102 0x0003c05b 0x00000000
    pin 28 (GPP_E_2) 28:INTC10BC:01 mode 2 0x44000b02 0x0003c05c 0x00000000 [ACPI]
    pin 29 (GPP_E_3) 29:INTC10BC:01 GPIO 0x84000201 0x0000005d 0x00000000
    pin 30 (GPP_E_4) 30:INTC10BC:01 GPIO 0x44000300 0x0000005e 0x00000000 [ACPI]
    pin 31 (GPP_E_5) 31:INTC10BC:01 mode 4 0x44001300 0x0003c05f 0x00000000 [ACPI]
    pin 32 (GPP_E_6) 32:INTC10BC:01 GPIO 0x44000300 0x00000060 0x00000800
    pin 33 (GPP_E_7) 33:INTC10BC:01 GPIO 0x44000300 0x00000061 0x00000000
    pin 34 (GPP_E_8) 34:INTC10BC:01 GPIO 0x44000300 0x00000062 0x00000000
    pin 35 (GPP_E_9) 35:INTC10BC:01 mode 1 0x44000702 0x00000063 0x00000800 [ACPI]
    pin 36 (GPP_E_10) 36:INTC10BC:01 GPIO 0x84000201 0x00000064 0x00000000
    pin 37 (GPP_E_11) 37:INTC10BC:01 GPIO 0x84000100 0x0003c065 0x00000000
    pin 38 (GPP_E_12) 38:INTC10BC:01 mode 8 0x44002302 0x00000066 0x00000000 [ACPI]
    pin 39 (GPP_E_13) 39:INTC10BC:01 mode 8 0x44002302 0x00000067 0x00000000 [ACPI]
    pin 40 (GPP_E_14) 40:INTC10BC:01 GPIO 0x44000300 0x0003c068 0x00000000
    pin 41 (GPP_E_15) 41:INTC10BC:01 GPIO 0x44000300 0x0003c069 0x00000000
    pin 42 (GPP_E_16) 42:INTC10BC:01 GPIO 0x44000300 0x0003c06a 0x00000000
    pin 43 (GPP_E_17) 43:INTC10BC:01 GPIO 0x84000201 0x0003c06b 0x00000000
    pin 44 (GPP_E_18) 44:INTC10BC:01 GPIO 0x80100102 0x0003c06c 0x00000000
    pin 45 (GPP_E_19) 45:INTC10BC:01 GPIO 0x84000100 0x0003c06d 0x00000000
    pin 46 (GPP_E_20) 46:INTC10BC:01 GPIO 0x84000102 0x0003c06e 0x00000000
    pin 47 (GPP_E_21) 47:INTC10BC:01 mode 1 0x04000702 0x0003c06f 0x00000000 [ACPI]
    pin 48 (GPP_E_22) 48:INTC10BC:01 GPIO 0x44000300 0x0003c070 0x00000000
    pin 49 (GPP_E_23) 49:INTC10BC:01 mode 1 0x40000702 0x0003f000 0x00000000 [ACPI]
    pin 50 (GPP_E_24) 50:INTC10BC:01 GPIO 0x40000300 0x00000000 0x00000000 [ACPI]
    

    Check chip1 is INTC10BC:01:

    root@xps-14:~# cat /sys/class/gpio/chip1/label
    INTC10BC:00
    

    Export GPIO 46 and read value:

    root@xps-14:~# echo 46 > /sys/class/gpio/chip1/export
    root@xps-14:~# cat /sys/class/gpio/chip1/gpio46/value
    0
    

    As for kernel logs:

    root@xps-14:~# dmesg | grep cs35l56
    [   20.688364] cs35l56 sdw:0:2:01fa:3557:01:2: supply VDD_P not found, using dummy regulator
    [   20.688396] cs35l56 sdw:0:2:01fa:3557:01:2: supply VDD_IO not found, using dummy regulator
    [   20.688406] cs35l56 sdw:0:2:01fa:3557:01:2: supply VDD_A not found, using dummy regulator
    [   20.695494] cs35l56 sdw:0:2:01fa:3557:01:2: Cirrus Logic CS35L57 Rev B2 OTP1 fw:4.2.1 (patched=0)
    [   20.698934] cs35l56 sdw:0:2:01fa:3557:01:3: supply VDD_P not found, using dummy regulator
    [   20.698983] cs35l56 sdw:0:2:01fa:3557:01:3: supply VDD_IO not found, using dummy regulator
    [   20.698989] cs35l56 sdw:0:2:01fa:3557:01:3: supply VDD_A not found, using dummy regulator
    [   20.706499] cs35l56 sdw:0:2:01fa:3557:01:3: Cirrus Logic CS35L57 Rev B2 OTP1 fw:4.2.1 (patched=0)
    [   20.709935] cs35l56 sdw:0:3:01fa:3557:01:0: supply VDD_P not found, using dummy regulator
    [   20.709958] cs35l56 sdw:0:3:01fa:3557:01:0: supply VDD_IO not found, using dummy regulator
    [   20.709962] cs35l56 sdw:0:3:01fa:3557:01:0: supply VDD_A not found, using dummy regulator
    [   20.717514] cs35l56 sdw:0:3:01fa:3557:01:0: Cirrus Logic CS35L57 Rev B2 OTP1 fw:4.2.1 (patched=0)
    [   20.721008] cs35l56 sdw:0:3:01fa:3557:01:1: supply VDD_P not found, using dummy regulator
    [   20.721040] cs35l56 sdw:0:3:01fa:3557:01:1: supply VDD_IO not found, using dummy regulator
    [   20.721046] cs35l56 sdw:0:3:01fa:3557:01:1: supply VDD_A not found, using dummy regulator
    [   20.728516] cs35l56 sdw:0:3:01fa:3557:01:1: Cirrus Logic CS35L57 Rev B2 OTP1 fw:4.2.1 (patched=0)
    [   21.316300] cs35l56 sdw:0:2:01fa:3557:01:2: supply VDD_B not found, using dummy regulator
    [   21.316318] cs35l56 sdw:0:2:01fa:3557:01:2: supply VDD_AMP not found, using dummy regulator
    [   21.317787] cs35l56 sdw:0:2:01fa:3557:01:3: supply VDD_B not found, using dummy regulator
    [   21.317801] cs35l56 sdw:0:2:01fa:3557:01:3: supply VDD_AMP not found, using dummy regulator
    [   21.320113] cs35l56 sdw:0:3:01fa:3557:01:0: supply VDD_B not found, using dummy regulator
    [   21.320133] cs35l56 sdw:0:3:01fa:3557:01:0: supply VDD_AMP not found, using dummy regulator
    [   21.320762] cs35l56 sdw:0:2:01fa:3557:01:2: DSP1: cirrus/cs35l57-b2-dsp1-misc-10280db9-spkid1.wmfw: format 3 timestamp 0x68d1a788
    [   21.320766] cs35l56 sdw:0:2:01fa:3557:01:2: DSP1: cirrus/cs35l57-b2-dsp1-misc-10280db9-spkid1.wmfw: Mon 22 Sep 2025 14:46:15 Central Daylight Time
    [   21.321430] cs35l56 sdw:0:2:01fa:3557:01:3: DSP1: cirrus/cs35l57-b2-dsp1-misc-10280db9-spkid0.wmfw: format 3 timestamp 0x68d1a788
    [   21.321434] cs35l56 sdw:0:2:01fa:3557:01:3: DSP1: cirrus/cs35l57-b2-dsp1-misc-10280db9-spkid0.wmfw: Mon 22 Sep 2025 14:46:15 Central Daylight Time
    [   21.321631] cs35l56 sdw:0:3:01fa:3557:01:1: supply VDD_B not found, using dummy regulator
    [   21.321642] cs35l56 sdw:0:3:01fa:3557:01:1: supply VDD_AMP not found, using dummy regulator
    [   21.323109] cs35l56 sdw:0:3:01fa:3557:01:0: DSP1: cirrus/cs35l57-b2-dsp1-misc-10280db9-spkid0.wmfw: format 3 timestamp 0x68d1a788
    [   21.323112] cs35l56 sdw:0:3:01fa:3557:01:0: DSP1: cirrus/cs35l57-b2-dsp1-misc-10280db9-spkid0.wmfw: Mon 22 Sep 2025 14:46:15 Central Daylight Time
    [   21.349743] cs35l56 sdw:0:3:01fa:3557:01:1: DSP1: cirrus/cs35l57-b2-dsp1-misc-10280db9-spkid0.wmfw: format 3 timestamp 0x68d1a788
    [   21.349750] cs35l56 sdw:0:3:01fa:3557:01:1: DSP1: cirrus/cs35l57-b2-dsp1-misc-10280db9-spkid0.wmfw: Mon 22 Sep 2025 14:46:15 Central Daylight Time
    [   21.767893] cs35l56 sdw:0:3:01fa:3557:01:0: DSP1: Firmware: 1a01d6 vendor: 0x2 v4.5.9, 42 algorithms
    [   21.813848] cs35l56 sdw:0:2:01fa:3557:01:2: DSP1: Firmware: 1a01d6 vendor: 0x2 v4.5.9, 42 algorithms
    [   21.814990] cs35l56 sdw:0:2:01fa:3557:01:3: DSP1: Firmware: 1a01d6 vendor: 0x2 v4.5.9, 42 algorithms
    [   21.824404] cs35l56 sdw:0:3:01fa:3557:01:0: DSP1: cirrus/cs35l57-b2-dsp1-misc-10280db9-spkid0-l3u0.bin (v1): v4.5.9
    [   21.824408] cs35l56 sdw:0:3:01fa:3557:01:0: DSP1: Misc: C:\Users\atsai\OneDrive - Cirrus Logic\桌面\Works\Projects\Hurracan 14\_tuning bin\Dell_Hurracan14
    [   21.842060] cs35l56 sdw:0:2:01fa:3557:01:2: DSP1: cirrus/cs35l57-b2-dsp1-misc-10280db9-spkid1-l2u2.bin (v1): v4.5.9
    [   21.842064] cs35l56 sdw:0:2:01fa:3557:01:2: DSP1: Misc: C:\Users\atsai\OneDrive - Cirrus Logic\桌面\Works\Projects\Hurracan 14\_tuning bin\Dell_Hurracan14
    [   21.851818] cs35l56 sdw:0:3:01fa:3557:01:1: DSP1: Firmware: 1a01d6 vendor: 0x2 v4.5.9, 42 algorithms
    [   21.868526] cs35l56 sdw:0:2:01fa:3557:01:3: DSP1: cirrus/cs35l57-b2-dsp1-misc-10280db9-spkid0-l2u3.bin (v1): v4.5.9
    [   21.868530] cs35l56 sdw:0:2:01fa:3557:01:3: DSP1: Misc: C:\Users\atsai\OneDrive - Cirrus Logic\桌面\Works\Projects\Hurracan 14\_tuning bin\Dell_Hurracan14
    [   21.897911] cs35l56 sdw:0:3:01fa:3557:01:1: DSP1: cirrus/cs35l57-b2-dsp1-misc-10280db9-spkid0-l3u1.bin (v1): v4.5.9
    [   21.897916] cs35l56 sdw:0:3:01fa:3557:01:1: DSP1: Misc: C:\Users\atsai\OneDrive - Cirrus Logic\桌面\Works\Projects\Hurracan 14\_tuning bin\Dell_Hurracan14
    [   22.502414] cs35l56 sdw:0:2:01fa:3557:01:2: Calibration applied
    [   22.503849] cs35l56 sdw:0:2:01fa:3557:01:2: Tuning PID: 0x212481, SID: 0x326123, TID: 0x2b1401
    [   22.509099] cs35l56 sdw:0:2:01fa:3557:01:3: Calibration applied
    [   22.510103] cs35l56 sdw:0:2:01fa:3557:01:3: Tuning PID: 0x212481, SID: 0x326033, TID: 0x2b1401
    [   22.512430] cs35l56 sdw:0:3:01fa:3557:01:0: Calibration applied
    [   22.514250] cs35l56 sdw:0:3:01fa:3557:01:0: Tuning PID: 0x212481, SID: 0x326003, TID: 0x2b1401
    [   22.518534] cs35l56 sdw:0:3:01fa:3557:01:1: Calibration applied
    [   22.519525] cs35l56 sdw:0:3:01fa:3557:01:1: Tuning PID: 0x212481, SID: 0x326013, TID: 0x2b1401
    
  24. charleskeepax commented on Sep 28, 2026

    @charleskeepax

    @gregnetau - I believe your laptop is a different model., which as far as we know is working fine.

    @SirCAS
    Check chip1 is INTC10BC:01:

    root@xps-14:~# cat /sys/class/gpio/chip1/label
    INTC10BC:00

    Looks like your chip mapping is different could you find the chip with the label INTC10BC:01, and then repeat the last couple steps.

  25. SirCAS commented on Sep 28, 2026

    @SirCAS

    @charleskeepax - Sorry, I missed that. Anyway, seems to be chip2 for my setup - here you go:

    root@xps-14:~# cat /sys/class/gpio/chip2/label
    INTC10BC:01
    root@xps-14:~# echo 46 > /sys/class/gpio/chip2/export
    root@xps-14:~# cat /sys/class/gpio/chip2/gpio46/value
    1
    
  26. charleskeepax commented on Sep 29, 2026

    @charleskeepax

    Excellent, could you remove the spkid0 files and create symlinks in their place to the spkid1 files. This should force the loaded tune to match the value being returned by the correct gpio. Then reboot and see if the audio quality issue has been resolved/improved? Thank you very much for your help here.

  27. mdlam92 commented on Oct 2, 2026

    @mdlam92

    @charleskeepax Additional evidence for the speaker-ID GPIO mapping problem on an XPS 14 DA14260: on this machine it causes complete audio failure, rather than just incorrect tuning.

    These diagnostics and the local workaround were collected with AI assistance. The observations below are actual command output; the workaround is not proposed as an upstream-ready patch.

    System

    • Dell XPS 14 DA14260
    • BIOS 1.10.1
    • Arch Linux, kernel 7.2.7-arch1-1
    • Intel audio PCI ID 8086:e428, subsystem 1028:0db9
    • sof-firmware 2026.09.1-1, linux-firmware-cirrus 20260916-1
    • CONFIG_SND_SOC_SDCA_CLASS=m, CONFIG_SND_SOC_SDCA_CLASS_FUNCTION=m, CONFIG_SND_SOC_SDCA_FDL=y; SDCA class drivers loaded

    Before workaround

    ALSA reports no sound cards (aplay -l), and PulseAudio exposes only auto_null. All four CS35L57 SoundWire devices have no driver bound. Each amplifier fails with:

    cs35l56 ... error -EBUSY: Failed to get spk-id-gpios
    cs35l56 ... probe with driver cs35l56 failed with error -16
    

    Decoded ACPI mapping

    I dumped the running firmware tables with acpidump -b and disassembled the DSDT with iasl -d dsdt.dat. The four amplifier nodes are \_SB.PC00.HDAS.IDA.SNDW.SWD2 through SWD5, with SoundWire addresses:

    SWD2: 0x00033001FA355701
    SWD3: 0x00033101FA355701
    SWD4: 0x00023201FA355701
    SWD5: 0x00023301FA355701
    

    Each has this property:

    "spk-id-gpios",
    Package (0x04) { AF01, Zero, Zero, Zero }

    Each corresponding AF01._CRS returns the same GPIO resource:

    Name (GPIA, ResourceTemplate ()
    {
        GpioIo (Shared, PullNone, 0x0000, 0x0000, IoRestrictionInputOnly,
            "\\_SB.GPI1", 0x00, ResourceConsumer, , )
            { 0x0014 }
    })

    The live controller confirms the mapping:

    $ cat /sys/bus/acpi/devices/INTC10BC:01/path
    \_SB_.GPI1
    

    Pin-controller diagnostics identify offset 20 as GPP_F_20, and offset 46 as GPP_E_20. /sys/kernel/debug/gpio shows:

    gpiochip1: 51 GPIOs, parent: platform/INTC10BC:01, INTC10BC:01:
     gpio-20  (                    |wake                ) in  lo IRQ ACTIVE LOW
     gpio-36  (                    |rst                 ) out hi
    

    GPIO 46 is unclaimed. Thus the firmware-selected speaker-ID GPIO is offset 20, already owned by a wake consumer, rather than the 46 / GPP_E_20 identified in your September 28 comment. I have not identified the device owning wake.

    Local workaround and observed recovery

    I rebuilt only snd-soc-cs35l56 from stable v7.2.7 source against the installed kernel headers. The local quirk is restricted to this exact DMI model, BIOS 1.10.1, and PCI subsystem 1028:0db9, on SoundWire. It bypasses the erroneous ACPI speaker-ID lookup, requests GPIO offset 46 on INTC10BC:01 as an input using a temporary GPIO lookup table with a distinct consumer name, reads the physical value, and releases it. Access is serialized across amplifier probes. It does not hard-code a speaker ID, replace firmware files, or alter the wake consumer.

    After unloading/reloading the amplifier modules live, all four report:

    XPS14 GPIO quirk: INTC10BC:01 pin 46 speaker ID 1
    Cirrus Logic CS35L57 Rev B2 OTP1 fw:4.2.1 (patched=0)
    

    All four then load the existing Dell 10280db9-spkid1 firmware/tuning (v4.5.9) and report Calibration applied. For example:

    DSP1: cirrus/cs35l57-b2-dsp1-misc-10280db9-spkid1-l2u2.bin (v1): v4.5.9
    Calibration applied
    

    The ALSA card now registers with Jack Out, Speaker, HDMI1/2/3 and deepbuffer playback devices. PulseAudio creates speaker, headphone and HDMI sinks. Left/right WAV samples played through the speaker sink with paplay successfully, without new kernel error-level messages during the check.

    Verification limits: audible output has not yet been confirmed by the user, and the workaround has not yet been verified across reboot/suspend. This establishes recovery of amplifier binding, firmware/calibration, card registration and playback submission, not a subjective sound-quality result.

    Would this be best handled as a model-specific GPIO quirk, an amplifier-driver correction, or a Dell BIOS fix? Happy to provide further focused diagnostics or the local patch. In particular, this seems worth accounting for in the proposed fix because the wrong mapping can prevent the entire sound card from registering when the selected GPIO is already claimed.

  28. jekel commented on Oct 3, 2026

    @jekel

    Hello, here is some data from my setup:

    Dell XPS 14 DA14260
    BIOS 1.11.0

    No LSB modules are available.
    Distributor ID:	Ubuntu
    Description:	Ubuntu 26.04.1 LTS
    Release:	26.04
    Codename:	resolute
    
    Linux  7.2.8 #1 SMP PREEMPT_DYNAMIC Mon Sep 28 22:37:19 MSK 2026 x86_64 GNU/Linux
    

    cat /sys/kernel/debug/pinctrl/INTC10BC:01/pins

    registered pins: 51
    pin 0 (GPP_F_0) 0:INTC10BC:01 mode 1 0x44000700 0x0003c042 0x00000000 [ACPI]
    pin 1 (GPP_F_1) 1:INTC10BC:01 mode 1 0x44000702 0x0003f043 0x00000000 [ACPI]
    pin 2 (GPP_F_2) 2:INTC10BC:01 mode 1 0x44000700 0x0003c044 0x00000000 [ACPI]
    pin 3 (GPP_F_3) 3:INTC10BC:01 mode 1 0x44000702 0x0003f045 0x00000000 [ACPI]
    pin 4 (GPP_F_4) 4:INTC10BC:01 mode 1 0x44000700 0x0003c046 0x00000000 [ACPI]
    pin 5 (GPP_F_5) 5:INTC10BC:01 mode 3 0x44000f00 0x0003c047 0x00000000 [ACPI]
    pin 6 (GPP_F_6) 6:INTC10BC:01 GPIO 0x44000300 0x00000048 0x00000000
    pin 7 (GPP_F_7) 7:INTC10BC:01 GPIO 0x44000300 0x0003c049 0x00000000
    pin 8 (GPP_F_8) 8:INTC10BC:01 GPIO 0x44000300 0x0003c04a 0x00000000
    pin 9 (GPP_F_9) 9:INTC10BC:01 mode 4 0x44001302 0x0003c04b 0x00000000 [ACPI]
    pin 10 (GPP_F_10) 10:INTC10BC:01 GPIO 0x44000300 0x0000004c 0x00000000
    pin 11 (GPP_F_11) 11:INTC10BC:01 GPIO 0x44000300 0x0003c04d 0x00000000
    pin 12 (GPP_F_12) 12:INTC10BC:01 mode 8 0x44002302 0x0000004e 0x00000000 [ACPI]
    pin 13 (GPP_F_13) 13:INTC10BC:01 mode 8 0x44002302 0x0000004f 0x00000000 [ACPI]
    pin 14 (GPP_F_14) 14:INTC10BC:01 GPIO 0x44000300 0x0003c050 0x00000000
    pin 15 (GPP_F_15) 15:INTC10BC:01 GPIO 0x44000300 0x0003c051 0x00000000
    pin 16 (GPP_F_16) 16:INTC10BC:01 GPIO 0x84000201 0x0003c052 0x00000000
    pin 17 (GPP_F_17) 17:INTC10BC:01 GPIO 0x44000300 0x0003c053 0x00000000
    pin 18 (GPP_F_18) 18:INTC10BC:01 GPIO 0x80100102 0x0003c054 0x00000000
    pin 19 (GPP_F_19) 19:INTC10BC:01 GPIO 0x44000300 0x00000055 0x00000000
    pin 20 (GPP_F_20) 20:INTC10BC:01 GPIO 0x82100100 0x00000056 0x00000000
    pin 21 (GPP_F_21) 21:INTC10BC:01 GPIO 0x44000200 0x00000057 0x00000000 [ACPI]
    pin 22 (GPP_F_22) 22:INTC10BC:01 GPIO 0x84000100 0x0003c058 0x00000000
    pin 23 (GPP_F_23) 23:INTC10BC:01 GPIO 0x84000100 0x00000059 0x00000000
    pin 24 (GPP_F_24) 24:INTC10BC:01 GPIO 0x40000300 0x00003c00 0x00000000 [ACPI]
    pin 25 (GPP_F_25) 25:INTC10BC:01 mode 8 0x40002300 0x00000000 0x00000000 [ACPI]
    pin 26 (GPP_E_0) 26:INTC10BC:01 GPIO 0x44000300 0x0000005a 0x00000000 [ACPI]
    pin 27 (GPP_E_1) 27:INTC10BC:01 GPIO 0x84000102 0x0003c05b 0x00000000
    pin 28 (GPP_E_2) 28:INTC10BC:01 mode 2 0x44000b02 0x0003c05c 0x00000000 [ACPI]
    pin 29 (GPP_E_3) 29:INTC10BC:01 GPIO 0x84000201 0x0000005d 0x00000000
    pin 30 (GPP_E_4) 30:INTC10BC:01 GPIO 0x44000300 0x0000005e 0x00000000 [ACPI]
    pin 31 (GPP_E_5) 31:INTC10BC:01 mode 4 0x44001300 0x0003c05f 0x00000000 [ACPI]
    pin 32 (GPP_E_6) 32:INTC10BC:01 GPIO 0x44000300 0x00000060 0x00000800
    pin 33 (GPP_E_7) 33:INTC10BC:01 GPIO 0x44000300 0x00000061 0x00000000
    pin 34 (GPP_E_8) 34:INTC10BC:01 GPIO 0x44000300 0x00000062 0x00000000
    pin 35 (GPP_E_9) 35:INTC10BC:01 mode 1 0x44000702 0x00000063 0x00000800 [ACPI]
    pin 36 (GPP_E_10) 36:INTC10BC:01 GPIO 0x84000201 0x00000064 0x00000000
    pin 37 (GPP_E_11) 37:INTC10BC:01 GPIO 0x84000100 0x0003c065 0x00000000
    pin 38 (GPP_E_12) 38:INTC10BC:01 mode 8 0x44002302 0x00000066 0x00000000 [ACPI]
    pin 39 (GPP_E_13) 39:INTC10BC:01 mode 8 0x44002302 0x00000067 0x00000000 [ACPI]
    pin 40 (GPP_E_14) 40:INTC10BC:01 GPIO 0x44000300 0x0003c068 0x00000000
    pin 41 (GPP_E_15) 41:INTC10BC:01 GPIO 0x44000300 0x0003c069 0x00000000
    pin 42 (GPP_E_16) 42:INTC10BC:01 GPIO 0x44000300 0x0003c06a 0x00000000
    pin 43 (GPP_E_17) 43:INTC10BC:01 GPIO 0x84000201 0x0003c06b 0x00000000
    pin 44 (GPP_E_18) 44:INTC10BC:01 GPIO 0x80100102 0x0003c06c 0x00000000
    pin 45 (GPP_E_19) 45:INTC10BC:01 GPIO 0x84000102 0x0003c06d 0x00000000
    pin 46 (GPP_E_20) 46:INTC10BC:01 GPIO 0x84000102 0x0003c06e 0x00000000
    pin 47 (GPP_E_21) 47:INTC10BC:01 mode 1 0x04000702 0x0003c06f 0x00000000 [ACPI]
    pin 48 (GPP_E_22) 48:INTC10BC:01 GPIO 0x44000300 0x0003c070 0x00000000
    pin 49 (GPP_E_23) 49:INTC10BC:01 mode 1 0x40000702 0x0003f000 0x00000000 [ACPI]
    pin 50 (GPP_E_24) 50:INTC10BC:01 GPIO 0x40000300 0x00000000 0x00000000 [ACPI]
    
     cat /sys/class/gpio/chip1/label
    
    INTC10BC:01
    root@:~# echo 46 > /sys/class/gpio/chip1/export
    root@:~# cat /sys/class/gpio/chip1/gpio46/value
    
    1
    
     cat /sys/class/gpio/chip2/label
    INTC10BC:02
    root@:~# echo 46 > /sys/class/gpio/chip2/export
    root@:~# cat /sys/class/gpio/chip2/gpio46/value
    1
    
    dmesg  | grep cs35l56
    [    5.882402] cs35l56 sdw:0:2:01fa:3557:01:2: supply VDD_P not found, using dummy regulator
    [    5.882428] cs35l56 sdw:0:2:01fa:3557:01:2: supply VDD_IO not found, using dummy regulator
    [    5.882432] cs35l56 sdw:0:2:01fa:3557:01:2: supply VDD_A not found, using dummy regulator
    [    5.893136] cs35l56 sdw:0:2:01fa:3557:01:2: Cirrus Logic CS35L57 Rev B2 OTP1 fw:4.2.1 (patched=0)
    [    5.899907] cs35l56 sdw:0:2:01fa:3557:01:3: supply VDD_P not found, using dummy regulator
    [    5.899932] cs35l56 sdw:0:2:01fa:3557:01:3: supply VDD_IO not found, using dummy regulator
    [    5.899937] cs35l56 sdw:0:2:01fa:3557:01:3: supply VDD_A not found, using dummy regulator
    [    5.907591] cs35l56 sdw:0:2:01fa:3557:01:3: Cirrus Logic CS35L57 Rev B2 OTP1 fw:4.2.1 (patched=0)
    [    5.911940] cs35l56 sdw:0:3:01fa:3557:01:0: supply VDD_P not found, using dummy regulator
    [    5.911965] cs35l56 sdw:0:3:01fa:3557:01:0: supply VDD_IO not found, using dummy regulator
    [    5.911975] cs35l56 sdw:0:3:01fa:3557:01:0: supply VDD_A not found, using dummy regulator
    [    5.919674] cs35l56 sdw:0:3:01fa:3557:01:0: Cirrus Logic CS35L57 Rev B2 OTP1 fw:4.2.1 (patched=0)
    [    5.923755] cs35l56 sdw:0:3:01fa:3557:01:1: supply VDD_P not found, using dummy regulator
    [    5.923776] cs35l56 sdw:0:3:01fa:3557:01:1: supply VDD_IO not found, using dummy regulator
    [    5.923782] cs35l56 sdw:0:3:01fa:3557:01:1: supply VDD_A not found, using dummy regulator
    [    5.931637] cs35l56 sdw:0:3:01fa:3557:01:1: Cirrus Logic CS35L57 Rev B2 OTP1 fw:4.2.1 (patched=0)
    [    6.594845] cs35l56 sdw:0:2:01fa:3557:01:2: supply VDD_B not found, using dummy regulator
    [    6.594864] cs35l56 sdw:0:2:01fa:3557:01:2: supply VDD_AMP not found, using dummy regulator
    [    6.596008] cs35l56 sdw:0:2:01fa:3557:01:3: supply VDD_B not found, using dummy regulator
    [    6.596016] cs35l56 sdw:0:2:01fa:3557:01:3: supply VDD_AMP not found, using dummy regulator
    [    6.598963] cs35l56 sdw:0:3:01fa:3557:01:0: supply VDD_B not found, using dummy regulator
    [    6.598971] cs35l56 sdw:0:3:01fa:3557:01:0: supply VDD_AMP not found, using dummy regulator
    [    6.600645] cs35l56 sdw:0:3:01fa:3557:01:1: supply VDD_B not found, using dummy regulator
    [    6.600660] cs35l56 sdw:0:3:01fa:3557:01:1: supply VDD_AMP not found, using dummy regulator
    [    6.601950] cs35l56 sdw:0:2:01fa:3557:01:2: DSP1: cirrus/cs35l57-b2-dsp1-misc-10280db9-spkid0.wmfw: format 3 timestamp 0x68d1a788
    [    6.601951] cs35l56 sdw:0:2:01fa:3557:01:3: DSP1: cirrus/cs35l57-b2-dsp1-misc-10280db9-spkid0.wmfw: format 3 timestamp 0x68d1a788
    [    6.601953] cs35l56 sdw:0:2:01fa:3557:01:2: DSP1: cirrus/cs35l57-b2-dsp1-misc-10280db9-spkid0.wmfw: Mon 22 Sep 2025 14:46:15 Central Daylight Time
    [    6.601956] cs35l56 sdw:0:2:01fa:3557:01:3: DSP1: cirrus/cs35l57-b2-dsp1-misc-10280db9-spkid0.wmfw: Mon 22 Sep 2025 14:46:15 Central Daylight Time
    [    6.602388] cs35l56 sdw:0:3:01fa:3557:01:0: DSP1: cirrus/cs35l57-b2-dsp1-misc-10280db9-spkid0.wmfw: format 3 timestamp 0x68d1a788
    [    6.602390] cs35l56 sdw:0:3:01fa:3557:01:0: DSP1: cirrus/cs35l57-b2-dsp1-misc-10280db9-spkid0.wmfw: Mon 22 Sep 2025 14:46:15 Central Daylight Time
    [    6.630608] cs35l56 sdw:0:3:01fa:3557:01:1: DSP1: cirrus/cs35l57-b2-dsp1-misc-10280db9-spkid0.wmfw: format 3 timestamp 0x68d1a788
    [    6.630612] cs35l56 sdw:0:3:01fa:3557:01:1: DSP1: cirrus/cs35l57-b2-dsp1-misc-10280db9-spkid0.wmfw: Mon 22 Sep 2025 14:46:15 Central Daylight Time
    [    7.041317] cs35l56 sdw:0:3:01fa:3557:01:0: DSP1: Firmware: 1a01d6 vendor: 0x2 v4.5.9, 42 algorithms
    [    7.065746] cs35l56 sdw:0:2:01fa:3557:01:3: DSP1: Firmware: 1a01d6 vendor: 0x2 v4.5.9, 42 algorithms
    [    7.096210] cs35l56 sdw:0:3:01fa:3557:01:0: DSP1: cirrus/cs35l57-b2-dsp1-misc-10280db9-spkid0-l3u0.bin (v1): v4.5.9
    [    7.096213] cs35l56 sdw:0:3:01fa:3557:01:0: DSP1: Misc: C:\Users\atsai\OneDrive - Cirrus Logic\桌面\Works\Projects\Hurracan 14\_tuning bin\Dell_Hurracan14
    [    7.106761] cs35l56 sdw:0:2:01fa:3557:01:3: DSP1: cirrus/cs35l57-b2-dsp1-misc-10280db9-spkid0-l2u3.bin (v1): v4.5.9
    [    7.106764] cs35l56 sdw:0:2:01fa:3557:01:3: DSP1: Misc: C:\Users\atsai\OneDrive - Cirrus Logic\桌面\Works\Projects\Hurracan 14\_tuning bin\Dell_Hurracan14
    [    7.113012] cs35l56 sdw:0:2:01fa:3557:01:2: DSP1: Firmware: 1a01d6 vendor: 0x2 v4.5.9, 42 algorithms
    [    7.116515] cs35l56 sdw:0:3:01fa:3557:01:1: DSP1: Firmware: 1a01d6 vendor: 0x2 v4.5.9, 42 algorithms
    [    7.158454] cs35l56 sdw:0:2:01fa:3557:01:2: DSP1: cirrus/cs35l57-b2-dsp1-misc-10280db9-spkid0-l2u2.bin (v1): v4.5.9
    [    7.158458] cs35l56 sdw:0:2:01fa:3557:01:2: DSP1: Misc: C:\Users\atsai\OneDrive - Cirrus Logic\桌面\Works\Projects\Hurracan 14\_tuning bin\Dell_Hurracan14
    [    7.162678] cs35l56 sdw:0:3:01fa:3557:01:1: DSP1: cirrus/cs35l57-b2-dsp1-misc-10280db9-spkid0-l3u1.bin (v1): v4.5.9
    [    7.162684] cs35l56 sdw:0:3:01fa:3557:01:1: DSP1: Misc: C:\Users\atsai\OneDrive - Cirrus Logic\桌面\Works\Projects\Hurracan 14\_tuning bin\Dell_Hurracan14
    [    7.763382] cs35l56 sdw:0:2:01fa:3557:01:3: Calibration applied
    [    7.764799] cs35l56 sdw:0:2:01fa:3557:01:3: Tuning PID: 0x212481, SID: 0x326033, TID: 0x2b1401
    [    7.769760] cs35l56 sdw:0:2:01fa:3557:01:2: Calibration applied
    [    7.770759] cs35l56 sdw:0:2:01fa:3557:01:2: Tuning PID: 0x212481, SID: 0x326023, TID: 0x2b1401
    [    7.775847] cs35l56 sdw:0:3:01fa:3557:01:1: Calibration applied
    [    7.777701] cs35l56 sdw:0:3:01fa:3557:01:1: Tuning PID: 0x212481, SID: 0x326013, TID: 0x2b1401
    [    7.782305] cs35l56 sdw:0:3:01fa:3557:01:0: Calibration applied
    [    7.783411] cs35l56 sdw:0:3:01fa:3557:01:0: Tuning PID: 0x212481, SID: 0x326003, TID: 0x2b1401
    
  29. charleskeepax commented on Oct 5, 2026

    @charleskeepax

    @jekel looks like your system should also be using spkid1. Could you remove the spkid0 files (/lib/firmware/cirrus/cs35l57-b2-dsp1-misc-10280db9-spkid0-lXuY.bin) and create symlinks in their place to the spkid1 files? This should force the loaded tune to match the value being returned by the correct gpio. Then reboot and see if the audio quality issues have been resolved/improved?

  30. jekel commented on Oct 5, 2026

    @jekel

    @charleskeepax i'd say that nothing changed... audio quality seems the same, balance l/r problem still persists

  31. charleskeepax commented on Oct 6, 2026

    @charleskeepax

    @jekel sigh... thanks for testing for us, apologies it didn't help. Will keep poking things at this end.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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