blob: ced7cc6ab44fdc6a97000f185938b2006ee4eb7b [file] [log] [blame]
Thomas Gleixnerec8f24b2019-05-19 13:07:45 +01001# SPDX-License-Identifier: GPL-2.0-only
Ray Juib17f2f92015-03-04 16:35:49 -08002#
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
Florian Fainelli652da8242015-12-01 17:41:30 -080013 default ARCH_BCM_MOBILE
Ray Juib17f2f92015-03-04 16:35:49 -080014 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
Doug Bergeree11f862019-05-09 13:59:54 -070021 bool "Broadcom BCM2835 GPIO (with PINCONF) driver"
YueHaibing138f79d2019-05-28 17:13:04 +080022 depends on OF && (ARCH_BCM2835 || ARCH_BRCMSTB || COMPILE_TEST)
Ray Juib17f2f92015-03-04 16:35:49 -080023 select PINMUX
24 select PINCONF
Matheus Castello0de70492018-04-30 20:42:13 -040025 select GENERIC_PINCONF
Necip Fazil Yildiran513034d2020-09-14 17:40:26 +030026 select GPIOLIB
Linus Walleij85ae9e52016-11-14 18:48:19 +010027 select GPIOLIB_IRQCHIP
Doug Bergeree11f862019-05-09 13:59:54 -070028 default ARCH_BCM2835 || ARCH_BRCMSTB
29 help
30 Say Y here to enable the Broadcom BCM2835 GPIO driver.
Ray Juicbd159e2015-03-04 16:35:51 -080031
Álvaro Fernández Rojas132f9502021-03-24 09:19:05 +010032config PINCTRL_BCM63XX
33 bool
34 select GENERIC_PINCONF
35 select GPIO_REGMAP
36 select PINCONF
37 select PINMUX
38
Álvaro Fernández Rojas9bf34ac2021-03-24 09:19:08 +010039config PINCTRL_BCM6328
40 bool "Broadcom BCM6328 GPIO driver"
41 depends on (BMIPS_GENERIC || COMPILE_TEST)
42 select PINCTRL_BCM63XX
43 default BMIPS_GENERIC
44 help
45 Say Y here to enable the Broadcom BCM6328 GPIO driver.
46
Álvaro Fernández Rojas9494b162021-03-24 09:19:11 +010047config PINCTRL_BCM6358
48 bool "Broadcom BCM6358 GPIO driver"
49 depends on (BMIPS_GENERIC || COMPILE_TEST)
50 select PINCTRL_BCM63XX
51 default BMIPS_GENERIC
52 help
53 Say Y here to enable the Broadcom BCM6358 GPIO driver.
54
Pramod Kumar616043d2015-11-19 09:22:19 +053055config PINCTRL_IPROC_GPIO
56 bool "Broadcom iProc GPIO (with PINCONF) driver"
57 depends on OF_GPIO && (ARCH_BCM_IPROC || COMPILE_TEST)
Ray Juib64333c2015-03-09 13:45:00 -070058 select GPIOLIB_IRQCHIP
59 select PINCONF
60 select GENERIC_PINCONF
Pramod Kumar616043d2015-11-19 09:22:19 +053061 default ARCH_BCM_IPROC
Ray Juib64333c2015-03-09 13:45:00 -070062 help
Pramod Kumar616043d2015-11-19 09:22:19 +053063 Say yes here to enable the Broadcom iProc GPIO driver.
64
65 The Broadcom iProc based SoCs- Cygnus, NS2, NSP and Stingray, use
66 same GPIO Controller IP hence this driver could be used for all.
Ray Juib64333c2015-03-09 13:45:00 -070067
68 The Broadcom Cygnus SoC has 3 GPIO controllers including the ASIU
69 GPIO controller (ASIU), the chipCommonG GPIO controller (CCM), and
70 the always-ON GPIO controller (CRMU/AON). All 3 GPIO controllers are
71 supported by this driver.
72
Pramod Kumar616043d2015-11-19 09:22:19 +053073 The Broadcom NSP has two GPIO controllers including the ChipcommonA
74 GPIO, the ChipcommonB GPIO. Later controller is supported by this
75 driver.
76
77 The Broadcom NS2 has two GPIO controller including the CRMU GPIO,
78 the ChipcommonG GPIO. Both controllers are supported by this driver.
79
80 The Broadcom Stingray GPIO controllers are supported by this driver.
81
82 All above SoCs GPIO controllers support basic PINCONF functions such
Ray Juib64333c2015-03-09 13:45:00 -070083 as bias pull up, pull down, and drive strength configurations, when
84 these pins are muxed to GPIO.
85
Pramod Kumar616043d2015-11-19 09:22:19 +053086 It provides the framework where pins from the individual GPIO can be
87 individually muxed to GPIO function, through interaction with the
88 SoCs IOMUX controller. This features could be used only on SoCs which
89 support individual pin muxing.
Ray Juib64333c2015-03-09 13:45:00 -070090
Ray Juicbd159e2015-03-04 16:35:51 -080091config PINCTRL_CYGNUS_MUX
92 bool "Broadcom Cygnus IOMUX driver"
93 depends on (ARCH_BCM_CYGNUS || COMPILE_TEST)
Arnd Bergmann53056f52016-07-15 22:29:54 +020094 depends on OF
Ray Juicbd159e2015-03-04 16:35:51 -080095 select PINMUX
96 select GENERIC_PINCONF
97 default ARCH_BCM_CYGNUS
98 help
99 Say yes here to enable the Broadcom Cygnus IOMUX driver.
100
101 The Broadcom Cygnus IOMUX driver supports group based IOMUX
102 configuration, with the exception that certain individual pins
Masahiro Yamada03671052017-02-27 14:29:28 -0800103 can be overridden to GPIO function
Yendapally Reddy Dhananjaya Reddy8bfcbbb2015-12-04 12:11:42 -0500104
Rafał Miłeckic12fb172018-09-26 21:31:03 +0200105config PINCTRL_NS
106 bool "Broadcom Northstar pins driver"
107 depends on OF && (ARCH_BCM_5301X || COMPILE_TEST)
108 select PINMUX
109 select GENERIC_PINCONF
110 default ARCH_BCM_5301X
111 help
112 Say yes here to enable the Broadcom NS SoC pins driver.
113
114 The Broadcom Northstar pins driver supports muxing multi-purpose pins
115 that can be used for various functions (e.g. SPI, I2C, UART) as well
116 as GPIOs.
117
Yendapally Reddy Dhananjaya Reddy8bfcbbb2015-12-04 12:11:42 -0500118config PINCTRL_NSP_GPIO
119 bool "Broadcom NSP GPIO (with PINCONF) driver"
120 depends on OF_GPIO && (ARCH_BCM_NSP || COMPILE_TEST)
121 select GPIOLIB_IRQCHIP
122 select PINCONF
123 select GENERIC_PINCONF
124 default ARCH_BCM_NSP
125 help
126 Say yes here to enable the Broadcom NSP GPIO driver.
127
128 The Broadcom Northstar Plus SoC ChipcommonA GPIO controller is
129 supported by this driver.
130
131 The ChipcommonA GPIO controller support basic PINCONF functions such
132 as bias pull up, pull down, and drive strength configurations, when
133 these pins are muxed to GPIO.
Yendapally Reddy Dhananjaya Reddyb5aa1002016-04-29 08:51:38 -0400134
135config PINCTRL_NS2_MUX
136 bool "Broadcom Northstar2 pinmux driver"
137 depends on OF
138 depends on ARCH_BCM_IPROC || COMPILE_TEST
139 select PINMUX
140 select GENERIC_PINCONF
141 default ARM64 && ARCH_BCM_IPROC
142 help
143 Say yes here to enable the Broadcom NS2 MUX driver.
144
145 The Broadcom Northstar2 IOMUX driver supports group based IOMUX
146 configuration.
Yendapally Reddy Dhananjaya Reddycc4fa832016-06-23 13:35:07 -0400147
148config PINCTRL_NSP_MUX
149 bool "Broadcom NSP IOMUX driver"
150 depends on (ARCH_BCM_NSP || COMPILE_TEST)
Arnd Bergmann53056f52016-07-15 22:29:54 +0200151 depends on OF
Yendapally Reddy Dhananjaya Reddycc4fa832016-06-23 13:35:07 -0400152 select PINMUX
153 select GENERIC_PINCONF
154 default ARCH_BCM_NSP
155 help
156 Say yes here to enable the Broadcom NSP SOC IOMUX driver.
157
158 The Broadcom Northstar Plus IOMUX driver supports pin based IOMUX
159 configuration, with certain individual pins can be overridden
160 to GPIO function.