12744e8afSLinus Walleij# 22744e8afSLinus Walleij# PINCTRL infrastructure and drivers 32744e8afSLinus Walleij# 42744e8afSLinus Walleij 545f034efSLinus Walleijconfig PINCTRL 645f034efSLinus Walleij bool 72744e8afSLinus Walleij 845f034efSLinus Walleijmenu "Pin controllers" 945f034efSLinus Walleij depends on PINCTRL 1045f034efSLinus Walleij 112744e8afSLinus Walleijconfig PINMUX 12244e95a7SUwe Kleine-König bool "Support pin multiplexing controllers" if COMPILE_TEST 13ae6b4d85SLinus Walleij 14ae6b4d85SLinus Walleijconfig PINCONF 15244e95a7SUwe Kleine-König bool "Support pin configuration controllers" if COMPILE_TEST 162744e8afSLinus Walleij 17394349f7SLinus Walleijconfig GENERIC_PINCONF 18394349f7SLinus Walleij bool 19394349f7SLinus Walleij select PINCONF 20394349f7SLinus Walleij 212744e8afSLinus Walleijconfig DEBUG_PINCTRL 222744e8afSLinus Walleij bool "Debug PINCTRL calls" 232744e8afSLinus Walleij depends on DEBUG_KERNEL 242744e8afSLinus Walleij help 252744e8afSLinus Walleij Say Y here to add some extra checks and diagnostics to PINCTRL calls. 262744e8afSLinus Walleij 27e9a03addSSonic Zhangconfig PINCTRL_ADI2 28e9a03addSSonic Zhang bool "ADI pin controller driver" 299d7278d0SSonic Zhang depends on BLACKFIN 30e9a03addSSonic Zhang select PINMUX 31e9a03addSSonic Zhang select IRQ_DOMAIN 32e9a03addSSonic Zhang help 33e9a03addSSonic Zhang This is the pin controller and gpio driver for ADI BF54x, BF60x and 34e9a03addSSonic Zhang future processors. This option is selected automatically when specific 35e9a03addSSonic Zhang machine and arch are selected to build. 36e9a03addSSonic Zhang 37c8ce8782SLaxman Dewanganconfig PINCTRL_AS3722 389385f35dSPaul Gortmaker tristate "Pinctrl and GPIO driver for ams AS3722 PMIC" 39c8ce8782SLaxman Dewangan depends on MFD_AS3722 && GPIOLIB 40c8ce8782SLaxman Dewangan select PINMUX 41c8ce8782SLaxman Dewangan select GENERIC_PINCONF 42c8ce8782SLaxman Dewangan help 43c8ce8782SLaxman Dewangan AS3722 device supports the configuration of GPIO pins for different 44c8ce8782SLaxman Dewangan functionality. This driver supports the pinmux, push-pull and 45c8ce8782SLaxman Dewangan open drain configuration for the GPIO pins of AS3722 devices. It also 46c8ce8782SLaxman Dewangan supports the GPIO functionality through gpiolib. 47c8ce8782SLaxman Dewangan 48e9a03addSSonic Zhangconfig PINCTRL_BF54x 49e9a03addSSonic Zhang def_bool y if BF54x 50e9a03addSSonic Zhang select PINCTRL_ADI2 51e9a03addSSonic Zhang 52e9a03addSSonic Zhangconfig PINCTRL_BF60x 53e9a03addSSonic Zhang def_bool y if BF60x 54e9a03addSSonic Zhang select PINCTRL_ADI2 55e9a03addSSonic Zhang 566732ae5cSJean-Christophe PLAGNIOL-VILLARDconfig PINCTRL_AT91 576732ae5cSJean-Christophe PLAGNIOL-VILLARD bool "AT91 pinctrl driver" 586732ae5cSJean-Christophe PLAGNIOL-VILLARD depends on OF 596732ae5cSJean-Christophe PLAGNIOL-VILLARD depends on ARCH_AT91 606732ae5cSJean-Christophe PLAGNIOL-VILLARD select PINMUX 616732ae5cSJean-Christophe PLAGNIOL-VILLARD select PINCONF 6280cc3732SAlexander Stein select GPIOLIB 6380cc3732SAlexander Stein select OF_GPIO 6480cc3732SAlexander Stein select GPIOLIB_IRQCHIP 656732ae5cSJean-Christophe PLAGNIOL-VILLARD help 666732ae5cSJean-Christophe PLAGNIOL-VILLARD Say Y here to enable the at91 pinctrl driver 676732ae5cSJean-Christophe PLAGNIOL-VILLARD 6877618084SLudovic Desrochesconfig PINCTRL_AT91PIO4 6977618084SLudovic Desroches bool "AT91 PIO4 pinctrl driver" 7077618084SLudovic Desroches depends on OF 7177618084SLudovic Desroches depends on ARCH_AT91 7277618084SLudovic Desroches select PINMUX 7377618084SLudovic Desroches select GENERIC_PINCONF 7477618084SLudovic Desroches select GPIOLIB 7577618084SLudovic Desroches select GPIOLIB_IRQCHIP 7677618084SLudovic Desroches select OF_GPIO 7777618084SLudovic Desroches help 7877618084SLudovic Desroches Say Y here to enable the at91 pinctrl/gpio driver for Atmel PIO4 7977618084SLudovic Desroches controller available on sama5d2 SoC. 8077618084SLudovic Desroches 81dbad75ddSKen Xueconfig PINCTRL_AMD 82337ea0fbSJean Delvare tristate "AMD GPIO pin control" 83dbad75ddSKen Xue depends on GPIOLIB 84dbad75ddSKen Xue select GPIOLIB_IRQCHIP 85dbad75ddSKen Xue select PINCONF 86dbad75ddSKen Xue select GENERIC_PINCONF 87dbad75ddSKen Xue help 88dbad75ddSKen Xue driver for memory mapped GPIO functionality on AMD platforms 89dbad75ddSKen Xue (x86 or arm).Most pins are usually muxed to some other 90dbad75ddSKen Xue functionality by firmware,so only a small amount is available 91dbad75ddSKen Xue for gpio use. 92dbad75ddSKen Xue 93dbad75ddSKen Xue Requires ACPI/FDT device enumeration code to set up a platform 94dbad75ddSKen Xue device. 95dbad75ddSKen Xue 9638b0e507SBaruch Siachconfig PINCTRL_DIGICOLOR 9738b0e507SBaruch Siach bool 9838b0e507SBaruch Siach depends on OF && (ARCH_DIGICOLOR || COMPILE_TEST) 9938b0e507SBaruch Siach select PINMUX 10038b0e507SBaruch Siach select GENERIC_PINCONF 10138b0e507SBaruch Siach 1023f8c50c9SJohn Crispinconfig PINCTRL_LANTIQ 1033f8c50c9SJohn Crispin bool 1043f8c50c9SJohn Crispin depends on LANTIQ 1053f8c50c9SJohn Crispin select PINMUX 1063f8c50c9SJohn Crispin select PINCONF 1073f8c50c9SJohn Crispin 1082f77ac93SJoachim Eastwoodconfig PINCTRL_LPC18XX 1092f77ac93SJoachim Eastwood bool "NXP LPC18XX/43XX SCU pinctrl driver" 1102f77ac93SJoachim Eastwood depends on OF && (ARCH_LPC18XX || COMPILE_TEST) 1112f77ac93SJoachim Eastwood default ARCH_LPC18XX 1122f77ac93SJoachim Eastwood select PINMUX 1132f77ac93SJoachim Eastwood select GENERIC_PINCONF 1142f77ac93SJoachim Eastwood help 1152f77ac93SJoachim Eastwood Pinctrl driver for NXP LPC18xx/43xx System Control Unit (SCU). 1162f77ac93SJoachim Eastwood 117e316cb2bSJohn Crispinconfig PINCTRL_FALCON 118e316cb2bSJohn Crispin bool 119e316cb2bSJohn Crispin depends on SOC_FALCON 120e316cb2bSJohn Crispin depends on PINCTRL_LANTIQ 121e316cb2bSJohn Crispin 1226ac73095SBeniamino Galvaniconfig PINCTRL_MESON 1236ac73095SBeniamino Galvani bool 124b99e6fb8SLinus Walleij depends on OF 1256ac73095SBeniamino Galvani select PINMUX 1266ac73095SBeniamino Galvani select PINCONF 1276ac73095SBeniamino Galvani select GENERIC_PINCONF 128b99e6fb8SLinus Walleij select GPIOLIB 1296ac73095SBeniamino Galvani select OF_GPIO 1306ac73095SBeniamino Galvani select REGMAP_MMIO 1316ac73095SBeniamino Galvani 132611dac1eSNeil Armstrongconfig PINCTRL_OXNAS 133611dac1eSNeil Armstrong bool 134611dac1eSNeil Armstrong depends on OF 135611dac1eSNeil Armstrong select PINMUX 136611dac1eSNeil Armstrong select PINCONF 137611dac1eSNeil Armstrong select GENERIC_PINCONF 138611dac1eSNeil Armstrong select GPIOLIB 139611dac1eSNeil Armstrong select OF_GPIO 140611dac1eSNeil Armstrong select GPIOLIB_IRQCHIP 141611dac1eSNeil Armstrong select MFD_SYSCON 142611dac1eSNeil Armstrong 143d3e51161SHeiko Stübnerconfig PINCTRL_ROCKCHIP 144d3e51161SHeiko Stübner bool 145d3e51161SHeiko Stübner select PINMUX 146d3e51161SHeiko Stübner select GENERIC_PINCONF 147d3e51161SHeiko Stübner select GENERIC_IRQ_CHIP 148751a99abSHeiko Stübner select MFD_SYSCON 149d3e51161SHeiko Stübner 1508b8b091bSTony Lindgrenconfig PINCTRL_SINGLE 1518b8b091bSTony Lindgren tristate "One-register-per-pin type device tree based pinctrl driver" 1528b8b091bSTony Lindgren depends on OF 1538b8b091bSTony Lindgren select PINMUX 1548b8b091bSTony Lindgren select PINCONF 1559dddb4dfSHaojian Zhuang select GENERIC_PINCONF 1568b8b091bSTony Lindgren help 1578b8b091bSTony Lindgren This selects the device tree based generic pinctrl driver. 1588b8b091bSTony Lindgren 1593bece55aSLinus Walleijconfig PINCTRL_SIRF 160a17272a4SBarry Song bool "CSR SiRFprimaII pin controller driver" 161d3e26f2fSBarry Song depends on ARCH_SIRF 162393daa81SRongjun Ying select PINMUX 163f9367793SWei Chen select PINCONF 164f9367793SWei Chen select GENERIC_PINCONF 1657420d2d0SLinus Walleij select GPIOLIB_IRQCHIP 166393daa81SRongjun Ying 1679e80f906SNeil Armstrongconfig PINCTRL_SX150X 1689e80f906SNeil Armstrong bool "Semtech SX150x I2C GPIO expander pinctrl driver" 1699e80f906SNeil Armstrong depends on GPIOLIB && I2C=y 1709e80f906SNeil Armstrong select PINMUX 1719e80f906SNeil Armstrong select PINCONF 1729e80f906SNeil Armstrong select GENERIC_PINCONF 1739e80f906SNeil Armstrong select GPIOLIB_IRQCHIP 174*0db0f26cSAndrey Smirnov select REGMAP 1759e80f906SNeil Armstrong help 1769e80f906SNeil Armstrong Say yes here to provide support for Semtech SX150x-series I2C 1779e80f906SNeil Armstrong GPIO expanders as pinctrl module. 1789e80f906SNeil Armstrong Compatible models include: 1799e80f906SNeil Armstrong - 8 bits: sx1508q, sx1502q 1809e80f906SNeil Armstrong - 16 bits: sx1509q, sx1506q 1819e80f906SNeil Armstrong 182cefc03e5SAndrew Brestickerconfig PINCTRL_PISTACHIO 183cefc03e5SAndrew Bresticker def_bool y if MACH_PISTACHIO 184cefc03e5SAndrew Bresticker depends on GPIOLIB 185cefc03e5SAndrew Bresticker select PINMUX 186cefc03e5SAndrew Bresticker select GENERIC_PINCONF 187cefc03e5SAndrew Bresticker select GPIOLIB_IRQCHIP 188cefc03e5SAndrew Bresticker select OF_GPIO 189cefc03e5SAndrew Bresticker 190701016c0SSrinivas KANDAGATLAconfig PINCTRL_ST 191701016c0SSrinivas KANDAGATLA bool 192701016c0SSrinivas KANDAGATLA depends on OF 193701016c0SSrinivas KANDAGATLA select PINMUX 194701016c0SSrinivas KANDAGATLA select PINCONF 195130cbe30SLinus Walleij select GPIOLIB_IRQCHIP 196701016c0SSrinivas KANDAGATLA 197d5025f9fSJames Hoganconfig PINCTRL_TZ1090 198d5025f9fSJames Hogan bool "Toumaz Xenif TZ1090 pin control driver" 199d5025f9fSJames Hogan depends on SOC_TZ1090 200d5025f9fSJames Hogan select PINMUX 201d5025f9fSJames Hogan select GENERIC_PINCONF 202d5025f9fSJames Hogan 203b58f0273SJames Hoganconfig PINCTRL_TZ1090_PDC 204b58f0273SJames Hogan bool "Toumaz Xenif TZ1090 PDC pin control driver" 205b58f0273SJames Hogan depends on SOC_TZ1090 206b58f0273SJames Hogan select PINMUX 207b58f0273SJames Hogan select PINCONF 208b58f0273SJames Hogan 2093bece55aSLinus Walleijconfig PINCTRL_U300 2103bece55aSLinus Walleij bool "U300 pin controller driver" 21198da3529SLinus Walleij depends on ARCH_U300 21298da3529SLinus Walleij select PINMUX 213dc0b1aa3SLinus Walleij select GENERIC_PINCONF 21445f034efSLinus Walleij 215ca402d37SLinus Walleijconfig PINCTRL_COH901 216ca402d37SLinus Walleij bool "ST-Ericsson U300 COH 901 335/571 GPIO" 2173c94d1bbSLinus Walleij depends on GPIOLIB && ARCH_U300 && PINCTRL_U300 218523dcce7SLinus Walleij select GPIOLIB_IRQCHIP 219ca402d37SLinus Walleij help 220ca402d37SLinus Walleij Say yes here to support GPIO interface on ST-Ericsson U300. 221ca402d37SLinus Walleij The names of the two IP block variants supported are 222ca402d37SLinus Walleij COH 901 335 and COH 901 571/3. They contain 3, 5 or 7 223ca402d37SLinus Walleij ports of 8 GPIO pins each. 224ca402d37SLinus Walleij 2252df723d4SLaxman Dewanganconfig PINCTRL_MAX77620 2262df723d4SLaxman Dewangan tristate "MAX77620/MAX20024 Pincontrol support" 22724d6a91cSArnd Bergmann depends on MFD_MAX77620 && OF 22879f28b9fSArnd Bergmann select PINMUX 2292df723d4SLaxman Dewangan select GENERIC_PINCONF 2302df723d4SLaxman Dewangan help 2312df723d4SLaxman Dewangan Say Yes here to enable Pin control support for Maxim PMIC MAX77620. 2322df723d4SLaxman Dewangan This PMIC has 8 GPIO pins that work as GPIO as well as special 2332df723d4SLaxman Dewangan function in alternate mode. This driver also configure push-pull, 2342df723d4SLaxman Dewangan open drain, FPS slots etc. 2352df723d4SLaxman Dewangan 2360a8d3e24SLaxman Dewanganconfig PINCTRL_PALMAS 237767b8ce3SPaul Gortmaker tristate "Pinctrl driver for the PALMAS Series MFD devices" 2380a8d3e24SLaxman Dewangan depends on OF && MFD_PALMAS 23963ca8db7SAxel Lin select PINMUX 2400a8d3e24SLaxman Dewangan select GENERIC_PINCONF 2410a8d3e24SLaxman Dewangan help 2420a8d3e24SLaxman Dewangan Palmas device supports the configuration of pins for different 2430a8d3e24SLaxman Dewangan functionality. This driver supports the pinmux, push-pull and 2440a8d3e24SLaxman Dewangan open drain configuration for the Palmas series devices like 2450a8d3e24SLaxman Dewangan TPS65913, TPS80036 etc. 2460a8d3e24SLaxman Dewangan 2472ba384e6SJoshua Hendersonconfig PINCTRL_PIC32 2482ba384e6SJoshua Henderson bool "Microchip PIC32 pin controller driver" 2492ba384e6SJoshua Henderson depends on OF 2502ba384e6SJoshua Henderson depends on MACH_PIC32 2512ba384e6SJoshua Henderson select PINMUX 2522ba384e6SJoshua Henderson select GENERIC_PINCONF 2532ba384e6SJoshua Henderson select GPIOLIB_IRQCHIP 2542ba384e6SJoshua Henderson select OF_GPIO 2552ba384e6SJoshua Henderson help 2562ba384e6SJoshua Henderson This is the pin controller and gpio driver for Microchip PIC32 2572ba384e6SJoshua Henderson microcontrollers. This option is selected automatically when specific 2582ba384e6SJoshua Henderson machine and arch are selected to build. 2592ba384e6SJoshua Henderson 2602ba384e6SJoshua Hendersonconfig PINCTRL_PIC32MZDA 2612ba384e6SJoshua Henderson def_bool y if PIC32MZDA 2622ba384e6SJoshua Henderson select PINCTRL_PIC32 2632ba384e6SJoshua Henderson 264add958ceSSoren Brinkmannconfig PINCTRL_ZYNQ 265add958ceSSoren Brinkmann bool "Pinctrl driver for Xilinx Zynq" 266add958ceSSoren Brinkmann depends on ARCH_ZYNQ 267add958ceSSoren Brinkmann select PINMUX 268add958ceSSoren Brinkmann select GENERIC_PINCONF 269add958ceSSoren Brinkmann help 270485dba27SMasahiro Yamada This selects the pinctrl driver for Xilinx Zynq. 271add958ceSSoren Brinkmann 2724d3d0e42SAndrew Jefferysource "drivers/pinctrl/aspeed/Kconfig" 273b17f2f9bSRay Juisource "drivers/pinctrl/bcm/Kconfig" 2743de68d33SAntoine Tenartsource "drivers/pinctrl/berlin/Kconfig" 275edad3b2aSLinus Walleijsource "drivers/pinctrl/freescale/Kconfig" 2765fae8b86SMika Westerbergsource "drivers/pinctrl/intel/Kconfig" 27706763c74SThomas Petazzonisource "drivers/pinctrl/mvebu/Kconfig" 2783a198059SLinus Walleijsource "drivers/pinctrl/nomadik/Kconfig" 2794b15ec9dSRobert Jarzmiksource "drivers/pinctrl/pxa/Kconfig" 28069b78b8dSLinus Walleijsource "drivers/pinctrl/qcom/Kconfig" 281ebe629a3SSachin Kamatsource "drivers/pinctrl/samsung/Kconfig" 2826e54d8d2SLaurent Pinchartsource "drivers/pinctrl/sh-pfc/Kconfig" 283deda8287SViresh Kumarsource "drivers/pinctrl/spear/Kconfig" 284aceb16dcSMaxime Coquelinsource "drivers/pinctrl/stm32/Kconfig" 2855f910777SMaxime Ripardsource "drivers/pinctrl/sunxi/Kconfig" 28625cbac77SMasahiro Yamadasource "drivers/pinctrl/tegra/Kconfig" 2876e908892SMasahiro Yamadasource "drivers/pinctrl/uniphier/Kconfig" 288170c6152STony Prisksource "drivers/pinctrl/vt8500/Kconfig" 289a6df410dSHongzhou Yangsource "drivers/pinctrl/mediatek/Kconfig" 290deda8287SViresh Kumar 2913f8c50c9SJohn Crispinconfig PINCTRL_XWAY 2923f8c50c9SJohn Crispin bool 2933f8c50c9SJohn Crispin depends on SOC_TYPE_XWAY 2943f8c50c9SJohn Crispin depends on PINCTRL_LANTIQ 2953f8c50c9SJohn Crispin 2965aad0db1SChristian Ruppertconfig PINCTRL_TB10X 2975aad0db1SChristian Ruppert bool 298b99e6fb8SLinus Walleij depends on OF && ARC_PLAT_TB10X 299b99e6fb8SLinus Walleij select GPIOLIB 3005aad0db1SChristian Ruppert 30145f034efSLinus Walleijendmenu 302