| # SPDX-License-Identifier: GPL-2.0-only |
| # |
| # Broadcom pinctrl drivers |
| # |
| |
| config PINCTRL_BCM281XX |
| bool "Broadcom BCM281xx pinctrl driver" |
| depends on OF && (ARCH_BCM_MOBILE || COMPILE_TEST) |
| select PINMUX |
| select PINCONF |
| select GENERIC_PINCONF |
| select REGMAP_MMIO |
| default ARCH_BCM_MOBILE |
| help |
| Say Y here to support Broadcom BCM281xx pinctrl driver, which is used |
| for the BCM281xx SoC family, including BCM11130, BCM11140, BCM11351, |
| BCM28145, and BCM28155 SoCs. This driver requires the pinctrl |
| framework. GPIO is provided by a separate GPIO driver. |
| |
| config PINCTRL_BCM2835 |
| tristate "Broadcom BCM2835 GPIO (with PINCONF) driver" |
| depends on OF && (ARCH_BCM2835 || ARCH_BRCMSTB || COMPILE_TEST) |
| select PINMUX |
| select PINCONF |
| select GENERIC_PINCONF |
| select GPIOLIB |
| select GPIOLIB_IRQCHIP |
| default ARCH_BCM2835 || ARCH_BRCMSTB |
| help |
| Say Y here to enable the Broadcom BCM2835 GPIO driver. |
| |
| config PINCTRL_BCM4908 |
| tristate "Broadcom BCM4908 pinmux driver" |
| depends on OF && (ARCH_BCM4908 || COMPILE_TEST) |
| select PINMUX |
| select PINCONF |
| select GENERIC_PINCONF |
| select GENERIC_PINCTRL_GROUPS |
| select GENERIC_PINMUX_FUNCTIONS |
| default ARCH_BCM4908 |
| help |
| Driver for BCM4908 family SoCs with integrated pin controller. |
| |
| If compiled as module it will be called pinctrl-bcm4908. |
| |
| config PINCTRL_BCM63XX |
| bool |
| select PINMUX |
| select PINCONF |
| select GENERIC_PINCONF |
| select GPIOLIB |
| select REGMAP |
| select GPIO_REGMAP |
| |
| config PINCTRL_BCM6318 |
| bool "Broadcom BCM6318 GPIO driver" |
| depends on (BMIPS_GENERIC || COMPILE_TEST) |
| depends on OF |
| select PINCTRL_BCM63XX |
| default BMIPS_GENERIC |
| help |
| Say Y here to enable the Broadcom BCM6318 GPIO driver. |
| |
| config PINCTRL_BCM6328 |
| bool "Broadcom BCM6328 GPIO driver" |
| depends on (BMIPS_GENERIC || COMPILE_TEST) |
| depends on OF |
| select PINCTRL_BCM63XX |
| default BMIPS_GENERIC |
| help |
| Say Y here to enable the Broadcom BCM6328 GPIO driver. |
| |
| config PINCTRL_BCM6358 |
| bool "Broadcom BCM6358 GPIO driver" |
| depends on (BMIPS_GENERIC || COMPILE_TEST) |
| depends on OF |
| select PINCTRL_BCM63XX |
| default BMIPS_GENERIC |
| help |
| Say Y here to enable the Broadcom BCM6358 GPIO driver. |
| |
| config PINCTRL_BCM6362 |
| bool "Broadcom BCM6362 GPIO driver" |
| depends on (BMIPS_GENERIC || COMPILE_TEST) |
| depends on OF |
| select PINCTRL_BCM63XX |
| default BMIPS_GENERIC |
| help |
| Say Y here to enable the Broadcom BCM6362 GPIO driver. |
| |
| config PINCTRL_BCM6368 |
| bool "Broadcom BCM6368 GPIO driver" |
| depends on (BMIPS_GENERIC || COMPILE_TEST) |
| depends on OF |
| select PINCTRL_BCM63XX |
| default BMIPS_GENERIC |
| help |
| Say Y here to enable the Broadcom BCM6368 GPIO driver. |
| |
| config PINCTRL_BCM63268 |
| bool "Broadcom BCM63268 GPIO driver" |
| depends on (BMIPS_GENERIC || COMPILE_TEST) |
| depends on OF |
| select PINCTRL_BCM63XX |
| default BMIPS_GENERIC |
| help |
| Say Y here to enable the Broadcom BCM63268 GPIO driver. |
| |
| config PINCTRL_IPROC_GPIO |
| bool "Broadcom iProc GPIO (with PINCONF) driver" |
| depends on OF_GPIO && (ARCH_BCM_IPROC || COMPILE_TEST) |
| select GPIOLIB_IRQCHIP |
| select PINCONF |
| select GENERIC_PINCONF |
| default ARCH_BCM_IPROC |
| help |
| Say yes here to enable the Broadcom iProc GPIO driver. |
| |
| The Broadcom iProc based SoCs- Cygnus, NS2, NSP and Stingray, use |
| same GPIO Controller IP hence this driver could be used for all. |
| |
| The Broadcom Cygnus SoC has 3 GPIO controllers including the ASIU |
| GPIO controller (ASIU), the chipCommonG GPIO controller (CCM), and |
| the always-ON GPIO controller (CRMU/AON). All 3 GPIO controllers are |
| supported by this driver. |
| |
| The Broadcom NSP has two GPIO controllers including the ChipcommonA |
| GPIO, the ChipcommonB GPIO. Later controller is supported by this |
| driver. |
| |
| The Broadcom NS2 has two GPIO controller including the CRMU GPIO, |
| the ChipcommonG GPIO. Both controllers are supported by this driver. |
| |
| The Broadcom Stingray GPIO controllers are supported by this driver. |
| |
| All above SoCs GPIO controllers support basic PINCONF functions such |
| as bias pull up, pull down, and drive strength configurations, when |
| these pins are muxed to GPIO. |
| |
| It provides the framework where pins from the individual GPIO can be |
| individually muxed to GPIO function, through interaction with the |
| SoCs IOMUX controller. This features could be used only on SoCs which |
| support individual pin muxing. |
| |
| config PINCTRL_CYGNUS_MUX |
| bool "Broadcom Cygnus IOMUX driver" |
| depends on (ARCH_BCM_CYGNUS || COMPILE_TEST) |
| depends on OF |
| select PINMUX |
| select GENERIC_PINCONF |
| default ARCH_BCM_CYGNUS |
| help |
| Say yes here to enable the Broadcom Cygnus IOMUX driver. |
| |
| The Broadcom Cygnus IOMUX driver supports group based IOMUX |
| configuration, with the exception that certain individual pins |
| can be overridden to GPIO function |
| |
| config PINCTRL_NS |
| bool "Broadcom Northstar pins driver" |
| depends on OF && (ARCH_BCM_5301X || COMPILE_TEST) |
| select PINMUX |
| select GENERIC_PINCONF |
| select GENERIC_PINCTRL_GROUPS |
| select GENERIC_PINMUX_FUNCTIONS |
| default ARCH_BCM_5301X |
| help |
| Say yes here to enable the Broadcom NS SoC pins driver. |
| |
| The Broadcom Northstar pins driver supports muxing multi-purpose pins |
| that can be used for various functions (e.g. SPI, I2C, UART) as well |
| as GPIOs. |
| |
| config PINCTRL_NSP_GPIO |
| bool "Broadcom NSP GPIO (with PINCONF) driver" |
| depends on OF_GPIO && (ARCH_BCM_NSP || COMPILE_TEST) |
| select GPIOLIB_IRQCHIP |
| select PINCONF |
| select GENERIC_PINCONF |
| default ARCH_BCM_NSP |
| help |
| Say yes here to enable the Broadcom NSP GPIO driver. |
| |
| The Broadcom Northstar Plus SoC ChipcommonA GPIO controller is |
| supported by this driver. |
| |
| The ChipcommonA GPIO controller support basic PINCONF functions such |
| as bias pull up, pull down, and drive strength configurations, when |
| these pins are muxed to GPIO. |
| |
| config PINCTRL_NS2_MUX |
| bool "Broadcom Northstar2 pinmux driver" |
| depends on OF |
| depends on ARCH_BCM_IPROC || COMPILE_TEST |
| select PINMUX |
| select GENERIC_PINCONF |
| default ARM64 && ARCH_BCM_IPROC |
| help |
| Say yes here to enable the Broadcom NS2 MUX driver. |
| |
| The Broadcom Northstar2 IOMUX driver supports group based IOMUX |
| configuration. |
| |
| config PINCTRL_NSP_MUX |
| bool "Broadcom NSP IOMUX driver" |
| depends on (ARCH_BCM_NSP || COMPILE_TEST) |
| depends on OF |
| select PINMUX |
| select GENERIC_PINCONF |
| default ARCH_BCM_NSP |
| help |
| Say yes here to enable the Broadcom NSP SOC IOMUX driver. |
| |
| The Broadcom Northstar Plus IOMUX driver supports pin based IOMUX |
| configuration, with certain individual pins can be overridden |
| to GPIO function. |