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 GPIO_REGMAP 53 54config PINCTRL_BCM6318 55 bool "Broadcom BCM6318 GPIO driver" 56 depends on (BMIPS_GENERIC || COMPILE_TEST) 57 depends on OF 58 select PINCTRL_BCM63XX 59 default BMIPS_GENERIC 60 help 61 Say Y here to enable the Broadcom BCM6318 GPIO driver. 62 63config PINCTRL_BCM6328 64 bool "Broadcom BCM6328 GPIO driver" 65 depends on (BMIPS_GENERIC || COMPILE_TEST) 66 depends on OF 67 select PINCTRL_BCM63XX 68 default BMIPS_GENERIC 69 help 70 Say Y here to enable the Broadcom BCM6328 GPIO driver. 71 72config PINCTRL_BCM6358 73 bool "Broadcom BCM6358 GPIO driver" 74 depends on (BMIPS_GENERIC || COMPILE_TEST) 75 depends on OF 76 select PINCTRL_BCM63XX 77 default BMIPS_GENERIC 78 help 79 Say Y here to enable the Broadcom BCM6358 GPIO driver. 80 81config PINCTRL_BCM6362 82 bool "Broadcom BCM6362 GPIO driver" 83 depends on (BMIPS_GENERIC || COMPILE_TEST) 84 depends on OF 85 select PINCTRL_BCM63XX 86 default BMIPS_GENERIC 87 help 88 Say Y here to enable the Broadcom BCM6362 GPIO driver. 89 90config PINCTRL_BCM6368 91 bool "Broadcom BCM6368 GPIO driver" 92 depends on (BMIPS_GENERIC || COMPILE_TEST) 93 depends on OF 94 select PINCTRL_BCM63XX 95 default BMIPS_GENERIC 96 help 97 Say Y here to enable the Broadcom BCM6368 GPIO driver. 98 99config PINCTRL_BCM63268 100 bool "Broadcom BCM63268 GPIO driver" 101 depends on (BMIPS_GENERIC || COMPILE_TEST) 102 depends on OF 103 select PINCTRL_BCM63XX 104 default BMIPS_GENERIC 105 help 106 Say Y here to enable the Broadcom BCM63268 GPIO driver. 107 108config PINCTRL_IPROC_GPIO 109 bool "Broadcom iProc GPIO (with PINCONF) driver" 110 depends on OF_GPIO && (ARCH_BCM_IPROC || COMPILE_TEST) 111 select GPIOLIB_IRQCHIP 112 select PINCONF 113 select GENERIC_PINCONF 114 default ARCH_BCM_IPROC 115 help 116 Say yes here to enable the Broadcom iProc GPIO driver. 117 118 The Broadcom iProc based SoCs- Cygnus, NS2, NSP and Stingray, use 119 same GPIO Controller IP hence this driver could be used for all. 120 121 The Broadcom Cygnus SoC has 3 GPIO controllers including the ASIU 122 GPIO controller (ASIU), the chipCommonG GPIO controller (CCM), and 123 the always-ON GPIO controller (CRMU/AON). All 3 GPIO controllers are 124 supported by this driver. 125 126 The Broadcom NSP has two GPIO controllers including the ChipcommonA 127 GPIO, the ChipcommonB GPIO. Later controller is supported by this 128 driver. 129 130 The Broadcom NS2 has two GPIO controller including the CRMU GPIO, 131 the ChipcommonG GPIO. Both controllers are supported by this driver. 132 133 The Broadcom Stingray GPIO controllers are supported by this driver. 134 135 All above SoCs GPIO controllers support basic PINCONF functions such 136 as bias pull up, pull down, and drive strength configurations, when 137 these pins are muxed to GPIO. 138 139 It provides the framework where pins from the individual GPIO can be 140 individually muxed to GPIO function, through interaction with the 141 SoCs IOMUX controller. This features could be used only on SoCs which 142 support individual pin muxing. 143 144config PINCTRL_CYGNUS_MUX 145 bool "Broadcom Cygnus IOMUX driver" 146 depends on (ARCH_BCM_CYGNUS || COMPILE_TEST) 147 depends on OF 148 select PINMUX 149 select GENERIC_PINCONF 150 default ARCH_BCM_CYGNUS 151 help 152 Say yes here to enable the Broadcom Cygnus IOMUX driver. 153 154 The Broadcom Cygnus IOMUX driver supports group based IOMUX 155 configuration, with the exception that certain individual pins 156 can be overridden to GPIO function 157 158config PINCTRL_NS 159 bool "Broadcom Northstar pins driver" 160 depends on OF && (ARCH_BCM_5301X || COMPILE_TEST) 161 select PINMUX 162 select GENERIC_PINCONF 163 select GENERIC_PINCTRL_GROUPS 164 select GENERIC_PINMUX_FUNCTIONS 165 default ARCH_BCM_5301X 166 help 167 Say yes here to enable the Broadcom NS SoC pins driver. 168 169 The Broadcom Northstar pins driver supports muxing multi-purpose pins 170 that can be used for various functions (e.g. SPI, I2C, UART) as well 171 as GPIOs. 172 173config PINCTRL_NSP_GPIO 174 bool "Broadcom NSP GPIO (with PINCONF) driver" 175 depends on OF_GPIO && (ARCH_BCM_NSP || COMPILE_TEST) 176 select GPIOLIB_IRQCHIP 177 select PINCONF 178 select GENERIC_PINCONF 179 default ARCH_BCM_NSP 180 help 181 Say yes here to enable the Broadcom NSP GPIO driver. 182 183 The Broadcom Northstar Plus SoC ChipcommonA GPIO controller is 184 supported by this driver. 185 186 The ChipcommonA GPIO controller support basic PINCONF functions such 187 as bias pull up, pull down, and drive strength configurations, when 188 these pins are muxed to GPIO. 189 190config PINCTRL_NS2_MUX 191 bool "Broadcom Northstar2 pinmux driver" 192 depends on OF 193 depends on ARCH_BCM_IPROC || COMPILE_TEST 194 select PINMUX 195 select GENERIC_PINCONF 196 default ARM64 && ARCH_BCM_IPROC 197 help 198 Say yes here to enable the Broadcom NS2 MUX driver. 199 200 The Broadcom Northstar2 IOMUX driver supports group based IOMUX 201 configuration. 202 203config PINCTRL_NSP_MUX 204 bool "Broadcom NSP IOMUX driver" 205 depends on (ARCH_BCM_NSP || COMPILE_TEST) 206 depends on OF 207 select PINMUX 208 select GENERIC_PINCONF 209 default ARCH_BCM_NSP 210 help 211 Say yes here to enable the Broadcom NSP SOC IOMUX driver. 212 213 The Broadcom Northstar Plus IOMUX driver supports pin based IOMUX 214 configuration, with certain individual pins can be overridden 215 to GPIO function. 216