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 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 52e9a03addSSonic Zhangconfig PINCTRL_ADI2 53e9a03addSSonic Zhang bool "ADI pin controller driver" 549d7278d0SSonic Zhang depends on BLACKFIN 55e9a03addSSonic Zhang select PINMUX 56e9a03addSSonic Zhang select IRQ_DOMAIN 57e9a03addSSonic Zhang help 58e9a03addSSonic Zhang This is the pin controller and gpio driver for ADI BF54x, BF60x and 59e9a03addSSonic Zhang future processors. This option is selected automatically when specific 60e9a03addSSonic Zhang machine and arch are selected to build. 61e9a03addSSonic Zhang 62c8ce8782SLaxman Dewanganconfig PINCTRL_AS3722 63c8ce8782SLaxman Dewangan bool "Pinctrl and GPIO driver for ams AS3722 PMIC" 64c8ce8782SLaxman Dewangan depends on MFD_AS3722 && GPIOLIB 65c8ce8782SLaxman Dewangan select PINMUX 66c8ce8782SLaxman Dewangan select GENERIC_PINCONF 67c8ce8782SLaxman Dewangan help 68c8ce8782SLaxman Dewangan AS3722 device supports the configuration of GPIO pins for different 69c8ce8782SLaxman Dewangan functionality. This driver supports the pinmux, push-pull and 70c8ce8782SLaxman Dewangan open drain configuration for the GPIO pins of AS3722 devices. It also 71c8ce8782SLaxman Dewangan supports the GPIO functionality through gpiolib. 72c8ce8782SLaxman Dewangan 73e9a03addSSonic Zhangconfig PINCTRL_BF54x 74e9a03addSSonic Zhang def_bool y if BF54x 75e9a03addSSonic Zhang select PINCTRL_ADI2 76e9a03addSSonic Zhang 77e9a03addSSonic Zhangconfig PINCTRL_BF60x 78e9a03addSSonic Zhang def_bool y if BF60x 79e9a03addSSonic Zhang select PINCTRL_ADI2 80e9a03addSSonic Zhang 816732ae5cSJean-Christophe PLAGNIOL-VILLARDconfig PINCTRL_AT91 826732ae5cSJean-Christophe PLAGNIOL-VILLARD bool "AT91 pinctrl driver" 836732ae5cSJean-Christophe PLAGNIOL-VILLARD depends on OF 846732ae5cSJean-Christophe PLAGNIOL-VILLARD depends on ARCH_AT91 856732ae5cSJean-Christophe PLAGNIOL-VILLARD select PINMUX 866732ae5cSJean-Christophe PLAGNIOL-VILLARD select PINCONF 8780cc3732SAlexander Stein select GPIOLIB 8880cc3732SAlexander Stein select OF_GPIO 8980cc3732SAlexander Stein select GPIOLIB_IRQCHIP 906732ae5cSJean-Christophe PLAGNIOL-VILLARD help 916732ae5cSJean-Christophe PLAGNIOL-VILLARD Say Y here to enable the at91 pinctrl driver 926732ae5cSJean-Christophe PLAGNIOL-VILLARD 93a5d811bbSMathias Nymanconfig PINCTRL_BAYTRAIL 94a5d811bbSMathias Nyman bool "Intel Baytrail GPIO pin control" 95a5d811bbSMathias Nyman depends on GPIOLIB && ACPI && X86 96a5d811bbSMathias Nyman select IRQ_DOMAIN 97a5d811bbSMathias Nyman help 98a5d811bbSMathias Nyman driver for memory mapped GPIO functionality on Intel Baytrail 99a5d811bbSMathias Nyman platforms. Supports 3 banks with 102, 28 and 44 gpios. 100a5d811bbSMathias Nyman Most pins are usually muxed to some other functionality by firmware, 101a5d811bbSMathias Nyman so only a small amount is available for gpio use. 102a5d811bbSMathias Nyman 103a5d811bbSMathias Nyman Requires ACPI device enumeration code to set up a platform device. 104a5d811bbSMathias Nyman 105e1b2dc70SSimon Arlottconfig PINCTRL_BCM2835 106e1b2dc70SSimon Arlott bool 107e1b2dc70SSimon Arlott select PINMUX 108e1b2dc70SSimon Arlott select PINCONF 109e1b2dc70SSimon Arlott 1107418b5ccSSherman Yinconfig PINCTRL_BCM281XX 1117418b5ccSSherman Yin bool "Broadcom BCM281xx pinctrl driver" 112fe0ec0eeSLinus Walleij depends on OF 11354b1aa5aSSherman Yin select PINMUX 11454b1aa5aSSherman Yin select PINCONF 11554b1aa5aSSherman Yin select GENERIC_PINCONF 11654b1aa5aSSherman Yin select REGMAP_MMIO 11754b1aa5aSSherman Yin help 1187418b5ccSSherman Yin Say Y here to support Broadcom BCM281xx pinctrl driver, which is used 1197418b5ccSSherman Yin for the BCM281xx SoC family, including BCM11130, BCM11140, BCM11351, 12054b1aa5aSSherman Yin BCM28145, and BCM28155 SoCs. This driver requires the pinctrl 12154b1aa5aSSherman Yin framework. GPIO is provided by a separate GPIO driver. 12254b1aa5aSSherman Yin 123ae75ff81SDong Aishengconfig PINCTRL_IMX 124ae75ff81SDong Aisheng bool 125ae75ff81SDong Aisheng select PINMUX 126ae75ff81SDong Aisheng select PINCONF 127ae75ff81SDong Aisheng 12830612cd9SMarkus Pargmannconfig PINCTRL_IMX1_CORE 12930612cd9SMarkus Pargmann bool 13030612cd9SMarkus Pargmann select PINMUX 13130612cd9SMarkus Pargmann select PINCONF 13230612cd9SMarkus Pargmann 1334877e51eSAlexander Shiyanconfig PINCTRL_IMX1 1344877e51eSAlexander Shiyan bool "IMX1 pinctrl driver" 1354877e51eSAlexander Shiyan depends on SOC_IMX1 1364877e51eSAlexander Shiyan select PINCTRL_IMX1_CORE 1374877e51eSAlexander Shiyan help 1384877e51eSAlexander Shiyan Say Y here to enable the imx1 pinctrl driver 1394877e51eSAlexander Shiyan 140e16dbf60SMarkus Pargmannconfig PINCTRL_IMX27 141e16dbf60SMarkus Pargmann bool "IMX27 pinctrl driver" 142e16dbf60SMarkus Pargmann depends on SOC_IMX27 143e16dbf60SMarkus Pargmann select PINCTRL_IMX1_CORE 144e16dbf60SMarkus Pargmann help 145e16dbf60SMarkus Pargmann Say Y here to enable the imx27 pinctrl driver 146e16dbf60SMarkus Pargmann 147b4a87c9bSDenis Carikli 148b4a87c9bSDenis Carikliconfig PINCTRL_IMX25 149b4a87c9bSDenis Carikli bool "IMX25 pinctrl driver" 150b4a87c9bSDenis Carikli depends on OF 151b4a87c9bSDenis Carikli depends on SOC_IMX25 152b4a87c9bSDenis Carikli select PINCTRL_IMX 153b4a87c9bSDenis Carikli help 154b4a87c9bSDenis Carikli Say Y here to enable the imx25 pinctrl driver 155b4a87c9bSDenis Carikli 156b9aa8f13SUwe Kleine-Königconfig PINCTRL_IMX35 157b9aa8f13SUwe Kleine-König bool "IMX35 pinctrl driver" 158b9aa8f13SUwe Kleine-König depends on SOC_IMX35 159b9aa8f13SUwe Kleine-König select PINCTRL_IMX 160b9aa8f13SUwe Kleine-König help 161b9aa8f13SUwe Kleine-König Say Y here to enable the imx35 pinctrl driver 162b9aa8f13SUwe Kleine-König 1639da83120SGreg Ungererconfig PINCTRL_IMX50 1649da83120SGreg Ungerer bool "IMX50 pinctrl driver" 1659da83120SGreg Ungerer depends on SOC_IMX50 1669da83120SGreg Ungerer select PINCTRL_IMX 1679da83120SGreg Ungerer help 1689da83120SGreg Ungerer Say Y here to enable the imx50 pinctrl driver 1699da83120SGreg Ungerer 1704f6a16bfSDong Aishengconfig PINCTRL_IMX51 1714f6a16bfSDong Aisheng bool "IMX51 pinctrl driver" 1724f6a16bfSDong Aisheng depends on SOC_IMX51 1734f6a16bfSDong Aisheng select PINCTRL_IMX 1744f6a16bfSDong Aisheng help 1754f6a16bfSDong Aisheng Say Y here to enable the imx51 pinctrl driver 1764f6a16bfSDong Aisheng 17793fbd3c0SDong Aishengconfig PINCTRL_IMX53 17893fbd3c0SDong Aisheng bool "IMX53 pinctrl driver" 17993fbd3c0SDong Aisheng depends on SOC_IMX53 18093fbd3c0SDong Aisheng select PINCTRL_IMX 18193fbd3c0SDong Aisheng help 18293fbd3c0SDong Aisheng Say Y here to enable the imx53 pinctrl driver 18393fbd3c0SDong Aisheng 184d8fe3572SDong Aishengconfig PINCTRL_IMX6Q 1853f551d6aSShawn Guo bool "IMX6Q/DL pinctrl driver" 186d8fe3572SDong Aisheng depends on SOC_IMX6Q 187d8fe3572SDong Aisheng select PINCTRL_IMX 188d8fe3572SDong Aisheng help 1893f551d6aSShawn Guo Say Y here to enable the imx6q/dl pinctrl driver 190d8fe3572SDong Aisheng 19121e59123SShawn Guoconfig PINCTRL_IMX6SL 19221e59123SShawn Guo bool "IMX6SL pinctrl driver" 19321e59123SShawn Guo depends on SOC_IMX6SL 19421e59123SShawn Guo select PINCTRL_IMX 19521e59123SShawn Guo help 19621e59123SShawn Guo Say Y here to enable the imx6sl pinctrl driver 197f4e66983SHaojian Zhuang 1982cc140feSAnson Huangconfig PINCTRL_IMX6SX 1992cc140feSAnson Huang bool "IMX6SX pinctrl driver" 2002cc140feSAnson Huang depends on SOC_IMX6SX 2012cc140feSAnson Huang select PINCTRL_IMX 2022cc140feSAnson Huang help 2032cc140feSAnson Huang Say Y here to enable the imx6sx pinctrl driver 2042cc140feSAnson Huang 20578bafc66SJingchang Luconfig PINCTRL_VF610 20678bafc66SJingchang Lu bool "Freescale Vybrid VF610 pinctrl driver" 20778bafc66SJingchang Lu depends on SOC_VF610 20878bafc66SJingchang Lu select PINCTRL_IMX 20978bafc66SJingchang Lu help 21078bafc66SJingchang Lu Say Y here to enable the Freescale Vybrid VF610 pinctrl driver 21178bafc66SJingchang Lu 2123f8c50c9SJohn Crispinconfig PINCTRL_LANTIQ 2133f8c50c9SJohn Crispin bool 2143f8c50c9SJohn Crispin depends on LANTIQ 2153f8c50c9SJohn Crispin select PINMUX 2163f8c50c9SJohn Crispin select PINCONF 2173f8c50c9SJohn Crispin 218e316cb2bSJohn Crispinconfig PINCTRL_FALCON 219e316cb2bSJohn Crispin bool 220e316cb2bSJohn Crispin depends on SOC_FALCON 221e316cb2bSJohn Crispin depends on PINCTRL_LANTIQ 222e316cb2bSJohn Crispin 22317723111SShawn Guoconfig PINCTRL_MXS 22417723111SShawn Guo bool 22590db8a14SAxel Lin select PINMUX 22690db8a14SAxel Lin select PINCONF 22717723111SShawn Guo 22817723111SShawn Guoconfig PINCTRL_IMX23 22917723111SShawn Guo bool 23017723111SShawn Guo select PINCTRL_MXS 23117723111SShawn Guo 23217723111SShawn Guoconfig PINCTRL_IMX28 23317723111SShawn Guo bool 23417723111SShawn Guo select PINCTRL_MXS 23517723111SShawn Guo 236e98ea774SLinus Walleijconfig PINCTRL_NOMADIK 237e98ea774SLinus Walleij bool "Nomadik pin controller driver" 2380fa7be40SArnd Bergmann depends on ARCH_U8500 || ARCH_NOMADIK 239dbfe8ca2SLinus Walleij select PINMUX 240d41af627SLinus Walleij select PINCONF 241e0bc34a3SLinus Walleij select GPIOLIB 242e0bc34a3SLinus Walleij select OF_GPIO 243e0bc34a3SLinus Walleij select GPIOLIB_IRQCHIP 244e98ea774SLinus Walleij 245f79c5ed9SLinus Walleijconfig PINCTRL_STN8815 246f79c5ed9SLinus Walleij bool "STN8815 pin controller driver" 247f79c5ed9SLinus Walleij depends on PINCTRL_NOMADIK && ARCH_NOMADIK 248f79c5ed9SLinus Walleij 249e98ea774SLinus Walleijconfig PINCTRL_DB8500 250e98ea774SLinus Walleij bool "DB8500 pin controller driver" 251e98ea774SLinus Walleij depends on PINCTRL_NOMADIK && ARCH_U8500 252e98ea774SLinus Walleij 25345a1b531SPatrice Chotardconfig PINCTRL_DB8540 25445a1b531SPatrice Chotard bool "DB8540 pin controller driver" 25545a1b531SPatrice Chotard depends on PINCTRL_NOMADIK && ARCH_U8500 25645a1b531SPatrice Chotard 257d3e51161SHeiko Stübnerconfig PINCTRL_ROCKCHIP 258d3e51161SHeiko Stübner bool 259d3e51161SHeiko Stübner select PINMUX 260d3e51161SHeiko Stübner select GENERIC_PINCONF 261d3e51161SHeiko Stübner select GENERIC_IRQ_CHIP 262751a99abSHeiko Stübner select MFD_SYSCON 263d3e51161SHeiko Stübner 2648b8b091bSTony Lindgrenconfig PINCTRL_SINGLE 2658b8b091bSTony Lindgren tristate "One-register-per-pin type device tree based pinctrl driver" 2668b8b091bSTony Lindgren depends on OF 2678b8b091bSTony Lindgren select PINMUX 2688b8b091bSTony Lindgren select PINCONF 2699dddb4dfSHaojian Zhuang select GENERIC_PINCONF 2708b8b091bSTony Lindgren help 2718b8b091bSTony Lindgren This selects the device tree based generic pinctrl driver. 2728b8b091bSTony Lindgren 2733bece55aSLinus Walleijconfig PINCTRL_SIRF 274d3e26f2fSBarry Song bool "CSR SiRFprimaII/SiRFmarco pin controller driver" 275d3e26f2fSBarry Song depends on ARCH_SIRF 276393daa81SRongjun Ying select PINMUX 2777420d2d0SLinus Walleij select GPIOLIB_IRQCHIP 278393daa81SRongjun Ying 279701016c0SSrinivas KANDAGATLAconfig PINCTRL_ST 280701016c0SSrinivas KANDAGATLA bool 281701016c0SSrinivas KANDAGATLA depends on OF 282701016c0SSrinivas KANDAGATLA select PINMUX 283701016c0SSrinivas KANDAGATLA select PINCONF 284130cbe30SLinus Walleij select GPIOLIB_IRQCHIP 285701016c0SSrinivas KANDAGATLA 286971dac71SStephen Warrenconfig PINCTRL_TEGRA 287971dac71SStephen Warren bool 288507ccdbfSAxel Lin select PINMUX 289507ccdbfSAxel Lin select PINCONF 290971dac71SStephen Warren 291971dac71SStephen Warrenconfig PINCTRL_TEGRA20 292971dac71SStephen Warren bool 293971dac71SStephen Warren select PINCTRL_TEGRA 294971dac71SStephen Warren 295971dac71SStephen Warrenconfig PINCTRL_TEGRA30 296971dac71SStephen Warren bool 297971dac71SStephen Warren select PINCTRL_TEGRA 298971dac71SStephen Warren 299b6ae7a26SPritesh Raithathaconfig PINCTRL_TEGRA114 300b6ae7a26SPritesh Raithatha bool 301b6ae7a26SPritesh Raithatha select PINCTRL_TEGRA 302b6ae7a26SPritesh Raithatha 3031a16bee6SAshwini Ghugeconfig PINCTRL_TEGRA124 3041a16bee6SAshwini Ghuge bool 3051a16bee6SAshwini Ghuge select PINCTRL_TEGRA 3061a16bee6SAshwini Ghuge 307d5025f9fSJames Hoganconfig PINCTRL_TZ1090 308d5025f9fSJames Hogan bool "Toumaz Xenif TZ1090 pin control driver" 309d5025f9fSJames Hogan depends on SOC_TZ1090 310d5025f9fSJames Hogan select PINMUX 311d5025f9fSJames Hogan select GENERIC_PINCONF 312d5025f9fSJames Hogan 313b58f0273SJames Hoganconfig PINCTRL_TZ1090_PDC 314b58f0273SJames Hogan bool "Toumaz Xenif TZ1090 PDC pin control driver" 315b58f0273SJames Hogan depends on SOC_TZ1090 316b58f0273SJames Hogan select PINMUX 317b58f0273SJames Hogan select PINCONF 318b58f0273SJames Hogan 3193bece55aSLinus Walleijconfig PINCTRL_U300 3203bece55aSLinus Walleij bool "U300 pin controller driver" 32198da3529SLinus Walleij depends on ARCH_U300 32298da3529SLinus Walleij select PINMUX 323dc0b1aa3SLinus Walleij select GENERIC_PINCONF 32445f034efSLinus Walleij 325ca402d37SLinus Walleijconfig PINCTRL_COH901 326ca402d37SLinus Walleij bool "ST-Ericsson U300 COH 901 335/571 GPIO" 3273c94d1bbSLinus Walleij depends on GPIOLIB && ARCH_U300 && PINCTRL_U300 328523dcce7SLinus Walleij select GPIOLIB_IRQCHIP 329ca402d37SLinus Walleij help 330ca402d37SLinus Walleij Say yes here to support GPIO interface on ST-Ericsson U300. 331ca402d37SLinus Walleij The names of the two IP block variants supported are 332ca402d37SLinus Walleij COH 901 335 and COH 901 571/3. They contain 3, 5 or 7 333ca402d37SLinus Walleij ports of 8 GPIO pins each. 334ca402d37SLinus Walleij 3350a8d3e24SLaxman Dewanganconfig PINCTRL_PALMAS 336736658c5SMark Brown bool "Pinctrl driver for the PALMAS Series MFD devices" 3370a8d3e24SLaxman Dewangan depends on OF && MFD_PALMAS 33863ca8db7SAxel Lin select PINMUX 3390a8d3e24SLaxman Dewangan select GENERIC_PINCONF 3400a8d3e24SLaxman Dewangan help 3410a8d3e24SLaxman Dewangan Palmas device supports the configuration of pins for different 3420a8d3e24SLaxman Dewangan functionality. This driver supports the pinmux, push-pull and 3430a8d3e24SLaxman Dewangan open drain configuration for the Palmas series devices like 3440a8d3e24SLaxman Dewangan TPS65913, TPS80036 etc. 3450a8d3e24SLaxman Dewangan 3463de68d33SAntoine Tenartsource "drivers/pinctrl/berlin/Kconfig" 34706763c74SThomas Petazzonisource "drivers/pinctrl/mvebu/Kconfig" 34869b78b8dSLinus Walleijsource "drivers/pinctrl/qcom/Kconfig" 349*ebe629a3SSachin Kamatsource "drivers/pinctrl/samsung/Kconfig" 3506e54d8d2SLaurent Pinchartsource "drivers/pinctrl/sh-pfc/Kconfig" 351deda8287SViresh Kumarsource "drivers/pinctrl/spear/Kconfig" 3525f910777SMaxime Ripardsource "drivers/pinctrl/sunxi/Kconfig" 353170c6152STony Prisksource "drivers/pinctrl/vt8500/Kconfig" 354deda8287SViresh Kumar 3553f8c50c9SJohn Crispinconfig PINCTRL_XWAY 3563f8c50c9SJohn Crispin bool 3573f8c50c9SJohn Crispin depends on SOC_TYPE_XWAY 3583f8c50c9SJohn Crispin depends on PINCTRL_LANTIQ 3593f8c50c9SJohn Crispin 3605aad0db1SChristian Ruppertconfig PINCTRL_TB10X 3615aad0db1SChristian Ruppert bool 3625aad0db1SChristian Ruppert depends on ARC_PLAT_TB10X 3635aad0db1SChristian Ruppert 36445f034efSLinus Walleijendmenu 36598da3529SLinus Walleij 3662744e8afSLinus Walleijendif 367