Skip to content

Commit e6cbbe4

Browse files
PatrickRudolphlinusw
authored andcommitted
pinctrl: Add Cypress cy8c95x0 support
Add support for cypress I2C GPIO expanders cy8c9520, cy8c9540 and cy8c9560. The GPIO expanders feature a PWM mode, thus add it as pinctrl driver. The chip features multiple drive modes for each pin when configured as output and multiple bias settings when configured as input. Tested all three components and verified that all functionality is fully working. Datasheet: https://www.cypress.com/file/37971/download Signed-off-by: Patrick Rudolph <[email protected]> Signed-off-by: Naresh Solanki <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Linus Walleij <[email protected]>
1 parent 8d39e55 commit e6cbbe4

File tree

4 files changed

+1402
-0
lines changed

4 files changed

+1402
-0
lines changed

MAINTAINERS

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5629,6 +5629,12 @@ Q: http://patchwork.linuxtv.org/project/linux-media/list/
56295629
T: git git://linuxtv.org/anttip/media_tree.git
56305630
F: drivers/media/common/cypress_firmware*
56315631

5632+
CYPRESS CY8C95X0 PINCTRL DRIVER
5633+
M: Patrick Rudolph <[email protected]>
5634+
5635+
S: Maintained
5636+
F: drivers/pinctrl/pinctrl-cy8c95x0.c
5637+
56325638
CYPRESS CY8CTMA140 TOUCHSCREEN DRIVER
56335639
M: Linus Walleij <[email protected]>
56345640

drivers/pinctrl/Kconfig

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,20 @@ config PINCTRL_BM1880
135135
help
136136
Pinctrl driver for Bitmain BM1880 SoC.
137137

138+
config PINCTRL_CY8C95X0
139+
tristate "Cypress CY8C95X0 I2C pinctrl and GPIO driver"
140+
depends on I2C && OF
141+
select GPIOLIB
142+
select GPIOLIB_IRQCHIP
143+
select PINMUX
144+
select PINCONF
145+
select GENERIC_PINCONF
146+
select REGMAP_I2C
147+
help
148+
Support for 20/40/60 pin Cypress Cy8C95x0 pinctrl/gpio I2C expander.
149+
This driver can also be built as a module. If so, the module will be
150+
called pinctrl-cy8c95x0.
151+
138152
config PINCTRL_DA850_PUPD
139153
tristate "TI DA850/OMAP-L138/AM18XX pull-up and pull-down groups"
140154
depends on OF && (ARCH_DAVINCI_DA850 || COMPILE_TEST)

drivers/pinctrl/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ obj-$(CONFIG_PINCTRL_AT91) += pinctrl-at91.o
1717
obj-$(CONFIG_PINCTRL_AT91PIO4) += pinctrl-at91-pio4.o
1818
obj-$(CONFIG_PINCTRL_AXP209) += pinctrl-axp209.o
1919
obj-$(CONFIG_PINCTRL_BM1880) += pinctrl-bm1880.o
20+
obj-$(CONFIG_PINCTRL_CY8C95X0) += pinctrl-cy8c95x0.o
2021
obj-$(CONFIG_PINCTRL_DA850_PUPD) += pinctrl-da850-pupd.o
2122
obj-$(CONFIG_PINCTRL_DA9062) += pinctrl-da9062.o
2223
obj-$(CONFIG_PINCTRL_DIGICOLOR) += pinctrl-digicolor.o

0 commit comments

Comments
 (0)