blob: ac1e400bbbac559fd97a76c812c4c758062bb74d [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
Florian Fainelli4434f4c52021-10-19 15:11:21 -070021 tristate "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
Álvaro Fernández Rojas132f9502021-03-24 09:19:05 +010034 select PINMUX
Linus Walleij26ea7ac2021-03-31 14:45:05 +020035 select PINCONF
36 select GENERIC_PINCONF
37 select GPIOLIB
Julian Braha3a528692022-01-17 01:25:57 -050038 select REGMAP
Linus Walleij26ea7ac2021-03-31 14:45:05 +020039 select GPIO_REGMAP
Álvaro Fernández Rojas132f9502021-03-24 09:19:05 +010040
Álvaro Fernández Rojasd28039f2021-03-24 09:19:23 +010041config PINCTRL_BCM6318
42 bool "Broadcom BCM6318 GPIO driver"
43 depends on (BMIPS_GENERIC || COMPILE_TEST)
Randy Dunlapda35b192021-04-01 10:47:03 -070044 depends on OF
Álvaro Fernández Rojasd28039f2021-03-24 09:19:23 +010045 select PINCTRL_BCM63XX
46 default BMIPS_GENERIC
47 help
48 Say Y here to enable the Broadcom BCM6318 GPIO driver.
49
Álvaro Fernández Rojas9bf34ac2021-03-24 09:19:08 +010050config PINCTRL_BCM6328
51 bool "Broadcom BCM6328 GPIO driver"
52 depends on (BMIPS_GENERIC || COMPILE_TEST)
Randy Dunlapda35b192021-04-01 10:47:03 -070053 depends on OF
Álvaro Fernández Rojas9bf34ac2021-03-24 09:19:08 +010054 select PINCTRL_BCM63XX
55 default BMIPS_GENERIC
56 help
57 Say Y here to enable the Broadcom BCM6328 GPIO driver.
58
Álvaro Fernández Rojas9494b162021-03-24 09:19:11 +010059config PINCTRL_BCM6358
60 bool "Broadcom BCM6358 GPIO driver"
61 depends on (BMIPS_GENERIC || COMPILE_TEST)
Randy Dunlapda35b192021-04-01 10:47:03 -070062 depends on OF
Álvaro Fernández Rojas9494b162021-03-24 09:19:11 +010063 select PINCTRL_BCM63XX
64 default BMIPS_GENERIC
65 help
66 Say Y here to enable the Broadcom BCM6358 GPIO driver.
67
Álvaro Fernández Rojas705791e2021-03-24 09:19:14 +010068config PINCTRL_BCM6362
69 bool "Broadcom BCM6362 GPIO driver"
70 depends on (BMIPS_GENERIC || COMPILE_TEST)
Randy Dunlapda35b192021-04-01 10:47:03 -070071 depends on OF
Álvaro Fernández Rojas705791e2021-03-24 09:19:14 +010072 select PINCTRL_BCM63XX
73 default BMIPS_GENERIC
74 help
75 Say Y here to enable the Broadcom BCM6362 GPIO driver.
76
Álvaro Fernández Rojas50554ac2021-03-24 09:19:17 +010077config PINCTRL_BCM6368
78 bool "Broadcom BCM6368 GPIO driver"
79 depends on (BMIPS_GENERIC || COMPILE_TEST)
Randy Dunlapda35b192021-04-01 10:47:03 -070080 depends on OF
Álvaro Fernández Rojas50554ac2021-03-24 09:19:17 +010081 select PINCTRL_BCM63XX
82 default BMIPS_GENERIC
83 help
84 Say Y here to enable the Broadcom BCM6368 GPIO driver.
85
Álvaro Fernández Rojas155cca12021-03-24 09:19:20 +010086config PINCTRL_BCM63268
87 bool "Broadcom BCM63268 GPIO driver"
88 depends on (BMIPS_GENERIC || COMPILE_TEST)
Randy Dunlapda35b192021-04-01 10:47:03 -070089 depends on OF
Álvaro Fernández Rojas155cca12021-03-24 09:19:20 +010090 select PINCTRL_BCM63XX
91 default BMIPS_GENERIC
92 help
93 Say Y here to enable the Broadcom BCM63268 GPIO driver.
94
Pramod Kumar616043d2015-11-19 09:22:19 +053095config PINCTRL_IPROC_GPIO
96 bool "Broadcom iProc GPIO (with PINCONF) driver"
97 depends on OF_GPIO && (ARCH_BCM_IPROC || COMPILE_TEST)
Ray Juib64333c2015-03-09 13:45:00 -070098 select GPIOLIB_IRQCHIP
99 select PINCONF
100 select GENERIC_PINCONF
Pramod Kumar616043d2015-11-19 09:22:19 +0530101 default ARCH_BCM_IPROC
Ray Juib64333c2015-03-09 13:45:00 -0700102 help
Pramod Kumar616043d2015-11-19 09:22:19 +0530103 Say yes here to enable the Broadcom iProc GPIO driver.
104
105 The Broadcom iProc based SoCs- Cygnus, NS2, NSP and Stingray, use
106 same GPIO Controller IP hence this driver could be used for all.
Ray Juib64333c2015-03-09 13:45:00 -0700107
108 The Broadcom Cygnus SoC has 3 GPIO controllers including the ASIU
109 GPIO controller (ASIU), the chipCommonG GPIO controller (CCM), and
110 the always-ON GPIO controller (CRMU/AON). All 3 GPIO controllers are
111 supported by this driver.
112
Pramod Kumar616043d2015-11-19 09:22:19 +0530113 The Broadcom NSP has two GPIO controllers including the ChipcommonA
114 GPIO, the ChipcommonB GPIO. Later controller is supported by this
115 driver.
116
117 The Broadcom NS2 has two GPIO controller including the CRMU GPIO,
118 the ChipcommonG GPIO. Both controllers are supported by this driver.
119
120 The Broadcom Stingray GPIO controllers are supported by this driver.
121
122 All above SoCs GPIO controllers support basic PINCONF functions such
Ray Juib64333c2015-03-09 13:45:00 -0700123 as bias pull up, pull down, and drive strength configurations, when
124 these pins are muxed to GPIO.
125
Pramod Kumar616043d2015-11-19 09:22:19 +0530126 It provides the framework where pins from the individual GPIO can be
127 individually muxed to GPIO function, through interaction with the
128 SoCs IOMUX controller. This features could be used only on SoCs which
129 support individual pin muxing.
Ray Juib64333c2015-03-09 13:45:00 -0700130
Ray Juicbd159e2015-03-04 16:35:51 -0800131config PINCTRL_CYGNUS_MUX
132 bool "Broadcom Cygnus IOMUX driver"
133 depends on (ARCH_BCM_CYGNUS || COMPILE_TEST)
Arnd Bergmann53056f52016-07-15 22:29:54 +0200134 depends on OF
Ray Juicbd159e2015-03-04 16:35:51 -0800135 select PINMUX
136 select GENERIC_PINCONF
137 default ARCH_BCM_CYGNUS
138 help
139 Say yes here to enable the Broadcom Cygnus IOMUX driver.
140
141 The Broadcom Cygnus IOMUX driver supports group based IOMUX
142 configuration, with the exception that certain individual pins
Masahiro Yamada03671052017-02-27 14:29:28 -0800143 can be overridden to GPIO function
Yendapally Reddy Dhananjaya Reddy8bfcbbb2015-12-04 12:11:42 -0500144
Rafał Miłeckic12fb172018-09-26 21:31:03 +0200145config PINCTRL_NS
146 bool "Broadcom Northstar pins driver"
147 depends on OF && (ARCH_BCM_5301X || COMPILE_TEST)
148 select PINMUX
149 select GENERIC_PINCONF
Rafał Miłecki4b1643c2021-12-22 07:43:44 +0100150 select GENERIC_PINCTRL_GROUPS
151 select GENERIC_PINMUX_FUNCTIONS
Rafał Miłeckic12fb172018-09-26 21:31:03 +0200152 default ARCH_BCM_5301X
153 help
154 Say yes here to enable the Broadcom NS SoC pins driver.
155
156 The Broadcom Northstar pins driver supports muxing multi-purpose pins
157 that can be used for various functions (e.g. SPI, I2C, UART) as well
158 as GPIOs.
159
Yendapally Reddy Dhananjaya Reddy8bfcbbb2015-12-04 12:11:42 -0500160config PINCTRL_NSP_GPIO
161 bool "Broadcom NSP GPIO (with PINCONF) driver"
162 depends on OF_GPIO && (ARCH_BCM_NSP || COMPILE_TEST)
163 select GPIOLIB_IRQCHIP
164 select PINCONF
165 select GENERIC_PINCONF
166 default ARCH_BCM_NSP
167 help
168 Say yes here to enable the Broadcom NSP GPIO driver.
169
170 The Broadcom Northstar Plus SoC ChipcommonA GPIO controller is
171 supported by this driver.
172
173 The ChipcommonA GPIO controller support basic PINCONF functions such
174 as bias pull up, pull down, and drive strength configurations, when
175 these pins are muxed to GPIO.
Yendapally Reddy Dhananjaya Reddyb5aa1002016-04-29 08:51:38 -0400176
177config PINCTRL_NS2_MUX
178 bool "Broadcom Northstar2 pinmux driver"
179 depends on OF
180 depends on ARCH_BCM_IPROC || COMPILE_TEST
181 select PINMUX
182 select GENERIC_PINCONF
183 default ARM64 && ARCH_BCM_IPROC
184 help
185 Say yes here to enable the Broadcom NS2 MUX driver.
186
187 The Broadcom Northstar2 IOMUX driver supports group based IOMUX
188 configuration.
Yendapally Reddy Dhananjaya Reddycc4fa832016-06-23 13:35:07 -0400189
190config PINCTRL_NSP_MUX
191 bool "Broadcom NSP IOMUX driver"
192 depends on (ARCH_BCM_NSP || COMPILE_TEST)
Arnd Bergmann53056f52016-07-15 22:29:54 +0200193 depends on OF
Yendapally Reddy Dhananjaya Reddycc4fa832016-06-23 13:35:07 -0400194 select PINMUX
195 select GENERIC_PINCONF
196 default ARCH_BCM_NSP
197 help
198 Say yes here to enable the Broadcom NSP SOC IOMUX driver.
199
200 The Broadcom Northstar Plus IOMUX driver supports pin based IOMUX
201 configuration, with certain individual pins can be overridden
202 to GPIO function.