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 11*c033a718SLinus 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 17ae6b4d85SLinus Walleijconfig PINCONF 18244e95a7SUwe Kleine-König bool "Support pin configuration controllers" if COMPILE_TEST 192744e8afSLinus Walleij 20394349f7SLinus Walleijconfig GENERIC_PINCONF 21394349f7SLinus Walleij bool 22394349f7SLinus Walleij select PINCONF 23394349f7SLinus Walleij 242744e8afSLinus Walleijconfig DEBUG_PINCTRL 252744e8afSLinus Walleij bool "Debug PINCTRL calls" 262744e8afSLinus Walleij depends on DEBUG_KERNEL 272744e8afSLinus Walleij help 282744e8afSLinus Walleij Say Y here to add some extra checks and diagnostics to PINCTRL calls. 292744e8afSLinus Walleij 30e9a03addSSonic Zhangconfig PINCTRL_ADI2 31e9a03addSSonic Zhang bool "ADI pin controller driver" 329d7278d0SSonic Zhang depends on BLACKFIN 33e9a03addSSonic Zhang select PINMUX 34e9a03addSSonic Zhang select IRQ_DOMAIN 35e9a03addSSonic Zhang help 36e9a03addSSonic Zhang This is the pin controller and gpio driver for ADI BF54x, BF60x and 37e9a03addSSonic Zhang future processors. This option is selected automatically when specific 38e9a03addSSonic Zhang machine and arch are selected to build. 39e9a03addSSonic Zhang 40c8ce8782SLaxman Dewanganconfig PINCTRL_AS3722 419385f35dSPaul Gortmaker tristate "Pinctrl and GPIO driver for ams AS3722 PMIC" 42c8ce8782SLaxman Dewangan depends on MFD_AS3722 && GPIOLIB 43c8ce8782SLaxman Dewangan select PINMUX 44c8ce8782SLaxman Dewangan select GENERIC_PINCONF 45c8ce8782SLaxman Dewangan help 46c8ce8782SLaxman Dewangan AS3722 device supports the configuration of GPIO pins for different 47c8ce8782SLaxman Dewangan functionality. This driver supports the pinmux, push-pull and 48c8ce8782SLaxman Dewangan open drain configuration for the GPIO pins of AS3722 devices. It also 49c8ce8782SLaxman Dewangan supports the GPIO functionality through gpiolib. 50c8ce8782SLaxman Dewangan 51e9a03addSSonic Zhangconfig PINCTRL_BF54x 52e9a03addSSonic Zhang def_bool y if BF54x 53e9a03addSSonic Zhang select PINCTRL_ADI2 54e9a03addSSonic Zhang 55e9a03addSSonic Zhangconfig PINCTRL_BF60x 56e9a03addSSonic Zhang def_bool y if BF60x 57e9a03addSSonic Zhang select PINCTRL_ADI2 58e9a03addSSonic Zhang 596732ae5cSJean-Christophe PLAGNIOL-VILLARDconfig PINCTRL_AT91 606732ae5cSJean-Christophe PLAGNIOL-VILLARD bool "AT91 pinctrl driver" 616732ae5cSJean-Christophe PLAGNIOL-VILLARD depends on OF 626732ae5cSJean-Christophe PLAGNIOL-VILLARD depends on ARCH_AT91 636732ae5cSJean-Christophe PLAGNIOL-VILLARD select PINMUX 646732ae5cSJean-Christophe PLAGNIOL-VILLARD select PINCONF 6580cc3732SAlexander Stein select GPIOLIB 6680cc3732SAlexander Stein select OF_GPIO 6780cc3732SAlexander Stein select GPIOLIB_IRQCHIP 686732ae5cSJean-Christophe PLAGNIOL-VILLARD help 696732ae5cSJean-Christophe PLAGNIOL-VILLARD Say Y here to enable the at91 pinctrl driver 706732ae5cSJean-Christophe PLAGNIOL-VILLARD 7177618084SLudovic Desrochesconfig PINCTRL_AT91PIO4 7277618084SLudovic Desroches bool "AT91 PIO4 pinctrl driver" 7377618084SLudovic Desroches depends on OF 7477618084SLudovic Desroches depends on ARCH_AT91 7577618084SLudovic Desroches select PINMUX 7677618084SLudovic Desroches select GENERIC_PINCONF 7777618084SLudovic Desroches select GPIOLIB 7877618084SLudovic Desroches select GPIOLIB_IRQCHIP 7977618084SLudovic Desroches select OF_GPIO 8077618084SLudovic Desroches help 8177618084SLudovic Desroches Say Y here to enable the at91 pinctrl/gpio driver for Atmel PIO4 8277618084SLudovic Desroches controller available on sama5d2 SoC. 8377618084SLudovic Desroches 84dbad75ddSKen Xueconfig PINCTRL_AMD 85337ea0fbSJean Delvare tristate "AMD GPIO pin control" 86dbad75ddSKen Xue depends on GPIOLIB 87dbad75ddSKen Xue select GPIOLIB_IRQCHIP 88dbad75ddSKen Xue select PINCONF 89dbad75ddSKen Xue select GENERIC_PINCONF 90dbad75ddSKen Xue help 91dbad75ddSKen Xue driver for memory mapped GPIO functionality on AMD platforms 92dbad75ddSKen Xue (x86 or arm).Most pins are usually muxed to some other 93dbad75ddSKen Xue functionality by firmware,so only a small amount is available 94dbad75ddSKen Xue for gpio use. 95dbad75ddSKen Xue 96dbad75ddSKen Xue Requires ACPI/FDT device enumeration code to set up a platform 97dbad75ddSKen Xue device. 98dbad75ddSKen Xue 991ff91f0aSDavid Lechnerconfig PINCTRL_DA850_PUPD 1001ff91f0aSDavid Lechner tristate "TI DA850/OMAP-L138/AM18XX pullup/pulldown groups" 1011ff91f0aSDavid Lechner depends on OF && (ARCH_DAVINCI_DA850 || COMPILE_TEST) 1021ff91f0aSDavid Lechner select PINCONF 1031ff91f0aSDavid Lechner select GENERIC_PINCONF 1041ff91f0aSDavid Lechner help 1051ff91f0aSDavid Lechner Driver for TI DA850/OMAP-L138/AM18XX pinconf. Used to control 1061ff91f0aSDavid Lechner pullup/pulldown pin groups. 1071ff91f0aSDavid Lechner 10838b0e507SBaruch Siachconfig PINCTRL_DIGICOLOR 10938b0e507SBaruch Siach bool 11038b0e507SBaruch Siach depends on OF && (ARCH_DIGICOLOR || COMPILE_TEST) 11138b0e507SBaruch Siach select PINMUX 11238b0e507SBaruch Siach select GENERIC_PINCONF 11338b0e507SBaruch Siach 1143f8c50c9SJohn Crispinconfig PINCTRL_LANTIQ 1153f8c50c9SJohn Crispin bool 1163f8c50c9SJohn Crispin depends on LANTIQ 1173f8c50c9SJohn Crispin select PINMUX 1183f8c50c9SJohn Crispin select PINCONF 1193f8c50c9SJohn Crispin 1202f77ac93SJoachim Eastwoodconfig PINCTRL_LPC18XX 1212f77ac93SJoachim Eastwood bool "NXP LPC18XX/43XX SCU pinctrl driver" 1222f77ac93SJoachim Eastwood depends on OF && (ARCH_LPC18XX || COMPILE_TEST) 1232f77ac93SJoachim Eastwood default ARCH_LPC18XX 1242f77ac93SJoachim Eastwood select PINMUX 1252f77ac93SJoachim Eastwood select GENERIC_PINCONF 1262f77ac93SJoachim Eastwood help 1272f77ac93SJoachim Eastwood Pinctrl driver for NXP LPC18xx/43xx System Control Unit (SCU). 1282f77ac93SJoachim Eastwood 129e316cb2bSJohn Crispinconfig PINCTRL_FALCON 130e316cb2bSJohn Crispin bool 131e316cb2bSJohn Crispin depends on SOC_FALCON 132e316cb2bSJohn Crispin depends on PINCTRL_LANTIQ 133e316cb2bSJohn Crispin 1346ac73095SBeniamino Galvaniconfig PINCTRL_MESON 1356ac73095SBeniamino Galvani bool 136b99e6fb8SLinus Walleij depends on OF 1376ac73095SBeniamino Galvani select PINMUX 1386ac73095SBeniamino Galvani select PINCONF 1396ac73095SBeniamino Galvani select GENERIC_PINCONF 140b99e6fb8SLinus Walleij select GPIOLIB 1416ac73095SBeniamino Galvani select OF_GPIO 1426ac73095SBeniamino Galvani select REGMAP_MMIO 1436ac73095SBeniamino Galvani 144611dac1eSNeil Armstrongconfig PINCTRL_OXNAS 145611dac1eSNeil Armstrong bool 146611dac1eSNeil Armstrong depends on OF 147611dac1eSNeil Armstrong select PINMUX 148611dac1eSNeil Armstrong select PINCONF 149611dac1eSNeil Armstrong select GENERIC_PINCONF 150611dac1eSNeil Armstrong select GPIOLIB 151611dac1eSNeil Armstrong select OF_GPIO 152611dac1eSNeil Armstrong select GPIOLIB_IRQCHIP 153611dac1eSNeil Armstrong select MFD_SYSCON 154611dac1eSNeil Armstrong 155d3e51161SHeiko Stübnerconfig PINCTRL_ROCKCHIP 156d3e51161SHeiko Stübner bool 157d3e51161SHeiko Stübner select PINMUX 158d3e51161SHeiko Stübner select GENERIC_PINCONF 159d3e51161SHeiko Stübner select GENERIC_IRQ_CHIP 160751a99abSHeiko Stübner select MFD_SYSCON 161d3e51161SHeiko Stübner 1628b8b091bSTony Lindgrenconfig PINCTRL_SINGLE 1638b8b091bSTony Lindgren tristate "One-register-per-pin type device tree based pinctrl driver" 1648b8b091bSTony Lindgren depends on OF 1658b8b091bSTony Lindgren select PINMUX 1668b8b091bSTony Lindgren select PINCONF 1679dddb4dfSHaojian Zhuang select GENERIC_PINCONF 1688b8b091bSTony Lindgren help 1698b8b091bSTony Lindgren This selects the device tree based generic pinctrl driver. 1708b8b091bSTony Lindgren 1713bece55aSLinus Walleijconfig PINCTRL_SIRF 172a17272a4SBarry Song bool "CSR SiRFprimaII pin controller driver" 173d3e26f2fSBarry Song depends on ARCH_SIRF 174393daa81SRongjun Ying select PINMUX 175f9367793SWei Chen select PINCONF 176f9367793SWei Chen select GENERIC_PINCONF 1777420d2d0SLinus Walleij select GPIOLIB_IRQCHIP 178393daa81SRongjun Ying 1799e80f906SNeil Armstrongconfig PINCTRL_SX150X 1809e80f906SNeil Armstrong bool "Semtech SX150x I2C GPIO expander pinctrl driver" 1819e80f906SNeil Armstrong depends on GPIOLIB && I2C=y 1829e80f906SNeil Armstrong select PINMUX 1839e80f906SNeil Armstrong select PINCONF 1849e80f906SNeil Armstrong select GENERIC_PINCONF 1859e80f906SNeil Armstrong select GPIOLIB_IRQCHIP 1860db0f26cSAndrey Smirnov select REGMAP 1879e80f906SNeil Armstrong help 1889e80f906SNeil Armstrong Say yes here to provide support for Semtech SX150x-series I2C 1899e80f906SNeil Armstrong GPIO expanders as pinctrl module. 1909e80f906SNeil Armstrong Compatible models include: 1919e80f906SNeil Armstrong - 8 bits: sx1508q, sx1502q 1929e80f906SNeil Armstrong - 16 bits: sx1509q, sx1506q 1939e80f906SNeil Armstrong 194cefc03e5SAndrew Brestickerconfig PINCTRL_PISTACHIO 195cefc03e5SAndrew Bresticker def_bool y if MACH_PISTACHIO 196cefc03e5SAndrew Bresticker depends on GPIOLIB 197cefc03e5SAndrew Bresticker select PINMUX 198cefc03e5SAndrew Bresticker select GENERIC_PINCONF 199cefc03e5SAndrew Bresticker select GPIOLIB_IRQCHIP 200cefc03e5SAndrew Bresticker select OF_GPIO 201cefc03e5SAndrew Bresticker 202701016c0SSrinivas KANDAGATLAconfig PINCTRL_ST 203701016c0SSrinivas KANDAGATLA bool 204701016c0SSrinivas KANDAGATLA depends on OF 205701016c0SSrinivas KANDAGATLA select PINMUX 206701016c0SSrinivas KANDAGATLA select PINCONF 207130cbe30SLinus Walleij select GPIOLIB_IRQCHIP 208701016c0SSrinivas KANDAGATLA 209d5025f9fSJames Hoganconfig PINCTRL_TZ1090 210d5025f9fSJames Hogan bool "Toumaz Xenif TZ1090 pin control driver" 211d5025f9fSJames Hogan depends on SOC_TZ1090 212d5025f9fSJames Hogan select PINMUX 213d5025f9fSJames Hogan select GENERIC_PINCONF 214d5025f9fSJames Hogan 215b58f0273SJames Hoganconfig PINCTRL_TZ1090_PDC 216b58f0273SJames Hogan bool "Toumaz Xenif TZ1090 PDC pin control driver" 217b58f0273SJames Hogan depends on SOC_TZ1090 218b58f0273SJames Hogan select PINMUX 219b58f0273SJames Hogan select PINCONF 220b58f0273SJames Hogan 2213bece55aSLinus Walleijconfig PINCTRL_U300 2223bece55aSLinus Walleij bool "U300 pin controller driver" 22398da3529SLinus Walleij depends on ARCH_U300 22498da3529SLinus Walleij select PINMUX 225dc0b1aa3SLinus Walleij select GENERIC_PINCONF 22645f034efSLinus Walleij 227ca402d37SLinus Walleijconfig PINCTRL_COH901 228ca402d37SLinus Walleij bool "ST-Ericsson U300 COH 901 335/571 GPIO" 2293c94d1bbSLinus Walleij depends on GPIOLIB && ARCH_U300 && PINCTRL_U300 230523dcce7SLinus Walleij select GPIOLIB_IRQCHIP 231ca402d37SLinus Walleij help 232ca402d37SLinus Walleij Say yes here to support GPIO interface on ST-Ericsson U300. 233ca402d37SLinus Walleij The names of the two IP block variants supported are 234ca402d37SLinus Walleij COH 901 335 and COH 901 571/3. They contain 3, 5 or 7 235ca402d37SLinus Walleij ports of 8 GPIO pins each. 236ca402d37SLinus Walleij 2372df723d4SLaxman Dewanganconfig PINCTRL_MAX77620 2382df723d4SLaxman Dewangan tristate "MAX77620/MAX20024 Pincontrol support" 23924d6a91cSArnd Bergmann depends on MFD_MAX77620 && OF 24079f28b9fSArnd Bergmann select PINMUX 2412df723d4SLaxman Dewangan select GENERIC_PINCONF 2422df723d4SLaxman Dewangan help 2432df723d4SLaxman Dewangan Say Yes here to enable Pin control support for Maxim PMIC MAX77620. 2442df723d4SLaxman Dewangan This PMIC has 8 GPIO pins that work as GPIO as well as special 2452df723d4SLaxman Dewangan function in alternate mode. This driver also configure push-pull, 2462df723d4SLaxman Dewangan open drain, FPS slots etc. 2472df723d4SLaxman Dewangan 2480a8d3e24SLaxman Dewanganconfig PINCTRL_PALMAS 249767b8ce3SPaul Gortmaker tristate "Pinctrl driver for the PALMAS Series MFD devices" 2500a8d3e24SLaxman Dewangan depends on OF && MFD_PALMAS 25163ca8db7SAxel Lin select PINMUX 2520a8d3e24SLaxman Dewangan select GENERIC_PINCONF 2530a8d3e24SLaxman Dewangan help 2540a8d3e24SLaxman Dewangan Palmas device supports the configuration of pins for different 2550a8d3e24SLaxman Dewangan functionality. This driver supports the pinmux, push-pull and 2560a8d3e24SLaxman Dewangan open drain configuration for the Palmas series devices like 2570a8d3e24SLaxman Dewangan TPS65913, TPS80036 etc. 2580a8d3e24SLaxman Dewangan 2592ba384e6SJoshua Hendersonconfig PINCTRL_PIC32 2602ba384e6SJoshua Henderson bool "Microchip PIC32 pin controller driver" 2612ba384e6SJoshua Henderson depends on OF 2622ba384e6SJoshua Henderson depends on MACH_PIC32 2632ba384e6SJoshua Henderson select PINMUX 2642ba384e6SJoshua Henderson select GENERIC_PINCONF 2652ba384e6SJoshua Henderson select GPIOLIB_IRQCHIP 2662ba384e6SJoshua Henderson select OF_GPIO 2672ba384e6SJoshua Henderson help 2682ba384e6SJoshua Henderson This is the pin controller and gpio driver for Microchip PIC32 2692ba384e6SJoshua Henderson microcontrollers. This option is selected automatically when specific 2702ba384e6SJoshua Henderson machine and arch are selected to build. 2712ba384e6SJoshua Henderson 2722ba384e6SJoshua Hendersonconfig PINCTRL_PIC32MZDA 2732ba384e6SJoshua Henderson def_bool y if PIC32MZDA 2742ba384e6SJoshua Henderson select PINCTRL_PIC32 2752ba384e6SJoshua Henderson 276add958ceSSoren Brinkmannconfig PINCTRL_ZYNQ 277add958ceSSoren Brinkmann bool "Pinctrl driver for Xilinx Zynq" 278add958ceSSoren Brinkmann depends on ARCH_ZYNQ 279add958ceSSoren Brinkmann select PINMUX 280add958ceSSoren Brinkmann select GENERIC_PINCONF 281add958ceSSoren Brinkmann help 282485dba27SMasahiro Yamada This selects the pinctrl driver for Xilinx Zynq. 283add958ceSSoren Brinkmann 2844d3d0e42SAndrew Jefferysource "drivers/pinctrl/aspeed/Kconfig" 285b17f2f9bSRay Juisource "drivers/pinctrl/bcm/Kconfig" 2863de68d33SAntoine Tenartsource "drivers/pinctrl/berlin/Kconfig" 287edad3b2aSLinus Walleijsource "drivers/pinctrl/freescale/Kconfig" 2885fae8b86SMika Westerbergsource "drivers/pinctrl/intel/Kconfig" 28906763c74SThomas Petazzonisource "drivers/pinctrl/mvebu/Kconfig" 2903a198059SLinus Walleijsource "drivers/pinctrl/nomadik/Kconfig" 2914b15ec9dSRobert Jarzmiksource "drivers/pinctrl/pxa/Kconfig" 29269b78b8dSLinus Walleijsource "drivers/pinctrl/qcom/Kconfig" 293ebe629a3SSachin Kamatsource "drivers/pinctrl/samsung/Kconfig" 2946e54d8d2SLaurent Pinchartsource "drivers/pinctrl/sh-pfc/Kconfig" 295deda8287SViresh Kumarsource "drivers/pinctrl/spear/Kconfig" 296aceb16dcSMaxime Coquelinsource "drivers/pinctrl/stm32/Kconfig" 2975f910777SMaxime Ripardsource "drivers/pinctrl/sunxi/Kconfig" 29825cbac77SMasahiro Yamadasource "drivers/pinctrl/tegra/Kconfig" 2996e908892SMasahiro Yamadasource "drivers/pinctrl/uniphier/Kconfig" 300170c6152STony Prisksource "drivers/pinctrl/vt8500/Kconfig" 301a6df410dSHongzhou Yangsource "drivers/pinctrl/mediatek/Kconfig" 302deda8287SViresh Kumar 3033f8c50c9SJohn Crispinconfig PINCTRL_XWAY 3043f8c50c9SJohn Crispin bool 3053f8c50c9SJohn Crispin depends on SOC_TYPE_XWAY 3063f8c50c9SJohn Crispin depends on PINCTRL_LANTIQ 3073f8c50c9SJohn Crispin 3085aad0db1SChristian Ruppertconfig PINCTRL_TB10X 3095aad0db1SChristian Ruppert bool 310b99e6fb8SLinus Walleij depends on OF && ARC_PLAT_TB10X 311b99e6fb8SLinus Walleij select GPIOLIB 3125aad0db1SChristian Ruppert 31345f034efSLinus Walleijendmenu 314