1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only 2a9c5fff5SDavid Brownell# 3e849dc04SLinus Walleij# GPIO infrastructure and drivers 4a9c5fff5SDavid Brownell# 5a9c5fff5SDavid Brownell 6ef9f21c3SBartosz Golaszewskiconfig GPIOLIB_LEGACY 7ef9f21c3SBartosz Golaszewski def_bool y 8ef9f21c3SBartosz Golaszewski 9a060b8c5SBartosz Golaszewskiconfig HAVE_SHARED_GPIOS 10a060b8c5SBartosz Golaszewski bool 11a060b8c5SBartosz Golaszewski 127444a72eSMichael Bueschmenuconfig GPIOLIB 137444a72eSMichael Buesch bool "GPIO Support" 147444a72eSMichael Buesch help 157444a72eSMichael Buesch This enables GPIO support through the generic GPIO library. 16dd1695a2SRandy Dunlap You only need to enable this if you also want to enable 17e849dc04SLinus Walleij one or more of the GPIO drivers below. 187444a72eSMichael Buesch 197444a72eSMichael Buesch If unsure, say N. 207444a72eSMichael Buesch 21a86240a3SArnd Bergmannif GPIOLIB 22a86240a3SArnd Bergmann 233027743fSLaura Abbottconfig GPIOLIB_FASTPATH_LIMIT 243027743fSLaura Abbott int "Maximum number of GPIOs for fast path" 253027743fSLaura Abbott range 32 512 263027743fSLaura Abbott default 512 273027743fSLaura Abbott help 283027743fSLaura Abbott This adjusts the point at which certain APIs will switch from 293027743fSLaura Abbott using a stack allocated buffer to a dynamically allocated buffer. 303027743fSLaura Abbott 313027743fSLaura Abbott You shouldn't need to change this unless you really need to 323027743fSLaura Abbott optimize either stack space or performance. Change this carefully 333027743fSLaura Abbott since setting an incorrect value could cause stack corruption. 343027743fSLaura Abbott 35f141ed65SGrant Likelyconfig OF_GPIO 36f141ed65SGrant Likely def_bool y 3792c74bceSLinus Walleij depends on OF 382527ecc9SLinus Walleij depends on HAS_IOMEM 39f141ed65SGrant Likely 40e29482e8SMathias Nymanconfig GPIO_ACPI 41e29482e8SMathias Nyman def_bool y 42e29482e8SMathias Nyman depends on ACPI 43e29482e8SMathias Nyman 4414250520SLinus Walleijconfig GPIOLIB_IRQCHIP 45fc346270SLinus Walleij select IRQ_DOMAIN 4614250520SLinus Walleij bool 4714250520SLinus Walleij 48a060b8c5SBartosz Golaszewskiconfig GPIO_SHARED 49a060b8c5SBartosz Golaszewski def_bool y 50a060b8c5SBartosz Golaszewski depends on HAVE_SHARED_GPIOS || COMPILE_TEST 51a060b8c5SBartosz Golaszewski select AUXILIARY_BUS 52a060b8c5SBartosz Golaszewski 53a9c5fff5SDavid Brownellconfig DEBUG_GPIO 54a9c5fff5SDavid Brownell bool "Debug GPIO calls" 55a9c5fff5SDavid Brownell depends on DEBUG_KERNEL 56a9c5fff5SDavid Brownell help 57a9c5fff5SDavid Brownell Say Y here to add some extra checks and diagnostics to GPIO calls. 58692105b8SMatt LaPlante These checks help ensure that GPIOs have been properly initialized 59692105b8SMatt LaPlante before they are used, and that sleeping calls are not made from 60692105b8SMatt LaPlante non-sleeping contexts. They can make bitbanged serial protocols 61a9c5fff5SDavid Brownell slower. The diagnostics help catch the type of setup errors 62a9c5fff5SDavid Brownell that are most common when setting up new platforms or boards. 63a9c5fff5SDavid Brownell 64d8f388d8SDavid Brownellconfig GPIO_SYSFS 653b4feb21SLinus Walleij bool "/sys/class/gpio/... (sysfs interface)" if EXPERT 664c0ea233SKees Cook depends on SYSFS 673b4feb21SLinus Walleij select GPIO_CDEV # We need to encourage the new ABI 68d8f388d8SDavid Brownell help 69db9477f8SLinus Walleij Say Y here to add the legacy sysfs interface for GPIOs. 70d8f388d8SDavid Brownell 71db9477f8SLinus Walleij This ABI is deprecated. If you want to use GPIO from userspace, 72db9477f8SLinus Walleij use the character device /dev/gpiochipN with the appropriate 73d143493cSKent Gibson ioctl() operations instead. 74d143493cSKent Gibson 75e69c6db4SBartosz Golaszewskiconfig GPIO_SYSFS_LEGACY 76e69c6db4SBartosz Golaszewski bool "Enable legacy functionalities of the sysfs interface" 77e69c6db4SBartosz Golaszewski depends on GPIO_SYSFS 78e69c6db4SBartosz Golaszewski default y if GPIO_SYSFS 79e69c6db4SBartosz Golaszewski help 80e69c6db4SBartosz Golaszewski Say Y here if you want to enable the legacy, global GPIO 81e69c6db4SBartosz Golaszewski numberspace-based functionalities of the sysfs interface. 82e69c6db4SBartosz Golaszewski 83d143493cSKent Gibsonconfig GPIO_CDEV 843dcf0643SBartosz Golaszewski bool "Character device (/dev/gpiochipN) support" if EXPERT 85d143493cSKent Gibson default y 86d143493cSKent Gibson help 87d143493cSKent Gibson Say Y here to add the character device /dev/gpiochipN interface 88d143493cSKent Gibson for GPIOs. The character device allows userspace to control GPIOs 89d143493cSKent Gibson using ioctl() operations. 90d143493cSKent Gibson 91d143493cSKent Gibson Only say N if you are sure that the GPIO character device is not 92d143493cSKent Gibson required. 93d143493cSKent Gibson 94d143493cSKent Gibson If unsure, say Y. 95d8f388d8SDavid Brownell 96957ebb61SKent Gibsonconfig GPIO_CDEV_V1 97957ebb61SKent Gibson bool "Support GPIO ABI Version 1" 98957ebb61SKent Gibson depends on GPIO_CDEV 99957ebb61SKent Gibson help 100957ebb61SKent Gibson Say Y here to support version 1 of the GPIO CDEV ABI. 101957ebb61SKent Gibson 102957ebb61SKent Gibson This ABI version is deprecated. 103957ebb61SKent Gibson Please use the latest ABI for new developments. 104957ebb61SKent Gibson 105a6d2a3b4SBartosz Golaszewskiconfig GPIO_KUNIT 106a6d2a3b4SBartosz Golaszewski tristate "Build GPIO Kunit test cases" 107a6d2a3b4SBartosz Golaszewski depends on KUNIT 108a6d2a3b4SBartosz Golaszewski default KUNIT_ALL_TESTS 109a6d2a3b4SBartosz Golaszewski help 110a6d2a3b4SBartosz Golaszewski Say Y here to build the module containing Kunit test cases verifying 111a6d2a3b4SBartosz Golaszewski the functionality of the GPIO subsystem. 112a6d2a3b4SBartosz Golaszewski 113c103de24SGrant Likelyconfig GPIO_GENERIC 1143085a4a4SLinus Walleij depends on HAS_IOMEM # Only for IOMEM drivers 115c103de24SGrant Likely tristate 116c103de24SGrant Likely 117ebe36319SMichael Walleconfig GPIO_REGMAP 118d49765b5SRandy Dunlap select REGMAP 119ebe36319SMichael Walle tristate 120ebe36319SMichael Walle 1219d50f95bSCharles Keepaxconfig GPIO_SWNODE_UNDEFINED 1229d50f95bSCharles Keepax bool 1239d50f95bSCharles Keepax help 1249d50f95bSCharles Keepax This adds a special place holder for software nodes to contain an 1259d50f95bSCharles Keepax undefined GPIO reference, this is primarily used by SPI to allow a 1269d50f95bSCharles Keepax list of GPIO chip selects to mark a certain chip select as being 1279d50f95bSCharles Keepax controlled the SPI device's internal chip select mechanism and not 1289d50f95bSCharles Keepax a GPIO. 1299d50f95bSCharles Keepax 130e849dc04SLinus Walleij# put drivers in the right section, in alphabetical order 131a9c5fff5SDavid Brownell 132177b0381SLinus Walleij# This symbol is selected by both I2C and SPI expanders 133e952805dSWolfram Sangconfig GPIO_MAX730X 134e952805dSWolfram Sang tristate 135e952805dSWolfram Sang 136b9b1fc1aSWilliam Breathitt Grayconfig GPIO_IDIO_16 137b9b1fc1aSWilliam Breathitt Gray tristate 138db022478SWilliam Breathitt Gray select REGMAP_IRQ 139db022478SWilliam Breathitt Gray select GPIOLIB_IRQCHIP 140db022478SWilliam Breathitt Gray select GPIO_REGMAP 141b9b1fc1aSWilliam Breathitt Gray help 142b9b1fc1aSWilliam Breathitt Gray Enables support for the idio-16 library functions. The idio-16 library 143b9b1fc1aSWilliam Breathitt Gray provides functions to facilitate communication with devices within the 144b9b1fc1aSWilliam Breathitt Gray ACCES IDIO-16 family such as the 104-IDIO-16 and the PCI-IDIO-16. 145b9b1fc1aSWilliam Breathitt Gray 146b9b1fc1aSWilliam Breathitt Gray If built as a module its name will be gpio-idio-16. 147b9b1fc1aSWilliam Breathitt Gray 148177b0381SLinus Walleijmenu "Memory mapped GPIO drivers" 1493085a4a4SLinus Walleij depends on HAS_IOMEM 1500bcb6069SJohn Linn 151af0a33e2SAlexander Shiyanconfig GPIO_74XX_MMIO 152af0a33e2SAlexander Shiyan tristate "GPIO driver for 74xx-ICs with MMIO access" 1537803501eSBartosz Golaszewski depends on OF 154af0a33e2SAlexander Shiyan select GPIO_GENERIC 155af0a33e2SAlexander Shiyan help 156af0a33e2SAlexander Shiyan Say yes here to support GPIO functionality for 74xx-compatible ICs 157af0a33e2SAlexander Shiyan with MMIO access. Compatible models include: 158af0a33e2SAlexander Shiyan 1 bit: 741G125 (Input), 741G74 (Output) 159af0a33e2SAlexander Shiyan 2 bits: 742G125 (Input), 7474 (Output) 160af0a33e2SAlexander Shiyan 4 bits: 74125 (Input), 74175 (Output) 161af0a33e2SAlexander Shiyan 6 bits: 74365 (Input), 74174 (Output) 162af0a33e2SAlexander Shiyan 8 bits: 74244 (Input), 74273 (Output) 163af0a33e2SAlexander Shiyan 16 bits: 741624 (Input), 7416374 (Output) 164af0a33e2SAlexander Shiyan 165223fa272SLinus Walleijconfig GPIO_ALTERA 166223fa272SLinus Walleij tristate "Altera GPIO" 1676458c5dbSLinus Walleij select GPIO_GENERIC 168223fa272SLinus Walleij select GPIOLIB_IRQCHIP 169223fa272SLinus Walleij help 170223fa272SLinus Walleij Say Y or M here to build support for the Altera PIO device. 171223fa272SLinus Walleij 172223fa272SLinus Walleij If driver is built as a module it will be called gpio-altera. 173223fa272SLinus Walleij 1746057d40fSYD Tsengconfig GPIO_AMDPT 1756057d40fSYD Tseng tristate "AMD Promontory GPIO support" 1766057d40fSYD Tseng depends on ACPI 177574b782eSAxel Lin select GPIO_GENERIC 1786057d40fSYD Tseng help 179dd1695a2SRandy Dunlap Driver for GPIO functionality on Promontory IOHub. 180dd1695a2SRandy Dunlap Requires ACPI ASL code to enumerate as a platform device. 1816057d40fSYD Tseng 182361b7911SJoel Stanleyconfig GPIO_ASPEED 183361b7911SJoel Stanley tristate "Aspeed GPIO support" 1847803501eSBartosz Golaszewski depends on ARCH_ASPEED || COMPILE_TEST 185361b7911SJoel Stanley select GPIOLIB_IRQCHIP 186361b7911SJoel Stanley help 187361b7911SJoel Stanley Say Y here to support Aspeed AST2400 and AST2500 GPIO controllers. 188361b7911SJoel Stanley 189f8b410e3SLinus Walleijconfig GPIO_ASPEED_SGPIO 190f8b410e3SLinus Walleij bool "Aspeed SGPIO support" 1917803501eSBartosz Golaszewski depends on ARCH_ASPEED || COMPILE_TEST 192f8b410e3SLinus Walleij select GPIO_GENERIC 193f8b410e3SLinus Walleij select GPIOLIB_IRQCHIP 194f8b410e3SLinus Walleij help 195f8b410e3SLinus Walleij Say Y here to support Aspeed AST2500 SGPIO functionality. 196f8b410e3SLinus Walleij 197ab32770eSAlban Bedelconfig GPIO_ATH79 198ab32770eSAlban Bedel tristate "Atheros AR71XX/AR724X/AR913X GPIO support" 199ab32770eSAlban Bedel default y if ATH79 200409d8783SAlban Bedel depends on ATH79 || COMPILE_TEST 201ab32770eSAlban Bedel select GPIO_GENERIC 2022b8f89e1SAlban Bedel select GPIOLIB_IRQCHIP 203ab32770eSAlban Bedel help 204ab32770eSAlban Bedel Select this option to enable GPIO driver for 205ab32770eSAlban Bedel Atheros AR71XX/AR724X/AR913X SoC devices. 206ab32770eSAlban Bedel 207*dd36a4b7SPetar Stepanovicconfig GPIO_AXIADO_SGPIO 208*dd36a4b7SPetar Stepanovic tristate "Axiado AX3005 SGPIO support" 209*dd36a4b7SPetar Stepanovic depends on ARCH_AXIADO || COMPILE_TEST 210*dd36a4b7SPetar Stepanovic select GPIOLIB_IRQCHIP 211*dd36a4b7SPetar Stepanovic select GPIO_REGMAP 212*dd36a4b7SPetar Stepanovic select REGMAP_MMIO 213*dd36a4b7SPetar Stepanovic help 214*dd36a4b7SPetar Stepanovic Enable support for the Axiado AX3005 Serial GPIO (SGPIO) 215*dd36a4b7SPetar Stepanovic controller. 216*dd36a4b7SPetar Stepanovic 217*dd36a4b7SPetar Stepanovic The SGPIO controller provides a serialized interface for 218*dd36a4b7SPetar Stepanovic controlling multiple GPIO signals over a limited number of 219*dd36a4b7SPetar Stepanovic physical lines. Each signal is exposed as one input and one 220*dd36a4b7SPetar Stepanovic output line, and input lines can raise interrupts. 221*dd36a4b7SPetar Stepanovic 222*dd36a4b7SPetar Stepanovic This driver integrates with the Linux GPIO subsystem and 223*dd36a4b7SPetar Stepanovic exposes the controller as a standard GPIO provider. 224*dd36a4b7SPetar Stepanovic 225*dd36a4b7SPetar Stepanovic To compile this driver as a module, choose M here: the module 226*dd36a4b7SPetar Stepanovic will be called gpio-axiado-sgpio. 227*dd36a4b7SPetar Stepanovic 228a98d90e7SDave Stevensonconfig GPIO_RASPBERRYPI_EXP 229a98d90e7SDave Stevenson tristate "Raspberry Pi 3 GPIO Expander" 230a98d90e7SDave Stevenson default RASPBERRYPI_FIRMWARE 23194337b72SBaruch Siach # Make sure not 'y' when RASPBERRYPI_FIRMWARE is 'm'. This can only 23294337b72SBaruch Siach # happen when COMPILE_TEST=y, hence the added !RASPBERRYPI_FIRMWARE. 2337ed91505SArnd Bergmann depends on (ARCH_BCM2835 && RASPBERRYPI_FIRMWARE) || (COMPILE_TEST && !RASPBERRYPI_FIRMWARE) 234a98d90e7SDave Stevenson help 235a98d90e7SDave Stevenson Turn on GPIO support for the expander on Raspberry Pi 3 boards, using 236a98d90e7SDave Stevenson the firmware mailbox to communicate with VideoCore on BCM283x chips. 237a98d90e7SDave Stevenson 238ea948cffSLinus Walleijconfig GPIO_BCM_KONA 239ea948cffSLinus Walleij bool "Broadcom Kona GPIO" 240c9ab610eSAndy Shevchenko depends on ARCH_BCM_MOBILE || COMPILE_TEST 24186fabf1bSPeng Fan select GPIOLIB_IRQCHIP 242ea948cffSLinus Walleij help 243ea948cffSLinus Walleij Turn on GPIO support for Broadcom "Kona" chips. 244ea948cffSLinus Walleij 2456a41b6c5SChris Packhamconfig GPIO_BCM_XGS_IPROC 2466a41b6c5SChris Packham tristate "BRCM XGS iProc GPIO support" 2477803501eSBartosz Golaszewski depends on ARCH_BCM_IPROC || COMPILE_TEST 2486a41b6c5SChris Packham select GPIO_GENERIC 2496a41b6c5SChris Packham select GPIOLIB_IRQCHIP 2506a41b6c5SChris Packham default ARCH_BCM_IPROC 2516a41b6c5SChris Packham help 2526a41b6c5SChris Packham Say yes here to enable GPIO support for Broadcom XGS iProc SoCs. 2536a41b6c5SChris Packham 254602ae04fSNikolaos Pasaloukosconfig GPIO_BLZP1600 255602ae04fSNikolaos Pasaloukos tristate "Blaize BLZP1600 GPIO support" 256602ae04fSNikolaos Pasaloukos default y if ARCH_BLAIZE 257df9b3454SGeert Uytterhoeven depends on ARCH_BLAIZE || COMPILE_TEST 258602ae04fSNikolaos Pasaloukos select GPIO_GENERIC 259602ae04fSNikolaos Pasaloukos select GPIOLIB_IRQCHIP 260602ae04fSNikolaos Pasaloukos help 261602ae04fSNikolaos Pasaloukos Say Y or M here to add support for the Blaize BLZP1600 GPIO device. 262602ae04fSNikolaos Pasaloukos The controller is based on the Verisilicon Microelectronics GPIO APB v0.2 263602ae04fSNikolaos Pasaloukos IP block. 264602ae04fSNikolaos Pasaloukos 2653b0213d5SGregory Fongconfig GPIO_BRCMSTB 2663b0213d5SGregory Fong tristate "BRCMSTB GPIO support" 267a02588a0SFlorian Fainelli default y if (ARCH_BRCMSTB || BMIPS_GENERIC) 2687803501eSBartosz Golaszewski depends on ARCH_BRCMSTB || ARCH_BCM2835 || BMIPS_GENERIC || COMPILE_TEST 269af475c16SArnd Bergmann depends on OF 2703b0213d5SGregory Fong select GPIO_GENERIC 2710ba31dc2SDoug Berger select IRQ_DOMAIN 2723b0213d5SGregory Fong help 2733b0213d5SGregory Fong Say yes here to enable GPIO support for Broadcom STB (BCM7XXX) SoCs. 2743b0213d5SGregory Fong 2757671f494SAKASHI Takahiroconfig GPIO_BY_PINCTRL 2767671f494SAKASHI Takahiro tristate "GPIO support based on a pure pin control backend" 2777671f494SAKASHI Takahiro depends on GPIOLIB 2787671f494SAKASHI Takahiro help 2797671f494SAKASHI Takahiro Support for generic GPIO handling based on top of pin control. 2807671f494SAKASHI Takahiro Traditionally, firmware creates a GPIO interface or a pin 2817671f494SAKASHI Takahiro controller interface and we have a driver to support it. But 2827671f494SAKASHI Takahiro in SCMI, the pin control interface is generic and we can 2837671f494SAKASHI Takahiro create a simple GPIO device based on the pin control interface 2847671f494SAKASHI Takahiro without doing anything custom. 2857671f494SAKASHI Takahiro 2864a0fc189SGeert Uytterhoeven This driver is used to access GPIOs over the ARM SCMI protocol. 2877671f494SAKASHI Takahiro 28872ab2f76SJan Kotasconfig GPIO_CADENCE 28972ab2f76SJan Kotas tristate "Cadence GPIO support" 2907803501eSBartosz Golaszewski depends on OF 29172ab2f76SJan Kotas select GPIO_GENERIC 29272ab2f76SJan Kotas select GPIOLIB_IRQCHIP 29372ab2f76SJan Kotas help 29472ab2f76SJan Kotas Say yes here to enable support for Cadence GPIO controller. 29572ab2f76SJan Kotas 296a3b8d4a5SAlexander Shiyanconfig GPIO_CLPS711X 29755fe14abSAlexander Shiyan tristate "CLPS711X GPIO support" 298ffd4bf1aSAlexander Shiyan depends on ARCH_CLPS711X || COMPILE_TEST 29955fe14abSAlexander Shiyan select GPIO_GENERIC 30055fe14abSAlexander Shiyan help 30155fe14abSAlexander Shiyan Say yes here to support GPIO on CLPS711X SoCs. 302a3b8d4a5SAlexander Shiyan 303ee89cf63SGrygorii Strashkoconfig GPIO_DAVINCI 3048dab99c9SGuillaume La Roque tristate "TI Davinci/Keystone GPIO support" 305ee89cf63SGrygorii Strashko default y if ARCH_DAVINCI 30656d6ff4bSBartosz Golaszewski depends on ((ARM || ARM64) && (ARCH_DAVINCI || ARCH_KEYSTONE || ARCH_K3)) || COMPILE_TEST 30743475664SPeng Fan select GPIOLIB_IRQCHIP 308ee89cf63SGrygorii Strashko help 309ee89cf63SGrygorii Strashko Say yes here to enable GPIO support for TI Davinci/Keystone SoCs. 310ee89cf63SGrygorii Strashko 3117779b345SJamie Ilesconfig GPIO_DWAPB 3127779b345SJamie Iles tristate "Synopsys DesignWare APB GPIO driver" 3137779b345SJamie Iles select GPIO_GENERIC 3140ea68393SSerge Semin select GPIOLIB_IRQCHIP 3157779b345SJamie Iles help 3167779b345SJamie Iles Say Y or M here to build support for the Synopsys DesignWare APB 3177779b345SJamie Iles GPIO block. 3187779b345SJamie Iles 31925518e02SBaolin Wangconfig GPIO_EIC_SPRD 32025518e02SBaolin Wang tristate "Spreadtrum EIC support" 32125518e02SBaolin Wang depends on ARCH_SPRD || COMPILE_TEST 32225518e02SBaolin Wang select GPIOLIB_IRQCHIP 32325518e02SBaolin Wang help 32425518e02SBaolin Wang Say yes here to support Spreadtrum EIC device. 32525518e02SBaolin Wang 326a07e103eSMagnus Dammconfig GPIO_EM 327a07e103eSMagnus Damm tristate "Emma Mobile GPIO" 3287803501eSBartosz Golaszewski depends on ARCH_EMEV2 || COMPILE_TEST 329a07e103eSMagnus Damm help 330a07e103eSMagnus Damm Say yes here to support GPIO on Renesas Emma Mobile SoCs. 331a07e103eSMagnus Damm 3320868ad38SJohn Crispinconfig GPIO_EN7523 3330868ad38SJohn Crispin tristate "Airoha GPIO support" 334292e7cabSRosen Penev depends on ARCH_AIROHA || COMPILE_TEST 3350868ad38SJohn Crispin default ARCH_AIROHA 3360868ad38SJohn Crispin select GPIO_GENERIC 3370868ad38SJohn Crispin select GPIOLIB_IRQCHIP 3380868ad38SJohn Crispin help 3390868ad38SJohn Crispin Say Y or M here to support the GPIO controller block on the 3400868ad38SJohn Crispin Airoha EN7523 SoC. It supports two banks of 32 GPIOs. 3410868ad38SJohn Crispin 342c6b52c13SH Hartley Sweetenconfig GPIO_EP93XX 343c6b52c13SH Hartley Sweeten def_bool y 34474dcb947SBartosz Golaszewski depends on ARCH_EP93XX || COMPILE_TEST 3451e4c8842SH Hartley Sweeten select GPIO_GENERIC 346a419a3d9SLinus Walleij select GPIOLIB_IRQCHIP 347c6b52c13SH Hartley Sweeten 3486596e59eSSudip Mukherjeeconfig GPIO_EXAR 3496596e59eSSudip Mukherjee tristate "Support for GPIO pins on XR17V352/354/358" 3506596e59eSSudip Mukherjee depends on SERIAL_8250_EXAR 35136fb7218SBartosz Golaszewski select REGMAP_MMIO 3526596e59eSSudip Mukherjee help 3536596e59eSSudip Mukherjee Selecting this option will enable handling of GPIO pins present 3546596e59eSSudip Mukherjee on Exar XR17V352/354/358 chips. 3556596e59eSSudip Mukherjee 356223fa272SLinus Walleijconfig GPIO_GE_FPGA 357223fa272SLinus Walleij bool "GE FPGA based GPIO" 35855b47353SAndy Shevchenko depends on GE_FPGA || COMPILE_TEST 359223fa272SLinus Walleij select GPIO_GENERIC 360223fa272SLinus Walleij help 361223fa272SLinus Walleij Support for common GPIO functionality provided on some GE Single Board 362223fa272SLinus Walleij Computers. 363223fa272SLinus Walleij 364223fa272SLinus Walleij This driver provides basic support (configure as input or output, read 365223fa272SLinus Walleij and write pin state) for GPIO implemented in a number of GE single 366223fa272SLinus Walleij board computers. 367223fa272SLinus Walleij 3689d3a15aaSLinus Walleijconfig GPIO_FTGPIO010 3699d3a15aaSLinus Walleij bool "Faraday FTGPIO010 GPIO" 3707803501eSBartosz Golaszewski depends on OF 37149cec4d8SLinus Walleij select GPIO_GENERIC 37249cec4d8SLinus Walleij select GPIOLIB_IRQCHIP 373d8307c09SLinus Walleij default (ARCH_GEMINI || ARCH_MOXART) 37449cec4d8SLinus Walleij help 3759d3a15aaSLinus Walleij Support for common GPIOs from the Faraday FTGPIO010 IP core, found in 3769d3a15aaSLinus Walleij Cortina systems Gemini platforms, Moxa ART and others. 37749cec4d8SLinus Walleij 378223fa272SLinus Walleijconfig GPIO_GENERIC_PLATFORM 379223fa272SLinus Walleij tristate "Generic memory-mapped GPIO controller support (MMIO platform device)" 380223fa272SLinus Walleij select GPIO_GENERIC 381223fa272SLinus Walleij help 382223fa272SLinus Walleij Say yes here to support basic platform_device memory-mapped GPIO controllers. 383223fa272SLinus Walleij 384ecc4b141SAapo Vienamoconfig GPIO_GRANITERAPIDS 385ecc4b141SAapo Vienamo tristate "Intel Granite Rapids-D vGPIO support" 386ecc4b141SAapo Vienamo depends on X86 || COMPILE_TEST 387ecc4b141SAapo Vienamo select GPIOLIB_IRQCHIP 388ecc4b141SAapo Vienamo help 389ecc4b141SAapo Vienamo Select this to enable virtual GPIO support on platforms with the 390ecc4b141SAapo Vienamo following SoCs: 391ecc4b141SAapo Vienamo 392ecc4b141SAapo Vienamo - Intel Granite Rapids-D 393ecc4b141SAapo Vienamo 394ecc4b141SAapo Vienamo The driver enables basic GPIO functionality and implements interrupt 395ecc4b141SAapo Vienamo support. The virtual GPIO driver controls GPIO lines via a firmware 396ecc4b141SAapo Vienamo interface. The physical GPIO pins reside on device that is external 397ecc4b141SAapo Vienamo from the main SoC package, such as a BMC or a CPLD. 398ecc4b141SAapo Vienamo 399ecc4b141SAapo Vienamo To compile this driver as a module, choose M here: the module will 400ecc4b141SAapo Vienamo be called gpio-graniterapids. 401ecc4b141SAapo Vienamo 402223fa272SLinus Walleijconfig GPIO_GRGPIO 403223fa272SLinus Walleij tristate "Aeroflex Gaisler GRGPIO support" 4045393f40aSGeert Uytterhoeven depends on OF || COMPILE_TEST 405223fa272SLinus Walleij select GPIO_GENERIC 4063dff3563SPeng Fan select GPIOLIB_IRQCHIP 407223fa272SLinus Walleij help 408223fa272SLinus Walleij Select this to support Aeroflex Gaisler GRGPIO cores from the GRLIB 409223fa272SLinus Walleij VHDL IP core library. 410223fa272SLinus Walleij 411356b01a9SLuo Jiaxingconfig GPIO_HISI 412356b01a9SLuo Jiaxing tristate "HiSilicon GPIO controller driver" 41380280df7SWeilong Chen depends on ARM64 || COMPILE_TEST 414356b01a9SLuo Jiaxing select GPIO_GENERIC 415356b01a9SLuo Jiaxing select GPIOLIB_IRQCHIP 416356b01a9SLuo Jiaxing help 417356b01a9SLuo Jiaxing Say Y or M here to build support for the HiSilicon GPIO controller 418356b01a9SLuo Jiaxing driver GPIO block. 419dd1695a2SRandy Dunlap This GPIO controller supports double-edge interrupt and multi-core 420356b01a9SLuo Jiaxing concurrent access. 421356b01a9SLuo Jiaxing 4228f55fed3SJonathan Neuschäferconfig GPIO_HLWD 4238f55fed3SJonathan Neuschäfer tristate "Nintendo Wii (Hollywood) GPIO" 4247803501eSBartosz Golaszewski depends on OF 4258f55fed3SJonathan Neuschäfer select GPIO_GENERIC 426588de43cSJonathan Neuschäfer select GPIOLIB_IRQCHIP 4278f55fed3SJonathan Neuschäfer help 4288f55fed3SJonathan Neuschäfer Select this to support the GPIO controller of the Nintendo Wii. 4298f55fed3SJonathan Neuschäfer 4308f55fed3SJonathan Neuschäfer If unsure, say N. 4318f55fed3SJonathan Neuschäfer 432223fa272SLinus Walleijconfig GPIO_ICH 433223fa272SLinus Walleij tristate "Intel ICH GPIO" 43429f4c4daSNathan Chancellor depends on (X86 && LPC_ICH) || (COMPILE_TEST && HAS_IOPORT) 435223fa272SLinus Walleij help 436223fa272SLinus Walleij Say yes here to support the GPIO functionality of a number of Intel 437223fa272SLinus Walleij ICH-based chipsets. Currently supported devices: ICH6, ICH7, ICH8 438dd1695a2SRandy Dunlap ICH9, ICH10, Series 5/3400 (e.g. Ibex Peak), Series 6/C200 (e.g. 439223fa272SLinus Walleij Cougar Point), NM10 (Tiger Point), and 3100 (Whitmore Lake). 440223fa272SLinus Walleij 441223fa272SLinus Walleij If unsure, say N. 442223fa272SLinus Walleij 4430bd459ddSShenwei Wangconfig GPIO_IMX_SCU 4440bd459ddSShenwei Wang def_bool y 4450bd459ddSShenwei Wang depends on IMX_SCU 4460bd459ddSShenwei Wang 447813e7d36SLinus Walleijconfig GPIO_IXP4XX 448813e7d36SLinus Walleij bool "Intel IXP4xx GPIO" 449b23c22a8SBartosz Golaszewski depends on (ARCH_IXP4XX && OF) || COMPILE_TEST 450813e7d36SLinus Walleij select GPIO_GENERIC 451aa7d618aSLinus Walleij select GPIOLIB_IRQCHIP 452813e7d36SLinus Walleij select IRQ_DOMAIN_HIERARCHY 453813e7d36SLinus Walleij help 454813e7d36SLinus Walleij Say yes here to support the GPIO functionality of a number of Intel 455813e7d36SLinus Walleij IXP4xx series of chips. 456813e7d36SLinus Walleij 457813e7d36SLinus Walleij If unsure, say N. 458c83227a5SLinus Walleij 459c16485adSPaul Kocialkowskiconfig GPIO_LOGICVC 460c16485adSPaul Kocialkowski tristate "Xylon LogiCVC GPIO support" 461c16485adSPaul Kocialkowski depends on MFD_SYSCON && OF 462c16485adSPaul Kocialkowski help 463c16485adSPaul Kocialkowski Say yes here to support GPIO functionality of the Xylon LogiCVC 464c16485adSPaul Kocialkowski programmable logic block. 465813e7d36SLinus Walleij 466223fa272SLinus Walleijconfig GPIO_LOONGSON 467223fa272SLinus Walleij bool "Loongson-2/3 GPIO support" 468268a2d60SJiaxun Yang depends on CPU_LOONGSON2EF || CPU_LOONGSON64 469223fa272SLinus Walleij help 470dd1695a2SRandy Dunlap Driver for GPIO functionality on Loongson-2F/3A/3B processors. 471223fa272SLinus Walleij 4727944d3b7SYinbo Zhuconfig GPIO_LOONGSON_64BIT 4737944d3b7SYinbo Zhu tristate "Loongson 64 bit GPIO support" 4747944d3b7SYinbo Zhu depends on LOONGARCH || COMPILE_TEST 4757944d3b7SYinbo Zhu select GPIO_GENERIC 47603c146cbSYao Zi select GPIOLIB_IRQCHIP 4777944d3b7SYinbo Zhu help 4787944d3b7SYinbo Zhu Say yes here to support the GPIO functionality of a number of 4797944d3b7SYinbo Zhu Loongson series of chips. The Loongson GPIO controller supports 4807944d3b7SYinbo Zhu up to 60 GPIOS in total, 4 of which are dedicated GPIO pins, and 4817944d3b7SYinbo Zhu the remaining 56 are reused with other functions, with edge or 4827944d3b7SYinbo Zhu level triggered interrupts. 4837944d3b7SYinbo Zhu 48413a43fd9SJoachim Eastwoodconfig GPIO_LPC18XX 48554b72998SPaul Gortmaker tristate "NXP LPC18XX/43XX GPIO support" 48613a43fd9SJoachim Eastwood default y if ARCH_LPC18XX 4877803501eSBartosz Golaszewski depends on ARCH_LPC18XX || COMPILE_TEST 4885ddabfe8SVladimir Zapolskiy select IRQ_DOMAIN_HIERARCHY 48901e4397dSPeng Fan select GPIOLIB_IRQCHIP 49013a43fd9SJoachim Eastwood help 49113a43fd9SJoachim Eastwood Select this option to enable GPIO driver for 49213a43fd9SJoachim Eastwood NXP LPC18XX/43XX devices. 49313a43fd9SJoachim Eastwood 494f2ee7314SArnd Bergmannconfig GPIO_LPC32XX 495f2ee7314SArnd Bergmann tristate "NXP LPC32XX GPIO support" 4967803501eSBartosz Golaszewski depends on ARCH_LPC32XX || COMPILE_TEST 497af475c16SArnd Bergmann depends on OF 498f2ee7314SArnd Bergmann help 499f2ee7314SArnd Bergmann Select this option to enable GPIO driver for 500f2ee7314SArnd Bergmann NXP LPC32XX devices. 501f2ee7314SArnd Bergmann 5020da094d8SJassi Brarconfig GPIO_MB86S7X 503e1289dbaSArd Biesheuvel tristate "GPIO support for Fujitsu MB86S7x Platforms" 5040da094d8SJassi Brar help 5050da094d8SJassi Brar Say yes here to support the GPIO controller in Fujitsu MB86S70 SoCs. 5069af4d80bSFabian Vogt 507f436bc27SAndreas Wernerconfig GPIO_MENZ127 508f436bc27SAndreas Werner tristate "MEN 16Z127 GPIO support" 509f436bc27SAndreas Werner depends on MCB 510f436bc27SAndreas Werner select GPIO_GENERIC 511f436bc27SAndreas Werner help 512dd1695a2SRandy Dunlap Say yes here to support the MEN 16Z127 GPIO Controller. 513f436bc27SAndreas Werner 5145238f7bcSJohn Crispinconfig GPIO_MM_LANTIQ 5155238f7bcSJohn Crispin bool "Lantiq Memory mapped GPIOs" 5165238f7bcSJohn Crispin depends on LANTIQ && SOC_XWAY 5175238f7bcSJohn Crispin help 5185238f7bcSJohn Crispin This enables support for memory mapped GPIOs on the External Bus Unit 519dd1695a2SRandy Dunlap (EBU) found on Lantiq SoCs. The GPIOs are output only as they are 520dd1695a2SRandy Dunlap created by attaching a 16-bit latch to the bus. 5215238f7bcSJohn Crispin 5226eae1aceSGrant Likelyconfig GPIO_MPC5200 5236eae1aceSGrant Likely def_bool y 5246eae1aceSGrant Likely depends on PPC_MPC52xx 5256eae1aceSGrant Likely 526c68308ddSWolfram Sangconfig GPIO_MPC8XXX 5275df7fd46SLiu Gang bool "MPC512x/MPC8xxx/QorIQ GPIO support" 528c68308ddSWolfram Sang depends on PPC_MPC512x || PPC_MPC831x || PPC_MPC834x || PPC_MPC837x || \ 5295df7fd46SLiu Gang FSL_SOC_BOOKE || PPC_86xx || ARCH_LAYERSCAPE || ARM || \ 5305df7fd46SLiu Gang COMPILE_TEST 5315df7fd46SLiu Gang select GPIO_GENERIC 5328da238b1SBartosz Golaszewski select GPIOLIB_IRQCHIP 533c68308ddSWolfram Sang help 534c68308ddSWolfram Sang Say Y here if you're going to use hardware that connects to the 5355df7fd46SLiu Gang MPC512x/831x/834x/837x/8572/8610/QorIQ GPIOs. 536c68308ddSWolfram Sang 5374ba9c3afSSergio Paracuellosconfig GPIO_MT7621 5384ba9c3afSSergio Paracuellos bool "Mediatek MT7621 GPIO Support" 5394ba9c3afSSergio Paracuellos depends on SOC_MT7620 || SOC_MT7621 || COMPILE_TEST 540af475c16SArnd Bergmann depends on OF 5414ba9c3afSSergio Paracuellos select GPIO_GENERIC 5424ba9c3afSSergio Paracuellos select GPIOLIB_IRQCHIP 5434ba9c3afSSergio Paracuellos help 544dd1695a2SRandy Dunlap Say yes here to support the Mediatek MT7621 SoC GPIO device. 5454ba9c3afSSergio Paracuellos 546fefe7b09SThomas Petazzoniconfig GPIO_MVEBU 54770327137SGeert Uytterhoeven bool "Marvell Orion and EBU GPIO support" if COMPILE_TEST 548956ee0c5SBartosz Golaszewski depends on PLAT_ORION || ARCH_MVEBU || COMPILE_TEST 54970327137SGeert Uytterhoeven default PLAT_ORION || ARCH_MVEBU 550fefe7b09SThomas Petazzoni select GENERIC_IRQ_CHIP 551f37e335fSGregory CLEMENT select REGMAP_MMIO 552fefe7b09SThomas Petazzoni 553d37a65bbSShawn Guoconfig GPIO_MXC 55412d16b39SAnson Huang tristate "i.MX GPIO support" 555d4e93614SAnson Huang depends on ARCH_MXC || COMPILE_TEST 556c103de24SGrant Likely select GPIO_GENERIC 557e4ea9333SShawn Guo select GENERIC_IRQ_CHIP 558c103de24SGrant Likely 559c103de24SGrant Likelyconfig GPIO_MXS 56097c6e28dSGeert Uytterhoeven bool "Freescale MXS GPIO support" if COMPILE_TEST 5616876ca31SAnson Huang depends on ARCH_MXS || COMPILE_TEST 56297c6e28dSGeert Uytterhoeven default y if ARCH_MXS 56306f88a8aSShawn Guo select GPIO_GENERIC 564498c17cfSShawn Guo select GENERIC_IRQ_CHIP 565d37a65bbSShawn Guo 566966942aeSThéo Lebrunconfig GPIO_NOMADIK 567966942aeSThéo Lebrun bool "Nomadik GPIO driver" 5683c30cc26SThéo Lebrun depends on ARCH_U8500 || ARCH_NOMADIK || MACH_EYEQ5 || COMPILE_TEST 569966942aeSThéo Lebrun select GPIOLIB_IRQCHIP 570966942aeSThéo Lebrun help 5713c30cc26SThéo Lebrun Say yes here to support the Nomadik SoC GPIO block. This block is also 5723c30cc26SThéo Lebrun used by the Mobileye EyeQ5 SoC. 573966942aeSThéo Lebrun 574966942aeSThéo Lebrun It handles up to 32 GPIOs per bank, that can all be interrupt sources. 575966942aeSThéo Lebrun It is deeply interconnected with the associated pinctrl driver as GPIO 576966942aeSThéo Lebrun registers handle muxing ("alternate functions") as well. 577966942aeSThéo Lebrun 578c4f8457dSJim Liuconfig GPIO_NPCM_SGPIO 579c4f8457dSJim Liu bool "Nuvoton SGPIO support" 580c4f8457dSJim Liu depends on ARCH_NPCM || COMPILE_TEST 581c4f8457dSJim Liu select GPIOLIB_IRQCHIP 582c4f8457dSJim Liu help 583c4f8457dSJim Liu Say Y here to support Nuvoton NPCM7XX/NPCM8XX SGPIO functionality. 584c4f8457dSJim Liu 585aca58a66SDavid Daneyconfig GPIO_OCTEON 586aca58a66SDavid Daney tristate "Cavium OCTEON GPIO" 587e4c6a52cSGeert Uytterhoeven depends on CAVIUM_OCTEON_SOC 588aca58a66SDavid Daney default y 589aca58a66SDavid Daney help 590aca58a66SDavid Daney Say yes here to support the on-chip GPIO lines on the OCTEON 591aca58a66SDavid Daney family of SOCs. 592aca58a66SDavid Daney 593cd0a3748SJavier Martinez Canillasconfig GPIO_OMAP 594934bacb6SBartosz Golaszewski tristate "TI OMAP GPIO support" 595934bacb6SBartosz Golaszewski depends on ARCH_OMAP || COMPILE_TEST 596cd0a3748SJavier Martinez Canillas default y if ARCH_OMAP 5979d5d96efSArnd Bergmann select GENERIC_IRQ_CHIP 598fb655f57SJavier Martinez Canillas select GPIOLIB_IRQCHIP 599cd0a3748SJavier Martinez Canillas help 600cd0a3748SJavier Martinez Canillas Say yes here to enable GPIO support for TI OMAP SoCs. 601cd0a3748SJavier Martinez Canillas 6021e9c2859SBaruch Siachconfig GPIO_PL061 60361684440SRob Herring tristate "PrimeCell PL061 GPIO support" 604bcb4be09SBartosz Golaszewski depends on ARM_AMBA || COMPILE_TEST 605a5d6d271SAxel Lin select IRQ_DOMAIN 6068d5b24bdSLinus Walleij select GPIOLIB_IRQCHIP 6071e9c2859SBaruch Siach help 608dd1695a2SRandy Dunlap Say yes here to support the PrimeCell PL061 GPIO device. 6091e9c2859SBaruch Siach 610a987b78fSLewis Hanlyconfig GPIO_POLARFIRE_SOC 611a987b78fSLewis Hanly bool "Microchip FPGA GPIO support" 612a987b78fSLewis Hanly select REGMAP_MMIO 613e57b53f0SConor Dooley select GPIOLIB_IRQCHIP 614a987b78fSLewis Hanly help 615a987b78fSLewis Hanly Say yes here to support the GPIO controllers on Microchip FPGAs. 616a987b78fSLewis Hanly 61766da1ae1SRosen Penevconfig GPIO_PPC44X 61866da1ae1SRosen Penev tristate "PPC44x GPIO support" 619595f5f25SRosen Penev depends on 44x || COMPILE_TEST 62066da1ae1SRosen Penev select GPIO_GENERIC 62166da1ae1SRosen Penev help 62266da1ae1SRosen Penev Enable gpiolib support for ppc440 based boards. 62366da1ae1SRosen Penev 624157d2644SHaojian Zhuangconfig GPIO_PXA 625157d2644SHaojian Zhuang bool "PXA GPIO support" 62622e4ebd0STiezhu Yang depends on ARCH_PXA || ARCH_MMP || COMPILE_TEST 627e2d9a7eaSBartosz Golaszewski select GPIOLIB_IRQCHIP 628157d2644SHaojian Zhuang help 629dd1695a2SRandy Dunlap Say yes here to support the PXA GPIO device. 630157d2644SHaojian Zhuang 631119f5e44SMagnus Dammconfig GPIO_RCAR 632032653efSLad Prabhakar tristate "Renesas R-Car and RZ/G GPIO support" 6332af66e1dSSimon Horman depends on ARCH_RENESAS || COMPILE_TEST 634c7f3c5d3SGeert Uytterhoeven select GPIOLIB_IRQCHIP 635119f5e44SMagnus Damm help 636032653efSLad Prabhakar Say yes here to support GPIO on Renesas R-Car or RZ/G SoCs. 637119f5e44SMagnus Damm 638d57eb825SManivannan Sadhasivamconfig GPIO_RDA 639d57eb825SManivannan Sadhasivam bool "RDA Micro GPIO controller support" 640d57eb825SManivannan Sadhasivam depends on ARCH_RDA || COMPILE_TEST 641d57eb825SManivannan Sadhasivam select GPIO_GENERIC 642d57eb825SManivannan Sadhasivam select GPIOLIB_IRQCHIP 643d57eb825SManivannan Sadhasivam help 644d57eb825SManivannan Sadhasivam Say Y here to support RDA Micro GPIO controller. 645d57eb825SManivannan Sadhasivam 6460d82fb11SSander Vanheuleconfig GPIO_REALTEK_OTTO 6470d82fb11SSander Vanheule tristate "Realtek Otto GPIO support" 6483203d8f5SRosen Penev depends on MACH_REALTEK_RTL || COMPILE_TEST 6490d82fb11SSander Vanheule default MACH_REALTEK_RTL 6500d82fb11SSander Vanheule select GPIO_GENERIC 6510d82fb11SSander Vanheule select GPIOLIB_IRQCHIP 6520d82fb11SSander Vanheule help 6530d82fb11SSander Vanheule The GPIO controller on the Otto MIPS platform supports up to two 6540d82fb11SSander Vanheule banks of 32 GPIOs, with edge triggered interrupts. The 32 GPIOs 6550d82fb11SSander Vanheule are grouped in four 8-bit wide ports. 6560d82fb11SSander Vanheule 6570d82fb11SSander Vanheule When built as a module, the module will be called realtek_otto_gpio. 6580d82fb11SSander Vanheule 659380639c7SRussell Kingconfig GPIO_REG 660380639c7SRussell King bool 661380639c7SRussell King help 662380639c7SRussell King A 32-bit single register GPIO fixed in/out implementation. This 663380639c7SRussell King can be used to represent any register as a set of GPIO signals. 664380639c7SRussell King 665936ee267SJianqun Xuconfig GPIO_ROCKCHIP 666936ee267SJianqun Xu tristate "Rockchip GPIO support" 667936ee267SJianqun Xu depends on ARCH_ROCKCHIP || COMPILE_TEST 668d6912b12SRandy Dunlap select GENERIC_IRQ_CHIP 669936ee267SJianqun Xu select GPIOLIB_IRQCHIP 670936ee267SJianqun Xu default ARCH_ROCKCHIP 671936ee267SJianqun Xu help 672936ee267SJianqun Xu Say yes here to support GPIO on Rockchip SoCs. 673936ee267SJianqun Xu 674eee636bfSTzuyi Changconfig GPIO_RTD 675eee636bfSTzuyi Chang tristate "Realtek DHC GPIO support" 6763d1c5b62SBartosz Golaszewski depends on ARCH_REALTEK || COMPILE_TEST 677b5d23fcdSYu-Chun Lin default ARCH_REALTEK 678eee636bfSTzuyi Chang select GPIOLIB_IRQCHIP 679eee636bfSTzuyi Chang help 680eee636bfSTzuyi Chang This option enables support for GPIOs found on Realtek DHC(Digital 681eee636bfSTzuyi Chang Home Center) SoCs family, including RTD1295, RTD1315E, RTD1319, 682eee636bfSTzuyi Chang RTD1319D, RTD1395, RTD1619 and RTD1619B. 683eee636bfSTzuyi Chang 684eee636bfSTzuyi Chang Say yes here to support GPIO functionality and GPIO interrupt on 685eee636bfSTzuyi Chang Realtek DHC SoCs. 686eee636bfSTzuyi Chang 6876435d21cSTzuyi Changconfig GPIO_RTD1625 6886435d21cSTzuyi Chang tristate "Realtek DHC RTD1625 GPIO support" 6896435d21cSTzuyi Chang depends on ARCH_REALTEK || COMPILE_TEST 6906435d21cSTzuyi Chang default ARCH_REALTEK 6916435d21cSTzuyi Chang select GPIOLIB_IRQCHIP 6926435d21cSTzuyi Chang select GPIO_REGMAP 6936435d21cSTzuyi Chang select REGMAP_MMIO 6946435d21cSTzuyi Chang help 6956435d21cSTzuyi Chang This option enables support for the GPIO controller on Realtek 6966435d21cSTzuyi Chang DHC (Digital Home Center) RTD1625 SoC. 6976435d21cSTzuyi Chang 6986435d21cSTzuyi Chang Say yes here to support both basic GPIO line functionality 6996435d21cSTzuyi Chang and GPIO interrupt handling capabilities for this platform. 7006435d21cSTzuyi Chang 701fb0b35d3SAndrei.Stefanescu@microchip.comconfig GPIO_SAMA5D2_PIOBU 702fb0b35d3SAndrei.Stefanescu@microchip.com tristate "SAMA5D2 PIOBU GPIO support" 703af475c16SArnd Bergmann depends on OF 704fb0b35d3SAndrei.Stefanescu@microchip.com depends on MFD_SYSCON 705b06d7b45SGeert Uytterhoeven depends on ARCH_AT91 || COMPILE_TEST 706fb0b35d3SAndrei.Stefanescu@microchip.com select GPIO_SYSCON 707fb0b35d3SAndrei.Stefanescu@microchip.com help 708fb0b35d3SAndrei.Stefanescu@microchip.com Say yes here to use the PIOBU pins as GPIOs. 709fb0b35d3SAndrei.Stefanescu@microchip.com 710fb0b35d3SAndrei.Stefanescu@microchip.com PIOBU pins on the SAMA5D2 can be used as GPIOs. 711fb0b35d3SAndrei.Stefanescu@microchip.com The difference from regular GPIOs is that they 712fb0b35d3SAndrei.Stefanescu@microchip.com maintain their value during backup/self-refresh. 713fb0b35d3SAndrei.Stefanescu@microchip.com 71496868dceSYash Shahconfig GPIO_SIFIVE 7156b4c76deSSamuel Holland tristate "SiFive GPIO support" 7167803501eSBartosz Golaszewski depends on OF 71718eedf2bSRandy Dunlap select IRQ_DOMAIN_HIERARCHY 71896868dceSYash Shah select GPIO_GENERIC 71996868dceSYash Shah select GPIOLIB_IRQCHIP 72096868dceSYash Shah select REGMAP_MMIO 72196868dceSYash Shah help 72296868dceSYash Shah Say yes here to support the GPIO device on SiFive SoCs. 72396868dceSYash Shah 724be8c8facSUwe Kleine-Königconfig GPIO_SIOX 725be8c8facSUwe Kleine-König tristate "SIOX GPIO support" 726be8c8facSUwe Kleine-König depends on SIOX 727be8c8facSUwe Kleine-König select GPIOLIB_IRQCHIP 728be8c8facSUwe Kleine-König help 729be8c8facSUwe Kleine-König Say yes here to support SIOX I/O devices. These are units connected 730be8c8facSUwe Kleine-König via a SIOX bus and have a number of fixed-direction I/O lines. 731be8c8facSUwe Kleine-König 7322505c7b0SEugeniy Paltsevconfig GPIO_SNPS_CREG 7332505c7b0SEugeniy Paltsev bool "Synopsys GPIO via CREG (Control REGisters) driver" 7342505c7b0SEugeniy Paltsev depends on ARC || COMPILE_TEST 7352505c7b0SEugeniy Paltsev help 7362505c7b0SEugeniy Paltsev This driver supports GPIOs via CREG on various Synopsys SoCs. 7372505c7b0SEugeniy Paltsev This is a single-register MMIO GPIO driver for complex cases 7382505c7b0SEugeniy Paltsev where only several fields in register belong to GPIO lines and 7392505c7b0SEugeniy Paltsev each GPIO line owns a field with different length and on/off value. 7402505c7b0SEugeniy Paltsev 741d0055324SYixun Lanconfig GPIO_SPACEMIT_K1 742d0055324SYixun Lan tristate "SPACEMIT K1 GPIO support" 743d0055324SYixun Lan depends on ARCH_SPACEMIT || COMPILE_TEST 744af475c16SArnd Bergmann depends on OF 745d0055324SYixun Lan select GPIO_GENERIC 746d0055324SYixun Lan select GPIOLIB_IRQCHIP 747d0055324SYixun Lan help 748d0055324SYixun Lan Say yes here to support the SpacemiT's K1 GPIO device. 749d0055324SYixun Lan 750b53bc281SShiraz Hashimconfig GPIO_SPEAR_SPICS 751b53bc281SShiraz Hashim bool "ST SPEAr13xx SPI Chip Select as GPIO support" 75263677aa4SRosen Penev depends on PLAT_SPEAR || COMPILE_TEST 753b53bc281SShiraz Hashim select GENERIC_IRQ_CHIP 754b53bc281SShiraz Hashim help 755dd1695a2SRandy Dunlap Say yes here to support ST SPEAr SPI Chip Select as GPIO device. 756b53bc281SShiraz Hashim 7579a3821c2SBaolin Wangconfig GPIO_SPRD 7589a3821c2SBaolin Wang tristate "Spreadtrum GPIO support" 7599a3821c2SBaolin Wang depends on ARCH_SPRD || COMPILE_TEST 7609a3821c2SBaolin Wang select GPIOLIB_IRQCHIP 7619a3821c2SBaolin Wang help 7629a3821c2SBaolin Wang Say yes here to support Spreadtrum GPIO device. 7639a3821c2SBaolin Wang 764be9cab5bSLinus Walleijconfig GPIO_STP_XWAY 765be9cab5bSLinus Walleij bool "XWAY STP GPIOs" 7665099837dSMartin Blumenstingl depends on SOC_XWAY || COMPILE_TEST 767be9cab5bSLinus Walleij help 768be9cab5bSLinus Walleij This enables support for the Serial To Parallel (STP) unit found on 769be9cab5bSLinus Walleij XWAY SoC. The STP allows the SoC to drive a shift registers cascade, 770dd1695a2SRandy Dunlap that can be up to 24 bits. This peripheral is aimed at driving LEDs. 771dd1695a2SRandy Dunlap Some of the GPIOs/LEDs can be auto updated by the SoC with DSL and 772be9cab5bSLinus Walleij phy status. 773be9cab5bSLinus Walleij 7746a8a0c1dSAlexander Shiyanconfig GPIO_SYSCON 7756a8a0c1dSAlexander Shiyan tristate "GPIO based on SYSCON" 7766a8a0c1dSAlexander Shiyan depends on MFD_SYSCON && OF 7776a8a0c1dSAlexander Shiyan help 7786a8a0c1dSAlexander Shiyan Say yes here to support GPIO functionality though SYSCON driver. 7796a8a0c1dSAlexander Shiyan 780d2c19e89SPandith Nconfig GPIO_TANGIER 781d2c19e89SPandith N tristate 782d2c19e89SPandith N select GPIOLIB_IRQCHIP 783d2c19e89SPandith N help 784d2c19e89SPandith N GPIO support for Intel Tangier and compatible platforms. 78534840be5SPandith N Currently supported: 7869409d8cfSPandith N - Elkhart Lake 78734840be5SPandith N - Merrifield 788d2c19e89SPandith N 789d2c19e89SPandith N If built as a module its name will be gpio-tangier. 790d2c19e89SPandith N 791223fa272SLinus Walleijconfig GPIO_TB10X 792682fbb18SBartosz Golaszewski bool "Abilis Systems TB10x GPIO controller" 793682fbb18SBartosz Golaszewski depends on ARC_PLAT_TB10X || COMPILE_TEST 7940d1e31abSLinus Walleij select GPIO_GENERIC 795223fa272SLinus Walleij select GENERIC_IRQ_CHIP 796223fa272SLinus Walleij 7974dd4dd1dSAlexander Steinconfig GPIO_TEGRA 7984a6eac2bSDmitry Osipenko tristate "NVIDIA Tegra GPIO support" 7990bfb85c6SArnd Bergmann default ARCH_TEGRA 8004dd4dd1dSAlexander Stein depends on ARCH_TEGRA || COMPILE_TEST 801298d75c9SThierry Reding select GPIOLIB_IRQCHIP 802298d75c9SThierry Reding select IRQ_DOMAIN_HIERARCHY 8030bfb85c6SArnd Bergmann help 8040bfb85c6SArnd Bergmann Say yes here to support GPIO pins on NVIDIA Tegra SoCs. 8054dd4dd1dSAlexander Stein 8065b2b135aSThierry Redingconfig GPIO_TEGRA186 8075b2b135aSThierry Reding tristate "NVIDIA Tegra186 GPIO support" 808bef29ca3SLars-Peter Clausen default ARCH_TEGRA_186_SOC || ARCH_TEGRA_194_SOC || ARCH_TEGRA_234_SOC 809bef29ca3SLars-Peter Clausen depends on ARCH_TEGRA_186_SOC || ARCH_TEGRA_194_SOC || ARCH_TEGRA_234_SOC || COMPILE_TEST 810af475c16SArnd Bergmann depends on OF 8115b2b135aSThierry Reding select GPIOLIB_IRQCHIP 8122a365505SThierry Reding select IRQ_DOMAIN_HIERARCHY 8135b2b135aSThierry Reding help 814bef29ca3SLars-Peter Clausen Say yes here to support GPIO pins on NVIDIA Tegra186, 194 and 234 SoCs. 8155b2b135aSThierry Reding 8165041e791SJulien Grossholtzconfig GPIO_TS4800 8175041e791SJulien Grossholtz tristate "TS-4800 DIO blocks and compatibles" 8186dcfd729SJulien Grossholtz depends on SOC_IMX51 || COMPILE_TEST 8195041e791SJulien Grossholtz select GPIO_GENERIC 8205041e791SJulien Grossholtz help 8215041e791SJulien Grossholtz This driver support TS-4800 FPGA GPIO controllers. 8225041e791SJulien Grossholtz 8235a2a3002SDavid Daneyconfig GPIO_THUNDERX 8245a2a3002SDavid Daney tristate "Cavium ThunderX/OCTEON-TX GPIO" 8255a2a3002SDavid Daney depends on ARCH_THUNDER || (64BIT && COMPILE_TEST) 826311de3ceSMasahiro Yamada depends on PCI_MSI 827a7fc89f9SLinus Walleij select GPIOLIB_IRQCHIP 828311de3ceSMasahiro Yamada select IRQ_DOMAIN_HIERARCHY 8295a2a3002SDavid Daney select IRQ_FASTEOI_HIERARCHY_HANDLERS 8305a2a3002SDavid Daney help 8315a2a3002SDavid Daney Say yes here to support the on-chip GPIO lines on the ThunderX 8325a2a3002SDavid Daney and OCTEON-TX families of SoCs. 8335a2a3002SDavid Daney 834dbe776c2SMasahiro Yamadaconfig GPIO_UNIPHIER 835dbe776c2SMasahiro Yamada tristate "UniPhier GPIO support" 836dbe776c2SMasahiro Yamada depends on ARCH_UNIPHIER || COMPILE_TEST 837dbe776c2SMasahiro Yamada select IRQ_DOMAIN_HIERARCHY 838dbe776c2SMasahiro Yamada help 839dbe776c2SMasahiro Yamada Say yes here to support UniPhier GPIOs. 840dbe776c2SMasahiro Yamada 8417f2691a1SStefan Agnerconfig GPIO_VF610 84273dc041fSJindong Yue tristate "VF610 GPIO support" 843f5759578SMartin Kaiser default y if SOC_VF610 8443eac8bbeSMartin Kaiser depends on ARCH_MXC || COMPILE_TEST 8457f2691a1SStefan Agner select GPIOLIB_IRQCHIP 846da5dd31eSLinus Walleij select GPIO_GENERIC 8477f2691a1SStefan Agner help 84830a35c07SPeng Fan Say yes here to support i.MX or Vybrid vf610 GPIOs. 8497f2691a1SStefan Agner 8502ad74f40SNobuhiro Iwamatsuconfig GPIO_VISCONTI 8512ad74f40SNobuhiro Iwamatsu tristate "Toshiba Visconti GPIO support" 8522ad74f40SNobuhiro Iwamatsu depends on ARCH_VISCONTI || COMPILE_TEST 8532ad74f40SNobuhiro Iwamatsu select GPIOLIB_IRQCHIP 8542ad74f40SNobuhiro Iwamatsu select GPIO_GENERIC 8552ad74f40SNobuhiro Iwamatsu select IRQ_DOMAIN_HIERARCHY 8562ad74f40SNobuhiro Iwamatsu help 8572ad74f40SNobuhiro Iwamatsu Say yes here to support GPIO on Tohisba Visconti. 8582ad74f40SNobuhiro Iwamatsu 85979f44c8aSDmitry Baryshkovconfig GPIO_WAVESHARE_DSI_TOUCH 86079f44c8aSDmitry Baryshkov tristate "Waveshare GPIO controller for DSI panels" 86179f44c8aSDmitry Baryshkov depends on BACKLIGHT_CLASS_DEVICE 86279f44c8aSDmitry Baryshkov depends on I2C 86379f44c8aSDmitry Baryshkov select REGMAP_I2C 86479f44c8aSDmitry Baryshkov help 86579f44c8aSDmitry Baryshkov Enable support for the GPIO and PWM controller found on Waveshare DSI 86679f44c8aSDmitry Baryshkov TOUCH panel kits. It provides GPIOs (used for regulator control and 86779f44c8aSDmitry Baryshkov resets) and backlight support. 86879f44c8aSDmitry Baryshkov 86959c32468SSrinivas Kandagatlaconfig GPIO_WCD934X 8706d22fcf8SKrzysztof Kozlowski tristate "Qualcomm WCD9340/WCD9341 GPIO controller driver" 8717803501eSBartosz Golaszewski depends on MFD_WCD934X 87259c32468SSrinivas Kandagatla help 8730bb8e80bSColin Ian King This driver is to support GPIO block found on the Qualcomm Technologies 87459c32468SSrinivas Kandagatla Inc WCD9340/WCD9341 Audio Codec. 87559c32468SSrinivas Kandagatla 87629cbf458SFeng Kanconfig GPIO_XGENE 87729cbf458SFeng Kan bool "APM X-Gene GPIO controller support" 878c7b929feSRosen Penev depends on ARM64 || COMPILE_TEST 87929cbf458SFeng Kan help 88029cbf458SFeng Kan This driver is to support the GPIO block within the APM X-Gene SoC 88129cbf458SFeng Kan platform's generic flash controller. The GPIO pins are muxed with 88229cbf458SFeng Kan the generic flash controller's address and data pins. Say yes 88329cbf458SFeng Kan here to enable the GFC GPIO functionality. 88429cbf458SFeng Kan 885b2b35e10SY Voconfig GPIO_XGENE_SB 886b2b35e10SY Vo tristate "APM X-Gene GPIO standby controller support" 887b24bc583SAndy Shevchenko depends on (ARCH_XGENE || COMPILE_TEST) 888b2b35e10SY Vo select GPIO_GENERIC 889e5f7e312SMatthias Brugger select GPIOLIB_IRQCHIP 890c23d200fSMasahiro Yamada select IRQ_DOMAIN_HIERARCHY 891b2b35e10SY Vo help 892b2b35e10SY Vo This driver supports the GPIO block within the APM X-Gene 893b2b35e10SY Vo Standby Domain. Say yes here to enable the GPIO functionality. 894b2b35e10SY Vo 8950bcb6069SJohn Linnconfig GPIO_XILINX 896c54c58baSRicardo Ribalda Delgado tristate "Xilinx GPIO support" 897a32c7caeSSrinivas Neeli select GPIOLIB_IRQCHIP 8980bcb6069SJohn Linn help 899dd1695a2SRandy Dunlap Say yes here to support the Xilinx FPGA GPIO device. 9000bcb6069SJohn Linn 901ff718800SKamlakant Patelconfig GPIO_XLP 902ea708ac5SRob Herring tristate "Cavium ThunderX2 GPIO support" 903ea708ac5SRob Herring depends on ARCH_THUNDER2 || COMPILE_TEST 904ff718800SKamlakant Patel select GPIOLIB_IRQCHIP 905ff718800SKamlakant Patel help 906ea708ac5SRob Herring This driver provides support for GPIO interface on Cavium's ThunderX2 907ea708ac5SRob Herring CN99XX SoCs (Originally from Netlogic XLP). 908ff718800SKamlakant Patel 909ff718800SKamlakant Patel If unsure, say N. 910ff718800SKamlakant Patel 9113b31d0ecSBaruch Siachconfig GPIO_XTENSA 9123b31d0ecSBaruch Siach bool "Xtensa GPIO32 support" 9133b31d0ecSBaruch Siach depends on XTENSA 914a1a2bdecSBaruch Siach depends on HAVE_XTENSA_GPIO32 9153b31d0ecSBaruch Siach depends on !SMP 9163b31d0ecSBaruch Siach help 9173b31d0ecSBaruch Siach Say yes here to support the Xtensa internal GPIO32 IMPWIRE (input) 918dd1695a2SRandy Dunlap and EXPSTATE (output) ports. 9193b31d0ecSBaruch Siach 920223fa272SLinus Walleijconfig GPIO_ZEVIO 921223fa272SLinus Walleij bool "LSI ZEVIO SoC memory mapped GPIOs" 9225d6f7ce3SRosen Penev depends on ARM || COMPILE_TEST 92327fdd325SYoichi Yuasa help 924223fa272SLinus Walleij Say yes here to support the GPIO controller in LSI ZEVIO SoCs. 92527fdd325SYoichi Yuasa 926223fa272SLinus Walleijconfig GPIO_ZYNQ 927223fa272SLinus Walleij tristate "Xilinx Zynq GPIO support" 9286273ef35SBartosz Golaszewski depends on ARCH_ZYNQ || ARCH_ZYNQMP || COMPILE_TEST 9297f87210eSMika Westerberg select GPIOLIB_IRQCHIP 9301d09aaa6SMathias Nyman help 931223fa272SLinus Walleij Say yes here to support Xilinx Zynq GPIO controller. 9321d09aaa6SMathias Nyman 9337687a5b0SPiyush Mehtaconfig GPIO_ZYNQMP_MODEPIN 934dd1695a2SRandy Dunlap tristate "ZynqMP ps-mode pin GPIO configuration driver" 9356273ef35SBartosz Golaszewski depends on ZYNQMP_FIRMWARE || COMPILE_TEST 9367687a5b0SPiyush Mehta default ZYNQMP_FIRMWARE 9377687a5b0SPiyush Mehta help 938dd1695a2SRandy Dunlap Say yes here to support the ZynqMP ps-mode pin GPIO configuration 9397687a5b0SPiyush Mehta driver. 9407687a5b0SPiyush Mehta 941dd1695a2SRandy Dunlap This ps-mode pin GPIO driver is based on GPIO framework. PS_MODE 9427687a5b0SPiyush Mehta is 4-bits boot mode pins. It sets and gets the status of 9437687a5b0SPiyush Mehta the ps-mode pin. Every pin can be configured as input/output. 9447687a5b0SPiyush Mehta 945bd37c999SKelvin Cheungconfig GPIO_LOONGSON1 946bd37c999SKelvin Cheung tristate "Loongson1 GPIO support" 94780d7319cSBartosz Golaszewski depends on MACH_LOONGSON32 || COMPILE_TEST 948bd37c999SKelvin Cheung select GPIO_GENERIC 949bd37c999SKelvin Cheung help 950bd37c999SKelvin Cheung Say Y or M here to support GPIO on Loongson1 SoCs. 951bd37c999SKelvin Cheung 952e09d168fSEnrico Weigelt, metux IT consultconfig GPIO_AMD_FCH 953e09d168fSEnrico Weigelt, metux IT consult tristate "GPIO support for AMD Fusion Controller Hub (G-series SOCs)" 954e09d168fSEnrico Weigelt, metux IT consult help 955dd1695a2SRandy Dunlap This option enables driver for GPIO on AMD's Fusion Controller Hub, 956dd1695a2SRandy Dunlap as found on G-series SOCs (e.g. GX-412TC). 957e09d168fSEnrico Weigelt, metux IT consult 958dd1695a2SRandy Dunlap Note: This driver doesn't register itself automatically, as it 959dd1695a2SRandy Dunlap needs to be provided with platform-specific configuration. 960dd1695a2SRandy Dunlap (See e.g. CONFIG_PCENGINES_APU2.) 96193224edfSDaniel Palmer 96293224edfSDaniel Palmerconfig GPIO_MSC313 96393224edfSDaniel Palmer bool "MStar MSC313 GPIO support" 9644675b78cSBartosz Golaszewski depends on ARCH_MSTARV7 || COMPILE_TEST 96593224edfSDaniel Palmer default ARCH_MSTARV7 96693224edfSDaniel Palmer select GPIOLIB_IRQCHIP 96793224edfSDaniel Palmer select IRQ_DOMAIN_HIERARCHY 96893224edfSDaniel Palmer help 96993224edfSDaniel Palmer Say Y here to support the main GPIO block on MStar/SigmaStar 970dd1695a2SRandy Dunlap ARMv7-based SoCs. 97193224edfSDaniel Palmer 9724195926aSThomas Bogendoerferconfig GPIO_IDT3243X 9734195926aSThomas Bogendoerfer tristate "IDT 79RC3243X GPIO support" 9744195926aSThomas Bogendoerfer depends on MIKROTIK_RB532 || COMPILE_TEST 9754195926aSThomas Bogendoerfer select GPIO_GENERIC 9764195926aSThomas Bogendoerfer select GPIOLIB_IRQCHIP 9774195926aSThomas Bogendoerfer help 9784195926aSThomas Bogendoerfer Select this option to enable GPIO driver for 979dd1695a2SRandy Dunlap IDT 79RC3243X-based devices like Mikrotik RB532. 9804195926aSThomas Bogendoerfer 9814195926aSThomas Bogendoerfer To compile this driver as a module, choose M here: the module will 9824195926aSThomas Bogendoerfer be called gpio-idt3243x. 9834195926aSThomas Bogendoerfer 984177b0381SLinus Walleijendmenu 985177b0381SLinus Walleij 986bc6a73bbSLinus Walleijmenu "Port-mapped I/O GPIO drivers" 98767c07755SRosen Penev depends on X86 || COMPILE_TEST 98867c07755SRosen Penev depends on HAS_IOPORT # I/O space access 9892c99754eSNiklas Schnelle 9902c99754eSNiklas Schnelleconfig GPIO_VX855 9912c99754eSNiklas Schnelle tristate "VIA VX855/VX875 GPIO" 9922c99754eSNiklas Schnelle depends on PCI 9932c99754eSNiklas Schnelle select MFD_CORE 9942c99754eSNiklas Schnelle select MFD_VX855 9952c99754eSNiklas Schnelle help 9962c99754eSNiklas Schnelle Support access to the VX855/VX875 GPIO lines through the GPIO library. 9972c99754eSNiklas Schnelle 9982c99754eSNiklas Schnelle This driver provides common support for accessing the device. 9992c99754eSNiklas Schnelle Additional drivers must be enabled in order to use the 10002c99754eSNiklas Schnelle functionality of the device. 1001bc6a73bbSLinus Walleij 1002fb38af4aSWilliam Breathitt Grayconfig GPIO_I8255 1003fb38af4aSWilliam Breathitt Gray tristate 10040b7c490dSWilliam Breathitt Gray select GPIO_REGMAP 1005fb38af4aSWilliam Breathitt Gray help 1006fb38af4aSWilliam Breathitt Gray Enables support for the i8255 interface library functions. The i8255 1007fb38af4aSWilliam Breathitt Gray interface library provides functions to facilitate communication with 1008fb38af4aSWilliam Breathitt Gray interfaces compatible with the venerable Intel 8255 Programmable 1009fb38af4aSWilliam Breathitt Gray Peripheral Interface (PPI). The Intel 8255 PPI chip was first released 1010fb38af4aSWilliam Breathitt Gray in the early 1970s but compatible interfaces are nowadays typically 1011fb38af4aSWilliam Breathitt Gray found embedded in larger VLSI processing chips and FPGA components. 1012fb38af4aSWilliam Breathitt Gray 1013fb38af4aSWilliam Breathitt Gray If built as a module its name will be gpio-i8255. 1014fb38af4aSWilliam Breathitt Gray 10151b06d64fSWilliam Breathitt Grayconfig GPIO_104_DIO_48E 10161b06d64fSWilliam Breathitt Gray tristate "ACCES 104-DIO-48E GPIO support" 101735decc80SWilliam Breathitt Gray depends on PC104 101835decc80SWilliam Breathitt Gray select ISA_BUS_API 10192f7e845fSWilliam Breathitt Gray select REGMAP_MMIO 10202f7e845fSWilliam Breathitt Gray select REGMAP_IRQ 10211b06d64fSWilliam Breathitt Gray select GPIOLIB_IRQCHIP 102271b7b397SWilliam Breathitt Gray select GPIO_I8255 102392f7a358SWilliam Breathitt Gray select I8254 10241b06d64fSWilliam Breathitt Gray help 10254c23db0fSWilliam Breathitt Gray Enables GPIO support for the ACCES 104-DIO-48E series (104-DIO-48E, 10264c23db0fSWilliam Breathitt Gray 104-DIO-24E). The base port addresses for the devices may be 10274c23db0fSWilliam Breathitt Gray configured via the base module parameter. The interrupt line numbers 10284c23db0fSWilliam Breathitt Gray for the devices may be configured via the irq module parameter. 10291b06d64fSWilliam Breathitt Gray 1030bc6a73bbSLinus Walleijconfig GPIO_104_IDIO_16 1031bc6a73bbSLinus Walleij tristate "ACCES 104-IDIO-16 GPIO support" 103235decc80SWilliam Breathitt Gray depends on PC104 103335decc80SWilliam Breathitt Gray select ISA_BUS_API 10342c210c9aSWilliam Breathitt Gray select REGMAP_MMIO 1035c4ec384cSWilliam Breathitt Gray select GPIO_IDIO_16 1036bc6a73bbSLinus Walleij help 103786ea8a95SWilliam Breathitt Gray Enables GPIO support for the ACCES 104-IDIO-16 family (104-IDIO-16, 103886ea8a95SWilliam Breathitt Gray 104-IDIO-16E, 104-IDO-16, 104-IDIO-8, 104-IDIO-8E, 104-IDO-8). The 103986ea8a95SWilliam Breathitt Gray base port addresses for the devices may be configured via the base 104086ea8a95SWilliam Breathitt Gray module parameter. The interrupt line numbers for the devices may be 104186ea8a95SWilliam Breathitt Gray configured via the irq module parameter. 1042bc6a73bbSLinus Walleij 10436ddcf9b4SWilliam Breathitt Grayconfig GPIO_104_IDI_48 10446ddcf9b4SWilliam Breathitt Gray tristate "ACCES 104-IDI-48 GPIO support" 104535decc80SWilliam Breathitt Gray depends on PC104 104635decc80SWilliam Breathitt Gray select ISA_BUS_API 1047e28432a7SWilliam Breathitt Gray select REGMAP_MMIO 1048e28432a7SWilliam Breathitt Gray select REGMAP_IRQ 10496ddcf9b4SWilliam Breathitt Gray select GPIOLIB_IRQCHIP 105059e2131aSWilliam Breathitt Gray select GPIO_REGMAP 10516ddcf9b4SWilliam Breathitt Gray help 105272bf7443SWilliam Breathitt Gray Enables GPIO support for the ACCES 104-IDI-48 family (104-IDI-48A, 105372bf7443SWilliam Breathitt Gray 104-IDI-48AC, 104-IDI-48B, 104-IDI-48BC). The base port addresses for 105472bf7443SWilliam Breathitt Gray the devices may be configured via the base module parameter. The 105572bf7443SWilliam Breathitt Gray interrupt line numbers for the devices may be configured via the irq 105672bf7443SWilliam Breathitt Gray module parameter. 10576ddcf9b4SWilliam Breathitt Gray 1058bc6a73bbSLinus Walleijconfig GPIO_F7188X 1059d0918a84SHenning Schild tristate "Fintek and Nuvoton Super-I/O GPIO support" 1060bc6a73bbSLinus Walleij help 1061bc6a73bbSLinus Walleij This option enables support for GPIOs found on Fintek Super-I/O 10621920906fSPeter Hung chips F71869, F71869A, F71882FG, F71889F and F81866. 10633002b864SHenning Schild As well as Nuvoton Super-I/O chip NCT6126D. 1064bc6a73bbSLinus Walleij 1065bc6a73bbSLinus Walleij To compile this driver as a module, choose M here: the module will 1066bc6a73bbSLinus Walleij be called f7188x-gpio. 1067bc6a73bbSLinus Walleij 10686ea5dcdfSWilliam Breathitt Grayconfig GPIO_GPIO_MM 10696ea5dcdfSWilliam Breathitt Gray tristate "Diamond Systems GPIO-MM GPIO support" 107035decc80SWilliam Breathitt Gray depends on PC104 107135decc80SWilliam Breathitt Gray select ISA_BUS_API 10721c05004fSWilliam Breathitt Gray select REGMAP_MMIO 1073949506dcSWilliam Breathitt Gray select GPIO_I8255 10746ea5dcdfSWilliam Breathitt Gray help 10756ea5dcdfSWilliam Breathitt Gray Enables GPIO support for the Diamond Systems GPIO-MM and GPIO-MM-12. 10766ea5dcdfSWilliam Breathitt Gray 10776ea5dcdfSWilliam Breathitt Gray The Diamond Systems GPIO-MM device features 48 lines of digital I/O 10786ea5dcdfSWilliam Breathitt Gray via the emulation of dual 82C55A PPI chips. This driver provides GPIO 10796ea5dcdfSWilliam Breathitt Gray support for these 48 channels of digital I/O. 10806ea5dcdfSWilliam Breathitt Gray 10816ea5dcdfSWilliam Breathitt Gray The base port addresses for the devices may be configured via the base 10826ea5dcdfSWilliam Breathitt Gray array module parameter. 10836ea5dcdfSWilliam Breathitt Gray 1084bc6a73bbSLinus Walleijconfig GPIO_IT87 1085bc6a73bbSLinus Walleij tristate "IT87xx GPIO support" 1086bc6a73bbSLinus Walleij help 1087bc6a73bbSLinus Walleij Say yes here to support GPIO functionality of IT87xx Super I/O chips. 1088bc6a73bbSLinus Walleij 1089bc6a73bbSLinus Walleij This driver is tested with ITE IT8728 and IT8732 Super I/O chips, and 1090a5ec96ddSLeonid Bloch supports the IT8761E, IT8613, IT8620E, and IT8628E Super I/O chips as 1091a5ec96ddSLeonid Bloch well. 1092bc6a73bbSLinus Walleij 1093bc6a73bbSLinus Walleij To compile this driver as a module, choose M here: the module will 1094dd1695a2SRandy Dunlap be called gpio_it87. 1095bc6a73bbSLinus Walleij 1096bc6a73bbSLinus Walleijconfig GPIO_SCH 1097bc6a73bbSLinus Walleij tristate "Intel SCH/TunnelCreek/Centerton/Quark X1000 GPIO" 1098fdc1f5dfSAndy Shevchenko depends on (X86 || COMPILE_TEST) && ACPI 109971cf76d4SRandy Dunlap depends on LPC_SCH 11007a816384SJan Kiszka select GPIOLIB_IRQCHIP 1101bc6a73bbSLinus Walleij help 1102bc6a73bbSLinus Walleij Say yes here to support GPIO interface on Intel Poulsbo SCH, 1103bc6a73bbSLinus Walleij Intel Tunnel Creek processor, Intel Centerton processor or 1104bc6a73bbSLinus Walleij Intel Quark X1000 SoC. 1105bc6a73bbSLinus Walleij 1106bc6a73bbSLinus Walleij The Intel SCH contains a total of 14 GPIO pins. Ten GPIOs are 1107bc6a73bbSLinus Walleij powered by the core power rail and are turned off during sleep 1108bc6a73bbSLinus Walleij modes (S3 and higher). The remaining four GPIOs are powered by 1109bc6a73bbSLinus Walleij the Intel SCH suspend power supply. These GPIOs remain 1110dd1695a2SRandy Dunlap active during S3. The suspend-powered GPIOs can be used to wake the 1111bc6a73bbSLinus Walleij system from the Suspend-to-RAM state. 1112bc6a73bbSLinus Walleij 1113bc6a73bbSLinus Walleij The Intel Tunnel Creek processor has 5 GPIOs powered by the 1114bc6a73bbSLinus Walleij core power rail and 9 from suspend power supply. 1115bc6a73bbSLinus Walleij 1116bc6a73bbSLinus Walleij The Intel Centerton processor has a total of 30 GPIO pins. 1117bc6a73bbSLinus Walleij Twenty-one are powered by the core power rail and 9 from the 1118bc6a73bbSLinus Walleij suspend power supply. 1119bc6a73bbSLinus Walleij 1120bc6a73bbSLinus Walleij The Intel Quark X1000 SoC has 2 GPIOs powered by the core 1121bc6a73bbSLinus Walleij power well and 6 from the suspend power well. 1122bc6a73bbSLinus Walleij 112315cbd66bSAlan Borzeszkowskiconfig GPIO_NOVALAKE 112415cbd66bSAlan Borzeszkowski tristate "Intel Nova Lake GPIO-signaled ACPI events support" 112515cbd66bSAlan Borzeszkowski depends on (X86 || COMPILE_TEST) && ACPI 112615cbd66bSAlan Borzeszkowski select GPIOLIB_IRQCHIP 112715cbd66bSAlan Borzeszkowski help 112815cbd66bSAlan Borzeszkowski Select this to enable GPIO-signaled ACPI events support on platforms 112915cbd66bSAlan Borzeszkowski with the following SoCs: 113015cbd66bSAlan Borzeszkowski 113115cbd66bSAlan Borzeszkowski - Intel Nova Lake 113215cbd66bSAlan Borzeszkowski 113315cbd66bSAlan Borzeszkowski This driver adds support for new mode of handling platform events, 113415cbd66bSAlan Borzeszkowski through the use of GPIO-signaled ACPI events. Main purpose is to 113515cbd66bSAlan Borzeszkowski handle platform IRQs that originate in PCH components, for example 113615cbd66bSAlan Borzeszkowski interrupt triggered by Power Management Event (PME). 113715cbd66bSAlan Borzeszkowski 113815cbd66bSAlan Borzeszkowski This driver, at this time, is not required to handle platform events. 113915cbd66bSAlan Borzeszkowski Listed platform(s) will stay in legacy mode, handling ACPI events as 114015cbd66bSAlan Borzeszkowski in previous generations. However, future platforms will eventually 114115cbd66bSAlan Borzeszkowski switch to new handling mode, requiring this driver to run events 114215cbd66bSAlan Borzeszkowski properly. 114315cbd66bSAlan Borzeszkowski 114415cbd66bSAlan Borzeszkowski Driver supports up to 128 GPIO pins per GPE block. 114515cbd66bSAlan Borzeszkowski 114615cbd66bSAlan Borzeszkowski To compile this driver as a module, choose M here: the module will 114715cbd66bSAlan Borzeszkowski be called gpio-novalake-events. 114815cbd66bSAlan Borzeszkowski 1149bc6a73bbSLinus Walleijconfig GPIO_SCH311X 1150bc6a73bbSLinus Walleij tristate "SMSC SCH311x SuperI/O GPIO" 1151bc6a73bbSLinus Walleij help 1152bc6a73bbSLinus Walleij Driver to enable the GPIOs found on SMSC SMSC SCH3112, SCH3114 and 1153bc6a73bbSLinus Walleij SCH3116 "Super I/O" chipsets. 1154bc6a73bbSLinus Walleij 1155bc6a73bbSLinus Walleij To compile this driver as a module, choose M here: the module will 1156bc6a73bbSLinus Walleij be called gpio-sch311x. 1157bc6a73bbSLinus Walleij 1158a0d65009SMaciej S. Szmigieroconfig GPIO_WINBOND 1159a0d65009SMaciej S. Szmigiero tristate "Winbond Super I/O GPIO support" 1160b995ff3bSMaciej S. Szmigiero select ISA_BUS_API 1161a0d65009SMaciej S. Szmigiero help 1162a0d65009SMaciej S. Szmigiero This option enables support for GPIOs found on Winbond Super I/O 1163a0d65009SMaciej S. Szmigiero chips. 1164a0d65009SMaciej S. Szmigiero Currently, only W83627UHG (also known as Nuvoton NCT6627UD) is 1165a0d65009SMaciej S. Szmigiero supported. 1166a0d65009SMaciej S. Szmigiero 1167a0d65009SMaciej S. Szmigiero You will need to provide a module parameter "gpios", or a 1168a0d65009SMaciej S. Szmigiero boot-time parameter "gpio_winbond.gpios" with a bitmask of GPIO 1169a0d65009SMaciej S. Szmigiero ports to enable (bit 0 is GPIO1, bit 1 is GPIO2, etc.). 1170a0d65009SMaciej S. Szmigiero 1171a0d65009SMaciej S. Szmigiero To compile this driver as a module, choose M here: the module will 1172a0d65009SMaciej S. Szmigiero be called gpio-winbond. 1173a0d65009SMaciej S. Szmigiero 11749c26df9bSWilliam Breathitt Grayconfig GPIO_WS16C48 11759c26df9bSWilliam Breathitt Gray tristate "WinSystems WS16C48 GPIO support" 117635decc80SWilliam Breathitt Gray select ISA_BUS_API 11770988ffa0SWilliam Breathitt Gray select REGMAP_IRQ 11780988ffa0SWilliam Breathitt Gray select REGMAP_MMIO 11799c26df9bSWilliam Breathitt Gray select GPIOLIB_IRQCHIP 11800988ffa0SWilliam Breathitt Gray select GPIO_REGMAP 11819c26df9bSWilliam Breathitt Gray help 1182cc736607SWilliam Breathitt Gray Enables GPIO support for the WinSystems WS16C48. The base port 1183cc736607SWilliam Breathitt Gray addresses for the devices may be configured via the base module 1184cc736607SWilliam Breathitt Gray parameter. The interrupt line numbers for the devices may be 1185cc736607SWilliam Breathitt Gray configured via the irq module parameter. 11869c26df9bSWilliam Breathitt Gray 1187bc6a73bbSLinus Walleijendmenu 1188bc6a73bbSLinus Walleij 1189177b0381SLinus Walleijmenu "I2C GPIO expanders" 1190177b0381SLinus Walleij depends on I2C 1191a9c5fff5SDavid Brownell 1192bf5a16baSLinus Walleijconfig GPIO_ADNP 1193bf5a16baSLinus Walleij tristate "Avionic Design N-bit GPIO expander" 11947803501eSBartosz Golaszewski depends on OF 1195104fb1d5SZhu, Lejun select GPIOLIB_IRQCHIP 1196104fb1d5SZhu, Lejun help 1197bf5a16baSLinus Walleij This option enables support for N GPIOs found on Avionic Design 1198bf5a16baSLinus Walleij I2C GPIO expanders. The register space will be extended by powers 1199bf5a16baSLinus Walleij of two, so the controller will need to accommodate for that. For 1200bf5a16baSLinus Walleij example: if a controller provides 48 pins, 6 registers will be 1201bf5a16baSLinus Walleij enough to represent all pins, but the driver will assume a 1202bf5a16baSLinus Walleij register layout for 64 pins (8 registers). 12030cc59b9dSMilo Kim 120403810031SEmanuele Ghidoliconfig GPIO_FXL6408 120503810031SEmanuele Ghidoli tristate "FXL6408 I2C GPIO expander" 120603810031SEmanuele Ghidoli select GPIO_REGMAP 120703810031SEmanuele Ghidoli select REGMAP_I2C 120803810031SEmanuele Ghidoli help 120903810031SEmanuele Ghidoli GPIO driver for Fairchild Semiconductor FXL6408 GPIO expander. 121003810031SEmanuele Ghidoli 121103810031SEmanuele Ghidoli To compile this driver as a module, choose M here: the module will 121203810031SEmanuele Ghidoli be called gpio-fxl6408. 121303810031SEmanuele Ghidoli 1214659ad5f7SOkan Sahinconfig GPIO_DS4520 1215659ad5f7SOkan Sahin tristate "DS4520 I2C GPIO expander" 1216659ad5f7SOkan Sahin select REGMAP_I2C 1217659ad5f7SOkan Sahin select GPIO_REGMAP 1218659ad5f7SOkan Sahin help 1219659ad5f7SOkan Sahin GPIO driver for ADI DS4520 I2C-based GPIO expander. 1220659ad5f7SOkan Sahin Say yes here to enable the GPIO driver for the ADI DS4520 chip. 1221659ad5f7SOkan Sahin 1222659ad5f7SOkan Sahin To compile this driver as a module, choose M here: the module will 1223659ad5f7SOkan Sahin be called gpio-ds4520. 1224659ad5f7SOkan Sahin 12252a0b0a57SLinus Walleijconfig GPIO_GW_PLD 12262a0b0a57SLinus Walleij tristate "Gateworks PLD GPIO Expander" 12277803501eSBartosz Golaszewski depends on OF 12282a0b0a57SLinus Walleij help 12292a0b0a57SLinus Walleij Say yes here to provide access to the Gateworks I2C PLD GPIO 12302a0b0a57SLinus Walleij Expander. This is used at least on the Cambria GW2358-4. 12312a0b0a57SLinus Walleij 1232e952805dSWolfram Sangconfig GPIO_MAX7300 1233e952805dSWolfram Sang tristate "Maxim MAX7300 GPIO expander" 1234e952805dSWolfram Sang select GPIO_MAX730X 1235e952805dSWolfram Sang help 12362b861f4bSAxel Lin GPIO driver for Maxim MAX7300 I2C-based GPIO expander. 1237e952805dSWolfram Sang 1238bbcd6d54SEric Miaoconfig GPIO_MAX732X 1239bbcd6d54SEric Miao tristate "MAX7319, MAX7320-7327 I2C Port Expanders" 1240bbcd6d54SEric Miao help 1241bbcd6d54SEric Miao Say yes here to support the MAX7319, MAX7320-7327 series of I2C 1242bbcd6d54SEric Miao Port Expanders. Each IO port on these chips has a fixed role of 1243bbcd6d54SEric Miao Input (designated by 'I'), Push-Pull Output ('O'), or Open-Drain 1244bbcd6d54SEric Miao Input and Output (designed by 'P'). The combinations are listed 1245bbcd6d54SEric Miao below: 1246bbcd6d54SEric Miao 1247bbcd6d54SEric Miao 8 bits: max7319 (8I), max7320 (8O), max7321 (8P), 1248bbcd6d54SEric Miao max7322 (4I4O), max7323 (4P4O) 1249bbcd6d54SEric Miao 1250bbcd6d54SEric Miao 16 bits: max7324 (8I8O), max7325 (8P8O), 1251bbcd6d54SEric Miao max7326 (4I12O), max7327 (4P12O) 1252bbcd6d54SEric Miao 1253bbcd6d54SEric Miao Board setup code must specify the model to use, and the start 1254bbcd6d54SEric Miao number for these GPIOs. 1255bbcd6d54SEric Miao 1256a80a0bbeSMarc Zyngierconfig GPIO_MAX732X_IRQ 1257a80a0bbeSMarc Zyngier bool "Interrupt controller support for MAX732x" 12580244ad00SMartin Schwidefsky depends on GPIO_MAX732X=y 1259984f6643SLinus Walleij select GPIOLIB_IRQCHIP 1260a80a0bbeSMarc Zyngier help 1261a80a0bbeSMarc Zyngier Say yes here to enable the max732x to be used as an interrupt 1262a80a0bbeSMarc Zyngier controller. It requires the driver to be built in the kernel. 1263a80a0bbeSMarc Zyngier 1264f3dc3630SGuennadi Liakhovetskiconfig GPIO_PCA953X 1265eb32b5aaSAaron Sierra tristate "PCA95[357]x, PCA9698, TCA64xx, and MAX7310 I/O ports" 12664bc16f9dSMarek Vasut select REGMAP_I2C 12679e60fdcfSeric miao help 12687059d4b0SDavid Brownell Say yes here to provide access to several register-oriented 12697059d4b0SDavid Brownell SMBus I/O expanders, made mostly by NXP or TI. Compatible 12707059d4b0SDavid Brownell models include: 12717059d4b0SDavid Brownell 12727059d4b0SDavid Brownell 4 bits: pca9536, pca9537 12737059d4b0SDavid Brownell 1274c29985ddSAxel Lin 8 bits: max7310, max7315, pca6107, pca9534, pca9538, pca9554, 1275d3e7efadSAkhilesh Patil pca9556, pca9557, pca9574, tca6408, tca9554, xra1202, 1276a30a9cb9SJan Remmet pcal6408, pcal9554b, tca9538, tcal6408 12777059d4b0SDavid Brownell 1278c29985ddSAxel Lin 16 bits: max7312, max7313, pca9535, pca9539, pca9555, pca9575, 1279d3e7efadSAkhilesh Patil tca6416, pca6416, pcal6416, pcal9535, pcal9555a, max7318, 1280a30a9cb9SJan Remmet tca9539, tcal6416 12819e60fdcfSeric miao 1282d3e7efadSAkhilesh Patil 18 bits: tca6418 12831e191695SAaron Sierra 1284d3e7efadSAkhilesh Patil 24 bits: tca6424, pcal6524 1285d3e7efadSAkhilesh Patil 1286d3e7efadSAkhilesh Patil 40 bits: pca9505, pca9698, pca9506 12871e191695SAaron Sierra 128889ea8bbeSMarc Zyngierconfig GPIO_PCA953X_IRQ 128989ea8bbeSMarc Zyngier bool "Interrupt controller support for PCA953x" 1290e33a58a2SAndy Shevchenko depends on GPIO_PCA953X 12917bcbce55SLinus Walleij select GPIOLIB_IRQCHIP 129289ea8bbeSMarc Zyngier help 129389ea8bbeSMarc Zyngier Say yes here to enable the pca953x to be used as an interrupt 1294dd1695a2SRandy Dunlap controller. 129589ea8bbeSMarc Zyngier 129616d44b60SSungbo Eoconfig GPIO_PCA9570 129716d44b60SSungbo Eo tristate "PCA9570 4-Bit I2C GPO expander" 129816d44b60SSungbo Eo help 129916d44b60SSungbo Eo Say yes here to enable the GPO driver for the NXP PCA9570 chip. 130016d44b60SSungbo Eo 130116d44b60SSungbo Eo To compile this driver as a module, choose M here: the module will 130216d44b60SSungbo Eo be called gpio-pca9570. 130316d44b60SSungbo Eo 130415fae37dSDavid Brownellconfig GPIO_PCF857X 13051673ad52SDavid Brownell tristate "PCF857x, PCA{85,96}7x, and MAX732[89] I2C GPIO expanders" 1306a39294bdSGeert Uytterhoeven select GPIOLIB_IRQCHIP 1307901acf5bSArnd Bergmann select IRQ_DOMAIN 130815fae37dSDavid Brownell help 130915fae37dSDavid Brownell Say yes here to provide access to most "quasi-bidirectional" I2C 131015fae37dSDavid Brownell GPIO expanders used for additional digital outputs or inputs. 131115fae37dSDavid Brownell Most of these parts are from NXP, though TI is a second source for 131215fae37dSDavid Brownell some of them. Compatible models include: 131315fae37dSDavid Brownell 131415fae37dSDavid Brownell 8 bits: pcf8574, pcf8574a, pca8574, pca8574a, 13151673ad52SDavid Brownell pca9670, pca9672, pca9674, pca9674a, 13161673ad52SDavid Brownell max7328, max7329 131715fae37dSDavid Brownell 131815fae37dSDavid Brownell 16 bits: pcf8575, pcf8575c, pca8575, 131915fae37dSDavid Brownell pca9671, pca9673, pca9675 132015fae37dSDavid Brownell 132115fae37dSDavid Brownell Your board setup code will need to declare the expanders in 132215fae37dSDavid Brownell use, and assign numbers to the GPIOs they expose. Those GPIOs 132315fae37dSDavid Brownell can then be used from drivers and other kernel code, just like 132415fae37dSDavid Brownell other GPIOs, but only accessible from task contexts. 132515fae37dSDavid Brownell 132615fae37dSDavid Brownell This driver provides an in-kernel interface to those GPIOs using 132715fae37dSDavid Brownell platform-neutral GPIO calls. 132815fae37dSDavid Brownell 1329b866526dSAndrew F. Davisconfig GPIO_TPIC2810 1330b866526dSAndrew F. Davis tristate "TPIC2810 8-Bit I2C GPO expander" 1331b866526dSAndrew F. Davis help 1332b866526dSAndrew F. Davis Say yes here to enable the GPO driver for the TI TPIC2810 chip. 1333b866526dSAndrew F. Davis 1334b866526dSAndrew F. Davis To compile this driver as a module, choose M here: the module will 1335b866526dSAndrew F. Davis be called gpio-tpic2810. 1336b866526dSAndrew F. Davis 13379c668632SLucile Quirionconfig GPIO_TS4900 13389c668632SLucile Quirion tristate "Technologic Systems FPGA I2C GPIO" 13394c5f15b7SJean Delvare depends on SOC_IMX6 || COMPILE_TEST 13409c668632SLucile Quirion select REGMAP_I2C 13419c668632SLucile Quirion help 13429c668632SLucile Quirion Say yes here to enabled the GPIO driver for Technologic's FPGA core. 13439c668632SLucile Quirion Series supported include TS-4100, TS-4900, TS-7970 and TS-7990. 13449c668632SLucile Quirion 1345177b0381SLinus Walleijendmenu 1346177b0381SLinus Walleij 1347177b0381SLinus Walleijmenu "MFD GPIO expanders" 1348be9cab5bSLinus Walleij 1349be9cab5bSLinus Walleijconfig GPIO_ADP5520 1350be9cab5bSLinus Walleij tristate "GPIO Support for ADP5520 PMIC" 1351be9cab5bSLinus Walleij depends on PMIC_ADP5520 1352be9cab5bSLinus Walleij help 1353be9cab5bSLinus Walleij This option enables support for on-chip GPIO found 1354be9cab5bSLinus Walleij on Analog Devices ADP5520 PMICs. 1355be9cab5bSLinus Walleij 1356738bbc66SHaibo Chenconfig GPIO_ADP5585 1357738bbc66SHaibo Chen tristate "GPIO Support for ADP5585" 1358738bbc66SHaibo Chen depends on MFD_ADP5585 1359988b28a8SNuno Sá select GPIOLIB_IRQCHIP 1360738bbc66SHaibo Chen help 1361738bbc66SHaibo Chen This option enables support for the GPIO function found in the Analog 1362738bbc66SHaibo Chen Devices ADP5585. 1363738bbc66SHaibo Chen 136426a48c4cSThor Thayerconfig GPIO_ALTERA_A10SR 136526a48c4cSThor Thayer tristate "Altera Arria10 System Resource GPIO" 136626a48c4cSThor Thayer depends on MFD_ALTERA_A10SR 136726a48c4cSThor Thayer help 136826a48c4cSThor Thayer Driver for Arria10 Development Kit GPIO expansion which 136926a48c4cSThor Thayer includes reads of pushbuttons and DIP switches as well 137026a48c4cSThor Thayer as writes to LEDs. 137126a48c4cSThor Thayer 1372be9cab5bSLinus Walleijconfig GPIO_ARIZONA 1373be9cab5bSLinus Walleij tristate "Wolfson Microelectronics Arizona class devices" 1374be9cab5bSLinus Walleij depends on MFD_ARIZONA 1375be9cab5bSLinus Walleij help 1376be9cab5bSLinus Walleij Support for GPIOs on Wolfson Arizona class devices. 1377be9cab5bSLinus Walleij 1378703b288fSMatti Vaittinenconfig GPIO_BD71815 1379703b288fSMatti Vaittinen tristate "ROHM BD71815 PMIC GPIO support" 1380703b288fSMatti Vaittinen depends on MFD_ROHM_BD71828 1381703b288fSMatti Vaittinen help 1382703b288fSMatti Vaittinen Support for GPO(s) on ROHM BD71815 PMIC. There are two GPOs 1383703b288fSMatti Vaittinen available on the ROHM PMIC. 1384703b288fSMatti Vaittinen 1385703b288fSMatti Vaittinen This driver can also be built as a module. If so, the module 1386703b288fSMatti Vaittinen will be called gpio-bd71815. 1387703b288fSMatti Vaittinen 1388c31f625dSMatti Vaittinenconfig GPIO_BD71828 1389c31f625dSMatti Vaittinen tristate "ROHM BD71828 GPIO support" 1390c31f625dSMatti Vaittinen depends on MFD_ROHM_BD71828 1391c31f625dSMatti Vaittinen help 1392c31f625dSMatti Vaittinen Support for GPIOs on ROHM BD71828 PMIC. There are three GPIOs 1393c31f625dSMatti Vaittinen available on the ROHM PMIC in total. The GPIOs are limited to 1394c31f625dSMatti Vaittinen outputs only and pins must be configured to GPIO outputs by 1395c31f625dSMatti Vaittinen OTP. Enable this only if you want to use these pins as outputs. 1396c31f625dSMatti Vaittinen 1397c31f625dSMatti Vaittinen This driver can also be built as a module. If so, the module 1398c31f625dSMatti Vaittinen will be called gpio-bd71828. 1399c31f625dSMatti Vaittinen 14006b367741SMatti Vaittinenconfig GPIO_BD72720 14016b367741SMatti Vaittinen tristate "ROHM BD72720 and BD73900 PMIC GPIO support" 14026b367741SMatti Vaittinen depends on MFD_ROHM_BD71828 14036b367741SMatti Vaittinen help 14046b367741SMatti Vaittinen Support for GPIO on ROHM BD72720 and BD73900 PMICs. There are two 14056b367741SMatti Vaittinen pins which can be configured to GPI or GPO, and three pins which can 14066b367741SMatti Vaittinen be configured to GPO on the ROHM PMIC. The pin configuration is done 14076b367741SMatti Vaittinen on OTP at manufacturing. 14086b367741SMatti Vaittinen 140903888668SMatti Vaittinenconfig GPIO_BD73800 141003888668SMatti Vaittinen tristate "ROHM BD73800 GPIO support" 141103888668SMatti Vaittinen depends on MFD_ROHM_BD71828 141203888668SMatti Vaittinen select GPIO_REGMAP 141303888668SMatti Vaittinen help 141403888668SMatti Vaittinen Support for GPIOs on ROHM BD73800 PMIC. There can be up to 4 141503888668SMatti Vaittinen GPI or GPO pins available on the PMIC in total. The purpose of 141603888668SMatti Vaittinen the pins is decided at the device manufacturing by OTP 141703888668SMatti Vaittinen configuration and can't be reconfigured later. Enable this 141803888668SMatti Vaittinen if your PMIC has pins set as GPIs or GPOs and if you wish to 141903888668SMatti Vaittinen control the pins via the GPIO framework. 142003888668SMatti Vaittinen 142193847930SMarek Vasutconfig GPIO_BD9571MWV 142293847930SMarek Vasut tristate "ROHM BD9571 GPIO support" 142393847930SMarek Vasut depends on MFD_BD9571MWV 142493847930SMarek Vasut help 142593847930SMarek Vasut Support for GPIOs on ROHM BD9571 PMIC. There are two GPIOs 142693847930SMarek Vasut available on the ROHM PMIC in total, both of which can also 142793847930SMarek Vasut generate interrupts. 142893847930SMarek Vasut 142993847930SMarek Vasut This driver can also be built as a module. If so, the module 143093847930SMarek Vasut will be called gpio-bd9571mwv. 143193847930SMarek Vasut 14324342bf63SThomas Richardconfig GPIO_CGBC 14334342bf63SThomas Richard tristate "Congatec Board Controller GPIO support" 14344342bf63SThomas Richard depends on MFD_CGBC 14354342bf63SThomas Richard help 14364342bf63SThomas Richard Select this option to enable GPIO support for the Congatec Board 14374342bf63SThomas Richard Controller. 14384342bf63SThomas Richard 14394342bf63SThomas Richard This driver can also be built as a module. If so, the module will be 14404342bf63SThomas Richard called gpio-cgbc. 14414342bf63SThomas Richard 1442f837fe1bSStephen Boydconfig GPIO_CROS_EC 1443f837fe1bSStephen Boyd tristate "ChromeOS EC GPIO support" 1444f837fe1bSStephen Boyd depends on CROS_EC 1445f837fe1bSStephen Boyd help 1446f837fe1bSStephen Boyd GPIO driver for the ChromeOS Embedded Controller (EC). GPIOs 1447f837fe1bSStephen Boyd cannot be set unless the system is unlocked. 1448f837fe1bSStephen Boyd 1449f837fe1bSStephen Boyd This driver can also be built as a module. If so, the module 1450f837fe1bSStephen Boyd will be called gpio-cros-ec. 1451f837fe1bSStephen Boyd 1452be9cab5bSLinus Walleijconfig GPIO_CRYSTAL_COVE 1453be9cab5bSLinus Walleij tristate "GPIO support for Crystal Cove PMIC" 145472aba2e2SPeter Robinson depends on (X86 || COMPILE_TEST) && INTEL_SOC_PMIC 1455be9cab5bSLinus Walleij select GPIOLIB_IRQCHIP 1456be9cab5bSLinus Walleij help 1457be9cab5bSLinus Walleij Support for GPIO pins on Crystal Cove PMIC. 1458be9cab5bSLinus Walleij 1459dd1695a2SRandy Dunlap Say Yes if you have a Intel SoC-based tablet with Crystal Cove PMIC 1460be9cab5bSLinus Walleij inside. 1461be9cab5bSLinus Walleij 1462be9cab5bSLinus Walleij This driver can also be built as a module. If so, the module will be 1463be9cab5bSLinus Walleij called gpio-crystalcove. 1464be9cab5bSLinus Walleij 1465be9cab5bSLinus Walleijconfig GPIO_CS5535 1466be9cab5bSLinus Walleij tristate "AMD CS5535/CS5536 GPIO support" 146772aba2e2SPeter Robinson depends on X86 || MIPS || COMPILE_TEST 1468be9cab5bSLinus Walleij depends on MFD_CS5535 1469be9cab5bSLinus Walleij help 1470be9cab5bSLinus Walleij The AMD CS5535 and CS5536 southbridges support 28 GPIO pins that 1471be9cab5bSLinus Walleij can be used for quite a number of things. The CS5535/6 is found on 1472be9cab5bSLinus Walleij AMD Geode and Lemote Yeeloong devices. 1473be9cab5bSLinus Walleij 1474be9cab5bSLinus Walleij If unsure, say N. 1475be9cab5bSLinus Walleij 1476be9cab5bSLinus Walleijconfig GPIO_DA9052 1477be9cab5bSLinus Walleij tristate "Dialog DA9052 GPIO" 1478be9cab5bSLinus Walleij depends on PMIC_DA9052 1479be9cab5bSLinus Walleij help 1480be9cab5bSLinus Walleij Say yes here to enable the GPIO driver for the DA9052 chip. 1481be9cab5bSLinus Walleij 1482be9cab5bSLinus Walleijconfig GPIO_DA9055 1483be9cab5bSLinus Walleij tristate "Dialog Semiconductor DA9055 GPIO" 1484be9cab5bSLinus Walleij depends on MFD_DA9055 1485be9cab5bSLinus Walleij help 1486be9cab5bSLinus Walleij Say yes here to enable the GPIO driver for the DA9055 chip. 1487be9cab5bSLinus Walleij 1488be9cab5bSLinus Walleij The Dialog DA9055 PMIC chip has 3 GPIO pins that can be 1489dd1695a2SRandy Dunlap be controlled by this driver. 1490be9cab5bSLinus Walleij 1491be9cab5bSLinus Walleij If driver is built as a module it will be called gpio-da9055. 1492be9cab5bSLinus Walleij 1493be9cab5bSLinus Walleijconfig GPIO_DLN2 1494be9cab5bSLinus Walleij tristate "Diolan DLN2 GPIO support" 1495be9cab5bSLinus Walleij depends on MFD_DLN2 1496be9cab5bSLinus Walleij select GPIOLIB_IRQCHIP 1497be9cab5bSLinus Walleij 1498be9cab5bSLinus Walleij help 1499be9cab5bSLinus Walleij Select this option to enable GPIO driver for the Diolan DLN2 1500be9cab5bSLinus Walleij board. 1501be9cab5bSLinus Walleij 1502be9cab5bSLinus Walleij This driver can also be built as a module. If so, the module 1503be9cab5bSLinus Walleij will be called gpio-dln2. 1504be9cab5bSLinus Walleij 15053c6e8d05SLinus Walleijconfig HTC_EGPIO 15063c6e8d05SLinus Walleij bool "HTC EGPIO support" 15071791226bSBartosz Golaszewski depends on ARM || COMPILE_TEST 15083c6e8d05SLinus Walleij help 15093c6e8d05SLinus Walleij This driver supports the CPLD egpio chip present on 15103c6e8d05SLinus Walleij several HTC phones. It provides basic support for input 1511dd1695a2SRandy Dunlap pins, output pins, and IRQs. 15123c6e8d05SLinus Walleij 15139409d8cfSPandith Nconfig GPIO_ELKHARTLAKE 15149409d8cfSPandith N tristate "Intel Elkhart Lake PSE GPIO support" 151510c15296SRaag Jadav depends on INTEL_EHL_PSE_IO 15169409d8cfSPandith N select GPIO_TANGIER 15179409d8cfSPandith N help 15189409d8cfSPandith N Select this option to enable GPIO support for Intel Elkhart Lake 15199409d8cfSPandith N PSE GPIO IP. 15209409d8cfSPandith N 15219409d8cfSPandith N To compile this driver as a module, choose M here: the module will 15229409d8cfSPandith N be called gpio-elkhartlake. 15239409d8cfSPandith N 1524be9cab5bSLinus Walleijconfig GPIO_JANZ_TTL 1525be9cab5bSLinus Walleij tristate "Janz VMOD-TTL Digital IO Module" 1526be9cab5bSLinus Walleij depends on MFD_JANZ_CMODIO 1527be9cab5bSLinus Walleij help 1528be9cab5bSLinus Walleij This enables support for the Janz VMOD-TTL Digital IO module. 1529be9cab5bSLinus Walleij This driver provides support for driving the pins in output 1530be9cab5bSLinus Walleij mode only. Input mode is not supported. 1531be9cab5bSLinus Walleij 1532be9cab5bSLinus Walleijconfig GPIO_KEMPLD 1533be9cab5bSLinus Walleij tristate "Kontron ETX / COMexpress GPIO" 1534be9cab5bSLinus Walleij depends on MFD_KEMPLD 1535a25f48fdSAlban Bedel select GPIOLIB_IRQCHIP 1536be9cab5bSLinus Walleij help 1537be9cab5bSLinus Walleij This enables support for the PLD GPIO interface on some Kontron ETX 1538be9cab5bSLinus Walleij and COMexpress (ETXexpress) modules. 1539be9cab5bSLinus Walleij 1540be9cab5bSLinus Walleij This driver can also be built as a module. If so, the module will be 1541be9cab5bSLinus Walleij called gpio-kempld. 1542be9cab5bSLinus Walleij 1543c5a4b6fdSYe Xiangconfig GPIO_LJCA 1544c5a4b6fdSYe Xiang tristate "INTEL La Jolla Cove Adapter GPIO support" 15451034cc42SWentong Wu depends on USB_LJCA 1546c5a4b6fdSYe Xiang select GPIOLIB_IRQCHIP 15471034cc42SWentong Wu default USB_LJCA 1548c5a4b6fdSYe Xiang help 1549c5a4b6fdSYe Xiang Select this option to enable GPIO driver for the INTEL 1550c5a4b6fdSYe Xiang La Jolla Cove Adapter (LJCA) board. 1551c5a4b6fdSYe Xiang 1552c5a4b6fdSYe Xiang This driver can also be built as a module. If so, the module 1553c5a4b6fdSYe Xiang will be called gpio-ljca. 1554c5a4b6fdSYe Xiang 1555be9cab5bSLinus Walleijconfig GPIO_LP3943 1556be9cab5bSLinus Walleij tristate "TI/National Semiconductor LP3943 GPIO expander" 1557be9cab5bSLinus Walleij depends on MFD_LP3943 1558be9cab5bSLinus Walleij help 1559be9cab5bSLinus Walleij GPIO driver for LP3943 MFD. 1560be9cab5bSLinus Walleij LP3943 can be used as a GPIO expander which provides up to 16 GPIOs. 1561be9cab5bSLinus Walleij Open drain outputs are required for this usage. 1562be9cab5bSLinus Walleij 156383f14103SKeerthyconfig GPIO_LP873X 156483f14103SKeerthy tristate "TI LP873X GPO" 156583f14103SKeerthy depends on MFD_TI_LP873X 156683f14103SKeerthy help 156783f14103SKeerthy This driver supports the GPO on TI Lp873x PMICs. 2 GPOs are present 156883f14103SKeerthy on LP873X PMICs. 156983f14103SKeerthy 157083f14103SKeerthy This driver can also be built as a module. If so, the module will be 157183f14103SKeerthy called gpio-lp873x. 157283f14103SKeerthy 15735c7f2c76SKeerthyconfig GPIO_LP87565 15745c7f2c76SKeerthy tristate "TI LP87565 GPIO" 15755c7f2c76SKeerthy depends on MFD_TI_LP87565 15765c7f2c76SKeerthy help 15775c7f2c76SKeerthy This driver supports the GPIO on TI Lp873565 PMICs. 3 GPIOs are present 15785c7f2c76SKeerthy on LP87565 PMICs. 15795c7f2c76SKeerthy 15805c7f2c76SKeerthy This driver can also be built as a module. If so, the module will be 15815c7f2c76SKeerthy called gpio-lp87565. 15825c7f2c76SKeerthy 15839b21051bSHector Martinconfig GPIO_MACSMC 15849b21051bSHector Martin tristate "Apple Mac SMC GPIO" 15859b21051bSHector Martin depends on MFD_MACSMC 15869b21051bSHector Martin help 15879b21051bSHector Martin Support for GPIOs controlled by the SMC microcontroller on Apple Mac 15889b21051bSHector Martin systems. 15899b21051bSHector Martin 15909b21051bSHector Martin This driver can also be built as a module. If so, the module will be 15919b21051bSHector Martin called gpio-macsmc. 15929b21051bSHector Martin 1593aca429ffSRichard Fitzgeraldconfig GPIO_MADERA 1594aca429ffSRichard Fitzgerald tristate "Cirrus Logic Madera class codecs" 1595aca429ffSRichard Fitzgerald depends on PINCTRL_MADERA 1596aca429ffSRichard Fitzgerald help 1597aca429ffSRichard Fitzgerald Support for GPIOs on Cirrus Logic Madera class codecs. 1598aca429ffSRichard Fitzgerald 1599b1a7433dSMathieu Dubois-Briandconfig GPIO_MAX7360 1600b1a7433dSMathieu Dubois-Briand tristate "MAX7360 GPIO support" 1601b1a7433dSMathieu Dubois-Briand depends on MFD_MAX7360 1602b1a7433dSMathieu Dubois-Briand select GPIO_REGMAP 1603b1a7433dSMathieu Dubois-Briand select REGMAP_IRQ 1604b1a7433dSMathieu Dubois-Briand help 1605b1a7433dSMathieu Dubois-Briand Allows to use MAX7360 I/O Expander PWM lines as GPIO and keypad COL 1606b1a7433dSMathieu Dubois-Briand lines as GPO. 1607b1a7433dSMathieu Dubois-Briand 1608b1a7433dSMathieu Dubois-Briand This driver can also be built as a module. If so, the module will be 1609b1a7433dSMathieu Dubois-Briand called gpio-max7360. 1610b1a7433dSMathieu Dubois-Briand 161102c5ba1eSLaxman Dewanganconfig GPIO_MAX77620 161202c5ba1eSLaxman Dewangan tristate "GPIO support for PMIC MAX77620 and MAX20024" 161302c5ba1eSLaxman Dewangan depends on MFD_MAX77620 1614c5706c7dSDmitry Osipenko select GPIOLIB_IRQCHIP 161502c5ba1eSLaxman Dewangan help 161602c5ba1eSLaxman Dewangan GPIO driver for MAX77620 and MAX20024 PMIC from Maxim Semiconductor. 161702c5ba1eSLaxman Dewangan MAX77620 PMIC has 8 pins that can be configured as GPIOs. The 1618dd1695a2SRandy Dunlap driver also provides interrupt support for each of the GPIOs. 1619dd1695a2SRandy Dunlap Say yes here to enable the max77620 to be used as GPIO controller. 162002c5ba1eSLaxman Dewangan 162172b5135bSBartosz Golaszewskiconfig GPIO_MAX77650 162272b5135bSBartosz Golaszewski tristate "Maxim MAX77650/77651 GPIO support" 162372b5135bSBartosz Golaszewski depends on MFD_MAX77650 162472b5135bSBartosz Golaszewski help 162572b5135bSBartosz Golaszewski GPIO driver for MAX77650/77651 PMIC from Maxim Semiconductor. 162672b5135bSBartosz Golaszewski These chips have a single pin that can be configured as GPIO. 162772b5135bSBartosz Golaszewski 162889a796b9SAndré Draszikconfig GPIO_MAX77759 162989a796b9SAndré Draszik tristate "Maxim Integrated MAX77759 GPIO support" 163089a796b9SAndré Draszik depends on MFD_MAX77759 163189a796b9SAndré Draszik default MFD_MAX77759 163289a796b9SAndré Draszik select GPIOLIB_IRQCHIP 163389a796b9SAndré Draszik help 163489a796b9SAndré Draszik GPIO driver for MAX77759 PMIC from Maxim Integrated. 163589a796b9SAndré Draszik There are two GPIOs available on these chips in total, both of 163689a796b9SAndré Draszik which can also generate interrupts. 163789a796b9SAndré Draszik 163889a796b9SAndré Draszik This driver can also be built as a module. If so, the module will be 163989a796b9SAndré Draszik called gpio-max77759. 164089a796b9SAndré Draszik 1641611a995eSMing Yuconfig GPIO_NCT6694 1642611a995eSMing Yu tristate "Nuvoton NCT6694 GPIO controller support" 1643611a995eSMing Yu depends on MFD_NCT6694 1644611a995eSMing Yu select GENERIC_IRQ_CHIP 1645611a995eSMing Yu select GPIOLIB_IRQCHIP 1646611a995eSMing Yu help 1647611a995eSMing Yu This driver supports 8 GPIO pins per bank that can all be interrupt 1648611a995eSMing Yu sources. 1649611a995eSMing Yu 1650611a995eSMing Yu This driver can also be built as a module. If so, the module will be 1651611a995eSMing Yu called gpio-nct6694. 1652611a995eSMing Yu 1653be9cab5bSLinus Walleijconfig GPIO_PALMAS 1654cfbbf275SAaron Kling tristate "TI PALMAS series PMICs GPIO" 1655be9cab5bSLinus Walleij depends on MFD_PALMAS 1656be9cab5bSLinus Walleij help 1657be9cab5bSLinus Walleij Select this option to enable GPIO driver for the TI PALMAS 1658be9cab5bSLinus Walleij series chip family. 1659be9cab5bSLinus Walleij 166063de20caSLinus Walleijconfig GPIO_PMIC_EIC_SPRD 166163de20caSLinus Walleij tristate "Spreadtrum PMIC EIC support" 166263de20caSLinus Walleij depends on MFD_SC27XX_PMIC || COMPILE_TEST 166363de20caSLinus Walleij select GPIOLIB_IRQCHIP 166463de20caSLinus Walleij help 166563de20caSLinus Walleij Say yes here to support Spreadtrum PMIC EIC device. 166663de20caSLinus Walleij 1667e8850024SIoana Ciorneiconfig GPIO_QIXIS_FPGA 1668e8850024SIoana Ciornei tristate "NXP QIXIS FPGA GPIO support" 1669e8850024SIoana Ciornei depends on MFD_SIMPLE_MFD_I2C || COMPILE_TEST 1670e8850024SIoana Ciornei select GPIO_REGMAP 1671db9c67bfSArnd Bergmann select REGMAP_MMIO 1672e8850024SIoana Ciornei help 1673e8850024SIoana Ciornei This enables support for the GPIOs found in the QIXIS FPGA which is 1674e8850024SIoana Ciornei integrated on some NXP Layerscape boards such as LX2160ARDB and 1675e8850024SIoana Ciornei LS1046AQDS. 1676e8850024SIoana Ciornei 1677e9fe32bcSLaxman Dewanganconfig GPIO_RC5T583 1678e9fe32bcSLaxman Dewangan bool "RICOH RC5T583 GPIO" 1679e9fe32bcSLaxman Dewangan depends on MFD_RC5T583 1680e9fe32bcSLaxman Dewangan help 1681e9fe32bcSLaxman Dewangan Select this option to enable GPIO driver for the Ricoh RC5T583 1682e9fe32bcSLaxman Dewangan chip family. 1683dd1695a2SRandy Dunlap This driver provides the support for driving/reading the GPIO pins 1684dd1695a2SRandy Dunlap of RC5T583 device through standard GPIO library. 1685e9fe32bcSLaxman Dewangan 1686b7536d87SMichael Walleconfig GPIO_SL28CPLD 1687b7536d87SMichael Walle tristate "Kontron sl28cpld GPIO support" 1688b7536d87SMichael Walle depends on MFD_SL28CPLD || COMPILE_TEST 1689b7536d87SMichael Walle select GPIO_REGMAP 1690b7536d87SMichael Walle select GPIOLIB_IRQCHIP 1691b7536d87SMichael Walle select REGMAP_IRQ 1692b7536d87SMichael Walle help 1693b7536d87SMichael Walle This enables support for the GPIOs found on the Kontron sl28 CPLD. 1694b7536d87SMichael Walle 1695b7536d87SMichael Walle This driver can also be built as a module. If so, the module will be 1696b7536d87SMichael Walle called gpio-sl28cpld. 1697b7536d87SMichael Walle 169803f822f5SRabin Vincentconfig GPIO_STMPE 169903db20aaSAlexander Stein tristate "STMPE GPIOs" 170003f822f5SRabin Vincent depends on MFD_STMPE 1701fe44e70dSLinus Walleij select GPIOLIB_IRQCHIP 170203f822f5SRabin Vincent help 170303f822f5SRabin Vincent This enables support for the GPIOs found on the STMPE I/O 170403f822f5SRabin Vincent Expanders. 170503f822f5SRabin Vincent 1706f4e8afdcSSundar Iyerconfig GPIO_TC3589X 1707f4e8afdcSSundar Iyer bool "TC3589X GPIOs" 1708f4e8afdcSSundar Iyer depends on MFD_TC3589X 1709cf42f1cfSLinus Walleij select GPIOLIB_IRQCHIP 1710d88b25beSRabin Vincent help 1711f4e8afdcSSundar Iyer This enables support for the GPIOs found on the TC3589X 1712d88b25beSRabin Vincent I/O Expander. 1713d88b25beSRabin Vincent 1714be9cab5bSLinus Walleijconfig GPIO_TIMBERDALE 1715be9cab5bSLinus Walleij bool "Support for timberdale GPIO IP" 1716be9cab5bSLinus Walleij depends on MFD_TIMBERDALE 17178b8ef309SPeng Fan select GPIOLIB_IRQCHIP 1718a7f7f624SMasahiro Yamada help 1719be9cab5bSLinus Walleij Add support for the GPIO IP in the timberdale FPGA. 1720be9cab5bSLinus Walleij 1721b3dcb5deSRobert Markoconfig GPIO_TN48M_CPLD 1722b3dcb5deSRobert Marko tristate "Delta Networks TN48M switch CPLD GPIO driver" 17234e8a72f9SBartosz Golaszewski depends on MFD_TN48M_CPLD || COMPILE_TEST 1724b3dcb5deSRobert Marko select GPIO_REGMAP 1725b3dcb5deSRobert Marko help 1726b3dcb5deSRobert Marko This enables support for the GPIOs found on the Delta 1727b3dcb5deSRobert Marko Networks TN48M switch Lattice CPLD. It provides 12 pins in total, 1728b3dcb5deSRobert Marko they are input-only or output-only type. 1729b3dcb5deSRobert Marko 1730b3dcb5deSRobert Marko This driver can also be built as a module. If so, the 1731b3dcb5deSRobert Marko module will be called gpio-tn48m. 1732b3dcb5deSRobert Marko 173399f0fd54SAndrew F. Davisconfig GPIO_TPS65086 173499f0fd54SAndrew F. Davis tristate "TI TPS65086 GPO" 173599f0fd54SAndrew F. Davis depends on MFD_TPS65086 173699f0fd54SAndrew F. Davis help 173799f0fd54SAndrew F. Davis This driver supports the GPO on TI TPS65086x PMICs. 173899f0fd54SAndrew F. Davis 1739c366c76aSNicolas Saenz Julienneconfig GPIO_TPS65218 1740c366c76aSNicolas Saenz Julienne tristate "TPS65218 GPIO" 1741c366c76aSNicolas Saenz Julienne depends on MFD_TPS65218 1742c366c76aSNicolas Saenz Julienne help 1743c366c76aSNicolas Saenz Julienne Select this option to enable GPIO driver for the TPS65218 1744c366c76aSNicolas Saenz Julienne chip family. 1745c366c76aSNicolas Saenz Julienne 174657e30e00SJerome Neanneconfig GPIO_TPS65219 174757e30e00SJerome Neanne tristate "TPS65219 GPIO" 174857e30e00SJerome Neanne depends on MFD_TPS65219 174957e30e00SJerome Neanne default MFD_TPS65219 175057e30e00SJerome Neanne help 175157e30e00SJerome Neanne Select this option to enable GPIO driver for the TPS65219 chip 175257e30e00SJerome Neanne family. 175357e30e00SJerome Neanne GPIO0 is statically configured as either input or output prior to 175457e30e00SJerome Neanne Linux boot. It is used for MULTI_DEVICE_ENABLE function. This setting 175557e30e00SJerome Neanne is statically configured by NVM. GPIO0 can't be used as a generic 175657e30e00SJerome Neanne GPIO. It's either a GPO when MULTI_DEVICE_EN=0 or a GPI when 175757e30e00SJerome Neanne MULTI_DEVICE_EN=1. 175857e30e00SJerome Neanne 175957e30e00SJerome Neanne This driver can also be built as a module. If so, the module will be 176057e30e00SJerome Neanne called gpio_tps65219. 176157e30e00SJerome Neanne 1762be9cab5bSLinus Walleijconfig GPIO_TPS6586X 1763be9cab5bSLinus Walleij bool "TPS6586X GPIO" 1764be9cab5bSLinus Walleij depends on MFD_TPS6586X 1765be9cab5bSLinus Walleij help 1766be9cab5bSLinus Walleij Select this option to enable GPIO driver for the TPS6586X 1767be9cab5bSLinus Walleij chip family. 1768be9cab5bSLinus Walleij 1769be9cab5bSLinus Walleijconfig GPIO_TPS65910 1770be9cab5bSLinus Walleij bool "TPS65910 GPIO" 1771be9cab5bSLinus Walleij depends on MFD_TPS65910 1772be9cab5bSLinus Walleij help 1773be9cab5bSLinus Walleij Select this option to enable GPIO driver for the TPS65910 1774be9cab5bSLinus Walleij chip family. 1775be9cab5bSLinus Walleij 1776668a6cc7SMargarita Olayaconfig GPIO_TPS65912 1777668a6cc7SMargarita Olaya tristate "TI TPS65912 GPIO" 1778ca801a22SAndrew F. Davis depends on MFD_TPS65912 1779668a6cc7SMargarita Olaya help 1780dd1695a2SRandy Dunlap This driver supports TPS65912 GPIO chip. 1781668a6cc7SMargarita Olaya 1782275b13a6SRajmohan Maniconfig GPIO_TPS68470 1783a1ce76e8SHans de Goede tristate "TPS68470 GPIO" 178424700e1fSDaniel Scally depends on INTEL_SKL_INT3472 1785275b13a6SRajmohan Mani help 1786275b13a6SRajmohan Mani Select this option to enable GPIO driver for the TPS68470 1787275b13a6SRajmohan Mani chip family. 1788dd1695a2SRandy Dunlap There are 7 GPIOs and few sensor-related GPIOs supported 1789275b13a6SRajmohan Mani by the TPS68470. While the 7 GPIOs can be configured as 1790275b13a6SRajmohan Mani input or output as appropriate, the sensor related GPIOs 1791275b13a6SRajmohan Mani are "output only" GPIOs. 1792275b13a6SRajmohan Mani 1793b868db94SAndrew Lunnconfig GPIO_TQMX86 17948c219e52SGregor Herburger tristate "TQ-Systems TQMx86 GPIO" 1795b868db94SAndrew Lunn depends on MFD_TQMX86 || COMPILE_TEST 1796c6414e1aSJohannes Berg depends on HAS_IOPORT_MAP 1797b868db94SAndrew Lunn select GPIOLIB_IRQCHIP 1798b868db94SAndrew Lunn help 1799b868db94SAndrew Lunn This driver supports GPIO on the TQMX86 IO controller. 1800b868db94SAndrew Lunn 1801e9d35947SDavid Brownellconfig GPIO_TWL4030 1802e9d35947SDavid Brownell tristate "TWL4030, TWL5030, and TPS659x0 GPIOs" 1803e9d35947SDavid Brownell depends on TWL4030_CORE 1804e9d35947SDavid Brownell help 1805e9d35947SDavid Brownell Say yes here to access the GPIO signals of various multi-function 1806e9d35947SDavid Brownell power management chips from Texas Instruments. 1807e9d35947SDavid Brownell 180870ffd691SPeter Ujfalusiconfig GPIO_TWL6040 180970ffd691SPeter Ujfalusi tristate "TWL6040 GPO" 181070ffd691SPeter Ujfalusi depends on TWL6040_CORE 181170ffd691SPeter Ujfalusi help 181270ffd691SPeter Ujfalusi Say yes here to access the GPO signals of twl6040 181370ffd691SPeter Ujfalusi audio chip from Texas Instruments. 181470ffd691SPeter Ujfalusi 18150ba19cfcSBin Gaoconfig GPIO_WHISKEY_COVE 18160ba19cfcSBin Gao tristate "GPIO support for Whiskey Cove PMIC" 1817b5238b41SAndy Shevchenko depends on (X86 || COMPILE_TEST) && INTEL_SOC_PMIC_BXTWC 18180ba19cfcSBin Gao select GPIOLIB_IRQCHIP 18190ba19cfcSBin Gao help 18200ba19cfcSBin Gao Support for GPIO pins on Whiskey Cove PMIC. 18210ba19cfcSBin Gao 1822dd1695a2SRandy Dunlap Say Yes if you have an Intel SoC-based tablet with Whiskey Cove PMIC 18230ba19cfcSBin Gao inside. 18240ba19cfcSBin Gao 18250ba19cfcSBin Gao This driver can also be built as a module. If so, the module will be 18260ba19cfcSBin Gao called gpio-wcove. 18270ba19cfcSBin Gao 1828e4b736f1SMark Brownconfig GPIO_WM831X 1829e4b736f1SMark Brown tristate "WM831x GPIOs" 1830e4b736f1SMark Brown depends on MFD_WM831X 1831e4b736f1SMark Brown help 1832e4b736f1SMark Brown Say yes here to access the GPIO signals of WM831x power management 1833e4b736f1SMark Brown chips from Wolfson Microelectronics. 1834e4b736f1SMark Brown 183538f6ce45SMark Brownconfig GPIO_WM8350 183638f6ce45SMark Brown tristate "WM8350 GPIOs" 183738f6ce45SMark Brown depends on MFD_WM8350 183838f6ce45SMark Brown help 183938f6ce45SMark Brown Say yes here to access the GPIO signals of WM8350 power management 184038f6ce45SMark Brown chips from Wolfson Microelectronics. 184138f6ce45SMark Brown 18422955c309SMark Brownconfig GPIO_WM8994 18432955c309SMark Brown tristate "WM8994 GPIOs" 18442955c309SMark Brown depends on MFD_WM8994 18452955c309SMark Brown help 18462955c309SMark Brown Say yes here to access the GPIO signals of WM8994 audio hub 18472955c309SMark Brown CODECs from Wolfson Microelectronics. 18482955c309SMark Brown 1849177b0381SLinus Walleijendmenu 1850177b0381SLinus Walleij 185155c01d37SNuno Sámenu "Auxiliary Bus GPIO drivers" 185255c01d37SNuno Sá depends on AUXILIARY_BUS 185355c01d37SNuno Sá 1854ea4f5a73SJanani Sunilconfig GPIO_AD7768 1855ea4f5a73SJanani Sunil tristate "Analog Devices AD7768 GPIO support" 1856ea4f5a73SJanani Sunil depends on AD7768 1857ea4f5a73SJanani Sunil depends on GPIOLIB 1858ea4f5a73SJanani Sunil select GPIO_REGMAP 1859ea4f5a73SJanani Sunil help 1860ea4f5a73SJanani Sunil Say yes here to expose the AD7768 utility pins as GPIOs when the 1861ea4f5a73SJanani Sunil device tree node is marked as a GPIO controller. 1862ea4f5a73SJanani Sunil 1863ea4f5a73SJanani Sunil To compile this driver as a module, choose M here: the module will be 1864ea4f5a73SJanani Sunil called gpio-ad7768. 1865ea4f5a73SJanani Sunil 186655c01d37SNuno Sáconfig GPIO_LTC4283 186755c01d37SNuno Sá tristate "Analog Devices LTC4283 GPIO support" 186855c01d37SNuno Sá depends on SENSORS_LTC4283 186955c01d37SNuno Sá help 187055c01d37SNuno Sá If you say yes here you want the GPIO function available in Analog 187155c01d37SNuno Sá Devices LTC4283 Negative Voltage Hot Swap Controller. 187255c01d37SNuno Sá 187355c01d37SNuno Sá This driver can also be built as a module. If so, the module will 187455c01d37SNuno Sá be called gpio-ltc4283. 187555c01d37SNuno Sá 187655c01d37SNuno Sáendmenu 187755c01d37SNuno Sá 1878177b0381SLinus Walleijmenu "PCI GPIO expanders" 1879177b0381SLinus Walleij depends on PCI 1880ff1d5c2fSMichael Buesch 188192c33ef7SLinus Walleijconfig GPIO_AMD8111 188292c33ef7SLinus Walleij tristate "AMD 8111 GPIO driver" 188372aba2e2SPeter Robinson depends on X86 || COMPILE_TEST 1884c6414e1aSJohannes Berg depends on HAS_IOPORT_MAP 1885ff1d5c2fSMichael Buesch help 188692c33ef7SLinus Walleij The AMD 8111 southbridge contains 32 GPIO pins which can be used. 18875f0a96b0SAndres Salomon 1888dd1695a2SRandy Dunlap Note that usually system firmware/ACPI handles GPIO pins on their 1889dd1695a2SRandy Dunlap own and users might easily break their systems with uncareful usage 189092c33ef7SLinus Walleij of this driver! 1891ff1d5c2fSMichael Buesch 189292c33ef7SLinus Walleij If unsure, say N 18935f0a96b0SAndres Salomon 1894ff1d5c2fSMichael Bueschconfig GPIO_BT8XX 1895ff1d5c2fSMichael Buesch tristate "BT8XX GPIO abuser" 1896c948feeaSBartosz Golaszewski depends on VIDEO_BT848=n || COMPILE_TEST 1897ff1d5c2fSMichael Buesch help 189822520edcSGeert Uytterhoeven The BT8xx frame grabber chip has 24 GPIO pins that can be abused 1899ff1d5c2fSMichael Buesch as a cheap PCI GPIO card. 1900ff1d5c2fSMichael Buesch 1901ff1d5c2fSMichael Buesch This chip can be found on Miro, Hauppauge and STB TV-cards. 1902ff1d5c2fSMichael Buesch 1903ff1d5c2fSMichael Buesch The card needs to be physically altered for using it as a 1904ff1d5c2fSMichael Buesch GPIO card. For more information on how to build a GPIO card 1905ff1d5c2fSMichael Buesch from a BT8xx TV card, see the documentation file at 19065f07224eSJonathan Neuschäfer Documentation/driver-api/gpio/bt8xxgpio.rst 1907ff1d5c2fSMichael Buesch 1908ff1d5c2fSMichael Buesch If unsure, say N. 1909ff1d5c2fSMichael Buesch 1910ccf6fd6dSAndy Shevchenkoconfig GPIO_MERRIFIELD 1911ccf6fd6dSAndy Shevchenko tristate "Intel Merrifield GPIO support" 1912ccf6fd6dSAndy Shevchenko depends on X86_INTEL_MID 191334840be5SPandith N select GPIO_TANGIER 1914ccf6fd6dSAndy Shevchenko help 1915ccf6fd6dSAndy Shevchenko Say Y here to support Intel Merrifield GPIO. 19168bf02617SAlek Du 1917c78c42d7SShravan Kumar Ramaniconfig GPIO_MLXBF 1918c78c42d7SShravan Kumar Ramani tristate "Mellanox BlueField SoC GPIO" 1919cbe706b0SShravan Kumar Ramani depends on (MELLANOX_PLATFORM && ARM64 && ACPI) || (64BIT && COMPILE_TEST) 1920c78c42d7SShravan Kumar Ramani select GPIO_GENERIC 1921c78c42d7SShravan Kumar Ramani help 1922c78c42d7SShravan Kumar Ramani Say Y here if you want GPIO support on Mellanox BlueField SoC. 1923c78c42d7SShravan Kumar Ramani 1924bc0ae0e7SAsmaa Mnebhiconfig GPIO_MLXBF2 1925bc0ae0e7SAsmaa Mnebhi tristate "Mellanox BlueField 2 SoC GPIO" 1926bc0ae0e7SAsmaa Mnebhi depends on (MELLANOX_PLATFORM && ARM64 && ACPI) || (64BIT && COMPILE_TEST) 1927bc0ae0e7SAsmaa Mnebhi select GPIO_GENERIC 19282f43f602SLinus Walleij select GPIOLIB_IRQCHIP 1929bc0ae0e7SAsmaa Mnebhi help 1930bc0ae0e7SAsmaa Mnebhi Say Y here if you want GPIO support on Mellanox BlueField 2 SoC. 1931bc0ae0e7SAsmaa Mnebhi 1932cd33f216SAsmaa Mnebhiconfig GPIO_MLXBF3 1933cd33f216SAsmaa Mnebhi tristate "Mellanox BlueField 3 SoC GPIO" 1934cd33f216SAsmaa Mnebhi depends on (MELLANOX_PLATFORM && ARM64) || COMPILE_TEST 1935cd33f216SAsmaa Mnebhi select GPIO_GENERIC 1936cd33f216SAsmaa Mnebhi select GPIOLIB_IRQCHIP 1937cd33f216SAsmaa Mnebhi help 1938cd33f216SAsmaa Mnebhi Say Y if you want GPIO support on Mellanox BlueField 3 SoC. 1939cd33f216SAsmaa Mnebhi This GPIO controller supports interrupt handling and enables the 1940cd33f216SAsmaa Mnebhi manipulation of certain GPIO pins. 1941cd33f216SAsmaa Mnebhi This controller should be used in parallel with pinctrl-mlxbf3 to 1942cd33f216SAsmaa Mnebhi control the desired GPIOs. 1943cd33f216SAsmaa Mnebhi This driver can also be built as a module called mlxbf3-gpio. 1944cd33f216SAsmaa Mnebhi 194592c33ef7SLinus Walleijconfig GPIO_ML_IOH 194692c33ef7SLinus Walleij tristate "OKI SEMICONDUCTOR ML7213 IOH GPIO support" 194772aba2e2SPeter Robinson depends on X86 || COMPILE_TEST 194892c33ef7SLinus Walleij select GENERIC_IRQ_CHIP 194992c33ef7SLinus Walleij help 195092c33ef7SLinus Walleij ML7213 is companion chip for Intel Atom E6xx series. 195192c33ef7SLinus Walleij This driver can be used for OKI SEMICONDUCTOR ML7213 IOH (Input/Output 195292c33ef7SLinus Walleij Hub) which is for IVI (In-Vehicle Infotainment) use. 195392c33ef7SLinus Walleij This driver can access the IOH's GPIO device. 195492c33ef7SLinus Walleij 195504c17aa8STomoya MORINAGAconfig GPIO_PCH 1956868fea05STomoya MORINAGA tristate "Intel EG20T PCH/LAPIS Semiconductor IOH (ML7223/ML7831) GPIO" 195703744529SAndrew F. Davis depends on X86_32 || MIPS || COMPILE_TEST 195838eb18a6STomoya MORINAGA select GENERIC_IRQ_CHIP 195904c17aa8STomoya MORINAGA help 1960dd1695a2SRandy Dunlap This driver is for PCH (Platform Controller Hub) GPIO of Intel Topcliff, 196104c17aa8STomoya MORINAGA which is an IOH (Input/Output Hub) for x86 embedded processor. 196204c17aa8STomoya MORINAGA This driver can access PCH GPIO device. 196304c17aa8STomoya MORINAGA 1964868fea05STomoya MORINAGA This driver also can be used for LAPIS Semiconductor IOH (Input/ 1965868fea05STomoya MORINAGA Output Hub), ML7223 and ML7831. 1966bc786cceSTomoya MORINAGA ML7223 IOH is for MP (Media Phone) use. 1967868fea05STomoya MORINAGA ML7831 IOH is for general purpose use. 1968868fea05STomoya MORINAGA ML7223/ML7831 is companion chip for Intel Atom E6xx series. 1969868fea05STomoya MORINAGA ML7223/ML7831 is completely compatible for Intel EG20T PCH. 1970bc786cceSTomoya MORINAGA 197102e74fc0SWilliam Breathitt Grayconfig GPIO_PCI_IDIO_16 197202e74fc0SWilliam Breathitt Gray tristate "ACCES PCI-IDIO-16 GPIO support" 197373d8f3efSWilliam Breathitt Gray select REGMAP_MMIO 1974e7f758faSWilliam Breathitt Gray select GPIO_IDIO_16 197502e74fc0SWilliam Breathitt Gray help 197602e74fc0SWilliam Breathitt Gray Enables GPIO support for the ACCES PCI-IDIO-16. An interrupt is 197702e74fc0SWilliam Breathitt Gray generated when any of the inputs change state (low to high or high to 197802e74fc0SWilliam Breathitt Gray low). Input filter control is not supported by this driver, and the 197902e74fc0SWilliam Breathitt Gray input filters are deactivated by this driver. 198002e74fc0SWilliam Breathitt Gray 198158556204SWilliam Breathitt Grayconfig GPIO_PCIE_IDIO_24 198258556204SWilliam Breathitt Gray tristate "ACCES PCIe-IDIO-24 GPIO support" 19831a200a39SWilliam Breathitt Gray select REGMAP_IRQ 19841a200a39SWilliam Breathitt Gray select REGMAP_MMIO 198558556204SWilliam Breathitt Gray select GPIOLIB_IRQCHIP 19861a200a39SWilliam Breathitt Gray select GPIO_REGMAP 198758556204SWilliam Breathitt Gray help 198858556204SWilliam Breathitt Gray Enables GPIO support for the ACCES PCIe-IDIO-24 family (PCIe-IDIO-24, 198958556204SWilliam Breathitt Gray PCIe-IDI-24, PCIe-IDO-24, PCIe-IDIO-12). An interrupt is generated 199058556204SWilliam Breathitt Gray when any of the inputs change state (low to high or high to low). 199158556204SWilliam Breathitt Gray Input filter control is not supported by this driver, and the input 199258556204SWilliam Breathitt Gray filters are deactivated by this driver. 199358556204SWilliam Breathitt Gray 19949956d02dSFlorian Fainelliconfig GPIO_RDC321X 19959956d02dSFlorian Fainelli tristate "RDC R-321x GPIO support" 1996e4be3cb7SRandy Dunlap select MFD_CORE 19979956d02dSFlorian Fainelli select MFD_RDC321X 19989956d02dSFlorian Fainelli help 19999956d02dSFlorian Fainelli Support for the RDC R321x SoC GPIOs over southbridge 20009956d02dSFlorian Fainelli PCI configuration space. 20019956d02dSFlorian Fainelli 200235570ac6SRichard Röjforsconfig GPIO_SODAVILLE 2003a9c5fff5SDavid Brownell bool "Intel Sodaville GPIO support" 200403744529SAndrew F. Davis depends on X86 && OF 20050c36ec31SJuergen Beisert select GPIO_GENERIC 20060c36ec31SJuergen Beisert select GENERIC_IRQ_CHIP 2007e952805dSWolfram Sang help 20080c36ec31SJuergen Beisert Say Y here to support Intel Sodaville GPIO. 2009e952805dSWolfram Sang 2010177b0381SLinus Walleijendmenu 2011e58b9e27SDavid Brownell 2012177b0381SLinus Walleijmenu "SPI GPIO expanders" 2013177b0381SLinus Walleij depends on SPI_MASTER 2014e58b9e27SDavid Brownell 2015a7ec2e7fSLinus Walleijconfig GPIO_74X164 2016a7ec2e7fSLinus Walleij tristate "74x164 serial-in/parallel-out 8-bits shift register" 2017a7ec2e7fSLinus Walleij help 2018a7ec2e7fSLinus Walleij Driver for 74x164 compatible serial-in/parallel-out 8-outputs 2019a7ec2e7fSLinus Walleij shift registers. This driver can be used to provide access 2020dd1695a2SRandy Dunlap to more GPIO outputs. 2021e58b9e27SDavid Brownell 2022b2f68edfSLukas Wunnerconfig GPIO_MAX3191X 2023b2f68edfSLukas Wunner tristate "Maxim MAX3191x industrial serializer" 2024b2f68edfSLukas Wunner select CRC8 2025b2f68edfSLukas Wunner help 2026b2f68edfSLukas Wunner GPIO driver for Maxim MAX31910, MAX31911, MAX31912, MAX31913, 2027b2f68edfSLukas Wunner MAX31953 and MAX31963 industrial serializer, a daisy-chainable 2028b2f68edfSLukas Wunner chip to make 8 digital 24V inputs available via SPI. Supports 2029b2f68edfSLukas Wunner CRC checksums to guard against electromagnetic interference, 2030b2f68edfSLukas Wunner as well as undervoltage and overtemperature detection. 2031b2f68edfSLukas Wunner 2032e58b9e27SDavid Brownellconfig GPIO_MAX7301 2033e58b9e27SDavid Brownell tristate "Maxim MAX7301 GPIO expander" 20341e5db006SRichard Röjfors select GPIO_MAX730X 20351e5db006SRichard Röjfors help 20361e5db006SRichard Röjfors GPIO driver for Maxim MAX7301 SPI-based GPIO expander. 20371e5db006SRichard Röjfors 20380963670aSLinus Walleijconfig GPIO_MC33880 20390963670aSLinus Walleij tristate "Freescale MC33880 high-side/low-side switch" 20400963670aSLinus Walleij help 20410963670aSLinus Walleij SPI driver for Freescale MC33880 high-side/low-side switch. 20420963670aSLinus Walleij This provides GPIO interface supporting inputs and outputs. 20430963670aSLinus Walleij 2044df6df93cSAndrew F. Davisconfig GPIO_PISOSR 2045df6df93cSAndrew F. Davis tristate "Generic parallel-in/serial-out shift register" 2046df6df93cSAndrew F. Davis help 2047df6df93cSAndrew F. Davis GPIO driver for SPI compatible parallel-in/serial-out shift 2048df6df93cSAndrew F. Davis registers. These are input only devices. 2049df6df93cSAndrew F. Davis 20505704520dSNandor Hanconfig GPIO_XRA1403 20515704520dSNandor Han tristate "EXAR XRA1403 16-bit GPIO expander" 2052665dff99SArnd Bergmann select REGMAP_SPI 20535704520dSNandor Han help 20545704520dSNandor Han GPIO driver for EXAR XRA1403 16-bit SPI-based GPIO expander. 20555704520dSNandor Han 2056856ed97aSMarek Behúnconfig GPIO_MOXTET 2057856ed97aSMarek Behún tristate "Turris Mox Moxtet bus GPIO expander" 2058856ed97aSMarek Behún depends on MOXTET 2059856ed97aSMarek Behún help 2060856ed97aSMarek Behún Say yes here if you are building for the Turris Mox router. 2061856ed97aSMarek Behún This is the driver needed for configuring the GPIOs via the Moxtet 2062856ed97aSMarek Behún bus. For example the Mox module with SFP cage needs this driver 2063856ed97aSMarek Behún so that phylink can use corresponding GPIOs. 2064856ed97aSMarek Behún 20650963670aSLinus Walleijendmenu 20660963670aSLinus Walleij 2067177b0381SLinus Walleijmenu "USB GPIO expanders" 2068177b0381SLinus Walleij depends on USB 20699d5b72deSLars Poeschel 20709d5b72deSLars Poeschelconfig GPIO_VIPERBOARD 20719d5b72deSLars Poeschel tristate "Viperboard GPIO a & b support" 207203744529SAndrew F. Davis depends on MFD_VIPERBOARD 20739d5b72deSLars Poeschel help 20749d5b72deSLars Poeschel Say yes here to access the GPIO signals of Nano River 20759d5b72deSLars Poeschel Technologies Viperboard. There are two GPIO chips on the 20769d5b72deSLars Poeschel board: gpioa and gpiob. 20779d5b72deSLars Poeschel See viperboard API specification and Nano 20789d5b72deSLars Poeschel River Tech's viperboard.h for detailed meaning 20799d5b72deSLars Poeschel of the module parameters. 20809d5b72deSLars Poeschel 2081c46a74ffSMary Strodlconfig GPIO_MPSSE 2082c46a74ffSMary Strodl tristate "FTDI MPSSE GPIO support" 2083c46a74ffSMary Strodl select GPIOLIB_IRQCHIP 2084c46a74ffSMary Strodl help 2085c46a74ffSMary Strodl GPIO driver for FTDI's MPSSE interface. These can do input and 2086c46a74ffSMary Strodl output. Each MPSSE provides 16 IO pins. 2087c46a74ffSMary Strodl 2088c122451cSIsrael Cepedaconfig GPIO_USBIO 2089c122451cSIsrael Cepeda tristate "Intel USBIO GPIO support" 2090c122451cSIsrael Cepeda depends on USB_USBIO 2091c122451cSIsrael Cepeda default USB_USBIO 2092c122451cSIsrael Cepeda help 2093c122451cSIsrael Cepeda Select this option to enable GPIO driver for the INTEL 2094c122451cSIsrael Cepeda USBIO driver stack. 2095c122451cSIsrael Cepeda 2096c122451cSIsrael Cepeda This driver can also be built as a module. If so, the module 2097c122451cSIsrael Cepeda will be called gpio_usbio. 2098c122451cSIsrael Cepeda 2099177b0381SLinus Walleijendmenu 21006732127fSDaniel Baluta 2101b5252196SEnrico Weigelt, metux IT consultmenu "Virtual GPIO drivers" 2102b5252196SEnrico Weigelt, metux IT consult 2103828546e2SGeert Uytterhoevenconfig GPIO_AGGREGATOR 2104828546e2SGeert Uytterhoeven tristate "GPIO Aggregator" 210586f162e7SKoichiro Den select CONFIGFS_FS 2106828546e2SGeert Uytterhoeven help 2107828546e2SGeert Uytterhoeven Say yes here to enable the GPIO Aggregator, which provides a way to 2108828546e2SGeert Uytterhoeven aggregate existing GPIO lines into a new virtual GPIO chip. 2109828546e2SGeert Uytterhoeven This can serve the following purposes: 2110828546e2SGeert Uytterhoeven - Assign permissions for a collection of GPIO lines to a user, 2111828546e2SGeert Uytterhoeven - Export a collection of GPIO lines to a virtual machine, 2112828546e2SGeert Uytterhoeven - Provide a generic driver for a GPIO-operated device in an 2113828546e2SGeert Uytterhoeven industrial control context, to be operated from userspace using 2114828546e2SGeert Uytterhoeven the GPIO chardev interface. 2115828546e2SGeert Uytterhoeven 21161454a928SSascha Hauerconfig GPIO_LATCH 21171454a928SSascha Hauer tristate "GPIO latch driver" 21181454a928SSascha Hauer help 21191454a928SSascha Hauer Say yes here to enable a driver for GPIO multiplexers based on latches 21201454a928SSascha Hauer connected to other GPIOs. 21211454a928SSascha Hauer 21222b03d9a4SJonas Jelonekconfig GPIO_LINE_MUX 21232b03d9a4SJonas Jelonek tristate "GPIO line mux driver" 21247803501eSBartosz Golaszewski depends on OF 21252b03d9a4SJonas Jelonek select MULTIPLEXER 21262b03d9a4SJonas Jelonek help 21272b03d9a4SJonas Jelonek Say Y here to support the GPIO line mux, which can provide virtual 21282b03d9a4SJonas Jelonek GPIOs backed by a shared real GPIO and a multiplexer in a 1-to-many 21292b03d9a4SJonas Jelonek fashion. 21302b03d9a4SJonas Jelonek 21316e4484eeSBartosz Golaszewskiconfig GPIO_MOCKUP 21329790222dSBartosz Golaszewski tristate "GPIO Testing Driver (DEPRECATED)" 21336e4484eeSBartosz Golaszewski select IRQ_SIM 21346e4484eeSBartosz Golaszewski help 21359790222dSBartosz Golaszewski This module is DEPRECATED. Please consider using gpio-sim instead. 21369790222dSBartosz Golaszewski 21376e4484eeSBartosz Golaszewski This enables GPIO Testing driver, which provides a way to test GPIO 21384bf24261SBartosz Golaszewski subsystem through sysfs (or char device) and debugfs. 21396e4484eeSBartosz Golaszewski User could use it through the script in 21406e4484eeSBartosz Golaszewski tools/testing/selftests/gpio/gpio-mockup.sh. Reference the usage in 21416e4484eeSBartosz Golaszewski it. 21426e4484eeSBartosz Golaszewski 21433a29355aSViresh Kumarconfig GPIO_VIRTIO 21443a29355aSViresh Kumar tristate "VirtIO GPIO support" 21453a29355aSViresh Kumar depends on VIRTIO 2146eff5cdd7SViresh Kumar select GPIOLIB_IRQCHIP 21473a29355aSViresh Kumar help 21483a29355aSViresh Kumar Say Y here to enable guest support for virtio-based GPIO controllers. 21493a29355aSViresh Kumar 21503a29355aSViresh Kumar These virtual GPIOs can be routed to real GPIOs or attached to 21513a29355aSViresh Kumar simulators on the host (like QEMU). 21523a29355aSViresh Kumar 2153cb8c474eSBartosz Golaszewskiconfig GPIO_SIM 2154cb8c474eSBartosz Golaszewski tristate "GPIO Simulator Module" 21553a33394eSBartosz Golaszewski depends on SYSFS 2156cb8c474eSBartosz Golaszewski select IRQ_SIM 2157cb8c474eSBartosz Golaszewski select CONFIGFS_FS 2158cb8c474eSBartosz Golaszewski help 2159cb8c474eSBartosz Golaszewski This enables the GPIO simulator - a configfs-based GPIO testing 2160cb8c474eSBartosz Golaszewski driver. 2161cb8c474eSBartosz Golaszewski 2162e992d54cSBartosz Golaszewskiconfig GPIO_SHARED_PROXY 2163e992d54cSBartosz Golaszewski tristate "Proxy driver for non-exclusive GPIOs" 2164e992d54cSBartosz Golaszewski default m 2165e992d54cSBartosz Golaszewski depends on GPIO_SHARED || COMPILE_TEST 2166e992d54cSBartosz Golaszewski select AUXILIARY_BUS 2167e992d54cSBartosz Golaszewski help 2168e992d54cSBartosz Golaszewski This enables the GPIO shared proxy driver - an abstraction layer 2169e992d54cSBartosz Golaszewski for GPIO pins that are shared by multiple devices. 2170e992d54cSBartosz Golaszewski 2171b5252196SEnrico Weigelt, metux IT consultendmenu 2172b5252196SEnrico Weigelt, metux IT consult 21737828b7bbSWolfram Sangmenu "GPIO Debugging utilities" 21747828b7bbSWolfram Sang 21757828b7bbSWolfram Sangconfig GPIO_SLOPPY_LOGIC_ANALYZER 21767828b7bbSWolfram Sang tristate "Sloppy GPIO logic analyzer" 21777828b7bbSWolfram Sang depends on (GPIOLIB || COMPILE_TEST) && CPUSETS && DEBUG_FS && EXPERT 21787828b7bbSWolfram Sang help 21797828b7bbSWolfram Sang This option enables support for a sloppy logic analyzer using polled 21807828b7bbSWolfram Sang GPIOs. Use the 'tools/gpio/gpio-sloppy-logic-analyzer' script with 21817828b7bbSWolfram Sang this driver. The script will make it easier to use and will also 21827828b7bbSWolfram Sang isolate a CPU for the polling task. Note that this is a last resort 21837828b7bbSWolfram Sang analyzer which can be affected by latencies, non-deterministic code 21847828b7bbSWolfram Sang paths, or NMIs. However, for e.g. remote development, it may be useful 21857828b7bbSWolfram Sang to get a first view and aid further debugging. 21867828b7bbSWolfram Sang 21877828b7bbSWolfram Sang If this driver is built as a module it will be called 21887828b7bbSWolfram Sang 'gpio-sloppy-logic-analyzer'. 21897828b7bbSWolfram Sang 219091581c4bSBartosz Golaszewskiconfig GPIO_VIRTUSER 219191581c4bSBartosz Golaszewski tristate "GPIO Virtual User Testing Module" 219291581c4bSBartosz Golaszewski select DEBUG_FS 219391581c4bSBartosz Golaszewski select CONFIGFS_FS 219491581c4bSBartosz Golaszewski select IRQ_WORK 219591581c4bSBartosz Golaszewski help 219691581c4bSBartosz Golaszewski Say Y here to enable the configurable, configfs-based virtual GPIO 219791581c4bSBartosz Golaszewski consumer testing driver. 219891581c4bSBartosz Golaszewski 219991581c4bSBartosz Golaszewski This driver is aimed as a helper in spotting any regressions in 220091581c4bSBartosz Golaszewski hot-unplug handling in GPIOLIB. 220191581c4bSBartosz Golaszewski 22027828b7bbSWolfram Sangendmenu 22037828b7bbSWolfram Sang 22047444a72eSMichael Bueschendif 2205