12744e8afSLinus Walleij# 22744e8afSLinus Walleij# PINCTRL infrastructure and drivers 32744e8afSLinus Walleij# 42744e8afSLinus Walleij 545f034efSLinus Walleijconfig PINCTRL 645f034efSLinus Walleij bool 72744e8afSLinus Walleij 82744e8afSLinus Walleijif PINCTRL 92744e8afSLinus Walleij 1045f034efSLinus Walleijmenu "Pin controllers" 1145f034efSLinus Walleij depends on PINCTRL 1245f034efSLinus Walleij 132744e8afSLinus Walleijconfig PINMUX 14ae6b4d85SLinus Walleij bool "Support pin multiplexing controllers" 15ae6b4d85SLinus Walleij 16ae6b4d85SLinus Walleijconfig PINCONF 17ae6b4d85SLinus Walleij bool "Support pin configuration controllers" 182744e8afSLinus Walleij 19394349f7SLinus Walleijconfig GENERIC_PINCONF 20394349f7SLinus Walleij bool 21394349f7SLinus Walleij select PINCONF 22394349f7SLinus Walleij 232744e8afSLinus Walleijconfig DEBUG_PINCTRL 242744e8afSLinus Walleij bool "Debug PINCTRL calls" 252744e8afSLinus Walleij depends on DEBUG_KERNEL 262744e8afSLinus Walleij help 272744e8afSLinus Walleij Say Y here to add some extra checks and diagnostics to PINCTRL calls. 282744e8afSLinus Walleij 290493e649SPatrice Chotardconfig PINCTRL_ABX500 300493e649SPatrice Chotard bool "ST-Ericsson ABx500 family Mixed Signal Circuit gpio functions" 310493e649SPatrice Chotard depends on AB8500_CORE 320493e649SPatrice Chotard select GENERIC_PINCONF 330493e649SPatrice Chotard help 340493e649SPatrice Chotard Select this to enable the ABx500 family IC GPIO driver 350493e649SPatrice Chotard 363c937993SPatrice Chotardconfig PINCTRL_AB8500 373c937993SPatrice Chotard bool "AB8500 pin controller driver" 383c937993SPatrice Chotard depends on PINCTRL_ABX500 && ARCH_U8500 393c937993SPatrice Chotard 40a8f96e41SPatrice Chotardconfig PINCTRL_AB8540 41a8f96e41SPatrice Chotard bool "AB8540 pin controller driver" 42a8f96e41SPatrice Chotard depends on PINCTRL_ABX500 && ARCH_U8500 43a8f96e41SPatrice Chotard 4409dbec3fSPatrice Chotardconfig PINCTRL_AB9540 4509dbec3fSPatrice Chotard bool "AB9540 pin controller driver" 4609dbec3fSPatrice Chotard depends on PINCTRL_ABX500 && ARCH_U8500 4709dbec3fSPatrice Chotard 481aa2d8d4SPatrice Chotardconfig PINCTRL_AB8505 491aa2d8d4SPatrice Chotard bool "AB8505 pin controller driver" 501aa2d8d4SPatrice Chotard depends on PINCTRL_ABX500 && ARCH_U8500 511aa2d8d4SPatrice Chotard 526732ae5cSJean-Christophe PLAGNIOL-VILLARDconfig PINCTRL_AT91 536732ae5cSJean-Christophe PLAGNIOL-VILLARD bool "AT91 pinctrl driver" 546732ae5cSJean-Christophe PLAGNIOL-VILLARD depends on OF 556732ae5cSJean-Christophe PLAGNIOL-VILLARD depends on ARCH_AT91 566732ae5cSJean-Christophe PLAGNIOL-VILLARD select PINMUX 576732ae5cSJean-Christophe PLAGNIOL-VILLARD select PINCONF 586732ae5cSJean-Christophe PLAGNIOL-VILLARD help 596732ae5cSJean-Christophe PLAGNIOL-VILLARD Say Y here to enable the at91 pinctrl driver 606732ae5cSJean-Christophe PLAGNIOL-VILLARD 61a5d811bbSMathias Nymanconfig PINCTRL_BAYTRAIL 62a5d811bbSMathias Nyman bool "Intel Baytrail GPIO pin control" 63a5d811bbSMathias Nyman depends on GPIOLIB && ACPI && X86 64a5d811bbSMathias Nyman select IRQ_DOMAIN 65a5d811bbSMathias Nyman help 66a5d811bbSMathias Nyman driver for memory mapped GPIO functionality on Intel Baytrail 67a5d811bbSMathias Nyman platforms. Supports 3 banks with 102, 28 and 44 gpios. 68a5d811bbSMathias Nyman Most pins are usually muxed to some other functionality by firmware, 69a5d811bbSMathias Nyman so only a small amount is available for gpio use. 70a5d811bbSMathias Nyman 71a5d811bbSMathias Nyman Requires ACPI device enumeration code to set up a platform device. 72a5d811bbSMathias Nyman 73e1b2dc70SSimon Arlottconfig PINCTRL_BCM2835 74e1b2dc70SSimon Arlott bool 75e1b2dc70SSimon Arlott select PINMUX 76e1b2dc70SSimon Arlott select PINCONF 77e1b2dc70SSimon Arlott 78ae75ff81SDong Aishengconfig PINCTRL_IMX 79ae75ff81SDong Aisheng bool 80ae75ff81SDong Aisheng select PINMUX 81ae75ff81SDong Aisheng select PINCONF 82ae75ff81SDong Aisheng 83b9aa8f13SUwe Kleine-Königconfig PINCTRL_IMX35 84b9aa8f13SUwe Kleine-König bool "IMX35 pinctrl driver" 85b9aa8f13SUwe Kleine-König depends on OF 86b9aa8f13SUwe Kleine-König depends on SOC_IMX35 87b9aa8f13SUwe Kleine-König select PINCTRL_IMX 88b9aa8f13SUwe Kleine-König help 89b9aa8f13SUwe Kleine-König Say Y here to enable the imx35 pinctrl driver 90b9aa8f13SUwe Kleine-König 914f6a16bfSDong Aishengconfig PINCTRL_IMX51 924f6a16bfSDong Aisheng bool "IMX51 pinctrl driver" 934f6a16bfSDong Aisheng depends on OF 944f6a16bfSDong Aisheng depends on SOC_IMX51 954f6a16bfSDong Aisheng select PINCTRL_IMX 964f6a16bfSDong Aisheng help 974f6a16bfSDong Aisheng Say Y here to enable the imx51 pinctrl driver 984f6a16bfSDong Aisheng 9993fbd3c0SDong Aishengconfig PINCTRL_IMX53 10093fbd3c0SDong Aisheng bool "IMX53 pinctrl driver" 10193fbd3c0SDong Aisheng depends on OF 10293fbd3c0SDong Aisheng depends on SOC_IMX53 10393fbd3c0SDong Aisheng select PINCTRL_IMX 10493fbd3c0SDong Aisheng help 10593fbd3c0SDong Aisheng Say Y here to enable the imx53 pinctrl driver 10693fbd3c0SDong Aisheng 107d8fe3572SDong Aishengconfig PINCTRL_IMX6Q 1083f551d6aSShawn Guo bool "IMX6Q/DL pinctrl driver" 109d8fe3572SDong Aisheng depends on OF 110d8fe3572SDong Aisheng depends on SOC_IMX6Q 111d8fe3572SDong Aisheng select PINCTRL_IMX 112d8fe3572SDong Aisheng help 1133f551d6aSShawn Guo Say Y here to enable the imx6q/dl pinctrl driver 114d8fe3572SDong Aisheng 11521e59123SShawn Guoconfig PINCTRL_IMX6SL 11621e59123SShawn Guo bool "IMX6SL pinctrl driver" 11721e59123SShawn Guo depends on OF 11821e59123SShawn Guo depends on SOC_IMX6SL 11921e59123SShawn Guo select PINCTRL_IMX 12021e59123SShawn Guo help 12121e59123SShawn Guo Say Y here to enable the imx6sl pinctrl driver 122f4e66983SHaojian Zhuang 12378bafc66SJingchang Luconfig PINCTRL_VF610 12478bafc66SJingchang Lu bool "Freescale Vybrid VF610 pinctrl driver" 12578bafc66SJingchang Lu depends on OF 12678bafc66SJingchang Lu depends on SOC_VF610 12778bafc66SJingchang Lu select PINCTRL_IMX 12878bafc66SJingchang Lu help 12978bafc66SJingchang Lu Say Y here to enable the Freescale Vybrid VF610 pinctrl driver 13078bafc66SJingchang Lu 1313f8c50c9SJohn Crispinconfig PINCTRL_LANTIQ 1323f8c50c9SJohn Crispin bool 1333f8c50c9SJohn Crispin depends on LANTIQ 1343f8c50c9SJohn Crispin select PINMUX 1353f8c50c9SJohn Crispin select PINCONF 1363f8c50c9SJohn Crispin 137e316cb2bSJohn Crispinconfig PINCTRL_FALCON 138e316cb2bSJohn Crispin bool 139e316cb2bSJohn Crispin depends on SOC_FALCON 140e316cb2bSJohn Crispin depends on PINCTRL_LANTIQ 141e316cb2bSJohn Crispin 14217723111SShawn Guoconfig PINCTRL_MXS 14317723111SShawn Guo bool 14490db8a14SAxel Lin select PINMUX 14590db8a14SAxel Lin select PINCONF 14617723111SShawn Guo 14717723111SShawn Guoconfig PINCTRL_IMX23 14817723111SShawn Guo bool 14917723111SShawn Guo select PINCTRL_MXS 15017723111SShawn Guo 15117723111SShawn Guoconfig PINCTRL_IMX28 15217723111SShawn Guo bool 15317723111SShawn Guo select PINCTRL_MXS 15417723111SShawn Guo 155e98ea774SLinus Walleijconfig PINCTRL_NOMADIK 156e98ea774SLinus Walleij bool "Nomadik pin controller driver" 1570fa7be40SArnd Bergmann depends on ARCH_U8500 || ARCH_NOMADIK 158dbfe8ca2SLinus Walleij select PINMUX 159d41af627SLinus Walleij select PINCONF 160e98ea774SLinus Walleij 161f79c5ed9SLinus Walleijconfig PINCTRL_STN8815 162f79c5ed9SLinus Walleij bool "STN8815 pin controller driver" 163f79c5ed9SLinus Walleij depends on PINCTRL_NOMADIK && ARCH_NOMADIK 164f79c5ed9SLinus Walleij 165e98ea774SLinus Walleijconfig PINCTRL_DB8500 166e98ea774SLinus Walleij bool "DB8500 pin controller driver" 167e98ea774SLinus Walleij depends on PINCTRL_NOMADIK && ARCH_U8500 168e98ea774SLinus Walleij 16945a1b531SPatrice Chotardconfig PINCTRL_DB8540 17045a1b531SPatrice Chotard bool "DB8540 pin controller driver" 17145a1b531SPatrice Chotard depends on PINCTRL_NOMADIK && ARCH_U8500 17245a1b531SPatrice Chotard 173d3e51161SHeiko Stübnerconfig PINCTRL_ROCKCHIP 174d3e51161SHeiko Stübner bool 175d3e51161SHeiko Stübner select PINMUX 176d3e51161SHeiko Stübner select GENERIC_PINCONF 177d3e51161SHeiko Stübner select GENERIC_IRQ_CHIP 178d3e51161SHeiko Stübner 1798b8b091bSTony Lindgrenconfig PINCTRL_SINGLE 1808b8b091bSTony Lindgren tristate "One-register-per-pin type device tree based pinctrl driver" 1818b8b091bSTony Lindgren depends on OF 1828b8b091bSTony Lindgren select PINMUX 1838b8b091bSTony Lindgren select PINCONF 1849dddb4dfSHaojian Zhuang select GENERIC_PINCONF 1858b8b091bSTony Lindgren help 1868b8b091bSTony Lindgren This selects the device tree based generic pinctrl driver. 1878b8b091bSTony Lindgren 1883bece55aSLinus Walleijconfig PINCTRL_SIRF 189d3e26f2fSBarry Song bool "CSR SiRFprimaII/SiRFmarco pin controller driver" 190d3e26f2fSBarry Song depends on ARCH_SIRF 191393daa81SRongjun Ying select PINMUX 192393daa81SRongjun Ying 1930e37f88dSMaxime Ripardconfig PINCTRL_SUNXI 1940e37f88dSMaxime Ripard bool 1950e37f88dSMaxime Ripard select PINMUX 1960e37f88dSMaxime Ripard select GENERIC_PINCONF 1970e37f88dSMaxime Ripard 198701016c0SSrinivas KANDAGATLAconfig PINCTRL_ST 199701016c0SSrinivas KANDAGATLA bool 200701016c0SSrinivas KANDAGATLA depends on OF 201701016c0SSrinivas KANDAGATLA select PINMUX 202701016c0SSrinivas KANDAGATLA select PINCONF 203701016c0SSrinivas KANDAGATLA 204971dac71SStephen Warrenconfig PINCTRL_TEGRA 205971dac71SStephen Warren bool 206507ccdbfSAxel Lin select PINMUX 207507ccdbfSAxel Lin select PINCONF 208971dac71SStephen Warren 209971dac71SStephen Warrenconfig PINCTRL_TEGRA20 210971dac71SStephen Warren bool 211971dac71SStephen Warren select PINCTRL_TEGRA 212971dac71SStephen Warren 213971dac71SStephen Warrenconfig PINCTRL_TEGRA30 214971dac71SStephen Warren bool 215971dac71SStephen Warren select PINCTRL_TEGRA 216971dac71SStephen Warren 217b6ae7a26SPritesh Raithathaconfig PINCTRL_TEGRA114 218b6ae7a26SPritesh Raithatha bool 219b6ae7a26SPritesh Raithatha select PINCTRL_TEGRA 220b6ae7a26SPritesh Raithatha 221d5025f9fSJames Hoganconfig PINCTRL_TZ1090 222d5025f9fSJames Hogan bool "Toumaz Xenif TZ1090 pin control driver" 223d5025f9fSJames Hogan depends on SOC_TZ1090 224d5025f9fSJames Hogan select PINMUX 225d5025f9fSJames Hogan select GENERIC_PINCONF 226d5025f9fSJames Hogan 227b58f0273SJames Hoganconfig PINCTRL_TZ1090_PDC 228b58f0273SJames Hogan bool "Toumaz Xenif TZ1090 PDC pin control driver" 229b58f0273SJames Hogan depends on SOC_TZ1090 230b58f0273SJames Hogan select PINMUX 231b58f0273SJames Hogan select PINCONF 232b58f0273SJames Hogan 2333bece55aSLinus Walleijconfig PINCTRL_U300 2343bece55aSLinus Walleij bool "U300 pin controller driver" 23598da3529SLinus Walleij depends on ARCH_U300 23698da3529SLinus Walleij select PINMUX 237dc0b1aa3SLinus Walleij select GENERIC_PINCONF 23845f034efSLinus Walleij 239ca402d37SLinus Walleijconfig PINCTRL_COH901 240ca402d37SLinus Walleij bool "ST-Ericsson U300 COH 901 335/571 GPIO" 2413c94d1bbSLinus Walleij depends on GPIOLIB && ARCH_U300 && PINCTRL_U300 242ca402d37SLinus Walleij help 243ca402d37SLinus Walleij Say yes here to support GPIO interface on ST-Ericsson U300. 244ca402d37SLinus Walleij The names of the two IP block variants supported are 245ca402d37SLinus Walleij COH 901 335 and COH 901 571/3. They contain 3, 5 or 7 246ca402d37SLinus Walleij ports of 8 GPIO pins each. 247ca402d37SLinus Walleij 24830574f0dSThomas Abrahamconfig PINCTRL_SAMSUNG 249cbc351abSArnd Bergmann bool 25030574f0dSThomas Abraham select PINMUX 25130574f0dSThomas Abraham select PINCONF 25230574f0dSThomas Abraham 253a1ed2670SKukjin Kimconfig PINCTRL_EXYNOS 25483978253SDoug Anderson bool "Pinctrl driver data for Samsung EXYNOS SoCs other than 5440" 25583978253SDoug Anderson depends on OF && GPIOLIB && ARCH_EXYNOS 25643b169dbSThomas Abraham select PINCTRL_SAMSUNG 25743b169dbSThomas Abraham 258f0b9a7e5SThomas Abrahamconfig PINCTRL_EXYNOS5440 259f0b9a7e5SThomas Abraham bool "Samsung EXYNOS5440 SoC pinctrl driver" 26083978253SDoug Anderson depends on SOC_EXYNOS5440 261f0b9a7e5SThomas Abraham select PINMUX 262f0b9a7e5SThomas Abraham select PINCONF 263f0b9a7e5SThomas Abraham 2640a8d3e24SLaxman Dewanganconfig PINCTRL_PALMAS 265*736658c5SMark Brown bool "Pinctrl driver for the PALMAS Series MFD devices" 2660a8d3e24SLaxman Dewangan depends on OF && MFD_PALMAS 2670a8d3e24SLaxman Dewangan select GENERIC_PINCONF 2680a8d3e24SLaxman Dewangan help 2690a8d3e24SLaxman Dewangan Palmas device supports the configuration of pins for different 2700a8d3e24SLaxman Dewangan functionality. This driver supports the pinmux, push-pull and 2710a8d3e24SLaxman Dewangan open drain configuration for the Palmas series devices like 2720a8d3e24SLaxman Dewangan TPS65913, TPS80036 etc. 2730a8d3e24SLaxman Dewangan 274af99a750SHeiko Stuebnerconfig PINCTRL_S3C24XX 275af99a750SHeiko Stuebner bool "Samsung S3C24XX SoC pinctrl driver" 276af99a750SHeiko Stuebner depends on ARCH_S3C24XX 277af99a750SHeiko Stuebner select PINCTRL_SAMSUNG 278af99a750SHeiko Stuebner 27961dd7261STomasz Figaconfig PINCTRL_S3C64XX 28061dd7261STomasz Figa bool "Samsung S3C64XX SoC pinctrl driver" 28161dd7261STomasz Figa depends on ARCH_S3C64XX 28261dd7261STomasz Figa select PINCTRL_SAMSUNG 28361dd7261STomasz Figa 28406763c74SThomas Petazzonisource "drivers/pinctrl/mvebu/Kconfig" 2856e54d8d2SLaurent Pinchartsource "drivers/pinctrl/sh-pfc/Kconfig" 286deda8287SViresh Kumarsource "drivers/pinctrl/spear/Kconfig" 287170c6152STony Prisksource "drivers/pinctrl/vt8500/Kconfig" 288deda8287SViresh Kumar 2893f8c50c9SJohn Crispinconfig PINCTRL_XWAY 2903f8c50c9SJohn Crispin bool 2913f8c50c9SJohn Crispin depends on SOC_TYPE_XWAY 2923f8c50c9SJohn Crispin depends on PINCTRL_LANTIQ 2933f8c50c9SJohn Crispin 29445f034efSLinus Walleijendmenu 29598da3529SLinus Walleij 2962744e8afSLinus Walleijendif 297