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.
75 bool "AT91 pinctrl driver"
82 select GPIOLIB_IRQCHIP
84 Say Y here to enable the at91 pinctrl driver
86 config PINCTRL_AT91PIO4
87 bool "AT91 PIO4 pinctrl driver"
91 select GENERIC_PINCONF
93 select GPIOLIB_IRQCHIP
96 Say Y here to enable the at91 pinctrl/gpio driver for Atmel PIO4
97 controller available on sama5d2 SoC.
100 tristate "AMD GPIO pin control"
103 select GPIOLIB_IRQCHIP
106 select GENERIC_PINCONF
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
113 Requires ACPI/FDT device enumeration code to set up a platform
116 config PINCTRL_DA850_PUPD
117 tristate "TI DA850/OMAP-L138/AM18XX pullup/pulldown groups"
118 depends on OF && (ARCH_DAVINCI_DA850 || COMPILE_TEST)
120 select GENERIC_PINCONF
122 Driver for TI DA850/OMAP-L138/AM18XX pinconf. Used to control
123 pullup/pulldown pin groups.
125 config PINCTRL_DIGICOLOR
127 depends on OF && (ARCH_DIGICOLOR || COMPILE_TEST)
129 select GENERIC_PINCONF
131 config PINCTRL_LANTIQ
137 config PINCTRL_LPC18XX
138 bool "NXP LPC18XX/43XX SCU pinctrl driver"
139 depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
142 select GENERIC_PINCONF
144 Pinctrl driver for NXP LPC18xx/43xx System Control Unit (SCU).
146 config PINCTRL_FALCON
148 depends on SOC_FALCON
149 depends on PINCTRL_LANTIQ
151 config PINCTRL_GEMINI
153 depends on ARCH_GEMINI
156 select GENERIC_PINCONF
159 config PINCTRL_MCP23S08
160 tristate "Microchip MCP23xxx I/O expander"
161 depends on SPI_MASTER || I2C
162 depends on I2C || I2C=n
164 select GPIOLIB_IRQCHIP
165 select REGMAP_I2C if I2C
166 select REGMAP_SPI if SPI_MASTER
167 select GENERIC_PINCONF
169 SPI/I2C driver for Microchip MCP23S08/MCP23S17/MCP23008/MCP23017
171 This provides a GPIO interface supporting inputs and outputs.
172 The I2C versions of the chips can be used as interrupt-controller.
179 select GENERIC_PINCONF
182 select GPIOLIB_IRQCHIP
185 config PINCTRL_ROCKCHIP
188 select GENERIC_PINCONF
189 select GENERIC_IRQ_CHIP
193 bool "Renesas RZ/A1 gpio and pinctrl driver"
195 depends on ARCH_R7S72100 || COMPILE_TEST
197 select GENERIC_PINCTRL_GROUPS
198 select GENERIC_PINMUX_FUNCTIONS
199 select GENERIC_PINCONF
201 This selects pinctrl driver for Renesas RZ/A1 platforms.
203 config PINCTRL_SINGLE
204 tristate "One-register-per-pin type device tree based pinctrl driver"
207 select GENERIC_PINCTRL_GROUPS
208 select GENERIC_PINMUX_FUNCTIONS
209 select GENERIC_PINCONF
211 This selects the device tree based generic pinctrl driver.
214 bool "CSR SiRFprimaII pin controller driver"
218 select GENERIC_PINCONF
219 select GPIOLIB_IRQCHIP
221 config PINCTRL_SX150X
222 bool "Semtech SX150x I2C GPIO expander pinctrl driver"
226 select GENERIC_PINCONF
228 select GPIOLIB_IRQCHIP
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
237 config PINCTRL_PISTACHIO
238 def_bool y if MACH_PISTACHIO
241 select GENERIC_PINCONF
242 select GPIOLIB_IRQCHIP
250 select GPIOLIB_IRQCHIP
252 config PINCTRL_TZ1090
253 bool "Toumaz Xenif TZ1090 pin control driver"
254 depends on SOC_TZ1090
256 select GENERIC_PINCONF
258 config PINCTRL_TZ1090_PDC
259 bool "Toumaz Xenif TZ1090 PDC pin control driver"
260 depends on SOC_TZ1090
265 bool "U300 pin controller driver"
268 select GENERIC_PINCONF
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
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.
280 config PINCTRL_MAX77620
281 tristate "MAX77620/MAX20024 Pincontrol support"
282 depends on MFD_MAX77620 && OF
284 select GENERIC_PINCONF
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.
291 config PINCTRL_PALMAS
292 tristate "Pinctrl driver for the PALMAS Series MFD devices"
293 depends on OF && MFD_PALMAS
295 select GENERIC_PINCONF
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.
303 bool "Microchip PIC32 pin controller driver"
305 depends on MACH_PIC32
307 select GENERIC_PINCONF
308 select GPIOLIB_IRQCHIP
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.
315 config PINCTRL_PIC32MZDA
316 def_bool y if PIC32MZDA
320 bool "Pinctrl driver for Xilinx Zynq"
323 select GENERIC_PINCONF
325 This selects the pinctrl driver for Xilinx Zynq.
327 config PINCTRL_INGENIC
328 bool "Pinctrl driver for the Ingenic JZ47xx SoCs"
331 depends on MACH_INGENIC || COMPILE_TEST
332 select GENERIC_PINCONF
333 select GENERIC_PINCTRL_GROUPS
334 select GENERIC_PINMUX_FUNCTIONS
338 tristate "Pinctrl and GPIO driver for RK805 PMIC"
342 select GENERIC_PINCONF
344 This selects the pinctrl driver for RK805.
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"
371 depends on SOC_TYPE_XWAY
372 depends on PINCTRL_LANTIQ
376 depends on OF && ARC_PLAT_TB10X