Merge tag 'pm-6.12-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael...
[linux-2.6-block.git] / drivers / pinctrl / bcm / Kconfig
CommitLineData
ec8f24b7 1# SPDX-License-Identifier: GPL-2.0-only
b17f2f9b
RJ
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
652da824 13 default ARCH_BCM_MOBILE
b17f2f9b
RJ
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
4434f4c5 21 tristate "Broadcom BCM2835 GPIO (with PINCONF) driver"
138f79db 22 depends on OF && (ARCH_BCM2835 || ARCH_BRCMSTB || COMPILE_TEST)
b17f2f9b
RJ
23 select PINMUX
24 select PINCONF
0de70495 25 select GENERIC_PINCONF
513034d8 26 select GPIOLIB
85ae9e51 27 select GPIOLIB_IRQCHIP
ee11f864
DB
28 default ARCH_BCM2835 || ARCH_BRCMSTB
29 help
30 Say Y here to enable the Broadcom BCM2835 GPIO driver.
cbd159ed 31
f7e322d9
RM
32config PINCTRL_BCM4908
33 tristate "Broadcom BCM4908 pinmux driver"
7bb49d77 34 depends on OF && (ARCH_BCMBCA || COMPILE_TEST)
f7e322d9
RM
35 select PINMUX
36 select PINCONF
37 select GENERIC_PINCONF
38 select GENERIC_PINCTRL_GROUPS
39 select GENERIC_PINMUX_FUNCTIONS
7bb49d77 40 default ARCH_BCMBCA
f7e322d9
RM
41 help
42 Driver for BCM4908 family SoCs with integrated pin controller.
43
44 If compiled as module it will be called pinctrl-bcm4908.
45
132f9501
ÁFR
46config PINCTRL_BCM63XX
47 bool
26ea7ac9
LW
48 select PINMUX
49 select PINCONF
132f9501 50 select GENERIC_PINCONF
26ea7ac9 51 select GPIOLIB
3a528695 52 select REGMAP
132f9501 53 select GPIO_REGMAP
132f9501 54
d28039fc
ÁFR
55config PINCTRL_BCM6318
56 bool "Broadcom BCM6318 GPIO driver"
57 depends on (BMIPS_GENERIC || COMPILE_TEST)
da35b19d 58 depends on OF
d28039fc
ÁFR
59 select PINCTRL_BCM63XX
60 default BMIPS_GENERIC
61 help
62 Say Y here to enable the Broadcom BCM6318 GPIO driver.
63
9bf34ac5
ÁFR
64config PINCTRL_BCM6328
65 bool "Broadcom BCM6328 GPIO driver"
66 depends on (BMIPS_GENERIC || COMPILE_TEST)
da35b19d 67 depends on OF
9bf34ac5
ÁFR
68 select PINCTRL_BCM63XX
69 default BMIPS_GENERIC
70 help
71 Say Y here to enable the Broadcom BCM6328 GPIO driver.
72
9494b169
ÁFR
73config PINCTRL_BCM6358
74 bool "Broadcom BCM6358 GPIO driver"
75 depends on (BMIPS_GENERIC || COMPILE_TEST)
da35b19d 76 depends on OF
9494b169
ÁFR
77 select PINCTRL_BCM63XX
78 default BMIPS_GENERIC
79 help
80 Say Y here to enable the Broadcom BCM6358 GPIO driver.
81
705791e2
ÁFR
82config PINCTRL_BCM6362
83 bool "Broadcom BCM6362 GPIO driver"
84 depends on (BMIPS_GENERIC || COMPILE_TEST)
da35b19d 85 depends on OF
705791e2
ÁFR
86 select PINCTRL_BCM63XX
87 default BMIPS_GENERIC
88 help
89 Say Y here to enable the Broadcom BCM6362 GPIO driver.
90
50554acc
ÁFR
91config PINCTRL_BCM6368
92 bool "Broadcom BCM6368 GPIO driver"
93 depends on (BMIPS_GENERIC || COMPILE_TEST)
da35b19d 94 depends on OF
50554acc
ÁFR
95 select PINCTRL_BCM63XX
96 default BMIPS_GENERIC
97 help
98 Say Y here to enable the Broadcom BCM6368 GPIO driver.
99
155cca1b
ÁFR
100config PINCTRL_BCM63268
101 bool "Broadcom BCM63268 GPIO driver"
102 depends on (BMIPS_GENERIC || COMPILE_TEST)
da35b19d 103 depends on OF
155cca1b
ÁFR
104 select PINCTRL_BCM63XX
105 default BMIPS_GENERIC
106 help
107 Say Y here to enable the Broadcom BCM63268 GPIO driver.
108
616043d5
PK
109config PINCTRL_IPROC_GPIO
110 bool "Broadcom iProc GPIO (with PINCONF) driver"
111 depends on OF_GPIO && (ARCH_BCM_IPROC || COMPILE_TEST)
b64333ce
RJ
112 select GPIOLIB_IRQCHIP
113 select PINCONF
114 select GENERIC_PINCONF
616043d5 115 default ARCH_BCM_IPROC
b64333ce 116 help
616043d5
PK
117 Say yes here to enable the Broadcom iProc GPIO driver.
118
119 The Broadcom iProc based SoCs- Cygnus, NS2, NSP and Stingray, use
120 same GPIO Controller IP hence this driver could be used for all.
b64333ce
RJ
121
122 The Broadcom Cygnus SoC has 3 GPIO controllers including the ASIU
123 GPIO controller (ASIU), the chipCommonG GPIO controller (CCM), and
124 the always-ON GPIO controller (CRMU/AON). All 3 GPIO controllers are
125 supported by this driver.
126
616043d5
PK
127 The Broadcom NSP has two GPIO controllers including the ChipcommonA
128 GPIO, the ChipcommonB GPIO. Later controller is supported by this
129 driver.
130
131 The Broadcom NS2 has two GPIO controller including the CRMU GPIO,
132 the ChipcommonG GPIO. Both controllers are supported by this driver.
133
134 The Broadcom Stingray GPIO controllers are supported by this driver.
135
136 All above SoCs GPIO controllers support basic PINCONF functions such
b64333ce
RJ
137 as bias pull up, pull down, and drive strength configurations, when
138 these pins are muxed to GPIO.
139
616043d5
PK
140 It provides the framework where pins from the individual GPIO can be
141 individually muxed to GPIO function, through interaction with the
142 SoCs IOMUX controller. This features could be used only on SoCs which
143 support individual pin muxing.
b64333ce 144
cbd159ed
RJ
145config PINCTRL_CYGNUS_MUX
146 bool "Broadcom Cygnus IOMUX driver"
147 depends on (ARCH_BCM_CYGNUS || COMPILE_TEST)
53056f59 148 depends on OF
cbd159ed
RJ
149 select PINMUX
150 select GENERIC_PINCONF
151 default ARCH_BCM_CYGNUS
152 help
153 Say yes here to enable the Broadcom Cygnus IOMUX driver.
154
155 The Broadcom Cygnus IOMUX driver supports group based IOMUX
156 configuration, with the exception that certain individual pins
03671057 157 can be overridden to GPIO function
8bfcbbbc 158
c12fb177
RM
159config PINCTRL_NS
160 bool "Broadcom Northstar pins driver"
161 depends on OF && (ARCH_BCM_5301X || COMPILE_TEST)
162 select PINMUX
163 select GENERIC_PINCONF
4b1643cb
RM
164 select GENERIC_PINCTRL_GROUPS
165 select GENERIC_PINMUX_FUNCTIONS
c12fb177
RM
166 default ARCH_BCM_5301X
167 help
168 Say yes here to enable the Broadcom NS SoC pins driver.
169
170 The Broadcom Northstar pins driver supports muxing multi-purpose pins
171 that can be used for various functions (e.g. SPI, I2C, UART) as well
172 as GPIOs.
173
8bfcbbbc
YRDR
174config PINCTRL_NSP_GPIO
175 bool "Broadcom NSP GPIO (with PINCONF) driver"
176 depends on OF_GPIO && (ARCH_BCM_NSP || COMPILE_TEST)
177 select GPIOLIB_IRQCHIP
178 select PINCONF
179 select GENERIC_PINCONF
180 default ARCH_BCM_NSP
181 help
182 Say yes here to enable the Broadcom NSP GPIO driver.
183
184 The Broadcom Northstar Plus SoC ChipcommonA GPIO controller is
185 supported by this driver.
186
187 The ChipcommonA GPIO controller support basic PINCONF functions such
188 as bias pull up, pull down, and drive strength configurations, when
189 these pins are muxed to GPIO.
b5aa1006
YRDR
190
191config PINCTRL_NS2_MUX
192 bool "Broadcom Northstar2 pinmux driver"
193 depends on OF
194 depends on ARCH_BCM_IPROC || COMPILE_TEST
195 select PINMUX
196 select GENERIC_PINCONF
197 default ARM64 && ARCH_BCM_IPROC
198 help
199 Say yes here to enable the Broadcom NS2 MUX driver.
200
201 The Broadcom Northstar2 IOMUX driver supports group based IOMUX
202 configuration.
cc4fa83f
YRDR
203
204config PINCTRL_NSP_MUX
205 bool "Broadcom NSP IOMUX driver"
206 depends on (ARCH_BCM_NSP || COMPILE_TEST)
53056f59 207 depends on OF
cc4fa83f
YRDR
208 select PINMUX
209 select GENERIC_PINCONF
210 default ARCH_BCM_NSP
211 help
212 Say yes here to enable the Broadcom NSP SOC IOMUX driver.
213
214 The Broadcom Northstar Plus IOMUX driver supports pin based IOMUX
215 configuration, with certain individual pins can be overridden
216 to GPIO function.