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
192 bool "Freescale Vybrid VF610 pinctrl driver"
196 Say Y here to enable the Freescale Vybrid VF610 pinctrl driver
198 config PINCTRL_LANTIQ
204 config PINCTRL_FALCON
206 depends on SOC_FALCON
207 depends on PINCTRL_LANTIQ
226 select GENERIC_PINCONF
228 config PINCTRL_APQ8064
229 tristate "Qualcomm APQ8064 pin controller driver"
230 depends on GPIOLIB && OF
233 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
234 Qualcomm TLMM block found in the Qualcomm APQ8064 platform.
236 config PINCTRL_IPQ8064
237 tristate "Qualcomm IPQ8064 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 IPQ8064 platform.
244 config PINCTRL_MSM8X74
245 tristate "Qualcomm 8x74 pin controller driver"
246 depends on GPIOLIB && OF && (ARCH_QCOM || COMPILE_TEST)
249 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
250 Qualcomm TLMM block found in the Qualcomm 8974 platform.
252 config PINCTRL_NOMADIK
253 bool "Nomadik pin controller driver"
254 depends on ARCH_U8500 || ARCH_NOMADIK
259 select GPIOLIB_IRQCHIP
261 config PINCTRL_STN8815
262 bool "STN8815 pin controller driver"
263 depends on PINCTRL_NOMADIK && ARCH_NOMADIK
265 config PINCTRL_DB8500
266 bool "DB8500 pin controller driver"
267 depends on PINCTRL_NOMADIK && ARCH_U8500
269 config PINCTRL_DB8540
270 bool "DB8540 pin controller driver"
271 depends on PINCTRL_NOMADIK && ARCH_U8500
273 config PINCTRL_ROCKCHIP
276 select GENERIC_PINCONF
277 select GENERIC_IRQ_CHIP
279 config PINCTRL_SINGLE
280 tristate "One-register-per-pin type device tree based pinctrl driver"
284 select GENERIC_PINCONF
286 This selects the device tree based generic pinctrl driver.
289 bool "CSR SiRFprimaII/SiRFmarco pin controller driver"
292 select GPIOLIB_IRQCHIP
299 select GPIOLIB_IRQCHIP
306 config PINCTRL_TEGRA20
310 config PINCTRL_TEGRA30
314 config PINCTRL_TEGRA114
318 config PINCTRL_TEGRA124
322 config PINCTRL_TZ1090
323 bool "Toumaz Xenif TZ1090 pin control driver"
324 depends on SOC_TZ1090
326 select GENERIC_PINCONF
328 config PINCTRL_TZ1090_PDC
329 bool "Toumaz Xenif TZ1090 PDC pin control driver"
330 depends on SOC_TZ1090
335 bool "U300 pin controller driver"
338 select GENERIC_PINCONF
340 config PINCTRL_COH901
341 bool "ST-Ericsson U300 COH 901 335/571 GPIO"
342 depends on GPIOLIB && ARCH_U300 && PINCTRL_U300
343 select GPIOLIB_IRQCHIP
345 Say yes here to support GPIO interface on ST-Ericsson U300.
346 The names of the two IP block variants supported are
347 COH 901 335 and COH 901 571/3. They contain 3, 5 or 7
348 ports of 8 GPIO pins each.
350 config PINCTRL_SAMSUNG
355 config PINCTRL_EXYNOS
356 bool "Pinctrl driver data for Samsung EXYNOS SoCs other than 5440"
357 depends on OF && GPIOLIB && (ARCH_EXYNOS || ARCH_S5PV210)
358 select PINCTRL_SAMSUNG
360 config PINCTRL_EXYNOS5440
361 bool "Samsung EXYNOS5440 SoC pinctrl driver"
362 depends on SOC_EXYNOS5440
366 config PINCTRL_PALMAS
367 bool "Pinctrl driver for the PALMAS Series MFD devices"
368 depends on OF && MFD_PALMAS
370 select GENERIC_PINCONF
372 Palmas device supports the configuration of pins for different
373 functionality. This driver supports the pinmux, push-pull and
374 open drain configuration for the Palmas series devices like
375 TPS65913, TPS80036 etc.
377 config PINCTRL_S3C24XX
378 bool "Samsung S3C24XX SoC pinctrl driver"
379 depends on ARCH_S3C24XX
380 select PINCTRL_SAMSUNG
382 config PINCTRL_S3C64XX
383 bool "Samsung S3C64XX SoC pinctrl driver"
384 depends on ARCH_S3C64XX
385 select PINCTRL_SAMSUNG
387 source "drivers/pinctrl/mvebu/Kconfig"
388 source "drivers/pinctrl/sh-pfc/Kconfig"
389 source "drivers/pinctrl/spear/Kconfig"
390 source "drivers/pinctrl/sunxi/Kconfig"
391 source "drivers/pinctrl/vt8500/Kconfig"
395 depends on SOC_TYPE_XWAY
396 depends on PINCTRL_LANTIQ
400 depends on ARC_PLAT_TB10X