29a0d89934567e6b9f550207c8b2ecf9a6cca6ec
[firefly-linux-kernel-4.4.55.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_VF610
192         bool "Freescale Vybrid VF610 pinctrl driver"
193         depends on SOC_VF610
194         select PINCTRL_IMX
195         help
196           Say Y here to enable the Freescale Vybrid VF610 pinctrl driver
197
198 config PINCTRL_LANTIQ
199         bool
200         depends on LANTIQ
201         select PINMUX
202         select PINCONF
203
204 config PINCTRL_FALCON
205         bool
206         depends on SOC_FALCON
207         depends on PINCTRL_LANTIQ
208
209 config PINCTRL_MXS
210         bool
211         select PINMUX
212         select PINCONF
213
214 config PINCTRL_IMX23
215         bool
216         select PINCTRL_MXS
217
218 config PINCTRL_IMX28
219         bool
220         select PINCTRL_MXS
221
222 config PINCTRL_MSM
223         bool
224         select PINMUX
225         select PINCONF
226         select GENERIC_PINCONF
227         select GPIOLIB_IRQCHIP
228
229 config PINCTRL_APQ8064
230         tristate "Qualcomm APQ8064 pin controller driver"
231         depends on GPIOLIB && OF
232         select PINCTRL_MSM
233         help
234           This is the pinctrl, pinmux, pinconf and gpiolib driver for the
235           Qualcomm TLMM block found in the Qualcomm APQ8064 platform.
236
237 config PINCTRL_IPQ8064
238         tristate "Qualcomm IPQ8064 pin controller driver"
239         depends on GPIOLIB && OF
240         select PINCTRL_MSM
241         help
242           This is the pinctrl, pinmux, pinconf and gpiolib driver for the
243           Qualcomm TLMM block found in the Qualcomm IPQ8064 platform.
244
245 config PINCTRL_MSM8X74
246         tristate "Qualcomm 8x74 pin controller driver"
247         depends on GPIOLIB && OF && (ARCH_QCOM || COMPILE_TEST)
248         select PINCTRL_MSM
249         help
250           This is the pinctrl, pinmux, pinconf and gpiolib driver for the
251           Qualcomm TLMM block found in the Qualcomm 8974 platform.
252
253 config PINCTRL_NOMADIK
254         bool "Nomadik pin controller driver"
255         depends on ARCH_U8500 || ARCH_NOMADIK
256         select PINMUX
257         select PINCONF
258         select GPIOLIB
259         select OF_GPIO
260         select GPIOLIB_IRQCHIP
261
262 config PINCTRL_STN8815
263         bool "STN8815 pin controller driver"
264         depends on PINCTRL_NOMADIK && ARCH_NOMADIK
265
266 config PINCTRL_DB8500
267         bool "DB8500 pin controller driver"
268         depends on PINCTRL_NOMADIK && ARCH_U8500
269
270 config PINCTRL_DB8540
271         bool "DB8540 pin controller driver"
272         depends on PINCTRL_NOMADIK && ARCH_U8500
273
274 config PINCTRL_ROCKCHIP
275         bool
276         select PINMUX
277         select GENERIC_PINCONF
278         select GENERIC_IRQ_CHIP
279         select MFD_SYSCON
280
281 config PINCTRL_SINGLE
282         tristate "One-register-per-pin type device tree based pinctrl driver"
283         depends on OF
284         select PINMUX
285         select PINCONF
286         select GENERIC_PINCONF
287         help
288           This selects the device tree based generic pinctrl driver.
289
290 config PINCTRL_SIRF
291         bool "CSR SiRFprimaII/SiRFmarco pin controller driver"
292         depends on ARCH_SIRF
293         select PINMUX
294         select GPIOLIB_IRQCHIP
295
296 config PINCTRL_ST
297         bool
298         depends on OF
299         select PINMUX
300         select PINCONF
301         select GPIOLIB_IRQCHIP
302
303 config PINCTRL_TEGRA
304         bool
305         select PINMUX
306         select PINCONF
307
308 config PINCTRL_TEGRA20
309         bool
310         select PINCTRL_TEGRA
311
312 config PINCTRL_TEGRA30
313         bool
314         select PINCTRL_TEGRA
315
316 config PINCTRL_TEGRA114
317         bool
318         select PINCTRL_TEGRA
319
320 config PINCTRL_TEGRA124
321         bool
322         select PINCTRL_TEGRA
323
324 config PINCTRL_TZ1090
325         bool "Toumaz Xenif TZ1090 pin control driver"
326         depends on SOC_TZ1090
327         select PINMUX
328         select GENERIC_PINCONF
329
330 config PINCTRL_TZ1090_PDC
331         bool "Toumaz Xenif TZ1090 PDC pin control driver"
332         depends on SOC_TZ1090
333         select PINMUX
334         select PINCONF
335
336 config PINCTRL_U300
337         bool "U300 pin controller driver"
338         depends on ARCH_U300
339         select PINMUX
340         select GENERIC_PINCONF
341
342 config PINCTRL_COH901
343         bool "ST-Ericsson U300 COH 901 335/571 GPIO"
344         depends on GPIOLIB && ARCH_U300 && PINCTRL_U300
345         select GPIOLIB_IRQCHIP
346         help
347           Say yes here to support GPIO interface on ST-Ericsson U300.
348           The names of the two IP block variants supported are
349           COH 901 335 and COH 901 571/3. They contain 3, 5 or 7
350           ports of 8 GPIO pins each.
351
352 config PINCTRL_SAMSUNG
353         bool
354         select PINMUX
355         select PINCONF
356
357 config PINCTRL_EXYNOS
358         bool "Pinctrl driver data for Samsung EXYNOS SoCs other than 5440"
359         depends on OF && GPIOLIB && (ARCH_EXYNOS || ARCH_S5PV210)
360         select PINCTRL_SAMSUNG
361
362 config PINCTRL_EXYNOS5440
363         bool "Samsung EXYNOS5440 SoC pinctrl driver"
364         depends on SOC_EXYNOS5440
365         select PINMUX
366         select PINCONF
367
368 config PINCTRL_PALMAS
369         bool "Pinctrl driver for the PALMAS Series MFD devices"
370         depends on OF && MFD_PALMAS
371         select PINMUX
372         select GENERIC_PINCONF
373         help
374           Palmas device supports the configuration of pins for different
375           functionality. This driver supports the pinmux, push-pull and
376           open drain configuration for the Palmas series devices like
377           TPS65913, TPS80036 etc.
378
379 config PINCTRL_S3C24XX
380         bool "Samsung S3C24XX SoC pinctrl driver"
381         depends on ARCH_S3C24XX
382         select PINCTRL_SAMSUNG
383
384 config PINCTRL_S3C64XX
385         bool "Samsung S3C64XX SoC pinctrl driver"
386         depends on ARCH_S3C64XX
387         select PINCTRL_SAMSUNG
388
389 source "drivers/pinctrl/berlin/Kconfig"
390 source "drivers/pinctrl/mvebu/Kconfig"
391 source "drivers/pinctrl/sh-pfc/Kconfig"
392 source "drivers/pinctrl/spear/Kconfig"
393 source "drivers/pinctrl/sunxi/Kconfig"
394 source "drivers/pinctrl/vt8500/Kconfig"
395
396 config PINCTRL_XWAY
397         bool
398         depends on SOC_TYPE_XWAY
399         depends on PINCTRL_LANTIQ
400
401 config PINCTRL_TB10X
402         bool
403         depends on ARC_PLAT_TB10X
404
405 endmenu
406
407 endif