cs35l41: Enable(1) failed: -110
From: David Wronek
Date: Tue Mar 18 2025 - 06:12:22 EST
Hi,
I am trying to get the Cirrus CS35L41 amps working on the Lenovo Xiaoxin
Pad Pro 2021 on mainline Linux.
Unfortunately, while enabling the speakers, I encounter the following
error with non-working speakers:
```
[ 104.028258] cs35l41 4-0041: Enable(1) failed: -110
[ 104.028597] cs35l41 4-0041: ASoC: PRE_PMU: SPK2 Main AMP event
failed: -110
```
I have looked into the driver and it seems like it timing out while
polling the CS35L41_IRQ1_STATUS1 register.
According to the downstream device tree, the amps are connected over
MI2S and are using an internal boost. Switching to a shared boost does
not work, because the interrupt is never called.
I am not sure what I might be missing here. Sadly, Lenovo has not
released the kernel sources used in the Xiaoxin Pad Pro 2021 which is
why I can't easily check the downstream driver for potential quirks.
Here is my setup:
- Full dmesg:
https://paste.mainlining.org/ungeskriptet/66855caf17f342e9b030ffe0640e84de
- Device tree:
https://github.com/mainlining/linux/blob/f14a883/arch/arm64/boot/dts/qcom/sm8250-lenovo-j716f.dts
- ALSA UCM file:
https://paste.mainlining.org/ungeskriptet/33fe4907c000413fac94e5052215b1ea
Help would be greatly appreciated.
--
Best regards,
David Wronek <david@xxxxxxxxxxxxxx>