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