xref: /openbmc/linux/drivers/pinctrl/bcm/Kconfig (revision 52fb57e7)
1#
2# Broadcom pinctrl drivers
3#
4
5config PINCTRL_BCM281XX
6	bool "Broadcom BCM281xx pinctrl driver"
7	depends on OF && (ARCH_BCM_MOBILE || COMPILE_TEST)
8	select PINMUX
9	select PINCONF
10	select GENERIC_PINCONF
11	select REGMAP_MMIO
12	help
13	  Say Y here to support Broadcom BCM281xx pinctrl driver, which is used
14	  for the BCM281xx SoC family, including BCM11130, BCM11140, BCM11351,
15	  BCM28145, and BCM28155 SoCs.  This driver requires the pinctrl
16	  framework.  GPIO is provided by a separate GPIO driver.
17
18config PINCTRL_BCM2835
19	bool
20	select PINMUX
21	select PINCONF
22
23config PINCTRL_CYGNUS_GPIO
24	bool "Broadcom Cygnus GPIO (with PINCONF) driver"
25	depends on OF_GPIO && ARCH_BCM_CYGNUS
26	select GPIOLIB_IRQCHIP
27	select PINCONF
28	select GENERIC_PINCONF
29	default ARCH_BCM_CYGNUS
30	help
31	  Say yes here to enable the Broadcom Cygnus GPIO driver.
32
33	  The Broadcom Cygnus SoC has 3 GPIO controllers including the ASIU
34	  GPIO controller (ASIU), the chipCommonG GPIO controller (CCM), and
35	  the always-ON GPIO controller (CRMU/AON). All 3 GPIO controllers are
36	  supported by this driver.
37
38	  All 3 Cygnus GPIO controllers support basic PINCONF functions such
39	  as bias pull up, pull down, and drive strength configurations, when
40	  these pins are muxed to GPIO.
41
42	  Pins from the ASIU GPIO can be individually muxed to GPIO function,
43	  through interaction with the Cygnus IOMUX controller.
44
45config PINCTRL_CYGNUS_MUX
46	bool "Broadcom Cygnus IOMUX driver"
47	depends on (ARCH_BCM_CYGNUS || COMPILE_TEST)
48	select PINMUX
49	select GENERIC_PINCONF
50	default ARCH_BCM_CYGNUS
51	help
52	  Say yes here to enable the Broadcom Cygnus IOMUX driver.
53
54	  The Broadcom Cygnus IOMUX driver supports group based IOMUX
55	  configuration, with the exception that certain individual pins
56	  can be overrided to GPIO function
57