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 44c8ce8782SLaxman Dewanganconfig PINCTRL_AS3722 459385f35dSPaul Gortmaker tristate "Pinctrl and GPIO driver for ams AS3722 PMIC" 46c8ce8782SLaxman Dewangan depends on MFD_AS3722 && GPIOLIB 47c8ce8782SLaxman Dewangan select PINMUX 48c8ce8782SLaxman Dewangan select GENERIC_PINCONF 49c8ce8782SLaxman Dewangan help 50c8ce8782SLaxman Dewangan AS3722 device supports the configuration of GPIO pins for different 51c8ce8782SLaxman Dewangan functionality. This driver supports the pinmux, push-pull and 52c8ce8782SLaxman Dewangan open drain configuration for the GPIO pins of AS3722 devices. It also 53c8ce8782SLaxman Dewangan supports the GPIO functionality through gpiolib. 54c8ce8782SLaxman Dewangan 55e9a03addSSonic Zhangconfig PINCTRL_BF54x 56e9a03addSSonic Zhang def_bool y if BF54x 57e9a03addSSonic Zhang select PINCTRL_ADI2 58e9a03addSSonic Zhang 59e9a03addSSonic Zhangconfig PINCTRL_BF60x 60e9a03addSSonic Zhang def_bool y if BF60x 61e9a03addSSonic Zhang select PINCTRL_ADI2 62e9a03addSSonic Zhang 636732ae5cSJean-Christophe PLAGNIOL-VILLARDconfig PINCTRL_AT91 646732ae5cSJean-Christophe PLAGNIOL-VILLARD bool "AT91 pinctrl driver" 656732ae5cSJean-Christophe PLAGNIOL-VILLARD depends on OF 666732ae5cSJean-Christophe PLAGNIOL-VILLARD depends on ARCH_AT91 676732ae5cSJean-Christophe PLAGNIOL-VILLARD select PINMUX 686732ae5cSJean-Christophe PLAGNIOL-VILLARD select PINCONF 6980cc3732SAlexander Stein select GPIOLIB 7080cc3732SAlexander Stein select OF_GPIO 7180cc3732SAlexander Stein select GPIOLIB_IRQCHIP 726732ae5cSJean-Christophe PLAGNIOL-VILLARD help 736732ae5cSJean-Christophe PLAGNIOL-VILLARD Say Y here to enable the at91 pinctrl driver 746732ae5cSJean-Christophe PLAGNIOL-VILLARD 7577618084SLudovic Desrochesconfig PINCTRL_AT91PIO4 7677618084SLudovic Desroches bool "AT91 PIO4 pinctrl driver" 7777618084SLudovic Desroches depends on OF 7877618084SLudovic Desroches depends on ARCH_AT91 7977618084SLudovic Desroches select PINMUX 8077618084SLudovic Desroches select GENERIC_PINCONF 8177618084SLudovic Desroches select GPIOLIB 8277618084SLudovic Desroches select GPIOLIB_IRQCHIP 8377618084SLudovic Desroches select OF_GPIO 8477618084SLudovic Desroches help 8577618084SLudovic Desroches Say Y here to enable the at91 pinctrl/gpio driver for Atmel PIO4 8677618084SLudovic Desroches controller available on sama5d2 SoC. 8777618084SLudovic Desroches 88dbad75ddSKen Xueconfig PINCTRL_AMD 89337ea0fbSJean Delvare tristate "AMD GPIO pin control" 90dbad75ddSKen Xue depends on GPIOLIB 91dbad75ddSKen Xue select GPIOLIB_IRQCHIP 92dbad75ddSKen Xue select PINCONF 93dbad75ddSKen Xue select GENERIC_PINCONF 94dbad75ddSKen Xue help 95dbad75ddSKen Xue driver for memory mapped GPIO functionality on AMD platforms 96dbad75ddSKen Xue (x86 or arm).Most pins are usually muxed to some other 97dbad75ddSKen Xue functionality by firmware,so only a small amount is available 98dbad75ddSKen Xue for gpio use. 99dbad75ddSKen Xue 100dbad75ddSKen Xue Requires ACPI/FDT device enumeration code to set up a platform 101dbad75ddSKen Xue device. 102dbad75ddSKen Xue 1031ff91f0aSDavid Lechnerconfig PINCTRL_DA850_PUPD 1041ff91f0aSDavid Lechner tristate "TI DA850/OMAP-L138/AM18XX pullup/pulldown groups" 1051ff91f0aSDavid Lechner depends on OF && (ARCH_DAVINCI_DA850 || COMPILE_TEST) 1061ff91f0aSDavid Lechner select PINCONF 1071ff91f0aSDavid Lechner select GENERIC_PINCONF 1081ff91f0aSDavid Lechner help 1091ff91f0aSDavid Lechner Driver for TI DA850/OMAP-L138/AM18XX pinconf. Used to control 1101ff91f0aSDavid Lechner pullup/pulldown pin groups. 1111ff91f0aSDavid Lechner 11238b0e507SBaruch Siachconfig PINCTRL_DIGICOLOR 11338b0e507SBaruch Siach bool 11438b0e507SBaruch Siach depends on OF && (ARCH_DIGICOLOR || COMPILE_TEST) 11538b0e507SBaruch Siach select PINMUX 11638b0e507SBaruch Siach select GENERIC_PINCONF 11738b0e507SBaruch Siach 1183f8c50c9SJohn Crispinconfig PINCTRL_LANTIQ 1193f8c50c9SJohn Crispin bool 1203f8c50c9SJohn Crispin depends on LANTIQ 1213f8c50c9SJohn Crispin select PINMUX 1223f8c50c9SJohn Crispin select PINCONF 1233f8c50c9SJohn Crispin 1242f77ac93SJoachim Eastwoodconfig PINCTRL_LPC18XX 1252f77ac93SJoachim Eastwood bool "NXP LPC18XX/43XX SCU pinctrl driver" 1262f77ac93SJoachim Eastwood depends on OF && (ARCH_LPC18XX || COMPILE_TEST) 1272f77ac93SJoachim Eastwood default ARCH_LPC18XX 1282f77ac93SJoachim Eastwood select PINMUX 1292f77ac93SJoachim Eastwood select GENERIC_PINCONF 1302f77ac93SJoachim Eastwood help 1312f77ac93SJoachim Eastwood Pinctrl driver for NXP LPC18xx/43xx System Control Unit (SCU). 1322f77ac93SJoachim Eastwood 133e316cb2bSJohn Crispinconfig PINCTRL_FALCON 134e316cb2bSJohn Crispin bool 135e316cb2bSJohn Crispin depends on SOC_FALCON 136e316cb2bSJohn Crispin depends on PINCTRL_LANTIQ 137e316cb2bSJohn Crispin 1386ac73095SBeniamino Galvaniconfig PINCTRL_MESON 1396ac73095SBeniamino Galvani bool 140b99e6fb8SLinus Walleij depends on OF 1416ac73095SBeniamino Galvani select PINMUX 1426ac73095SBeniamino Galvani select PINCONF 1436ac73095SBeniamino Galvani select GENERIC_PINCONF 144b99e6fb8SLinus Walleij select GPIOLIB 1456ac73095SBeniamino Galvani select OF_GPIO 1466ac73095SBeniamino Galvani select REGMAP_MMIO 1476ac73095SBeniamino Galvani 148611dac1eSNeil Armstrongconfig PINCTRL_OXNAS 149611dac1eSNeil Armstrong bool 150611dac1eSNeil Armstrong depends on OF 151611dac1eSNeil Armstrong select PINMUX 152611dac1eSNeil Armstrong select PINCONF 153611dac1eSNeil Armstrong select GENERIC_PINCONF 154611dac1eSNeil Armstrong select GPIOLIB 155611dac1eSNeil Armstrong select OF_GPIO 156611dac1eSNeil Armstrong select GPIOLIB_IRQCHIP 157611dac1eSNeil Armstrong select MFD_SYSCON 158611dac1eSNeil Armstrong 159d3e51161SHeiko Stübnerconfig PINCTRL_ROCKCHIP 160d3e51161SHeiko Stübner bool 161d3e51161SHeiko Stübner select PINMUX 162d3e51161SHeiko Stübner select GENERIC_PINCONF 163d3e51161SHeiko Stübner select GENERIC_IRQ_CHIP 164751a99abSHeiko Stübner select MFD_SYSCON 165d3e51161SHeiko Stübner 1668b8b091bSTony Lindgrenconfig PINCTRL_SINGLE 1678b8b091bSTony Lindgren tristate "One-register-per-pin type device tree based pinctrl driver" 1688b8b091bSTony Lindgren depends on OF 169*caeb774eSTony Lindgren select GENERIC_PINCTRL_GROUPS 1708b8b091bSTony Lindgren select PINMUX 1719dddb4dfSHaojian Zhuang select GENERIC_PINCONF 1728b8b091bSTony Lindgren help 1738b8b091bSTony Lindgren This selects the device tree based generic pinctrl driver. 1748b8b091bSTony Lindgren 1753bece55aSLinus Walleijconfig PINCTRL_SIRF 176a17272a4SBarry Song bool "CSR SiRFprimaII pin controller driver" 177d3e26f2fSBarry Song depends on ARCH_SIRF 178393daa81SRongjun Ying select PINMUX 179f9367793SWei Chen select PINCONF 180f9367793SWei Chen select GENERIC_PINCONF 1817420d2d0SLinus Walleij select GPIOLIB_IRQCHIP 182393daa81SRongjun Ying 1839e80f906SNeil Armstrongconfig PINCTRL_SX150X 1849e80f906SNeil Armstrong bool "Semtech SX150x I2C GPIO expander pinctrl driver" 1859e80f906SNeil Armstrong depends on GPIOLIB && I2C=y 1869e80f906SNeil Armstrong select PINMUX 1879e80f906SNeil Armstrong select PINCONF 1889e80f906SNeil Armstrong select GENERIC_PINCONF 1899e80f906SNeil Armstrong select GPIOLIB_IRQCHIP 1900db0f26cSAndrey Smirnov select REGMAP 1919e80f906SNeil Armstrong help 1929e80f906SNeil Armstrong Say yes here to provide support for Semtech SX150x-series I2C 1939e80f906SNeil Armstrong GPIO expanders as pinctrl module. 1949e80f906SNeil Armstrong Compatible models include: 1959e80f906SNeil Armstrong - 8 bits: sx1508q, sx1502q 1969e80f906SNeil Armstrong - 16 bits: sx1509q, sx1506q 1979e80f906SNeil Armstrong 198cefc03e5SAndrew Brestickerconfig PINCTRL_PISTACHIO 199cefc03e5SAndrew Bresticker def_bool y if MACH_PISTACHIO 200cefc03e5SAndrew Bresticker depends on GPIOLIB 201cefc03e5SAndrew Bresticker select PINMUX 202cefc03e5SAndrew Bresticker select GENERIC_PINCONF 203cefc03e5SAndrew Bresticker select GPIOLIB_IRQCHIP 204cefc03e5SAndrew Bresticker select OF_GPIO 205cefc03e5SAndrew Bresticker 206701016c0SSrinivas KANDAGATLAconfig PINCTRL_ST 207701016c0SSrinivas KANDAGATLA bool 208701016c0SSrinivas KANDAGATLA depends on OF 209701016c0SSrinivas KANDAGATLA select PINMUX 210701016c0SSrinivas KANDAGATLA select PINCONF 211130cbe30SLinus Walleij select GPIOLIB_IRQCHIP 212701016c0SSrinivas KANDAGATLA 213d5025f9fSJames Hoganconfig PINCTRL_TZ1090 214d5025f9fSJames Hogan bool "Toumaz Xenif TZ1090 pin control driver" 215d5025f9fSJames Hogan depends on SOC_TZ1090 216d5025f9fSJames Hogan select PINMUX 217d5025f9fSJames Hogan select GENERIC_PINCONF 218d5025f9fSJames Hogan 219b58f0273SJames Hoganconfig PINCTRL_TZ1090_PDC 220b58f0273SJames Hogan bool "Toumaz Xenif TZ1090 PDC pin control driver" 221b58f0273SJames Hogan depends on SOC_TZ1090 222b58f0273SJames Hogan select PINMUX 223b58f0273SJames Hogan select PINCONF 224b58f0273SJames Hogan 2253bece55aSLinus Walleijconfig PINCTRL_U300 2263bece55aSLinus Walleij bool "U300 pin controller driver" 22798da3529SLinus Walleij depends on ARCH_U300 22898da3529SLinus Walleij select PINMUX 229dc0b1aa3SLinus Walleij select GENERIC_PINCONF 23045f034efSLinus Walleij 231ca402d37SLinus Walleijconfig PINCTRL_COH901 232ca402d37SLinus Walleij bool "ST-Ericsson U300 COH 901 335/571 GPIO" 2333c94d1bbSLinus Walleij depends on GPIOLIB && ARCH_U300 && PINCTRL_U300 234523dcce7SLinus Walleij select GPIOLIB_IRQCHIP 235ca402d37SLinus Walleij help 236ca402d37SLinus Walleij Say yes here to support GPIO interface on ST-Ericsson U300. 237ca402d37SLinus Walleij The names of the two IP block variants supported are 238ca402d37SLinus Walleij COH 901 335 and COH 901 571/3. They contain 3, 5 or 7 239ca402d37SLinus Walleij ports of 8 GPIO pins each. 240ca402d37SLinus Walleij 2412df723d4SLaxman Dewanganconfig PINCTRL_MAX77620 2422df723d4SLaxman Dewangan tristate "MAX77620/MAX20024 Pincontrol support" 24324d6a91cSArnd Bergmann depends on MFD_MAX77620 && OF 24479f28b9fSArnd Bergmann select PINMUX 2452df723d4SLaxman Dewangan select GENERIC_PINCONF 2462df723d4SLaxman Dewangan help 2472df723d4SLaxman Dewangan Say Yes here to enable Pin control support for Maxim PMIC MAX77620. 2482df723d4SLaxman Dewangan This PMIC has 8 GPIO pins that work as GPIO as well as special 2492df723d4SLaxman Dewangan function in alternate mode. This driver also configure push-pull, 2502df723d4SLaxman Dewangan open drain, FPS slots etc. 2512df723d4SLaxman Dewangan 2520a8d3e24SLaxman Dewanganconfig PINCTRL_PALMAS 253767b8ce3SPaul Gortmaker tristate "Pinctrl driver for the PALMAS Series MFD devices" 2540a8d3e24SLaxman Dewangan depends on OF && MFD_PALMAS 25563ca8db7SAxel Lin select PINMUX 2560a8d3e24SLaxman Dewangan select GENERIC_PINCONF 2570a8d3e24SLaxman Dewangan help 2580a8d3e24SLaxman Dewangan Palmas device supports the configuration of pins for different 2590a8d3e24SLaxman Dewangan functionality. This driver supports the pinmux, push-pull and 2600a8d3e24SLaxman Dewangan open drain configuration for the Palmas series devices like 2610a8d3e24SLaxman Dewangan TPS65913, TPS80036 etc. 2620a8d3e24SLaxman Dewangan 2632ba384e6SJoshua Hendersonconfig PINCTRL_PIC32 2642ba384e6SJoshua Henderson bool "Microchip PIC32 pin controller driver" 2652ba384e6SJoshua Henderson depends on OF 2662ba384e6SJoshua Henderson depends on MACH_PIC32 2672ba384e6SJoshua Henderson select PINMUX 2682ba384e6SJoshua Henderson select GENERIC_PINCONF 2692ba384e6SJoshua Henderson select GPIOLIB_IRQCHIP 2702ba384e6SJoshua Henderson select OF_GPIO 2712ba384e6SJoshua Henderson help 2722ba384e6SJoshua Henderson This is the pin controller and gpio driver for Microchip PIC32 2732ba384e6SJoshua Henderson microcontrollers. This option is selected automatically when specific 2742ba384e6SJoshua Henderson machine and arch are selected to build. 2752ba384e6SJoshua Henderson 2762ba384e6SJoshua Hendersonconfig PINCTRL_PIC32MZDA 2772ba384e6SJoshua Henderson def_bool y if PIC32MZDA 2782ba384e6SJoshua Henderson select PINCTRL_PIC32 2792ba384e6SJoshua Henderson 280add958ceSSoren Brinkmannconfig PINCTRL_ZYNQ 281add958ceSSoren Brinkmann bool "Pinctrl driver for Xilinx Zynq" 282add958ceSSoren Brinkmann depends on ARCH_ZYNQ 283add958ceSSoren Brinkmann select PINMUX 284add958ceSSoren Brinkmann select GENERIC_PINCONF 285add958ceSSoren Brinkmann help 286485dba27SMasahiro Yamada This selects the pinctrl driver for Xilinx Zynq. 287add958ceSSoren Brinkmann 2884d3d0e42SAndrew Jefferysource "drivers/pinctrl/aspeed/Kconfig" 289b17f2f9bSRay Juisource "drivers/pinctrl/bcm/Kconfig" 2903de68d33SAntoine Tenartsource "drivers/pinctrl/berlin/Kconfig" 291edad3b2aSLinus Walleijsource "drivers/pinctrl/freescale/Kconfig" 2925fae8b86SMika Westerbergsource "drivers/pinctrl/intel/Kconfig" 29306763c74SThomas Petazzonisource "drivers/pinctrl/mvebu/Kconfig" 2943a198059SLinus Walleijsource "drivers/pinctrl/nomadik/Kconfig" 2954b15ec9dSRobert Jarzmiksource "drivers/pinctrl/pxa/Kconfig" 29669b78b8dSLinus Walleijsource "drivers/pinctrl/qcom/Kconfig" 297ebe629a3SSachin Kamatsource "drivers/pinctrl/samsung/Kconfig" 2986e54d8d2SLaurent Pinchartsource "drivers/pinctrl/sh-pfc/Kconfig" 299deda8287SViresh Kumarsource "drivers/pinctrl/spear/Kconfig" 300aceb16dcSMaxime Coquelinsource "drivers/pinctrl/stm32/Kconfig" 3015f910777SMaxime Ripardsource "drivers/pinctrl/sunxi/Kconfig" 30225cbac77SMasahiro Yamadasource "drivers/pinctrl/tegra/Kconfig" 3036e908892SMasahiro Yamadasource "drivers/pinctrl/uniphier/Kconfig" 304170c6152STony Prisksource "drivers/pinctrl/vt8500/Kconfig" 305a6df410dSHongzhou Yangsource "drivers/pinctrl/mediatek/Kconfig" 306deda8287SViresh Kumar 3073f8c50c9SJohn Crispinconfig PINCTRL_XWAY 3083f8c50c9SJohn Crispin bool 3093f8c50c9SJohn Crispin depends on SOC_TYPE_XWAY 3103f8c50c9SJohn Crispin depends on PINCTRL_LANTIQ 3113f8c50c9SJohn Crispin 3125aad0db1SChristian Ruppertconfig PINCTRL_TB10X 3135aad0db1SChristian Ruppert bool 314b99e6fb8SLinus Walleij depends on OF && ARC_PLAT_TB10X 315b99e6fb8SLinus Walleij select GPIOLIB 3165aad0db1SChristian Ruppert 31745f034efSLinus Walleijendmenu 318