2 # PINCTRL infrastructure and drivers
10 menu "Pin controllers"
14 bool "Support pin multiplexing controllers" if COMPILE_TEST
17 bool "Support pin configuration controllers" if COMPILE_TEST
19 config GENERIC_PINCONF
24 bool "Debug PINCTRL calls"
25 depends on DEBUG_KERNEL
27 Say Y here to add some extra checks and diagnostics to PINCTRL calls.
30 bool "ADI pin controller driver"
35 This is the pin controller and gpio driver for ADI BF54x, BF60x and
36 future processors. This option is selected automatically when specific
37 machine and arch are selected to build.
40 bool "Pinctrl and GPIO driver for ams AS3722 PMIC"
41 depends on MFD_AS3722 && GPIOLIB
43 select GENERIC_PINCONF
45 AS3722 device supports the configuration of GPIO pins for different
46 functionality. This driver supports the pinmux, push-pull and
47 open drain configuration for the GPIO pins of AS3722 devices. It also
48 supports the GPIO functionality through gpiolib.
59 bool "AT91 pinctrl driver"
66 select GPIOLIB_IRQCHIP
68 Say Y here to enable the at91 pinctrl driver
70 config PINCTRL_BAYTRAIL
71 bool "Intel Baytrail GPIO pin control"
72 depends on GPIOLIB && ACPI && X86
73 select GPIOLIB_IRQCHIP
75 driver for memory mapped GPIO functionality on Intel Baytrail
76 platforms. Supports 3 banks with 102, 28 and 44 gpios.
77 Most pins are usually muxed to some other functionality by firmware,
78 so only a small amount is available for gpio use.
80 Requires ACPI device enumeration code to set up a platform device.
82 config PINCTRL_BCM2835
87 config PINCTRL_BCM281XX
88 bool "Broadcom BCM281xx pinctrl driver"
92 select GENERIC_PINCONF
95 Say Y here to support Broadcom BCM281xx pinctrl driver, which is used
96 for the BCM281xx SoC family, including BCM11130, BCM11140, BCM11351,
97 BCM28145, and BCM28155 SoCs. This driver requires the pinctrl
98 framework. GPIO is provided by a separate GPIO driver.
105 config PINCTRL_IMX1_CORE
111 bool "IMX1 pinctrl driver"
113 select PINCTRL_IMX1_CORE
115 Say Y here to enable the imx1 pinctrl driver
118 bool "IMX27 pinctrl driver"
120 select PINCTRL_IMX1_CORE
122 Say Y here to enable the imx27 pinctrl driver
126 bool "IMX25 pinctrl driver"
131 Say Y here to enable the imx25 pinctrl driver
134 bool "IMX35 pinctrl driver"
138 Say Y here to enable the imx35 pinctrl driver
141 bool "IMX50 pinctrl driver"
145 Say Y here to enable the imx50 pinctrl driver
148 bool "IMX51 pinctrl driver"
152 Say Y here to enable the imx51 pinctrl driver
155 bool "IMX53 pinctrl driver"
159 Say Y here to enable the imx53 pinctrl driver
162 bool "IMX6Q/DL pinctrl driver"
166 Say Y here to enable the imx6q/dl pinctrl driver
168 config PINCTRL_IMX6SL
169 bool "IMX6SL pinctrl driver"
170 depends on SOC_IMX6SL
173 Say Y here to enable the imx6sl pinctrl driver
175 config PINCTRL_IMX6SX
176 bool "IMX6SX pinctrl driver"
177 depends on SOC_IMX6SX
180 Say Y here to enable the imx6sx pinctrl driver
183 bool "Freescale Vybrid VF610 pinctrl driver"
187 Say Y here to enable the Freescale Vybrid VF610 pinctrl driver
189 config PINCTRL_LANTIQ
195 config PINCTRL_FALCON
197 depends on SOC_FALCON
198 depends on PINCTRL_LANTIQ
213 config PINCTRL_ROCKCHIP
216 select GENERIC_PINCONF
217 select GENERIC_IRQ_CHIP
220 config PINCTRL_SINGLE
221 tristate "One-register-per-pin type device tree based pinctrl driver"
225 select GENERIC_PINCONF
227 This selects the device tree based generic pinctrl driver.
230 bool "CSR SiRFprimaII/SiRFmarco pin controller driver"
233 select GPIOLIB_IRQCHIP
240 select GPIOLIB_IRQCHIP
247 config PINCTRL_TEGRA20
251 config PINCTRL_TEGRA30
255 config PINCTRL_TEGRA114
259 config PINCTRL_TEGRA124
263 config PINCTRL_TEGRA_XUSB
264 def_bool y if ARCH_TEGRA
269 config PINCTRL_TZ1090
270 bool "Toumaz Xenif TZ1090 pin control driver"
271 depends on SOC_TZ1090
273 select GENERIC_PINCONF
275 config PINCTRL_TZ1090_PDC
276 bool "Toumaz Xenif TZ1090 PDC pin control driver"
277 depends on SOC_TZ1090
282 bool "U300 pin controller driver"
285 select GENERIC_PINCONF
287 config PINCTRL_COH901
288 bool "ST-Ericsson U300 COH 901 335/571 GPIO"
289 depends on GPIOLIB && ARCH_U300 && PINCTRL_U300
290 select GPIOLIB_IRQCHIP
292 Say yes here to support GPIO interface on ST-Ericsson U300.
293 The names of the two IP block variants supported are
294 COH 901 335 and COH 901 571/3. They contain 3, 5 or 7
295 ports of 8 GPIO pins each.
297 config PINCTRL_PALMAS
298 bool "Pinctrl driver for the PALMAS Series MFD devices"
299 depends on OF && MFD_PALMAS
301 select GENERIC_PINCONF
303 Palmas device supports the configuration of pins for different
304 functionality. This driver supports the pinmux, push-pull and
305 open drain configuration for the Palmas series devices like
306 TPS65913, TPS80036 etc.
308 source "drivers/pinctrl/berlin/Kconfig"
309 source "drivers/pinctrl/mvebu/Kconfig"
310 source "drivers/pinctrl/nomadik/Kconfig"
311 source "drivers/pinctrl/qcom/Kconfig"
312 source "drivers/pinctrl/samsung/Kconfig"
313 source "drivers/pinctrl/sh-pfc/Kconfig"
314 source "drivers/pinctrl/spear/Kconfig"
315 source "drivers/pinctrl/sunxi/Kconfig"
316 source "drivers/pinctrl/vt8500/Kconfig"
320 depends on SOC_TYPE_XWAY
321 depends on PINCTRL_LANTIQ
325 depends on ARC_PLAT_TB10X