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
112 config PINCTRL_IMX1_CORE
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
176 bool "Freescale Vybrid VF610 pinctrl driver"
180 Say Y here to enable the Freescale Vybrid VF610 pinctrl driver
182 config PINCTRL_LANTIQ
188 config PINCTRL_FALCON
190 depends on SOC_FALCON
191 depends on PINCTRL_LANTIQ
210 select GENERIC_PINCONF
212 config PINCTRL_MSM8X74
213 bool "Qualcomm 8x74 pin controller driver"
214 depends on OF && OF_IRQ
217 config PINCTRL_NOMADIK
218 bool "Nomadik pin controller driver"
219 depends on ARCH_U8500 || ARCH_NOMADIK
223 config PINCTRL_STN8815
224 bool "STN8815 pin controller driver"
225 depends on PINCTRL_NOMADIK && ARCH_NOMADIK
227 config PINCTRL_DB8500
228 bool "DB8500 pin controller driver"
229 depends on PINCTRL_NOMADIK && ARCH_U8500
231 config PINCTRL_DB8540
232 bool "DB8540 pin controller driver"
233 depends on PINCTRL_NOMADIK && ARCH_U8500
235 config PINCTRL_ROCKCHIP
238 select GENERIC_PINCONF
239 select GENERIC_IRQ_CHIP
241 config PINCTRL_SINGLE
242 tristate "One-register-per-pin type device tree based pinctrl driver"
246 select GENERIC_PINCONF
248 This selects the device tree based generic pinctrl driver.
251 bool "CSR SiRFprimaII/SiRFmarco pin controller driver"
258 select GENERIC_PINCONF
271 config PINCTRL_TEGRA20
275 config PINCTRL_TEGRA30
279 config PINCTRL_TEGRA114
283 config PINCTRL_TZ1090
284 bool "Toumaz Xenif TZ1090 pin control driver"
285 depends on SOC_TZ1090
287 select GENERIC_PINCONF
289 config PINCTRL_TZ1090_PDC
290 bool "Toumaz Xenif TZ1090 PDC pin control driver"
291 depends on SOC_TZ1090
296 bool "U300 pin controller driver"
299 select GENERIC_PINCONF
301 config PINCTRL_COH901
302 bool "ST-Ericsson U300 COH 901 335/571 GPIO"
303 depends on GPIOLIB && ARCH_U300 && PINCTRL_U300
305 Say yes here to support GPIO interface on ST-Ericsson U300.
306 The names of the two IP block variants supported are
307 COH 901 335 and COH 901 571/3. They contain 3, 5 or 7
308 ports of 8 GPIO pins each.
310 config PINCTRL_SAMSUNG
315 config PINCTRL_EXYNOS
316 bool "Pinctrl driver data for Samsung EXYNOS SoCs other than 5440"
317 depends on OF && GPIOLIB && (ARCH_EXYNOS || ARCH_S5PV210)
318 select PINCTRL_SAMSUNG
320 config PINCTRL_EXYNOS5440
321 bool "Samsung EXYNOS5440 SoC pinctrl driver"
322 depends on SOC_EXYNOS5440
326 config PINCTRL_PALMAS
327 bool "Pinctrl driver for the PALMAS Series MFD devices"
328 depends on OF && MFD_PALMAS
330 select GENERIC_PINCONF
332 Palmas device supports the configuration of pins for different
333 functionality. This driver supports the pinmux, push-pull and
334 open drain configuration for the Palmas series devices like
335 TPS65913, TPS80036 etc.
337 config PINCTRL_S3C24XX
338 bool "Samsung S3C24XX SoC pinctrl driver"
339 depends on ARCH_S3C24XX
340 select PINCTRL_SAMSUNG
342 config PINCTRL_S3C64XX
343 bool "Samsung S3C64XX SoC pinctrl driver"
344 depends on ARCH_S3C64XX
345 select PINCTRL_SAMSUNG
347 source "drivers/pinctrl/mvebu/Kconfig"
348 source "drivers/pinctrl/sh-pfc/Kconfig"
349 source "drivers/pinctrl/spear/Kconfig"
350 source "drivers/pinctrl/vt8500/Kconfig"
354 depends on SOC_TYPE_XWAY
355 depends on PINCTRL_LANTIQ
359 depends on ARC_PLAT_TB10X