You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
pinctrl: cygnus: add gpio/pinconf driver
This adds the initial support of the Broadcom Cygnus GPIO/PINCONF driver that supports all 3 GPIO controllers on Cygnus including the ASIU GPIO controller, the chipCommonG GPIO controller, and the always-on GPIO controller. Basic PINCONF configurations such as bias pull up/down, and drive strength are also supported in this driver. Pins from the ASIU GPIO controller can be individually muxed to GPIO function, through interaction with the Cygnus IOMUX controller Signed-off-by: Ray Jui <rjui@broadcom.com> Reviewed-by: Scott Branden <sbranden@broadcom.com> Tested-by: Dmitry Torokhov <dtor@chromium.org> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
@@ -20,6 +20,28 @@ config PINCTRL_BCM2835
|
||||
select PINMUX
|
||||
select PINCONF
|
||||
|
||||
config PINCTRL_CYGNUS_GPIO
|
||||
bool "Broadcom Cygnus GPIO (with PINCONF) driver"
|
||||
depends on OF_GPIO && ARCH_BCM_CYGNUS
|
||||
select GPIOLIB_IRQCHIP
|
||||
select PINCONF
|
||||
select GENERIC_PINCONF
|
||||
default ARCH_BCM_CYGNUS
|
||||
help
|
||||
Say yes here to enable the Broadcom Cygnus GPIO driver.
|
||||
|
||||
The Broadcom Cygnus SoC has 3 GPIO controllers including the ASIU
|
||||
GPIO controller (ASIU), the chipCommonG GPIO controller (CCM), and
|
||||
the always-ON GPIO controller (CRMU/AON). All 3 GPIO controllers are
|
||||
supported by this driver.
|
||||
|
||||
All 3 Cygnus GPIO controllers support basic PINCONF functions such
|
||||
as bias pull up, pull down, and drive strength configurations, when
|
||||
these pins are muxed to GPIO.
|
||||
|
||||
Pins from the ASIU GPIO can be individually muxed to GPIO function,
|
||||
through interaction with the Cygnus IOMUX controller.
|
||||
|
||||
config PINCTRL_CYGNUS_MUX
|
||||
bool "Broadcom Cygnus IOMUX driver"
|
||||
depends on (ARCH_BCM_CYGNUS || COMPILE_TEST)
|
||||
|
||||
@@ -2,4 +2,5 @@
|
||||
|
||||
obj-$(CONFIG_PINCTRL_BCM281XX) += pinctrl-bcm281xx.o
|
||||
obj-$(CONFIG_PINCTRL_BCM2835) += pinctrl-bcm2835.o
|
||||
obj-$(CONFIG_PINCTRL_CYGNUS_GPIO) += pinctrl-cygnus-gpio.o
|
||||
obj-$(CONFIG_PINCTRL_CYGNUS_MUX) += pinctrl-cygnus-mux.o
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user