1 # SPDX-License-Identifier: GPL-2.0-only
3 # Broadcom pinctrl drivers
6 config PINCTRL_BCM281XX
7 bool "Broadcom BCM281xx pinctrl driver"
8 depends on OF && (ARCH_BCM_MOBILE || COMPILE_TEST)
11 select GENERIC_PINCONF
13 default ARCH_BCM_MOBILE
15 Say Y here to support Broadcom BCM281xx pinctrl driver, which is used
16 for the BCM281xx SoC family, including BCM11130, BCM11140, BCM11351,
17 BCM28145, and BCM28155 SoCs. This driver requires the pinctrl
18 framework. GPIO is provided by a separate GPIO driver.
20 config PINCTRL_BCM2835
21 bool "Broadcom BCM2835 GPIO (with PINCONF) driver"
22 depends on OF && (ARCH_BCM2835 || ARCH_BRCMSTB || COMPILE_TEST)
25 select GENERIC_PINCONF
27 select GPIOLIB_IRQCHIP
28 default ARCH_BCM2835 || ARCH_BRCMSTB
30 Say Y here to enable the Broadcom BCM2835 GPIO driver.
32 config PINCTRL_BCM63XX
36 select GENERIC_PINCONF
41 config PINCTRL_BCM6318
42 bool "Broadcom BCM6318 GPIO driver"
43 depends on (BMIPS_GENERIC || COMPILE_TEST)
45 select PINCTRL_BCM63XX
48 Say Y here to enable the Broadcom BCM6318 GPIO driver.
50 config PINCTRL_BCM6328
51 bool "Broadcom BCM6328 GPIO driver"
52 depends on (BMIPS_GENERIC || COMPILE_TEST)
54 select PINCTRL_BCM63XX
57 Say Y here to enable the Broadcom BCM6328 GPIO driver.
59 config PINCTRL_BCM6358
60 bool "Broadcom BCM6358 GPIO driver"
61 depends on (BMIPS_GENERIC || COMPILE_TEST)
63 select PINCTRL_BCM63XX
66 Say Y here to enable the Broadcom BCM6358 GPIO driver.
68 config PINCTRL_BCM6362
69 bool "Broadcom BCM6362 GPIO driver"
70 depends on (BMIPS_GENERIC || COMPILE_TEST)
72 select PINCTRL_BCM63XX
75 Say Y here to enable the Broadcom BCM6362 GPIO driver.
77 config PINCTRL_BCM6368
78 bool "Broadcom BCM6368 GPIO driver"
79 depends on (BMIPS_GENERIC || COMPILE_TEST)
81 select PINCTRL_BCM63XX
84 Say Y here to enable the Broadcom BCM6368 GPIO driver.
86 config PINCTRL_BCM63268
87 bool "Broadcom BCM63268 GPIO driver"
88 depends on (BMIPS_GENERIC || COMPILE_TEST)
90 select PINCTRL_BCM63XX
93 Say Y here to enable the Broadcom BCM63268 GPIO driver.
95 config PINCTRL_IPROC_GPIO
96 bool "Broadcom iProc GPIO (with PINCONF) driver"
97 depends on OF_GPIO && (ARCH_BCM_IPROC || COMPILE_TEST)
98 select GPIOLIB_IRQCHIP
100 select GENERIC_PINCONF
101 default ARCH_BCM_IPROC
103 Say yes here to enable the Broadcom iProc GPIO driver.
105 The Broadcom iProc based SoCs- Cygnus, NS2, NSP and Stingray, use
106 same GPIO Controller IP hence this driver could be used for all.
108 The Broadcom Cygnus SoC has 3 GPIO controllers including the ASIU
109 GPIO controller (ASIU), the chipCommonG GPIO controller (CCM), and
110 the always-ON GPIO controller (CRMU/AON). All 3 GPIO controllers are
111 supported by this driver.
113 The Broadcom NSP has two GPIO controllers including the ChipcommonA
114 GPIO, the ChipcommonB GPIO. Later controller is supported by this
117 The Broadcom NS2 has two GPIO controller including the CRMU GPIO,
118 the ChipcommonG GPIO. Both controllers are supported by this driver.
120 The Broadcom Stingray GPIO controllers are supported by this driver.
122 All above SoCs GPIO controllers support basic PINCONF functions such
123 as bias pull up, pull down, and drive strength configurations, when
124 these pins are muxed to GPIO.
126 It provides the framework where pins from the individual GPIO can be
127 individually muxed to GPIO function, through interaction with the
128 SoCs IOMUX controller. This features could be used only on SoCs which
129 support individual pin muxing.
131 config PINCTRL_CYGNUS_MUX
132 bool "Broadcom Cygnus IOMUX driver"
133 depends on (ARCH_BCM_CYGNUS || COMPILE_TEST)
136 select GENERIC_PINCONF
137 default ARCH_BCM_CYGNUS
139 Say yes here to enable the Broadcom Cygnus IOMUX driver.
141 The Broadcom Cygnus IOMUX driver supports group based IOMUX
142 configuration, with the exception that certain individual pins
143 can be overridden to GPIO function
146 bool "Broadcom Northstar pins driver"
147 depends on OF && (ARCH_BCM_5301X || COMPILE_TEST)
149 select GENERIC_PINCONF
150 default ARCH_BCM_5301X
152 Say yes here to enable the Broadcom NS SoC pins driver.
154 The Broadcom Northstar pins driver supports muxing multi-purpose pins
155 that can be used for various functions (e.g. SPI, I2C, UART) as well
158 config PINCTRL_NSP_GPIO
159 bool "Broadcom NSP GPIO (with PINCONF) driver"
160 depends on OF_GPIO && (ARCH_BCM_NSP || COMPILE_TEST)
161 select GPIOLIB_IRQCHIP
163 select GENERIC_PINCONF
166 Say yes here to enable the Broadcom NSP GPIO driver.
168 The Broadcom Northstar Plus SoC ChipcommonA GPIO controller is
169 supported by this driver.
171 The ChipcommonA GPIO controller support basic PINCONF functions such
172 as bias pull up, pull down, and drive strength configurations, when
173 these pins are muxed to GPIO.
175 config PINCTRL_NS2_MUX
176 bool "Broadcom Northstar2 pinmux driver"
178 depends on ARCH_BCM_IPROC || COMPILE_TEST
180 select GENERIC_PINCONF
181 default ARM64 && ARCH_BCM_IPROC
183 Say yes here to enable the Broadcom NS2 MUX driver.
185 The Broadcom Northstar2 IOMUX driver supports group based IOMUX
188 config PINCTRL_NSP_MUX
189 bool "Broadcom NSP IOMUX driver"
190 depends on (ARCH_BCM_NSP || COMPILE_TEST)
193 select GENERIC_PINCONF
196 Say yes here to enable the Broadcom NSP SOC IOMUX driver.
198 The Broadcom Northstar Plus IOMUX driver supports pin based IOMUX
199 configuration, with certain individual pins can be overridden