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_IPROC_GPIO 40 bool "Broadcom iProc GPIO (with PINCONF) driver" 41 depends on OF_GPIO && (ARCH_BCM_IPROC || COMPILE_TEST) 42 select GPIOLIB_IRQCHIP 43 select PINCONF 44 select GENERIC_PINCONF 45 default ARCH_BCM_IPROC 46 help 47 Say yes here to enable the Broadcom iProc GPIO driver. 48 49 The Broadcom iProc based SoCs- Cygnus, NS2, NSP and Stingray, use 50 same GPIO Controller IP hence this driver could be used for all. 51 52 The Broadcom Cygnus SoC has 3 GPIO controllers including the ASIU 53 GPIO controller (ASIU), the chipCommonG GPIO controller (CCM), and 54 the always-ON GPIO controller (CRMU/AON). All 3 GPIO controllers are 55 supported by this driver. 56 57 The Broadcom NSP has two GPIO controllers including the ChipcommonA 58 GPIO, the ChipcommonB GPIO. Later controller is supported by this 59 driver. 60 61 The Broadcom NS2 has two GPIO controller including the CRMU GPIO, 62 the ChipcommonG GPIO. Both controllers are supported by this driver. 63 64 The Broadcom Stingray GPIO controllers are supported by this driver. 65 66 All above SoCs GPIO controllers support basic PINCONF functions such 67 as bias pull up, pull down, and drive strength configurations, when 68 these pins are muxed to GPIO. 69 70 It provides the framework where pins from the individual GPIO can be 71 individually muxed to GPIO function, through interaction with the 72 SoCs IOMUX controller. This features could be used only on SoCs which 73 support individual pin muxing. 74 75config PINCTRL_CYGNUS_MUX 76 bool "Broadcom Cygnus IOMUX driver" 77 depends on (ARCH_BCM_CYGNUS || COMPILE_TEST) 78 depends on OF 79 select PINMUX 80 select GENERIC_PINCONF 81 default ARCH_BCM_CYGNUS 82 help 83 Say yes here to enable the Broadcom Cygnus IOMUX driver. 84 85 The Broadcom Cygnus IOMUX driver supports group based IOMUX 86 configuration, with the exception that certain individual pins 87 can be overridden to GPIO function 88 89config PINCTRL_NS 90 bool "Broadcom Northstar pins driver" 91 depends on OF && (ARCH_BCM_5301X || COMPILE_TEST) 92 select PINMUX 93 select GENERIC_PINCONF 94 default ARCH_BCM_5301X 95 help 96 Say yes here to enable the Broadcom NS SoC pins driver. 97 98 The Broadcom Northstar pins driver supports muxing multi-purpose pins 99 that can be used for various functions (e.g. SPI, I2C, UART) as well 100 as GPIOs. 101 102config PINCTRL_NSP_GPIO 103 bool "Broadcom NSP GPIO (with PINCONF) driver" 104 depends on OF_GPIO && (ARCH_BCM_NSP || COMPILE_TEST) 105 select GPIOLIB_IRQCHIP 106 select PINCONF 107 select GENERIC_PINCONF 108 default ARCH_BCM_NSP 109 help 110 Say yes here to enable the Broadcom NSP GPIO driver. 111 112 The Broadcom Northstar Plus SoC ChipcommonA GPIO controller is 113 supported by this driver. 114 115 The ChipcommonA GPIO controller support basic PINCONF functions such 116 as bias pull up, pull down, and drive strength configurations, when 117 these pins are muxed to GPIO. 118 119config PINCTRL_NS2_MUX 120 bool "Broadcom Northstar2 pinmux driver" 121 depends on OF 122 depends on ARCH_BCM_IPROC || COMPILE_TEST 123 select PINMUX 124 select GENERIC_PINCONF 125 default ARM64 && ARCH_BCM_IPROC 126 help 127 Say yes here to enable the Broadcom NS2 MUX driver. 128 129 The Broadcom Northstar2 IOMUX driver supports group based IOMUX 130 configuration. 131 132config PINCTRL_NSP_MUX 133 bool "Broadcom NSP IOMUX driver" 134 depends on (ARCH_BCM_NSP || COMPILE_TEST) 135 depends on OF 136 select PINMUX 137 select GENERIC_PINCONF 138 default ARCH_BCM_NSP 139 help 140 Say yes here to enable the Broadcom NSP SOC IOMUX driver. 141 142 The Broadcom Northstar Plus IOMUX driver supports pin based IOMUX 143 configuration, with certain individual pins can be overridden 144 to GPIO function. 145