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_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 select GENERIC_PINCTRL_GROUPS 151 select GENERIC_PINMUX_FUNCTIONS 152 default ARCH_BCM_5301X 153 help 154 Say yes here to enable the Broadcom NS SoC pins driver. 155 156 The Broadcom Northstar pins driver supports muxing multi-purpose pins 157 that can be used for various functions (e.g. SPI, I2C, UART) as well 158 as GPIOs. 159 160config PINCTRL_NSP_GPIO 161 bool "Broadcom NSP GPIO (with PINCONF) driver" 162 depends on OF_GPIO && (ARCH_BCM_NSP || COMPILE_TEST) 163 select GPIOLIB_IRQCHIP 164 select PINCONF 165 select GENERIC_PINCONF 166 default ARCH_BCM_NSP 167 help 168 Say yes here to enable the Broadcom NSP GPIO driver. 169 170 The Broadcom Northstar Plus SoC ChipcommonA GPIO controller is 171 supported by this driver. 172 173 The ChipcommonA GPIO controller support basic PINCONF functions such 174 as bias pull up, pull down, and drive strength configurations, when 175 these pins are muxed to GPIO. 176 177config PINCTRL_NS2_MUX 178 bool "Broadcom Northstar2 pinmux driver" 179 depends on OF 180 depends on ARCH_BCM_IPROC || COMPILE_TEST 181 select PINMUX 182 select GENERIC_PINCONF 183 default ARM64 && ARCH_BCM_IPROC 184 help 185 Say yes here to enable the Broadcom NS2 MUX driver. 186 187 The Broadcom Northstar2 IOMUX driver supports group based IOMUX 188 configuration. 189 190config PINCTRL_NSP_MUX 191 bool "Broadcom NSP IOMUX driver" 192 depends on (ARCH_BCM_NSP || COMPILE_TEST) 193 depends on OF 194 select PINMUX 195 select GENERIC_PINCONF 196 default ARCH_BCM_NSP 197 help 198 Say yes here to enable the Broadcom NSP SOC IOMUX driver. 199 200 The Broadcom Northstar Plus IOMUX driver supports pin based IOMUX 201 configuration, with certain individual pins can be overridden 202 to GPIO function. 203