Merge tag 'pinctrl-v3.14-3' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw...
[cascardo/linux.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 && OF_IRQ
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
239 config PINCTRL_STN8815
240         bool "STN8815 pin controller driver"
241         depends on PINCTRL_NOMADIK && ARCH_NOMADIK
242
243 config PINCTRL_DB8500
244         bool "DB8500 pin controller driver"
245         depends on PINCTRL_NOMADIK && ARCH_U8500
246
247 config PINCTRL_DB8540
248         bool "DB8540 pin controller driver"
249         depends on PINCTRL_NOMADIK && ARCH_U8500
250
251 config PINCTRL_ROCKCHIP
252         bool
253         select PINMUX
254         select GENERIC_PINCONF
255         select GENERIC_IRQ_CHIP
256
257 config PINCTRL_SINGLE
258         tristate "One-register-per-pin type device tree based pinctrl driver"
259         depends on OF
260         select PINMUX
261         select PINCONF
262         select GENERIC_PINCONF
263         help
264           This selects the device tree based generic pinctrl driver.
265
266 config PINCTRL_SIRF
267         bool "CSR SiRFprimaII/SiRFmarco pin controller driver"
268         depends on ARCH_SIRF
269         select PINMUX
270
271 config PINCTRL_SUNXI
272         bool
273         select PINMUX
274         select GENERIC_PINCONF
275
276 config PINCTRL_ST
277         bool
278         depends on OF
279         select PINMUX
280         select PINCONF
281
282 config PINCTRL_TEGRA
283         bool
284         select PINMUX
285         select PINCONF
286
287 config PINCTRL_TEGRA20
288         bool
289         select PINCTRL_TEGRA
290
291 config PINCTRL_TEGRA30
292         bool
293         select PINCTRL_TEGRA
294
295 config PINCTRL_TEGRA114
296         bool
297         select PINCTRL_TEGRA
298
299 config PINCTRL_TEGRA124
300         bool
301         select PINCTRL_TEGRA
302
303 config PINCTRL_TZ1090
304         bool "Toumaz Xenif TZ1090 pin control driver"
305         depends on SOC_TZ1090
306         select PINMUX
307         select GENERIC_PINCONF
308
309 config PINCTRL_TZ1090_PDC
310         bool "Toumaz Xenif TZ1090 PDC pin control driver"
311         depends on SOC_TZ1090
312         select PINMUX
313         select PINCONF
314
315 config PINCTRL_U300
316         bool "U300 pin controller driver"
317         depends on ARCH_U300
318         select PINMUX
319         select GENERIC_PINCONF
320
321 config PINCTRL_COH901
322         bool "ST-Ericsson U300 COH 901 335/571 GPIO"
323         depends on GPIOLIB && ARCH_U300 && PINCTRL_U300
324         help
325           Say yes here to support GPIO interface on ST-Ericsson U300.
326           The names of the two IP block variants supported are
327           COH 901 335 and COH 901 571/3. They contain 3, 5 or 7
328           ports of 8 GPIO pins each.
329
330 config PINCTRL_SAMSUNG
331         bool
332         select PINMUX
333         select PINCONF
334
335 config PINCTRL_EXYNOS
336         bool "Pinctrl driver data for Samsung EXYNOS SoCs other than 5440"
337         depends on OF && GPIOLIB && (ARCH_EXYNOS || ARCH_S5PV210)
338         select PINCTRL_SAMSUNG
339
340 config PINCTRL_EXYNOS5440
341         bool "Samsung EXYNOS5440 SoC pinctrl driver"
342         depends on SOC_EXYNOS5440
343         select PINMUX
344         select PINCONF
345
346 config PINCTRL_PALMAS
347         bool "Pinctrl driver for the PALMAS Series MFD devices"
348         depends on OF && MFD_PALMAS
349         select PINMUX
350         select GENERIC_PINCONF
351         help
352           Palmas device supports the configuration of pins for different
353           functionality. This driver supports the pinmux, push-pull and
354           open drain configuration for the Palmas series devices like
355           TPS65913, TPS80036 etc.
356
357 config PINCTRL_S3C24XX
358         bool "Samsung S3C24XX SoC pinctrl driver"
359         depends on ARCH_S3C24XX
360         select PINCTRL_SAMSUNG
361
362 config PINCTRL_S3C64XX
363         bool "Samsung S3C64XX SoC pinctrl driver"
364         depends on ARCH_S3C64XX
365         select PINCTRL_SAMSUNG
366
367 source "drivers/pinctrl/mvebu/Kconfig"
368 source "drivers/pinctrl/sh-pfc/Kconfig"
369 source "drivers/pinctrl/spear/Kconfig"
370 source "drivers/pinctrl/vt8500/Kconfig"
371
372 config PINCTRL_XWAY
373         bool
374         depends on SOC_TYPE_XWAY
375         depends on PINCTRL_LANTIQ
376
377 config PINCTRL_TB10X
378         bool
379         depends on ARC_PLAT_TB10X
380
381 endmenu
382
383 endif