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 167*9e80f906SNeil Armstrongconfig PINCTRL_SX150X 168*9e80f906SNeil Armstrong bool "Semtech SX150x I2C GPIO expander pinctrl driver" 169*9e80f906SNeil Armstrong depends on GPIOLIB && I2C=y 170*9e80f906SNeil Armstrong select PINMUX 171*9e80f906SNeil Armstrong select PINCONF 172*9e80f906SNeil Armstrong select GENERIC_PINCONF 173*9e80f906SNeil Armstrong select GPIOLIB_IRQCHIP 174*9e80f906SNeil Armstrong help 175*9e80f906SNeil Armstrong Say yes here to provide support for Semtech SX150x-series I2C 176*9e80f906SNeil Armstrong GPIO expanders as pinctrl module. 177*9e80f906SNeil Armstrong Compatible models include: 178*9e80f906SNeil Armstrong - 8 bits: sx1508q, sx1502q 179*9e80f906SNeil Armstrong - 16 bits: sx1509q, sx1506q 180*9e80f906SNeil Armstrong 181cefc03e5SAndrew Brestickerconfig PINCTRL_PISTACHIO 182cefc03e5SAndrew Bresticker def_bool y if MACH_PISTACHIO 183cefc03e5SAndrew Bresticker depends on GPIOLIB 184cefc03e5SAndrew Bresticker select PINMUX 185cefc03e5SAndrew Bresticker select GENERIC_PINCONF 186cefc03e5SAndrew Bresticker select GPIOLIB_IRQCHIP 187cefc03e5SAndrew Bresticker select OF_GPIO 188cefc03e5SAndrew Bresticker 189701016c0SSrinivas KANDAGATLAconfig PINCTRL_ST 190701016c0SSrinivas KANDAGATLA bool 191701016c0SSrinivas KANDAGATLA depends on OF 192701016c0SSrinivas KANDAGATLA select PINMUX 193701016c0SSrinivas KANDAGATLA select PINCONF 194130cbe30SLinus Walleij select GPIOLIB_IRQCHIP 195701016c0SSrinivas KANDAGATLA 196d5025f9fSJames Hoganconfig PINCTRL_TZ1090 197d5025f9fSJames Hogan bool "Toumaz Xenif TZ1090 pin control driver" 198d5025f9fSJames Hogan depends on SOC_TZ1090 199d5025f9fSJames Hogan select PINMUX 200d5025f9fSJames Hogan select GENERIC_PINCONF 201d5025f9fSJames Hogan 202b58f0273SJames Hoganconfig PINCTRL_TZ1090_PDC 203b58f0273SJames Hogan bool "Toumaz Xenif TZ1090 PDC pin control driver" 204b58f0273SJames Hogan depends on SOC_TZ1090 205b58f0273SJames Hogan select PINMUX 206b58f0273SJames Hogan select PINCONF 207b58f0273SJames Hogan 2083bece55aSLinus Walleijconfig PINCTRL_U300 2093bece55aSLinus Walleij bool "U300 pin controller driver" 21098da3529SLinus Walleij depends on ARCH_U300 21198da3529SLinus Walleij select PINMUX 212dc0b1aa3SLinus Walleij select GENERIC_PINCONF 21345f034efSLinus Walleij 214ca402d37SLinus Walleijconfig PINCTRL_COH901 215ca402d37SLinus Walleij bool "ST-Ericsson U300 COH 901 335/571 GPIO" 2163c94d1bbSLinus Walleij depends on GPIOLIB && ARCH_U300 && PINCTRL_U300 217523dcce7SLinus Walleij select GPIOLIB_IRQCHIP 218ca402d37SLinus Walleij help 219ca402d37SLinus Walleij Say yes here to support GPIO interface on ST-Ericsson U300. 220ca402d37SLinus Walleij The names of the two IP block variants supported are 221ca402d37SLinus Walleij COH 901 335 and COH 901 571/3. They contain 3, 5 or 7 222ca402d37SLinus Walleij ports of 8 GPIO pins each. 223ca402d37SLinus Walleij 2242df723d4SLaxman Dewanganconfig PINCTRL_MAX77620 2252df723d4SLaxman Dewangan tristate "MAX77620/MAX20024 Pincontrol support" 2262df723d4SLaxman Dewangan depends on MFD_MAX77620 22779f28b9fSArnd Bergmann select PINMUX 2282df723d4SLaxman Dewangan select GENERIC_PINCONF 2292df723d4SLaxman Dewangan help 2302df723d4SLaxman Dewangan Say Yes here to enable Pin control support for Maxim PMIC MAX77620. 2312df723d4SLaxman Dewangan This PMIC has 8 GPIO pins that work as GPIO as well as special 2322df723d4SLaxman Dewangan function in alternate mode. This driver also configure push-pull, 2332df723d4SLaxman Dewangan open drain, FPS slots etc. 2342df723d4SLaxman Dewangan 2350a8d3e24SLaxman Dewanganconfig PINCTRL_PALMAS 236767b8ce3SPaul Gortmaker tristate "Pinctrl driver for the PALMAS Series MFD devices" 2370a8d3e24SLaxman Dewangan depends on OF && MFD_PALMAS 23863ca8db7SAxel Lin select PINMUX 2390a8d3e24SLaxman Dewangan select GENERIC_PINCONF 2400a8d3e24SLaxman Dewangan help 2410a8d3e24SLaxman Dewangan Palmas device supports the configuration of pins for different 2420a8d3e24SLaxman Dewangan functionality. This driver supports the pinmux, push-pull and 2430a8d3e24SLaxman Dewangan open drain configuration for the Palmas series devices like 2440a8d3e24SLaxman Dewangan TPS65913, TPS80036 etc. 2450a8d3e24SLaxman Dewangan 2462ba384e6SJoshua Hendersonconfig PINCTRL_PIC32 2472ba384e6SJoshua Henderson bool "Microchip PIC32 pin controller driver" 2482ba384e6SJoshua Henderson depends on OF 2492ba384e6SJoshua Henderson depends on MACH_PIC32 2502ba384e6SJoshua Henderson select PINMUX 2512ba384e6SJoshua Henderson select GENERIC_PINCONF 2522ba384e6SJoshua Henderson select GPIOLIB_IRQCHIP 2532ba384e6SJoshua Henderson select OF_GPIO 2542ba384e6SJoshua Henderson help 2552ba384e6SJoshua Henderson This is the pin controller and gpio driver for Microchip PIC32 2562ba384e6SJoshua Henderson microcontrollers. This option is selected automatically when specific 2572ba384e6SJoshua Henderson machine and arch are selected to build. 2582ba384e6SJoshua Henderson 2592ba384e6SJoshua Hendersonconfig PINCTRL_PIC32MZDA 2602ba384e6SJoshua Henderson def_bool y if PIC32MZDA 2612ba384e6SJoshua Henderson select PINCTRL_PIC32 2622ba384e6SJoshua Henderson 263add958ceSSoren Brinkmannconfig PINCTRL_ZYNQ 264add958ceSSoren Brinkmann bool "Pinctrl driver for Xilinx Zynq" 265add958ceSSoren Brinkmann depends on ARCH_ZYNQ 266add958ceSSoren Brinkmann select PINMUX 267add958ceSSoren Brinkmann select GENERIC_PINCONF 268add958ceSSoren Brinkmann help 269485dba27SMasahiro Yamada This selects the pinctrl driver for Xilinx Zynq. 270add958ceSSoren Brinkmann 2714d3d0e42SAndrew Jefferysource "drivers/pinctrl/aspeed/Kconfig" 272b17f2f9bSRay Juisource "drivers/pinctrl/bcm/Kconfig" 2733de68d33SAntoine Tenartsource "drivers/pinctrl/berlin/Kconfig" 274edad3b2aSLinus Walleijsource "drivers/pinctrl/freescale/Kconfig" 2755fae8b86SMika Westerbergsource "drivers/pinctrl/intel/Kconfig" 27606763c74SThomas Petazzonisource "drivers/pinctrl/mvebu/Kconfig" 2773a198059SLinus Walleijsource "drivers/pinctrl/nomadik/Kconfig" 2784b15ec9dSRobert Jarzmiksource "drivers/pinctrl/pxa/Kconfig" 27969b78b8dSLinus Walleijsource "drivers/pinctrl/qcom/Kconfig" 280ebe629a3SSachin Kamatsource "drivers/pinctrl/samsung/Kconfig" 2816e54d8d2SLaurent Pinchartsource "drivers/pinctrl/sh-pfc/Kconfig" 282deda8287SViresh Kumarsource "drivers/pinctrl/spear/Kconfig" 283aceb16dcSMaxime Coquelinsource "drivers/pinctrl/stm32/Kconfig" 2845f910777SMaxime Ripardsource "drivers/pinctrl/sunxi/Kconfig" 28525cbac77SMasahiro Yamadasource "drivers/pinctrl/tegra/Kconfig" 2866e908892SMasahiro Yamadasource "drivers/pinctrl/uniphier/Kconfig" 287170c6152STony Prisksource "drivers/pinctrl/vt8500/Kconfig" 288a6df410dSHongzhou Yangsource "drivers/pinctrl/mediatek/Kconfig" 289deda8287SViresh Kumar 2903f8c50c9SJohn Crispinconfig PINCTRL_XWAY 2913f8c50c9SJohn Crispin bool 2923f8c50c9SJohn Crispin depends on SOC_TYPE_XWAY 2933f8c50c9SJohn Crispin depends on PINCTRL_LANTIQ 2943f8c50c9SJohn Crispin 2955aad0db1SChristian Ruppertconfig PINCTRL_TB10X 2965aad0db1SChristian Ruppert bool 297b99e6fb8SLinus Walleij depends on OF && ARC_PLAT_TB10X 298b99e6fb8SLinus Walleij select GPIOLIB 2995aad0db1SChristian Ruppert 30045f034efSLinus Walleijendmenu 301