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 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 138e6cbbe42SPatrick Rudolphconfig PINCTRL_CY8C95X0 139e6cbbe42SPatrick Rudolph tristate "Cypress CY8C95X0 I2C pinctrl and GPIO driver" 140*8586466eSAndy Shevchenko depends on I2C 141e6cbbe42SPatrick Rudolph select GPIOLIB 142e6cbbe42SPatrick Rudolph select GPIOLIB_IRQCHIP 143e6cbbe42SPatrick Rudolph select PINMUX 144e6cbbe42SPatrick Rudolph select PINCONF 145e6cbbe42SPatrick Rudolph select GENERIC_PINCONF 146e6cbbe42SPatrick Rudolph select REGMAP_I2C 147e6cbbe42SPatrick Rudolph help 148e6cbbe42SPatrick Rudolph Support for 20/40/60 pin Cypress Cy8C95x0 pinctrl/gpio I2C expander. 149e6cbbe42SPatrick Rudolph This driver can also be built as a module. If so, the module will be 150e6cbbe42SPatrick Rudolph called pinctrl-cy8c95x0. 151e6cbbe42SPatrick Rudolph 1521ff91f0aSDavid Lechnerconfig PINCTRL_DA850_PUPD 153b124c8bdSAndy Shevchenko tristate "TI DA850/OMAP-L138/AM18XX pull-up and pull-down groups" 1541ff91f0aSDavid Lechner depends on OF && (ARCH_DAVINCI_DA850 || COMPILE_TEST) 1551ff91f0aSDavid Lechner select PINCONF 1561ff91f0aSDavid Lechner select GENERIC_PINCONF 1571ff91f0aSDavid Lechner help 1581ff91f0aSDavid Lechner Driver for TI DA850/OMAP-L138/AM18XX pinconf. Used to control 159b124c8bdSAndy Shevchenko pull-up and pull-down pin groups. 1601ff91f0aSDavid Lechner 16156cc3af4SMarco Felschconfig PINCTRL_DA9062 16256cc3af4SMarco Felsch tristate "Dialog Semiconductor DA9062 PMIC pinctrl and GPIO Support" 16356cc3af4SMarco Felsch depends on MFD_DA9062 16456cc3af4SMarco Felsch select GPIOLIB 16556cc3af4SMarco Felsch help 16656cc3af4SMarco Felsch The Dialog DA9062 PMIC provides multiple GPIOs that can be muxed for 16756cc3af4SMarco Felsch different functions. This driver bundles a pinctrl driver to select the 16856cc3af4SMarco Felsch function muxing and a GPIO driver to handle the GPIO when the GPIO 16956cc3af4SMarco Felsch function is selected. 17056cc3af4SMarco Felsch 171b124c8bdSAndy Shevchenko Say Y to enable pinctrl and GPIO support for the DA9062 PMIC. 17256cc3af4SMarco Felsch 17338b0e507SBaruch Siachconfig PINCTRL_DIGICOLOR 17438b0e507SBaruch Siach bool 17538b0e507SBaruch Siach depends on OF && (ARCH_DIGICOLOR || COMPILE_TEST) 17638b0e507SBaruch Siach select PINMUX 17738b0e507SBaruch Siach select GENERIC_PINCONF 17838b0e507SBaruch Siach 179b124c8bdSAndy Shevchenkoconfig PINCTRL_EQUILIBRIUM 180b124c8bdSAndy Shevchenko tristate "Generic pinctrl and GPIO driver for Intel Lightning Mountain SoC" 181b124c8bdSAndy Shevchenko depends on OF && HAS_IOMEM 182b124c8bdSAndy Shevchenko depends on X86 || COMPILE_TEST 183b124c8bdSAndy Shevchenko select PINMUX 184b124c8bdSAndy Shevchenko select PINCONF 185b124c8bdSAndy Shevchenko select GPIOLIB 186b124c8bdSAndy Shevchenko select GPIO_GENERIC 187b124c8bdSAndy Shevchenko select GPIOLIB_IRQCHIP 188b124c8bdSAndy Shevchenko select GENERIC_PINCONF 189b124c8bdSAndy Shevchenko select GENERIC_PINCTRL_GROUPS 190b124c8bdSAndy Shevchenko select GENERIC_PINMUX_FUNCTIONS 191b124c8bdSAndy Shevchenko help 192b124c8bdSAndy Shevchenko Equilibrium driver is a pinctrl and GPIO driver for Intel Lightning 193b124c8bdSAndy Shevchenko Mountain network processor SoC that supports both the GPIO and pin 194b124c8bdSAndy Shevchenko control frameworks. It provides interfaces to setup pin muxing, assign 195b124c8bdSAndy Shevchenko desired pin functions, configure GPIO attributes for LGM SoC pins. 196b124c8bdSAndy Shevchenko Pin muxing and pin config settings are retrieved from device tree. 197b124c8bdSAndy Shevchenko 198b124c8bdSAndy Shevchenkoconfig PINCTRL_GEMINI 199b124c8bdSAndy Shevchenko bool 200b124c8bdSAndy Shevchenko depends on ARCH_GEMINI 201b124c8bdSAndy Shevchenko default ARCH_GEMINI 202b124c8bdSAndy Shevchenko select PINMUX 203b124c8bdSAndy Shevchenko select GENERIC_PINCONF 204b124c8bdSAndy Shevchenko select MFD_SYSCON 205b124c8bdSAndy Shevchenko 206b124c8bdSAndy Shevchenkoconfig PINCTRL_INGENIC 207b124c8bdSAndy Shevchenko bool "Pinctrl driver for the Ingenic JZ47xx SoCs" 208b124c8bdSAndy Shevchenko default MACH_INGENIC 209b124c8bdSAndy Shevchenko depends on OF 210b124c8bdSAndy Shevchenko depends on MIPS || COMPILE_TEST 211b124c8bdSAndy Shevchenko select GENERIC_PINCONF 212b124c8bdSAndy Shevchenko select GENERIC_PINCTRL_GROUPS 213b124c8bdSAndy Shevchenko select GENERIC_PINMUX_FUNCTIONS 214b124c8bdSAndy Shevchenko select GPIOLIB 215b124c8bdSAndy Shevchenko select GPIOLIB_IRQCHIP 216b124c8bdSAndy Shevchenko select REGMAP_MMIO 217b124c8bdSAndy Shevchenko 218b124c8bdSAndy Shevchenkoconfig PINCTRL_K210 219b124c8bdSAndy Shevchenko bool "Pinctrl driver for the Canaan Kendryte K210 SoC" 220b124c8bdSAndy Shevchenko depends on RISCV && SOC_CANAAN && OF 221b124c8bdSAndy Shevchenko select GENERIC_PINMUX_FUNCTIONS 222b124c8bdSAndy Shevchenko select GENERIC_PINCONF 223b124c8bdSAndy Shevchenko select GPIOLIB 224b124c8bdSAndy Shevchenko select OF_GPIO 225b124c8bdSAndy Shevchenko select REGMAP_MMIO 226b124c8bdSAndy Shevchenko default SOC_CANAAN 227b124c8bdSAndy Shevchenko help 228b124c8bdSAndy Shevchenko Add support for the Canaan Kendryte K210 RISC-V SOC Field 229b124c8bdSAndy Shevchenko Programmable IO Array (FPIOA) controller. 230b124c8bdSAndy Shevchenko 231b124c8bdSAndy Shevchenkoconfig PINCTRL_KEEMBAY 232b124c8bdSAndy Shevchenko tristate "Pinctrl driver for Intel Keem Bay SoC" 233b124c8bdSAndy Shevchenko depends on ARCH_KEEMBAY || (ARM64 && COMPILE_TEST) 234b124c8bdSAndy Shevchenko depends on HAS_IOMEM 235b124c8bdSAndy Shevchenko select PINMUX 236b124c8bdSAndy Shevchenko select PINCONF 237b124c8bdSAndy Shevchenko select GENERIC_PINCONF 238b124c8bdSAndy Shevchenko select GENERIC_PINCTRL_GROUPS 239b124c8bdSAndy Shevchenko select GENERIC_PINMUX_FUNCTIONS 240b124c8bdSAndy Shevchenko select GPIOLIB 241b124c8bdSAndy Shevchenko select GPIOLIB_IRQCHIP 242b124c8bdSAndy Shevchenko select GPIO_GENERIC 243b124c8bdSAndy Shevchenko help 244b124c8bdSAndy Shevchenko This selects pin control driver for the Intel Keem Bay SoC. 245b124c8bdSAndy Shevchenko It provides pin config functions such as pull-up, pull-down, 246b124c8bdSAndy Shevchenko interrupt, drive strength, sec lock, Schmitt trigger, slew 247b124c8bdSAndy Shevchenko rate control and direction control. This module will be 248b124c8bdSAndy Shevchenko called as pinctrl-keembay. 249b124c8bdSAndy Shevchenko 2503f8c50c9SJohn Crispinconfig PINCTRL_LANTIQ 2513f8c50c9SJohn Crispin bool 2523f8c50c9SJohn Crispin depends on LANTIQ 2533f8c50c9SJohn Crispin select PINMUX 2543f8c50c9SJohn Crispin select PINCONF 2553f8c50c9SJohn Crispin 256b124c8bdSAndy Shevchenkoconfig PINCTRL_FALCON 257b124c8bdSAndy Shevchenko bool 258b124c8bdSAndy Shevchenko depends on SOC_FALCON 259b124c8bdSAndy Shevchenko depends on PINCTRL_LANTIQ 260b124c8bdSAndy Shevchenko 261b124c8bdSAndy Shevchenkoconfig PINCTRL_XWAY 262b124c8bdSAndy Shevchenko bool 263b124c8bdSAndy Shevchenko depends on SOC_TYPE_XWAY 264b124c8bdSAndy Shevchenko depends on PINCTRL_LANTIQ 265b124c8bdSAndy Shevchenko 2662f77ac93SJoachim Eastwoodconfig PINCTRL_LPC18XX 2672f77ac93SJoachim Eastwood bool "NXP LPC18XX/43XX SCU pinctrl driver" 2682f77ac93SJoachim Eastwood depends on OF && (ARCH_LPC18XX || COMPILE_TEST) 2692f77ac93SJoachim Eastwood default ARCH_LPC18XX 2702f77ac93SJoachim Eastwood select PINMUX 2712f77ac93SJoachim Eastwood select GENERIC_PINCONF 2722f77ac93SJoachim Eastwood help 2732f77ac93SJoachim Eastwood Pinctrl driver for NXP LPC18xx/43xx System Control Unit (SCU). 2742f77ac93SJoachim Eastwood 275b124c8bdSAndy Shevchenkoconfig PINCTRL_MAX77620 276b124c8bdSAndy Shevchenko tristate "MAX77620/MAX20024 Pincontrol support" 277b124c8bdSAndy Shevchenko depends on MFD_MAX77620 && OF 27806351d13SLinus Walleij select PINMUX 2791c5b7f3cSLinus Walleij select GENERIC_PINCONF 280b124c8bdSAndy Shevchenko help 281b124c8bdSAndy Shevchenko Say Y here to enable Pin control support for Maxim MAX77620 PMIC. 282b124c8bdSAndy Shevchenko This PMIC has 8 GPIO pins that work as GPIO as well as special 283b124c8bdSAndy Shevchenko function in alternate mode. This driver also configure push-pull, 284b124c8bdSAndy Shevchenko open drain, FPS slots etc. 28506351d13SLinus Walleij 2860f04a817SAndy Shevchenkoconfig PINCTRL_MCP23S08_I2C 2870f04a817SAndy Shevchenko tristate 2880f04a817SAndy Shevchenko select REGMAP_I2C 2890f04a817SAndy Shevchenko 2900f04a817SAndy Shevchenkoconfig PINCTRL_MCP23S08_SPI 2910f04a817SAndy Shevchenko tristate 2920f04a817SAndy Shevchenko select REGMAP_SPI 2930f04a817SAndy Shevchenko 29464ac43e6SSebastian Reichelconfig PINCTRL_MCP23S08 29564ac43e6SSebastian Reichel tristate "Microchip MCP23xxx I/O expander" 29664ac43e6SSebastian Reichel depends on SPI_MASTER || I2C 297e2a021d4SLinus Walleij select GPIOLIB 29864ac43e6SSebastian Reichel select GPIOLIB_IRQCHIP 29982039d24SSebastian Reichel select GENERIC_PINCONF 3000f04a817SAndy Shevchenko select PINCTRL_MCP23S08_I2C if I2C 3010f04a817SAndy Shevchenko select PINCTRL_MCP23S08_SPI if SPI_MASTER 30264ac43e6SSebastian Reichel help 3036ff45566SJan Kundrát SPI/I2C driver for Microchip MCP23S08 / MCP23S17 / MCP23S18 / 3046ff45566SJan Kundrát MCP23008 / MCP23017 / MCP23018 I/O expanders. 3056ff45566SJan Kundrát This provides a GPIO interface supporting inputs and outputs and a 3066ff45566SJan Kundrát corresponding interrupt-controller. 30764ac43e6SSebastian Reichel 308b124c8bdSAndy Shevchenkoconfig PINCTRL_MICROCHIP_SGPIO 309b124c8bdSAndy Shevchenko bool "Pinctrl driver for Microsemi/Microchip Serial GPIO" 310b124c8bdSAndy Shevchenko depends on OF 311b124c8bdSAndy Shevchenko depends on HAS_IOMEM 312b124c8bdSAndy Shevchenko select GPIOLIB 313b124c8bdSAndy Shevchenko select GPIOLIB_IRQCHIP 314b124c8bdSAndy Shevchenko select GENERIC_PINCONF 315b124c8bdSAndy Shevchenko select GENERIC_PINCTRL_GROUPS 316b124c8bdSAndy Shevchenko select GENERIC_PINMUX_FUNCTIONS 317b124c8bdSAndy Shevchenko select OF_GPIO 318b124c8bdSAndy Shevchenko help 319b124c8bdSAndy Shevchenko Support for the serial GPIO interface used on Microsemi and 320b124c8bdSAndy Shevchenko Microchip SoCs. By using a serial interface, the SIO 321b124c8bdSAndy Shevchenko controller significantly extends the number of available 322b124c8bdSAndy Shevchenko GPIOs with a minimum number of additional pins on the 323b124c8bdSAndy Shevchenko device. The primary purpose of the SIO controller is to 324b124c8bdSAndy Shevchenko connect control signals from SFP modules and to act as an 325b124c8bdSAndy Shevchenko LED controller. 326b124c8bdSAndy Shevchenko 327b124c8bdSAndy Shevchenkoconfig PINCTRL_OCELOT 3284425205eSClément Léger tristate "Pinctrl driver for the Microsemi Ocelot and Jaguar2 SoCs" 329b124c8bdSAndy Shevchenko depends on OF 330b124c8bdSAndy Shevchenko depends on HAS_IOMEM 331b124c8bdSAndy Shevchenko select GPIOLIB 332b124c8bdSAndy Shevchenko select GPIOLIB_IRQCHIP 333b124c8bdSAndy Shevchenko select GENERIC_PINCONF 334b124c8bdSAndy Shevchenko select GENERIC_PINCTRL_GROUPS 335b124c8bdSAndy Shevchenko select GENERIC_PINMUX_FUNCTIONS 336b124c8bdSAndy Shevchenko select OF_GPIO 337b124c8bdSAndy Shevchenko select REGMAP_MMIO 338b124c8bdSAndy Shevchenko 339611dac1eSNeil Armstrongconfig PINCTRL_OXNAS 340611dac1eSNeil Armstrong bool 341611dac1eSNeil Armstrong depends on OF 342611dac1eSNeil Armstrong select PINMUX 343611dac1eSNeil Armstrong select PINCONF 344611dac1eSNeil Armstrong select GENERIC_PINCONF 345611dac1eSNeil Armstrong select GPIOLIB 346611dac1eSNeil Armstrong select OF_GPIO 347611dac1eSNeil Armstrong select GPIOLIB_IRQCHIP 348611dac1eSNeil Armstrong select MFD_SYSCON 349611dac1eSNeil Armstrong 3500a8d3e24SLaxman Dewanganconfig PINCTRL_PALMAS 351767b8ce3SPaul Gortmaker tristate "Pinctrl driver for the PALMAS Series MFD devices" 3520a8d3e24SLaxman Dewangan depends on OF && MFD_PALMAS 35363ca8db7SAxel Lin select PINMUX 3540a8d3e24SLaxman Dewangan select GENERIC_PINCONF 3550a8d3e24SLaxman Dewangan help 3560a8d3e24SLaxman Dewangan Palmas device supports the configuration of pins for different 3570a8d3e24SLaxman Dewangan functionality. This driver supports the pinmux, push-pull and 3580a8d3e24SLaxman Dewangan open drain configuration for the Palmas series devices like 3590a8d3e24SLaxman Dewangan TPS65913, TPS80036 etc. 3600a8d3e24SLaxman Dewangan 3612ba384e6SJoshua Hendersonconfig PINCTRL_PIC32 3622ba384e6SJoshua Henderson bool "Microchip PIC32 pin controller driver" 3632ba384e6SJoshua Henderson depends on OF 3642ba384e6SJoshua Henderson depends on MACH_PIC32 3652ba384e6SJoshua Henderson select PINMUX 3662ba384e6SJoshua Henderson select GENERIC_PINCONF 3672ba384e6SJoshua Henderson select GPIOLIB_IRQCHIP 3682ba384e6SJoshua Henderson select OF_GPIO 3692ba384e6SJoshua Henderson help 3702ba384e6SJoshua Henderson This is the pin controller and gpio driver for Microchip PIC32 3712ba384e6SJoshua Henderson microcontrollers. This option is selected automatically when specific 3722ba384e6SJoshua Henderson machine and arch are selected to build. 3732ba384e6SJoshua Henderson 3742ba384e6SJoshua Hendersonconfig PINCTRL_PIC32MZDA 3752ba384e6SJoshua Henderson def_bool y if PIC32MZDA 3762ba384e6SJoshua Henderson select PINCTRL_PIC32 3772ba384e6SJoshua Henderson 378b124c8bdSAndy Shevchenkoconfig PINCTRL_PISTACHIO 379b124c8bdSAndy Shevchenko bool "IMG Pistachio SoC pinctrl driver" 380b124c8bdSAndy Shevchenko depends on OF && (MIPS || COMPILE_TEST) 381b124c8bdSAndy Shevchenko depends on GPIOLIB 382b124c8bdSAndy Shevchenko select PINMUX 383b124c8bdSAndy Shevchenko select GENERIC_PINCONF 384b124c8bdSAndy Shevchenko select GPIOLIB_IRQCHIP 385b124c8bdSAndy Shevchenko select OF_GPIO 386b124c8bdSAndy Shevchenko help 387b124c8bdSAndy Shevchenko This support pinctrl and GPIO driver for IMG Pistachio SoC. 388b124c8bdSAndy Shevchenko 389b124c8bdSAndy Shevchenkoconfig PINCTRL_RK805 390b124c8bdSAndy Shevchenko tristate "Pinctrl and GPIO driver for RK805 PMIC" 391b124c8bdSAndy Shevchenko depends on MFD_RK808 392b124c8bdSAndy Shevchenko select GPIOLIB 393b124c8bdSAndy Shevchenko select PINMUX 394b124c8bdSAndy Shevchenko select GENERIC_PINCONF 395b124c8bdSAndy Shevchenko help 396b124c8bdSAndy Shevchenko This selects the pinctrl driver for RK805. 397b124c8bdSAndy Shevchenko 398b58f0273SJames Hoganconfig PINCTRL_ROCKCHIP 399b58f0273SJames Hogan tristate "Rockchip gpio and pinctrl driver" 400b58f0273SJames Hogan depends on ARCH_ROCKCHIP || COMPILE_TEST 401b58f0273SJames Hogan depends on OF 402b58f0273SJames Hogan select GPIOLIB 4033bece55aSLinus Walleij select PINMUX 4043bece55aSLinus Walleij select GENERIC_PINCONF 40598da3529SLinus Walleij select GENERIC_IRQ_CHIP 40698da3529SLinus Walleij select MFD_SYSCON 407dc0b1aa3SLinus Walleij select OF_GPIO 40845f034efSLinus Walleij default ARCH_ROCKCHIP 409ca402d37SLinus Walleij help 410b124c8bdSAndy Shevchenko This support pinctrl and GPIO driver for Rockchip SoCs. 411f0b9a7e5SThomas Abraham 412af99a750SHeiko Stuebnerconfig PINCTRL_SINGLE 413af99a750SHeiko Stuebner tristate "One-register-per-pin type device tree based pinctrl driver" 414af99a750SHeiko Stuebner depends on OF 415af99a750SHeiko Stuebner depends on HAS_IOMEM 416af99a750SHeiko Stuebner select GENERIC_PINCTRL_GROUPS 41761dd7261STomasz Figa select GENERIC_PINMUX_FUNCTIONS 41861dd7261STomasz Figa select GENERIC_PINCONF 41961dd7261STomasz Figa help 42061dd7261STomasz Figa This selects the device tree based generic pinctrl driver. 42161dd7261STomasz Figa 422ca402d37SLinus Walleijconfig PINCTRL_ST 423ca402d37SLinus Walleij bool 424ca402d37SLinus Walleij depends on OF 425ca402d37SLinus Walleij select PINMUX 426ca402d37SLinus Walleij select PINCONF 42730574f0dSThomas Abraham select GPIOLIB_IRQCHIP 428cbc351abSArnd Bergmann 429ec648f6bSEmil Renner Berthingconfig PINCTRL_STARFIVE 430ec648f6bSEmil Renner Berthing tristate "Pinctrl and GPIO driver for the StarFive JH7100 SoC" 431ec648f6bSEmil Renner Berthing depends on SOC_STARFIVE || COMPILE_TEST 432ec648f6bSEmil Renner Berthing depends on OF 433ec648f6bSEmil Renner Berthing default SOC_STARFIVE 434ec648f6bSEmil Renner Berthing select GENERIC_PINCTRL_GROUPS 435ec648f6bSEmil Renner Berthing select GENERIC_PINMUX_FUNCTIONS 436ec648f6bSEmil Renner Berthing select GENERIC_PINCONF 437ec648f6bSEmil Renner Berthing select GPIOLIB 438ec648f6bSEmil Renner Berthing select GPIOLIB_IRQCHIP 439ec648f6bSEmil Renner Berthing select OF_GPIO 440ec648f6bSEmil Renner Berthing help 441ec648f6bSEmil Renner Berthing Say yes here to support pin control on the StarFive JH7100 SoC. 442ec648f6bSEmil Renner Berthing This also provides an interface to the GPIO pins not used by other 443ec648f6bSEmil Renner Berthing peripherals supporting inputs, outputs, configuring pull-up/pull-down 444ec648f6bSEmil Renner Berthing and interrupts on input changes. 445ec648f6bSEmil Renner Berthing 44630574f0dSThomas Abrahamconfig PINCTRL_STMFX 44730574f0dSThomas Abraham tristate "STMicroelectronics STMFX GPIO expander pinctrl driver" 448924da314SAxel Lin depends on I2C 44930574f0dSThomas Abraham depends on OF_GPIO 45030574f0dSThomas Abraham select GENERIC_PINCONF 45130574f0dSThomas Abraham select GPIOLIB_IRQCHIP 45243b169dbSThomas Abraham select MFD_STMFX 45343b169dbSThomas Abraham help 454924da314SAxel Lin Driver for STMicroelectronics Multi-Function eXpander (STMFX) 45543b169dbSThomas Abraham GPIO expander. 45643b169dbSThomas Abraham This provides a GPIO interface supporting inputs and outputs, 45706763c74SThomas Petazzoni and configuring push-pull, open-drain, and can also be used as 458463e270fSThomas Petazzoni interrupt-controller. 459deda8287SViresh Kumar 460b124c8bdSAndy Shevchenkoconfig PINCTRL_SX150X 461b124c8bdSAndy Shevchenko bool "Semtech SX150x I2C GPIO expander pinctrl driver" 462b124c8bdSAndy Shevchenko depends on I2C=y 463deda8287SViresh Kumar select PINMUX 464b124c8bdSAndy Shevchenko select PINCONF 4652744e8afSLinus Walleij select GENERIC_PINCONF 466b124c8bdSAndy Shevchenko select GPIOLIB 467485dba27SMasahiro Yamada select GPIOLIB_IRQCHIP 468b124c8bdSAndy Shevchenko select REGMAP 469b17f2f9bSRay Jui help 470b124c8bdSAndy Shevchenko Say Y here to provide support for Semtech SX150x-series I2C 471b124c8bdSAndy Shevchenko GPIO expanders as pinctrl module. 472b124c8bdSAndy Shevchenko Compatible models include: 473b124c8bdSAndy Shevchenko - 8 bits: sx1508q, sx1502q 474b124c8bdSAndy Shevchenko - 16 bits: sx1509q, sx1506q 4752744e8afSLinus Walleij 476b124c8bdSAndy Shevchenkoconfig PINCTRL_TB10X 477b124c8bdSAndy Shevchenko bool 478b124c8bdSAndy Shevchenko depends on OF && ARC_PLAT_TB10X 479b124c8bdSAndy Shevchenko select GPIOLIB 480b124c8bdSAndy Shevchenko 481b124c8bdSAndy Shevchenkoconfig PINCTRL_THUNDERBAY 482b124c8bdSAndy Shevchenko tristate "Generic pinctrl and GPIO driver for Intel Thunder Bay SoC" 483b124c8bdSAndy Shevchenko depends on ARCH_THUNDERBAY || (ARM64 && COMPILE_TEST) 484b124c8bdSAndy Shevchenko depends on HAS_IOMEM 485b124c8bdSAndy Shevchenko select PINMUX 486b124c8bdSAndy Shevchenko select PINCONF 487b124c8bdSAndy Shevchenko select GENERIC_PINCONF 488b124c8bdSAndy Shevchenko select GENERIC_PINCTRL_GROUPS 489b124c8bdSAndy Shevchenko select GENERIC_PINMUX_FUNCTIONS 490b124c8bdSAndy Shevchenko select GPIOLIB 491b124c8bdSAndy Shevchenko select GPIOLIB_IRQCHIP 492b124c8bdSAndy Shevchenko select GPIO_GENERIC 493b124c8bdSAndy Shevchenko help 494b124c8bdSAndy Shevchenko This selects pin control driver for the Intel Thunder Bay SoC. 495b124c8bdSAndy Shevchenko It provides pin config functions such as pull-up, pull-down, 496b124c8bdSAndy Shevchenko interrupt, drive strength, sec lock, Schmitt trigger, slew 497b124c8bdSAndy Shevchenko rate control and direction control. This module will be 498b124c8bdSAndy Shevchenko called as pinctrl-thunderbay. 499ebe629a3SSachin Kamat 5002744e8afSLinus Walleijconfig PINCTRL_ZYNQ 5012744e8afSLinus Walleij bool "Pinctrl driver for Xilinx Zynq" 502aceb16dcSMaxime Coquelin depends on ARCH_ZYNQ 5035f910777SMaxime Ripard select PINMUX 50425cbac77SMasahiro Yamada select GENERIC_PINCONF 5056e908892SMasahiro Yamada help 506170c6152STony Prisk This selects the pinctrl driver for Xilinx Zynq. 507a6df410dSHongzhou Yang 5088b242ca7SSai Krishna Potthuriconfig PINCTRL_ZYNQMP 5098b242ca7SSai Krishna Potthuri tristate "Pinctrl driver for Xilinx ZynqMP" 5108b242ca7SSai Krishna Potthuri depends on ZYNQMP_FIRMWARE 5118b242ca7SSai Krishna Potthuri select PINMUX 5128b242ca7SSai Krishna Potthuri select GENERIC_PINCONF 5138b242ca7SSai Krishna Potthuri default ZYNQMP_FIRMWARE 5148b242ca7SSai Krishna Potthuri help 5158b242ca7SSai Krishna Potthuri This selects the pinctrl driver for Xilinx ZynqMP platform. 5168b242ca7SSai Krishna Potthuri This driver will query the pin information from the firmware 5178b242ca7SSai Krishna Potthuri and allow configuring the pins. 5188b242ca7SSai Krishna Potthuri Configuration can include the mux function to select on those 5198b242ca7SSai Krishna Potthuri pin(s)/group(s), and various pin configuration parameters 5208b242ca7SSai Krishna Potthuri such as pull-up, slew rate, etc. 521fa99e701SSai Krishna Potthuri This driver can also be built as a module. If so, the module 522fa99e701SSai Krishna Potthuri will be called pinctrl-zynqmp. 5238b242ca7SSai Krishna Potthuri 5242242ddfbSManivannan Sadhasivamsource "drivers/pinctrl/actions/Kconfig" 5254d3d0e42SAndrew Jefferysource "drivers/pinctrl/aspeed/Kconfig" 5262744e8afSLinus Walleijsource "drivers/pinctrl/bcm/Kconfig" 5272744e8afSLinus Walleijsource "drivers/pinctrl/berlin/Kconfig" 528b124c8bdSAndy Shevchenkosource "drivers/pinctrl/cirrus/Kconfig" 5292744e8afSLinus Walleijsource "drivers/pinctrl/freescale/Kconfig" 5302744e8afSLinus Walleijsource "drivers/pinctrl/intel/Kconfig" 531b124c8bdSAndy Shevchenkosource "drivers/pinctrl/mediatek/Kconfig" 532b124c8bdSAndy Shevchenkosource "drivers/pinctrl/meson/Kconfig" 5332744e8afSLinus Walleijsource "drivers/pinctrl/mvebu/Kconfig" 5342744e8afSLinus Walleijsource "drivers/pinctrl/nomadik/Kconfig" 5353b588e43STomer Maimonsource "drivers/pinctrl/nuvoton/Kconfig" 5362744e8afSLinus Walleijsource "drivers/pinctrl/pxa/Kconfig" 5372744e8afSLinus Walleijsource "drivers/pinctrl/qcom/Kconfig" 538518b466aSSergio Paracuellossource "drivers/pinctrl/ralink/Kconfig" 539077365a9SGeert Uytterhoevensource "drivers/pinctrl/renesas/Kconfig" 5402744e8afSLinus Walleijsource "drivers/pinctrl/samsung/Kconfig" 5412744e8afSLinus Walleijsource "drivers/pinctrl/spear/Kconfig" 54241d32cfcSBaolin Wangsource "drivers/pinctrl/sprd/Kconfig" 5432744e8afSLinus Walleijsource "drivers/pinctrl/stm32/Kconfig" 544aa74c44bSWells Lusource "drivers/pinctrl/sunplus/Kconfig" 5452744e8afSLinus Walleijsource "drivers/pinctrl/sunxi/Kconfig" 5462744e8afSLinus Walleijsource "drivers/pinctrl/tegra/Kconfig" 547003910ebSNishanth Menonsource "drivers/pinctrl/ti/Kconfig" 5482744e8afSLinus Walleijsource "drivers/pinctrl/uniphier/Kconfig" 549a68a7844SNobuhiro Iwamatsusource "drivers/pinctrl/visconti/Kconfig" 550b124c8bdSAndy Shevchenkosource "drivers/pinctrl/vt8500/Kconfig" 5511948d5c5SRahul Tanwar 552d219b924SPhil Reidendif 553