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