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 OF_GPIO && (ARCH_BCM_IPROC || COMPILE_TEST) 124 select GPIOLIB_IRQCHIP 125 select PINCONF 126 select GENERIC_PINCONF 127 default ARCH_BCM_IPROC 128 help 129 Say yes here to enable the Broadcom iProc GPIO driver. 130 131 The Broadcom iProc based SoCs- Cygnus, NS2, NSP and Stingray, use 132 same GPIO Controller IP hence this driver could be used for all. 133 134 The Broadcom Cygnus SoC has 3 GPIO controllers including the ASIU 135 GPIO controller (ASIU), the chipCommonG GPIO controller (CCM), and 136 the always-ON GPIO controller (CRMU/AON). All 3 GPIO controllers are 137 supported by this driver. 138 139 The Broadcom NSP has two GPIO controllers including the ChipcommonA 140 GPIO, the ChipcommonB GPIO. Later controller is supported by this 141 driver. 142 143 The Broadcom NS2 has two GPIO controller including the CRMU GPIO, 144 the ChipcommonG GPIO. Both controllers are supported by this driver. 145 146 The Broadcom Stingray GPIO controllers are supported by this driver. 147 148 All above SoCs GPIO controllers support basic PINCONF functions such 149 as bias pull up, pull down, and drive strength configurations, when 150 these pins are muxed to GPIO. 151 152 It provides the framework where pins from the individual GPIO can be 153 individually muxed to GPIO function, through interaction with the 154 SoCs IOMUX controller. This features could be used only on SoCs which 155 support individual pin muxing. 156 157config PINCTRL_CYGNUS_MUX 158 bool "Broadcom Cygnus IOMUX driver" 159 depends on (ARCH_BCM_CYGNUS || COMPILE_TEST) 160 depends on OF 161 select PINMUX 162 select GENERIC_PINCONF 163 default ARCH_BCM_CYGNUS 164 help 165 Say yes here to enable the Broadcom Cygnus IOMUX driver. 166 167 The Broadcom Cygnus IOMUX driver supports group based IOMUX 168 configuration, with the exception that certain individual pins 169 can be overridden to GPIO function 170 171config PINCTRL_NS 172 bool "Broadcom Northstar pins driver" 173 depends on OF && (ARCH_BCM_5301X || COMPILE_TEST) 174 select PINMUX 175 select GENERIC_PINCONF 176 select GENERIC_PINCTRL_GROUPS 177 select GENERIC_PINMUX_FUNCTIONS 178 default ARCH_BCM_5301X 179 help 180 Say yes here to enable the Broadcom NS SoC pins driver. 181 182 The Broadcom Northstar pins driver supports muxing multi-purpose pins 183 that can be used for various functions (e.g. SPI, I2C, UART) as well 184 as GPIOs. 185 186config PINCTRL_NSP_GPIO 187 bool "Broadcom NSP GPIO (with PINCONF) driver" 188 depends on OF_GPIO && (ARCH_BCM_NSP || COMPILE_TEST) 189 select GPIOLIB_IRQCHIP 190 select PINCONF 191 select GENERIC_PINCONF 192 default ARCH_BCM_NSP 193 help 194 Say yes here to enable the Broadcom NSP GPIO driver. 195 196 The Broadcom Northstar Plus SoC ChipcommonA GPIO controller is 197 supported by this driver. 198 199 The ChipcommonA GPIO controller support basic PINCONF functions such 200 as bias pull up, pull down, and drive strength configurations, when 201 these pins are muxed to GPIO. 202 203config PINCTRL_NS2_MUX 204 bool "Broadcom Northstar2 pinmux driver" 205 depends on OF 206 depends on ARCH_BCM_IPROC || COMPILE_TEST 207 select PINMUX 208 select GENERIC_PINCONF 209 default ARM64 && ARCH_BCM_IPROC 210 help 211 Say yes here to enable the Broadcom NS2 MUX driver. 212 213 The Broadcom Northstar2 IOMUX driver supports group based IOMUX 214 configuration. 215 216config PINCTRL_NSP_MUX 217 bool "Broadcom NSP IOMUX driver" 218 depends on (ARCH_BCM_NSP || COMPILE_TEST) 219 depends on OF 220 select PINMUX 221 select GENERIC_PINCONF 222 default ARCH_BCM_NSP 223 help 224 Say yes here to enable the Broadcom NSP SOC IOMUX driver. 225 226 The Broadcom Northstar Plus IOMUX driver supports pin based IOMUX 227 configuration, with certain individual pins can be overridden 228 to GPIO function. 229