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_TZ1090
264 bool "Toumaz Xenif TZ1090 pin control driver"
265 depends on SOC_TZ1090
267 select GENERIC_PINCONF
269 config PINCTRL_TZ1090_PDC
270 bool "Toumaz Xenif TZ1090 PDC pin control driver"
271 depends on SOC_TZ1090
276 bool "U300 pin controller driver"
279 select GENERIC_PINCONF
281 config PINCTRL_COH901
282 bool "ST-Ericsson U300 COH 901 335/571 GPIO"
283 depends on GPIOLIB && ARCH_U300 && PINCTRL_U300
284 select GPIOLIB_IRQCHIP
286 Say yes here to support GPIO interface on ST-Ericsson U300.
287 The names of the two IP block variants supported are
288 COH 901 335 and COH 901 571/3. They contain 3, 5 or 7
289 ports of 8 GPIO pins each.
291 config PINCTRL_PALMAS
292 bool "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.
302 source "drivers/pinctrl/berlin/Kconfig"
303 source "drivers/pinctrl/mvebu/Kconfig"
304 source "drivers/pinctrl/nomadik/Kconfig"
305 source "drivers/pinctrl/qcom/Kconfig"
306 source "drivers/pinctrl/samsung/Kconfig"
307 source "drivers/pinctrl/sh-pfc/Kconfig"
308 source "drivers/pinctrl/spear/Kconfig"
309 source "drivers/pinctrl/sunxi/Kconfig"
310 source "drivers/pinctrl/vt8500/Kconfig"
314 depends on SOC_TYPE_XWAY
315 depends on PINCTRL_LANTIQ
319 depends on ARC_PLAT_TB10X