2 # PINCTRL infrastructure and drivers
10 config GENERIC_PINCTRL_GROUPS
14 bool "Support pin multiplexing controllers" if COMPILE_TEST
16 config GENERIC_PINMUX_FUNCTIONS
21 bool "Support pin configuration controllers" if COMPILE_TEST
23 config GENERIC_PINCONF
28 bool "Debug PINCTRL calls"
29 depends on DEBUG_KERNEL
31 Say Y here to add some extra checks and diagnostics to PINCTRL calls.
34 bool "ADI pin controller driver"
35 depends on (BF54x || BF60x)
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
48 select GENERIC_PINCONF
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
56 tristate "Pinctrl and GPIO driver for ams AS3722 PMIC"
57 depends on MFD_AS3722 && GPIOLIB
59 select GENERIC_PINCONF
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.
67 tristate "X-Powers AXP209 PMIC pinctrl and GPIO Support"
71 select GENERIC_PINCONF
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
78 Say yes to enable pinctrl and GPIO support for the AXP209 PMIC
89 bool "AT91 pinctrl driver"
96 select GPIOLIB_IRQCHIP
98 Say Y here to enable the at91 pinctrl driver
100 config PINCTRL_AT91PIO4
101 bool "AT91 PIO4 pinctrl driver"
105 select GENERIC_PINCONF
107 select GPIOLIB_IRQCHIP
110 Say Y here to enable the at91 pinctrl/gpio driver for Atmel PIO4
111 controller available on sama5d2 SoC.
114 tristate "AMD GPIO pin control"
117 select GPIOLIB_IRQCHIP
120 select GENERIC_PINCONF
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
127 Requires ACPI/FDT device enumeration code to set up a platform
130 config PINCTRL_DA850_PUPD
131 tristate "TI DA850/OMAP-L138/AM18XX pullup/pulldown groups"
132 depends on OF && (ARCH_DAVINCI_DA850 || COMPILE_TEST)
134 select GENERIC_PINCONF
136 Driver for TI DA850/OMAP-L138/AM18XX pinconf. Used to control
137 pullup/pulldown pin groups.
139 config PINCTRL_DIGICOLOR
141 depends on OF && (ARCH_DIGICOLOR || COMPILE_TEST)
143 select GENERIC_PINCONF
145 config PINCTRL_LANTIQ
151 config PINCTRL_LPC18XX
152 bool "NXP LPC18XX/43XX SCU pinctrl driver"
153 depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
156 select GENERIC_PINCONF
158 Pinctrl driver for NXP LPC18xx/43xx System Control Unit (SCU).
160 config PINCTRL_FALCON
162 depends on SOC_FALCON
163 depends on PINCTRL_LANTIQ
165 config PINCTRL_GEMINI
167 depends on ARCH_GEMINI
170 select GENERIC_PINCONF
173 config PINCTRL_MCP23S08
174 tristate "Microchip MCP23xxx I/O expander"
175 depends on SPI_MASTER || I2C
176 depends on I2C || I2C=n
178 select GPIOLIB_IRQCHIP
179 select REGMAP_I2C if I2C
180 select REGMAP_SPI if SPI_MASTER
181 select GENERIC_PINCONF
183 SPI/I2C driver for Microchip MCP23S08/MCP23S17/MCP23008/MCP23017
185 This provides a GPIO interface supporting inputs and outputs.
186 The I2C versions of the chips can be used as interrupt-controller.
193 select GENERIC_PINCONF
196 select GPIOLIB_IRQCHIP
199 config PINCTRL_ROCKCHIP
202 select GENERIC_PINCONF
203 select GENERIC_IRQ_CHIP
207 bool "Renesas RZ/A1 gpio and pinctrl driver"
209 depends on ARCH_R7S72100 || COMPILE_TEST
211 select GENERIC_PINCTRL_GROUPS
212 select GENERIC_PINMUX_FUNCTIONS
213 select GENERIC_PINCONF
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"
221 select GENERIC_PINCTRL_GROUPS
222 select GENERIC_PINMUX_FUNCTIONS
223 select GENERIC_PINCONF
225 This selects the device tree based generic pinctrl driver.
228 bool "CSR SiRFprimaII pin controller driver"
232 select GENERIC_PINCONF
233 select GPIOLIB_IRQCHIP
235 config PINCTRL_SX150X
236 bool "Semtech SX150x I2C GPIO expander pinctrl driver"
240 select GENERIC_PINCONF
242 select GPIOLIB_IRQCHIP
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
255 select GENERIC_PINCONF
256 select GPIOLIB_IRQCHIP
264 select GPIOLIB_IRQCHIP
266 config PINCTRL_TZ1090
267 bool "Toumaz Xenif TZ1090 pin control driver"
268 depends on SOC_TZ1090
270 select GENERIC_PINCONF
272 config PINCTRL_TZ1090_PDC
273 bool "Toumaz Xenif TZ1090 PDC pin control driver"
274 depends on SOC_TZ1090
279 bool "U300 pin controller driver"
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
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
298 select GENERIC_PINCONF
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
309 select GENERIC_PINCONF
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.
317 bool "Microchip PIC32 pin controller driver"
319 depends on MACH_PIC32
321 select GENERIC_PINCONF
322 select GPIOLIB_IRQCHIP
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
334 bool "Pinctrl driver for Xilinx Zynq"
337 select GENERIC_PINCONF
339 This selects the pinctrl driver for Xilinx Zynq.
341 config PINCTRL_INGENIC
342 bool "Pinctrl driver for the Ingenic JZ47xx SoCs"
345 depends on MACH_INGENIC || COMPILE_TEST
346 select GENERIC_PINCONF
347 select GENERIC_PINCTRL_GROUPS
348 select GENERIC_PINMUX_FUNCTIONS
352 tristate "Pinctrl and GPIO driver for RK805 PMIC"
356 select GENERIC_PINCONF
358 This selects the pinctrl driver for RK805.
360 config PINCTRL_OCELOT
361 bool "Pinctrl driver for the Microsemi Ocelot SoCs"
364 depends on MSCC_OCELOT || COMPILE_TEST
366 select GENERIC_PINCONF
367 select GENERIC_PINCTRL_GROUPS
368 select GENERIC_PINMUX_FUNCTIONS
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"
396 depends on SOC_TYPE_XWAY
397 depends on PINCTRL_LANTIQ
401 depends on OF && ARC_PLAT_TB10X