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