Merge tag 'locks-v4.14-1' of git://git.kernel.org/pub/scm/linux/kernel/git/jlayton...
[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_GEMINI
150         bool
151         depends on ARCH_GEMINI
152         default ARCH_GEMINI
153         select PINMUX
154         select MFD_SYSCON
155
156 config PINCTRL_MCP23S08
157         tristate "Microchip MCP23xxx I/O expander"
158         depends on SPI_MASTER || I2C
159         depends on I2C || I2C=n
160         select GPIOLIB_IRQCHIP
161         select REGMAP_I2C if I2C
162         select REGMAP_SPI if SPI_MASTER
163         select GENERIC_PINCONF
164         help
165           SPI/I2C driver for Microchip MCP23S08/MCP23S17/MCP23008/MCP23017
166           I/O expanders.
167           This provides a GPIO interface supporting inputs and outputs.
168           The I2C versions of the chips can be used as interrupt-controller.
169
170 config PINCTRL_MESON
171         bool
172         depends on OF
173         select PINMUX
174         select PINCONF
175         select GENERIC_PINCONF
176         select GPIOLIB
177         select OF_GPIO
178         select REGMAP_MMIO
179
180 config PINCTRL_OXNAS
181         bool
182         depends on OF
183         select PINMUX
184         select PINCONF
185         select GENERIC_PINCONF
186         select GPIOLIB
187         select OF_GPIO
188         select GPIOLIB_IRQCHIP
189         select MFD_SYSCON
190
191 config PINCTRL_ROCKCHIP
192         bool
193         select PINMUX
194         select GENERIC_PINCONF
195         select GENERIC_IRQ_CHIP
196         select MFD_SYSCON
197
198 config PINCTRL_RZA1
199         bool "Renesas RZ/A1 gpio and pinctrl driver"
200         depends on OF
201         depends on ARCH_R7S72100 || COMPILE_TEST
202         select GPIOLIB
203         select GENERIC_PINCTRL_GROUPS
204         select GENERIC_PINMUX_FUNCTIONS
205         select GENERIC_PINCONF
206         help
207           This selects pinctrl driver for Renesas RZ/A1 platforms.
208
209 config PINCTRL_SINGLE
210         tristate "One-register-per-pin type device tree based pinctrl driver"
211         depends on OF
212         select GENERIC_PINCTRL_GROUPS
213         select GENERIC_PINMUX_FUNCTIONS
214         select GENERIC_PINCONF
215         help
216           This selects the device tree based generic pinctrl driver.
217
218 config PINCTRL_SIRF
219         bool "CSR SiRFprimaII pin controller driver"
220         depends on ARCH_SIRF
221         select PINMUX
222         select PINCONF
223         select GENERIC_PINCONF
224         select GPIOLIB_IRQCHIP
225
226 config PINCTRL_SX150X
227         bool "Semtech SX150x I2C GPIO expander pinctrl driver"
228         depends on GPIOLIB && I2C=y
229         select PINMUX
230         select PINCONF
231         select GENERIC_PINCONF
232         select GPIOLIB_IRQCHIP
233         select REGMAP
234         help
235           Say yes here to provide support for Semtech SX150x-series I2C
236           GPIO expanders as pinctrl module.
237           Compatible models include:
238           - 8 bits:  sx1508q, sx1502q
239           - 16 bits: sx1509q, sx1506q
240
241 config PINCTRL_PISTACHIO
242         def_bool y if MACH_PISTACHIO
243         depends on GPIOLIB
244         select PINMUX
245         select GENERIC_PINCONF
246         select GPIOLIB_IRQCHIP
247         select OF_GPIO
248
249 config PINCTRL_ST
250         bool
251         depends on OF
252         select PINMUX
253         select PINCONF
254         select GPIOLIB_IRQCHIP
255
256 config PINCTRL_TZ1090
257         bool "Toumaz Xenif TZ1090 pin control driver"
258         depends on SOC_TZ1090
259         select PINMUX
260         select GENERIC_PINCONF
261
262 config PINCTRL_TZ1090_PDC
263         bool "Toumaz Xenif TZ1090 PDC pin control driver"
264         depends on SOC_TZ1090
265         select PINMUX
266         select PINCONF
267
268 config PINCTRL_U300
269         bool "U300 pin controller driver"
270         depends on ARCH_U300
271         select PINMUX
272         select GENERIC_PINCONF
273
274 config PINCTRL_COH901
275         bool "ST-Ericsson U300 COH 901 335/571 GPIO"
276         depends on GPIOLIB && ARCH_U300 && PINCTRL_U300
277         select GPIOLIB_IRQCHIP
278         help
279           Say yes here to support GPIO interface on ST-Ericsson U300.
280           The names of the two IP block variants supported are
281           COH 901 335 and COH 901 571/3. They contain 3, 5 or 7
282           ports of 8 GPIO pins each.
283
284 config PINCTRL_MAX77620
285         tristate "MAX77620/MAX20024 Pincontrol support"
286         depends on MFD_MAX77620 && OF
287         select PINMUX
288         select GENERIC_PINCONF
289         help
290           Say Yes here to enable Pin control support for Maxim PMIC MAX77620.
291           This PMIC has 8 GPIO pins that work as GPIO as well as special
292           function in alternate mode. This driver also configure push-pull,
293           open drain, FPS slots etc.
294
295 config PINCTRL_PALMAS
296         tristate "Pinctrl driver for the PALMAS Series MFD devices"
297         depends on OF && MFD_PALMAS
298         select PINMUX
299         select GENERIC_PINCONF
300         help
301           Palmas device supports the configuration of pins for different
302           functionality. This driver supports the pinmux, push-pull and
303           open drain configuration for the Palmas series devices like
304           TPS65913, TPS80036 etc.
305
306 config PINCTRL_PIC32
307         bool "Microchip PIC32 pin controller driver"
308         depends on OF
309         depends on MACH_PIC32
310         select PINMUX
311         select GENERIC_PINCONF
312         select GPIOLIB_IRQCHIP
313         select OF_GPIO
314         help
315           This is the pin controller and gpio driver for Microchip PIC32
316           microcontrollers. This option is selected automatically when specific
317           machine and arch are selected to build.
318
319 config PINCTRL_PIC32MZDA
320         def_bool y if PIC32MZDA
321         select PINCTRL_PIC32
322
323 config PINCTRL_ZYNQ
324         bool "Pinctrl driver for Xilinx Zynq"
325         depends on ARCH_ZYNQ
326         select PINMUX
327         select GENERIC_PINCONF
328         help
329           This selects the pinctrl driver for Xilinx Zynq.
330
331 config PINCTRL_INGENIC
332         bool "Pinctrl driver for the Ingenic JZ47xx SoCs"
333         default y
334         depends on OF
335         depends on MACH_INGENIC || COMPILE_TEST
336         select GENERIC_PINCONF
337         select GENERIC_PINCTRL_GROUPS
338         select GENERIC_PINMUX_FUNCTIONS
339         select REGMAP_MMIO
340
341 source "drivers/pinctrl/aspeed/Kconfig"
342 source "drivers/pinctrl/bcm/Kconfig"
343 source "drivers/pinctrl/berlin/Kconfig"
344 source "drivers/pinctrl/freescale/Kconfig"
345 source "drivers/pinctrl/intel/Kconfig"
346 source "drivers/pinctrl/mvebu/Kconfig"
347 source "drivers/pinctrl/nomadik/Kconfig"
348 source "drivers/pinctrl/pxa/Kconfig"
349 source "drivers/pinctrl/qcom/Kconfig"
350 source "drivers/pinctrl/samsung/Kconfig"
351 source "drivers/pinctrl/sh-pfc/Kconfig"
352 source "drivers/pinctrl/spear/Kconfig"
353 source "drivers/pinctrl/sprd/Kconfig"
354 source "drivers/pinctrl/stm32/Kconfig"
355 source "drivers/pinctrl/sunxi/Kconfig"
356 source "drivers/pinctrl/tegra/Kconfig"
357 source "drivers/pinctrl/ti/Kconfig"
358 source "drivers/pinctrl/uniphier/Kconfig"
359 source "drivers/pinctrl/vt8500/Kconfig"
360 source "drivers/pinctrl/mediatek/Kconfig"
361 source "drivers/pinctrl/zte/Kconfig"
362
363 config PINCTRL_XWAY
364         bool
365         depends on SOC_TYPE_XWAY
366         depends on PINCTRL_LANTIQ
367
368 config PINCTRL_TB10X
369         bool
370         depends on OF && ARC_PLAT_TB10X
371         select GPIOLIB
372
373 endmenu