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
227 select GPIOLIB_IRQCHIP
229 config PINCTRL_APQ8064
230 tristate "Qualcomm APQ8064 pin controller driver"
231 depends on GPIOLIB && OF
234 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
235 Qualcomm TLMM block found in the Qualcomm APQ8064 platform.
237 config PINCTRL_IPQ8064
238 tristate "Qualcomm IPQ8064 pin controller driver"
239 depends on GPIOLIB && OF
242 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
243 Qualcomm TLMM block found in the Qualcomm IPQ8064 platform.
245 config PINCTRL_MSM8X74
246 tristate "Qualcomm 8x74 pin controller driver"
247 depends on GPIOLIB && OF && (ARCH_QCOM || COMPILE_TEST)
250 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
251 Qualcomm TLMM block found in the Qualcomm 8974 platform.
253 config PINCTRL_NOMADIK
254 bool "Nomadik pin controller driver"
255 depends on ARCH_U8500 || ARCH_NOMADIK
260 select GPIOLIB_IRQCHIP
262 config PINCTRL_STN8815
263 bool "STN8815 pin controller driver"
264 depends on PINCTRL_NOMADIK && ARCH_NOMADIK
266 config PINCTRL_DB8500
267 bool "DB8500 pin controller driver"
268 depends on PINCTRL_NOMADIK && ARCH_U8500
270 config PINCTRL_DB8540
271 bool "DB8540 pin controller driver"
272 depends on PINCTRL_NOMADIK && ARCH_U8500
274 config PINCTRL_ROCKCHIP
277 select GENERIC_PINCONF
278 select GENERIC_IRQ_CHIP
281 config PINCTRL_SINGLE
282 tristate "One-register-per-pin type device tree based pinctrl driver"
286 select GENERIC_PINCONF
288 This selects the device tree based generic pinctrl driver.
291 bool "CSR SiRFprimaII/SiRFmarco pin controller driver"
294 select GPIOLIB_IRQCHIP
301 select GPIOLIB_IRQCHIP
308 config PINCTRL_TEGRA20
312 config PINCTRL_TEGRA30
316 config PINCTRL_TEGRA114
320 config PINCTRL_TEGRA124
324 config PINCTRL_TZ1090
325 bool "Toumaz Xenif TZ1090 pin control driver"
326 depends on SOC_TZ1090
328 select GENERIC_PINCONF
330 config PINCTRL_TZ1090_PDC
331 bool "Toumaz Xenif TZ1090 PDC pin control driver"
332 depends on SOC_TZ1090
337 bool "U300 pin controller driver"
340 select GENERIC_PINCONF
342 config PINCTRL_COH901
343 bool "ST-Ericsson U300 COH 901 335/571 GPIO"
344 depends on GPIOLIB && ARCH_U300 && PINCTRL_U300
345 select GPIOLIB_IRQCHIP
347 Say yes here to support GPIO interface on ST-Ericsson U300.
348 The names of the two IP block variants supported are
349 COH 901 335 and COH 901 571/3. They contain 3, 5 or 7
350 ports of 8 GPIO pins each.
352 config PINCTRL_SAMSUNG
357 config PINCTRL_EXYNOS
358 bool "Pinctrl driver data for Samsung EXYNOS SoCs other than 5440"
359 depends on OF && GPIOLIB && (ARCH_EXYNOS || ARCH_S5PV210)
360 select PINCTRL_SAMSUNG
362 config PINCTRL_EXYNOS5440
363 bool "Samsung EXYNOS5440 SoC pinctrl driver"
364 depends on SOC_EXYNOS5440
368 config PINCTRL_PALMAS
369 bool "Pinctrl driver for the PALMAS Series MFD devices"
370 depends on OF && MFD_PALMAS
372 select GENERIC_PINCONF
374 Palmas device supports the configuration of pins for different
375 functionality. This driver supports the pinmux, push-pull and
376 open drain configuration for the Palmas series devices like
377 TPS65913, TPS80036 etc.
379 config PINCTRL_S3C24XX
380 bool "Samsung S3C24XX SoC pinctrl driver"
381 depends on ARCH_S3C24XX
382 select PINCTRL_SAMSUNG
384 config PINCTRL_S3C64XX
385 bool "Samsung S3C64XX SoC pinctrl driver"
386 depends on ARCH_S3C64XX
387 select PINCTRL_SAMSUNG
389 source "drivers/pinctrl/berlin/Kconfig"
390 source "drivers/pinctrl/mvebu/Kconfig"
391 source "drivers/pinctrl/sh-pfc/Kconfig"
392 source "drivers/pinctrl/spear/Kconfig"
393 source "drivers/pinctrl/sunxi/Kconfig"
394 source "drivers/pinctrl/vt8500/Kconfig"
398 depends on SOC_TYPE_XWAY
399 depends on PINCTRL_LANTIQ
403 depends on ARC_PLAT_TB10X