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"
70 AXP PMICs provides multiple GPIOs that can be muxed for different
71 functions. This driver bundles a pinctrl driver to select the function
72 muxing and a GPIO driver to handle the GPIO when the GPIO function is
74 Say yes to enable pinctrl and GPIO support for the AXP209 PMIC
85 bool "AT91 pinctrl driver"
92 select GPIOLIB_IRQCHIP
94 Say Y here to enable the at91 pinctrl driver
96 config PINCTRL_AT91PIO4
97 bool "AT91 PIO4 pinctrl driver"
101 select GENERIC_PINCONF
103 select GPIOLIB_IRQCHIP
106 Say Y here to enable the at91 pinctrl/gpio driver for Atmel PIO4
107 controller available on sama5d2 SoC.
110 tristate "AMD GPIO pin control"
113 select GPIOLIB_IRQCHIP
116 select GENERIC_PINCONF
118 driver for memory mapped GPIO functionality on AMD platforms
119 (x86 or arm).Most pins are usually muxed to some other
120 functionality by firmware,so only a small amount is available
123 Requires ACPI/FDT device enumeration code to set up a platform
126 config PINCTRL_DA850_PUPD
127 tristate "TI DA850/OMAP-L138/AM18XX pullup/pulldown groups"
128 depends on OF && (ARCH_DAVINCI_DA850 || COMPILE_TEST)
130 select GENERIC_PINCONF
132 Driver for TI DA850/OMAP-L138/AM18XX pinconf. Used to control
133 pullup/pulldown pin groups.
135 config PINCTRL_DIGICOLOR
137 depends on OF && (ARCH_DIGICOLOR || COMPILE_TEST)
139 select GENERIC_PINCONF
141 config PINCTRL_LANTIQ
147 config PINCTRL_LPC18XX
148 bool "NXP LPC18XX/43XX SCU pinctrl driver"
149 depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
152 select GENERIC_PINCONF
154 Pinctrl driver for NXP LPC18xx/43xx System Control Unit (SCU).
156 config PINCTRL_FALCON
158 depends on SOC_FALCON
159 depends on PINCTRL_LANTIQ
161 config PINCTRL_GEMINI
163 depends on ARCH_GEMINI
166 select GENERIC_PINCONF
169 config PINCTRL_MCP23S08
170 tristate "Microchip MCP23xxx I/O expander"
171 depends on SPI_MASTER || I2C
172 depends on I2C || I2C=n
174 select GPIOLIB_IRQCHIP
175 select REGMAP_I2C if I2C
176 select REGMAP_SPI if SPI_MASTER
177 select GENERIC_PINCONF
179 SPI/I2C driver for Microchip MCP23S08/MCP23S17/MCP23008/MCP23017
181 This provides a GPIO interface supporting inputs and outputs.
182 The I2C versions of the chips can be used as interrupt-controller.
189 select GENERIC_PINCONF
192 select GPIOLIB_IRQCHIP
195 config PINCTRL_ROCKCHIP
198 select GENERIC_PINCONF
199 select GENERIC_IRQ_CHIP
203 bool "Renesas RZ/A1 gpio and pinctrl driver"
205 depends on ARCH_R7S72100 || COMPILE_TEST
207 select GENERIC_PINCTRL_GROUPS
208 select GENERIC_PINMUX_FUNCTIONS
209 select GENERIC_PINCONF
211 This selects pinctrl driver for Renesas RZ/A1 platforms.
213 config PINCTRL_SINGLE
214 tristate "One-register-per-pin type device tree based pinctrl driver"
217 select GENERIC_PINCTRL_GROUPS
218 select GENERIC_PINMUX_FUNCTIONS
219 select GENERIC_PINCONF
221 This selects the device tree based generic pinctrl driver.
224 bool "CSR SiRFprimaII pin controller driver"
228 select GENERIC_PINCONF
229 select GPIOLIB_IRQCHIP
231 config PINCTRL_SX150X
232 bool "Semtech SX150x I2C GPIO expander pinctrl driver"
236 select GENERIC_PINCONF
238 select GPIOLIB_IRQCHIP
241 Say yes here to provide support for Semtech SX150x-series I2C
242 GPIO expanders as pinctrl module.
243 Compatible models include:
244 - 8 bits: sx1508q, sx1502q
245 - 16 bits: sx1509q, sx1506q
247 config PINCTRL_PISTACHIO
248 def_bool y if MACH_PISTACHIO
251 select GENERIC_PINCONF
252 select GPIOLIB_IRQCHIP
260 select GPIOLIB_IRQCHIP
262 config PINCTRL_TZ1090
263 bool "Toumaz Xenif TZ1090 pin control driver"
264 depends on SOC_TZ1090
266 select GENERIC_PINCONF
268 config PINCTRL_TZ1090_PDC
269 bool "Toumaz Xenif TZ1090 PDC pin control driver"
270 depends on SOC_TZ1090
275 bool "U300 pin controller driver"
278 select GENERIC_PINCONF
280 config PINCTRL_COH901
281 bool "ST-Ericsson U300 COH 901 335/571 GPIO"
282 depends on GPIOLIB && ARCH_U300 && PINCTRL_U300
283 select GPIOLIB_IRQCHIP
285 Say yes here to support GPIO interface on ST-Ericsson U300.
286 The names of the two IP block variants supported are
287 COH 901 335 and COH 901 571/3. They contain 3, 5 or 7
288 ports of 8 GPIO pins each.
290 config PINCTRL_MAX77620
291 tristate "MAX77620/MAX20024 Pincontrol support"
292 depends on MFD_MAX77620 && OF
294 select GENERIC_PINCONF
296 Say Yes here to enable Pin control support for Maxim PMIC MAX77620.
297 This PMIC has 8 GPIO pins that work as GPIO as well as special
298 function in alternate mode. This driver also configure push-pull,
299 open drain, FPS slots etc.
301 config PINCTRL_PALMAS
302 tristate "Pinctrl driver for the PALMAS Series MFD devices"
303 depends on OF && MFD_PALMAS
305 select GENERIC_PINCONF
307 Palmas device supports the configuration of pins for different
308 functionality. This driver supports the pinmux, push-pull and
309 open drain configuration for the Palmas series devices like
310 TPS65913, TPS80036 etc.
313 bool "Microchip PIC32 pin controller driver"
315 depends on MACH_PIC32
317 select GENERIC_PINCONF
318 select GPIOLIB_IRQCHIP
321 This is the pin controller and gpio driver for Microchip PIC32
322 microcontrollers. This option is selected automatically when specific
323 machine and arch are selected to build.
325 config PINCTRL_PIC32MZDA
326 def_bool y if PIC32MZDA
330 bool "Pinctrl driver for Xilinx Zynq"
333 select GENERIC_PINCONF
335 This selects the pinctrl driver for Xilinx Zynq.
337 config PINCTRL_INGENIC
338 bool "Pinctrl driver for the Ingenic JZ47xx SoCs"
341 depends on MACH_INGENIC || COMPILE_TEST
342 select GENERIC_PINCONF
343 select GENERIC_PINCTRL_GROUPS
344 select GENERIC_PINMUX_FUNCTIONS
348 tristate "Pinctrl and GPIO driver for RK805 PMIC"
352 select GENERIC_PINCONF
354 This selects the pinctrl driver for RK805.
356 source "drivers/pinctrl/aspeed/Kconfig"
357 source "drivers/pinctrl/bcm/Kconfig"
358 source "drivers/pinctrl/berlin/Kconfig"
359 source "drivers/pinctrl/freescale/Kconfig"
360 source "drivers/pinctrl/intel/Kconfig"
361 source "drivers/pinctrl/mvebu/Kconfig"
362 source "drivers/pinctrl/nomadik/Kconfig"
363 source "drivers/pinctrl/pxa/Kconfig"
364 source "drivers/pinctrl/qcom/Kconfig"
365 source "drivers/pinctrl/samsung/Kconfig"
366 source "drivers/pinctrl/sh-pfc/Kconfig"
367 source "drivers/pinctrl/spear/Kconfig"
368 source "drivers/pinctrl/sprd/Kconfig"
369 source "drivers/pinctrl/stm32/Kconfig"
370 source "drivers/pinctrl/sunxi/Kconfig"
371 source "drivers/pinctrl/tegra/Kconfig"
372 source "drivers/pinctrl/ti/Kconfig"
373 source "drivers/pinctrl/uniphier/Kconfig"
374 source "drivers/pinctrl/vt8500/Kconfig"
375 source "drivers/pinctrl/mediatek/Kconfig"
376 source "drivers/pinctrl/zte/Kconfig"
377 source "drivers/pinctrl/meson/Kconfig"
381 depends on SOC_TYPE_XWAY
382 depends on PINCTRL_LANTIQ
386 depends on OF && ARC_PLAT_TB10X