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