Merge remote-tracking branches 'regulator/fix/axp20x', 'regulator/fix/cpcap' and...
[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 PINCONF
104         select GENERIC_PINCONF
105         help
106           driver for memory mapped GPIO functionality on AMD platforms
107           (x86 or arm).Most pins are usually muxed to some other
108           functionality by firmware,so only a small amount is available
109           for gpio use.
110
111           Requires ACPI/FDT device enumeration code to set up a platform
112           device.
113
114 config PINCTRL_DA850_PUPD
115         tristate "TI DA850/OMAP-L138/AM18XX pullup/pulldown groups"
116         depends on OF && (ARCH_DAVINCI_DA850 || COMPILE_TEST)
117         select PINCONF
118         select GENERIC_PINCONF
119         help
120           Driver for TI DA850/OMAP-L138/AM18XX pinconf. Used to control
121           pullup/pulldown pin groups.
122
123 config PINCTRL_DIGICOLOR
124         bool
125         depends on OF && (ARCH_DIGICOLOR || COMPILE_TEST)
126         select PINMUX
127         select GENERIC_PINCONF
128
129 config PINCTRL_LANTIQ
130         bool
131         depends on LANTIQ
132         select PINMUX
133         select PINCONF
134
135 config PINCTRL_LPC18XX
136         bool "NXP LPC18XX/43XX SCU pinctrl driver"
137         depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
138         default ARCH_LPC18XX
139         select PINMUX
140         select GENERIC_PINCONF
141         help
142           Pinctrl driver for NXP LPC18xx/43xx System Control Unit (SCU).
143
144 config PINCTRL_FALCON
145         bool
146         depends on SOC_FALCON
147         depends on PINCTRL_LANTIQ
148
149 config PINCTRL_MCP23S08
150         tristate "Microchip MCP23xxx I/O expander"
151         depends on SPI_MASTER || I2C
152         depends on I2C || I2C=n
153         select GPIOLIB_IRQCHIP
154         select REGMAP_I2C if I2C
155         select REGMAP_SPI if SPI_MASTER
156         select GENERIC_PINCONF
157         help
158           SPI/I2C driver for Microchip MCP23S08/MCP23S17/MCP23008/MCP23017
159           I/O expanders.
160           This provides a GPIO interface supporting inputs and outputs.
161           The I2C versions of the chips can be used as interrupt-controller.
162
163 config PINCTRL_MESON
164         bool
165         depends on OF
166         select PINMUX
167         select PINCONF
168         select GENERIC_PINCONF
169         select GPIOLIB
170         select OF_GPIO
171         select REGMAP_MMIO
172
173 config PINCTRL_OXNAS
174         bool
175         depends on OF
176         select PINMUX
177         select PINCONF
178         select GENERIC_PINCONF
179         select GPIOLIB
180         select OF_GPIO
181         select GPIOLIB_IRQCHIP
182         select MFD_SYSCON
183
184 config PINCTRL_ROCKCHIP
185         bool
186         select PINMUX
187         select GENERIC_PINCONF
188         select GENERIC_IRQ_CHIP
189         select MFD_SYSCON
190
191 config PINCTRL_RZA1
192         bool "Renesas RZ/A1 gpio and pinctrl driver"
193         depends on OF
194         depends on ARCH_R7S72100 || COMPILE_TEST
195         select GPIOLIB
196         select GENERIC_PINCTRL_GROUPS
197         select GENERIC_PINMUX_FUNCTIONS
198         select GENERIC_PINCONF
199         help
200           This selects pinctrl driver for Renesas RZ/A1 platforms.
201
202 config PINCTRL_SINGLE
203         tristate "One-register-per-pin type device tree based pinctrl driver"
204         depends on OF
205         select GENERIC_PINCTRL_GROUPS
206         select GENERIC_PINMUX_FUNCTIONS
207         select GENERIC_PINCONF
208         help
209           This selects the device tree based generic pinctrl driver.
210
211 config PINCTRL_SIRF
212         bool "CSR SiRFprimaII pin controller driver"
213         depends on ARCH_SIRF
214         select PINMUX
215         select PINCONF
216         select GENERIC_PINCONF
217         select GPIOLIB_IRQCHIP
218
219 config PINCTRL_SX150X
220         bool "Semtech SX150x I2C GPIO expander pinctrl driver"
221         depends on GPIOLIB && I2C=y
222         select PINMUX
223         select PINCONF
224         select GENERIC_PINCONF
225         select GPIOLIB_IRQCHIP
226         select REGMAP
227         help
228           Say yes here to provide support for Semtech SX150x-series I2C
229           GPIO expanders as pinctrl module.
230           Compatible models include:
231           - 8 bits:  sx1508q, sx1502q
232           - 16 bits: sx1509q, sx1506q
233
234 config PINCTRL_PISTACHIO
235         def_bool y if MACH_PISTACHIO
236         depends on GPIOLIB
237         select PINMUX
238         select GENERIC_PINCONF
239         select GPIOLIB_IRQCHIP
240         select OF_GPIO
241
242 config PINCTRL_ST
243         bool
244         depends on OF
245         select PINMUX
246         select PINCONF
247         select GPIOLIB_IRQCHIP
248
249 config PINCTRL_TZ1090
250         bool "Toumaz Xenif TZ1090 pin control driver"
251         depends on SOC_TZ1090
252         select PINMUX
253         select GENERIC_PINCONF
254
255 config PINCTRL_TZ1090_PDC
256         bool "Toumaz Xenif TZ1090 PDC pin control driver"
257         depends on SOC_TZ1090
258         select PINMUX
259         select PINCONF
260
261 config PINCTRL_U300
262         bool "U300 pin controller driver"
263         depends on ARCH_U300
264         select PINMUX
265         select GENERIC_PINCONF
266
267 config PINCTRL_COH901
268         bool "ST-Ericsson U300 COH 901 335/571 GPIO"
269         depends on GPIOLIB && ARCH_U300 && PINCTRL_U300
270         select GPIOLIB_IRQCHIP
271         help
272           Say yes here to support GPIO interface on ST-Ericsson U300.
273           The names of the two IP block variants supported are
274           COH 901 335 and COH 901 571/3. They contain 3, 5 or 7
275           ports of 8 GPIO pins each.
276
277 config PINCTRL_MAX77620
278         tristate "MAX77620/MAX20024 Pincontrol support"
279         depends on MFD_MAX77620 && OF
280         select PINMUX
281         select GENERIC_PINCONF
282         help
283           Say Yes here to enable Pin control support for Maxim PMIC MAX77620.
284           This PMIC has 8 GPIO pins that work as GPIO as well as special
285           function in alternate mode. This driver also configure push-pull,
286           open drain, FPS slots etc.
287
288 config PINCTRL_PALMAS
289         tristate "Pinctrl driver for the PALMAS Series MFD devices"
290         depends on OF && MFD_PALMAS
291         select PINMUX
292         select GENERIC_PINCONF
293         help
294           Palmas device supports the configuration of pins for different
295           functionality. This driver supports the pinmux, push-pull and
296           open drain configuration for the Palmas series devices like
297           TPS65913, TPS80036 etc.
298
299 config PINCTRL_PIC32
300         bool "Microchip PIC32 pin controller driver"
301         depends on OF
302         depends on MACH_PIC32
303         select PINMUX
304         select GENERIC_PINCONF
305         select GPIOLIB_IRQCHIP
306         select OF_GPIO
307         help
308           This is the pin controller and gpio driver for Microchip PIC32
309           microcontrollers. This option is selected automatically when specific
310           machine and arch are selected to build.
311
312 config PINCTRL_PIC32MZDA
313         def_bool y if PIC32MZDA
314         select PINCTRL_PIC32
315
316 config PINCTRL_ZYNQ
317         bool "Pinctrl driver for Xilinx Zynq"
318         depends on ARCH_ZYNQ
319         select PINMUX
320         select GENERIC_PINCONF
321         help
322           This selects the pinctrl driver for Xilinx Zynq.
323
324 config PINCTRL_INGENIC
325         bool "Pinctrl driver for the Ingenic JZ47xx SoCs"
326         default y
327         depends on OF
328         depends on MACH_INGENIC || COMPILE_TEST
329         select GENERIC_PINCONF
330         select GENERIC_PINCTRL_GROUPS
331         select GENERIC_PINMUX_FUNCTIONS
332         select REGMAP_MMIO
333
334 source "drivers/pinctrl/aspeed/Kconfig"
335 source "drivers/pinctrl/bcm/Kconfig"
336 source "drivers/pinctrl/berlin/Kconfig"
337 source "drivers/pinctrl/freescale/Kconfig"
338 source "drivers/pinctrl/intel/Kconfig"
339 source "drivers/pinctrl/mvebu/Kconfig"
340 source "drivers/pinctrl/nomadik/Kconfig"
341 source "drivers/pinctrl/pxa/Kconfig"
342 source "drivers/pinctrl/qcom/Kconfig"
343 source "drivers/pinctrl/samsung/Kconfig"
344 source "drivers/pinctrl/sh-pfc/Kconfig"
345 source "drivers/pinctrl/spear/Kconfig"
346 source "drivers/pinctrl/stm32/Kconfig"
347 source "drivers/pinctrl/sunxi/Kconfig"
348 source "drivers/pinctrl/tegra/Kconfig"
349 source "drivers/pinctrl/ti/Kconfig"
350 source "drivers/pinctrl/uniphier/Kconfig"
351 source "drivers/pinctrl/vt8500/Kconfig"
352 source "drivers/pinctrl/mediatek/Kconfig"
353 source "drivers/pinctrl/zte/Kconfig"
354
355 config PINCTRL_XWAY
356         bool
357         depends on SOC_TYPE_XWAY
358         depends on PINCTRL_LANTIQ
359
360 config PINCTRL_TB10X
361         bool
362         depends on OF && ARC_PLAT_TB10X
363         select GPIOLIB
364
365 endmenu