1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only 22744e8afSLinus Walleij# 32744e8afSLinus Walleij# PINCTRL infrastructure and drivers 42744e8afSLinus Walleij# 52744e8afSLinus Walleij 6d219b924SPhil Reidmenuconfig PINCTRL 7d219b924SPhil Reid bool "Pin controllers" 82744e8afSLinus Walleij 9d219b924SPhil Reidif PINCTRL 1045f034efSLinus Walleij 11c033a718SLinus Walleijconfig GENERIC_PINCTRL_GROUPS 12c7059c5aSTony Lindgren bool 13c7059c5aSTony Lindgren 142744e8afSLinus Walleijconfig PINMUX 15244e95a7SUwe Kleine-König bool "Support pin multiplexing controllers" if COMPILE_TEST 16ae6b4d85SLinus Walleij 17a76edc89STony Lindgrenconfig GENERIC_PINMUX_FUNCTIONS 18a76edc89STony Lindgren bool 19a76edc89STony Lindgren select PINMUX 20a76edc89STony Lindgren 21ae6b4d85SLinus Walleijconfig PINCONF 22244e95a7SUwe Kleine-König bool "Support pin configuration controllers" if COMPILE_TEST 232744e8afSLinus Walleij 24394349f7SLinus Walleijconfig GENERIC_PINCONF 25394349f7SLinus Walleij bool 26394349f7SLinus Walleij select PINCONF 27394349f7SLinus Walleij 282744e8afSLinus Walleijconfig DEBUG_PINCTRL 292744e8afSLinus Walleij bool "Debug PINCTRL calls" 302744e8afSLinus Walleij depends on DEBUG_KERNEL 312744e8afSLinus Walleij help 322744e8afSLinus Walleij Say Y here to add some extra checks and diagnostics to PINCTRL calls. 332744e8afSLinus Walleij 34b124c8bdSAndy Shevchenkoconfig PINCTRL_AMD 3541ef3c1aSMario Limonciello bool "AMD GPIO pin control" 36b124c8bdSAndy Shevchenko depends on HAS_IOMEM 37b124c8bdSAndy Shevchenko depends on ACPI || COMPILE_TEST 38b124c8bdSAndy Shevchenko select GPIOLIB 39b124c8bdSAndy Shevchenko select GPIOLIB_IRQCHIP 40b124c8bdSAndy Shevchenko select PINMUX 41b124c8bdSAndy Shevchenko select PINCONF 42b124c8bdSAndy Shevchenko select GENERIC_PINCONF 43b124c8bdSAndy Shevchenko help 44b124c8bdSAndy Shevchenko The driver for memory mapped GPIO functionality on AMD platforms 45b124c8bdSAndy Shevchenko (x86 or arm). Most of the pins are usually muxed to some other 46b124c8bdSAndy Shevchenko functionality by firmware, so only a small amount is available 47b124c8bdSAndy Shevchenko for GPIO use. 48b124c8bdSAndy Shevchenko 49b124c8bdSAndy Shevchenko Requires ACPI/FDT device enumeration code to set up a platform 50b124c8bdSAndy Shevchenko device. 51b124c8bdSAndy Shevchenko 52a0f160ffSJoey Goulyconfig PINCTRL_APPLE_GPIO 53a0f160ffSJoey Gouly tristate "Apple SoC GPIO pin controller driver" 54a0f160ffSJoey Gouly depends on ARCH_APPLE 55a0f160ffSJoey Gouly select PINMUX 56a0f160ffSJoey Gouly select GPIOLIB 57a0f160ffSJoey Gouly select GPIOLIB_IRQCHIP 58a0f160ffSJoey Gouly select GENERIC_PINCTRL_GROUPS 59a0f160ffSJoey Gouly select GENERIC_PINMUX_FUNCTIONS 60a0f160ffSJoey Gouly select OF_GPIO 61a0f160ffSJoey Gouly help 62a0f160ffSJoey Gouly This is the driver for the GPIO controller found on Apple ARM SoCs, 63a0f160ffSJoey Gouly including M1. 64a0f160ffSJoey Gouly 65a0f160ffSJoey Gouly This driver can also be built as a module. If so, the module 66a0f160ffSJoey Gouly will be called pinctrl-apple-gpio. 67a0f160ffSJoey Gouly 6800df0582SJesper Nilssonconfig PINCTRL_ARTPEC6 6900df0582SJesper Nilsson bool "Axis ARTPEC-6 pin controller driver" 7000df0582SJesper Nilsson depends on MACH_ARTPEC6 7100df0582SJesper Nilsson select PINMUX 7200df0582SJesper Nilsson select GENERIC_PINCONF 7300df0582SJesper Nilsson help 7400df0582SJesper Nilsson This is the driver for the Axis ARTPEC-6 pin controller. This driver 7500df0582SJesper Nilsson supports pin function multiplexing as well as pin bias and drive 7600df0582SJesper Nilsson strength configuration. Device tree integration instructions can be 7700df0582SJesper Nilsson found in Documentation/devicetree/bindings/pinctrl/axis,artpec6-pinctrl.txt 7800df0582SJesper Nilsson 79c8ce8782SLaxman Dewanganconfig PINCTRL_AS3722 809385f35dSPaul Gortmaker tristate "Pinctrl and GPIO driver for ams AS3722 PMIC" 81c8ce8782SLaxman Dewangan depends on MFD_AS3722 && GPIOLIB 82c8ce8782SLaxman Dewangan select PINMUX 83c8ce8782SLaxman Dewangan select GENERIC_PINCONF 84c8ce8782SLaxman Dewangan help 85c8ce8782SLaxman Dewangan AS3722 device supports the configuration of GPIO pins for different 86c8ce8782SLaxman Dewangan functionality. This driver supports the pinmux, push-pull and 87c8ce8782SLaxman Dewangan open drain configuration for the GPIO pins of AS3722 devices. It also 88c8ce8782SLaxman Dewangan supports the GPIO functionality through gpiolib. 89c8ce8782SLaxman Dewangan 906732ae5cSJean-Christophe PLAGNIOL-VILLARDconfig PINCTRL_AT91 916732ae5cSJean-Christophe PLAGNIOL-VILLARD bool "AT91 pinctrl driver" 926732ae5cSJean-Christophe PLAGNIOL-VILLARD depends on OF 936732ae5cSJean-Christophe PLAGNIOL-VILLARD depends on ARCH_AT91 946732ae5cSJean-Christophe PLAGNIOL-VILLARD select PINMUX 956732ae5cSJean-Christophe PLAGNIOL-VILLARD select PINCONF 9680cc3732SAlexander Stein select GPIOLIB 9780cc3732SAlexander Stein select OF_GPIO 9880cc3732SAlexander Stein select GPIOLIB_IRQCHIP 996732ae5cSJean-Christophe PLAGNIOL-VILLARD help 1006732ae5cSJean-Christophe PLAGNIOL-VILLARD Say Y here to enable the at91 pinctrl driver 1016732ae5cSJean-Christophe PLAGNIOL-VILLARD 10277618084SLudovic Desrochesconfig PINCTRL_AT91PIO4 10377618084SLudovic Desroches bool "AT91 PIO4 pinctrl driver" 10477618084SLudovic Desroches depends on OF 1050a03658dSTiezhu Yang depends on HAS_IOMEM 106e682fcc7STiezhu Yang depends on ARCH_AT91 || COMPILE_TEST 10777618084SLudovic Desroches select PINMUX 10877618084SLudovic Desroches select GENERIC_PINCONF 10977618084SLudovic Desroches select GPIOLIB 11077618084SLudovic Desroches select GPIOLIB_IRQCHIP 11177618084SLudovic Desroches select OF_GPIO 11277618084SLudovic Desroches help 11377618084SLudovic Desroches Say Y here to enable the at91 pinctrl/gpio driver for Atmel PIO4 11477618084SLudovic Desroches controller available on sama5d2 SoC. 11577618084SLudovic Desroches 116b124c8bdSAndy Shevchenkoconfig PINCTRL_AXP209 117b124c8bdSAndy Shevchenko tristate "X-Powers AXP209 PMIC pinctrl and GPIO Support" 118b124c8bdSAndy Shevchenko depends on MFD_AXP20X 119b124c8bdSAndy Shevchenko depends on OF 12083b31c2aSPetr Mladek select PINMUX 121dbad75ddSKen Xue select GENERIC_PINCONF 122b124c8bdSAndy Shevchenko select GPIOLIB 123dbad75ddSKen Xue help 124b124c8bdSAndy Shevchenko AXP PMICs provides multiple GPIOs that can be muxed for different 125b124c8bdSAndy Shevchenko functions. This driver bundles a pinctrl driver to select the function 126b124c8bdSAndy Shevchenko muxing and a GPIO driver to handle the GPIO when the GPIO function is 127b124c8bdSAndy Shevchenko selected. 128b124c8bdSAndy Shevchenko Say Y to enable pinctrl and GPIO support for the AXP209 PMIC. 129dbad75ddSKen Xue 130576623d7SAngeloGioacchino Del Regnoconfig PINCTRL_AW9523 131d295ad7eSLinus Walleij tristate "Awinic AW9523/AW9523B I2C GPIO expander pinctrl driver" 132576623d7SAngeloGioacchino Del Regno depends on OF && I2C 133576623d7SAngeloGioacchino Del Regno select PINMUX 134576623d7SAngeloGioacchino Del Regno select PINCONF 135576623d7SAngeloGioacchino Del Regno select GENERIC_PINCONF 136576623d7SAngeloGioacchino Del Regno select GPIOLIB 137576623d7SAngeloGioacchino Del Regno select GPIOLIB_IRQCHIP 138576623d7SAngeloGioacchino Del Regno select REGMAP 139576623d7SAngeloGioacchino Del Regno select REGMAP_I2C 140576623d7SAngeloGioacchino Del Regno help 141576623d7SAngeloGioacchino Del Regno The Awinic AW9523/AW9523B is a multi-function I2C GPIO 142576623d7SAngeloGioacchino Del Regno expander with PWM functionality. This driver bundles a 143576623d7SAngeloGioacchino Del Regno pinctrl driver to select the function muxing and a GPIO 144576623d7SAngeloGioacchino Del Regno driver to handle GPIO, when the GPIO function is selected. 145576623d7SAngeloGioacchino Del Regno 146576623d7SAngeloGioacchino Del Regno Say yes to enable pinctrl and GPIO support for the AW9523(B). 147576623d7SAngeloGioacchino Del Regno 1488f3f0246SManivannan Sadhasivamconfig PINCTRL_BM1880 1498f3f0246SManivannan Sadhasivam bool "Bitmain BM1880 Pinctrl driver" 1508293b3c6SManivannan Sadhasivam depends on OF && (ARCH_BITMAIN || COMPILE_TEST) 1518293b3c6SManivannan Sadhasivam default ARCH_BITMAIN 1528f3f0246SManivannan Sadhasivam select PINMUX 1538f3f0246SManivannan Sadhasivam help 1548f3f0246SManivannan Sadhasivam Pinctrl driver for Bitmain BM1880 SoC. 1558f3f0246SManivannan Sadhasivam 156e6cbbe42SPatrick Rudolphconfig PINCTRL_CY8C95X0 157e6cbbe42SPatrick Rudolph tristate "Cypress CY8C95X0 I2C pinctrl and GPIO driver" 1588586466eSAndy Shevchenko depends on I2C 159e6cbbe42SPatrick Rudolph select GPIOLIB 160e6cbbe42SPatrick Rudolph select GPIOLIB_IRQCHIP 161e6cbbe42SPatrick Rudolph select PINMUX 162e6cbbe42SPatrick Rudolph select PINCONF 163e6cbbe42SPatrick Rudolph select GENERIC_PINCONF 164e6cbbe42SPatrick Rudolph select REGMAP_I2C 165e6cbbe42SPatrick Rudolph help 166e6cbbe42SPatrick Rudolph Support for 20/40/60 pin Cypress Cy8C95x0 pinctrl/gpio I2C expander. 167e6cbbe42SPatrick Rudolph This driver can also be built as a module. If so, the module will be 168e6cbbe42SPatrick Rudolph called pinctrl-cy8c95x0. 169e6cbbe42SPatrick Rudolph 1701ff91f0aSDavid Lechnerconfig PINCTRL_DA850_PUPD 171b124c8bdSAndy Shevchenko tristate "TI DA850/OMAP-L138/AM18XX pull-up and pull-down groups" 1721ff91f0aSDavid Lechner depends on OF && (ARCH_DAVINCI_DA850 || COMPILE_TEST) 1731ff91f0aSDavid Lechner select PINCONF 1741ff91f0aSDavid Lechner select GENERIC_PINCONF 1751ff91f0aSDavid Lechner help 1761ff91f0aSDavid Lechner Driver for TI DA850/OMAP-L138/AM18XX pinconf. Used to control 177b124c8bdSAndy Shevchenko pull-up and pull-down pin groups. 1781ff91f0aSDavid Lechner 17956cc3af4SMarco Felschconfig PINCTRL_DA9062 18056cc3af4SMarco Felsch tristate "Dialog Semiconductor DA9062 PMIC pinctrl and GPIO Support" 18156cc3af4SMarco Felsch depends on MFD_DA9062 18256cc3af4SMarco Felsch select GPIOLIB 18356cc3af4SMarco Felsch help 18456cc3af4SMarco Felsch The Dialog DA9062 PMIC provides multiple GPIOs that can be muxed for 18556cc3af4SMarco Felsch different functions. This driver bundles a pinctrl driver to select the 18656cc3af4SMarco Felsch function muxing and a GPIO driver to handle the GPIO when the GPIO 18756cc3af4SMarco Felsch function is selected. 18856cc3af4SMarco Felsch 189b124c8bdSAndy Shevchenko Say Y to enable pinctrl and GPIO support for the DA9062 PMIC. 19056cc3af4SMarco Felsch 19138b0e507SBaruch Siachconfig PINCTRL_DIGICOLOR 19238b0e507SBaruch Siach bool 193083b0230SAndy Shevchenko depends on ARCH_DIGICOLOR || COMPILE_TEST 19438b0e507SBaruch Siach select PINMUX 19538b0e507SBaruch Siach select GENERIC_PINCONF 19638b0e507SBaruch Siach 197035f9007SNikita Shubinconfig PINCTRL_EP93XX 198035f9007SNikita Shubin bool 199035f9007SNikita Shubin depends on ARCH_EP93XX || COMPILE_TEST 200035f9007SNikita Shubin select PINMUX 201035f9007SNikita Shubin select GENERIC_PINCONF 202035f9007SNikita Shubin select MFD_SYSCON 203035f9007SNikita Shubin 204b124c8bdSAndy Shevchenkoconfig PINCTRL_EQUILIBRIUM 205b124c8bdSAndy Shevchenko tristate "Generic pinctrl and GPIO driver for Intel Lightning Mountain SoC" 206b124c8bdSAndy Shevchenko depends on OF && HAS_IOMEM 207b124c8bdSAndy Shevchenko depends on X86 || COMPILE_TEST 208b124c8bdSAndy Shevchenko select PINMUX 209b124c8bdSAndy Shevchenko select PINCONF 210b124c8bdSAndy Shevchenko select GPIOLIB 211b124c8bdSAndy Shevchenko select GPIO_GENERIC 212b124c8bdSAndy Shevchenko select GPIOLIB_IRQCHIP 213b124c8bdSAndy Shevchenko select GENERIC_PINCONF 214b124c8bdSAndy Shevchenko select GENERIC_PINCTRL_GROUPS 215b124c8bdSAndy Shevchenko select GENERIC_PINMUX_FUNCTIONS 216b124c8bdSAndy Shevchenko help 217b124c8bdSAndy Shevchenko Equilibrium driver is a pinctrl and GPIO driver for Intel Lightning 218b124c8bdSAndy Shevchenko Mountain network processor SoC that supports both the GPIO and pin 219b124c8bdSAndy Shevchenko control frameworks. It provides interfaces to setup pin muxing, assign 220b124c8bdSAndy Shevchenko desired pin functions, configure GPIO attributes for LGM SoC pins. 221b124c8bdSAndy Shevchenko Pin muxing and pin config settings are retrieved from device tree. 222b124c8bdSAndy Shevchenko 22341795aa1SThéo Lebrunconfig PINCTRL_EYEQ5 22441795aa1SThéo Lebrun bool "Mobileye EyeQ5 pinctrl driver" 22541795aa1SThéo Lebrun depends on OF 22641795aa1SThéo Lebrun depends on MACH_EYEQ5 || COMPILE_TEST 22741795aa1SThéo Lebrun select PINMUX 22841795aa1SThéo Lebrun select GENERIC_PINCONF 22941795aa1SThéo Lebrun select AUXILIARY_BUS 23041795aa1SThéo Lebrun default MACH_EYEQ5 23141795aa1SThéo Lebrun help 23241795aa1SThéo Lebrun Pin controller driver for the Mobileye EyeQ5 platform. It does both 23341795aa1SThéo Lebrun pin config & pin muxing. It does not handle GPIO. 23441795aa1SThéo Lebrun 23541795aa1SThéo Lebrun Pin muxing supports two functions for each pin: first is GPIO, second 23641795aa1SThéo Lebrun is pin-dependent. Pin config is about bias & drive strength. 23741795aa1SThéo Lebrun 238b124c8bdSAndy Shevchenkoconfig PINCTRL_GEMINI 239b124c8bdSAndy Shevchenko bool 240b124c8bdSAndy Shevchenko depends on ARCH_GEMINI 241b124c8bdSAndy Shevchenko default ARCH_GEMINI 242b124c8bdSAndy Shevchenko select PINMUX 243b124c8bdSAndy Shevchenko select GENERIC_PINCONF 244b124c8bdSAndy Shevchenko select MFD_SYSCON 245b124c8bdSAndy Shevchenko 246b124c8bdSAndy Shevchenkoconfig PINCTRL_INGENIC 247b124c8bdSAndy Shevchenko bool "Pinctrl driver for the Ingenic JZ47xx SoCs" 248b124c8bdSAndy Shevchenko default MACH_INGENIC 249b124c8bdSAndy Shevchenko depends on OF 250b124c8bdSAndy Shevchenko depends on MIPS || COMPILE_TEST 251b124c8bdSAndy Shevchenko select GENERIC_PINCONF 252b124c8bdSAndy Shevchenko select GENERIC_PINCTRL_GROUPS 253b124c8bdSAndy Shevchenko select GENERIC_PINMUX_FUNCTIONS 254b124c8bdSAndy Shevchenko select GPIOLIB 255b124c8bdSAndy Shevchenko select GPIOLIB_IRQCHIP 256b124c8bdSAndy Shevchenko select REGMAP_MMIO 257b124c8bdSAndy Shevchenko 258b124c8bdSAndy Shevchenkoconfig PINCTRL_K210 259b124c8bdSAndy Shevchenko bool "Pinctrl driver for the Canaan Kendryte K210 SoC" 260c1556a9bSYangyu Chen depends on RISCV && SOC_CANAAN_K210 && OF 261b124c8bdSAndy Shevchenko select GENERIC_PINMUX_FUNCTIONS 262b124c8bdSAndy Shevchenko select GENERIC_PINCONF 263b124c8bdSAndy Shevchenko select GPIOLIB 264b124c8bdSAndy Shevchenko select OF_GPIO 265b124c8bdSAndy Shevchenko select REGMAP_MMIO 266c1556a9bSYangyu Chen default SOC_CANAAN_K210 267b124c8bdSAndy Shevchenko help 268b124c8bdSAndy Shevchenko Add support for the Canaan Kendryte K210 RISC-V SOC Field 269b124c8bdSAndy Shevchenko Programmable IO Array (FPIOA) controller. 270b124c8bdSAndy Shevchenko 271545887eaSZe Huangconfig PINCTRL_K230 272545887eaSZe Huang bool "Pinctrl driver for the Canaan Kendryte K230 SoC" 273545887eaSZe Huang depends on OF 274642490b5SGeert Uytterhoeven depends on ARCH_CANAAN || COMPILE_TEST 275545887eaSZe Huang select GENERIC_PINCTRL_GROUPS 276545887eaSZe Huang select GENERIC_PINMUX_FUNCTIONS 277545887eaSZe Huang select GENERIC_PINCONF 278545887eaSZe Huang select REGMAP_MMIO 279545887eaSZe Huang help 280545887eaSZe Huang Add support for the Canaan Kendryte K230 RISC-V SOC pin controller. 281545887eaSZe Huang 282b124c8bdSAndy Shevchenkoconfig PINCTRL_KEEMBAY 283b124c8bdSAndy Shevchenko tristate "Pinctrl driver for Intel Keem Bay SoC" 284b124c8bdSAndy Shevchenko depends on ARCH_KEEMBAY || (ARM64 && COMPILE_TEST) 285b124c8bdSAndy Shevchenko depends on HAS_IOMEM 286b124c8bdSAndy Shevchenko select PINMUX 287b124c8bdSAndy Shevchenko select PINCONF 288b124c8bdSAndy Shevchenko select GENERIC_PINCONF 289b124c8bdSAndy Shevchenko select GENERIC_PINCTRL_GROUPS 290b124c8bdSAndy Shevchenko select GENERIC_PINMUX_FUNCTIONS 291b124c8bdSAndy Shevchenko select GPIOLIB 292b124c8bdSAndy Shevchenko select GPIOLIB_IRQCHIP 293b124c8bdSAndy Shevchenko select GPIO_GENERIC 294b124c8bdSAndy Shevchenko help 295b124c8bdSAndy Shevchenko This selects pin control driver for the Intel Keem Bay SoC. 296b124c8bdSAndy Shevchenko It provides pin config functions such as pull-up, pull-down, 297b124c8bdSAndy Shevchenko interrupt, drive strength, sec lock, Schmitt trigger, slew 298b124c8bdSAndy Shevchenko rate control and direction control. This module will be 299b124c8bdSAndy Shevchenko called as pinctrl-keembay. 300b124c8bdSAndy Shevchenko 3013f8c50c9SJohn Crispinconfig PINCTRL_LANTIQ 3023f8c50c9SJohn Crispin bool 3033f8c50c9SJohn Crispin depends on LANTIQ 3043f8c50c9SJohn Crispin select PINMUX 3053f8c50c9SJohn Crispin select PINCONF 3063f8c50c9SJohn Crispin 307b124c8bdSAndy Shevchenkoconfig PINCTRL_FALCON 308b124c8bdSAndy Shevchenko bool 309b124c8bdSAndy Shevchenko depends on SOC_FALCON 310b124c8bdSAndy Shevchenko depends on PINCTRL_LANTIQ 311b124c8bdSAndy Shevchenko 312f73f88acSzhanghongchenconfig PINCTRL_LOONGSON2 313f73f88acSzhanghongchen tristate "Pinctrl driver for the Loongson-2 SoC" 314c0f358fdSRen Zhijie depends on OF && (LOONGARCH || COMPILE_TEST) 315f73f88acSzhanghongchen select PINMUX 316f73f88acSzhanghongchen select GENERIC_PINCONF 317f73f88acSzhanghongchen help 318f73f88acSzhanghongchen This selects pin control driver for the Loongson-2 SoC. It 319f73f88acSzhanghongchen provides pin config functions multiplexing. GPIO pin pull-up, 320f73f88acSzhanghongchen pull-down functions are not supported. Say yes to enable 321f73f88acSzhanghongchen pinctrl for Loongson-2 SoC. 322f73f88acSzhanghongchen 323b124c8bdSAndy Shevchenkoconfig PINCTRL_XWAY 324b124c8bdSAndy Shevchenko bool 325b124c8bdSAndy Shevchenko depends on SOC_TYPE_XWAY 326b124c8bdSAndy Shevchenko depends on PINCTRL_LANTIQ 327b124c8bdSAndy Shevchenko 3282f77ac93SJoachim Eastwoodconfig PINCTRL_LPC18XX 3292f77ac93SJoachim Eastwood bool "NXP LPC18XX/43XX SCU pinctrl driver" 3302f77ac93SJoachim Eastwood depends on OF && (ARCH_LPC18XX || COMPILE_TEST) 3312f77ac93SJoachim Eastwood default ARCH_LPC18XX 3322f77ac93SJoachim Eastwood select PINMUX 3332f77ac93SJoachim Eastwood select GENERIC_PINCONF 3342f77ac93SJoachim Eastwood help 3352f77ac93SJoachim Eastwood Pinctrl driver for NXP LPC18xx/43xx System Control Unit (SCU). 3362f77ac93SJoachim Eastwood 337b124c8bdSAndy Shevchenkoconfig PINCTRL_MAX77620 338b124c8bdSAndy Shevchenko tristate "MAX77620/MAX20024 Pincontrol support" 339b124c8bdSAndy Shevchenko depends on MFD_MAX77620 && OF 34006351d13SLinus Walleij select PINMUX 3411c5b7f3cSLinus Walleij select GENERIC_PINCONF 342b124c8bdSAndy Shevchenko help 343b124c8bdSAndy Shevchenko Say Y here to enable Pin control support for Maxim MAX77620 PMIC. 344b124c8bdSAndy Shevchenko This PMIC has 8 GPIO pins that work as GPIO as well as special 345b124c8bdSAndy Shevchenko function in alternate mode. This driver also configure push-pull, 346b124c8bdSAndy Shevchenko open drain, FPS slots etc. 34706351d13SLinus Walleij 3480f04a817SAndy Shevchenkoconfig PINCTRL_MCP23S08_I2C 3490f04a817SAndy Shevchenko tristate 3500f04a817SAndy Shevchenko select REGMAP_I2C 3510f04a817SAndy Shevchenko 3520f04a817SAndy Shevchenkoconfig PINCTRL_MCP23S08_SPI 3530f04a817SAndy Shevchenko tristate 3540f04a817SAndy Shevchenko select REGMAP_SPI 3550f04a817SAndy Shevchenko 35664ac43e6SSebastian Reichelconfig PINCTRL_MCP23S08 35764ac43e6SSebastian Reichel tristate "Microchip MCP23xxx I/O expander" 35864ac43e6SSebastian Reichel depends on SPI_MASTER || I2C 359e2a021d4SLinus Walleij select GPIOLIB 36064ac43e6SSebastian Reichel select GPIOLIB_IRQCHIP 36182039d24SSebastian Reichel select GENERIC_PINCONF 3620f04a817SAndy Shevchenko select PINCTRL_MCP23S08_I2C if I2C 3630f04a817SAndy Shevchenko select PINCTRL_MCP23S08_SPI if SPI_MASTER 36464ac43e6SSebastian Reichel help 3656ff45566SJan Kundrát SPI/I2C driver for Microchip MCP23S08 / MCP23S17 / MCP23S18 / 3666ff45566SJan Kundrát MCP23008 / MCP23017 / MCP23018 I/O expanders. 3676ff45566SJan Kundrát This provides a GPIO interface supporting inputs and outputs and a 3686ff45566SJan Kundrát corresponding interrupt-controller. 36964ac43e6SSebastian Reichel 370b124c8bdSAndy Shevchenkoconfig PINCTRL_MICROCHIP_SGPIO 3712f65923cSColin Foster tristate "Pinctrl driver for Microsemi/Microchip Serial GPIO" 372b124c8bdSAndy Shevchenko depends on OF 373b124c8bdSAndy Shevchenko depends on HAS_IOMEM 374b124c8bdSAndy Shevchenko select GPIOLIB 375b124c8bdSAndy Shevchenko select GPIOLIB_IRQCHIP 376b124c8bdSAndy Shevchenko select GENERIC_PINCONF 377b124c8bdSAndy Shevchenko select GENERIC_PINCTRL_GROUPS 378b124c8bdSAndy Shevchenko select GENERIC_PINMUX_FUNCTIONS 379b124c8bdSAndy Shevchenko select OF_GPIO 380b124c8bdSAndy Shevchenko help 381b124c8bdSAndy Shevchenko Support for the serial GPIO interface used on Microsemi and 382b124c8bdSAndy Shevchenko Microchip SoCs. By using a serial interface, the SIO 383b124c8bdSAndy Shevchenko controller significantly extends the number of available 384b124c8bdSAndy Shevchenko GPIOs with a minimum number of additional pins on the 385b124c8bdSAndy Shevchenko device. The primary purpose of the SIO controller is to 386b124c8bdSAndy Shevchenko connect control signals from SFP modules and to act as an 387b124c8bdSAndy Shevchenko LED controller. 388b124c8bdSAndy Shevchenko 3892f65923cSColin Foster If compiled as a module, the module name will be 3902f65923cSColin Foster pinctrl-microchip-sgpio. 3912f65923cSColin Foster 392b124c8bdSAndy Shevchenkoconfig PINCTRL_OCELOT 3934425205eSClément Léger tristate "Pinctrl driver for the Microsemi Ocelot and Jaguar2 SoCs" 394b124c8bdSAndy Shevchenko depends on OF 395b124c8bdSAndy Shevchenko depends on HAS_IOMEM 396b124c8bdSAndy Shevchenko select GPIOLIB 397b124c8bdSAndy Shevchenko select GPIOLIB_IRQCHIP 398b124c8bdSAndy Shevchenko select GENERIC_PINCONF 399b124c8bdSAndy Shevchenko select GENERIC_PINCTRL_GROUPS 400b124c8bdSAndy Shevchenko select GENERIC_PINMUX_FUNCTIONS 401b124c8bdSAndy Shevchenko select OF_GPIO 402b124c8bdSAndy Shevchenko select REGMAP_MMIO 4033f668365SColin Foster help 4043f668365SColin Foster Support for the internal GPIO interfaces on Microsemi Ocelot and 4053f668365SColin Foster Jaguar2 SoCs. 4063f668365SColin Foster 4073f668365SColin Foster If conpiled as a module, the module name will be pinctrl-ocelot. 408b124c8bdSAndy Shevchenko 4090a8d3e24SLaxman Dewanganconfig PINCTRL_PALMAS 410767b8ce3SPaul Gortmaker tristate "Pinctrl driver for the PALMAS Series MFD devices" 4110a8d3e24SLaxman Dewangan depends on OF && MFD_PALMAS 41263ca8db7SAxel Lin select PINMUX 4130a8d3e24SLaxman Dewangan select GENERIC_PINCONF 4140a8d3e24SLaxman Dewangan help 4150a8d3e24SLaxman Dewangan Palmas device supports the configuration of pins for different 4160a8d3e24SLaxman Dewangan functionality. This driver supports the pinmux, push-pull and 4170a8d3e24SLaxman Dewangan open drain configuration for the Palmas series devices like 4180a8d3e24SLaxman Dewangan TPS65913, TPS80036 etc. 4190a8d3e24SLaxman Dewangan 42037c646dcSHerve Codinaconfig PINCTRL_PEF2256 42137c646dcSHerve Codina tristate "Lantiq PEF2256 (FALC56) pin controller driver" 42237c646dcSHerve Codina depends on OF && FRAMER_PEF2256 42337c646dcSHerve Codina select PINMUX 42437c646dcSHerve Codina select PINCONF 42537c646dcSHerve Codina select GENERIC_PINCONF 42637c646dcSHerve Codina help 42737c646dcSHerve Codina This option enables the pin controller support for the Lantiq PEF2256 42837c646dcSHerve Codina framer, also known as FALC56. 42937c646dcSHerve Codina 43037c646dcSHerve Codina If unsure, say N. 43137c646dcSHerve Codina 43237c646dcSHerve Codina To compile this driver as a module, choose M here: the 43337c646dcSHerve Codina module will be called pinctrl-pef2256. 43437c646dcSHerve Codina 4352ba384e6SJoshua Hendersonconfig PINCTRL_PIC32 4362ba384e6SJoshua Henderson bool "Microchip PIC32 pin controller driver" 4372ba384e6SJoshua Henderson depends on OF 4382ba384e6SJoshua Henderson depends on MACH_PIC32 4392ba384e6SJoshua Henderson select PINMUX 4402ba384e6SJoshua Henderson select GENERIC_PINCONF 4412ba384e6SJoshua Henderson select GPIOLIB_IRQCHIP 4422ba384e6SJoshua Henderson select OF_GPIO 4432ba384e6SJoshua Henderson help 4442ba384e6SJoshua Henderson This is the pin controller and gpio driver for Microchip PIC32 4452ba384e6SJoshua Henderson microcontrollers. This option is selected automatically when specific 4462ba384e6SJoshua Henderson machine and arch are selected to build. 4472ba384e6SJoshua Henderson 4482ba384e6SJoshua Hendersonconfig PINCTRL_PIC32MZDA 4492ba384e6SJoshua Henderson def_bool y if PIC32MZDA 4502ba384e6SJoshua Henderson select PINCTRL_PIC32 4512ba384e6SJoshua Henderson 452b124c8bdSAndy Shevchenkoconfig PINCTRL_PISTACHIO 453b124c8bdSAndy Shevchenko bool "IMG Pistachio SoC pinctrl driver" 454b124c8bdSAndy Shevchenko depends on OF && (MIPS || COMPILE_TEST) 455b124c8bdSAndy Shevchenko depends on GPIOLIB 456b124c8bdSAndy Shevchenko select PINMUX 457b124c8bdSAndy Shevchenko select GENERIC_PINCONF 458b124c8bdSAndy Shevchenko select GPIOLIB_IRQCHIP 459b124c8bdSAndy Shevchenko select OF_GPIO 460b124c8bdSAndy Shevchenko help 461b124c8bdSAndy Shevchenko This support pinctrl and GPIO driver for IMG Pistachio SoC. 462b124c8bdSAndy Shevchenko 463b124c8bdSAndy Shevchenkoconfig PINCTRL_RK805 464b124c8bdSAndy Shevchenko tristate "Pinctrl and GPIO driver for RK805 PMIC" 465c20e8c5bSSebastian Reichel depends on MFD_RK8XX 466b124c8bdSAndy Shevchenko select GPIOLIB 467b124c8bdSAndy Shevchenko select PINMUX 468b124c8bdSAndy Shevchenko select GENERIC_PINCONF 469b124c8bdSAndy Shevchenko help 470b124c8bdSAndy Shevchenko This selects the pinctrl driver for RK805. 471b124c8bdSAndy Shevchenko 472b58f0273SJames Hoganconfig PINCTRL_ROCKCHIP 473b58f0273SJames Hogan tristate "Rockchip gpio and pinctrl driver" 474b58f0273SJames Hogan depends on ARCH_ROCKCHIP || COMPILE_TEST 475b58f0273SJames Hogan depends on OF 476b58f0273SJames Hogan select GPIOLIB 4773bece55aSLinus Walleij select PINMUX 4783bece55aSLinus Walleij select GENERIC_PINCONF 47998da3529SLinus Walleij select GENERIC_IRQ_CHIP 48098da3529SLinus Walleij select MFD_SYSCON 481dc0b1aa3SLinus Walleij select OF_GPIO 48245f034efSLinus Walleij default ARCH_ROCKCHIP 483ca402d37SLinus Walleij help 484b124c8bdSAndy Shevchenko This support pinctrl and GPIO driver for Rockchip SoCs. 485f0b9a7e5SThomas Abraham 486eb524cb6SPeng Fanconfig PINCTRL_SCMI 487eb524cb6SPeng Fan tristate "Pinctrl driver using SCMI protocol interface" 488eb524cb6SPeng Fan depends on ARM_SCMI_PROTOCOL || COMPILE_TEST 489eb524cb6SPeng Fan select PINMUX 490eb524cb6SPeng Fan select GENERIC_PINCONF 491eb524cb6SPeng Fan help 492eb524cb6SPeng Fan This driver provides support for pinctrl which is controlled 493eb524cb6SPeng Fan by firmware that implements the SCMI interface. 494eb524cb6SPeng Fan It uses SCMI Message Protocol to interact with the 495eb524cb6SPeng Fan firmware providing all the pinctrl controls. 496eb524cb6SPeng Fan 497af99a750SHeiko Stuebnerconfig PINCTRL_SINGLE 498af99a750SHeiko Stuebner tristate "One-register-per-pin type device tree based pinctrl driver" 499af99a750SHeiko Stuebner depends on OF 500af99a750SHeiko Stuebner depends on HAS_IOMEM 50161dd7261STomasz Figa select GENERIC_PINCTRL_GROUPS 50261dd7261STomasz Figa select GENERIC_PINMUX_FUNCTIONS 50361dd7261STomasz Figa select GENERIC_PINCONF 50461dd7261STomasz Figa help 50561dd7261STomasz Figa This selects the device tree based generic pinctrl driver. 50606763c74SThomas Petazzoni 507ca402d37SLinus Walleijconfig PINCTRL_ST 508ca402d37SLinus Walleij bool 509ca402d37SLinus Walleij depends on OF 51030574f0dSThomas Abraham select PINMUX 511cbc351abSArnd Bergmann select PINCONF 512924da314SAxel Lin select GPIOLIB_IRQCHIP 51330574f0dSThomas Abraham 51430574f0dSThomas Abrahamconfig PINCTRL_STMFX 51530574f0dSThomas Abraham tristate "STMicroelectronics STMFX GPIO expander pinctrl driver" 51643b169dbSThomas Abraham depends on I2C 51743b169dbSThomas Abraham depends on OF_GPIO 518924da314SAxel Lin select GENERIC_PINCONF 51943b169dbSThomas Abraham select GPIOLIB_IRQCHIP 52043b169dbSThomas Abraham select MFD_STMFX 5217e8d9415SSebastian Hesselbarth help 5227e8d9415SSebastian Hesselbarth Driver for STMicroelectronics Multi-Function eXpander (STMFX) 5237e8d9415SSebastian Hesselbarth GPIO expander. 5247e8d9415SSebastian Hesselbarth This provides a GPIO interface supporting inputs and outputs, 5257e8d9415SSebastian Hesselbarth and configuring push-pull, open-drain, and can also be used as 5267e8d9415SSebastian Hesselbarth interrupt-controller. 527c9f95cedSSebastian Hesselbarth 528b124c8bdSAndy Shevchenkoconfig PINCTRL_SX150X 529b124c8bdSAndy Shevchenko bool "Semtech SX150x I2C GPIO expander pinctrl driver" 530b124c8bdSAndy Shevchenko depends on I2C=y 531deda8287SViresh Kumar select PINMUX 532b124c8bdSAndy Shevchenko select PINCONF 5332744e8afSLinus Walleij select GENERIC_PINCONF 534b124c8bdSAndy Shevchenko select GPIOLIB 535485dba27SMasahiro Yamada select GPIOLIB_IRQCHIP 536b124c8bdSAndy Shevchenko select REGMAP 537b17f2f9bSRay Jui help 538b124c8bdSAndy Shevchenko Say Y here to provide support for Semtech SX150x-series I2C 539b124c8bdSAndy Shevchenko GPIO expanders as pinctrl module. 540b124c8bdSAndy Shevchenko Compatible models include: 541b124c8bdSAndy Shevchenko - 8 bits: sx1508q, sx1502q 542b124c8bdSAndy Shevchenko - 16 bits: sx1509q, sx1506q 5432744e8afSLinus Walleij 544b124c8bdSAndy Shevchenkoconfig PINCTRL_TB10X 545b124c8bdSAndy Shevchenko bool 546b124c8bdSAndy Shevchenko depends on OF && ARC_PLAT_TB10X 547b124c8bdSAndy Shevchenko select GPIOLIB 548b124c8bdSAndy Shevchenko 549901b277eSEsteban Blancconfig PINCTRL_TPS6594 550901b277eSEsteban Blanc tristate "Pinctrl and GPIO driver for TI TPS6594 PMIC" 551901b277eSEsteban Blanc depends on OF && MFD_TPS6594 552901b277eSEsteban Blanc default MFD_TPS6594 553901b277eSEsteban Blanc select PINMUX 554901b277eSEsteban Blanc select GPIOLIB 555901b277eSEsteban Blanc select REGMAP 556901b277eSEsteban Blanc select GPIO_REGMAP 557901b277eSEsteban Blanc select GENERIC_PINCONF 558901b277eSEsteban Blanc help 559901b277eSEsteban Blanc Say Y to select the pinmuxing and GPIOs driver for the TPS6594 560901b277eSEsteban Blanc PMICs chip family. 561901b277eSEsteban Blanc 562901b277eSEsteban Blanc This driver can also be built as a module 563901b277eSEsteban Blanc called tps6594-pinctrl. 564901b277eSEsteban Blanc 565bed5cd6fSEmil Renner Berthingconfig PINCTRL_TH1520 566bed5cd6fSEmil Renner Berthing tristate "Pinctrl driver for the T-Head TH1520 SoC" 567bed5cd6fSEmil Renner Berthing depends on ARCH_THEAD || COMPILE_TEST 56860ba5da2SArnd Bergmann depends on OF 569bed5cd6fSEmil Renner Berthing select GENERIC_PINMUX_FUNCTIONS 570bed5cd6fSEmil Renner Berthing select GENERIC_PINCONF 571bed5cd6fSEmil Renner Berthing select PINMUX 572bed5cd6fSEmil Renner Berthing help 573bed5cd6fSEmil Renner Berthing This is the driver for the pin controller blocks on the 574bed5cd6fSEmil Renner Berthing T-Head TH1520 SoC. 575bed5cd6fSEmil Renner Berthing 576bed5cd6fSEmil Renner Berthing This driver is needed for RISC-V development boards like 577bed5cd6fSEmil Renner Berthing the BeagleV Ahead and the LicheePi 4A. 578bed5cd6fSEmil Renner Berthing 5792744e8afSLinus Walleijconfig PINCTRL_ZYNQ 5802744e8afSLinus Walleij bool "Pinctrl driver for Xilinx Zynq" 5812744e8afSLinus Walleij depends on ARCH_ZYNQ 5822744e8afSLinus Walleij select PINMUX 5832744e8afSLinus Walleij select GENERIC_PINCONF 5842744e8afSLinus Walleij help 5852744e8afSLinus Walleij This selects the pinctrl driver for Xilinx Zynq. 5862744e8afSLinus Walleij 5878b242ca7SSai Krishna Potthuriconfig PINCTRL_ZYNQMP 5888b242ca7SSai Krishna Potthuri tristate "Pinctrl driver for Xilinx ZynqMP" 5898b242ca7SSai Krishna Potthuri depends on ZYNQMP_FIRMWARE 5908b242ca7SSai Krishna Potthuri select PINMUX 5918b242ca7SSai Krishna Potthuri select GENERIC_PINCONF 5928b242ca7SSai Krishna Potthuri default ZYNQMP_FIRMWARE 5938b242ca7SSai Krishna Potthuri help 5948b242ca7SSai Krishna Potthuri This selects the pinctrl driver for Xilinx ZynqMP platform. 5958b242ca7SSai Krishna Potthuri This driver will query the pin information from the firmware 5968b242ca7SSai Krishna Potthuri and allow configuring the pins. 5978b242ca7SSai Krishna Potthuri Configuration can include the mux function to select on those 5988b242ca7SSai Krishna Potthuri pin(s)/group(s), and various pin configuration parameters 5998b242ca7SSai Krishna Potthuri such as pull-up, slew rate, etc. 600fa99e701SSai Krishna Potthuri This driver can also be built as a module. If so, the module 601fa99e701SSai Krishna Potthuri will be called pinctrl-zynqmp. 6028b242ca7SSai Krishna Potthuri 603d11f9328SAsmaa Mnebhiconfig PINCTRL_MLXBF3 604d11f9328SAsmaa Mnebhi tristate "NVIDIA BlueField-3 SoC Pinctrl driver" 605d11f9328SAsmaa Mnebhi depends on (MELLANOX_PLATFORM && ARM64) || COMPILE_TEST 606d11f9328SAsmaa Mnebhi select PINMUX 607d11f9328SAsmaa Mnebhi select GPIOLIB 608d11f9328SAsmaa Mnebhi select GPIOLIB_IRQCHIP 609d11f9328SAsmaa Mnebhi help 610d11f9328SAsmaa Mnebhi Say Y to select the pinctrl driver for BlueField-3 SoCs. 611d11f9328SAsmaa Mnebhi This pin controller allows selecting the mux function for 612d11f9328SAsmaa Mnebhi each pin. This driver can also be built as a module called 613d11f9328SAsmaa Mnebhi pinctrl-mlxbf3. 614d11f9328SAsmaa Mnebhi 6152242ddfbSManivannan Sadhasivamsource "drivers/pinctrl/actions/Kconfig" 6164d3d0e42SAndrew Jefferysource "drivers/pinctrl/aspeed/Kconfig" 6172744e8afSLinus Walleijsource "drivers/pinctrl/bcm/Kconfig" 6182744e8afSLinus Walleijsource "drivers/pinctrl/berlin/Kconfig" 619b124c8bdSAndy Shevchenkosource "drivers/pinctrl/cirrus/Kconfig" 6202744e8afSLinus Walleijsource "drivers/pinctrl/freescale/Kconfig" 6212744e8afSLinus Walleijsource "drivers/pinctrl/intel/Kconfig" 622b124c8bdSAndy Shevchenkosource "drivers/pinctrl/mediatek/Kconfig" 623b124c8bdSAndy Shevchenkosource "drivers/pinctrl/meson/Kconfig" 6242744e8afSLinus Walleijsource "drivers/pinctrl/mvebu/Kconfig" 6253a198059SLinus Walleijsource "drivers/pinctrl/nomadik/Kconfig" 6263b588e43STomer Maimonsource "drivers/pinctrl/nuvoton/Kconfig" 627fd84aaa8SChester Linsource "drivers/pinctrl/nxp/Kconfig" 6284b15ec9dSRobert Jarzmiksource "drivers/pinctrl/pxa/Kconfig" 62969b78b8dSLinus Walleijsource "drivers/pinctrl/qcom/Kconfig" 630e99ce780STzuyi Changsource "drivers/pinctrl/realtek/Kconfig" 631077365a9SGeert Uytterhoevensource "drivers/pinctrl/renesas/Kconfig" 632ebe629a3SSachin Kamatsource "drivers/pinctrl/samsung/Kconfig" 633a29d8e93SInochi Amaotosource "drivers/pinctrl/sophgo/Kconfig" 634*a83c29e1SYixun Lansource "drivers/pinctrl/spacemit/Kconfig" 6352744e8afSLinus Walleijsource "drivers/pinctrl/spear/Kconfig" 63641d32cfcSBaolin Wangsource "drivers/pinctrl/sprd/Kconfig" 637ba7fdf88SJianlong Huangsource "drivers/pinctrl/starfive/Kconfig" 638aceb16dcSMaxime Coquelinsource "drivers/pinctrl/stm32/Kconfig" 639aa74c44bSWells Lusource "drivers/pinctrl/sunplus/Kconfig" 6405f910777SMaxime Ripardsource "drivers/pinctrl/sunxi/Kconfig" 64125cbac77SMasahiro Yamadasource "drivers/pinctrl/tegra/Kconfig" 642003910ebSNishanth Menonsource "drivers/pinctrl/ti/Kconfig" 6436e908892SMasahiro Yamadasource "drivers/pinctrl/uniphier/Kconfig" 644a68a7844SNobuhiro Iwamatsusource "drivers/pinctrl/visconti/Kconfig" 645b124c8bdSAndy Shevchenkosource "drivers/pinctrl/vt8500/Kconfig" 6461948d5c5SRahul Tanwar 647d219b924SPhil Reidendif 648