Skip to content

Commit cb62637

Browse files
james1993lag-linaro
authored andcommitted
mfd: cs40l50: Add support for CS40L50 core driver
Introduce support for Cirrus Logic Device CS40L50: a haptic driver with waveform memory, integrated DSP, and closed-loop algorithms. The MFD component registers and initializes the device. Signed-off-by: James Ogletree <[email protected]> Reviewed-by: Jeff LaBundy <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Lee Jones <[email protected]>
1 parent 2fab5ab commit cb62637

File tree

7 files changed

+879
-0
lines changed

7 files changed

+879
-0
lines changed

MAINTAINERS

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5213,6 +5213,8 @@ M: Ben Bright <[email protected]>
52135213
52145214
S: Supported
52155215
F: Documentation/devicetree/bindings/input/cirrus,cs40l50.yaml
5216+
F: drivers/mfd/cs40l*
5217+
F: include/linux/mfd/cs40l*
52165218

52175219
CIRRUS LOGIC DSP FIRMWARE DRIVER
52185220
M: Simon Trimmer <[email protected]>

drivers/mfd/Kconfig

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2243,6 +2243,36 @@ config MCP_UCB1200_TS
22432243

22442244
endmenu
22452245

2246+
config MFD_CS40L50_CORE
2247+
tristate
2248+
select MFD_CORE
2249+
select FW_CS_DSP
2250+
select REGMAP_IRQ
2251+
2252+
config MFD_CS40L50_I2C
2253+
tristate "Cirrus Logic CS40L50 (I2C)"
2254+
select REGMAP_I2C
2255+
select MFD_CS40L50_CORE
2256+
depends on I2C
2257+
help
2258+
Select this to support the Cirrus Logic CS40L50 Haptic
2259+
Driver over I2C.
2260+
2261+
This driver can be built as a module. If built as a module it will be
2262+
called "cs40l50-i2c".
2263+
2264+
config MFD_CS40L50_SPI
2265+
tristate "Cirrus Logic CS40L50 (SPI)"
2266+
select REGMAP_SPI
2267+
select MFD_CS40L50_CORE
2268+
depends on SPI
2269+
help
2270+
Select this to support the Cirrus Logic CS40L50 Haptic
2271+
Driver over SPI.
2272+
2273+
This driver can be built as a module. If built as a module it will be
2274+
called "cs40l50-spi".
2275+
22462276
config MFD_VEXPRESS_SYSREG
22472277
tristate "Versatile Express System Registers"
22482278
depends on VEXPRESS_CONFIG && GPIOLIB

drivers/mfd/Makefile

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,10 @@ obj-$(CONFIG_MFD_MADERA) += madera.o
8888
obj-$(CONFIG_MFD_MADERA_I2C) += madera-i2c.o
8989
obj-$(CONFIG_MFD_MADERA_SPI) += madera-spi.o
9090

91+
obj-$(CONFIG_MFD_CS40L50_CORE) += cs40l50-core.o
92+
obj-$(CONFIG_MFD_CS40L50_I2C) += cs40l50-i2c.o
93+
obj-$(CONFIG_MFD_CS40L50_SPI) += cs40l50-spi.o
94+
9195
obj-$(CONFIG_TPS6105X) += tps6105x.o
9296
obj-$(CONFIG_TPS65010) += tps65010.o
9397
obj-$(CONFIG_TPS6507X) += tps6507x.o

0 commit comments

Comments
 (0)