217 lines · plain
1# SPDX-License-Identifier: GPL-2.0-only2#3# Broadcom pinctrl drivers4#5 6config PINCTRL_BCM281XX7 bool "Broadcom BCM281xx pinctrl driver"8 depends on OF && (ARCH_BCM_MOBILE || COMPILE_TEST)9 select PINMUX10 select PINCONF11 select GENERIC_PINCONF12 select REGMAP_MMIO13 default ARCH_BCM_MOBILE14 help15 Say Y here to support Broadcom BCM281xx pinctrl driver, which is used16 for the BCM281xx SoC family, including BCM11130, BCM11140, BCM11351,17 BCM28145, and BCM28155 SoCs. This driver requires the pinctrl18 framework. GPIO is provided by a separate GPIO driver.19 20config PINCTRL_BCM283521 tristate "Broadcom BCM2835 GPIO (with PINCONF) driver"22 depends on OF && (ARCH_BCM2835 || ARCH_BRCMSTB || COMPILE_TEST)23 select PINMUX24 select PINCONF25 select GENERIC_PINCONF26 select GPIOLIB27 select GPIOLIB_IRQCHIP28 default ARCH_BCM2835 || ARCH_BRCMSTB29 help30 Say Y here to enable the Broadcom BCM2835 GPIO driver.31 32config PINCTRL_BCM490833 tristate "Broadcom BCM4908 pinmux driver"34 depends on OF && (ARCH_BCMBCA || COMPILE_TEST)35 select PINMUX36 select PINCONF37 select GENERIC_PINCONF38 select GENERIC_PINCTRL_GROUPS39 select GENERIC_PINMUX_FUNCTIONS40 default ARCH_BCMBCA41 help42 Driver for BCM4908 family SoCs with integrated pin controller.43 44 If compiled as module it will be called pinctrl-bcm4908.45 46config PINCTRL_BCM63XX47 bool48 select PINMUX49 select PINCONF50 select GENERIC_PINCONF51 select GPIOLIB52 select REGMAP53 select GPIO_REGMAP54 55config PINCTRL_BCM631856 bool "Broadcom BCM6318 GPIO driver"57 depends on (BMIPS_GENERIC || COMPILE_TEST)58 depends on OF59 select PINCTRL_BCM63XX60 default BMIPS_GENERIC61 help62 Say Y here to enable the Broadcom BCM6318 GPIO driver.63 64config PINCTRL_BCM632865 bool "Broadcom BCM6328 GPIO driver"66 depends on (BMIPS_GENERIC || COMPILE_TEST)67 depends on OF68 select PINCTRL_BCM63XX69 default BMIPS_GENERIC70 help71 Say Y here to enable the Broadcom BCM6328 GPIO driver.72 73config PINCTRL_BCM635874 bool "Broadcom BCM6358 GPIO driver"75 depends on (BMIPS_GENERIC || COMPILE_TEST)76 depends on OF77 select PINCTRL_BCM63XX78 default BMIPS_GENERIC79 help80 Say Y here to enable the Broadcom BCM6358 GPIO driver.81 82config PINCTRL_BCM636283 bool "Broadcom BCM6362 GPIO driver"84 depends on (BMIPS_GENERIC || COMPILE_TEST)85 depends on OF86 select PINCTRL_BCM63XX87 default BMIPS_GENERIC88 help89 Say Y here to enable the Broadcom BCM6362 GPIO driver.90 91config PINCTRL_BCM636892 bool "Broadcom BCM6368 GPIO driver"93 depends on (BMIPS_GENERIC || COMPILE_TEST)94 depends on OF95 select PINCTRL_BCM63XX96 default BMIPS_GENERIC97 help98 Say Y here to enable the Broadcom BCM6368 GPIO driver.99 100config PINCTRL_BCM63268101 bool "Broadcom BCM63268 GPIO driver"102 depends on (BMIPS_GENERIC || COMPILE_TEST)103 depends on OF104 select PINCTRL_BCM63XX105 default BMIPS_GENERIC106 help107 Say Y here to enable the Broadcom BCM63268 GPIO driver.108 109config PINCTRL_IPROC_GPIO110 bool "Broadcom iProc GPIO (with PINCONF) driver"111 depends on OF_GPIO && (ARCH_BCM_IPROC || COMPILE_TEST)112 select GPIOLIB_IRQCHIP113 select PINCONF114 select GENERIC_PINCONF115 default ARCH_BCM_IPROC116 help117 Say yes here to enable the Broadcom iProc GPIO driver.118 119 The Broadcom iProc based SoCs- Cygnus, NS2, NSP and Stingray, use120 same GPIO Controller IP hence this driver could be used for all.121 122 The Broadcom Cygnus SoC has 3 GPIO controllers including the ASIU123 GPIO controller (ASIU), the chipCommonG GPIO controller (CCM), and124 the always-ON GPIO controller (CRMU/AON). All 3 GPIO controllers are125 supported by this driver.126 127 The Broadcom NSP has two GPIO controllers including the ChipcommonA128 GPIO, the ChipcommonB GPIO. Later controller is supported by this129 driver.130 131 The Broadcom NS2 has two GPIO controller including the CRMU GPIO,132 the ChipcommonG GPIO. Both controllers are supported by this driver.133 134 The Broadcom Stingray GPIO controllers are supported by this driver.135 136 All above SoCs GPIO controllers support basic PINCONF functions such137 as bias pull up, pull down, and drive strength configurations, when138 these pins are muxed to GPIO.139 140 It provides the framework where pins from the individual GPIO can be141 individually muxed to GPIO function, through interaction with the142 SoCs IOMUX controller. This features could be used only on SoCs which143 support individual pin muxing.144 145config PINCTRL_CYGNUS_MUX146 bool "Broadcom Cygnus IOMUX driver"147 depends on (ARCH_BCM_CYGNUS || COMPILE_TEST)148 depends on OF149 select PINMUX150 select GENERIC_PINCONF151 default ARCH_BCM_CYGNUS152 help153 Say yes here to enable the Broadcom Cygnus IOMUX driver.154 155 The Broadcom Cygnus IOMUX driver supports group based IOMUX156 configuration, with the exception that certain individual pins157 can be overridden to GPIO function158 159config PINCTRL_NS160 bool "Broadcom Northstar pins driver"161 depends on OF && (ARCH_BCM_5301X || COMPILE_TEST)162 select PINMUX163 select GENERIC_PINCONF164 select GENERIC_PINCTRL_GROUPS165 select GENERIC_PINMUX_FUNCTIONS166 default ARCH_BCM_5301X167 help168 Say yes here to enable the Broadcom NS SoC pins driver.169 170 The Broadcom Northstar pins driver supports muxing multi-purpose pins171 that can be used for various functions (e.g. SPI, I2C, UART) as well172 as GPIOs.173 174config PINCTRL_NSP_GPIO175 bool "Broadcom NSP GPIO (with PINCONF) driver"176 depends on OF_GPIO && (ARCH_BCM_NSP || COMPILE_TEST)177 select GPIOLIB_IRQCHIP178 select PINCONF179 select GENERIC_PINCONF180 default ARCH_BCM_NSP181 help182 Say yes here to enable the Broadcom NSP GPIO driver.183 184 The Broadcom Northstar Plus SoC ChipcommonA GPIO controller is185 supported by this driver.186 187 The ChipcommonA GPIO controller support basic PINCONF functions such188 as bias pull up, pull down, and drive strength configurations, when189 these pins are muxed to GPIO.190 191config PINCTRL_NS2_MUX192 bool "Broadcom Northstar2 pinmux driver"193 depends on OF194 depends on ARCH_BCM_IPROC || COMPILE_TEST195 select PINMUX196 select GENERIC_PINCONF197 default ARM64 && ARCH_BCM_IPROC198 help199 Say yes here to enable the Broadcom NS2 MUX driver.200 201 The Broadcom Northstar2 IOMUX driver supports group based IOMUX202 configuration.203 204config PINCTRL_NSP_MUX205 bool "Broadcom NSP IOMUX driver"206 depends on (ARCH_BCM_NSP || COMPILE_TEST)207 depends on OF208 select PINMUX209 select GENERIC_PINCONF210 default ARCH_BCM_NSP211 help212 Say yes here to enable the Broadcom NSP SOC IOMUX driver.213 214 The Broadcom Northstar Plus IOMUX driver supports pin based IOMUX215 configuration, with certain individual pins can be overridden216 to GPIO function.217