1# SPDX-License-Identifier: GPL-2.0-only 2# 3# Broadcom pinctrl drivers 4# 5 6config PINCTRL_BCM281XX 7 bool "Broadcom BCM281xx pinctrl driver" 8 depends on OF && (ARCH_BCM_MOBILE || COMPILE_TEST) 9 select PINMUX 10 select PINCONF 11 select GENERIC_PINCONF 12 select REGMAP_MMIO 13 default ARCH_BCM_MOBILE 14 help 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. 19 20config PINCTRL_BCM2835 21 tristate "Broadcom BCM2835 GPIO (with PINCONF) driver" 22 depends on OF && (ARCH_BCM2835 || ARCH_BRCMSTB || COMPILE_TEST) 23 select PINMUX 24 select PINCONF 25 select GENERIC_PINCONF 26 select GPIOLIB 27 select GPIOLIB_IRQCHIP 28 default ARCH_BCM2835 || ARCH_BRCMSTB 29 help 30 Say Y here to enable the Broadcom BCM2835 GPIO driver. 31 32config PINCTRL_BCM4908 33 tristate "Broadcom BCM4908 pinmux driver" 34 depends on OF && (ARCH_BCMBCA || COMPILE_TEST) 35 select PINMUX 36 select PINCONF 37 select GENERIC_PINCONF 38 select GENERIC_PINCTRL_GROUPS 39 select GENERIC_PINMUX_FUNCTIONS 40 default ARCH_BCMBCA 41 help 42 Driver for BCM4908 family SoCs with integrated pin controller. 43 44 If compiled as module it will be called pinctrl-bcm4908. 45 46config PINCTRL_BCM63XX 47 bool 48 select PINMUX 49 select PINCONF 50 select GENERIC_PINCONF 51 select GPIOLIB 52 select REGMAP 53 select GPIO_REGMAP 54 55config PINCTRL_BCM6318 56 bool "Broadcom BCM6318 GPIO driver" 57 depends on (BMIPS_GENERIC || COMPILE_TEST) 58 depends on OF 59 select PINCTRL_BCM63XX 60 default BMIPS_GENERIC 61 help 62 Say Y here to enable the Broadcom BCM6318 GPIO driver. 63 64config PINCTRL_BCM6328 65 bool "Broadcom BCM6328 GPIO driver" 66 depends on (BMIPS_GENERIC || COMPILE_TEST) 67 depends on OF 68 select PINCTRL_BCM63XX 69 default BMIPS_GENERIC 70 help 71 Say Y here to enable the Broadcom BCM6328 GPIO driver. 72 73config PINCTRL_BCM6358 74 bool "Broadcom BCM6358 GPIO driver" 75 depends on (BMIPS_GENERIC || COMPILE_TEST) 76 depends on OF 77 select PINCTRL_BCM63XX 78 default BMIPS_GENERIC 79 help 80 Say Y here to enable the Broadcom BCM6358 GPIO driver. 81 82config PINCTRL_BCM6362 83 bool "Broadcom BCM6362 GPIO driver" 84 depends on (BMIPS_GENERIC || COMPILE_TEST) 85 depends on OF 86 select PINCTRL_BCM63XX 87 default BMIPS_GENERIC 88 help 89 Say Y here to enable the Broadcom BCM6362 GPIO driver. 90 91config PINCTRL_BCM6368 92 bool "Broadcom BCM6368 GPIO driver" 93 depends on (BMIPS_GENERIC || COMPILE_TEST) 94 depends on OF 95 select PINCTRL_BCM63XX 96 default BMIPS_GENERIC 97 help 98 Say Y here to enable the Broadcom BCM6368 GPIO driver. 99 100config PINCTRL_BCM63268 101 bool "Broadcom BCM63268 GPIO driver" 102 depends on (BMIPS_GENERIC || COMPILE_TEST) 103 depends on OF 104 select PINCTRL_BCM63XX 105 default BMIPS_GENERIC 106 help 107 Say Y here to enable the Broadcom BCM63268 GPIO driver. 108 109config PINCTRL_BRCMSTB 110 tristate "Broadcom STB product line pin controller driver" 111 depends on OF && (ARCH_BCM2835 || ARCH_BRCMSTB || COMPILE_TEST) 112 select PINMUX 113 select PINCONF 114 select GENERIC_PINCONF 115 help 116 Enable pin muxing and configuration functionality 117 for Broadcom STB product line chipsets. 118 119source "drivers/pinctrl/bcm/Kconfig.stb" 120 121config PINCTRL_IPROC_GPIO 122 bool "Broadcom iProc GPIO (with PINCONF) driver" 123 depends on ARCH_BCM_IPROC || COMPILE_TEST 124 select GPIOLIB 125 select GPIOLIB_IRQCHIP 126 select PINCONF 127 select GENERIC_PINCONF 128 default ARCH_BCM_IPROC 129 help 130 Say yes here to enable the Broadcom iProc GPIO driver. 131 132 The Broadcom iProc based SoCs- Cygnus, NS2, NSP and Stingray, use 133 same GPIO Controller IP hence this driver could be used for all. 134 135 The Broadcom Cygnus SoC has 3 GPIO controllers including the ASIU 136 GPIO controller (ASIU), the chipCommonG GPIO controller (CCM), and 137 the always-ON GPIO controller (CRMU/AON). All 3 GPIO controllers are 138 supported by this driver. 139 140 The Broadcom NSP has two GPIO controllers including the ChipcommonA 141 GPIO, the ChipcommonB GPIO. Later controller is supported by this 142 driver. 143 144 The Broadcom NS2 has two GPIO controller including the CRMU GPIO, 145 the ChipcommonG GPIO. Both controllers are supported by this driver. 146 147 The Broadcom Stingray GPIO controllers are supported by this driver. 148 149 All above SoCs GPIO controllers support basic PINCONF functions such 150 as bias pull up, pull down, and drive strength configurations, when 151 these pins are muxed to GPIO. 152 153 It provides the framework where pins from the individual GPIO can be 154 individually muxed to GPIO function, through interaction with the 155 SoCs IOMUX controller. This features could be used only on SoCs which 156 support individual pin muxing. 157 158config PINCTRL_CYGNUS_MUX 159 bool "Broadcom Cygnus IOMUX driver" 160 depends on (ARCH_BCM_CYGNUS || COMPILE_TEST) 161 depends on OF 162 select PINMUX 163 select GENERIC_PINCONF 164 default ARCH_BCM_CYGNUS 165 help 166 Say yes here to enable the Broadcom Cygnus IOMUX driver. 167 168 The Broadcom Cygnus IOMUX driver supports group based IOMUX 169 configuration, with the exception that certain individual pins 170 can be overridden to GPIO function 171 172config PINCTRL_NS 173 bool "Broadcom Northstar pins driver" 174 depends on OF && (ARCH_BCM_5301X || COMPILE_TEST) 175 select PINMUX 176 select GENERIC_PINCONF 177 select GENERIC_PINCTRL_GROUPS 178 select GENERIC_PINMUX_FUNCTIONS 179 default ARCH_BCM_5301X 180 help 181 Say yes here to enable the Broadcom NS SoC pins driver. 182 183 The Broadcom Northstar pins driver supports muxing multi-purpose pins 184 that can be used for various functions (e.g. SPI, I2C, UART) as well 185 as GPIOs. 186 187config PINCTRL_NSP_GPIO 188 bool "Broadcom NSP GPIO (with PINCONF) driver" 189 depends on ARCH_BCM_NSP || COMPILE_TEST 190 select GPIOLIB 191 select GPIOLIB_IRQCHIP 192 select PINCONF 193 select GENERIC_PINCONF 194 default ARCH_BCM_NSP 195 help 196 Say yes here to enable the Broadcom NSP GPIO driver. 197 198 The Broadcom Northstar Plus SoC ChipcommonA GPIO controller is 199 supported by this driver. 200 201 The ChipcommonA GPIO controller support basic PINCONF functions such 202 as bias pull up, pull down, and drive strength configurations, when 203 these pins are muxed to GPIO. 204 205config PINCTRL_NS2_MUX 206 bool "Broadcom Northstar2 pinmux driver" 207 depends on OF 208 depends on ARCH_BCM_IPROC || COMPILE_TEST 209 select PINMUX 210 select GENERIC_PINCONF 211 default ARM64 && ARCH_BCM_IPROC 212 help 213 Say yes here to enable the Broadcom NS2 MUX driver. 214 215 The Broadcom Northstar2 IOMUX driver supports group based IOMUX 216 configuration. 217 218config PINCTRL_NSP_MUX 219 bool "Broadcom NSP IOMUX driver" 220 depends on (ARCH_BCM_NSP || COMPILE_TEST) 221 depends on OF 222 select PINMUX 223 select GENERIC_PINCONF 224 default ARCH_BCM_NSP 225 help 226 Say yes here to enable the Broadcom NSP SOC IOMUX driver. 227 228 The Broadcom Northstar Plus IOMUX driver supports pin based IOMUX 229 configuration, with certain individual pins can be overridden 230 to GPIO function. 231