rcu: Provide API to suppress stall warnings while sysrc runs
[pandora-kernel.git] / drivers / pinctrl / Kconfig
1 #
2 # PINCTRL infrastructure and drivers
3 #
4
5 config PINCTRL
6         bool
7
8 if PINCTRL
9
10 menu "Pin controllers"
11         depends on PINCTRL
12
13 config PINMUX
14         bool "Support pin multiplexing controllers"
15
16 config PINCONF
17         bool "Support pin configuration controllers"
18
19 config GENERIC_PINCONF
20         bool
21         select PINCONF
22
23 config 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
29 config 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
36 config PINCTRL_AB8500
37         bool "AB8500 pin controller driver"
38         depends on PINCTRL_ABX500 && ARCH_U8500
39
40 config PINCTRL_AB8540
41         bool "AB8540 pin controller driver"
42         depends on PINCTRL_ABX500 && ARCH_U8500
43
44 config PINCTRL_AB9540
45         bool "AB9540 pin controller driver"
46         depends on PINCTRL_ABX500 && ARCH_U8500
47
48 config PINCTRL_AB8505
49         bool "AB8505 pin controller driver"
50         depends on PINCTRL_ABX500 && ARCH_U8500
51
52 config PINCTRL_ADI2
53         bool "ADI pin controller driver"
54         depends on BLACKFIN
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
62 config 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
73 config PINCTRL_BF54x
74         def_bool y if BF54x
75         select PINCTRL_ADI2
76
77 config PINCTRL_BF60x
78         def_bool y if BF60x
79         select PINCTRL_ADI2
80
81 config 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
90 config PINCTRL_BAYTRAIL
91         bool "Intel Baytrail GPIO pin control"
92         depends on GPIOLIB && ACPI && X86
93         select IRQ_DOMAIN
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
102 config PINCTRL_BCM2835
103         bool
104         select PINMUX
105         select PINCONF
106
107 config PINCTRL_CAPRI
108         bool "Broadcom Capri pinctrl driver"
109         depends on OF
110         select PINMUX
111         select PINCONF
112         select GENERIC_PINCONF
113         select REGMAP_MMIO
114         help
115           Say Y here to support Broadcom Capri pinctrl driver, which is used for
116           the BCM281xx SoC family, including BCM11130, BCM11140, BCM11351,
117           BCM28145, and BCM28155 SoCs.  This driver requires the pinctrl
118           framework.  GPIO is provided by a separate GPIO driver.
119
120 config PINCTRL_IMX
121         bool
122         select PINMUX
123         select PINCONF
124
125 config PINCTRL_IMX1_CORE
126         bool
127         select PINMUX
128         select PINCONF
129
130 config PINCTRL_IMX27
131         bool "IMX27 pinctrl driver"
132         depends on SOC_IMX27
133         select PINCTRL_IMX1_CORE
134         help
135           Say Y here to enable the imx27 pinctrl driver
136
137
138 config 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
146 config PINCTRL_IMX35
147         bool "IMX35 pinctrl driver"
148         depends on SOC_IMX35
149         select PINCTRL_IMX
150         help
151           Say Y here to enable the imx35 pinctrl driver
152
153 config PINCTRL_IMX50
154         bool "IMX50 pinctrl driver"
155         depends on SOC_IMX50
156         select PINCTRL_IMX
157         help
158           Say Y here to enable the imx50 pinctrl driver
159
160 config PINCTRL_IMX51
161         bool "IMX51 pinctrl driver"
162         depends on SOC_IMX51
163         select PINCTRL_IMX
164         help
165           Say Y here to enable the imx51 pinctrl driver
166
167 config PINCTRL_IMX53
168         bool "IMX53 pinctrl driver"
169         depends on SOC_IMX53
170         select PINCTRL_IMX
171         help
172           Say Y here to enable the imx53 pinctrl driver
173
174 config PINCTRL_IMX6Q
175         bool "IMX6Q/DL pinctrl driver"
176         depends on SOC_IMX6Q
177         select PINCTRL_IMX
178         help
179           Say Y here to enable the imx6q/dl pinctrl driver
180
181 config PINCTRL_IMX6SL
182         bool "IMX6SL pinctrl driver"
183         depends on SOC_IMX6SL
184         select PINCTRL_IMX
185         help
186           Say Y here to enable the imx6sl pinctrl driver
187
188 config PINCTRL_VF610
189         bool "Freescale Vybrid VF610 pinctrl driver"
190         depends on SOC_VF610
191         select PINCTRL_IMX
192         help
193           Say Y here to enable the Freescale Vybrid VF610 pinctrl driver
194
195 config PINCTRL_LANTIQ
196         bool
197         depends on LANTIQ
198         select PINMUX
199         select PINCONF
200
201 config PINCTRL_FALCON
202         bool
203         depends on SOC_FALCON
204         depends on PINCTRL_LANTIQ
205
206 config PINCTRL_MXS
207         bool
208         select PINMUX
209         select PINCONF
210
211 config PINCTRL_IMX23
212         bool
213         select PINCTRL_MXS
214
215 config PINCTRL_IMX28
216         bool
217         select PINCTRL_MXS
218
219 config PINCTRL_MSM
220         bool
221         select PINMUX
222         select PINCONF
223         select GENERIC_PINCONF
224
225 config PINCTRL_MSM8X74
226         tristate "Qualcomm 8x74 pin controller driver"
227         depends on GPIOLIB && OF
228         select PINCTRL_MSM
229         help
230           This is the pinctrl, pinmux, pinconf and gpiolib driver for the
231           Qualcomm TLMM block found in the Qualcomm 8974 platform.
232
233 config PINCTRL_NOMADIK
234         bool "Nomadik pin controller driver"
235         depends on ARCH_U8500 || ARCH_NOMADIK
236         select PINMUX
237         select PINCONF
238         select GPIOLIB
239         select OF_GPIO
240         select GPIOLIB_IRQCHIP
241
242 config PINCTRL_STN8815
243         bool "STN8815 pin controller driver"
244         depends on PINCTRL_NOMADIK && ARCH_NOMADIK
245
246 config PINCTRL_DB8500
247         bool "DB8500 pin controller driver"
248         depends on PINCTRL_NOMADIK && ARCH_U8500
249
250 config PINCTRL_DB8540
251         bool "DB8540 pin controller driver"
252         depends on PINCTRL_NOMADIK && ARCH_U8500
253
254 config PINCTRL_ROCKCHIP
255         bool
256         select PINMUX
257         select GENERIC_PINCONF
258         select GENERIC_IRQ_CHIP
259
260 config PINCTRL_SINGLE
261         tristate "One-register-per-pin type device tree based pinctrl driver"
262         depends on OF
263         select PINMUX
264         select PINCONF
265         select GENERIC_PINCONF
266         help
267           This selects the device tree based generic pinctrl driver.
268
269 config PINCTRL_SIRF
270         bool "CSR SiRFprimaII/SiRFmarco pin controller driver"
271         depends on ARCH_SIRF
272         select PINMUX
273
274 config PINCTRL_SUNXI
275         bool
276         select PINMUX
277         select GENERIC_PINCONF
278
279 config PINCTRL_ST
280         bool
281         depends on OF
282         select PINMUX
283         select PINCONF
284
285 config PINCTRL_TEGRA
286         bool
287         select PINMUX
288         select PINCONF
289
290 config PINCTRL_TEGRA20
291         bool
292         select PINCTRL_TEGRA
293
294 config PINCTRL_TEGRA30
295         bool
296         select PINCTRL_TEGRA
297
298 config PINCTRL_TEGRA114
299         bool
300         select PINCTRL_TEGRA
301
302 config PINCTRL_TEGRA124
303         bool
304         select PINCTRL_TEGRA
305
306 config PINCTRL_TZ1090
307         bool "Toumaz Xenif TZ1090 pin control driver"
308         depends on SOC_TZ1090
309         select PINMUX
310         select GENERIC_PINCONF
311
312 config PINCTRL_TZ1090_PDC
313         bool "Toumaz Xenif TZ1090 PDC pin control driver"
314         depends on SOC_TZ1090
315         select PINMUX
316         select PINCONF
317
318 config PINCTRL_U300
319         bool "U300 pin controller driver"
320         depends on ARCH_U300
321         select PINMUX
322         select GENERIC_PINCONF
323
324 config PINCTRL_COH901
325         bool "ST-Ericsson U300 COH 901 335/571 GPIO"
326         depends on GPIOLIB && ARCH_U300 && PINCTRL_U300
327         select GPIOLIB_IRQCHIP
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
334 config PINCTRL_SAMSUNG
335         bool
336         select PINMUX
337         select PINCONF
338
339 config PINCTRL_EXYNOS
340         bool "Pinctrl driver data for Samsung EXYNOS SoCs other than 5440"
341         depends on OF && GPIOLIB && (ARCH_EXYNOS || ARCH_S5PV210)
342         select PINCTRL_SAMSUNG
343
344 config PINCTRL_EXYNOS5440
345         bool "Samsung EXYNOS5440 SoC pinctrl driver"
346         depends on SOC_EXYNOS5440
347         select PINMUX
348         select PINCONF
349
350 config PINCTRL_PALMAS
351         bool "Pinctrl driver for the PALMAS Series MFD devices"
352         depends on OF && MFD_PALMAS
353         select PINMUX
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
361 config PINCTRL_S3C24XX
362         bool "Samsung S3C24XX SoC pinctrl driver"
363         depends on ARCH_S3C24XX
364         select PINCTRL_SAMSUNG
365
366 config PINCTRL_S3C64XX
367         bool "Samsung S3C64XX SoC pinctrl driver"
368         depends on ARCH_S3C64XX
369         select PINCTRL_SAMSUNG
370
371 source "drivers/pinctrl/mvebu/Kconfig"
372 source "drivers/pinctrl/sh-pfc/Kconfig"
373 source "drivers/pinctrl/spear/Kconfig"
374 source "drivers/pinctrl/vt8500/Kconfig"
375
376 config PINCTRL_XWAY
377         bool
378         depends on SOC_TYPE_XWAY
379         depends on PINCTRL_LANTIQ
380
381 config PINCTRL_TB10X
382         bool
383         depends on ARC_PLAT_TB10X
384
385 endmenu
386
387 endif