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 34*b124c8bdSAndy Shevchenkoconfig PINCTRL_AMD 35*b124c8bdSAndy Shevchenko tristate "AMD GPIO pin control" 36*b124c8bdSAndy Shevchenko depends on HAS_IOMEM 37*b124c8bdSAndy Shevchenko depends on ACPI || COMPILE_TEST 38*b124c8bdSAndy Shevchenko select GPIOLIB 39*b124c8bdSAndy Shevchenko select GPIOLIB_IRQCHIP 40*b124c8bdSAndy Shevchenko select PINMUX 41*b124c8bdSAndy Shevchenko select PINCONF 42*b124c8bdSAndy Shevchenko select GENERIC_PINCONF 43*b124c8bdSAndy Shevchenko help 44*b124c8bdSAndy Shevchenko The driver for memory mapped GPIO functionality on AMD platforms 45*b124c8bdSAndy Shevchenko (x86 or arm). Most of the pins are usually muxed to some other 46*b124c8bdSAndy Shevchenko functionality by firmware, so only a small amount is available 47*b124c8bdSAndy Shevchenko for GPIO use. 48*b124c8bdSAndy Shevchenko 49*b124c8bdSAndy Shevchenko Requires ACPI/FDT device enumeration code to set up a platform 50*b124c8bdSAndy Shevchenko device. 51*b124c8bdSAndy 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 116*b124c8bdSAndy Shevchenkoconfig PINCTRL_AXP209 117*b124c8bdSAndy Shevchenko tristate "X-Powers AXP209 PMIC pinctrl and GPIO Support" 118*b124c8bdSAndy Shevchenko depends on MFD_AXP20X 119*b124c8bdSAndy Shevchenko depends on OF 12083b31c2aSPetr Mladek select PINMUX 121dbad75ddSKen Xue select GENERIC_PINCONF 122*b124c8bdSAndy Shevchenko select GPIOLIB 123dbad75ddSKen Xue help 124*b124c8bdSAndy Shevchenko AXP PMICs provides multiple GPIOs that can be muxed for different 125*b124c8bdSAndy Shevchenko functions. This driver bundles a pinctrl driver to select the function 126*b124c8bdSAndy Shevchenko muxing and a GPIO driver to handle the GPIO when the GPIO function is 127*b124c8bdSAndy Shevchenko selected. 128*b124c8bdSAndy Shevchenko Say Y to enable pinctrl and GPIO support for the AXP209 PMIC. 129dbad75ddSKen Xue 1308f3f0246SManivannan Sadhasivamconfig PINCTRL_BM1880 1318f3f0246SManivannan Sadhasivam bool "Bitmain BM1880 Pinctrl driver" 1328293b3c6SManivannan Sadhasivam depends on OF && (ARCH_BITMAIN || COMPILE_TEST) 1338293b3c6SManivannan Sadhasivam default ARCH_BITMAIN 1348f3f0246SManivannan Sadhasivam select PINMUX 1358f3f0246SManivannan Sadhasivam help 1368f3f0246SManivannan Sadhasivam Pinctrl driver for Bitmain BM1880 SoC. 1378f3f0246SManivannan Sadhasivam 1381ff91f0aSDavid Lechnerconfig PINCTRL_DA850_PUPD 139*b124c8bdSAndy Shevchenko tristate "TI DA850/OMAP-L138/AM18XX pull-up and pull-down groups" 1401ff91f0aSDavid Lechner depends on OF && (ARCH_DAVINCI_DA850 || COMPILE_TEST) 1411ff91f0aSDavid Lechner select PINCONF 1421ff91f0aSDavid Lechner select GENERIC_PINCONF 1431ff91f0aSDavid Lechner help 1441ff91f0aSDavid Lechner Driver for TI DA850/OMAP-L138/AM18XX pinconf. Used to control 145*b124c8bdSAndy Shevchenko pull-up and pull-down pin groups. 1461ff91f0aSDavid Lechner 14756cc3af4SMarco Felschconfig PINCTRL_DA9062 14856cc3af4SMarco Felsch tristate "Dialog Semiconductor DA9062 PMIC pinctrl and GPIO Support" 14956cc3af4SMarco Felsch depends on MFD_DA9062 15056cc3af4SMarco Felsch select GPIOLIB 15156cc3af4SMarco Felsch help 15256cc3af4SMarco Felsch The Dialog DA9062 PMIC provides multiple GPIOs that can be muxed for 15356cc3af4SMarco Felsch different functions. This driver bundles a pinctrl driver to select the 15456cc3af4SMarco Felsch function muxing and a GPIO driver to handle the GPIO when the GPIO 15556cc3af4SMarco Felsch function is selected. 15656cc3af4SMarco Felsch 157*b124c8bdSAndy Shevchenko Say Y to enable pinctrl and GPIO support for the DA9062 PMIC. 15856cc3af4SMarco Felsch 15938b0e507SBaruch Siachconfig PINCTRL_DIGICOLOR 16038b0e507SBaruch Siach bool 16138b0e507SBaruch Siach depends on OF && (ARCH_DIGICOLOR || COMPILE_TEST) 16238b0e507SBaruch Siach select PINMUX 16338b0e507SBaruch Siach select GENERIC_PINCONF 16438b0e507SBaruch Siach 165*b124c8bdSAndy Shevchenkoconfig PINCTRL_EQUILIBRIUM 166*b124c8bdSAndy Shevchenko tristate "Generic pinctrl and GPIO driver for Intel Lightning Mountain SoC" 167*b124c8bdSAndy Shevchenko depends on OF && HAS_IOMEM 168*b124c8bdSAndy Shevchenko depends on X86 || COMPILE_TEST 169*b124c8bdSAndy Shevchenko select PINMUX 170*b124c8bdSAndy Shevchenko select PINCONF 171*b124c8bdSAndy Shevchenko select GPIOLIB 172*b124c8bdSAndy Shevchenko select GPIO_GENERIC 173*b124c8bdSAndy Shevchenko select GPIOLIB_IRQCHIP 174*b124c8bdSAndy Shevchenko select GENERIC_PINCONF 175*b124c8bdSAndy Shevchenko select GENERIC_PINCTRL_GROUPS 176*b124c8bdSAndy Shevchenko select GENERIC_PINMUX_FUNCTIONS 177*b124c8bdSAndy Shevchenko help 178*b124c8bdSAndy Shevchenko Equilibrium driver is a pinctrl and GPIO driver for Intel Lightning 179*b124c8bdSAndy Shevchenko Mountain network processor SoC that supports both the GPIO and pin 180*b124c8bdSAndy Shevchenko control frameworks. It provides interfaces to setup pin muxing, assign 181*b124c8bdSAndy Shevchenko desired pin functions, configure GPIO attributes for LGM SoC pins. 182*b124c8bdSAndy Shevchenko Pin muxing and pin config settings are retrieved from device tree. 183*b124c8bdSAndy Shevchenko 184*b124c8bdSAndy Shevchenkoconfig PINCTRL_GEMINI 185*b124c8bdSAndy Shevchenko bool 186*b124c8bdSAndy Shevchenko depends on ARCH_GEMINI 187*b124c8bdSAndy Shevchenko default ARCH_GEMINI 188*b124c8bdSAndy Shevchenko select PINMUX 189*b124c8bdSAndy Shevchenko select GENERIC_PINCONF 190*b124c8bdSAndy Shevchenko select MFD_SYSCON 191*b124c8bdSAndy Shevchenko 192*b124c8bdSAndy Shevchenkoconfig PINCTRL_INGENIC 193*b124c8bdSAndy Shevchenko bool "Pinctrl driver for the Ingenic JZ47xx SoCs" 194*b124c8bdSAndy Shevchenko default MACH_INGENIC 195*b124c8bdSAndy Shevchenko depends on OF 196*b124c8bdSAndy Shevchenko depends on MIPS || COMPILE_TEST 197*b124c8bdSAndy Shevchenko select GENERIC_PINCONF 198*b124c8bdSAndy Shevchenko select GENERIC_PINCTRL_GROUPS 199*b124c8bdSAndy Shevchenko select GENERIC_PINMUX_FUNCTIONS 200*b124c8bdSAndy Shevchenko select GPIOLIB 201*b124c8bdSAndy Shevchenko select GPIOLIB_IRQCHIP 202*b124c8bdSAndy Shevchenko select REGMAP_MMIO 203*b124c8bdSAndy Shevchenko 204*b124c8bdSAndy Shevchenkoconfig PINCTRL_K210 205*b124c8bdSAndy Shevchenko bool "Pinctrl driver for the Canaan Kendryte K210 SoC" 206*b124c8bdSAndy Shevchenko depends on RISCV && SOC_CANAAN && OF 207*b124c8bdSAndy Shevchenko select GENERIC_PINMUX_FUNCTIONS 208*b124c8bdSAndy Shevchenko select GENERIC_PINCONF 209*b124c8bdSAndy Shevchenko select GPIOLIB 210*b124c8bdSAndy Shevchenko select OF_GPIO 211*b124c8bdSAndy Shevchenko select REGMAP_MMIO 212*b124c8bdSAndy Shevchenko default SOC_CANAAN 213*b124c8bdSAndy Shevchenko help 214*b124c8bdSAndy Shevchenko Add support for the Canaan Kendryte K210 RISC-V SOC Field 215*b124c8bdSAndy Shevchenko Programmable IO Array (FPIOA) controller. 216*b124c8bdSAndy Shevchenko 217*b124c8bdSAndy Shevchenkoconfig PINCTRL_KEEMBAY 218*b124c8bdSAndy Shevchenko tristate "Pinctrl driver for Intel Keem Bay SoC" 219*b124c8bdSAndy Shevchenko depends on ARCH_KEEMBAY || (ARM64 && COMPILE_TEST) 220*b124c8bdSAndy Shevchenko depends on HAS_IOMEM 221*b124c8bdSAndy Shevchenko select PINMUX 222*b124c8bdSAndy Shevchenko select PINCONF 223*b124c8bdSAndy Shevchenko select GENERIC_PINCONF 224*b124c8bdSAndy Shevchenko select GENERIC_PINCTRL_GROUPS 225*b124c8bdSAndy Shevchenko select GENERIC_PINMUX_FUNCTIONS 226*b124c8bdSAndy Shevchenko select GPIOLIB 227*b124c8bdSAndy Shevchenko select GPIOLIB_IRQCHIP 228*b124c8bdSAndy Shevchenko select GPIO_GENERIC 229*b124c8bdSAndy Shevchenko help 230*b124c8bdSAndy Shevchenko This selects pin control driver for the Intel Keem Bay SoC. 231*b124c8bdSAndy Shevchenko It provides pin config functions such as pull-up, pull-down, 232*b124c8bdSAndy Shevchenko interrupt, drive strength, sec lock, Schmitt trigger, slew 233*b124c8bdSAndy Shevchenko rate control and direction control. This module will be 234*b124c8bdSAndy Shevchenko called as pinctrl-keembay. 235*b124c8bdSAndy Shevchenko 2363f8c50c9SJohn Crispinconfig PINCTRL_LANTIQ 2373f8c50c9SJohn Crispin bool 2383f8c50c9SJohn Crispin depends on LANTIQ 2393f8c50c9SJohn Crispin select PINMUX 2403f8c50c9SJohn Crispin select PINCONF 2413f8c50c9SJohn Crispin 242*b124c8bdSAndy Shevchenkoconfig PINCTRL_FALCON 243*b124c8bdSAndy Shevchenko bool 244*b124c8bdSAndy Shevchenko depends on SOC_FALCON 245*b124c8bdSAndy Shevchenko depends on PINCTRL_LANTIQ 246*b124c8bdSAndy Shevchenko 247*b124c8bdSAndy Shevchenkoconfig PINCTRL_XWAY 248*b124c8bdSAndy Shevchenko bool 249*b124c8bdSAndy Shevchenko depends on SOC_TYPE_XWAY 250*b124c8bdSAndy Shevchenko depends on PINCTRL_LANTIQ 251*b124c8bdSAndy Shevchenko 2522f77ac93SJoachim Eastwoodconfig PINCTRL_LPC18XX 2532f77ac93SJoachim Eastwood bool "NXP LPC18XX/43XX SCU pinctrl driver" 2542f77ac93SJoachim Eastwood depends on OF && (ARCH_LPC18XX || COMPILE_TEST) 2552f77ac93SJoachim Eastwood default ARCH_LPC18XX 2562f77ac93SJoachim Eastwood select PINMUX 2572f77ac93SJoachim Eastwood select GENERIC_PINCONF 2582f77ac93SJoachim Eastwood help 2592f77ac93SJoachim Eastwood Pinctrl driver for NXP LPC18xx/43xx System Control Unit (SCU). 2602f77ac93SJoachim Eastwood 261*b124c8bdSAndy Shevchenkoconfig PINCTRL_MAX77620 262*b124c8bdSAndy Shevchenko tristate "MAX77620/MAX20024 Pincontrol support" 263*b124c8bdSAndy Shevchenko depends on MFD_MAX77620 && OF 26406351d13SLinus Walleij select PINMUX 2651c5b7f3cSLinus Walleij select GENERIC_PINCONF 266*b124c8bdSAndy Shevchenko help 267*b124c8bdSAndy Shevchenko Say Y here to enable Pin control support for Maxim MAX77620 PMIC. 268*b124c8bdSAndy Shevchenko This PMIC has 8 GPIO pins that work as GPIO as well as special 269*b124c8bdSAndy Shevchenko function in alternate mode. This driver also configure push-pull, 270*b124c8bdSAndy Shevchenko open drain, FPS slots etc. 27106351d13SLinus Walleij 2720f04a817SAndy Shevchenkoconfig PINCTRL_MCP23S08_I2C 2730f04a817SAndy Shevchenko tristate 2740f04a817SAndy Shevchenko select REGMAP_I2C 2750f04a817SAndy Shevchenko 2760f04a817SAndy Shevchenkoconfig PINCTRL_MCP23S08_SPI 2770f04a817SAndy Shevchenko tristate 2780f04a817SAndy Shevchenko select REGMAP_SPI 2790f04a817SAndy Shevchenko 28064ac43e6SSebastian Reichelconfig PINCTRL_MCP23S08 28164ac43e6SSebastian Reichel tristate "Microchip MCP23xxx I/O expander" 28264ac43e6SSebastian Reichel depends on SPI_MASTER || I2C 283e2a021d4SLinus Walleij select GPIOLIB 28464ac43e6SSebastian Reichel select GPIOLIB_IRQCHIP 28582039d24SSebastian Reichel select GENERIC_PINCONF 2860f04a817SAndy Shevchenko select PINCTRL_MCP23S08_I2C if I2C 2870f04a817SAndy Shevchenko select PINCTRL_MCP23S08_SPI if SPI_MASTER 28864ac43e6SSebastian Reichel help 2896ff45566SJan Kundrát SPI/I2C driver for Microchip MCP23S08 / MCP23S17 / MCP23S18 / 2906ff45566SJan Kundrát MCP23008 / MCP23017 / MCP23018 I/O expanders. 2916ff45566SJan Kundrát This provides a GPIO interface supporting inputs and outputs and a 2926ff45566SJan Kundrát corresponding interrupt-controller. 29364ac43e6SSebastian Reichel 294*b124c8bdSAndy Shevchenkoconfig PINCTRL_MICROCHIP_SGPIO 295*b124c8bdSAndy Shevchenko bool "Pinctrl driver for Microsemi/Microchip Serial GPIO" 296*b124c8bdSAndy Shevchenko depends on OF 297*b124c8bdSAndy Shevchenko depends on HAS_IOMEM 298*b124c8bdSAndy Shevchenko select GPIOLIB 299*b124c8bdSAndy Shevchenko select GPIOLIB_IRQCHIP 300*b124c8bdSAndy Shevchenko select GENERIC_PINCONF 301*b124c8bdSAndy Shevchenko select GENERIC_PINCTRL_GROUPS 302*b124c8bdSAndy Shevchenko select GENERIC_PINMUX_FUNCTIONS 303*b124c8bdSAndy Shevchenko select OF_GPIO 304*b124c8bdSAndy Shevchenko help 305*b124c8bdSAndy Shevchenko Support for the serial GPIO interface used on Microsemi and 306*b124c8bdSAndy Shevchenko Microchip SoCs. By using a serial interface, the SIO 307*b124c8bdSAndy Shevchenko controller significantly extends the number of available 308*b124c8bdSAndy Shevchenko GPIOs with a minimum number of additional pins on the 309*b124c8bdSAndy Shevchenko device. The primary purpose of the SIO controller is to 310*b124c8bdSAndy Shevchenko connect control signals from SFP modules and to act as an 311*b124c8bdSAndy Shevchenko LED controller. 312*b124c8bdSAndy Shevchenko 313*b124c8bdSAndy Shevchenkoconfig PINCTRL_OCELOT 314*b124c8bdSAndy Shevchenko bool "Pinctrl driver for the Microsemi Ocelot and Jaguar2 SoCs" 315*b124c8bdSAndy Shevchenko depends on OF 316*b124c8bdSAndy Shevchenko depends on HAS_IOMEM 317*b124c8bdSAndy Shevchenko select GPIOLIB 318*b124c8bdSAndy Shevchenko select GPIOLIB_IRQCHIP 319*b124c8bdSAndy Shevchenko select GENERIC_PINCONF 320*b124c8bdSAndy Shevchenko select GENERIC_PINCTRL_GROUPS 321*b124c8bdSAndy Shevchenko select GENERIC_PINMUX_FUNCTIONS 322*b124c8bdSAndy Shevchenko select OF_GPIO 323*b124c8bdSAndy Shevchenko select REGMAP_MMIO 324*b124c8bdSAndy Shevchenko 325611dac1eSNeil Armstrongconfig PINCTRL_OXNAS 326611dac1eSNeil Armstrong bool 327611dac1eSNeil Armstrong depends on OF 328611dac1eSNeil Armstrong select PINMUX 329611dac1eSNeil Armstrong select PINCONF 330611dac1eSNeil Armstrong select GENERIC_PINCONF 331611dac1eSNeil Armstrong select GPIOLIB 332611dac1eSNeil Armstrong select OF_GPIO 333611dac1eSNeil Armstrong select GPIOLIB_IRQCHIP 334611dac1eSNeil Armstrong select MFD_SYSCON 335611dac1eSNeil Armstrong 3360a8d3e24SLaxman Dewanganconfig PINCTRL_PALMAS 337767b8ce3SPaul Gortmaker tristate "Pinctrl driver for the PALMAS Series MFD devices" 3380a8d3e24SLaxman Dewangan depends on OF && MFD_PALMAS 33963ca8db7SAxel Lin select PINMUX 3400a8d3e24SLaxman Dewangan select GENERIC_PINCONF 3410a8d3e24SLaxman Dewangan help 3420a8d3e24SLaxman Dewangan Palmas device supports the configuration of pins for different 3430a8d3e24SLaxman Dewangan functionality. This driver supports the pinmux, push-pull and 3440a8d3e24SLaxman Dewangan open drain configuration for the Palmas series devices like 3450a8d3e24SLaxman Dewangan TPS65913, TPS80036 etc. 3460a8d3e24SLaxman Dewangan 3472ba384e6SJoshua Hendersonconfig PINCTRL_PIC32 3482ba384e6SJoshua Henderson bool "Microchip PIC32 pin controller driver" 3492ba384e6SJoshua Henderson depends on OF 3502ba384e6SJoshua Henderson depends on MACH_PIC32 3512ba384e6SJoshua Henderson select PINMUX 3522ba384e6SJoshua Henderson select GENERIC_PINCONF 3532ba384e6SJoshua Henderson select GPIOLIB_IRQCHIP 3542ba384e6SJoshua Henderson select OF_GPIO 3552ba384e6SJoshua Henderson help 3562ba384e6SJoshua Henderson This is the pin controller and gpio driver for Microchip PIC32 3572ba384e6SJoshua Henderson microcontrollers. This option is selected automatically when specific 3582ba384e6SJoshua Henderson machine and arch are selected to build. 3592ba384e6SJoshua Henderson 3602ba384e6SJoshua Hendersonconfig PINCTRL_PIC32MZDA 3612ba384e6SJoshua Henderson def_bool y if PIC32MZDA 3622ba384e6SJoshua Henderson select PINCTRL_PIC32 3632ba384e6SJoshua Henderson 364*b124c8bdSAndy Shevchenkoconfig PINCTRL_PISTACHIO 365*b124c8bdSAndy Shevchenko bool "IMG Pistachio SoC pinctrl driver" 366*b124c8bdSAndy Shevchenko depends on OF && (MIPS || COMPILE_TEST) 367*b124c8bdSAndy Shevchenko depends on GPIOLIB 368*b124c8bdSAndy Shevchenko select PINMUX 369*b124c8bdSAndy Shevchenko select GENERIC_PINCONF 370*b124c8bdSAndy Shevchenko select GPIOLIB_IRQCHIP 371*b124c8bdSAndy Shevchenko select OF_GPIO 372*b124c8bdSAndy Shevchenko help 373*b124c8bdSAndy Shevchenko This support pinctrl and GPIO driver for IMG Pistachio SoC. 374*b124c8bdSAndy Shevchenko 375*b124c8bdSAndy Shevchenkoconfig PINCTRL_RK805 376*b124c8bdSAndy Shevchenko tristate "Pinctrl and GPIO driver for RK805 PMIC" 377*b124c8bdSAndy Shevchenko depends on MFD_RK808 378*b124c8bdSAndy Shevchenko select GPIOLIB 379*b124c8bdSAndy Shevchenko select PINMUX 380*b124c8bdSAndy Shevchenko select GENERIC_PINCONF 381*b124c8bdSAndy Shevchenko help 382*b124c8bdSAndy Shevchenko This selects the pinctrl driver for RK805. 383*b124c8bdSAndy Shevchenko 384*b124c8bdSAndy Shevchenkoconfig PINCTRL_ROCKCHIP 385*b124c8bdSAndy Shevchenko tristate "Rockchip gpio and pinctrl driver" 386*b124c8bdSAndy Shevchenko depends on ARCH_ROCKCHIP || COMPILE_TEST 387*b124c8bdSAndy Shevchenko depends on OF 388*b124c8bdSAndy Shevchenko select GPIOLIB 389*b124c8bdSAndy Shevchenko select PINMUX 390*b124c8bdSAndy Shevchenko select GENERIC_PINCONF 391*b124c8bdSAndy Shevchenko select GENERIC_IRQ_CHIP 392*b124c8bdSAndy Shevchenko select MFD_SYSCON 393*b124c8bdSAndy Shevchenko select OF_GPIO 394*b124c8bdSAndy Shevchenko default ARCH_ROCKCHIP 395*b124c8bdSAndy Shevchenko help 396*b124c8bdSAndy Shevchenko This support pinctrl and GPIO driver for Rockchip SoCs. 397*b124c8bdSAndy Shevchenko 398*b124c8bdSAndy Shevchenkoconfig PINCTRL_SINGLE 399*b124c8bdSAndy Shevchenko tristate "One-register-per-pin type device tree based pinctrl driver" 400*b124c8bdSAndy Shevchenko depends on OF 401*b124c8bdSAndy Shevchenko depends on HAS_IOMEM 402*b124c8bdSAndy Shevchenko select GENERIC_PINCTRL_GROUPS 403*b124c8bdSAndy Shevchenko select GENERIC_PINMUX_FUNCTIONS 404*b124c8bdSAndy Shevchenko select GENERIC_PINCONF 405*b124c8bdSAndy Shevchenko help 406*b124c8bdSAndy Shevchenko This selects the device tree based generic pinctrl driver. 407*b124c8bdSAndy Shevchenko 408*b124c8bdSAndy Shevchenkoconfig PINCTRL_ST 409*b124c8bdSAndy Shevchenko bool 410*b124c8bdSAndy Shevchenko depends on OF 411*b124c8bdSAndy Shevchenko select PINMUX 412*b124c8bdSAndy Shevchenko select PINCONF 413*b124c8bdSAndy Shevchenko select GPIOLIB_IRQCHIP 414*b124c8bdSAndy Shevchenko 415*b124c8bdSAndy Shevchenkoconfig PINCTRL_STMFX 416*b124c8bdSAndy Shevchenko tristate "STMicroelectronics STMFX GPIO expander pinctrl driver" 417*b124c8bdSAndy Shevchenko depends on I2C 418*b124c8bdSAndy Shevchenko depends on OF_GPIO 419*b124c8bdSAndy Shevchenko select GENERIC_PINCONF 420*b124c8bdSAndy Shevchenko select GPIOLIB_IRQCHIP 421*b124c8bdSAndy Shevchenko select MFD_STMFX 422*b124c8bdSAndy Shevchenko help 423*b124c8bdSAndy Shevchenko Driver for STMicroelectronics Multi-Function eXpander (STMFX) 424*b124c8bdSAndy Shevchenko GPIO expander. 425*b124c8bdSAndy Shevchenko This provides a GPIO interface supporting inputs and outputs, 426*b124c8bdSAndy Shevchenko and configuring push-pull, open-drain, and can also be used as 427*b124c8bdSAndy Shevchenko interrupt-controller. 428*b124c8bdSAndy Shevchenko 429*b124c8bdSAndy Shevchenkoconfig PINCTRL_SX150X 430*b124c8bdSAndy Shevchenko bool "Semtech SX150x I2C GPIO expander pinctrl driver" 431*b124c8bdSAndy Shevchenko depends on I2C=y 432*b124c8bdSAndy Shevchenko select PINMUX 433*b124c8bdSAndy Shevchenko select PINCONF 434*b124c8bdSAndy Shevchenko select GENERIC_PINCONF 435*b124c8bdSAndy Shevchenko select GPIOLIB 436*b124c8bdSAndy Shevchenko select GPIOLIB_IRQCHIP 437*b124c8bdSAndy Shevchenko select REGMAP 438*b124c8bdSAndy Shevchenko help 439*b124c8bdSAndy Shevchenko Say Y here to provide support for Semtech SX150x-series I2C 440*b124c8bdSAndy Shevchenko GPIO expanders as pinctrl module. 441*b124c8bdSAndy Shevchenko Compatible models include: 442*b124c8bdSAndy Shevchenko - 8 bits: sx1508q, sx1502q 443*b124c8bdSAndy Shevchenko - 16 bits: sx1509q, sx1506q 444*b124c8bdSAndy Shevchenko 445*b124c8bdSAndy Shevchenkoconfig PINCTRL_TB10X 446*b124c8bdSAndy Shevchenko bool 447*b124c8bdSAndy Shevchenko depends on OF && ARC_PLAT_TB10X 448*b124c8bdSAndy Shevchenko select GPIOLIB 449*b124c8bdSAndy Shevchenko 450*b124c8bdSAndy Shevchenkoconfig PINCTRL_THUNDERBAY 451*b124c8bdSAndy Shevchenko tristate "Generic pinctrl and GPIO driver for Intel Thunder Bay SoC" 452*b124c8bdSAndy Shevchenko depends on ARCH_THUNDERBAY || (ARM64 && COMPILE_TEST) 453*b124c8bdSAndy Shevchenko depends on HAS_IOMEM 454*b124c8bdSAndy Shevchenko select PINMUX 455*b124c8bdSAndy Shevchenko select PINCONF 456*b124c8bdSAndy Shevchenko select GENERIC_PINCONF 457*b124c8bdSAndy Shevchenko select GENERIC_PINCTRL_GROUPS 458*b124c8bdSAndy Shevchenko select GENERIC_PINMUX_FUNCTIONS 459*b124c8bdSAndy Shevchenko select GPIOLIB 460*b124c8bdSAndy Shevchenko select GPIOLIB_IRQCHIP 461*b124c8bdSAndy Shevchenko select GPIO_GENERIC 462*b124c8bdSAndy Shevchenko help 463*b124c8bdSAndy Shevchenko This selects pin control driver for the Intel Thunder Bay SoC. 464*b124c8bdSAndy Shevchenko It provides pin config functions such as pull-up, pull-down, 465*b124c8bdSAndy Shevchenko interrupt, drive strength, sec lock, Schmitt trigger, slew 466*b124c8bdSAndy Shevchenko rate control and direction control. This module will be 467*b124c8bdSAndy Shevchenko called as pinctrl-thunderbay. 468*b124c8bdSAndy Shevchenko 469add958ceSSoren Brinkmannconfig PINCTRL_ZYNQ 470add958ceSSoren Brinkmann bool "Pinctrl driver for Xilinx Zynq" 471add958ceSSoren Brinkmann depends on ARCH_ZYNQ 472add958ceSSoren Brinkmann select PINMUX 473add958ceSSoren Brinkmann select GENERIC_PINCONF 474add958ceSSoren Brinkmann help 475485dba27SMasahiro Yamada This selects the pinctrl driver for Xilinx Zynq. 476add958ceSSoren Brinkmann 4778b242ca7SSai Krishna Potthuriconfig PINCTRL_ZYNQMP 4788b242ca7SSai Krishna Potthuri tristate "Pinctrl driver for Xilinx ZynqMP" 4798b242ca7SSai Krishna Potthuri depends on ZYNQMP_FIRMWARE 4808b242ca7SSai Krishna Potthuri select PINMUX 4818b242ca7SSai Krishna Potthuri select GENERIC_PINCONF 4828b242ca7SSai Krishna Potthuri default ZYNQMP_FIRMWARE 4838b242ca7SSai Krishna Potthuri help 4848b242ca7SSai Krishna Potthuri This selects the pinctrl driver for Xilinx ZynqMP platform. 4858b242ca7SSai Krishna Potthuri This driver will query the pin information from the firmware 4868b242ca7SSai Krishna Potthuri and allow configuring the pins. 4878b242ca7SSai Krishna Potthuri Configuration can include the mux function to select on those 4888b242ca7SSai Krishna Potthuri pin(s)/group(s), and various pin configuration parameters 4898b242ca7SSai Krishna Potthuri such as pull-up, slew rate, etc. 490fa99e701SSai Krishna Potthuri This driver can also be built as a module. If so, the module 491fa99e701SSai Krishna Potthuri will be called pinctrl-zynqmp. 4928b242ca7SSai Krishna Potthuri 4932242ddfbSManivannan Sadhasivamsource "drivers/pinctrl/actions/Kconfig" 4944d3d0e42SAndrew Jefferysource "drivers/pinctrl/aspeed/Kconfig" 495b17f2f9bSRay Juisource "drivers/pinctrl/bcm/Kconfig" 4963de68d33SAntoine Tenartsource "drivers/pinctrl/berlin/Kconfig" 497*b124c8bdSAndy Shevchenkosource "drivers/pinctrl/cirrus/Kconfig" 498edad3b2aSLinus Walleijsource "drivers/pinctrl/freescale/Kconfig" 4995fae8b86SMika Westerbergsource "drivers/pinctrl/intel/Kconfig" 500*b124c8bdSAndy Shevchenkosource "drivers/pinctrl/mediatek/Kconfig" 501*b124c8bdSAndy Shevchenkosource "drivers/pinctrl/meson/Kconfig" 50206763c74SThomas Petazzonisource "drivers/pinctrl/mvebu/Kconfig" 5033a198059SLinus Walleijsource "drivers/pinctrl/nomadik/Kconfig" 5043b588e43STomer Maimonsource "drivers/pinctrl/nuvoton/Kconfig" 5054b15ec9dSRobert Jarzmiksource "drivers/pinctrl/pxa/Kconfig" 50669b78b8dSLinus Walleijsource "drivers/pinctrl/qcom/Kconfig" 507518b466aSSergio Paracuellossource "drivers/pinctrl/ralink/Kconfig" 508077365a9SGeert Uytterhoevensource "drivers/pinctrl/renesas/Kconfig" 509ebe629a3SSachin Kamatsource "drivers/pinctrl/samsung/Kconfig" 510deda8287SViresh Kumarsource "drivers/pinctrl/spear/Kconfig" 51141d32cfcSBaolin Wangsource "drivers/pinctrl/sprd/Kconfig" 512aceb16dcSMaxime Coquelinsource "drivers/pinctrl/stm32/Kconfig" 5135f910777SMaxime Ripardsource "drivers/pinctrl/sunxi/Kconfig" 51425cbac77SMasahiro Yamadasource "drivers/pinctrl/tegra/Kconfig" 515003910ebSNishanth Menonsource "drivers/pinctrl/ti/Kconfig" 5166e908892SMasahiro Yamadasource "drivers/pinctrl/uniphier/Kconfig" 517a68a7844SNobuhiro Iwamatsusource "drivers/pinctrl/visconti/Kconfig" 518*b124c8bdSAndy Shevchenkosource "drivers/pinctrl/vt8500/Kconfig" 51912422af8SLakshmi Sowjanya D 520d219b924SPhil Reidendif 521