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"
88 Say Y here to enable the at91 pinctrl driver
90 config PINCTRL_BAYTRAIL
91 bool "Intel Baytrail GPIO pin control"
92 depends on GPIOLIB && ACPI && X86
95 driver for memory mapped GPIO functionality on Intel Baytrail
96 platforms. Supports 3 banks with 102, 28 and 44 gpios.
97 Most pins are usually muxed to some other functionality by firmware,
98 so only a small amount is available for gpio use.
100 Requires ACPI device enumeration code to set up a platform device.
102 config PINCTRL_BCM2835
108 bool "Broadcom Capri pinctrl driver"
112 select GENERIC_PINCONF
115 Say Y here to support Broadcom Capri pinctrl driver, which is used for
116 the BCM281xx SoC family, including BCM11130, BCM11140, BCM11351,
117 BCM28145, and BCM28155 SoCs. This driver requires the pinctrl
118 framework. GPIO is provided by a separate GPIO driver.
125 config PINCTRL_IMX1_CORE
131 bool "IMX27 pinctrl driver"
133 select PINCTRL_IMX1_CORE
135 Say Y here to enable the imx27 pinctrl driver
139 bool "IMX25 pinctrl driver"
144 Say Y here to enable the imx25 pinctrl driver
147 bool "IMX35 pinctrl driver"
151 Say Y here to enable the imx35 pinctrl driver
154 bool "IMX50 pinctrl driver"
158 Say Y here to enable the imx50 pinctrl driver
161 bool "IMX51 pinctrl driver"
165 Say Y here to enable the imx51 pinctrl driver
168 bool "IMX53 pinctrl driver"
172 Say Y here to enable the imx53 pinctrl driver
175 bool "IMX6Q/DL pinctrl driver"
179 Say Y here to enable the imx6q/dl pinctrl driver
181 config PINCTRL_IMX6SL
182 bool "IMX6SL pinctrl driver"
183 depends on SOC_IMX6SL
186 Say Y here to enable the imx6sl pinctrl driver
189 bool "Freescale Vybrid VF610 pinctrl driver"
193 Say Y here to enable the Freescale Vybrid VF610 pinctrl driver
195 config PINCTRL_LANTIQ
201 config PINCTRL_FALCON
203 depends on SOC_FALCON
204 depends on PINCTRL_LANTIQ
223 select GENERIC_PINCONF
225 config PINCTRL_MSM8X74
226 tristate "Qualcomm 8x74 pin controller driver"
227 depends on GPIOLIB && OF
230 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
231 Qualcomm TLMM block found in the Qualcomm 8974 platform.
233 config PINCTRL_NOMADIK
234 bool "Nomadik pin controller driver"
235 depends on ARCH_U8500 || ARCH_NOMADIK
240 select GPIOLIB_IRQCHIP
242 config PINCTRL_STN8815
243 bool "STN8815 pin controller driver"
244 depends on PINCTRL_NOMADIK && ARCH_NOMADIK
246 config PINCTRL_DB8500
247 bool "DB8500 pin controller driver"
248 depends on PINCTRL_NOMADIK && ARCH_U8500
250 config PINCTRL_DB8540
251 bool "DB8540 pin controller driver"
252 depends on PINCTRL_NOMADIK && ARCH_U8500
254 config PINCTRL_ROCKCHIP
257 select GENERIC_PINCONF
258 select GENERIC_IRQ_CHIP
260 config PINCTRL_SINGLE
261 tristate "One-register-per-pin type device tree based pinctrl driver"
265 select GENERIC_PINCONF
267 This selects the device tree based generic pinctrl driver.
270 bool "CSR SiRFprimaII/SiRFmarco pin controller driver"
277 select GENERIC_PINCONF
290 config PINCTRL_TEGRA20
294 config PINCTRL_TEGRA30
298 config PINCTRL_TEGRA114
302 config PINCTRL_TEGRA124
306 config PINCTRL_TZ1090
307 bool "Toumaz Xenif TZ1090 pin control driver"
308 depends on SOC_TZ1090
310 select GENERIC_PINCONF
312 config PINCTRL_TZ1090_PDC
313 bool "Toumaz Xenif TZ1090 PDC pin control driver"
314 depends on SOC_TZ1090
319 bool "U300 pin controller driver"
322 select GENERIC_PINCONF
324 config PINCTRL_COH901
325 bool "ST-Ericsson U300 COH 901 335/571 GPIO"
326 depends on GPIOLIB && ARCH_U300 && PINCTRL_U300
327 select GPIOLIB_IRQCHIP
329 Say yes here to support GPIO interface on ST-Ericsson U300.
330 The names of the two IP block variants supported are
331 COH 901 335 and COH 901 571/3. They contain 3, 5 or 7
332 ports of 8 GPIO pins each.
334 config PINCTRL_SAMSUNG
339 config PINCTRL_EXYNOS
340 bool "Pinctrl driver data for Samsung EXYNOS SoCs other than 5440"
341 depends on OF && GPIOLIB && (ARCH_EXYNOS || ARCH_S5PV210)
342 select PINCTRL_SAMSUNG
344 config PINCTRL_EXYNOS5440
345 bool "Samsung EXYNOS5440 SoC pinctrl driver"
346 depends on SOC_EXYNOS5440
350 config PINCTRL_PALMAS
351 bool "Pinctrl driver for the PALMAS Series MFD devices"
352 depends on OF && MFD_PALMAS
354 select GENERIC_PINCONF
356 Palmas device supports the configuration of pins for different
357 functionality. This driver supports the pinmux, push-pull and
358 open drain configuration for the Palmas series devices like
359 TPS65913, TPS80036 etc.
361 config PINCTRL_S3C24XX
362 bool "Samsung S3C24XX SoC pinctrl driver"
363 depends on ARCH_S3C24XX
364 select PINCTRL_SAMSUNG
366 config PINCTRL_S3C64XX
367 bool "Samsung S3C64XX SoC pinctrl driver"
368 depends on ARCH_S3C64XX
369 select PINCTRL_SAMSUNG
371 source "drivers/pinctrl/mvebu/Kconfig"
372 source "drivers/pinctrl/sh-pfc/Kconfig"
373 source "drivers/pinctrl/spear/Kconfig"
374 source "drivers/pinctrl/vt8500/Kconfig"
378 depends on SOC_TYPE_XWAY
379 depends on PINCTRL_LANTIQ
383 depends on ARC_PLAT_TB10X