[PATCH RESEND 0/7] Initial Support for CS40L26

From: Fred Treven
Date: Tue Feb 04 2025 - 18:20:29 EST


Introduce driver for Cirrus Logic Device CS40L26:
A boosted haptics driver with integrated DSP and
waveform memory with advanced closed loop algorithms
and LRA protection.

The core CS40L26 driver is in MFD and touches the
Input Force Feedback subsystem for haptics and
the ASoC subsystem for audio to haptics streaming.

This patchset includes changes to the CS DSP firmware
driver which fixes two bugs and introduces support for
multiple coefficient files.

Fred Treven (7):
firmware: cs_dsp: Fix error checking in wseq_write()
firmware: cs_dsp: Check for valid num_regs in
cs_dsp_wseq_multi_write()
firmware: cs_dsp: Add ability to load multiple coefficient files
dt-bindings: mfd: cirrus,cs40l26: Support for CS40L26
mfd: cs40l26: Add support for CS40L26 core driver
ASoC: cs40l26: Support I2S streaming to CS40L26
Input: cs40l26 - Add support for CS40L26 haptic driver

.../bindings/mfd/cirrus,cs40l26.yaml | 81 +
MAINTAINERS | 4 +-
drivers/firmware/cirrus/cs_dsp.c | 70 +-
drivers/input/misc/Kconfig | 10 +
drivers/input/misc/Makefile | 1 +
drivers/input/misc/cs40l26-vibra.c | 669 ++++++++
drivers/mfd/Kconfig | 29 +
drivers/mfd/Makefile | 4 +
drivers/mfd/cs40l26-core.c | 1412 +++++++++++++++++
drivers/mfd/cs40l26-i2c.c | 63 +
drivers/mfd/cs40l26-spi.c | 63 +
include/linux/firmware/cirrus/cs_dsp.h | 14 +
include/linux/mfd/cs40l26.h | 341 ++++
sound/soc/codecs/Kconfig | 12 +
sound/soc/codecs/Makefile | 2 +
sound/soc/codecs/cs40l26-codec.c | 523 ++++++
16 files changed, 3281 insertions(+), 17 deletions(-)
create mode 100644 Documentation/devicetree/bindings/mfd/cirrus,cs40l26.yaml
create mode 100644 drivers/input/misc/cs40l26-vibra.c
create mode 100644 drivers/mfd/cs40l26-core.c
create mode 100644 drivers/mfd/cs40l26-i2c.c
create mode 100644 drivers/mfd/cs40l26-spi.c
create mode 100644 include/linux/mfd/cs40l26.h
create mode 100644 sound/soc/codecs/cs40l26-codec.c

--
2.34.1