ARM: mvebu: update Armada XP DT for dynamic frequency scaling
[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         select GPIOLIB
88         select OF_GPIO
89         select GPIOLIB_IRQCHIP
90         help
91           Say Y here to enable the at91 pinctrl driver
92
93 config PINCTRL_BAYTRAIL
94         bool "Intel Baytrail GPIO pin control"
95         depends on GPIOLIB && ACPI && X86
96         select IRQ_DOMAIN
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
105 config PINCTRL_BCM2835
106         bool
107         select PINMUX
108         select PINCONF
109
110 config PINCTRL_BCM281XX
111         bool "Broadcom BCM281xx pinctrl driver"
112         depends on OF
113         select PINMUX
114         select PINCONF
115         select GENERIC_PINCONF
116         select REGMAP_MMIO
117         help
118           Say Y here to support Broadcom BCM281xx pinctrl driver, which is used
119           for the BCM281xx SoC family, including BCM11130, BCM11140, BCM11351,
120           BCM28145, and BCM28155 SoCs.  This driver requires the pinctrl
121           framework.  GPIO is provided by a separate GPIO driver.
122
123 config PINCTRL_IMX
124         bool
125         select PINMUX
126         select PINCONF
127
128 config PINCTRL_IMX1_CORE
129         bool
130         select PINMUX
131         select PINCONF
132
133 config PINCTRL_IMX27
134         bool "IMX27 pinctrl driver"
135         depends on SOC_IMX27
136         select PINCTRL_IMX1_CORE
137         help
138           Say Y here to enable the imx27 pinctrl driver
139
140
141 config 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
149 config PINCTRL_IMX35
150         bool "IMX35 pinctrl driver"
151         depends on SOC_IMX35
152         select PINCTRL_IMX
153         help
154           Say Y here to enable the imx35 pinctrl driver
155
156 config PINCTRL_IMX50
157         bool "IMX50 pinctrl driver"
158         depends on SOC_IMX50
159         select PINCTRL_IMX
160         help
161           Say Y here to enable the imx50 pinctrl driver
162
163 config PINCTRL_IMX51
164         bool "IMX51 pinctrl driver"
165         depends on SOC_IMX51
166         select PINCTRL_IMX
167         help
168           Say Y here to enable the imx51 pinctrl driver
169
170 config PINCTRL_IMX53
171         bool "IMX53 pinctrl driver"
172         depends on SOC_IMX53
173         select PINCTRL_IMX
174         help
175           Say Y here to enable the imx53 pinctrl driver
176
177 config PINCTRL_IMX6Q
178         bool "IMX6Q/DL pinctrl driver"
179         depends on SOC_IMX6Q
180         select PINCTRL_IMX
181         help
182           Say Y here to enable the imx6q/dl pinctrl driver
183
184 config PINCTRL_IMX6SL
185         bool "IMX6SL pinctrl driver"
186         depends on SOC_IMX6SL
187         select PINCTRL_IMX
188         help
189           Say Y here to enable the imx6sl pinctrl driver
190
191 config 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
198 config PINCTRL_VF610
199         bool "Freescale Vybrid VF610 pinctrl driver"
200         depends on SOC_VF610
201         select PINCTRL_IMX
202         help
203           Say Y here to enable the Freescale Vybrid VF610 pinctrl driver
204
205 config PINCTRL_LANTIQ
206         bool
207         depends on LANTIQ
208         select PINMUX
209         select PINCONF
210
211 config PINCTRL_FALCON
212         bool
213         depends on SOC_FALCON
214         depends on PINCTRL_LANTIQ
215
216 config PINCTRL_MXS
217         bool
218         select PINMUX
219         select PINCONF
220
221 config PINCTRL_IMX23
222         bool
223         select PINCTRL_MXS
224
225 config PINCTRL_IMX28
226         bool
227         select PINCTRL_MXS
228
229 config PINCTRL_MSM
230         bool
231         select PINMUX
232         select PINCONF
233         select GENERIC_PINCONF
234         select GPIOLIB_IRQCHIP
235
236 config 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
244 config 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
252 config PINCTRL_MSM8X74
253         tristate "Qualcomm 8x74 pin controller driver"
254         depends on GPIOLIB && OF && (ARCH_QCOM || COMPILE_TEST)
255         select PINCTRL_MSM
256         help
257           This is the pinctrl, pinmux, pinconf and gpiolib driver for the
258           Qualcomm TLMM block found in the Qualcomm 8974 platform.
259
260 config PINCTRL_NOMADIK
261         bool "Nomadik pin controller driver"
262         depends on ARCH_U8500 || ARCH_NOMADIK
263         select PINMUX
264         select PINCONF
265         select GPIOLIB
266         select OF_GPIO
267         select GPIOLIB_IRQCHIP
268
269 config PINCTRL_STN8815
270         bool "STN8815 pin controller driver"
271         depends on PINCTRL_NOMADIK && ARCH_NOMADIK
272
273 config PINCTRL_DB8500
274         bool "DB8500 pin controller driver"
275         depends on PINCTRL_NOMADIK && ARCH_U8500
276
277 config PINCTRL_DB8540
278         bool "DB8540 pin controller driver"
279         depends on PINCTRL_NOMADIK && ARCH_U8500
280
281 config PINCTRL_ROCKCHIP
282         bool
283         select PINMUX
284         select GENERIC_PINCONF
285         select GENERIC_IRQ_CHIP
286         select MFD_SYSCON
287
288 config PINCTRL_SINGLE
289         tristate "One-register-per-pin type device tree based pinctrl driver"
290         depends on OF
291         select PINMUX
292         select PINCONF
293         select GENERIC_PINCONF
294         help
295           This selects the device tree based generic pinctrl driver.
296
297 config PINCTRL_SIRF
298         bool "CSR SiRFprimaII/SiRFmarco pin controller driver"
299         depends on ARCH_SIRF
300         select PINMUX
301         select GPIOLIB_IRQCHIP
302
303 config PINCTRL_ST
304         bool
305         depends on OF
306         select PINMUX
307         select PINCONF
308         select GPIOLIB_IRQCHIP
309
310 config PINCTRL_TEGRA
311         bool
312         select PINMUX
313         select PINCONF
314
315 config PINCTRL_TEGRA20
316         bool
317         select PINCTRL_TEGRA
318
319 config PINCTRL_TEGRA30
320         bool
321         select PINCTRL_TEGRA
322
323 config PINCTRL_TEGRA114
324         bool
325         select PINCTRL_TEGRA
326
327 config PINCTRL_TEGRA124
328         bool
329         select PINCTRL_TEGRA
330
331 config PINCTRL_TZ1090
332         bool "Toumaz Xenif TZ1090 pin control driver"
333         depends on SOC_TZ1090
334         select PINMUX
335         select GENERIC_PINCONF
336
337 config PINCTRL_TZ1090_PDC
338         bool "Toumaz Xenif TZ1090 PDC pin control driver"
339         depends on SOC_TZ1090
340         select PINMUX
341         select PINCONF
342
343 config PINCTRL_U300
344         bool "U300 pin controller driver"
345         depends on ARCH_U300
346         select PINMUX
347         select GENERIC_PINCONF
348
349 config PINCTRL_COH901
350         bool "ST-Ericsson U300 COH 901 335/571 GPIO"
351         depends on GPIOLIB && ARCH_U300 && PINCTRL_U300
352         select GPIOLIB_IRQCHIP
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
359 config PINCTRL_SAMSUNG
360         bool
361         select PINMUX
362         select PINCONF
363
364 config PINCTRL_EXYNOS
365         bool "Pinctrl driver data for Samsung EXYNOS SoCs other than 5440"
366         depends on OF && GPIOLIB && (ARCH_EXYNOS || ARCH_S5PV210)
367         select PINCTRL_SAMSUNG
368
369 config PINCTRL_EXYNOS5440
370         bool "Samsung EXYNOS5440 SoC pinctrl driver"
371         depends on SOC_EXYNOS5440
372         select PINMUX
373         select PINCONF
374
375 config PINCTRL_PALMAS
376         bool "Pinctrl driver for the PALMAS Series MFD devices"
377         depends on OF && MFD_PALMAS
378         select PINMUX
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
386 config PINCTRL_S3C24XX
387         bool "Samsung S3C24XX SoC pinctrl driver"
388         depends on ARCH_S3C24XX
389         select PINCTRL_SAMSUNG
390
391 config PINCTRL_S3C64XX
392         bool "Samsung S3C64XX SoC pinctrl driver"
393         depends on ARCH_S3C64XX
394         select PINCTRL_SAMSUNG
395
396 source "drivers/pinctrl/berlin/Kconfig"
397 source "drivers/pinctrl/mvebu/Kconfig"
398 source "drivers/pinctrl/sh-pfc/Kconfig"
399 source "drivers/pinctrl/spear/Kconfig"
400 source "drivers/pinctrl/sunxi/Kconfig"
401 source "drivers/pinctrl/vt8500/Kconfig"
402
403 config PINCTRL_XWAY
404         bool
405         depends on SOC_TYPE_XWAY
406         depends on PINCTRL_LANTIQ
407
408 config PINCTRL_TB10X
409         bool
410         depends on ARC_PLAT_TB10X
411
412 endmenu
413
414 endif