Linux 4.16.11
[linux/fpc-iii.git] / drivers / pinctrl / Kconfig
blob0f254b35c378ec0a70d67a89b10433f6535f78d9
2 # PINCTRL infrastructure and drivers
5 menuconfig PINCTRL
6         bool "Pin controllers"
8 if PINCTRL
10 config GENERIC_PINCTRL_GROUPS
11         bool
13 config PINMUX
14         bool "Support pin multiplexing controllers" if COMPILE_TEST
16 config GENERIC_PINMUX_FUNCTIONS
17         bool
18         select PINMUX
20 config PINCONF
21         bool "Support pin configuration controllers" if COMPILE_TEST
23 config GENERIC_PINCONF
24         bool
25         select PINCONF
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.
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.
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
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.
66 config PINCTRL_AXP209
67         tristate "X-Powers AXP209 PMIC pinctrl and GPIO Support"
68         depends on MFD_AXP20X
69         depends on OF
70         select PINMUX
71         select GENERIC_PINCONF
72         select GPIOLIB
73         help
74           AXP PMICs provides multiple GPIOs that can be muxed for different
75           functions. This driver bundles a pinctrl driver to select the function
76           muxing and a GPIO driver to handle the GPIO when the GPIO function is
77           selected.
78           Say yes to enable pinctrl and GPIO support for the AXP209 PMIC
80 config PINCTRL_BF54x
81         def_bool y if BF54x
82         select PINCTRL_ADI2
84 config PINCTRL_BF60x
85         def_bool y if BF60x
86         select PINCTRL_ADI2
88 config PINCTRL_AT91
89         bool "AT91 pinctrl driver"
90         depends on OF
91         depends on ARCH_AT91
92         select PINMUX
93         select PINCONF
94         select GPIOLIB
95         select OF_GPIO
96         select GPIOLIB_IRQCHIP
97         help
98           Say Y here to enable the at91 pinctrl driver
100 config PINCTRL_AT91PIO4
101         bool "AT91 PIO4 pinctrl driver"
102         depends on OF
103         depends on ARCH_AT91
104         select PINMUX
105         select GENERIC_PINCONF
106         select GPIOLIB
107         select GPIOLIB_IRQCHIP
108         select OF_GPIO
109         help
110           Say Y here to enable the at91 pinctrl/gpio driver for Atmel PIO4
111           controller available on sama5d2 SoC.
113 config PINCTRL_AMD
114         tristate "AMD GPIO pin control"
115         depends on HAS_IOMEM
116         select GPIOLIB
117         select GPIOLIB_IRQCHIP
118         select PINMUX
119         select PINCONF
120         select GENERIC_PINCONF
121         help
122           driver for memory mapped GPIO functionality on AMD platforms
123           (x86 or arm).Most pins are usually muxed to some other
124           functionality by firmware,so only a small amount is available
125           for gpio use.
127           Requires ACPI/FDT device enumeration code to set up a platform
128           device.
130 config PINCTRL_DA850_PUPD
131         tristate "TI DA850/OMAP-L138/AM18XX pullup/pulldown groups"
132         depends on OF && (ARCH_DAVINCI_DA850 || COMPILE_TEST)
133         select PINCONF
134         select GENERIC_PINCONF
135         help
136           Driver for TI DA850/OMAP-L138/AM18XX pinconf. Used to control
137           pullup/pulldown pin groups.
139 config PINCTRL_DIGICOLOR
140         bool
141         depends on OF && (ARCH_DIGICOLOR || COMPILE_TEST)
142         select PINMUX
143         select GENERIC_PINCONF
145 config PINCTRL_LANTIQ
146         bool
147         depends on LANTIQ
148         select PINMUX
149         select PINCONF
151 config PINCTRL_LPC18XX
152         bool "NXP LPC18XX/43XX SCU pinctrl driver"
153         depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
154         default ARCH_LPC18XX
155         select PINMUX
156         select GENERIC_PINCONF
157         help
158           Pinctrl driver for NXP LPC18xx/43xx System Control Unit (SCU).
160 config PINCTRL_FALCON
161         bool
162         depends on SOC_FALCON
163         depends on PINCTRL_LANTIQ
165 config PINCTRL_GEMINI
166         bool
167         depends on ARCH_GEMINI
168         default ARCH_GEMINI
169         select PINMUX
170         select GENERIC_PINCONF
171         select MFD_SYSCON
173 config PINCTRL_MCP23S08
174         tristate "Microchip MCP23xxx I/O expander"
175         depends on SPI_MASTER || I2C
176         depends on I2C || I2C=n
177         select GPIOLIB
178         select GPIOLIB_IRQCHIP
179         select REGMAP_I2C if I2C
180         select REGMAP_SPI if SPI_MASTER
181         select GENERIC_PINCONF
182         help
183           SPI/I2C driver for Microchip MCP23S08/MCP23S17/MCP23008/MCP23017
184           I/O expanders.
185           This provides a GPIO interface supporting inputs and outputs.
186           The I2C versions of the chips can be used as interrupt-controller.
188 config PINCTRL_OXNAS
189         bool
190         depends on OF
191         select PINMUX
192         select PINCONF
193         select GENERIC_PINCONF
194         select GPIOLIB
195         select OF_GPIO
196         select GPIOLIB_IRQCHIP
197         select MFD_SYSCON
199 config PINCTRL_ROCKCHIP
200         bool
201         select PINMUX
202         select GENERIC_PINCONF
203         select GENERIC_IRQ_CHIP
204         select MFD_SYSCON
206 config PINCTRL_RZA1
207         bool "Renesas RZ/A1 gpio and pinctrl driver"
208         depends on OF
209         depends on ARCH_R7S72100 || COMPILE_TEST
210         select GPIOLIB
211         select GENERIC_PINCTRL_GROUPS
212         select GENERIC_PINMUX_FUNCTIONS
213         select GENERIC_PINCONF
214         help
215           This selects pinctrl driver for Renesas RZ/A1 platforms.
217 config PINCTRL_SINGLE
218         tristate "One-register-per-pin type device tree based pinctrl driver"
219         depends on OF
220         depends on HAS_IOMEM
221         select GENERIC_PINCTRL_GROUPS
222         select GENERIC_PINMUX_FUNCTIONS
223         select GENERIC_PINCONF
224         help
225           This selects the device tree based generic pinctrl driver.
227 config PINCTRL_SIRF
228         bool "CSR SiRFprimaII pin controller driver"
229         depends on ARCH_SIRF
230         select PINMUX
231         select PINCONF
232         select GENERIC_PINCONF
233         select GPIOLIB_IRQCHIP
235 config PINCTRL_SX150X
236         bool "Semtech SX150x I2C GPIO expander pinctrl driver"
237         depends on I2C=y
238         select PINMUX
239         select PINCONF
240         select GENERIC_PINCONF
241         select GPIOLIB
242         select GPIOLIB_IRQCHIP
243         select REGMAP
244         help
245           Say yes here to provide support for Semtech SX150x-series I2C
246           GPIO expanders as pinctrl module.
247           Compatible models include:
248           - 8 bits:  sx1508q, sx1502q
249           - 16 bits: sx1509q, sx1506q
251 config PINCTRL_PISTACHIO
252         def_bool y if MACH_PISTACHIO
253         depends on GPIOLIB
254         select PINMUX
255         select GENERIC_PINCONF
256         select GPIOLIB_IRQCHIP
257         select OF_GPIO
259 config PINCTRL_ST
260         bool
261         depends on OF
262         select PINMUX
263         select PINCONF
264         select GPIOLIB_IRQCHIP
266 config PINCTRL_TZ1090
267         bool "Toumaz Xenif TZ1090 pin control driver"
268         depends on SOC_TZ1090
269         select PINMUX
270         select GENERIC_PINCONF
272 config PINCTRL_TZ1090_PDC
273         bool "Toumaz Xenif TZ1090 PDC pin control driver"
274         depends on SOC_TZ1090
275         select PINMUX
276         select PINCONF
278 config PINCTRL_U300
279         bool "U300 pin controller driver"
280         depends on ARCH_U300
281         select PINMUX
282         select GENERIC_PINCONF
284 config PINCTRL_COH901
285         bool "ST-Ericsson U300 COH 901 335/571 GPIO"
286         depends on GPIOLIB && ARCH_U300 && PINCTRL_U300
287         select GPIOLIB_IRQCHIP
288         help
289           Say yes here to support GPIO interface on ST-Ericsson U300.
290           The names of the two IP block variants supported are
291           COH 901 335 and COH 901 571/3. They contain 3, 5 or 7
292           ports of 8 GPIO pins each.
294 config PINCTRL_MAX77620
295         tristate "MAX77620/MAX20024 Pincontrol support"
296         depends on MFD_MAX77620 && OF
297         select PINMUX
298         select GENERIC_PINCONF
299         help
300           Say Yes here to enable Pin control support for Maxim PMIC MAX77620.
301           This PMIC has 8 GPIO pins that work as GPIO as well as special
302           function in alternate mode. This driver also configure push-pull,
303           open drain, FPS slots etc.
305 config PINCTRL_PALMAS
306         tristate "Pinctrl driver for the PALMAS Series MFD devices"
307         depends on OF && MFD_PALMAS
308         select PINMUX
309         select GENERIC_PINCONF
310         help
311           Palmas device supports the configuration of pins for different
312           functionality. This driver supports the pinmux, push-pull and
313           open drain configuration for the Palmas series devices like
314           TPS65913, TPS80036 etc.
316 config PINCTRL_PIC32
317         bool "Microchip PIC32 pin controller driver"
318         depends on OF
319         depends on MACH_PIC32
320         select PINMUX
321         select GENERIC_PINCONF
322         select GPIOLIB_IRQCHIP
323         select OF_GPIO
324         help
325           This is the pin controller and gpio driver for Microchip PIC32
326           microcontrollers. This option is selected automatically when specific
327           machine and arch are selected to build.
329 config PINCTRL_PIC32MZDA
330         def_bool y if PIC32MZDA
331         select PINCTRL_PIC32
333 config PINCTRL_ZYNQ
334         bool "Pinctrl driver for Xilinx Zynq"
335         depends on ARCH_ZYNQ
336         select PINMUX
337         select GENERIC_PINCONF
338         help
339           This selects the pinctrl driver for Xilinx Zynq.
341 config PINCTRL_INGENIC
342         bool "Pinctrl driver for the Ingenic JZ47xx SoCs"
343         default y
344         depends on OF
345         depends on MACH_INGENIC || COMPILE_TEST
346         select GENERIC_PINCONF
347         select GENERIC_PINCTRL_GROUPS
348         select GENERIC_PINMUX_FUNCTIONS
349         select REGMAP_MMIO
351 config PINCTRL_RK805
352         tristate "Pinctrl and GPIO driver for RK805 PMIC"
353         depends on MFD_RK808
354         select GPIOLIB
355         select PINMUX
356         select GENERIC_PINCONF
357         help
358           This selects the pinctrl driver for RK805.
360 config PINCTRL_OCELOT
361         bool "Pinctrl driver for the Microsemi Ocelot SoCs"
362         default y
363         depends on OF
364         depends on MSCC_OCELOT || COMPILE_TEST
365         select GPIOLIB
366         select GENERIC_PINCONF
367         select GENERIC_PINCTRL_GROUPS
368         select GENERIC_PINMUX_FUNCTIONS
369         select REGMAP_MMIO
371 source "drivers/pinctrl/aspeed/Kconfig"
372 source "drivers/pinctrl/bcm/Kconfig"
373 source "drivers/pinctrl/berlin/Kconfig"
374 source "drivers/pinctrl/freescale/Kconfig"
375 source "drivers/pinctrl/intel/Kconfig"
376 source "drivers/pinctrl/mvebu/Kconfig"
377 source "drivers/pinctrl/nomadik/Kconfig"
378 source "drivers/pinctrl/pxa/Kconfig"
379 source "drivers/pinctrl/qcom/Kconfig"
380 source "drivers/pinctrl/samsung/Kconfig"
381 source "drivers/pinctrl/sh-pfc/Kconfig"
382 source "drivers/pinctrl/spear/Kconfig"
383 source "drivers/pinctrl/sprd/Kconfig"
384 source "drivers/pinctrl/stm32/Kconfig"
385 source "drivers/pinctrl/sunxi/Kconfig"
386 source "drivers/pinctrl/tegra/Kconfig"
387 source "drivers/pinctrl/ti/Kconfig"
388 source "drivers/pinctrl/uniphier/Kconfig"
389 source "drivers/pinctrl/vt8500/Kconfig"
390 source "drivers/pinctrl/mediatek/Kconfig"
391 source "drivers/pinctrl/zte/Kconfig"
392 source "drivers/pinctrl/meson/Kconfig"
394 config PINCTRL_XWAY
395         bool
396         depends on SOC_TYPE_XWAY
397         depends on PINCTRL_LANTIQ
399 config PINCTRL_TB10X
400         bool
401         depends on OF && ARC_PLAT_TB10X
402         select GPIOLIB
404 endif