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