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 38c8ce8782SLaxman Dewangan bool "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 82dbad75ddSKen Xue bool "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 132d3e51161SHeiko Stübnerconfig PINCTRL_ROCKCHIP 133d3e51161SHeiko Stübner bool 134d3e51161SHeiko Stübner select PINMUX 135d3e51161SHeiko Stübner select GENERIC_PINCONF 136d3e51161SHeiko Stübner select GENERIC_IRQ_CHIP 137751a99abSHeiko Stübner select MFD_SYSCON 138d3e51161SHeiko Stübner 1398b8b091bSTony Lindgrenconfig PINCTRL_SINGLE 1408b8b091bSTony Lindgren tristate "One-register-per-pin type device tree based pinctrl driver" 1418b8b091bSTony Lindgren depends on OF 1428b8b091bSTony Lindgren select PINMUX 1438b8b091bSTony Lindgren select PINCONF 1449dddb4dfSHaojian Zhuang select GENERIC_PINCONF 1458b8b091bSTony Lindgren help 1468b8b091bSTony Lindgren This selects the device tree based generic pinctrl driver. 1478b8b091bSTony Lindgren 1483bece55aSLinus Walleijconfig PINCTRL_SIRF 149a17272a4SBarry Song bool "CSR SiRFprimaII pin controller driver" 150d3e26f2fSBarry Song depends on ARCH_SIRF 151393daa81SRongjun Ying select PINMUX 152f9367793SWei Chen select PINCONF 153f9367793SWei Chen select GENERIC_PINCONF 1547420d2d0SLinus Walleij select GPIOLIB_IRQCHIP 155393daa81SRongjun Ying 156cefc03e5SAndrew Brestickerconfig PINCTRL_PISTACHIO 157cefc03e5SAndrew Bresticker def_bool y if MACH_PISTACHIO 158cefc03e5SAndrew Bresticker depends on GPIOLIB 159cefc03e5SAndrew Bresticker select PINMUX 160cefc03e5SAndrew Bresticker select GENERIC_PINCONF 161cefc03e5SAndrew Bresticker select GPIOLIB_IRQCHIP 162cefc03e5SAndrew Bresticker select OF_GPIO 163cefc03e5SAndrew Bresticker 164701016c0SSrinivas KANDAGATLAconfig PINCTRL_ST 165701016c0SSrinivas KANDAGATLA bool 166701016c0SSrinivas KANDAGATLA depends on OF 167701016c0SSrinivas KANDAGATLA select PINMUX 168701016c0SSrinivas KANDAGATLA select PINCONF 169130cbe30SLinus Walleij select GPIOLIB_IRQCHIP 170701016c0SSrinivas KANDAGATLA 171d5025f9fSJames Hoganconfig PINCTRL_TZ1090 172d5025f9fSJames Hogan bool "Toumaz Xenif TZ1090 pin control driver" 173d5025f9fSJames Hogan depends on SOC_TZ1090 174d5025f9fSJames Hogan select PINMUX 175d5025f9fSJames Hogan select GENERIC_PINCONF 176d5025f9fSJames Hogan 177b58f0273SJames Hoganconfig PINCTRL_TZ1090_PDC 178b58f0273SJames Hogan bool "Toumaz Xenif TZ1090 PDC pin control driver" 179b58f0273SJames Hogan depends on SOC_TZ1090 180b58f0273SJames Hogan select PINMUX 181b58f0273SJames Hogan select PINCONF 182b58f0273SJames Hogan 1833bece55aSLinus Walleijconfig PINCTRL_U300 1843bece55aSLinus Walleij bool "U300 pin controller driver" 18598da3529SLinus Walleij depends on ARCH_U300 18698da3529SLinus Walleij select PINMUX 187dc0b1aa3SLinus Walleij select GENERIC_PINCONF 18845f034efSLinus Walleij 189ca402d37SLinus Walleijconfig PINCTRL_COH901 190ca402d37SLinus Walleij bool "ST-Ericsson U300 COH 901 335/571 GPIO" 1913c94d1bbSLinus Walleij depends on GPIOLIB && ARCH_U300 && PINCTRL_U300 192523dcce7SLinus Walleij select GPIOLIB_IRQCHIP 193ca402d37SLinus Walleij help 194ca402d37SLinus Walleij Say yes here to support GPIO interface on ST-Ericsson U300. 195ca402d37SLinus Walleij The names of the two IP block variants supported are 196ca402d37SLinus Walleij COH 901 335 and COH 901 571/3. They contain 3, 5 or 7 197ca402d37SLinus Walleij ports of 8 GPIO pins each. 198ca402d37SLinus Walleij 1990a8d3e24SLaxman Dewanganconfig PINCTRL_PALMAS 200736658c5SMark Brown bool "Pinctrl driver for the PALMAS Series MFD devices" 2010a8d3e24SLaxman Dewangan depends on OF && MFD_PALMAS 20263ca8db7SAxel Lin select PINMUX 2030a8d3e24SLaxman Dewangan select GENERIC_PINCONF 2040a8d3e24SLaxman Dewangan help 2050a8d3e24SLaxman Dewangan Palmas device supports the configuration of pins for different 2060a8d3e24SLaxman Dewangan functionality. This driver supports the pinmux, push-pull and 2070a8d3e24SLaxman Dewangan open drain configuration for the Palmas series devices like 2080a8d3e24SLaxman Dewangan TPS65913, TPS80036 etc. 2090a8d3e24SLaxman Dewangan 210add958ceSSoren Brinkmannconfig PINCTRL_ZYNQ 211add958ceSSoren Brinkmann bool "Pinctrl driver for Xilinx Zynq" 212add958ceSSoren Brinkmann depends on ARCH_ZYNQ 213add958ceSSoren Brinkmann select PINMUX 214add958ceSSoren Brinkmann select GENERIC_PINCONF 215add958ceSSoren Brinkmann help 216485dba27SMasahiro Yamada This selects the pinctrl driver for Xilinx Zynq. 217add958ceSSoren Brinkmann 218b17f2f9bSRay Juisource "drivers/pinctrl/bcm/Kconfig" 2193de68d33SAntoine Tenartsource "drivers/pinctrl/berlin/Kconfig" 220edad3b2aSLinus Walleijsource "drivers/pinctrl/freescale/Kconfig" 2215fae8b86SMika Westerbergsource "drivers/pinctrl/intel/Kconfig" 22206763c74SThomas Petazzonisource "drivers/pinctrl/mvebu/Kconfig" 2233a198059SLinus Walleijsource "drivers/pinctrl/nomadik/Kconfig" 2244b15ec9dSRobert Jarzmiksource "drivers/pinctrl/pxa/Kconfig" 22569b78b8dSLinus Walleijsource "drivers/pinctrl/qcom/Kconfig" 226ebe629a3SSachin Kamatsource "drivers/pinctrl/samsung/Kconfig" 2276e54d8d2SLaurent Pinchartsource "drivers/pinctrl/sh-pfc/Kconfig" 228deda8287SViresh Kumarsource "drivers/pinctrl/spear/Kconfig" 229aceb16dcSMaxime Coquelinsource "drivers/pinctrl/stm32/Kconfig" 2305f910777SMaxime Ripardsource "drivers/pinctrl/sunxi/Kconfig" 231*25cbac77SMasahiro Yamadasource "drivers/pinctrl/tegra/Kconfig" 2326e908892SMasahiro Yamadasource "drivers/pinctrl/uniphier/Kconfig" 233170c6152STony Prisksource "drivers/pinctrl/vt8500/Kconfig" 234a6df410dSHongzhou Yangsource "drivers/pinctrl/mediatek/Kconfig" 235deda8287SViresh Kumar 2363f8c50c9SJohn Crispinconfig PINCTRL_XWAY 2373f8c50c9SJohn Crispin bool 2383f8c50c9SJohn Crispin depends on SOC_TYPE_XWAY 2393f8c50c9SJohn Crispin depends on PINCTRL_LANTIQ 2403f8c50c9SJohn Crispin 2415aad0db1SChristian Ruppertconfig PINCTRL_TB10X 2425aad0db1SChristian Ruppert bool 243b99e6fb8SLinus Walleij depends on OF && ARC_PLAT_TB10X 244b99e6fb8SLinus Walleij select GPIOLIB 2455aad0db1SChristian Ruppert 24645f034efSLinus Walleijendmenu 247