]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blame - drivers/pinctrl/Kconfig
pinctrl: st: switch IRQ locking to resource callbacks
[mirror_ubuntu-bionic-kernel.git] / drivers / pinctrl / Kconfig
CommitLineData
2744e8af
LW
1#
2# PINCTRL infrastructure and drivers
3#
4
45f034ef
LW
5config PINCTRL
6 bool
2744e8af
LW
7
8if PINCTRL
9
45f034ef
LW
10menu "Pin controllers"
11 depends on PINCTRL
12
2744e8af 13config PINMUX
ae6b4d85
LW
14 bool "Support pin multiplexing controllers"
15
16config PINCONF
17 bool "Support pin configuration controllers"
2744e8af 18
394349f7
LW
19config GENERIC_PINCONF
20 bool
21 select PINCONF
22
2744e8af
LW
23config DEBUG_PINCTRL
24 bool "Debug PINCTRL calls"
25 depends on DEBUG_KERNEL
26 help
27 Say Y here to add some extra checks and diagnostics to PINCTRL calls.
28
0493e649
PC
29config PINCTRL_ABX500
30 bool "ST-Ericsson ABx500 family Mixed Signal Circuit gpio functions"
31 depends on AB8500_CORE
32 select GENERIC_PINCONF
33 help
34 Select this to enable the ABx500 family IC GPIO driver
35
3c937993
PC
36config PINCTRL_AB8500
37 bool "AB8500 pin controller driver"
38 depends on PINCTRL_ABX500 && ARCH_U8500
39
a8f96e41
PC
40config PINCTRL_AB8540
41 bool "AB8540 pin controller driver"
42 depends on PINCTRL_ABX500 && ARCH_U8500
43
09dbec3f
PC
44config PINCTRL_AB9540
45 bool "AB9540 pin controller driver"
46 depends on PINCTRL_ABX500 && ARCH_U8500
47
1aa2d8d4
PC
48config PINCTRL_AB8505
49 bool "AB8505 pin controller driver"
50 depends on PINCTRL_ABX500 && ARCH_U8500
51
e9a03add
SZ
52config PINCTRL_ADI2
53 bool "ADI pin controller driver"
9d7278d0 54 depends on BLACKFIN
e9a03add
SZ
55 select PINMUX
56 select IRQ_DOMAIN
57 help
58 This is the pin controller and gpio driver for ADI BF54x, BF60x and
59 future processors. This option is selected automatically when specific
60 machine and arch are selected to build.
61
c8ce8782
LD
62config PINCTRL_AS3722
63 bool "Pinctrl and GPIO driver for ams AS3722 PMIC"
64 depends on MFD_AS3722 && GPIOLIB
65 select PINMUX
66 select GENERIC_PINCONF
67 help
68 AS3722 device supports the configuration of GPIO pins for different
69 functionality. This driver supports the pinmux, push-pull and
70 open drain configuration for the GPIO pins of AS3722 devices. It also
71 supports the GPIO functionality through gpiolib.
72
e9a03add
SZ
73config PINCTRL_BF54x
74 def_bool y if BF54x
75 select PINCTRL_ADI2
76
77config PINCTRL_BF60x
78 def_bool y if BF60x
79 select PINCTRL_ADI2
80
6732ae5c
JCPV
81config PINCTRL_AT91
82 bool "AT91 pinctrl driver"
83 depends on OF
84 depends on ARCH_AT91
85 select PINMUX
86 select PINCONF
87 help
88 Say Y here to enable the at91 pinctrl driver
89
a5d811bb
MN
90config PINCTRL_BAYTRAIL
91 bool "Intel Baytrail GPIO pin control"
92 depends on GPIOLIB && ACPI && X86
ec243320 93 select IRQ_DOMAIN
a5d811bb
MN
94 help
95 driver for memory mapped GPIO functionality on Intel Baytrail
96 platforms. Supports 3 banks with 102, 28 and 44 gpios.
97 Most pins are usually muxed to some other functionality by firmware,
98 so only a small amount is available for gpio use.
99
100 Requires ACPI device enumeration code to set up a platform device.
101
e1b2dc70
SA
102config PINCTRL_BCM2835
103 bool
104 select PINMUX
105 select PINCONF
106
7418b5cc
SY
107config PINCTRL_BCM281XX
108 bool "Broadcom BCM281xx pinctrl driver"
fe0ec0ee 109 depends on OF
54b1aa5a
SY
110 select PINMUX
111 select PINCONF
112 select GENERIC_PINCONF
113 select REGMAP_MMIO
114 help
7418b5cc
SY
115 Say Y here to support Broadcom BCM281xx pinctrl driver, which is used
116 for the BCM281xx SoC family, including BCM11130, BCM11140, BCM11351,
54b1aa5a
SY
117 BCM28145, and BCM28155 SoCs. This driver requires the pinctrl
118 framework. GPIO is provided by a separate GPIO driver.
119
ae75ff81
DA
120config PINCTRL_IMX
121 bool
122 select PINMUX
123 select PINCONF
124
30612cd9
MP
125config PINCTRL_IMX1_CORE
126 bool
127 select PINMUX
128 select PINCONF
129
e16dbf60
MP
130config PINCTRL_IMX27
131 bool "IMX27 pinctrl driver"
e16dbf60
MP
132 depends on SOC_IMX27
133 select PINCTRL_IMX1_CORE
134 help
135 Say Y here to enable the imx27 pinctrl driver
136
b4a87c9b
DC
137
138config PINCTRL_IMX25
139 bool "IMX25 pinctrl driver"
140 depends on OF
141 depends on SOC_IMX25
142 select PINCTRL_IMX
143 help
144 Say Y here to enable the imx25 pinctrl driver
145
b9aa8f13
UKK
146config PINCTRL_IMX35
147 bool "IMX35 pinctrl driver"
b9aa8f13
UKK
148 depends on SOC_IMX35
149 select PINCTRL_IMX
150 help
151 Say Y here to enable the imx35 pinctrl driver
152
9da83120
GU
153config PINCTRL_IMX50
154 bool "IMX50 pinctrl driver"
9da83120
GU
155 depends on SOC_IMX50
156 select PINCTRL_IMX
157 help
158 Say Y here to enable the imx50 pinctrl driver
159
4f6a16bf
DA
160config PINCTRL_IMX51
161 bool "IMX51 pinctrl driver"
4f6a16bf
DA
162 depends on SOC_IMX51
163 select PINCTRL_IMX
164 help
165 Say Y here to enable the imx51 pinctrl driver
166
93fbd3c0
DA
167config PINCTRL_IMX53
168 bool "IMX53 pinctrl driver"
93fbd3c0
DA
169 depends on SOC_IMX53
170 select PINCTRL_IMX
171 help
172 Say Y here to enable the imx53 pinctrl driver
173
d8fe3572 174config PINCTRL_IMX6Q
3f551d6a 175 bool "IMX6Q/DL pinctrl driver"
d8fe3572
DA
176 depends on SOC_IMX6Q
177 select PINCTRL_IMX
178 help
3f551d6a 179 Say Y here to enable the imx6q/dl pinctrl driver
d8fe3572 180
21e59123
SG
181config PINCTRL_IMX6SL
182 bool "IMX6SL pinctrl driver"
21e59123
SG
183 depends on SOC_IMX6SL
184 select PINCTRL_IMX
185 help
186 Say Y here to enable the imx6sl pinctrl driver
d8fe3572 187
78bafc66
JL
188config PINCTRL_VF610
189 bool "Freescale Vybrid VF610 pinctrl driver"
78bafc66
JL
190 depends on SOC_VF610
191 select PINCTRL_IMX
192 help
193 Say Y here to enable the Freescale Vybrid VF610 pinctrl driver
194
3f8c50c9
JC
195config PINCTRL_LANTIQ
196 bool
197 depends on LANTIQ
198 select PINMUX
199 select PINCONF
200
e316cb2b
JC
201config PINCTRL_FALCON
202 bool
203 depends on SOC_FALCON
204 depends on PINCTRL_LANTIQ
205
17723111
SG
206config PINCTRL_MXS
207 bool
90db8a14
AL
208 select PINMUX
209 select PINCONF
17723111
SG
210
211config PINCTRL_IMX23
212 bool
17723111
SG
213 select PINCTRL_MXS
214
215config PINCTRL_IMX28
216 bool
17723111
SG
217 select PINCTRL_MXS
218
f365be09 219config PINCTRL_MSM
5ba34160 220 bool
f365be09
BA
221 select PINMUX
222 select PINCONF
223 select GENERIC_PINCONF
224
55aaf834 225config PINCTRL_MSM8X74
376f413a 226 tristate "Qualcomm 8x74 pin controller driver"
5f2449d0 227 depends on GPIOLIB && OF
55aaf834 228 select PINCTRL_MSM
376f413a
BA
229 help
230 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
231 Qualcomm TLMM block found in the Qualcomm 8974 platform.
55aaf834 232
e98ea774
LW
233config PINCTRL_NOMADIK
234 bool "Nomadik pin controller driver"
0fa7be40 235 depends on ARCH_U8500 || ARCH_NOMADIK
dbfe8ca2 236 select PINMUX
d41af627 237 select PINCONF
e0bc34a3
LW
238 select GPIOLIB
239 select OF_GPIO
240 select GPIOLIB_IRQCHIP
e98ea774 241
f79c5ed9
LW
242config PINCTRL_STN8815
243 bool "STN8815 pin controller driver"
244 depends on PINCTRL_NOMADIK && ARCH_NOMADIK
245
e98ea774
LW
246config PINCTRL_DB8500
247 bool "DB8500 pin controller driver"
248 depends on PINCTRL_NOMADIK && ARCH_U8500
249
45a1b531
PC
250config PINCTRL_DB8540
251 bool "DB8540 pin controller driver"
252 depends on PINCTRL_NOMADIK && ARCH_U8500
253
d3e51161
HS
254config PINCTRL_ROCKCHIP
255 bool
256 select PINMUX
257 select GENERIC_PINCONF
258 select GENERIC_IRQ_CHIP
259
8b8b091b
TL
260config PINCTRL_SINGLE
261 tristate "One-register-per-pin type device tree based pinctrl driver"
262 depends on OF
263 select PINMUX
264 select PINCONF
9dddb4df 265 select GENERIC_PINCONF
8b8b091b
TL
266 help
267 This selects the device tree based generic pinctrl driver.
268
3bece55a 269config PINCTRL_SIRF
d3e26f2f
BS
270 bool "CSR SiRFprimaII/SiRFmarco pin controller driver"
271 depends on ARCH_SIRF
393daa81 272 select PINMUX
393daa81 273
0e37f88d
MR
274config PINCTRL_SUNXI
275 bool
276 select PINMUX
277 select GENERIC_PINCONF
278
701016c0
SK
279config PINCTRL_ST
280 bool
281 depends on OF
282 select PINMUX
283 select PINCONF
284
971dac71
SW
285config PINCTRL_TEGRA
286 bool
507ccdbf
AL
287 select PINMUX
288 select PINCONF
971dac71
SW
289
290config PINCTRL_TEGRA20
291 bool
971dac71
SW
292 select PINCTRL_TEGRA
293
294config PINCTRL_TEGRA30
295 bool
971dac71
SW
296 select PINCTRL_TEGRA
297
b6ae7a26
PR
298config PINCTRL_TEGRA114
299 bool
300 select PINCTRL_TEGRA
301
1a16bee6
AG
302config PINCTRL_TEGRA124
303 bool
304 select PINCTRL_TEGRA
305
d5025f9f
JH
306config PINCTRL_TZ1090
307 bool "Toumaz Xenif TZ1090 pin control driver"
308 depends on SOC_TZ1090
309 select PINMUX
310 select GENERIC_PINCONF
311
b58f0273
JH
312config PINCTRL_TZ1090_PDC
313 bool "Toumaz Xenif TZ1090 PDC pin control driver"
314 depends on SOC_TZ1090
315 select PINMUX
316 select PINCONF
317
3bece55a
LW
318config PINCTRL_U300
319 bool "U300 pin controller driver"
98da3529
LW
320 depends on ARCH_U300
321 select PINMUX
dc0b1aa3 322 select GENERIC_PINCONF
45f034ef 323
ca402d37
LW
324config PINCTRL_COH901
325 bool "ST-Ericsson U300 COH 901 335/571 GPIO"
3c94d1bb 326 depends on GPIOLIB && ARCH_U300 && PINCTRL_U300
523dcce7 327 select GPIOLIB_IRQCHIP
ca402d37
LW
328 help
329 Say yes here to support GPIO interface on ST-Ericsson U300.
330 The names of the two IP block variants supported are
331 COH 901 335 and COH 901 571/3. They contain 3, 5 or 7
332 ports of 8 GPIO pins each.
333
30574f0d 334config PINCTRL_SAMSUNG
cbc351ab 335 bool
30574f0d
TA
336 select PINMUX
337 select PINCONF
338
a1ed2670 339config PINCTRL_EXYNOS
83978253 340 bool "Pinctrl driver data for Samsung EXYNOS SoCs other than 5440"
608a26a7 341 depends on OF && GPIOLIB && (ARCH_EXYNOS || ARCH_S5PV210)
43b169db
TA
342 select PINCTRL_SAMSUNG
343
f0b9a7e5
TA
344config PINCTRL_EXYNOS5440
345 bool "Samsung EXYNOS5440 SoC pinctrl driver"
83978253 346 depends on SOC_EXYNOS5440
f0b9a7e5
TA
347 select PINMUX
348 select PINCONF
349
0a8d3e24 350config PINCTRL_PALMAS
736658c5 351 bool "Pinctrl driver for the PALMAS Series MFD devices"
0a8d3e24 352 depends on OF && MFD_PALMAS
63ca8db7 353 select PINMUX
0a8d3e24
LD
354 select GENERIC_PINCONF
355 help
356 Palmas device supports the configuration of pins for different
357 functionality. This driver supports the pinmux, push-pull and
358 open drain configuration for the Palmas series devices like
359 TPS65913, TPS80036 etc.
360
af99a750
HS
361config PINCTRL_S3C24XX
362 bool "Samsung S3C24XX SoC pinctrl driver"
363 depends on ARCH_S3C24XX
364 select PINCTRL_SAMSUNG
365
61dd7261
TF
366config PINCTRL_S3C64XX
367 bool "Samsung S3C64XX SoC pinctrl driver"
368 depends on ARCH_S3C64XX
369 select PINCTRL_SAMSUNG
370
06763c74 371source "drivers/pinctrl/mvebu/Kconfig"
6e54d8d2 372source "drivers/pinctrl/sh-pfc/Kconfig"
deda8287 373source "drivers/pinctrl/spear/Kconfig"
170c6152 374source "drivers/pinctrl/vt8500/Kconfig"
deda8287 375
3f8c50c9
JC
376config PINCTRL_XWAY
377 bool
378 depends on SOC_TYPE_XWAY
379 depends on PINCTRL_LANTIQ
380
5aad0db1
CR
381config PINCTRL_TB10X
382 bool
383 depends on ARC_PLAT_TB10X
384
45f034ef 385endmenu
98da3529 386
2744e8af 387endif