Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
[sfrench/cifs-2.6.git] / drivers / pinctrl / Kconfig
1 #
2 # PINCTRL infrastructure and drivers
3 #
4
5 config PINCTRL
6         bool
7
8 menu "Pin controllers"
9         depends on PINCTRL
10
11 config GENERIC_PINCTRL_GROUPS
12         bool
13
14 config PINMUX
15         bool "Support pin multiplexing controllers" if COMPILE_TEST
16
17 config GENERIC_PINMUX_FUNCTIONS
18         bool
19         select PINMUX
20
21 config PINCONF
22         bool "Support pin configuration controllers" if COMPILE_TEST
23
24 config GENERIC_PINCONF
25         bool
26         select PINCONF
27
28 config DEBUG_PINCTRL
29         bool "Debug PINCTRL calls"
30         depends on DEBUG_KERNEL
31         help
32           Say Y here to add some extra checks and diagnostics to PINCTRL calls.
33
34 config PINCTRL_ADI2
35         bool "ADI pin controller driver"
36         depends on BLACKFIN
37         select PINMUX
38         select IRQ_DOMAIN
39         help
40           This is the pin controller and gpio driver for ADI BF54x, BF60x and
41           future processors. This option is selected automatically when specific
42           machine and arch are selected to build.
43
44 config PINCTRL_ARTPEC6
45         bool "Axis ARTPEC-6 pin controller driver"
46         depends on MACH_ARTPEC6
47         select PINMUX
48         select GENERIC_PINCONF
49         help
50           This is the driver for the Axis ARTPEC-6 pin controller. This driver
51           supports pin function multiplexing as well as pin bias and drive
52           strength configuration. Device tree integration instructions can be
53           found in Documentation/devicetree/bindings/pinctrl/axis,artpec6-pinctrl.txt
54
55 config PINCTRL_AS3722
56         tristate "Pinctrl and GPIO driver for ams AS3722 PMIC"
57         depends on MFD_AS3722 && GPIOLIB
58         select PINMUX
59         select GENERIC_PINCONF
60         help
61           AS3722 device supports the configuration of GPIO pins for different
62           functionality. This driver supports the pinmux, push-pull and
63           open drain configuration for the GPIO pins of AS3722 devices. It also
64           supports the GPIO functionality through gpiolib.
65
66 config PINCTRL_BF54x
67         def_bool y if BF54x
68         select PINCTRL_ADI2
69
70 config PINCTRL_BF60x
71         def_bool y if BF60x
72         select PINCTRL_ADI2
73
74 config PINCTRL_AT91
75         bool "AT91 pinctrl driver"
76         depends on OF
77         depends on ARCH_AT91
78         select PINMUX
79         select PINCONF
80         select GPIOLIB
81         select OF_GPIO
82         select GPIOLIB_IRQCHIP
83         help
84           Say Y here to enable the at91 pinctrl driver
85
86 config PINCTRL_AT91PIO4
87         bool "AT91 PIO4 pinctrl driver"
88         depends on OF
89         depends on ARCH_AT91
90         select PINMUX
91         select GENERIC_PINCONF
92         select GPIOLIB
93         select GPIOLIB_IRQCHIP
94         select OF_GPIO
95         help
96           Say Y here to enable the at91 pinctrl/gpio driver for Atmel PIO4
97           controller available on sama5d2 SoC.
98
99 config PINCTRL_AMD
100         tristate "AMD GPIO pin control"
101         depends on GPIOLIB
102         select GPIOLIB_IRQCHIP
103         select PINMUX
104         select PINCONF
105         select GENERIC_PINCONF
106         help
107           driver for memory mapped GPIO functionality on AMD platforms
108           (x86 or arm).Most pins are usually muxed to some other
109           functionality by firmware,so only a small amount is available
110           for gpio use.
111
112           Requires ACPI/FDT device enumeration code to set up a platform
113           device.
114
115 config PINCTRL_DA850_PUPD
116         tristate "TI DA850/OMAP-L138/AM18XX pullup/pulldown groups"
117         depends on OF && (ARCH_DAVINCI_DA850 || COMPILE_TEST)
118         select PINCONF
119         select GENERIC_PINCONF
120         help
121           Driver for TI DA850/OMAP-L138/AM18XX pinconf. Used to control
122           pullup/pulldown pin groups.
123
124 config PINCTRL_DIGICOLOR
125         bool
126         depends on OF && (ARCH_DIGICOLOR || COMPILE_TEST)
127         select PINMUX
128         select GENERIC_PINCONF
129
130 config PINCTRL_LANTIQ
131         bool
132         depends on LANTIQ
133         select PINMUX
134         select PINCONF
135
136 config PINCTRL_LPC18XX
137         bool "NXP LPC18XX/43XX SCU pinctrl driver"
138         depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
139         default ARCH_LPC18XX
140         select PINMUX
141         select GENERIC_PINCONF
142         help
143           Pinctrl driver for NXP LPC18xx/43xx System Control Unit (SCU).
144
145 config PINCTRL_FALCON
146         bool
147         depends on SOC_FALCON
148         depends on PINCTRL_LANTIQ
149
150 config PINCTRL_GEMINI
151         bool
152         depends on ARCH_GEMINI
153         default ARCH_GEMINI
154         select PINMUX
155         select MFD_SYSCON
156
157 config PINCTRL_MCP23S08
158         tristate "Microchip MCP23xxx I/O expander"
159         depends on SPI_MASTER || I2C
160         depends on I2C || I2C=n
161         select GPIOLIB_IRQCHIP
162         select REGMAP_I2C if I2C
163         select REGMAP_SPI if SPI_MASTER
164         select GENERIC_PINCONF
165         help
166           SPI/I2C driver for Microchip MCP23S08/MCP23S17/MCP23008/MCP23017
167           I/O expanders.
168           This provides a GPIO interface supporting inputs and outputs.
169           The I2C versions of the chips can be used as interrupt-controller.
170
171 config PINCTRL_MESON
172         bool
173         depends on OF
174         select PINMUX
175         select PINCONF
176         select GENERIC_PINCONF
177         select GPIOLIB
178         select OF_GPIO
179         select REGMAP_MMIO
180
181 config PINCTRL_OXNAS
182         bool
183         depends on OF
184         select PINMUX
185         select PINCONF
186         select GENERIC_PINCONF
187         select GPIOLIB
188         select OF_GPIO
189         select GPIOLIB_IRQCHIP
190         select MFD_SYSCON
191
192 config PINCTRL_ROCKCHIP
193         bool
194         select PINMUX
195         select GENERIC_PINCONF
196         select GENERIC_IRQ_CHIP
197         select MFD_SYSCON
198
199 config PINCTRL_RZA1
200         bool "Renesas RZ/A1 gpio and pinctrl driver"
201         depends on OF
202         depends on ARCH_R7S72100 || COMPILE_TEST
203         select GPIOLIB
204         select GENERIC_PINCTRL_GROUPS
205         select GENERIC_PINMUX_FUNCTIONS
206         select GENERIC_PINCONF
207         help
208           This selects pinctrl driver for Renesas RZ/A1 platforms.
209
210 config PINCTRL_SINGLE
211         tristate "One-register-per-pin type device tree based pinctrl driver"
212         depends on OF
213         select GENERIC_PINCTRL_GROUPS
214         select GENERIC_PINMUX_FUNCTIONS
215         select GENERIC_PINCONF
216         help
217           This selects the device tree based generic pinctrl driver.
218
219 config PINCTRL_SIRF
220         bool "CSR SiRFprimaII pin controller driver"
221         depends on ARCH_SIRF
222         select PINMUX
223         select PINCONF
224         select GENERIC_PINCONF
225         select GPIOLIB_IRQCHIP
226
227 config PINCTRL_SX150X
228         bool "Semtech SX150x I2C GPIO expander pinctrl driver"
229         depends on GPIOLIB && I2C=y
230         select PINMUX
231         select PINCONF
232         select GENERIC_PINCONF
233         select GPIOLIB_IRQCHIP
234         select REGMAP
235         help
236           Say yes here to provide support for Semtech SX150x-series I2C
237           GPIO expanders as pinctrl module.
238           Compatible models include:
239           - 8 bits:  sx1508q, sx1502q
240           - 16 bits: sx1509q, sx1506q
241
242 config PINCTRL_PISTACHIO
243         def_bool y if MACH_PISTACHIO
244         depends on GPIOLIB
245         select PINMUX
246         select GENERIC_PINCONF
247         select GPIOLIB_IRQCHIP
248         select OF_GPIO
249
250 config PINCTRL_ST
251         bool
252         depends on OF
253         select PINMUX
254         select PINCONF
255         select GPIOLIB_IRQCHIP
256
257 config PINCTRL_TZ1090
258         bool "Toumaz Xenif TZ1090 pin control driver"
259         depends on SOC_TZ1090
260         select PINMUX
261         select GENERIC_PINCONF
262
263 config PINCTRL_TZ1090_PDC
264         bool "Toumaz Xenif TZ1090 PDC pin control driver"
265         depends on SOC_TZ1090
266         select PINMUX
267         select PINCONF
268
269 config PINCTRL_U300
270         bool "U300 pin controller driver"
271         depends on ARCH_U300
272         select PINMUX
273         select GENERIC_PINCONF
274
275 config PINCTRL_COH901
276         bool "ST-Ericsson U300 COH 901 335/571 GPIO"
277         depends on GPIOLIB && ARCH_U300 && PINCTRL_U300
278         select GPIOLIB_IRQCHIP
279         help
280           Say yes here to support GPIO interface on ST-Ericsson U300.
281           The names of the two IP block variants supported are
282           COH 901 335 and COH 901 571/3. They contain 3, 5 or 7
283           ports of 8 GPIO pins each.
284
285 config PINCTRL_MAX77620
286         tristate "MAX77620/MAX20024 Pincontrol support"
287         depends on MFD_MAX77620 && OF
288         select PINMUX
289         select GENERIC_PINCONF
290         help
291           Say Yes here to enable Pin control support for Maxim PMIC MAX77620.
292           This PMIC has 8 GPIO pins that work as GPIO as well as special
293           function in alternate mode. This driver also configure push-pull,
294           open drain, FPS slots etc.
295
296 config PINCTRL_PALMAS
297         tristate "Pinctrl driver for the PALMAS Series MFD devices"
298         depends on OF && MFD_PALMAS
299         select PINMUX
300         select GENERIC_PINCONF
301         help
302           Palmas device supports the configuration of pins for different
303           functionality. This driver supports the pinmux, push-pull and
304           open drain configuration for the Palmas series devices like
305           TPS65913, TPS80036 etc.
306
307 config PINCTRL_PIC32
308         bool "Microchip PIC32 pin controller driver"
309         depends on OF
310         depends on MACH_PIC32
311         select PINMUX
312         select GENERIC_PINCONF
313         select GPIOLIB_IRQCHIP
314         select OF_GPIO
315         help
316           This is the pin controller and gpio driver for Microchip PIC32
317           microcontrollers. This option is selected automatically when specific
318           machine and arch are selected to build.
319
320 config PINCTRL_PIC32MZDA
321         def_bool y if PIC32MZDA
322         select PINCTRL_PIC32
323
324 config PINCTRL_ZYNQ
325         bool "Pinctrl driver for Xilinx Zynq"
326         depends on ARCH_ZYNQ
327         select PINMUX
328         select GENERIC_PINCONF
329         help
330           This selects the pinctrl driver for Xilinx Zynq.
331
332 config PINCTRL_INGENIC
333         bool "Pinctrl driver for the Ingenic JZ47xx SoCs"
334         default y
335         depends on OF
336         depends on MACH_INGENIC || COMPILE_TEST
337         select GENERIC_PINCONF
338         select GENERIC_PINCTRL_GROUPS
339         select GENERIC_PINMUX_FUNCTIONS
340         select REGMAP_MMIO
341
342 config PINCTRL_RK805
343         tristate "Pinctrl and GPIO driver for RK805 PMIC"
344         depends on MFD_RK808
345         select GPIOLIB
346         select PINMUX
347         select GENERIC_PINCONF
348         help
349           This selects the pinctrl driver for RK805.
350
351 source "drivers/pinctrl/aspeed/Kconfig"
352 source "drivers/pinctrl/bcm/Kconfig"
353 source "drivers/pinctrl/berlin/Kconfig"
354 source "drivers/pinctrl/freescale/Kconfig"
355 source "drivers/pinctrl/intel/Kconfig"
356 source "drivers/pinctrl/mvebu/Kconfig"
357 source "drivers/pinctrl/nomadik/Kconfig"
358 source "drivers/pinctrl/pxa/Kconfig"
359 source "drivers/pinctrl/qcom/Kconfig"
360 source "drivers/pinctrl/samsung/Kconfig"
361 source "drivers/pinctrl/sh-pfc/Kconfig"
362 source "drivers/pinctrl/spear/Kconfig"
363 source "drivers/pinctrl/sprd/Kconfig"
364 source "drivers/pinctrl/stm32/Kconfig"
365 source "drivers/pinctrl/sunxi/Kconfig"
366 source "drivers/pinctrl/tegra/Kconfig"
367 source "drivers/pinctrl/ti/Kconfig"
368 source "drivers/pinctrl/uniphier/Kconfig"
369 source "drivers/pinctrl/vt8500/Kconfig"
370 source "drivers/pinctrl/mediatek/Kconfig"
371 source "drivers/pinctrl/zte/Kconfig"
372
373 config PINCTRL_XWAY
374         bool
375         depends on SOC_TYPE_XWAY
376         depends on PINCTRL_LANTIQ
377
378 config PINCTRL_TB10X
379         bool
380         depends on OF && ARC_PLAT_TB10X
381         select GPIOLIB
382
383 endmenu