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 bool "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_BCM63XX 33 bool 34 select PINMUX 35 select PINCONF 36 select GENERIC_PINCONF 37 select GPIOLIB 38 select REGMAP 39 select GPIO_REGMAP 40 41config PINCTRL_BCM6318 42 bool "Broadcom BCM6318 GPIO driver" 43 depends on (BMIPS_GENERIC || COMPILE_TEST) 44 depends on OF 45 select PINCTRL_BCM63XX 46 default BMIPS_GENERIC 47 help 48 Say Y here to enable the Broadcom BCM6318 GPIO driver. 49 50config PINCTRL_BCM6328 51 bool "Broadcom BCM6328 GPIO driver" 52 depends on (BMIPS_GENERIC || COMPILE_TEST) 53 depends on OF 54 select PINCTRL_BCM63XX 55 default BMIPS_GENERIC 56 help 57 Say Y here to enable the Broadcom BCM6328 GPIO driver. 58 59config PINCTRL_BCM6358 60 bool "Broadcom BCM6358 GPIO driver" 61 depends on (BMIPS_GENERIC || COMPILE_TEST) 62 depends on OF 63 select PINCTRL_BCM63XX 64 default BMIPS_GENERIC 65 help 66 Say Y here to enable the Broadcom BCM6358 GPIO driver. 67 68config PINCTRL_BCM6362 69 bool "Broadcom BCM6362 GPIO driver" 70 depends on (BMIPS_GENERIC || COMPILE_TEST) 71 depends on OF 72 select PINCTRL_BCM63XX 73 default BMIPS_GENERIC 74 help 75 Say Y here to enable the Broadcom BCM6362 GPIO driver. 76 77config PINCTRL_BCM6368 78 bool "Broadcom BCM6368 GPIO driver" 79 depends on (BMIPS_GENERIC || COMPILE_TEST) 80 depends on OF 81 select PINCTRL_BCM63XX 82 default BMIPS_GENERIC 83 help 84 Say Y here to enable the Broadcom BCM6368 GPIO driver. 85 86config PINCTRL_BCM63268 87 bool "Broadcom BCM63268 GPIO driver" 88 depends on (BMIPS_GENERIC || COMPILE_TEST) 89 depends on OF 90 select PINCTRL_BCM63XX 91 default BMIPS_GENERIC 92 help 93 Say Y here to enable the Broadcom BCM63268 GPIO driver. 94 95config 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 99 select PINCONF 100 select GENERIC_PINCONF 101 default ARCH_BCM_IPROC 102 help 103 Say yes here to enable the Broadcom iProc GPIO driver. 104 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. 107 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. 112 113 The Broadcom NSP has two GPIO controllers including the ChipcommonA 114 GPIO, the ChipcommonB GPIO. Later controller is supported by this 115 driver. 116 117 The Broadcom NS2 has two GPIO controller including the CRMU GPIO, 118 the ChipcommonG GPIO. Both controllers are supported by this driver. 119 120 The Broadcom Stingray GPIO controllers are supported by this driver. 121 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. 125 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. 130 131config PINCTRL_CYGNUS_MUX 132 bool "Broadcom Cygnus IOMUX driver" 133 depends on (ARCH_BCM_CYGNUS || COMPILE_TEST) 134 depends on OF 135 select PINMUX 136 select GENERIC_PINCONF 137 default ARCH_BCM_CYGNUS 138 help 139 Say yes here to enable the Broadcom Cygnus IOMUX driver. 140 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 144 145config PINCTRL_NS 146 bool "Broadcom Northstar pins driver" 147 depends on OF && (ARCH_BCM_5301X || COMPILE_TEST) 148 select PINMUX 149 select GENERIC_PINCONF 150 default ARCH_BCM_5301X 151 help 152 Say yes here to enable the Broadcom NS SoC pins driver. 153 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 156 as GPIOs. 157 158config 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 162 select PINCONF 163 select GENERIC_PINCONF 164 default ARCH_BCM_NSP 165 help 166 Say yes here to enable the Broadcom NSP GPIO driver. 167 168 The Broadcom Northstar Plus SoC ChipcommonA GPIO controller is 169 supported by this driver. 170 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. 174 175config PINCTRL_NS2_MUX 176 bool "Broadcom Northstar2 pinmux driver" 177 depends on OF 178 depends on ARCH_BCM_IPROC || COMPILE_TEST 179 select PINMUX 180 select GENERIC_PINCONF 181 default ARM64 && ARCH_BCM_IPROC 182 help 183 Say yes here to enable the Broadcom NS2 MUX driver. 184 185 The Broadcom Northstar2 IOMUX driver supports group based IOMUX 186 configuration. 187 188config PINCTRL_NSP_MUX 189 bool "Broadcom NSP IOMUX driver" 190 depends on (ARCH_BCM_NSP || COMPILE_TEST) 191 depends on OF 192 select PINMUX 193 select GENERIC_PINCONF 194 default ARCH_BCM_NSP 195 help 196 Say yes here to enable the Broadcom NSP SOC IOMUX driver. 197 198 The Broadcom Northstar Plus IOMUX driver supports pin based IOMUX 199 configuration, with certain individual pins can be overridden 200 to GPIO function. 201