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 52*e9a03addSSonic Zhangconfig PINCTRL_ADI2 53*e9a03addSSonic Zhang bool "ADI pin controller driver" 54*e9a03addSSonic Zhang select PINMUX 55*e9a03addSSonic Zhang select IRQ_DOMAIN 56*e9a03addSSonic Zhang help 57*e9a03addSSonic Zhang This is the pin controller and gpio driver for ADI BF54x, BF60x and 58*e9a03addSSonic Zhang future processors. This option is selected automatically when specific 59*e9a03addSSonic Zhang machine and arch are selected to build. 60*e9a03addSSonic Zhang 61*e9a03addSSonic Zhangconfig PINCTRL_BF54x 62*e9a03addSSonic Zhang def_bool y if BF54x 63*e9a03addSSonic Zhang select PINCTRL_ADI2 64*e9a03addSSonic Zhang 65*e9a03addSSonic Zhangconfig PINCTRL_BF60x 66*e9a03addSSonic Zhang def_bool y if BF60x 67*e9a03addSSonic Zhang select PINCTRL_ADI2 68*e9a03addSSonic Zhang 696732ae5cSJean-Christophe PLAGNIOL-VILLARDconfig PINCTRL_AT91 706732ae5cSJean-Christophe PLAGNIOL-VILLARD bool "AT91 pinctrl driver" 716732ae5cSJean-Christophe PLAGNIOL-VILLARD depends on OF 726732ae5cSJean-Christophe PLAGNIOL-VILLARD depends on ARCH_AT91 736732ae5cSJean-Christophe PLAGNIOL-VILLARD select PINMUX 746732ae5cSJean-Christophe PLAGNIOL-VILLARD select PINCONF 756732ae5cSJean-Christophe PLAGNIOL-VILLARD help 766732ae5cSJean-Christophe PLAGNIOL-VILLARD Say Y here to enable the at91 pinctrl driver 776732ae5cSJean-Christophe PLAGNIOL-VILLARD 78a5d811bbSMathias Nymanconfig PINCTRL_BAYTRAIL 79a5d811bbSMathias Nyman bool "Intel Baytrail GPIO pin control" 80a5d811bbSMathias Nyman depends on GPIOLIB && ACPI && X86 81a5d811bbSMathias Nyman select IRQ_DOMAIN 82a5d811bbSMathias Nyman help 83a5d811bbSMathias Nyman driver for memory mapped GPIO functionality on Intel Baytrail 84a5d811bbSMathias Nyman platforms. Supports 3 banks with 102, 28 and 44 gpios. 85a5d811bbSMathias Nyman Most pins are usually muxed to some other functionality by firmware, 86a5d811bbSMathias Nyman so only a small amount is available for gpio use. 87a5d811bbSMathias Nyman 88a5d811bbSMathias Nyman Requires ACPI device enumeration code to set up a platform device. 89a5d811bbSMathias Nyman 90e1b2dc70SSimon Arlottconfig PINCTRL_BCM2835 91e1b2dc70SSimon Arlott bool 92e1b2dc70SSimon Arlott select PINMUX 93e1b2dc70SSimon Arlott select PINCONF 94e1b2dc70SSimon Arlott 95ae75ff81SDong Aishengconfig PINCTRL_IMX 96ae75ff81SDong Aisheng bool 97ae75ff81SDong Aisheng select PINMUX 98ae75ff81SDong Aisheng select PINCONF 99ae75ff81SDong Aisheng 100b9aa8f13SUwe Kleine-Königconfig PINCTRL_IMX35 101b9aa8f13SUwe Kleine-König bool "IMX35 pinctrl driver" 102b9aa8f13SUwe Kleine-König depends on OF 103b9aa8f13SUwe Kleine-König depends on SOC_IMX35 104b9aa8f13SUwe Kleine-König select PINCTRL_IMX 105b9aa8f13SUwe Kleine-König help 106b9aa8f13SUwe Kleine-König Say Y here to enable the imx35 pinctrl driver 107b9aa8f13SUwe Kleine-König 1084f6a16bfSDong Aishengconfig PINCTRL_IMX51 1094f6a16bfSDong Aisheng bool "IMX51 pinctrl driver" 1104f6a16bfSDong Aisheng depends on OF 1114f6a16bfSDong Aisheng depends on SOC_IMX51 1124f6a16bfSDong Aisheng select PINCTRL_IMX 1134f6a16bfSDong Aisheng help 1144f6a16bfSDong Aisheng Say Y here to enable the imx51 pinctrl driver 1154f6a16bfSDong Aisheng 11693fbd3c0SDong Aishengconfig PINCTRL_IMX53 11793fbd3c0SDong Aisheng bool "IMX53 pinctrl driver" 11893fbd3c0SDong Aisheng depends on OF 11993fbd3c0SDong Aisheng depends on SOC_IMX53 12093fbd3c0SDong Aisheng select PINCTRL_IMX 12193fbd3c0SDong Aisheng help 12293fbd3c0SDong Aisheng Say Y here to enable the imx53 pinctrl driver 12393fbd3c0SDong Aisheng 124d8fe3572SDong Aishengconfig PINCTRL_IMX6Q 1253f551d6aSShawn Guo bool "IMX6Q/DL pinctrl driver" 126d8fe3572SDong Aisheng depends on OF 127d8fe3572SDong Aisheng depends on SOC_IMX6Q 128d8fe3572SDong Aisheng select PINCTRL_IMX 129d8fe3572SDong Aisheng help 1303f551d6aSShawn Guo Say Y here to enable the imx6q/dl pinctrl driver 131d8fe3572SDong Aisheng 13221e59123SShawn Guoconfig PINCTRL_IMX6SL 13321e59123SShawn Guo bool "IMX6SL pinctrl driver" 13421e59123SShawn Guo depends on OF 13521e59123SShawn Guo depends on SOC_IMX6SL 13621e59123SShawn Guo select PINCTRL_IMX 13721e59123SShawn Guo help 13821e59123SShawn Guo Say Y here to enable the imx6sl pinctrl driver 139f4e66983SHaojian Zhuang 14078bafc66SJingchang Luconfig PINCTRL_VF610 14178bafc66SJingchang Lu bool "Freescale Vybrid VF610 pinctrl driver" 14278bafc66SJingchang Lu depends on OF 14378bafc66SJingchang Lu depends on SOC_VF610 14478bafc66SJingchang Lu select PINCTRL_IMX 14578bafc66SJingchang Lu help 14678bafc66SJingchang Lu Say Y here to enable the Freescale Vybrid VF610 pinctrl driver 14778bafc66SJingchang Lu 1483f8c50c9SJohn Crispinconfig PINCTRL_LANTIQ 1493f8c50c9SJohn Crispin bool 1503f8c50c9SJohn Crispin depends on LANTIQ 1513f8c50c9SJohn Crispin select PINMUX 1523f8c50c9SJohn Crispin select PINCONF 1533f8c50c9SJohn Crispin 154e316cb2bSJohn Crispinconfig PINCTRL_FALCON 155e316cb2bSJohn Crispin bool 156e316cb2bSJohn Crispin depends on SOC_FALCON 157e316cb2bSJohn Crispin depends on PINCTRL_LANTIQ 158e316cb2bSJohn Crispin 15917723111SShawn Guoconfig PINCTRL_MXS 16017723111SShawn Guo bool 16190db8a14SAxel Lin select PINMUX 16290db8a14SAxel Lin select PINCONF 16317723111SShawn Guo 16417723111SShawn Guoconfig PINCTRL_IMX23 16517723111SShawn Guo bool 16617723111SShawn Guo select PINCTRL_MXS 16717723111SShawn Guo 16817723111SShawn Guoconfig PINCTRL_IMX28 16917723111SShawn Guo bool 17017723111SShawn Guo select PINCTRL_MXS 17117723111SShawn Guo 172e98ea774SLinus Walleijconfig PINCTRL_NOMADIK 173e98ea774SLinus Walleij bool "Nomadik pin controller driver" 1740fa7be40SArnd Bergmann depends on ARCH_U8500 || ARCH_NOMADIK 175dbfe8ca2SLinus Walleij select PINMUX 176d41af627SLinus Walleij select PINCONF 177e98ea774SLinus Walleij 178f79c5ed9SLinus Walleijconfig PINCTRL_STN8815 179f79c5ed9SLinus Walleij bool "STN8815 pin controller driver" 180f79c5ed9SLinus Walleij depends on PINCTRL_NOMADIK && ARCH_NOMADIK 181f79c5ed9SLinus Walleij 182e98ea774SLinus Walleijconfig PINCTRL_DB8500 183e98ea774SLinus Walleij bool "DB8500 pin controller driver" 184e98ea774SLinus Walleij depends on PINCTRL_NOMADIK && ARCH_U8500 185e98ea774SLinus Walleij 18645a1b531SPatrice Chotardconfig PINCTRL_DB8540 18745a1b531SPatrice Chotard bool "DB8540 pin controller driver" 18845a1b531SPatrice Chotard depends on PINCTRL_NOMADIK && ARCH_U8500 18945a1b531SPatrice Chotard 190d3e51161SHeiko Stübnerconfig PINCTRL_ROCKCHIP 191d3e51161SHeiko Stübner bool 192d3e51161SHeiko Stübner select PINMUX 193d3e51161SHeiko Stübner select GENERIC_PINCONF 194d3e51161SHeiko Stübner select GENERIC_IRQ_CHIP 195d3e51161SHeiko Stübner 1968b8b091bSTony Lindgrenconfig PINCTRL_SINGLE 1978b8b091bSTony Lindgren tristate "One-register-per-pin type device tree based pinctrl driver" 1988b8b091bSTony Lindgren depends on OF 1998b8b091bSTony Lindgren select PINMUX 2008b8b091bSTony Lindgren select PINCONF 2019dddb4dfSHaojian Zhuang select GENERIC_PINCONF 2028b8b091bSTony Lindgren help 2038b8b091bSTony Lindgren This selects the device tree based generic pinctrl driver. 2048b8b091bSTony Lindgren 2053bece55aSLinus Walleijconfig PINCTRL_SIRF 206d3e26f2fSBarry Song bool "CSR SiRFprimaII/SiRFmarco pin controller driver" 207d3e26f2fSBarry Song depends on ARCH_SIRF 208393daa81SRongjun Ying select PINMUX 209393daa81SRongjun Ying 2100e37f88dSMaxime Ripardconfig PINCTRL_SUNXI 2110e37f88dSMaxime Ripard bool 2120e37f88dSMaxime Ripard select PINMUX 2130e37f88dSMaxime Ripard select GENERIC_PINCONF 2140e37f88dSMaxime Ripard 215701016c0SSrinivas KANDAGATLAconfig PINCTRL_ST 216701016c0SSrinivas KANDAGATLA bool 217701016c0SSrinivas KANDAGATLA depends on OF 218701016c0SSrinivas KANDAGATLA select PINMUX 219701016c0SSrinivas KANDAGATLA select PINCONF 220701016c0SSrinivas KANDAGATLA 221971dac71SStephen Warrenconfig PINCTRL_TEGRA 222971dac71SStephen Warren bool 223507ccdbfSAxel Lin select PINMUX 224507ccdbfSAxel Lin select PINCONF 225971dac71SStephen Warren 226971dac71SStephen Warrenconfig PINCTRL_TEGRA20 227971dac71SStephen Warren bool 228971dac71SStephen Warren select PINCTRL_TEGRA 229971dac71SStephen Warren 230971dac71SStephen Warrenconfig PINCTRL_TEGRA30 231971dac71SStephen Warren bool 232971dac71SStephen Warren select PINCTRL_TEGRA 233971dac71SStephen Warren 234b6ae7a26SPritesh Raithathaconfig PINCTRL_TEGRA114 235b6ae7a26SPritesh Raithatha bool 236b6ae7a26SPritesh Raithatha select PINCTRL_TEGRA 237b6ae7a26SPritesh Raithatha 238d5025f9fSJames Hoganconfig PINCTRL_TZ1090 239d5025f9fSJames Hogan bool "Toumaz Xenif TZ1090 pin control driver" 240d5025f9fSJames Hogan depends on SOC_TZ1090 241d5025f9fSJames Hogan select PINMUX 242d5025f9fSJames Hogan select GENERIC_PINCONF 243d5025f9fSJames Hogan 244b58f0273SJames Hoganconfig PINCTRL_TZ1090_PDC 245b58f0273SJames Hogan bool "Toumaz Xenif TZ1090 PDC pin control driver" 246b58f0273SJames Hogan depends on SOC_TZ1090 247b58f0273SJames Hogan select PINMUX 248b58f0273SJames Hogan select PINCONF 249b58f0273SJames Hogan 2503bece55aSLinus Walleijconfig PINCTRL_U300 2513bece55aSLinus Walleij bool "U300 pin controller driver" 25298da3529SLinus Walleij depends on ARCH_U300 25398da3529SLinus Walleij select PINMUX 254dc0b1aa3SLinus Walleij select GENERIC_PINCONF 25545f034efSLinus Walleij 256ca402d37SLinus Walleijconfig PINCTRL_COH901 257ca402d37SLinus Walleij bool "ST-Ericsson U300 COH 901 335/571 GPIO" 2583c94d1bbSLinus Walleij depends on GPIOLIB && ARCH_U300 && PINCTRL_U300 259ca402d37SLinus Walleij help 260ca402d37SLinus Walleij Say yes here to support GPIO interface on ST-Ericsson U300. 261ca402d37SLinus Walleij The names of the two IP block variants supported are 262ca402d37SLinus Walleij COH 901 335 and COH 901 571/3. They contain 3, 5 or 7 263ca402d37SLinus Walleij ports of 8 GPIO pins each. 264ca402d37SLinus Walleij 26530574f0dSThomas Abrahamconfig PINCTRL_SAMSUNG 266cbc351abSArnd Bergmann bool 26730574f0dSThomas Abraham select PINMUX 26830574f0dSThomas Abraham select PINCONF 26930574f0dSThomas Abraham 270a1ed2670SKukjin Kimconfig PINCTRL_EXYNOS 27183978253SDoug Anderson bool "Pinctrl driver data for Samsung EXYNOS SoCs other than 5440" 272608a26a7SMateusz Krawczuk depends on OF && GPIOLIB && (ARCH_EXYNOS || ARCH_S5PV210) 27343b169dbSThomas Abraham select PINCTRL_SAMSUNG 27443b169dbSThomas Abraham 275f0b9a7e5SThomas Abrahamconfig PINCTRL_EXYNOS5440 276f0b9a7e5SThomas Abraham bool "Samsung EXYNOS5440 SoC pinctrl driver" 27783978253SDoug Anderson depends on SOC_EXYNOS5440 278f0b9a7e5SThomas Abraham select PINMUX 279f0b9a7e5SThomas Abraham select PINCONF 280f0b9a7e5SThomas Abraham 2810a8d3e24SLaxman Dewanganconfig PINCTRL_PALMAS 282736658c5SMark Brown bool "Pinctrl driver for the PALMAS Series MFD devices" 2830a8d3e24SLaxman Dewangan depends on OF && MFD_PALMAS 28463ca8db7SAxel Lin select PINMUX 2850a8d3e24SLaxman Dewangan select GENERIC_PINCONF 2860a8d3e24SLaxman Dewangan help 2870a8d3e24SLaxman Dewangan Palmas device supports the configuration of pins for different 2880a8d3e24SLaxman Dewangan functionality. This driver supports the pinmux, push-pull and 2890a8d3e24SLaxman Dewangan open drain configuration for the Palmas series devices like 2900a8d3e24SLaxman Dewangan TPS65913, TPS80036 etc. 2910a8d3e24SLaxman Dewangan 292af99a750SHeiko Stuebnerconfig PINCTRL_S3C24XX 293af99a750SHeiko Stuebner bool "Samsung S3C24XX SoC pinctrl driver" 294af99a750SHeiko Stuebner depends on ARCH_S3C24XX 295af99a750SHeiko Stuebner select PINCTRL_SAMSUNG 296af99a750SHeiko Stuebner 29761dd7261STomasz Figaconfig PINCTRL_S3C64XX 29861dd7261STomasz Figa bool "Samsung S3C64XX SoC pinctrl driver" 29961dd7261STomasz Figa depends on ARCH_S3C64XX 30061dd7261STomasz Figa select PINCTRL_SAMSUNG 30161dd7261STomasz Figa 30206763c74SThomas Petazzonisource "drivers/pinctrl/mvebu/Kconfig" 3036e54d8d2SLaurent Pinchartsource "drivers/pinctrl/sh-pfc/Kconfig" 304deda8287SViresh Kumarsource "drivers/pinctrl/spear/Kconfig" 305170c6152STony Prisksource "drivers/pinctrl/vt8500/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 31245f034efSLinus Walleijendmenu 31398da3529SLinus Walleij 3142744e8afSLinus Walleijendif 315