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>