1# 2# Broadcom pinctrl drivers 3# 4 5config PINCTRL_BCM281XX 6 bool "Broadcom BCM281xx pinctrl driver" 7 depends on OF && (ARCH_BCM_MOBILE || COMPILE_TEST) 8 select PINMUX 9 select PINCONF 10 select GENERIC_PINCONF 11 select REGMAP_MMIO 12 default ARCH_BCM_MOBILE 13 help 14 Say Y here to support Broadcom BCM281xx pinctrl driver, which is used 15 for the BCM281xx SoC family, including BCM11130, BCM11140, BCM11351, 16 BCM28145, and BCM28155 SoCs. This driver requires the pinctrl 17 framework. GPIO is provided by a separate GPIO driver. 18 19config PINCTRL_BCM2835 20 bool 21 select PINMUX 22 select PINCONF 23 24config PINCTRL_IPROC_GPIO 25 bool "Broadcom iProc GPIO (with PINCONF) driver" 26 depends on OF_GPIO && (ARCH_BCM_IPROC || COMPILE_TEST) 27 select GPIOLIB_IRQCHIP 28 select PINCONF 29 select GENERIC_PINCONF 30 default ARCH_BCM_IPROC 31 help 32 Say yes here to enable the Broadcom iProc GPIO driver. 33 34 The Broadcom iProc based SoCs- Cygnus, NS2, NSP and Stingray, use 35 same GPIO Controller IP hence this driver could be used for all. 36 37 The Broadcom Cygnus SoC has 3 GPIO controllers including the ASIU 38 GPIO controller (ASIU), the chipCommonG GPIO controller (CCM), and 39 the always-ON GPIO controller (CRMU/AON). All 3 GPIO controllers are 40 supported by this driver. 41 42 The Broadcom NSP has two GPIO controllers including the ChipcommonA 43 GPIO, the ChipcommonB GPIO. Later controller is supported by this 44 driver. 45 46 The Broadcom NS2 has two GPIO controller including the CRMU GPIO, 47 the ChipcommonG GPIO. Both controllers are supported by this driver. 48 49 The Broadcom Stingray GPIO controllers are supported by this driver. 50 51 All above SoCs GPIO controllers support basic PINCONF functions such 52 as bias pull up, pull down, and drive strength configurations, when 53 these pins are muxed to GPIO. 54 55 It provides the framework where pins from the individual GPIO can be 56 individually muxed to GPIO function, through interaction with the 57 SoCs IOMUX controller. This features could be used only on SoCs which 58 support individual pin muxing. 59 60config PINCTRL_CYGNUS_MUX 61 bool "Broadcom Cygnus IOMUX driver" 62 depends on (ARCH_BCM_CYGNUS || COMPILE_TEST) 63 depends on OF 64 select PINMUX 65 select GENERIC_PINCONF 66 default ARCH_BCM_CYGNUS 67 help 68 Say yes here to enable the Broadcom Cygnus IOMUX driver. 69 70 The Broadcom Cygnus IOMUX driver supports group based IOMUX 71 configuration, with the exception that certain individual pins 72 can be overrided to GPIO function 73 74config PINCTRL_NSP_GPIO 75 bool "Broadcom NSP GPIO (with PINCONF) driver" 76 depends on OF_GPIO && (ARCH_BCM_NSP || COMPILE_TEST) 77 select GPIOLIB_IRQCHIP 78 select PINCONF 79 select GENERIC_PINCONF 80 default ARCH_BCM_NSP 81 help 82 Say yes here to enable the Broadcom NSP GPIO driver. 83 84 The Broadcom Northstar Plus SoC ChipcommonA GPIO controller is 85 supported by this driver. 86 87 The ChipcommonA GPIO controller support basic PINCONF functions such 88 as bias pull up, pull down, and drive strength configurations, when 89 these pins are muxed to GPIO. 90 91config PINCTRL_NS2_MUX 92 bool "Broadcom Northstar2 pinmux driver" 93 depends on OF 94 depends on ARCH_BCM_IPROC || COMPILE_TEST 95 select PINMUX 96 select GENERIC_PINCONF 97 default ARM64 && ARCH_BCM_IPROC 98 help 99 Say yes here to enable the Broadcom NS2 MUX driver. 100 101 The Broadcom Northstar2 IOMUX driver supports group based IOMUX 102 configuration. 103 104config PINCTRL_NSP_MUX 105 bool "Broadcom NSP IOMUX driver" 106 depends on (ARCH_BCM_NSP || COMPILE_TEST) 107 depends on OF 108 select PINMUX 109 select GENERIC_PINCONF 110 default ARCH_BCM_NSP 111 help 112 Say yes here to enable the Broadcom NSP SOC IOMUX driver. 113 114 The Broadcom Northstar Plus IOMUX driver supports pin based IOMUX 115 configuration, with certain individual pins can be overridden 116 to GPIO function. 117