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