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 34a0f160ffSJoey Goulyconfig PINCTRL_APPLE_GPIO 35a0f160ffSJoey Gouly tristate "Apple SoC GPIO pin controller driver" 36a0f160ffSJoey Gouly depends on ARCH_APPLE 37a0f160ffSJoey Gouly select PINMUX 38a0f160ffSJoey Gouly select GPIOLIB 39a0f160ffSJoey Gouly select GPIOLIB_IRQCHIP 40a0f160ffSJoey Gouly select GENERIC_PINCTRL_GROUPS 41a0f160ffSJoey Gouly select GENERIC_PINMUX_FUNCTIONS 42a0f160ffSJoey Gouly select OF_GPIO 43a0f160ffSJoey Gouly help 44a0f160ffSJoey Gouly This is the driver for the GPIO controller found on Apple ARM SoCs, 45a0f160ffSJoey Gouly including M1. 46a0f160ffSJoey Gouly 47a0f160ffSJoey Gouly This driver can also be built as a module. If so, the module 48a0f160ffSJoey Gouly will be called pinctrl-apple-gpio. 49a0f160ffSJoey Gouly 5000df0582SJesper Nilssonconfig PINCTRL_ARTPEC6 5100df0582SJesper Nilsson bool "Axis ARTPEC-6 pin controller driver" 5200df0582SJesper Nilsson depends on MACH_ARTPEC6 5300df0582SJesper Nilsson select PINMUX 5400df0582SJesper Nilsson select GENERIC_PINCONF 5500df0582SJesper Nilsson help 5600df0582SJesper Nilsson This is the driver for the Axis ARTPEC-6 pin controller. This driver 5700df0582SJesper Nilsson supports pin function multiplexing as well as pin bias and drive 5800df0582SJesper Nilsson strength configuration. Device tree integration instructions can be 5900df0582SJesper Nilsson found in Documentation/devicetree/bindings/pinctrl/axis,artpec6-pinctrl.txt 6000df0582SJesper Nilsson 61c8ce8782SLaxman Dewanganconfig PINCTRL_AS3722 629385f35dSPaul Gortmaker tristate "Pinctrl and GPIO driver for ams AS3722 PMIC" 63c8ce8782SLaxman Dewangan depends on MFD_AS3722 && GPIOLIB 64c8ce8782SLaxman Dewangan select PINMUX 65c8ce8782SLaxman Dewangan select GENERIC_PINCONF 66c8ce8782SLaxman Dewangan help 67c8ce8782SLaxman Dewangan AS3722 device supports the configuration of GPIO pins for different 68c8ce8782SLaxman Dewangan functionality. This driver supports the pinmux, push-pull and 69c8ce8782SLaxman Dewangan open drain configuration for the GPIO pins of AS3722 devices. It also 70c8ce8782SLaxman Dewangan supports the GPIO functionality through gpiolib. 71c8ce8782SLaxman Dewangan 72449317a8SQuentin Schulzconfig PINCTRL_AXP209 73449317a8SQuentin Schulz tristate "X-Powers AXP209 PMIC pinctrl and GPIO Support" 74449317a8SQuentin Schulz depends on MFD_AXP20X 75971f1b38SQuentin Schulz depends on OF 76971f1b38SQuentin Schulz select PINMUX 77971f1b38SQuentin Schulz select GENERIC_PINCONF 78971f1b38SQuentin Schulz select GPIOLIB 79449317a8SQuentin Schulz help 80449317a8SQuentin Schulz AXP PMICs provides multiple GPIOs that can be muxed for different 81449317a8SQuentin Schulz functions. This driver bundles a pinctrl driver to select the function 82449317a8SQuentin Schulz muxing and a GPIO driver to handle the GPIO when the GPIO function is 83449317a8SQuentin Schulz selected. 84449317a8SQuentin Schulz Say yes to enable pinctrl and GPIO support for the AXP209 PMIC 85449317a8SQuentin Schulz 866732ae5cSJean-Christophe PLAGNIOL-VILLARDconfig PINCTRL_AT91 876732ae5cSJean-Christophe PLAGNIOL-VILLARD bool "AT91 pinctrl driver" 886732ae5cSJean-Christophe PLAGNIOL-VILLARD depends on OF 896732ae5cSJean-Christophe PLAGNIOL-VILLARD depends on ARCH_AT91 906732ae5cSJean-Christophe PLAGNIOL-VILLARD select PINMUX 916732ae5cSJean-Christophe PLAGNIOL-VILLARD select PINCONF 9280cc3732SAlexander Stein select GPIOLIB 9380cc3732SAlexander Stein select OF_GPIO 9480cc3732SAlexander Stein select GPIOLIB_IRQCHIP 956732ae5cSJean-Christophe PLAGNIOL-VILLARD help 966732ae5cSJean-Christophe PLAGNIOL-VILLARD Say Y here to enable the at91 pinctrl driver 976732ae5cSJean-Christophe PLAGNIOL-VILLARD 9877618084SLudovic Desrochesconfig PINCTRL_AT91PIO4 9977618084SLudovic Desroches bool "AT91 PIO4 pinctrl driver" 10077618084SLudovic Desroches depends on OF 1010a03658dSTiezhu Yang depends on HAS_IOMEM 102e682fcc7STiezhu Yang depends on ARCH_AT91 || COMPILE_TEST 10377618084SLudovic Desroches select PINMUX 10477618084SLudovic Desroches select GENERIC_PINCONF 10577618084SLudovic Desroches select GPIOLIB 10677618084SLudovic Desroches select GPIOLIB_IRQCHIP 10777618084SLudovic Desroches select OF_GPIO 10877618084SLudovic Desroches help 10977618084SLudovic Desroches Say Y here to enable the at91 pinctrl/gpio driver for Atmel PIO4 11077618084SLudovic Desroches controller available on sama5d2 SoC. 11177618084SLudovic Desroches 112dbad75ddSKen Xueconfig PINCTRL_AMD 113337ea0fbSJean Delvare tristate "AMD GPIO pin control" 114fd35b202SLinus Walleij depends on HAS_IOMEM 11547fa5c97SGeert Uytterhoeven depends on ACPI || COMPILE_TEST 116e2a021d4SLinus Walleij select GPIOLIB 117dbad75ddSKen Xue select GPIOLIB_IRQCHIP 11883b31c2aSPetr Mladek select PINMUX 119dbad75ddSKen Xue select PINCONF 120dbad75ddSKen Xue select GENERIC_PINCONF 121dbad75ddSKen Xue help 122dbad75ddSKen Xue driver for memory mapped GPIO functionality on AMD platforms 123dbad75ddSKen Xue (x86 or arm).Most pins are usually muxed to some other 124dbad75ddSKen Xue functionality by firmware,so only a small amount is available 125dbad75ddSKen Xue for gpio use. 126dbad75ddSKen Xue 127dbad75ddSKen Xue Requires ACPI/FDT device enumeration code to set up a platform 128dbad75ddSKen Xue device. 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 1391ff91f0aSDavid Lechner tristate "TI DA850/OMAP-L138/AM18XX pullup/pulldown 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 1451ff91f0aSDavid Lechner pullup/pulldown 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 15756cc3af4SMarco Felsch Say yes 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 1653f8c50c9SJohn Crispinconfig PINCTRL_LANTIQ 1663f8c50c9SJohn Crispin bool 1673f8c50c9SJohn Crispin depends on LANTIQ 1683f8c50c9SJohn Crispin select PINMUX 1693f8c50c9SJohn Crispin select PINCONF 1703f8c50c9SJohn Crispin 1712f77ac93SJoachim Eastwoodconfig PINCTRL_LPC18XX 1722f77ac93SJoachim Eastwood bool "NXP LPC18XX/43XX SCU pinctrl driver" 1732f77ac93SJoachim Eastwood depends on OF && (ARCH_LPC18XX || COMPILE_TEST) 1742f77ac93SJoachim Eastwood default ARCH_LPC18XX 1752f77ac93SJoachim Eastwood select PINMUX 1762f77ac93SJoachim Eastwood select GENERIC_PINCONF 1772f77ac93SJoachim Eastwood help 1782f77ac93SJoachim Eastwood Pinctrl driver for NXP LPC18xx/43xx System Control Unit (SCU). 1792f77ac93SJoachim Eastwood 180e316cb2bSJohn Crispinconfig PINCTRL_FALCON 181e316cb2bSJohn Crispin bool 182e316cb2bSJohn Crispin depends on SOC_FALCON 183e316cb2bSJohn Crispin depends on PINCTRL_LANTIQ 184e316cb2bSJohn Crispin 18506351d13SLinus Walleijconfig PINCTRL_GEMINI 18606351d13SLinus Walleij bool 18706351d13SLinus Walleij depends on ARCH_GEMINI 18806351d13SLinus Walleij default ARCH_GEMINI 18906351d13SLinus Walleij select PINMUX 1901c5b7f3cSLinus Walleij select GENERIC_PINCONF 19106351d13SLinus Walleij select MFD_SYSCON 19206351d13SLinus Walleij 1930f04a817SAndy Shevchenkoconfig PINCTRL_MCP23S08_I2C 1940f04a817SAndy Shevchenko tristate 1950f04a817SAndy Shevchenko select REGMAP_I2C 1960f04a817SAndy Shevchenko 1970f04a817SAndy Shevchenkoconfig PINCTRL_MCP23S08_SPI 1980f04a817SAndy Shevchenko tristate 1990f04a817SAndy Shevchenko select REGMAP_SPI 2000f04a817SAndy Shevchenko 20164ac43e6SSebastian Reichelconfig PINCTRL_MCP23S08 20264ac43e6SSebastian Reichel tristate "Microchip MCP23xxx I/O expander" 20364ac43e6SSebastian Reichel depends on SPI_MASTER || I2C 204e2a021d4SLinus Walleij select GPIOLIB 20564ac43e6SSebastian Reichel select GPIOLIB_IRQCHIP 20682039d24SSebastian Reichel select GENERIC_PINCONF 2070f04a817SAndy Shevchenko select PINCTRL_MCP23S08_I2C if I2C 2080f04a817SAndy Shevchenko select PINCTRL_MCP23S08_SPI if SPI_MASTER 20964ac43e6SSebastian Reichel help 2106ff45566SJan Kundrát SPI/I2C driver for Microchip MCP23S08 / MCP23S17 / MCP23S18 / 2116ff45566SJan Kundrát MCP23008 / MCP23017 / MCP23018 I/O expanders. 2126ff45566SJan Kundrát This provides a GPIO interface supporting inputs and outputs and a 2136ff45566SJan Kundrát corresponding interrupt-controller. 21464ac43e6SSebastian Reichel 215611dac1eSNeil Armstrongconfig PINCTRL_OXNAS 216611dac1eSNeil Armstrong bool 217611dac1eSNeil Armstrong depends on OF 218611dac1eSNeil Armstrong select PINMUX 219611dac1eSNeil Armstrong select PINCONF 220611dac1eSNeil Armstrong select GENERIC_PINCONF 221611dac1eSNeil Armstrong select GPIOLIB 222611dac1eSNeil Armstrong select OF_GPIO 223611dac1eSNeil Armstrong select GPIOLIB_IRQCHIP 224611dac1eSNeil Armstrong select MFD_SYSCON 225611dac1eSNeil Armstrong 226d3e51161SHeiko Stübnerconfig PINCTRL_ROCKCHIP 227be786ac5SJianqun Xu tristate "Rockchip gpio and pinctrl driver" 228febb4ee2SGeert Uytterhoeven depends on ARCH_ROCKCHIP || COMPILE_TEST 2290662e4a1SHeiko Stuebner depends on OF 23025fda51cSJianqun Xu select GPIOLIB 231d3e51161SHeiko Stübner select PINMUX 232d3e51161SHeiko Stübner select GENERIC_PINCONF 233d3e51161SHeiko Stübner select GENERIC_IRQ_CHIP 234751a99abSHeiko Stübner select MFD_SYSCON 2350662e4a1SHeiko Stuebner select OF_GPIO 23625fda51cSJianqun Xu default ARCH_ROCKCHIP 23725fda51cSJianqun Xu help 23825fda51cSJianqun Xu This support pinctrl and gpio driver for Rockchip SoCs. 239d3e51161SHeiko Stübner 2408b8b091bSTony Lindgrenconfig PINCTRL_SINGLE 2418b8b091bSTony Lindgren tristate "One-register-per-pin type device tree based pinctrl driver" 2428b8b091bSTony Lindgren depends on OF 243fd35b202SLinus Walleij depends on HAS_IOMEM 244caeb774eSTony Lindgren select GENERIC_PINCTRL_GROUPS 245571aec4dSTony Lindgren select GENERIC_PINMUX_FUNCTIONS 2469dddb4dfSHaojian Zhuang select GENERIC_PINCONF 2478b8b091bSTony Lindgren help 2488b8b091bSTony Lindgren This selects the device tree based generic pinctrl driver. 2498b8b091bSTony Lindgren 2509e80f906SNeil Armstrongconfig PINCTRL_SX150X 2519e80f906SNeil Armstrong bool "Semtech SX150x I2C GPIO expander pinctrl driver" 252e2a021d4SLinus Walleij depends on I2C=y 2539e80f906SNeil Armstrong select PINMUX 2549e80f906SNeil Armstrong select PINCONF 2559e80f906SNeil Armstrong select GENERIC_PINCONF 256e2a021d4SLinus Walleij select GPIOLIB 2579e80f906SNeil Armstrong select GPIOLIB_IRQCHIP 2580db0f26cSAndrey Smirnov select REGMAP 2599e80f906SNeil Armstrong help 2609e80f906SNeil Armstrong Say yes here to provide support for Semtech SX150x-series I2C 2619e80f906SNeil Armstrong GPIO expanders as pinctrl module. 2629e80f906SNeil Armstrong Compatible models include: 2639e80f906SNeil Armstrong - 8 bits: sx1508q, sx1502q 2649e80f906SNeil Armstrong - 16 bits: sx1509q, sx1506q 2659e80f906SNeil Armstrong 266cefc03e5SAndrew Brestickerconfig PINCTRL_PISTACHIO 2676ceb3c64SJiaxun Yang bool "IMG Pistachio SoC pinctrl driver" 2686ceb3c64SJiaxun Yang depends on OF && (MIPS || COMPILE_TEST) 269cefc03e5SAndrew Bresticker depends on GPIOLIB 270cefc03e5SAndrew Bresticker select PINMUX 271cefc03e5SAndrew Bresticker select GENERIC_PINCONF 272cefc03e5SAndrew Bresticker select GPIOLIB_IRQCHIP 273cefc03e5SAndrew Bresticker select OF_GPIO 2746ceb3c64SJiaxun Yang help 2756ceb3c64SJiaxun Yang This support pinctrl and gpio driver for IMG Pistachio SoC. 276cefc03e5SAndrew Bresticker 277701016c0SSrinivas KANDAGATLAconfig PINCTRL_ST 278701016c0SSrinivas KANDAGATLA bool 279701016c0SSrinivas KANDAGATLA depends on OF 280701016c0SSrinivas KANDAGATLA select PINMUX 281701016c0SSrinivas KANDAGATLA select PINCONF 282130cbe30SLinus Walleij select GPIOLIB_IRQCHIP 283701016c0SSrinivas KANDAGATLA 284*ec648f6bSEmil Renner Berthingconfig PINCTRL_STARFIVE 285*ec648f6bSEmil Renner Berthing tristate "Pinctrl and GPIO driver for the StarFive JH7100 SoC" 286*ec648f6bSEmil Renner Berthing depends on SOC_STARFIVE || COMPILE_TEST 287*ec648f6bSEmil Renner Berthing depends on OF 288*ec648f6bSEmil Renner Berthing default SOC_STARFIVE 289*ec648f6bSEmil Renner Berthing select GENERIC_PINCTRL_GROUPS 290*ec648f6bSEmil Renner Berthing select GENERIC_PINMUX_FUNCTIONS 291*ec648f6bSEmil Renner Berthing select GENERIC_PINCONF 292*ec648f6bSEmil Renner Berthing select GPIOLIB 293*ec648f6bSEmil Renner Berthing select GPIOLIB_IRQCHIP 294*ec648f6bSEmil Renner Berthing select OF_GPIO 295*ec648f6bSEmil Renner Berthing help 296*ec648f6bSEmil Renner Berthing Say yes here to support pin control on the StarFive JH7100 SoC. 297*ec648f6bSEmil Renner Berthing This also provides an interface to the GPIO pins not used by other 298*ec648f6bSEmil Renner Berthing peripherals supporting inputs, outputs, configuring pull-up/pull-down 299*ec648f6bSEmil Renner Berthing and interrupts on input changes. 300*ec648f6bSEmil Renner Berthing 3011490d9f8SAmelie Delaunayconfig PINCTRL_STMFX 3021490d9f8SAmelie Delaunay tristate "STMicroelectronics STMFX GPIO expander pinctrl driver" 3039af2de76SAmelie Delaunay depends on I2C 304ec2e0f4fSAmelie Delaunay depends on OF_GPIO 3051490d9f8SAmelie Delaunay select GENERIC_PINCONF 3061490d9f8SAmelie Delaunay select GPIOLIB_IRQCHIP 3071490d9f8SAmelie Delaunay select MFD_STMFX 3081490d9f8SAmelie Delaunay help 3091490d9f8SAmelie Delaunay Driver for STMicroelectronics Multi-Function eXpander (STMFX) 3101490d9f8SAmelie Delaunay GPIO expander. 3111490d9f8SAmelie Delaunay This provides a GPIO interface supporting inputs and outputs, 3121490d9f8SAmelie Delaunay and configuring push-pull, open-drain, and can also be used as 3131490d9f8SAmelie Delaunay interrupt-controller. 3141490d9f8SAmelie Delaunay 3152df723d4SLaxman Dewanganconfig PINCTRL_MAX77620 3162df723d4SLaxman Dewangan tristate "MAX77620/MAX20024 Pincontrol support" 31724d6a91cSArnd Bergmann depends on MFD_MAX77620 && OF 31879f28b9fSArnd Bergmann select PINMUX 3192df723d4SLaxman Dewangan select GENERIC_PINCONF 3202df723d4SLaxman Dewangan help 3212df723d4SLaxman Dewangan Say Yes here to enable Pin control support for Maxim PMIC MAX77620. 3222df723d4SLaxman Dewangan This PMIC has 8 GPIO pins that work as GPIO as well as special 3232df723d4SLaxman Dewangan function in alternate mode. This driver also configure push-pull, 3242df723d4SLaxman Dewangan open drain, FPS slots etc. 3252df723d4SLaxman Dewangan 3260a8d3e24SLaxman Dewanganconfig PINCTRL_PALMAS 327767b8ce3SPaul Gortmaker tristate "Pinctrl driver for the PALMAS Series MFD devices" 3280a8d3e24SLaxman Dewangan depends on OF && MFD_PALMAS 32963ca8db7SAxel Lin select PINMUX 3300a8d3e24SLaxman Dewangan select GENERIC_PINCONF 3310a8d3e24SLaxman Dewangan help 3320a8d3e24SLaxman Dewangan Palmas device supports the configuration of pins for different 3330a8d3e24SLaxman Dewangan functionality. This driver supports the pinmux, push-pull and 3340a8d3e24SLaxman Dewangan open drain configuration for the Palmas series devices like 3350a8d3e24SLaxman Dewangan TPS65913, TPS80036 etc. 3360a8d3e24SLaxman Dewangan 3372ba384e6SJoshua Hendersonconfig PINCTRL_PIC32 3382ba384e6SJoshua Henderson bool "Microchip PIC32 pin controller driver" 3392ba384e6SJoshua Henderson depends on OF 3402ba384e6SJoshua Henderson depends on MACH_PIC32 3412ba384e6SJoshua Henderson select PINMUX 3422ba384e6SJoshua Henderson select GENERIC_PINCONF 3432ba384e6SJoshua Henderson select GPIOLIB_IRQCHIP 3442ba384e6SJoshua Henderson select OF_GPIO 3452ba384e6SJoshua Henderson help 3462ba384e6SJoshua Henderson This is the pin controller and gpio driver for Microchip PIC32 3472ba384e6SJoshua Henderson microcontrollers. This option is selected automatically when specific 3482ba384e6SJoshua Henderson machine and arch are selected to build. 3492ba384e6SJoshua Henderson 3502ba384e6SJoshua Hendersonconfig PINCTRL_PIC32MZDA 3512ba384e6SJoshua Henderson def_bool y if PIC32MZDA 3522ba384e6SJoshua Henderson select PINCTRL_PIC32 3532ba384e6SJoshua Henderson 354add958ceSSoren Brinkmannconfig PINCTRL_ZYNQ 355add958ceSSoren Brinkmann bool "Pinctrl driver for Xilinx Zynq" 356add958ceSSoren Brinkmann depends on ARCH_ZYNQ 357add958ceSSoren Brinkmann select PINMUX 358add958ceSSoren Brinkmann select GENERIC_PINCONF 359add958ceSSoren Brinkmann help 360485dba27SMasahiro Yamada This selects the pinctrl driver for Xilinx Zynq. 361add958ceSSoren Brinkmann 3628b242ca7SSai Krishna Potthuriconfig PINCTRL_ZYNQMP 3638b242ca7SSai Krishna Potthuri tristate "Pinctrl driver for Xilinx ZynqMP" 3648b242ca7SSai Krishna Potthuri depends on ZYNQMP_FIRMWARE 3658b242ca7SSai Krishna Potthuri select PINMUX 3668b242ca7SSai Krishna Potthuri select GENERIC_PINCONF 3678b242ca7SSai Krishna Potthuri default ZYNQMP_FIRMWARE 3688b242ca7SSai Krishna Potthuri help 3698b242ca7SSai Krishna Potthuri This selects the pinctrl driver for Xilinx ZynqMP platform. 3708b242ca7SSai Krishna Potthuri This driver will query the pin information from the firmware 3718b242ca7SSai Krishna Potthuri and allow configuring the pins. 3728b242ca7SSai Krishna Potthuri Configuration can include the mux function to select on those 3738b242ca7SSai Krishna Potthuri pin(s)/group(s), and various pin configuration parameters 3748b242ca7SSai Krishna Potthuri such as pull-up, slew rate, etc. 375fa99e701SSai Krishna Potthuri This driver can also be built as a module. If so, the module 376fa99e701SSai Krishna Potthuri will be called pinctrl-zynqmp. 3778b242ca7SSai Krishna Potthuri 378b5c23aa4SPaul Cercueilconfig PINCTRL_INGENIC 379b5c23aa4SPaul Cercueil bool "Pinctrl driver for the Ingenic JZ47xx SoCs" 380635c20a1SPaul Cercueil default MACH_INGENIC 381c504985eSLinus Walleij depends on OF 382635c20a1SPaul Cercueil depends on MIPS || COMPILE_TEST 383b5c23aa4SPaul Cercueil select GENERIC_PINCONF 384b5c23aa4SPaul Cercueil select GENERIC_PINCTRL_GROUPS 385b5c23aa4SPaul Cercueil select GENERIC_PINMUX_FUNCTIONS 386e72394e2SPaul Cercueil select GPIOLIB 387e72394e2SPaul Cercueil select GPIOLIB_IRQCHIP 388b5c23aa4SPaul Cercueil select REGMAP_MMIO 389b5c23aa4SPaul Cercueil 390ea479996SJoseph Chenconfig PINCTRL_RK805 391ea479996SJoseph Chen tristate "Pinctrl and GPIO driver for RK805 PMIC" 392ea479996SJoseph Chen depends on MFD_RK808 393ea479996SJoseph Chen select GPIOLIB 394ea479996SJoseph Chen select PINMUX 395ea479996SJoseph Chen select GENERIC_PINCONF 396ea479996SJoseph Chen help 397ea479996SJoseph Chen This selects the pinctrl driver for RK805. 398ea479996SJoseph Chen 399ce8dc094SAlexandre Belloniconfig PINCTRL_OCELOT 400da801ab5SAlexandre Belloni bool "Pinctrl driver for the Microsemi Ocelot and Jaguar2 SoCs" 401ce8dc094SAlexandre Belloni depends on OF 4022dab3dd1SLinus Walleij depends on HAS_IOMEM 403ce8dc094SAlexandre Belloni select GPIOLIB 404be36abb7SQuentin Schulz select GPIOLIB_IRQCHIP 405ce8dc094SAlexandre Belloni select GENERIC_PINCONF 406ce8dc094SAlexandre Belloni select GENERIC_PINCTRL_GROUPS 407ce8dc094SAlexandre Belloni select GENERIC_PINMUX_FUNCTIONS 408da801ab5SAlexandre Belloni select OF_GPIO 409ce8dc094SAlexandre Belloni select REGMAP_MMIO 410ce8dc094SAlexandre Belloni 4117e5ea974SLars Povlsenconfig PINCTRL_MICROCHIP_SGPIO 4127e5ea974SLars Povlsen bool "Pinctrl driver for Microsemi/Microchip Serial GPIO" 413552a9cc0SLars Povlsen depends on OF 4147e5ea974SLars Povlsen depends on HAS_IOMEM 4157e5ea974SLars Povlsen select GPIOLIB 416be2dc859SLars Povlsen select GPIOLIB_IRQCHIP 4177e5ea974SLars Povlsen select GENERIC_PINCONF 4187e5ea974SLars Povlsen select GENERIC_PINCTRL_GROUPS 4197e5ea974SLars Povlsen select GENERIC_PINMUX_FUNCTIONS 420552a9cc0SLars Povlsen select OF_GPIO 4217e5ea974SLars Povlsen help 4227e5ea974SLars Povlsen Support for the serial GPIO interface used on Microsemi and 4237e5ea974SLars Povlsen Microchip SoC's. By using a serial interface, the SIO 4247e5ea974SLars Povlsen controller significantly extends the number of available 4257e5ea974SLars Povlsen GPIOs with a minimum number of additional pins on the 4267e5ea974SLars Povlsen device. The primary purpose of the SIO controller is to 4277e5ea974SLars Povlsen connect control signals from SFP modules and to act as an 4287e5ea974SLars Povlsen LED controller. 4297e5ea974SLars Povlsen 430d4c34d09SDamien Le Moalconfig PINCTRL_K210 431d4c34d09SDamien Le Moal bool "Pinctrl driver for the Canaan Kendryte K210 SoC" 432d4c34d09SDamien Le Moal depends on RISCV && SOC_CANAAN && OF 433d4c34d09SDamien Le Moal select GENERIC_PINMUX_FUNCTIONS 434d4c34d09SDamien Le Moal select GENERIC_PINCONF 435d4c34d09SDamien Le Moal select GPIOLIB 436d4c34d09SDamien Le Moal select OF_GPIO 437d4c34d09SDamien Le Moal select REGMAP_MMIO 438d4c34d09SDamien Le Moal default SOC_CANAAN 439d4c34d09SDamien Le Moal help 440d4c34d09SDamien Le Moal Add support for the Canaan Kendryte K210 RISC-V SOC Field 441d4c34d09SDamien Le Moal Programmable IO Array (FPIOA) controller. 442d4c34d09SDamien Le Moal 443ffd4e739SLakshmi Sowjanya Dconfig PINCTRL_KEEMBAY 444ffd4e739SLakshmi Sowjanya D tristate "Pinctrl driver for Intel Keem Bay SoC" 445ffd4e739SLakshmi Sowjanya D depends on ARCH_KEEMBAY || (ARM64 && COMPILE_TEST) 446ffd4e739SLakshmi Sowjanya D depends on HAS_IOMEM 447ffd4e739SLakshmi Sowjanya D select PINMUX 448ffd4e739SLakshmi Sowjanya D select PINCONF 449ffd4e739SLakshmi Sowjanya D select GENERIC_PINCONF 450ffd4e739SLakshmi Sowjanya D select GENERIC_PINCTRL_GROUPS 451ffd4e739SLakshmi Sowjanya D select GENERIC_PINMUX_FUNCTIONS 452ffd4e739SLakshmi Sowjanya D select GPIOLIB 453ffd4e739SLakshmi Sowjanya D select GPIOLIB_IRQCHIP 454ffd4e739SLakshmi Sowjanya D select GPIO_GENERIC 455ffd4e739SLakshmi Sowjanya D help 456ffd4e739SLakshmi Sowjanya D This selects pin control driver for the Intel Keembay SoC. 457ffd4e739SLakshmi Sowjanya D It provides pin config functions such as pullup, pulldown, 458ffd4e739SLakshmi Sowjanya D interrupt, drive strength, sec lock, schmitt trigger, slew 459ffd4e739SLakshmi Sowjanya D rate control and direction control. This module will be 460ffd4e739SLakshmi Sowjanya D called as pinctrl-keembay. 461ffd4e739SLakshmi Sowjanya D 4622242ddfbSManivannan Sadhasivamsource "drivers/pinctrl/actions/Kconfig" 4634d3d0e42SAndrew Jefferysource "drivers/pinctrl/aspeed/Kconfig" 464b17f2f9bSRay Juisource "drivers/pinctrl/bcm/Kconfig" 4653de68d33SAntoine Tenartsource "drivers/pinctrl/berlin/Kconfig" 466edad3b2aSLinus Walleijsource "drivers/pinctrl/freescale/Kconfig" 4675fae8b86SMika Westerbergsource "drivers/pinctrl/intel/Kconfig" 46806763c74SThomas Petazzonisource "drivers/pinctrl/mvebu/Kconfig" 4693a198059SLinus Walleijsource "drivers/pinctrl/nomadik/Kconfig" 4703b588e43STomer Maimonsource "drivers/pinctrl/nuvoton/Kconfig" 4714b15ec9dSRobert Jarzmiksource "drivers/pinctrl/pxa/Kconfig" 47269b78b8dSLinus Walleijsource "drivers/pinctrl/qcom/Kconfig" 473518b466aSSergio Paracuellossource "drivers/pinctrl/ralink/Kconfig" 474077365a9SGeert Uytterhoevensource "drivers/pinctrl/renesas/Kconfig" 475ebe629a3SSachin Kamatsource "drivers/pinctrl/samsung/Kconfig" 476deda8287SViresh Kumarsource "drivers/pinctrl/spear/Kconfig" 47741d32cfcSBaolin Wangsource "drivers/pinctrl/sprd/Kconfig" 478aceb16dcSMaxime Coquelinsource "drivers/pinctrl/stm32/Kconfig" 4795f910777SMaxime Ripardsource "drivers/pinctrl/sunxi/Kconfig" 48025cbac77SMasahiro Yamadasource "drivers/pinctrl/tegra/Kconfig" 481003910ebSNishanth Menonsource "drivers/pinctrl/ti/Kconfig" 4826e908892SMasahiro Yamadasource "drivers/pinctrl/uniphier/Kconfig" 483170c6152STony Prisksource "drivers/pinctrl/vt8500/Kconfig" 484a6df410dSHongzhou Yangsource "drivers/pinctrl/mediatek/Kconfig" 485277d14ebSJerome Brunetsource "drivers/pinctrl/meson/Kconfig" 486218d72a7SRichard Fitzgeraldsource "drivers/pinctrl/cirrus/Kconfig" 487a68a7844SNobuhiro Iwamatsusource "drivers/pinctrl/visconti/Kconfig" 488deda8287SViresh Kumar 4893f8c50c9SJohn Crispinconfig PINCTRL_XWAY 4903f8c50c9SJohn Crispin bool 4913f8c50c9SJohn Crispin depends on SOC_TYPE_XWAY 4923f8c50c9SJohn Crispin depends on PINCTRL_LANTIQ 4933f8c50c9SJohn Crispin 4945aad0db1SChristian Ruppertconfig PINCTRL_TB10X 4955aad0db1SChristian Ruppert bool 496b99e6fb8SLinus Walleij depends on OF && ARC_PLAT_TB10X 497b99e6fb8SLinus Walleij select GPIOLIB 4985aad0db1SChristian Ruppert 4991948d5c5SRahul Tanwarconfig PINCTRL_EQUILIBRIUM 5001948d5c5SRahul Tanwar tristate "Generic pinctrl and GPIO driver for Intel Lightning Mountain SoC" 5019e65527aSPaul Cercueil depends on OF && HAS_IOMEM 50280691a8aSGeert Uytterhoeven depends on X86 || COMPILE_TEST 5031948d5c5SRahul Tanwar select PINMUX 5041948d5c5SRahul Tanwar select PINCONF 5051948d5c5SRahul Tanwar select GPIOLIB 5061948d5c5SRahul Tanwar select GPIO_GENERIC 5071948d5c5SRahul Tanwar select GPIOLIB_IRQCHIP 5081948d5c5SRahul Tanwar select GENERIC_PINCONF 5091948d5c5SRahul Tanwar select GENERIC_PINCTRL_GROUPS 5101948d5c5SRahul Tanwar select GENERIC_PINMUX_FUNCTIONS 5111948d5c5SRahul Tanwar 5121948d5c5SRahul Tanwar help 5131948d5c5SRahul Tanwar Equilibrium pinctrl driver is a pinctrl & GPIO driver for Intel Lightning 5141948d5c5SRahul Tanwar Mountain network processor SoC that supports both the linux GPIO and pin 5151948d5c5SRahul Tanwar control frameworks. It provides interfaces to setup pinmux, assign desired 5161948d5c5SRahul Tanwar pin functions, configure GPIO attributes for LGM SoC pins. Pinmux and 5171948d5c5SRahul Tanwar pinconf settings are retrieved from device tree. 5181948d5c5SRahul Tanwar 519d219b924SPhil Reidendif 520