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 11c033a718SLinus Walleijconfig GENERIC_PINCTRL_GROUPS 12c7059c5aSTony Lindgren bool 13c7059c5aSTony Lindgren 142744e8afSLinus Walleijconfig PINMUX 15244e95a7SUwe Kleine-König bool "Support pin multiplexing controllers" if COMPILE_TEST 16ae6b4d85SLinus Walleij 17a76edc89STony Lindgrenconfig GENERIC_PINMUX_FUNCTIONS 18a76edc89STony Lindgren bool 19a76edc89STony Lindgren select PINMUX 20a76edc89STony Lindgren 21ae6b4d85SLinus Walleijconfig PINCONF 22244e95a7SUwe Kleine-König bool "Support pin configuration controllers" if COMPILE_TEST 232744e8afSLinus Walleij 24394349f7SLinus Walleijconfig GENERIC_PINCONF 25394349f7SLinus Walleij bool 26394349f7SLinus Walleij select PINCONF 27394349f7SLinus Walleij 282744e8afSLinus Walleijconfig DEBUG_PINCTRL 292744e8afSLinus Walleij bool "Debug PINCTRL calls" 302744e8afSLinus Walleij depends on DEBUG_KERNEL 312744e8afSLinus Walleij help 322744e8afSLinus Walleij Say Y here to add some extra checks and diagnostics to PINCTRL calls. 332744e8afSLinus Walleij 34e9a03addSSonic Zhangconfig PINCTRL_ADI2 35e9a03addSSonic Zhang bool "ADI pin controller driver" 369d7278d0SSonic Zhang depends on BLACKFIN 37e9a03addSSonic Zhang select PINMUX 38e9a03addSSonic Zhang select IRQ_DOMAIN 39e9a03addSSonic Zhang help 40e9a03addSSonic Zhang This is the pin controller and gpio driver for ADI BF54x, BF60x and 41e9a03addSSonic Zhang future processors. This option is selected automatically when specific 42e9a03addSSonic Zhang machine and arch are selected to build. 43e9a03addSSonic Zhang 4400df0582SJesper Nilssonconfig PINCTRL_ARTPEC6 4500df0582SJesper Nilsson bool "Axis ARTPEC-6 pin controller driver" 4600df0582SJesper Nilsson depends on MACH_ARTPEC6 4700df0582SJesper Nilsson select PINMUX 4800df0582SJesper Nilsson select GENERIC_PINCONF 4900df0582SJesper Nilsson help 5000df0582SJesper Nilsson This is the driver for the Axis ARTPEC-6 pin controller. This driver 5100df0582SJesper Nilsson supports pin function multiplexing as well as pin bias and drive 5200df0582SJesper Nilsson strength configuration. Device tree integration instructions can be 5300df0582SJesper Nilsson found in Documentation/devicetree/bindings/pinctrl/axis,artpec6-pinctrl.txt 5400df0582SJesper Nilsson 55c8ce8782SLaxman Dewanganconfig PINCTRL_AS3722 569385f35dSPaul Gortmaker tristate "Pinctrl and GPIO driver for ams AS3722 PMIC" 57c8ce8782SLaxman Dewangan depends on MFD_AS3722 && GPIOLIB 58c8ce8782SLaxman Dewangan select PINMUX 59c8ce8782SLaxman Dewangan select GENERIC_PINCONF 60c8ce8782SLaxman Dewangan help 61c8ce8782SLaxman Dewangan AS3722 device supports the configuration of GPIO pins for different 62c8ce8782SLaxman Dewangan functionality. This driver supports the pinmux, push-pull and 63c8ce8782SLaxman Dewangan open drain configuration for the GPIO pins of AS3722 devices. It also 64c8ce8782SLaxman Dewangan supports the GPIO functionality through gpiolib. 65c8ce8782SLaxman Dewangan 66e9a03addSSonic Zhangconfig PINCTRL_BF54x 67e9a03addSSonic Zhang def_bool y if BF54x 68e9a03addSSonic Zhang select PINCTRL_ADI2 69e9a03addSSonic Zhang 70e9a03addSSonic Zhangconfig PINCTRL_BF60x 71e9a03addSSonic Zhang def_bool y if BF60x 72e9a03addSSonic Zhang select PINCTRL_ADI2 73e9a03addSSonic Zhang 746732ae5cSJean-Christophe PLAGNIOL-VILLARDconfig PINCTRL_AT91 756732ae5cSJean-Christophe PLAGNIOL-VILLARD bool "AT91 pinctrl driver" 766732ae5cSJean-Christophe PLAGNIOL-VILLARD depends on OF 776732ae5cSJean-Christophe PLAGNIOL-VILLARD depends on ARCH_AT91 786732ae5cSJean-Christophe PLAGNIOL-VILLARD select PINMUX 796732ae5cSJean-Christophe PLAGNIOL-VILLARD select PINCONF 8080cc3732SAlexander Stein select GPIOLIB 8180cc3732SAlexander Stein select OF_GPIO 8280cc3732SAlexander Stein select GPIOLIB_IRQCHIP 836732ae5cSJean-Christophe PLAGNIOL-VILLARD help 846732ae5cSJean-Christophe PLAGNIOL-VILLARD Say Y here to enable the at91 pinctrl driver 856732ae5cSJean-Christophe PLAGNIOL-VILLARD 8677618084SLudovic Desrochesconfig PINCTRL_AT91PIO4 8777618084SLudovic Desroches bool "AT91 PIO4 pinctrl driver" 8877618084SLudovic Desroches depends on OF 8977618084SLudovic Desroches depends on ARCH_AT91 9077618084SLudovic Desroches select PINMUX 9177618084SLudovic Desroches select GENERIC_PINCONF 9277618084SLudovic Desroches select GPIOLIB 9377618084SLudovic Desroches select GPIOLIB_IRQCHIP 9477618084SLudovic Desroches select OF_GPIO 9577618084SLudovic Desroches help 9677618084SLudovic Desroches Say Y here to enable the at91 pinctrl/gpio driver for Atmel PIO4 9777618084SLudovic Desroches controller available on sama5d2 SoC. 9877618084SLudovic Desroches 99dbad75ddSKen Xueconfig PINCTRL_AMD 100337ea0fbSJean Delvare tristate "AMD GPIO pin control" 101dbad75ddSKen Xue depends on GPIOLIB 102dbad75ddSKen Xue select GPIOLIB_IRQCHIP 103dbad75ddSKen Xue select PINCONF 104dbad75ddSKen Xue select GENERIC_PINCONF 105dbad75ddSKen Xue help 106dbad75ddSKen Xue driver for memory mapped GPIO functionality on AMD platforms 107dbad75ddSKen Xue (x86 or arm).Most pins are usually muxed to some other 108dbad75ddSKen Xue functionality by firmware,so only a small amount is available 109dbad75ddSKen Xue for gpio use. 110dbad75ddSKen Xue 111dbad75ddSKen Xue Requires ACPI/FDT device enumeration code to set up a platform 112dbad75ddSKen Xue device. 113dbad75ddSKen Xue 1141ff91f0aSDavid Lechnerconfig PINCTRL_DA850_PUPD 1151ff91f0aSDavid Lechner tristate "TI DA850/OMAP-L138/AM18XX pullup/pulldown groups" 1161ff91f0aSDavid Lechner depends on OF && (ARCH_DAVINCI_DA850 || COMPILE_TEST) 1171ff91f0aSDavid Lechner select PINCONF 1181ff91f0aSDavid Lechner select GENERIC_PINCONF 1191ff91f0aSDavid Lechner help 1201ff91f0aSDavid Lechner Driver for TI DA850/OMAP-L138/AM18XX pinconf. Used to control 1211ff91f0aSDavid Lechner pullup/pulldown pin groups. 1221ff91f0aSDavid Lechner 12338b0e507SBaruch Siachconfig PINCTRL_DIGICOLOR 12438b0e507SBaruch Siach bool 12538b0e507SBaruch Siach depends on OF && (ARCH_DIGICOLOR || COMPILE_TEST) 12638b0e507SBaruch Siach select PINMUX 12738b0e507SBaruch Siach select GENERIC_PINCONF 12838b0e507SBaruch Siach 1293f8c50c9SJohn Crispinconfig PINCTRL_LANTIQ 1303f8c50c9SJohn Crispin bool 1313f8c50c9SJohn Crispin depends on LANTIQ 1323f8c50c9SJohn Crispin select PINMUX 1333f8c50c9SJohn Crispin select PINCONF 1343f8c50c9SJohn Crispin 1352f77ac93SJoachim Eastwoodconfig PINCTRL_LPC18XX 1362f77ac93SJoachim Eastwood bool "NXP LPC18XX/43XX SCU pinctrl driver" 1372f77ac93SJoachim Eastwood depends on OF && (ARCH_LPC18XX || COMPILE_TEST) 1382f77ac93SJoachim Eastwood default ARCH_LPC18XX 1392f77ac93SJoachim Eastwood select PINMUX 1402f77ac93SJoachim Eastwood select GENERIC_PINCONF 1412f77ac93SJoachim Eastwood help 1422f77ac93SJoachim Eastwood Pinctrl driver for NXP LPC18xx/43xx System Control Unit (SCU). 1432f77ac93SJoachim Eastwood 144e316cb2bSJohn Crispinconfig PINCTRL_FALCON 145e316cb2bSJohn Crispin bool 146e316cb2bSJohn Crispin depends on SOC_FALCON 147e316cb2bSJohn Crispin depends on PINCTRL_LANTIQ 148e316cb2bSJohn Crispin 1496ac73095SBeniamino Galvaniconfig PINCTRL_MESON 1506ac73095SBeniamino Galvani bool 151b99e6fb8SLinus Walleij depends on OF 1526ac73095SBeniamino Galvani select PINMUX 1536ac73095SBeniamino Galvani select PINCONF 1546ac73095SBeniamino Galvani select GENERIC_PINCONF 155b99e6fb8SLinus Walleij select GPIOLIB 1566ac73095SBeniamino Galvani select OF_GPIO 1576ac73095SBeniamino Galvani select REGMAP_MMIO 1586ac73095SBeniamino Galvani 159611dac1eSNeil Armstrongconfig PINCTRL_OXNAS 160611dac1eSNeil Armstrong bool 161611dac1eSNeil Armstrong depends on OF 162611dac1eSNeil Armstrong select PINMUX 163611dac1eSNeil Armstrong select PINCONF 164611dac1eSNeil Armstrong select GENERIC_PINCONF 165611dac1eSNeil Armstrong select GPIOLIB 166611dac1eSNeil Armstrong select OF_GPIO 167611dac1eSNeil Armstrong select GPIOLIB_IRQCHIP 168611dac1eSNeil Armstrong select MFD_SYSCON 169611dac1eSNeil Armstrong 170d3e51161SHeiko Stübnerconfig PINCTRL_ROCKCHIP 171d3e51161SHeiko Stübner bool 172d3e51161SHeiko Stübner select PINMUX 173d3e51161SHeiko Stübner select GENERIC_PINCONF 174d3e51161SHeiko Stübner select GENERIC_IRQ_CHIP 175751a99abSHeiko Stübner select MFD_SYSCON 176d3e51161SHeiko Stübner 177*5a49b644SJacopo Mondiconfig PINCTRL_RZA1 178*5a49b644SJacopo Mondi bool "Renesas RZ/A1 gpio and pinctrl driver" 179*5a49b644SJacopo Mondi depends on OF 180*5a49b644SJacopo Mondi depends on ARCH_R7S72100 || COMPILE_TEST 181*5a49b644SJacopo Mondi select GPIOLIB 182*5a49b644SJacopo Mondi select GENERIC_PINCTRL_GROUPS 183*5a49b644SJacopo Mondi select GENERIC_PINMUX_FUNCTIONS 184*5a49b644SJacopo Mondi select GENERIC_PINCONF 185*5a49b644SJacopo Mondi help 186*5a49b644SJacopo Mondi This selects pinctrl driver for Renesas RZ/A1 platforms. 187*5a49b644SJacopo Mondi 1888b8b091bSTony Lindgrenconfig PINCTRL_SINGLE 1898b8b091bSTony Lindgren tristate "One-register-per-pin type device tree based pinctrl driver" 1908b8b091bSTony Lindgren depends on OF 191caeb774eSTony Lindgren select GENERIC_PINCTRL_GROUPS 192571aec4dSTony Lindgren select GENERIC_PINMUX_FUNCTIONS 1939dddb4dfSHaojian Zhuang select GENERIC_PINCONF 1948b8b091bSTony Lindgren help 1958b8b091bSTony Lindgren This selects the device tree based generic pinctrl driver. 1968b8b091bSTony Lindgren 1973bece55aSLinus Walleijconfig PINCTRL_SIRF 198a17272a4SBarry Song bool "CSR SiRFprimaII pin controller driver" 199d3e26f2fSBarry Song depends on ARCH_SIRF 200393daa81SRongjun Ying select PINMUX 201f9367793SWei Chen select PINCONF 202f9367793SWei Chen select GENERIC_PINCONF 2037420d2d0SLinus Walleij select GPIOLIB_IRQCHIP 204393daa81SRongjun Ying 2059e80f906SNeil Armstrongconfig PINCTRL_SX150X 2069e80f906SNeil Armstrong bool "Semtech SX150x I2C GPIO expander pinctrl driver" 2079e80f906SNeil Armstrong depends on GPIOLIB && I2C=y 2089e80f906SNeil Armstrong select PINMUX 2099e80f906SNeil Armstrong select PINCONF 2109e80f906SNeil Armstrong select GENERIC_PINCONF 2119e80f906SNeil Armstrong select GPIOLIB_IRQCHIP 2120db0f26cSAndrey Smirnov select REGMAP 2139e80f906SNeil Armstrong help 2149e80f906SNeil Armstrong Say yes here to provide support for Semtech SX150x-series I2C 2159e80f906SNeil Armstrong GPIO expanders as pinctrl module. 2169e80f906SNeil Armstrong Compatible models include: 2179e80f906SNeil Armstrong - 8 bits: sx1508q, sx1502q 2189e80f906SNeil Armstrong - 16 bits: sx1509q, sx1506q 2199e80f906SNeil Armstrong 220cefc03e5SAndrew Brestickerconfig PINCTRL_PISTACHIO 221cefc03e5SAndrew Bresticker def_bool y if MACH_PISTACHIO 222cefc03e5SAndrew Bresticker depends on GPIOLIB 223cefc03e5SAndrew Bresticker select PINMUX 224cefc03e5SAndrew Bresticker select GENERIC_PINCONF 225cefc03e5SAndrew Bresticker select GPIOLIB_IRQCHIP 226cefc03e5SAndrew Bresticker select OF_GPIO 227cefc03e5SAndrew Bresticker 228701016c0SSrinivas KANDAGATLAconfig PINCTRL_ST 229701016c0SSrinivas KANDAGATLA bool 230701016c0SSrinivas KANDAGATLA depends on OF 231701016c0SSrinivas KANDAGATLA select PINMUX 232701016c0SSrinivas KANDAGATLA select PINCONF 233130cbe30SLinus Walleij select GPIOLIB_IRQCHIP 234701016c0SSrinivas KANDAGATLA 235d5025f9fSJames Hoganconfig PINCTRL_TZ1090 236d5025f9fSJames Hogan bool "Toumaz Xenif TZ1090 pin control driver" 237d5025f9fSJames Hogan depends on SOC_TZ1090 238d5025f9fSJames Hogan select PINMUX 239d5025f9fSJames Hogan select GENERIC_PINCONF 240d5025f9fSJames Hogan 241b58f0273SJames Hoganconfig PINCTRL_TZ1090_PDC 242b58f0273SJames Hogan bool "Toumaz Xenif TZ1090 PDC pin control driver" 243b58f0273SJames Hogan depends on SOC_TZ1090 244b58f0273SJames Hogan select PINMUX 245b58f0273SJames Hogan select PINCONF 246b58f0273SJames Hogan 2473bece55aSLinus Walleijconfig PINCTRL_U300 2483bece55aSLinus Walleij bool "U300 pin controller driver" 24998da3529SLinus Walleij depends on ARCH_U300 25098da3529SLinus Walleij select PINMUX 251dc0b1aa3SLinus Walleij select GENERIC_PINCONF 25245f034efSLinus Walleij 253ca402d37SLinus Walleijconfig PINCTRL_COH901 254ca402d37SLinus Walleij bool "ST-Ericsson U300 COH 901 335/571 GPIO" 2553c94d1bbSLinus Walleij depends on GPIOLIB && ARCH_U300 && PINCTRL_U300 256523dcce7SLinus Walleij select GPIOLIB_IRQCHIP 257ca402d37SLinus Walleij help 258ca402d37SLinus Walleij Say yes here to support GPIO interface on ST-Ericsson U300. 259ca402d37SLinus Walleij The names of the two IP block variants supported are 260ca402d37SLinus Walleij COH 901 335 and COH 901 571/3. They contain 3, 5 or 7 261ca402d37SLinus Walleij ports of 8 GPIO pins each. 262ca402d37SLinus Walleij 2632df723d4SLaxman Dewanganconfig PINCTRL_MAX77620 2642df723d4SLaxman Dewangan tristate "MAX77620/MAX20024 Pincontrol support" 26524d6a91cSArnd Bergmann depends on MFD_MAX77620 && OF 26679f28b9fSArnd Bergmann select PINMUX 2672df723d4SLaxman Dewangan select GENERIC_PINCONF 2682df723d4SLaxman Dewangan help 2692df723d4SLaxman Dewangan Say Yes here to enable Pin control support for Maxim PMIC MAX77620. 2702df723d4SLaxman Dewangan This PMIC has 8 GPIO pins that work as GPIO as well as special 2712df723d4SLaxman Dewangan function in alternate mode. This driver also configure push-pull, 2722df723d4SLaxman Dewangan open drain, FPS slots etc. 2732df723d4SLaxman Dewangan 2740a8d3e24SLaxman Dewanganconfig PINCTRL_PALMAS 275767b8ce3SPaul Gortmaker tristate "Pinctrl driver for the PALMAS Series MFD devices" 2760a8d3e24SLaxman Dewangan depends on OF && MFD_PALMAS 27763ca8db7SAxel Lin select PINMUX 2780a8d3e24SLaxman Dewangan select GENERIC_PINCONF 2790a8d3e24SLaxman Dewangan help 2800a8d3e24SLaxman Dewangan Palmas device supports the configuration of pins for different 2810a8d3e24SLaxman Dewangan functionality. This driver supports the pinmux, push-pull and 2820a8d3e24SLaxman Dewangan open drain configuration for the Palmas series devices like 2830a8d3e24SLaxman Dewangan TPS65913, TPS80036 etc. 2840a8d3e24SLaxman Dewangan 2852ba384e6SJoshua Hendersonconfig PINCTRL_PIC32 2862ba384e6SJoshua Henderson bool "Microchip PIC32 pin controller driver" 2872ba384e6SJoshua Henderson depends on OF 2882ba384e6SJoshua Henderson depends on MACH_PIC32 2892ba384e6SJoshua Henderson select PINMUX 2902ba384e6SJoshua Henderson select GENERIC_PINCONF 2912ba384e6SJoshua Henderson select GPIOLIB_IRQCHIP 2922ba384e6SJoshua Henderson select OF_GPIO 2932ba384e6SJoshua Henderson help 2942ba384e6SJoshua Henderson This is the pin controller and gpio driver for Microchip PIC32 2952ba384e6SJoshua Henderson microcontrollers. This option is selected automatically when specific 2962ba384e6SJoshua Henderson machine and arch are selected to build. 2972ba384e6SJoshua Henderson 2982ba384e6SJoshua Hendersonconfig PINCTRL_PIC32MZDA 2992ba384e6SJoshua Henderson def_bool y if PIC32MZDA 3002ba384e6SJoshua Henderson select PINCTRL_PIC32 3012ba384e6SJoshua Henderson 302add958ceSSoren Brinkmannconfig PINCTRL_ZYNQ 303add958ceSSoren Brinkmann bool "Pinctrl driver for Xilinx Zynq" 304add958ceSSoren Brinkmann depends on ARCH_ZYNQ 305add958ceSSoren Brinkmann select PINMUX 306add958ceSSoren Brinkmann select GENERIC_PINCONF 307add958ceSSoren Brinkmann help 308485dba27SMasahiro Yamada This selects the pinctrl driver for Xilinx Zynq. 309add958ceSSoren Brinkmann 3104d3d0e42SAndrew Jefferysource "drivers/pinctrl/aspeed/Kconfig" 311b17f2f9bSRay Juisource "drivers/pinctrl/bcm/Kconfig" 3123de68d33SAntoine Tenartsource "drivers/pinctrl/berlin/Kconfig" 313edad3b2aSLinus Walleijsource "drivers/pinctrl/freescale/Kconfig" 3145fae8b86SMika Westerbergsource "drivers/pinctrl/intel/Kconfig" 31506763c74SThomas Petazzonisource "drivers/pinctrl/mvebu/Kconfig" 3163a198059SLinus Walleijsource "drivers/pinctrl/nomadik/Kconfig" 3174b15ec9dSRobert Jarzmiksource "drivers/pinctrl/pxa/Kconfig" 31869b78b8dSLinus Walleijsource "drivers/pinctrl/qcom/Kconfig" 319ebe629a3SSachin Kamatsource "drivers/pinctrl/samsung/Kconfig" 3206e54d8d2SLaurent Pinchartsource "drivers/pinctrl/sh-pfc/Kconfig" 321deda8287SViresh Kumarsource "drivers/pinctrl/spear/Kconfig" 322aceb16dcSMaxime Coquelinsource "drivers/pinctrl/stm32/Kconfig" 3235f910777SMaxime Ripardsource "drivers/pinctrl/sunxi/Kconfig" 32425cbac77SMasahiro Yamadasource "drivers/pinctrl/tegra/Kconfig" 325003910ebSNishanth Menonsource "drivers/pinctrl/ti/Kconfig" 3266e908892SMasahiro Yamadasource "drivers/pinctrl/uniphier/Kconfig" 327170c6152STony Prisksource "drivers/pinctrl/vt8500/Kconfig" 328a6df410dSHongzhou Yangsource "drivers/pinctrl/mediatek/Kconfig" 329deda8287SViresh Kumar 3303f8c50c9SJohn Crispinconfig PINCTRL_XWAY 3313f8c50c9SJohn Crispin bool 3323f8c50c9SJohn Crispin depends on SOC_TYPE_XWAY 3333f8c50c9SJohn Crispin depends on PINCTRL_LANTIQ 3343f8c50c9SJohn Crispin 3355aad0db1SChristian Ruppertconfig PINCTRL_TB10X 3365aad0db1SChristian Ruppert bool 337b99e6fb8SLinus Walleij depends on OF && ARC_PLAT_TB10X 338b99e6fb8SLinus Walleij select GPIOLIB 3395aad0db1SChristian Ruppert 34045f034efSLinus Walleijendmenu 341