Input: wacom - switch from an USB driver to a HID driver
[linux-2.6-block.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
80cc3732
AS
87 select GPIOLIB
88 select OF_GPIO
89 select GPIOLIB_IRQCHIP
6732ae5c
JCPV
90 help
91 Say Y here to enable the at91 pinctrl driver
92
a5d811bb
MN
93config PINCTRL_BAYTRAIL
94 bool "Intel Baytrail GPIO pin control"
95 depends on GPIOLIB && ACPI && X86
ec243320 96 select IRQ_DOMAIN
a5d811bb
MN
97 help
98 driver for memory mapped GPIO functionality on Intel Baytrail
99 platforms. Supports 3 banks with 102, 28 and 44 gpios.
100 Most pins are usually muxed to some other functionality by firmware,
101 so only a small amount is available for gpio use.
102
103 Requires ACPI device enumeration code to set up a platform device.
104
e1b2dc70
SA
105config PINCTRL_BCM2835
106 bool
107 select PINMUX
108 select PINCONF
109
7418b5cc
SY
110config PINCTRL_BCM281XX
111 bool "Broadcom BCM281xx pinctrl driver"
fe0ec0ee 112 depends on OF
54b1aa5a
SY
113 select PINMUX
114 select PINCONF
115 select GENERIC_PINCONF
116 select REGMAP_MMIO
117 help
7418b5cc
SY
118 Say Y here to support Broadcom BCM281xx pinctrl driver, which is used
119 for the BCM281xx SoC family, including BCM11130, BCM11140, BCM11351,
54b1aa5a
SY
120 BCM28145, and BCM28155 SoCs. This driver requires the pinctrl
121 framework. GPIO is provided by a separate GPIO driver.
122
ae75ff81
DA
123config PINCTRL_IMX
124 bool
125 select PINMUX
126 select PINCONF
127
30612cd9
MP
128config PINCTRL_IMX1_CORE
129 bool
130 select PINMUX
131 select PINCONF
132
e16dbf60
MP
133config PINCTRL_IMX27
134 bool "IMX27 pinctrl driver"
e16dbf60
MP
135 depends on SOC_IMX27
136 select PINCTRL_IMX1_CORE
137 help
138 Say Y here to enable the imx27 pinctrl driver
139
b4a87c9b
DC
140
141config PINCTRL_IMX25
142 bool "IMX25 pinctrl driver"
143 depends on OF
144 depends on SOC_IMX25
145 select PINCTRL_IMX
146 help
147 Say Y here to enable the imx25 pinctrl driver
148
b9aa8f13
UKK
149config PINCTRL_IMX35
150 bool "IMX35 pinctrl driver"
b9aa8f13
UKK
151 depends on SOC_IMX35
152 select PINCTRL_IMX
153 help
154 Say Y here to enable the imx35 pinctrl driver
155
9da83120
GU
156config PINCTRL_IMX50
157 bool "IMX50 pinctrl driver"
9da83120
GU
158 depends on SOC_IMX50
159 select PINCTRL_IMX
160 help
161 Say Y here to enable the imx50 pinctrl driver
162
4f6a16bf
DA
163config PINCTRL_IMX51
164 bool "IMX51 pinctrl driver"
4f6a16bf
DA
165 depends on SOC_IMX51
166 select PINCTRL_IMX
167 help
168 Say Y here to enable the imx51 pinctrl driver
169
93fbd3c0
DA
170config PINCTRL_IMX53
171 bool "IMX53 pinctrl driver"
93fbd3c0
DA
172 depends on SOC_IMX53
173 select PINCTRL_IMX
174 help
175 Say Y here to enable the imx53 pinctrl driver
176
d8fe3572 177config PINCTRL_IMX6Q
3f551d6a 178 bool "IMX6Q/DL pinctrl driver"
d8fe3572
DA
179 depends on SOC_IMX6Q
180 select PINCTRL_IMX
181 help
3f551d6a 182 Say Y here to enable the imx6q/dl pinctrl driver
d8fe3572 183
21e59123
SG
184config PINCTRL_IMX6SL
185 bool "IMX6SL pinctrl driver"
21e59123
SG
186 depends on SOC_IMX6SL
187 select PINCTRL_IMX
188 help
189 Say Y here to enable the imx6sl pinctrl driver
d8fe3572 190
2cc140fe
AH
191config PINCTRL_IMX6SX
192 bool "IMX6SX pinctrl driver"
193 depends on SOC_IMX6SX
194 select PINCTRL_IMX
195 help
196 Say Y here to enable the imx6sx pinctrl driver
197
78bafc66
JL
198config PINCTRL_VF610
199 bool "Freescale Vybrid VF610 pinctrl driver"
78bafc66
JL
200 depends on SOC_VF610
201 select PINCTRL_IMX
202 help
203 Say Y here to enable the Freescale Vybrid VF610 pinctrl driver
204
3f8c50c9
JC
205config PINCTRL_LANTIQ
206 bool
207 depends on LANTIQ
208 select PINMUX
209 select PINCONF
210
e316cb2b
JC
211config PINCTRL_FALCON
212 bool
213 depends on SOC_FALCON
214 depends on PINCTRL_LANTIQ
215
17723111
SG
216config PINCTRL_MXS
217 bool
90db8a14
AL
218 select PINMUX
219 select PINCONF
17723111
SG
220
221config PINCTRL_IMX23
222 bool
17723111
SG
223 select PINCTRL_MXS
224
225config PINCTRL_IMX28
226 bool
17723111
SG
227 select PINCTRL_MXS
228
f365be09 229config PINCTRL_MSM
5ba34160 230 bool
f365be09
BA
231 select PINMUX
232 select PINCONF
233 select GENERIC_PINCONF
cdcb0ab6 234 select GPIOLIB_IRQCHIP
f365be09 235
e2c802be
BA
236config PINCTRL_APQ8064
237 tristate "Qualcomm APQ8064 pin controller driver"
238 depends on GPIOLIB && OF
239 select PINCTRL_MSM
240 help
241 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
242 Qualcomm TLMM block found in the Qualcomm APQ8064 platform.
243
b4da6573
AG
244config PINCTRL_IPQ8064
245 tristate "Qualcomm IPQ8064 pin controller driver"
246 depends on GPIOLIB && OF
247 select PINCTRL_MSM
248 help
249 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
250 Qualcomm TLMM block found in the Qualcomm IPQ8064 platform.
251
55aaf834 252config PINCTRL_MSM8X74
376f413a 253 tristate "Qualcomm 8x74 pin controller driver"
fb95a94b 254 depends on GPIOLIB && OF && (ARCH_QCOM || COMPILE_TEST)
55aaf834 255 select PINCTRL_MSM
376f413a
BA
256 help
257 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
258 Qualcomm TLMM block found in the Qualcomm 8974 platform.
55aaf834 259
e98ea774
LW
260config PINCTRL_NOMADIK
261 bool "Nomadik pin controller driver"
0fa7be40 262 depends on ARCH_U8500 || ARCH_NOMADIK
dbfe8ca2 263 select PINMUX
d41af627 264 select PINCONF
e0bc34a3
LW
265 select GPIOLIB
266 select OF_GPIO
267 select GPIOLIB_IRQCHIP
e98ea774 268
f79c5ed9
LW
269config PINCTRL_STN8815
270 bool "STN8815 pin controller driver"
271 depends on PINCTRL_NOMADIK && ARCH_NOMADIK
272
e98ea774
LW
273config PINCTRL_DB8500
274 bool "DB8500 pin controller driver"
275 depends on PINCTRL_NOMADIK && ARCH_U8500
276
45a1b531
PC
277config PINCTRL_DB8540
278 bool "DB8540 pin controller driver"
279 depends on PINCTRL_NOMADIK && ARCH_U8500
280
d3e51161
HS
281config PINCTRL_ROCKCHIP
282 bool
283 select PINMUX
284 select GENERIC_PINCONF
285 select GENERIC_IRQ_CHIP
751a99ab 286 select MFD_SYSCON
d3e51161 287
8b8b091b
TL
288config PINCTRL_SINGLE
289 tristate "One-register-per-pin type device tree based pinctrl driver"
290 depends on OF
291 select PINMUX
292 select PINCONF
9dddb4df 293 select GENERIC_PINCONF
8b8b091b
TL
294 help
295 This selects the device tree based generic pinctrl driver.
296
3bece55a 297config PINCTRL_SIRF
d3e26f2f
BS
298 bool "CSR SiRFprimaII/SiRFmarco pin controller driver"
299 depends on ARCH_SIRF
393daa81 300 select PINMUX
7420d2d0 301 select GPIOLIB_IRQCHIP
393daa81 302
701016c0
SK
303config PINCTRL_ST
304 bool
305 depends on OF
306 select PINMUX
307 select PINCONF
130cbe30 308 select GPIOLIB_IRQCHIP
701016c0 309
971dac71
SW
310config PINCTRL_TEGRA
311 bool
507ccdbf
AL
312 select PINMUX
313 select PINCONF
971dac71
SW
314
315config PINCTRL_TEGRA20
316 bool
971dac71
SW
317 select PINCTRL_TEGRA
318
319config PINCTRL_TEGRA30
320 bool
971dac71
SW
321 select PINCTRL_TEGRA
322
b6ae7a26
PR
323config PINCTRL_TEGRA114
324 bool
325 select PINCTRL_TEGRA
326
1a16bee6
AG
327config PINCTRL_TEGRA124
328 bool
329 select PINCTRL_TEGRA
330
d5025f9f
JH
331config PINCTRL_TZ1090
332 bool "Toumaz Xenif TZ1090 pin control driver"
333 depends on SOC_TZ1090
334 select PINMUX
335 select GENERIC_PINCONF
336
b58f0273
JH
337config PINCTRL_TZ1090_PDC
338 bool "Toumaz Xenif TZ1090 PDC pin control driver"
339 depends on SOC_TZ1090
340 select PINMUX
341 select PINCONF
342
3bece55a
LW
343config PINCTRL_U300
344 bool "U300 pin controller driver"
98da3529
LW
345 depends on ARCH_U300
346 select PINMUX
dc0b1aa3 347 select GENERIC_PINCONF
45f034ef 348
ca402d37
LW
349config PINCTRL_COH901
350 bool "ST-Ericsson U300 COH 901 335/571 GPIO"
3c94d1bb 351 depends on GPIOLIB && ARCH_U300 && PINCTRL_U300
523dcce7 352 select GPIOLIB_IRQCHIP
ca402d37
LW
353 help
354 Say yes here to support GPIO interface on ST-Ericsson U300.
355 The names of the two IP block variants supported are
356 COH 901 335 and COH 901 571/3. They contain 3, 5 or 7
357 ports of 8 GPIO pins each.
358
30574f0d 359config PINCTRL_SAMSUNG
cbc351ab 360 bool
30574f0d
TA
361 select PINMUX
362 select PINCONF
363
a1ed2670 364config PINCTRL_EXYNOS
83978253 365 bool "Pinctrl driver data for Samsung EXYNOS SoCs other than 5440"
608a26a7 366 depends on OF && GPIOLIB && (ARCH_EXYNOS || ARCH_S5PV210)
43b169db
TA
367 select PINCTRL_SAMSUNG
368
f0b9a7e5
TA
369config PINCTRL_EXYNOS5440
370 bool "Samsung EXYNOS5440 SoC pinctrl driver"
83978253 371 depends on SOC_EXYNOS5440
f0b9a7e5
TA
372 select PINMUX
373 select PINCONF
374
0a8d3e24 375config PINCTRL_PALMAS
736658c5 376 bool "Pinctrl driver for the PALMAS Series MFD devices"
0a8d3e24 377 depends on OF && MFD_PALMAS
63ca8db7 378 select PINMUX
0a8d3e24
LD
379 select GENERIC_PINCONF
380 help
381 Palmas device supports the configuration of pins for different
382 functionality. This driver supports the pinmux, push-pull and
383 open drain configuration for the Palmas series devices like
384 TPS65913, TPS80036 etc.
385
af99a750
HS
386config PINCTRL_S3C24XX
387 bool "Samsung S3C24XX SoC pinctrl driver"
388 depends on ARCH_S3C24XX
389 select PINCTRL_SAMSUNG
390
61dd7261
TF
391config PINCTRL_S3C64XX
392 bool "Samsung S3C64XX SoC pinctrl driver"
393 depends on ARCH_S3C64XX
394 select PINCTRL_SAMSUNG
395
3de68d33 396source "drivers/pinctrl/berlin/Kconfig"
06763c74 397source "drivers/pinctrl/mvebu/Kconfig"
6e54d8d2 398source "drivers/pinctrl/sh-pfc/Kconfig"
deda8287 399source "drivers/pinctrl/spear/Kconfig"
5f910777 400source "drivers/pinctrl/sunxi/Kconfig"
170c6152 401source "drivers/pinctrl/vt8500/Kconfig"
deda8287 402
3f8c50c9
JC
403config PINCTRL_XWAY
404 bool
405 depends on SOC_TYPE_XWAY
406 depends on PINCTRL_LANTIQ
407
5aad0db1
CR
408config PINCTRL_TB10X
409 bool
410 depends on ARC_PLAT_TB10X
411
45f034ef 412endmenu
98da3529 413
2744e8af 414endif