2 # PINCTRL infrastructure and drivers
10 menu "Pin controllers"
14 bool "Support pin multiplexing controllers"
17 bool "Support pin configuration controllers"
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 "ST-Ericsson ABx500 family Mixed Signal Circuit gpio functions"
31 depends on AB8500_CORE
32 select GENERIC_PINCONF
34 Select this to enable the ABx500 family IC GPIO driver
37 bool "AB8500 pin controller driver"
38 depends on PINCTRL_ABX500 && ARCH_U8500
41 bool "AB8540 pin controller driver"
42 depends on PINCTRL_ABX500 && ARCH_U8500
45 bool "AB9540 pin controller driver"
46 depends on PINCTRL_ABX500 && ARCH_U8500
49 bool "AB8505 pin controller driver"
50 depends on PINCTRL_ABX500 && ARCH_U8500
53 bool "ADI pin controller driver"
58 This is the pin controller and gpio driver for ADI BF54x, BF60x and
59 future processors. This option is selected automatically when specific
60 machine and arch are selected to build.
63 bool "Pinctrl and GPIO driver for ams AS3722 PMIC"
64 depends on MFD_AS3722 && GPIOLIB
66 select GENERIC_PINCONF
68 AS3722 device supports the configuration of GPIO pins for different
69 functionality. This driver supports the pinmux, push-pull and
70 open drain configuration for the GPIO pins of AS3722 devices. It also
71 supports the GPIO functionality through gpiolib.
82 bool "AT91 pinctrl driver"
89 select GPIOLIB_IRQCHIP
91 Say Y here to enable the at91 pinctrl driver
93 config PINCTRL_BAYTRAIL
94 bool "Intel Baytrail GPIO pin control"
95 depends on GPIOLIB && ACPI && X86
98 driver for memory mapped GPIO functionality on Intel Baytrail
99 platforms. Supports 3 banks with 102, 28 and 44 gpios.
100 Most pins are usually muxed to some other functionality by firmware,
101 so only a small amount is available for gpio use.
103 Requires ACPI device enumeration code to set up a platform device.
105 config PINCTRL_BCM2835
110 config PINCTRL_BCM281XX
111 bool "Broadcom BCM281xx pinctrl driver"
115 select GENERIC_PINCONF
118 Say Y here to support Broadcom BCM281xx pinctrl driver, which is used
119 for the BCM281xx SoC family, including BCM11130, BCM11140, BCM11351,
120 BCM28145, and BCM28155 SoCs. This driver requires the pinctrl
121 framework. GPIO is provided by a separate GPIO driver.
128 config PINCTRL_IMX1_CORE
134 bool "IMX27 pinctrl driver"
136 select PINCTRL_IMX1_CORE
138 Say Y here to enable the imx27 pinctrl driver
142 bool "IMX25 pinctrl driver"
147 Say Y here to enable the imx25 pinctrl driver
150 bool "IMX35 pinctrl driver"
154 Say Y here to enable the imx35 pinctrl driver
157 bool "IMX50 pinctrl driver"
161 Say Y here to enable the imx50 pinctrl driver
164 bool "IMX51 pinctrl driver"
168 Say Y here to enable the imx51 pinctrl driver
171 bool "IMX53 pinctrl driver"
175 Say Y here to enable the imx53 pinctrl driver
178 bool "IMX6Q/DL pinctrl driver"
182 Say Y here to enable the imx6q/dl pinctrl driver
184 config PINCTRL_IMX6SL
185 bool "IMX6SL pinctrl driver"
186 depends on SOC_IMX6SL
189 Say Y here to enable the imx6sl pinctrl driver
191 config PINCTRL_IMX6SX
192 bool "IMX6SX pinctrl driver"
193 depends on SOC_IMX6SX
196 Say Y here to enable the imx6sx pinctrl driver
199 bool "Freescale Vybrid VF610 pinctrl driver"
203 Say Y here to enable the Freescale Vybrid VF610 pinctrl driver
205 config PINCTRL_LANTIQ
211 config PINCTRL_FALCON
213 depends on SOC_FALCON
214 depends on PINCTRL_LANTIQ
233 select GENERIC_PINCONF
234 select GPIOLIB_IRQCHIP
236 config PINCTRL_APQ8064
237 tristate "Qualcomm APQ8064 pin controller driver"
238 depends on GPIOLIB && OF
241 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
242 Qualcomm TLMM block found in the Qualcomm APQ8064 platform.
244 config PINCTRL_IPQ8064
245 tristate "Qualcomm IPQ8064 pin controller driver"
246 depends on GPIOLIB && OF
249 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
250 Qualcomm TLMM block found in the Qualcomm IPQ8064 platform.
252 config PINCTRL_MSM8X74
253 tristate "Qualcomm 8x74 pin controller driver"
254 depends on GPIOLIB && OF && (ARCH_QCOM || COMPILE_TEST)
257 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
258 Qualcomm TLMM block found in the Qualcomm 8974 platform.
260 config PINCTRL_NOMADIK
261 bool "Nomadik pin controller driver"
262 depends on ARCH_U8500 || ARCH_NOMADIK
267 select GPIOLIB_IRQCHIP
269 config PINCTRL_STN8815
270 bool "STN8815 pin controller driver"
271 depends on PINCTRL_NOMADIK && ARCH_NOMADIK
273 config PINCTRL_DB8500
274 bool "DB8500 pin controller driver"
275 depends on PINCTRL_NOMADIK && ARCH_U8500
277 config PINCTRL_DB8540
278 bool "DB8540 pin controller driver"
279 depends on PINCTRL_NOMADIK && ARCH_U8500
281 config PINCTRL_ROCKCHIP
284 select GENERIC_PINCONF
285 select GENERIC_IRQ_CHIP
288 config PINCTRL_SINGLE
289 tristate "One-register-per-pin type device tree based pinctrl driver"
293 select GENERIC_PINCONF
295 This selects the device tree based generic pinctrl driver.
298 bool "CSR SiRFprimaII/SiRFmarco pin controller driver"
301 select GPIOLIB_IRQCHIP
308 select GPIOLIB_IRQCHIP
315 config PINCTRL_TEGRA20
319 config PINCTRL_TEGRA30
323 config PINCTRL_TEGRA114
327 config PINCTRL_TEGRA124
331 config PINCTRL_TZ1090
332 bool "Toumaz Xenif TZ1090 pin control driver"
333 depends on SOC_TZ1090
335 select GENERIC_PINCONF
337 config PINCTRL_TZ1090_PDC
338 bool "Toumaz Xenif TZ1090 PDC pin control driver"
339 depends on SOC_TZ1090
344 bool "U300 pin controller driver"
347 select GENERIC_PINCONF
349 config PINCTRL_COH901
350 bool "ST-Ericsson U300 COH 901 335/571 GPIO"
351 depends on GPIOLIB && ARCH_U300 && PINCTRL_U300
352 select GPIOLIB_IRQCHIP
354 Say yes here to support GPIO interface on ST-Ericsson U300.
355 The names of the two IP block variants supported are
356 COH 901 335 and COH 901 571/3. They contain 3, 5 or 7
357 ports of 8 GPIO pins each.
359 config PINCTRL_SAMSUNG
364 config PINCTRL_EXYNOS
365 bool "Pinctrl driver data for Samsung EXYNOS SoCs other than 5440"
366 depends on OF && GPIOLIB && (ARCH_EXYNOS || ARCH_S5PV210)
367 select PINCTRL_SAMSUNG
369 config PINCTRL_EXYNOS5440
370 bool "Samsung EXYNOS5440 SoC pinctrl driver"
371 depends on SOC_EXYNOS5440
375 config PINCTRL_PALMAS
376 bool "Pinctrl driver for the PALMAS Series MFD devices"
377 depends on OF && MFD_PALMAS
379 select GENERIC_PINCONF
381 Palmas device supports the configuration of pins for different
382 functionality. This driver supports the pinmux, push-pull and
383 open drain configuration for the Palmas series devices like
384 TPS65913, TPS80036 etc.
386 config PINCTRL_S3C24XX
387 bool "Samsung S3C24XX SoC pinctrl driver"
388 depends on ARCH_S3C24XX
389 select PINCTRL_SAMSUNG
391 config PINCTRL_S3C64XX
392 bool "Samsung S3C64XX SoC pinctrl driver"
393 depends on ARCH_S3C64XX
394 select PINCTRL_SAMSUNG
396 source "drivers/pinctrl/berlin/Kconfig"
397 source "drivers/pinctrl/mvebu/Kconfig"
398 source "drivers/pinctrl/sh-pfc/Kconfig"
399 source "drivers/pinctrl/spear/Kconfig"
400 source "drivers/pinctrl/sunxi/Kconfig"
401 source "drivers/pinctrl/vt8500/Kconfig"
405 depends on SOC_TYPE_XWAY
406 depends on PINCTRL_LANTIQ
410 depends on ARC_PLAT_TB10X