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