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 14244e95a7SUwe Kleine-König bool "Support pin multiplexing controllers" if COMPILE_TEST 15ae6b4d85SLinus Walleij 16ae6b4d85SLinus Walleijconfig PINCONF 17244e95a7SUwe Kleine-König bool "Support pin configuration controllers" if COMPILE_TEST 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 29e9a03addSSonic Zhangconfig PINCTRL_ADI2 30e9a03addSSonic Zhang bool "ADI pin controller driver" 319d7278d0SSonic Zhang depends on BLACKFIN 32e9a03addSSonic Zhang select PINMUX 33e9a03addSSonic Zhang select IRQ_DOMAIN 34e9a03addSSonic Zhang help 35e9a03addSSonic Zhang This is the pin controller and gpio driver for ADI BF54x, BF60x and 36e9a03addSSonic Zhang future processors. This option is selected automatically when specific 37e9a03addSSonic Zhang machine and arch are selected to build. 38e9a03addSSonic Zhang 39c8ce8782SLaxman Dewanganconfig PINCTRL_AS3722 40c8ce8782SLaxman Dewangan bool "Pinctrl and GPIO driver for ams AS3722 PMIC" 41c8ce8782SLaxman Dewangan depends on MFD_AS3722 && GPIOLIB 42c8ce8782SLaxman Dewangan select PINMUX 43c8ce8782SLaxman Dewangan select GENERIC_PINCONF 44c8ce8782SLaxman Dewangan help 45c8ce8782SLaxman Dewangan AS3722 device supports the configuration of GPIO pins for different 46c8ce8782SLaxman Dewangan functionality. This driver supports the pinmux, push-pull and 47c8ce8782SLaxman Dewangan open drain configuration for the GPIO pins of AS3722 devices. It also 48c8ce8782SLaxman Dewangan supports the GPIO functionality through gpiolib. 49c8ce8782SLaxman Dewangan 50e9a03addSSonic Zhangconfig PINCTRL_BF54x 51e9a03addSSonic Zhang def_bool y if BF54x 52e9a03addSSonic Zhang select PINCTRL_ADI2 53e9a03addSSonic Zhang 54e9a03addSSonic Zhangconfig PINCTRL_BF60x 55e9a03addSSonic Zhang def_bool y if BF60x 56e9a03addSSonic Zhang select PINCTRL_ADI2 57e9a03addSSonic Zhang 586732ae5cSJean-Christophe PLAGNIOL-VILLARDconfig PINCTRL_AT91 596732ae5cSJean-Christophe PLAGNIOL-VILLARD bool "AT91 pinctrl driver" 606732ae5cSJean-Christophe PLAGNIOL-VILLARD depends on OF 616732ae5cSJean-Christophe PLAGNIOL-VILLARD depends on ARCH_AT91 626732ae5cSJean-Christophe PLAGNIOL-VILLARD select PINMUX 636732ae5cSJean-Christophe PLAGNIOL-VILLARD select PINCONF 6480cc3732SAlexander Stein select GPIOLIB 6580cc3732SAlexander Stein select OF_GPIO 6680cc3732SAlexander Stein select GPIOLIB_IRQCHIP 676732ae5cSJean-Christophe PLAGNIOL-VILLARD help 686732ae5cSJean-Christophe PLAGNIOL-VILLARD Say Y here to enable the at91 pinctrl driver 696732ae5cSJean-Christophe PLAGNIOL-VILLARD 70a5d811bbSMathias Nymanconfig PINCTRL_BAYTRAIL 71a5d811bbSMathias Nyman bool "Intel Baytrail GPIO pin control" 72a5d811bbSMathias Nyman depends on GPIOLIB && ACPI && X86 73e1ee5c57SMika Westerberg select GPIOLIB_IRQCHIP 74a5d811bbSMathias Nyman help 75a5d811bbSMathias Nyman driver for memory mapped GPIO functionality on Intel Baytrail 76a5d811bbSMathias Nyman platforms. Supports 3 banks with 102, 28 and 44 gpios. 77a5d811bbSMathias Nyman Most pins are usually muxed to some other functionality by firmware, 78a5d811bbSMathias Nyman so only a small amount is available for gpio use. 79a5d811bbSMathias Nyman 80a5d811bbSMathias Nyman Requires ACPI device enumeration code to set up a platform device. 81a5d811bbSMathias Nyman 82e1b2dc70SSimon Arlottconfig PINCTRL_BCM2835 83e1b2dc70SSimon Arlott bool 84e1b2dc70SSimon Arlott select PINMUX 85e1b2dc70SSimon Arlott select PINCONF 86e1b2dc70SSimon Arlott 877418b5ccSSherman Yinconfig PINCTRL_BCM281XX 887418b5ccSSherman Yin bool "Broadcom BCM281xx pinctrl driver" 89*e4742d57SUwe Kleine-König depends on OF && (ARCH_BCM_MOBILE || COMPILE_TEST) 9054b1aa5aSSherman Yin select PINMUX 9154b1aa5aSSherman Yin select PINCONF 9254b1aa5aSSherman Yin select GENERIC_PINCONF 9354b1aa5aSSherman Yin select REGMAP_MMIO 9454b1aa5aSSherman Yin help 957418b5ccSSherman Yin Say Y here to support Broadcom BCM281xx pinctrl driver, which is used 967418b5ccSSherman Yin for the BCM281xx SoC family, including BCM11130, BCM11140, BCM11351, 9754b1aa5aSSherman Yin BCM28145, and BCM28155 SoCs. This driver requires the pinctrl 9854b1aa5aSSherman Yin framework. GPIO is provided by a separate GPIO driver. 9954b1aa5aSSherman Yin 100ae75ff81SDong Aishengconfig PINCTRL_IMX 101ae75ff81SDong Aisheng bool 102ae75ff81SDong Aisheng select PINMUX 103ae75ff81SDong Aisheng select PINCONF 104ae75ff81SDong Aisheng 10530612cd9SMarkus Pargmannconfig PINCTRL_IMX1_CORE 10630612cd9SMarkus Pargmann bool 10730612cd9SMarkus Pargmann select PINMUX 10830612cd9SMarkus Pargmann select PINCONF 10930612cd9SMarkus Pargmann 1104877e51eSAlexander Shiyanconfig PINCTRL_IMX1 1114877e51eSAlexander Shiyan bool "IMX1 pinctrl driver" 1124877e51eSAlexander Shiyan depends on SOC_IMX1 1134877e51eSAlexander Shiyan select PINCTRL_IMX1_CORE 1144877e51eSAlexander Shiyan help 1154877e51eSAlexander Shiyan Say Y here to enable the imx1 pinctrl driver 1164877e51eSAlexander Shiyan 117e16dbf60SMarkus Pargmannconfig PINCTRL_IMX27 118e16dbf60SMarkus Pargmann bool "IMX27 pinctrl driver" 119e16dbf60SMarkus Pargmann depends on SOC_IMX27 120e16dbf60SMarkus Pargmann select PINCTRL_IMX1_CORE 121e16dbf60SMarkus Pargmann help 122e16dbf60SMarkus Pargmann Say Y here to enable the imx27 pinctrl driver 123e16dbf60SMarkus Pargmann 124b4a87c9bSDenis Carikli 125b4a87c9bSDenis Carikliconfig PINCTRL_IMX25 126b4a87c9bSDenis Carikli bool "IMX25 pinctrl driver" 127b4a87c9bSDenis Carikli depends on OF 128b4a87c9bSDenis Carikli depends on SOC_IMX25 129b4a87c9bSDenis Carikli select PINCTRL_IMX 130b4a87c9bSDenis Carikli help 131b4a87c9bSDenis Carikli Say Y here to enable the imx25 pinctrl driver 132b4a87c9bSDenis Carikli 133b9aa8f13SUwe Kleine-Königconfig PINCTRL_IMX35 134b9aa8f13SUwe Kleine-König bool "IMX35 pinctrl driver" 135b9aa8f13SUwe Kleine-König depends on SOC_IMX35 136b9aa8f13SUwe Kleine-König select PINCTRL_IMX 137b9aa8f13SUwe Kleine-König help 138b9aa8f13SUwe Kleine-König Say Y here to enable the imx35 pinctrl driver 139b9aa8f13SUwe Kleine-König 1409da83120SGreg Ungererconfig PINCTRL_IMX50 1419da83120SGreg Ungerer bool "IMX50 pinctrl driver" 1429da83120SGreg Ungerer depends on SOC_IMX50 1439da83120SGreg Ungerer select PINCTRL_IMX 1449da83120SGreg Ungerer help 1459da83120SGreg Ungerer Say Y here to enable the imx50 pinctrl driver 1469da83120SGreg Ungerer 1474f6a16bfSDong Aishengconfig PINCTRL_IMX51 1484f6a16bfSDong Aisheng bool "IMX51 pinctrl driver" 1494f6a16bfSDong Aisheng depends on SOC_IMX51 1504f6a16bfSDong Aisheng select PINCTRL_IMX 1514f6a16bfSDong Aisheng help 1524f6a16bfSDong Aisheng Say Y here to enable the imx51 pinctrl driver 1534f6a16bfSDong Aisheng 15493fbd3c0SDong Aishengconfig PINCTRL_IMX53 15593fbd3c0SDong Aisheng bool "IMX53 pinctrl driver" 15693fbd3c0SDong Aisheng depends on SOC_IMX53 15793fbd3c0SDong Aisheng select PINCTRL_IMX 15893fbd3c0SDong Aisheng help 15993fbd3c0SDong Aisheng Say Y here to enable the imx53 pinctrl driver 16093fbd3c0SDong Aisheng 161d8fe3572SDong Aishengconfig PINCTRL_IMX6Q 1623f551d6aSShawn Guo bool "IMX6Q/DL pinctrl driver" 163d8fe3572SDong Aisheng depends on SOC_IMX6Q 164d8fe3572SDong Aisheng select PINCTRL_IMX 165d8fe3572SDong Aisheng help 1663f551d6aSShawn Guo Say Y here to enable the imx6q/dl pinctrl driver 167d8fe3572SDong Aisheng 16821e59123SShawn Guoconfig PINCTRL_IMX6SL 16921e59123SShawn Guo bool "IMX6SL pinctrl driver" 17021e59123SShawn Guo depends on SOC_IMX6SL 17121e59123SShawn Guo select PINCTRL_IMX 17221e59123SShawn Guo help 17321e59123SShawn Guo Say Y here to enable the imx6sl pinctrl driver 174f4e66983SHaojian Zhuang 1752cc140feSAnson Huangconfig PINCTRL_IMX6SX 1762cc140feSAnson Huang bool "IMX6SX pinctrl driver" 1772cc140feSAnson Huang depends on SOC_IMX6SX 1782cc140feSAnson Huang select PINCTRL_IMX 1792cc140feSAnson Huang help 1802cc140feSAnson Huang Say Y here to enable the imx6sx pinctrl driver 1812cc140feSAnson Huang 18278bafc66SJingchang Luconfig PINCTRL_VF610 18378bafc66SJingchang Lu bool "Freescale Vybrid VF610 pinctrl driver" 18478bafc66SJingchang Lu depends on SOC_VF610 18578bafc66SJingchang Lu select PINCTRL_IMX 18678bafc66SJingchang Lu help 18778bafc66SJingchang Lu Say Y here to enable the Freescale Vybrid VF610 pinctrl driver 18878bafc66SJingchang Lu 1893f8c50c9SJohn Crispinconfig PINCTRL_LANTIQ 1903f8c50c9SJohn Crispin bool 1913f8c50c9SJohn Crispin depends on LANTIQ 1923f8c50c9SJohn Crispin select PINMUX 1933f8c50c9SJohn Crispin select PINCONF 1943f8c50c9SJohn Crispin 195e316cb2bSJohn Crispinconfig PINCTRL_FALCON 196e316cb2bSJohn Crispin bool 197e316cb2bSJohn Crispin depends on SOC_FALCON 198e316cb2bSJohn Crispin depends on PINCTRL_LANTIQ 199e316cb2bSJohn Crispin 20017723111SShawn Guoconfig PINCTRL_MXS 20117723111SShawn Guo bool 20290db8a14SAxel Lin select PINMUX 20390db8a14SAxel Lin select PINCONF 20417723111SShawn Guo 20517723111SShawn Guoconfig PINCTRL_IMX23 20617723111SShawn Guo bool 20717723111SShawn Guo select PINCTRL_MXS 20817723111SShawn Guo 20917723111SShawn Guoconfig PINCTRL_IMX28 21017723111SShawn Guo bool 21117723111SShawn Guo select PINCTRL_MXS 21217723111SShawn Guo 213d3e51161SHeiko Stübnerconfig PINCTRL_ROCKCHIP 214d3e51161SHeiko Stübner bool 215d3e51161SHeiko Stübner select PINMUX 216d3e51161SHeiko Stübner select GENERIC_PINCONF 217d3e51161SHeiko Stübner select GENERIC_IRQ_CHIP 218751a99abSHeiko Stübner select MFD_SYSCON 219d3e51161SHeiko Stübner 2208b8b091bSTony Lindgrenconfig PINCTRL_SINGLE 2218b8b091bSTony Lindgren tristate "One-register-per-pin type device tree based pinctrl driver" 2228b8b091bSTony Lindgren depends on OF 2238b8b091bSTony Lindgren select PINMUX 2248b8b091bSTony Lindgren select PINCONF 2259dddb4dfSHaojian Zhuang select GENERIC_PINCONF 2268b8b091bSTony Lindgren help 2278b8b091bSTony Lindgren This selects the device tree based generic pinctrl driver. 2288b8b091bSTony Lindgren 2293bece55aSLinus Walleijconfig PINCTRL_SIRF 230d3e26f2fSBarry Song bool "CSR SiRFprimaII/SiRFmarco pin controller driver" 231d3e26f2fSBarry Song depends on ARCH_SIRF 232393daa81SRongjun Ying select PINMUX 2337420d2d0SLinus Walleij select GPIOLIB_IRQCHIP 234393daa81SRongjun Ying 235701016c0SSrinivas KANDAGATLAconfig PINCTRL_ST 236701016c0SSrinivas KANDAGATLA bool 237701016c0SSrinivas KANDAGATLA depends on OF 238701016c0SSrinivas KANDAGATLA select PINMUX 239701016c0SSrinivas KANDAGATLA select PINCONF 240130cbe30SLinus Walleij select GPIOLIB_IRQCHIP 241701016c0SSrinivas KANDAGATLA 242971dac71SStephen Warrenconfig PINCTRL_TEGRA 243971dac71SStephen Warren bool 244507ccdbfSAxel Lin select PINMUX 245507ccdbfSAxel Lin select PINCONF 246971dac71SStephen Warren 247971dac71SStephen Warrenconfig PINCTRL_TEGRA20 248971dac71SStephen Warren bool 249971dac71SStephen Warren select PINCTRL_TEGRA 250971dac71SStephen Warren 251971dac71SStephen Warrenconfig PINCTRL_TEGRA30 252971dac71SStephen Warren bool 253971dac71SStephen Warren select PINCTRL_TEGRA 254971dac71SStephen Warren 255b6ae7a26SPritesh Raithathaconfig PINCTRL_TEGRA114 256b6ae7a26SPritesh Raithatha bool 257b6ae7a26SPritesh Raithatha select PINCTRL_TEGRA 258b6ae7a26SPritesh Raithatha 2591a16bee6SAshwini Ghugeconfig PINCTRL_TEGRA124 2601a16bee6SAshwini Ghuge bool 2611a16bee6SAshwini Ghuge select PINCTRL_TEGRA 2621a16bee6SAshwini Ghuge 263dc0a3938SThierry Redingconfig PINCTRL_TEGRA_XUSB 264dc0a3938SThierry Reding def_bool y if ARCH_TEGRA 265dc0a3938SThierry Reding select GENERIC_PHY 266dc0a3938SThierry Reding select PINCONF 267dc0a3938SThierry Reding select PINMUX 268dc0a3938SThierry Reding 269d5025f9fSJames Hoganconfig PINCTRL_TZ1090 270d5025f9fSJames Hogan bool "Toumaz Xenif TZ1090 pin control driver" 271d5025f9fSJames Hogan depends on SOC_TZ1090 272d5025f9fSJames Hogan select PINMUX 273d5025f9fSJames Hogan select GENERIC_PINCONF 274d5025f9fSJames Hogan 275b58f0273SJames Hoganconfig PINCTRL_TZ1090_PDC 276b58f0273SJames Hogan bool "Toumaz Xenif TZ1090 PDC pin control driver" 277b58f0273SJames Hogan depends on SOC_TZ1090 278b58f0273SJames Hogan select PINMUX 279b58f0273SJames Hogan select PINCONF 280b58f0273SJames Hogan 2813bece55aSLinus Walleijconfig PINCTRL_U300 2823bece55aSLinus Walleij bool "U300 pin controller driver" 28398da3529SLinus Walleij depends on ARCH_U300 28498da3529SLinus Walleij select PINMUX 285dc0b1aa3SLinus Walleij select GENERIC_PINCONF 28645f034efSLinus Walleij 287ca402d37SLinus Walleijconfig PINCTRL_COH901 288ca402d37SLinus Walleij bool "ST-Ericsson U300 COH 901 335/571 GPIO" 2893c94d1bbSLinus Walleij depends on GPIOLIB && ARCH_U300 && PINCTRL_U300 290523dcce7SLinus Walleij select GPIOLIB_IRQCHIP 291ca402d37SLinus Walleij help 292ca402d37SLinus Walleij Say yes here to support GPIO interface on ST-Ericsson U300. 293ca402d37SLinus Walleij The names of the two IP block variants supported are 294ca402d37SLinus Walleij COH 901 335 and COH 901 571/3. They contain 3, 5 or 7 295ca402d37SLinus Walleij ports of 8 GPIO pins each. 296ca402d37SLinus Walleij 2970a8d3e24SLaxman Dewanganconfig PINCTRL_PALMAS 298736658c5SMark Brown bool "Pinctrl driver for the PALMAS Series MFD devices" 2990a8d3e24SLaxman Dewangan depends on OF && MFD_PALMAS 30063ca8db7SAxel Lin select PINMUX 3010a8d3e24SLaxman Dewangan select GENERIC_PINCONF 3020a8d3e24SLaxman Dewangan help 3030a8d3e24SLaxman Dewangan Palmas device supports the configuration of pins for different 3040a8d3e24SLaxman Dewangan functionality. This driver supports the pinmux, push-pull and 3050a8d3e24SLaxman Dewangan open drain configuration for the Palmas series devices like 3060a8d3e24SLaxman Dewangan TPS65913, TPS80036 etc. 3070a8d3e24SLaxman Dewangan 3083de68d33SAntoine Tenartsource "drivers/pinctrl/berlin/Kconfig" 30906763c74SThomas Petazzonisource "drivers/pinctrl/mvebu/Kconfig" 3103a198059SLinus Walleijsource "drivers/pinctrl/nomadik/Kconfig" 31169b78b8dSLinus Walleijsource "drivers/pinctrl/qcom/Kconfig" 312ebe629a3SSachin Kamatsource "drivers/pinctrl/samsung/Kconfig" 3136e54d8d2SLaurent Pinchartsource "drivers/pinctrl/sh-pfc/Kconfig" 314deda8287SViresh Kumarsource "drivers/pinctrl/spear/Kconfig" 3155f910777SMaxime Ripardsource "drivers/pinctrl/sunxi/Kconfig" 316170c6152STony Prisksource "drivers/pinctrl/vt8500/Kconfig" 317deda8287SViresh Kumar 3183f8c50c9SJohn Crispinconfig PINCTRL_XWAY 3193f8c50c9SJohn Crispin bool 3203f8c50c9SJohn Crispin depends on SOC_TYPE_XWAY 3213f8c50c9SJohn Crispin depends on PINCTRL_LANTIQ 3223f8c50c9SJohn Crispin 3235aad0db1SChristian Ruppertconfig PINCTRL_TB10X 3245aad0db1SChristian Ruppert bool 3255aad0db1SChristian Ruppert depends on ARC_PLAT_TB10X 3265aad0db1SChristian Ruppert 32745f034efSLinus Walleijendmenu 32898da3529SLinus Walleij 3292744e8afSLinus Walleijendif 330