Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b64333ce authored by Ray Jui's avatar Ray Jui Committed by Linus Walleij
Browse files

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: default avatarRay Jui <rjui@broadcom.com>
Reviewed-by: default avatarScott Branden <sbranden@broadcom.com>
Tested-by: default avatarDmitry Torokhov <dtor@chromium.org>
Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
parent 2dffad82
Loading
Loading
Loading
Loading
+22 −0
Original line number Diff line number Diff line
@@ -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)
+1 −0
Original line number Diff line number Diff line
@@ -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
+907 −0

File added.

Preview size limit exceeded, changes collapsed.