# SPDX-License-Identifier: GPL-2.0-only## GPIO infrastructure and drivers# config GPIOLIB_LEGACY def_bool y config HAVE_SHARED_GPIOS bool menuconfig GPIOLIB bool "GPIO Support" help This enables GPIO support through the generic GPIO library. You only need to enable this if you also want to enable one or more of the GPIO drivers below. If unsure, say N. if GPIOLIB config GPIOLIB_FASTPATH_LIMIT int "Maximum number of GPIOs for fast path" range 32 512 default 512 help This adjusts the point at which certain APIs will switch from using a stack allocated buffer to a dynamically allocated buffer. You shouldn't need to change this unless you really need to optimize either stack space or performance. Change this carefully since setting an incorrect value could cause stack corruption. config OF_GPIO def_bool y depends on OF depends on HAS_IOMEM config GPIO_ACPI def_bool y depends on ACPI config GPIOLIB_IRQCHIP select IRQ_DOMAIN bool config GPIO_SHARED def_bool y depends on HAVE_SHARED_GPIOS || COMPILE_TEST select AUXILIARY_BUS config DEBUG_GPIO bool "Debug GPIO calls" depends on DEBUG_KERNEL help Say Y here to add some extra checks and diagnostics to GPIO calls. These checks help ensure that GPIOs have been properly initialized before they are used, and that sleeping calls are not made from non-sleeping contexts. They can make bitbanged serial protocols slower. The diagnostics help catch the type of setup errors that are most common when setting up new platforms or boards. config GPIO_SYSFS bool "/sys/class/gpio/... (sysfs interface)" if EXPERT depends on SYSFS select GPIO_CDEV # We need to encourage the new ABI help Say Y here to add the legacy sysfs interface for GPIOs. This ABI is deprecated. If you want to use GPIO from userspace, use the character device /dev/gpiochipN with the appropriate ioctl() operations instead. config GPIO_SYSFS_LEGACY bool "Enable legacy functionalities of the sysfs interface" depends on GPIO_SYSFS default y if GPIO_SYSFS help Say Y here if you want to enable the legacy, global GPIO numberspace-based functionalities of the sysfs interface. config GPIO_CDEV bool "Character device (/dev/gpiochipN) support" if EXPERT default y help Say Y here to add the character device /dev/gpiochipN interface for GPIOs. The character device allows userspace to control GPIOs using ioctl() operations. Only say N if you are sure that the GPIO character device is not required. If unsure, say Y. config GPIO_CDEV_V1 bool "Support GPIO ABI Version 1" depends on GPIO_CDEV help Say Y here to support version 1 of the GPIO CDEV ABI. This ABI version is deprecated. Please use the latest ABI for new developments. config GPIO_KUNIT tristate "Build GPIO Kunit test cases" depends on KUNIT default KUNIT_ALL_TESTS help Say Y here to build the module containing Kunit test cases verifying the functionality of the GPIO subsystem. config GPIO_GENERIC depends on HAS_IOMEM # Only for IOMEM drivers tristate config GPIO_REGMAP select REGMAP tristate config GPIO_SWNODE_UNDEFINED bool help This adds a special place holder for software nodes to contain an undefined GPIO reference, this is primarily used by SPI to allow a list of GPIO chip selects to mark a certain chip select as being controlled the SPI device's internal chip select mechanism and not a GPIO. # put drivers in the right section, in alphabetical order # This symbol is selected by both I2C and SPI expandersconfig GPIO_MAX730X tristate config GPIO_IDIO_16 tristate select REGMAP_IRQ select GPIOLIB_IRQCHIP select GPIO_REGMAP help Enables support for the idio-16 library functions. The idio-16 library provides functions to facilitate communication with devices within the ACCES IDIO-16 family such as the 104-IDIO-16 and the PCI-IDIO-16. If built as a module its name will be gpio-idio-16. menu "Memory mapped GPIO drivers" depends on HAS_IOMEM config GPIO_74XX_MMIO tristate "GPIO driver for 74xx-ICs with MMIO access" depends on OF select GPIO_GENERIC help Say yes here to support GPIO functionality for 74xx-compatible ICs with MMIO access. Compatible models include: 1 bit: 741G125 (Input), 741G74 (Output) 2 bits: 742G125 (Input), 7474 (Output) 4 bits: 74125 (Input), 74175 (Output) 6 bits: 74365 (Input), 74174 (Output) 8 bits: 74244 (Input), 74273 (Output) 16 bits: 741624 (Input), 7416374 (Output) config GPIO_ALTERA tristate "Altera GPIO" select GPIO_GENERIC select GPIOLIB_IRQCHIP help Say Y or M here to build support for the Altera PIO device. If driver is built as a module it will be called gpio-altera. config GPIO_AMDPT tristate "AMD Promontory GPIO support" depends on ACPI select GPIO_GENERIC help Driver for GPIO functionality on Promontory IOHub. Requires ACPI ASL code to enumerate as a platform device. config GPIO_ASPEED tristate "Aspeed GPIO support" depends on ARCH_ASPEED || COMPILE_TEST select GPIOLIB_IRQCHIP help Say Y here to support Aspeed AST2400 and AST2500 GPIO controllers. config GPIO_ASPEED_SGPIO bool "Aspeed SGPIO support" depends on ARCH_ASPEED || COMPILE_TEST select GPIO_GENERIC select GPIOLIB_IRQCHIP help Say Y here to support Aspeed AST2500 SGPIO functionality. config GPIO_ATH79 tristate "Atheros AR71XX/AR724X/AR913X GPIO support" default y if ATH79 depends on ATH79 || COMPILE_TEST select GPIO_GENERIC select GPIOLIB_IRQCHIP help Select this option to enable GPIO driver for Atheros AR71XX/AR724X/AR913X SoC devices. config GPIO_RASPBERRYPI_EXP tristate "Raspberry Pi 3 GPIO Expander" default RASPBERRYPI_FIRMWARE # Make sure not 'y' when RASPBERRYPI_FIRMWARE is 'm'. This can only # happen when COMPILE_TEST=y, hence the added !RASPBERRYPI_FIRMWARE. depends on (ARCH_BCM2835 && RASPBERRYPI_FIRMWARE) || (COMPILE_TEST && !RASPBERRYPI_FIRMWARE) help Turn on GPIO support for the expander on Raspberry Pi 3 boards, using the firmware mailbox to communicate with VideoCore on BCM283x chips. config GPIO_BCM_KONA bool "Broadcom Kona GPIO" depends on ARCH_BCM_MOBILE || COMPILE_TEST select GPIOLIB_IRQCHIP help Turn on GPIO support for Broadcom "Kona" chips. config GPIO_BCM_XGS_IPROC tristate "BRCM XGS iProc GPIO support" depends on ARCH_BCM_IPROC || COMPILE_TEST select GPIO_GENERIC select GPIOLIB_IRQCHIP default ARCH_BCM_IPROC help Say yes here to enable GPIO support for Broadcom XGS iProc SoCs. config GPIO_BLZP1600 tristate "Blaize BLZP1600 GPIO support" default y if ARCH_BLAIZE depends on ARCH_BLAIZE || COMPILE_TEST select GPIO_GENERIC select GPIOLIB_IRQCHIP help Say Y or M here to add support for the Blaize BLZP1600 GPIO device. The controller is based on the Verisilicon Microelectronics GPIO APB v0.2 IP block. config GPIO_BRCMSTB tristate "BRCMSTB GPIO support" default y if (ARCH_BRCMSTB || BMIPS_GENERIC) depends on ARCH_BRCMSTB || ARCH_BCM2835 || BMIPS_GENERIC || COMPILE_TEST depends on OF select GPIO_GENERIC select IRQ_DOMAIN help Say yes here to enable GPIO support for Broadcom STB (BCM7XXX) SoCs. config GPIO_BY_PINCTRL tristate "GPIO support based on a pure pin control backend" depends on GPIOLIB help Support for generic GPIO handling based on top of pin control. Traditionally, firmware creates a GPIO interface or a pin controller interface and we have a driver to support it. But in SCMI, the pin control interface is generic and we can create a simple GPIO device based on the pin control interface without doing anything custom. This driver is used to access GPIOs over the ARM SCMI protocol. config GPIO_CADENCE tristate "Cadence GPIO support" depends on OF select GPIO_GENERIC select GPIOLIB_IRQCHIP help Say yes here to enable support for Cadence GPIO controller. config GPIO_CLPS711X tristate "CLPS711X GPIO support" depends on ARCH_CLPS711X || COMPILE_TEST select GPIO_GENERIC help Say yes here to support GPIO on CLPS711X SoCs. config GPIO_DAVINCI tristate "TI Davinci/Keystone GPIO support" default y if ARCH_DAVINCI depends on ((ARM || ARM64) && (ARCH_DAVINCI || ARCH_KEYSTONE || ARCH_K3)) || COMPILE_TEST select GPIOLIB_IRQCHIP help Say yes here to enable GPIO support for TI Davinci/Keystone SoCs. config GPIO_DWAPB tristate "Synopsys DesignWare APB GPIO driver" select GPIO_GENERIC select GPIOLIB_IRQCHIP help Say Y or M here to build support for the Synopsys DesignWare APB GPIO block. config GPIO_EIC_SPRD tristate "Spreadtrum EIC support" depends on ARCH_SPRD || COMPILE_TEST select GPIOLIB_IRQCHIP help Say yes here to support Spreadtrum EIC device. config GPIO_EM tristate "Emma Mobile GPIO" depends on ARCH_EMEV2 || COMPILE_TEST help Say yes here to support GPIO on Renesas Emma Mobile SoCs. config GPIO_EN7523 tristate "Airoha GPIO support" depends on ARCH_AIROHA || COMPILE_TEST default ARCH_AIROHA select GPIO_GENERIC select GPIOLIB_IRQCHIP help Say Y or M here to support the GPIO controller block on the Airoha EN7523 SoC. It supports two banks of 32 GPIOs. config GPIO_EP93XX def_bool y depends on ARCH_EP93XX || COMPILE_TEST select GPIO_GENERIC select GPIOLIB_IRQCHIP config GPIO_EXAR tristate "Support for GPIO pins on XR17V352/354/358" depends on SERIAL_8250_EXAR select REGMAP_MMIO help Selecting this option will enable handling of GPIO pins present on Exar XR17V352/354/358 chips. config GPIO_GE_FPGA bool "GE FPGA based GPIO" depends on GE_FPGA || COMPILE_TEST select GPIO_GENERIC help Support for common GPIO functionality provided on some GE Single Board Computers. This driver provides basic support (configure as input or output, read and write pin state) for GPIO implemented in a number of GE single board computers. config GPIO_FTGPIO010 bool "Faraday FTGPIO010 GPIO" depends on OF select GPIO_GENERIC select GPIOLIB_IRQCHIP default (ARCH_GEMINI || ARCH_MOXART) help Support for common GPIOs from the Faraday FTGPIO010 IP core, found in Cortina systems Gemini platforms, Moxa ART and others. config GPIO_GENERIC_PLATFORM tristate "Generic memory-mapped GPIO controller support (MMIO platform device)" select GPIO_GENERIC help Say yes here to support basic platform_device memory-mapped GPIO controllers. config GPIO_GRANITERAPIDS tristate "Intel Granite Rapids-D vGPIO support" depends on X86 || COMPILE_TEST select GPIOLIB_IRQCHIP help Select this to enable virtual GPIO support on platforms with the following SoCs: - Intel Granite Rapids-D The driver enables basic GPIO functionality and implements interrupt support. The virtual GPIO driver controls GPIO lines via a firmware interface. The physical GPIO pins reside on device that is external from the main SoC package, such as a BMC or a CPLD. To compile this driver as a module, choose M here: the module will be called gpio-graniterapids. config GPIO_GRGPIO tristate "Aeroflex Gaisler GRGPIO support" depends on OF || COMPILE_TEST select GPIO_GENERIC select GPIOLIB_IRQCHIP help Select this to support Aeroflex Gaisler GRGPIO cores from the GRLIB VHDL IP core library. config GPIO_HISI tristate "HiSilicon GPIO controller driver" depends on ARM64 || COMPILE_TEST select GPIO_GENERIC select GPIOLIB_IRQCHIP help Say Y or M here to build support for the HiSilicon GPIO controller driver GPIO block. This GPIO controller supports double-edge interrupt and multi-core concurrent access. config GPIO_HLWD tristate "Nintendo Wii (Hollywood) GPIO" depends on OF select GPIO_GENERIC select GPIOLIB_IRQCHIP help Select this to support the GPIO controller of the Nintendo Wii. If unsure, say N. config GPIO_ICH tristate "Intel ICH GPIO" depends on (X86 && LPC_ICH) || (COMPILE_TEST && HAS_IOPORT) help Say yes here to support the GPIO functionality of a number of Intel ICH-based chipsets. Currently supported devices: ICH6, ICH7, ICH8 ICH9, ICH10, Series 5/3400 (e.g. Ibex Peak), Series 6/C200 (e.g. Cougar Point), NM10 (Tiger Point), and 3100 (Whitmore Lake). If unsure, say N. config GPIO_IMX_SCU def_bool y depends on IMX_SCU config GPIO_IXP4XX bool "Intel IXP4xx GPIO" depends on (ARCH_IXP4XX && OF) || COMPILE_TEST select GPIO_GENERIC select GPIOLIB_IRQCHIP select IRQ_DOMAIN_HIERARCHY help Say yes here to support the GPIO functionality of a number of Intel IXP4xx series of chips. If unsure, say N. config GPIO_LOGICVC tristate "Xylon LogiCVC GPIO support" depends on MFD_SYSCON && OF help Say yes here to support GPIO functionality of the Xylon LogiCVC programmable logic block. config GPIO_LOONGSON bool "Loongson-2/3 GPIO support" depends on CPU_LOONGSON2EF || CPU_LOONGSON64 help Driver for GPIO functionality on Loongson-2F/3A/3B processors. config GPIO_LOONGSON_64BIT tristate "Loongson 64 bit GPIO support" depends on LOONGARCH || COMPILE_TEST select GPIO_GENERIC select GPIOLIB_IRQCHIP help Say yes here to support the GPIO functionality of a number of Loongson series of chips. The Loongson GPIO controller supports up to 60 GPIOS in total, 4 of which are dedicated GPIO pins, and the remaining 56 are reused with other functions, with edge or level triggered interrupts. config GPIO_LPC18XX tristate "NXP LPC18XX/43XX GPIO support" default y if ARCH_LPC18XX depends on ARCH_LPC18XX || COMPILE_TEST select IRQ_DOMAIN_HIERARCHY select GPIOLIB_IRQCHIP help Select this option to enable GPIO driver for NXP LPC18XX/43XX devices. config GPIO_LPC32XX tristate "NXP LPC32XX GPIO support" depends on ARCH_LPC32XX || COMPILE_TEST depends on OF help Select this option to enable GPIO driver for NXP LPC32XX devices. config GPIO_MB86S7X tristate "GPIO support for Fujitsu MB86S7x Platforms" help Say yes here to support the GPIO controller in Fujitsu MB86S70 SoCs. config GPIO_MENZ127 tristate "MEN 16Z127 GPIO support" depends on MCB select GPIO_GENERIC help Say yes here to support the MEN 16Z127 GPIO Controller. config GPIO_MM_LANTIQ bool "Lantiq Memory mapped GPIOs" depends on LANTIQ && SOC_XWAY help This enables support for memory mapped GPIOs on the External Bus Unit (EBU) found on Lantiq SoCs. The GPIOs are output only as they are created by attaching a 16-bit latch to the bus. Lines 1–500 of 2159. Load more
# SPDX-License-Identifier: GPL-2.0-only # # GPIO infrastructure and drivers # config GPIOLIB_LEGACY def_bool y config HAVE_SHARED_GPIOS bool menuconfig GPIOLIB bool "GPIO Support" help This enables GPIO support through the generic GPIO library. You only need to enable this if you also want to enable one or more of the GPIO drivers below. If unsure, say N. if GPIOLIB config GPIOLIB_FASTPATH_LIMIT int "Maximum number of GPIOs for fast path" range 32 512 default 512 help This adjusts the point at which certain APIs will switch from using a stack allocated buffer to a dynamically allocated buffer. You shouldn't need to change this unless you really need to optimize either stack space or performance. Change this carefully since setting an incorrect value could cause stack corruption. config OF_GPIO def_bool y depends on OF depends on HAS_IOMEM config GPIO_ACPI def_bool y depends on ACPI config GPIOLIB_IRQCHIP select IRQ_DOMAIN bool config GPIO_SHARED def_bool y depends on HAVE_SHARED_GPIOS || COMPILE_TEST select AUXILIARY_BUS config DEBUG_GPIO bool "Debug GPIO calls" depends on DEBUG_KERNEL help Say Y here to add some extra checks and diagnostics to GPIO calls. These checks help ensure that GPIOs have been properly initialized before they are used, and that sleeping calls are not made from non-sleeping contexts. They can make bitbanged serial protocols slower. The diagnostics help catch the type of setup errors that are most common when setting up new platforms or boards. config GPIO_SYSFS bool "/sys/class/gpio/... (sysfs interface)" if EXPERT depends on SYSFS select GPIO_CDEV # We need to encourage the new ABI help Say Y here to add the legacy sysfs interface for GPIOs. This ABI is deprecated. If you want to use GPIO from userspace, use the character device /dev/gpiochipN with the appropriate ioctl() operations instead. config GPIO_SYSFS_LEGACY bool "Enable legacy functionalities of the sysfs interface" depends on GPIO_SYSFS default y if GPIO_SYSFS help Say Y here if you want to enable the legacy, global GPIO numberspace-based functionalities of the sysfs interface. config GPIO_CDEV bool "Character device (/dev/gpiochipN) support" if EXPERT default y help Say Y here to add the character device /dev/gpiochipN interface for GPIOs. The character device allows userspace to control GPIOs using ioctl() operations. Only say N if you are sure that the GPIO character device is not required. If unsure, say Y. config GPIO_CDEV_V1 bool "Support GPIO ABI Version 1" depends on GPIO_CDEV help Say Y here to support version 1 of the GPIO CDEV ABI. This ABI version is deprecated. Please use the latest ABI for new developments. config GPIO_KUNIT tristate "Build GPIO Kunit test cases" depends on KUNIT default KUNIT_ALL_TESTS help Say Y here to build the module containing Kunit test cases verifying the functionality of the GPIO subsystem. config GPIO_GENERIC depends on HAS_IOMEM # Only for IOMEM drivers tristate config GPIO_REGMAP select REGMAP tristate config GPIO_SWNODE_UNDEFINED bool help This adds a special place holder for software nodes to contain an undefined GPIO reference, this is primarily used by SPI to allow a list of GPIO chip selects to mark a certain chip select as being controlled the SPI device's internal chip select mechanism and not a GPIO. # put drivers in the right section, in alphabetical order # This symbol is selected by both I2C and SPI expanders config GPIO_MAX730X tristate config GPIO_IDIO_16 tristate select REGMAP_IRQ select GPIOLIB_IRQCHIP select GPIO_REGMAP help Enables support for the idio-16 library functions. The idio-16 library provides functions to facilitate communication with devices within the ACCES IDIO-16 family such as the 104-IDIO-16 and the PCI-IDIO-16. If built as a module its name will be gpio-idio-16. menu "Memory mapped GPIO drivers" depends on HAS_IOMEM config GPIO_74XX_MMIO tristate "GPIO driver for 74xx-ICs with MMIO access" depends on OF select GPIO_GENERIC help Say yes here to support GPIO functionality for 74xx-compatible ICs with MMIO access. Compatible models include: 1 bit: 741G125 (Input), 741G74 (Output) 2 bits: 742G125 (Input), 7474 (Output) 4 bits: 74125 (Input), 74175 (Output) 6 bits: 74365 (Input), 74174 (Output) 8 bits: 74244 (Input), 74273 (Output) 16 bits: 741624 (Input), 7416374 (Output) config GPIO_ALTERA tristate "Altera GPIO" select GPIO_GENERIC select GPIOLIB_IRQCHIP help Say Y or M here to build support for the Altera PIO device. If driver is built as a module it will be called gpio-altera. config GPIO_AMDPT tristate "AMD Promontory GPIO support" depends on ACPI select GPIO_GENERIC help Driver for GPIO functionality on Promontory IOHub. Requires ACPI ASL code to enumerate as a platform device. config GPIO_ASPEED tristate "Aspeed GPIO support" depends on ARCH_ASPEED || COMPILE_TEST select GPIOLIB_IRQCHIP help Say Y here to support Aspeed AST2400 and AST2500 GPIO controllers. config GPIO_ASPEED_SGPIO bool "Aspeed SGPIO support" depends on ARCH_ASPEED || COMPILE_TEST select GPIO_GENERIC select GPIOLIB_IRQCHIP help Say Y here to support Aspeed AST2500 SGPIO functionality. config GPIO_ATH79 tristate "Atheros AR71XX/AR724X/AR913X GPIO support" default y if ATH79 depends on ATH79 || COMPILE_TEST select GPIO_GENERIC select GPIOLIB_IRQCHIP help Select this option to enable GPIO driver for Atheros AR71XX/AR724X/AR913X SoC devices. config GPIO_RASPBERRYPI_EXP tristate "Raspberry Pi 3 GPIO Expander" default RASPBERRYPI_FIRMWARE # Make sure not 'y' when RASPBERRYPI_FIRMWARE is 'm'. This can only # happen when COMPILE_TEST=y, hence the added !RASPBERRYPI_FIRMWARE. depends on (ARCH_BCM2835 && RASPBERRYPI_FIRMWARE) || (COMPILE_TEST && !RASPBERRYPI_FIRMWARE) help Turn on GPIO support for the expander on Raspberry Pi 3 boards, using the firmware mailbox to communicate with VideoCore on BCM283x chips. config GPIO_BCM_KONA bool "Broadcom Kona GPIO" depends on ARCH_BCM_MOBILE || COMPILE_TEST select GPIOLIB_IRQCHIP help Turn on GPIO support for Broadcom "Kona" chips. config GPIO_BCM_XGS_IPROC tristate "BRCM XGS iProc GPIO support" depends on ARCH_BCM_IPROC || COMPILE_TEST select GPIO_GENERIC select GPIOLIB_IRQCHIP default ARCH_BCM_IPROC help Say yes here to enable GPIO support for Broadcom XGS iProc SoCs. config GPIO_BLZP1600 tristate "Blaize BLZP1600 GPIO support" default y if ARCH_BLAIZE depends on ARCH_BLAIZE || COMPILE_TEST select GPIO_GENERIC select GPIOLIB_IRQCHIP help Say Y or M here to add support for the Blaize BLZP1600 GPIO device. The controller is based on the Verisilicon Microelectronics GPIO APB v0.2 IP block. config GPIO_BRCMSTB tristate "BRCMSTB GPIO support" default y if (ARCH_BRCMSTB || BMIPS_GENERIC) depends on ARCH_BRCMSTB || ARCH_BCM2835 || BMIPS_GENERIC || COMPILE_TEST depends on OF select GPIO_GENERIC select IRQ_DOMAIN help Say yes here to enable GPIO support for Broadcom STB (BCM7XXX) SoCs. config GPIO_BY_PINCTRL tristate "GPIO support based on a pure pin control backend" depends on GPIOLIB help Support for generic GPIO handling based on top of pin control. Traditionally, firmware creates a GPIO interface or a pin controller interface and we have a driver to support it. But in SCMI, the pin control interface is generic and we can create a simple GPIO device based on the pin control interface without doing anything custom. This driver is used to access GPIOs over the ARM SCMI protocol. config GPIO_CADENCE tristate "Cadence GPIO support" depends on OF select GPIO_GENERIC select GPIOLIB_IRQCHIP help Say yes here to enable support for Cadence GPIO controller. config GPIO_CLPS711X tristate "CLPS711X GPIO support" depends on ARCH_CLPS711X || COMPILE_TEST select GPIO_GENERIC help Say yes here to support GPIO on CLPS711X SoCs. config GPIO_DAVINCI tristate "TI Davinci/Keystone GPIO support" default y if ARCH_DAVINCI depends on ((ARM || ARM64) && (ARCH_DAVINCI || ARCH_KEYSTONE || ARCH_K3)) || COMPILE_TEST select GPIOLIB_IRQCHIP help Say yes here to enable GPIO support for TI Davinci/Keystone SoCs. config GPIO_DWAPB tristate "Synopsys DesignWare APB GPIO driver" select GPIO_GENERIC select GPIOLIB_IRQCHIP help Say Y or M here to build support for the Synopsys DesignWare APB GPIO block. config GPIO_EIC_SPRD tristate "Spreadtrum EIC support" depends on ARCH_SPRD || COMPILE_TEST select GPIOLIB_IRQCHIP help Say yes here to support Spreadtrum EIC device. config GPIO_EM tristate "Emma Mobile GPIO" depends on ARCH_EMEV2 || COMPILE_TEST help Say yes here to support GPIO on Renesas Emma Mobile SoCs. config GPIO_EN7523 tristate "Airoha GPIO support" depends on ARCH_AIROHA || COMPILE_TEST default ARCH_AIROHA select GPIO_GENERIC select GPIOLIB_IRQCHIP help Say Y or M here to support the GPIO controller block on the Airoha EN7523 SoC. It supports two banks of 32 GPIOs. config GPIO_EP93XX def_bool y depends on ARCH_EP93XX || COMPILE_TEST select GPIO_GENERIC select GPIOLIB_IRQCHIP config GPIO_EXAR tristate "Support for GPIO pins on XR17V352/354/358" depends on SERIAL_8250_EXAR select REGMAP_MMIO help Selecting this option will enable handling of GPIO pins present on Exar XR17V352/354/358 chips. config GPIO_GE_FPGA bool "GE FPGA based GPIO" depends on GE_FPGA || COMPILE_TEST select GPIO_GENERIC help Support for common GPIO functionality provided on some GE Single Board Computers. This driver provides basic support (configure as input or output, read and write pin state) for GPIO implemented in a number of GE single board computers. config GPIO_FTGPIO010 bool "Faraday FTGPIO010 GPIO" depends on OF select GPIO_GENERIC select GPIOLIB_IRQCHIP default (ARCH_GEMINI || ARCH_MOXART) help Support for common GPIOs from the Faraday FTGPIO010 IP core, found in Cortina systems Gemini platforms, Moxa ART and others. config GPIO_GENERIC_PLATFORM tristate "Generic memory-mapped GPIO controller support (MMIO platform device)" select GPIO_GENERIC help Say yes here to support basic platform_device memory-mapped GPIO controllers. config GPIO_GRANITERAPIDS tristate "Intel Granite Rapids-D vGPIO support" depends on X86 || COMPILE_TEST select GPIOLIB_IRQCHIP help Select this to enable virtual GPIO support on platforms with the following SoCs: - Intel Granite Rapids-D The driver enables basic GPIO functionality and implements interrupt support. The virtual GPIO driver controls GPIO lines via a firmware interface. The physical GPIO pins reside on device that is external from the main SoC package, such as a BMC or a CPLD. To compile this driver as a module, choose M here: the module will be called gpio-graniterapids. config GPIO_GRGPIO tristate "Aeroflex Gaisler GRGPIO support" depends on OF || COMPILE_TEST select GPIO_GENERIC select GPIOLIB_IRQCHIP help Select this to support Aeroflex Gaisler GRGPIO cores from the GRLIB VHDL IP core library. config GPIO_HISI tristate "HiSilicon GPIO controller driver" depends on ARM64 || COMPILE_TEST select GPIO_GENERIC select GPIOLIB_IRQCHIP help Say Y or M here to build support for the HiSilicon GPIO controller driver GPIO block. This GPIO controller supports double-edge interrupt and multi-core concurrent access. config GPIO_HLWD tristate "Nintendo Wii (Hollywood) GPIO" depends on OF select GPIO_GENERIC select GPIOLIB_IRQCHIP help Select this to support the GPIO controller of the Nintendo Wii. If unsure, say N. config GPIO_ICH tristate "Intel ICH GPIO" depends on (X86 && LPC_ICH) || (COMPILE_TEST && HAS_IOPORT) help Say yes here to support the GPIO functionality of a number of Intel ICH-based chipsets. Currently supported devices: ICH6, ICH7, ICH8 ICH9, ICH10, Series 5/3400 (e.g. Ibex Peak), Series 6/C200 (e.g. Cougar Point), NM10 (Tiger Point), and 3100 (Whitmore Lake). If unsure, say N. config GPIO_IMX_SCU def_bool y depends on IMX_SCU config GPIO_IXP4XX bool "Intel IXP4xx GPIO" depends on (ARCH_IXP4XX && OF) || COMPILE_TEST select GPIO_GENERIC select GPIOLIB_IRQCHIP select IRQ_DOMAIN_HIERARCHY help Say yes here to support the GPIO functionality of a number of Intel IXP4xx series of chips. If unsure, say N. config GPIO_LOGICVC tristate "Xylon LogiCVC GPIO support" depends on MFD_SYSCON && OF help Say yes here to support GPIO functionality of the Xylon LogiCVC programmable logic block. config GPIO_LOONGSON bool "Loongson-2/3 GPIO support" depends on CPU_LOONGSON2EF || CPU_LOONGSON64 help Driver for GPIO functionality on Loongson-2F/3A/3B processors. config GPIO_LOONGSON_64BIT tristate "Loongson 64 bit GPIO support" depends on LOONGARCH || COMPILE_TEST select GPIO_GENERIC select GPIOLIB_IRQCHIP help Say yes here to support the GPIO functionality of a number of Loongson series of chips. The Loongson GPIO controller supports up to 60 GPIOS in total, 4 of which are dedicated GPIO pins, and the remaining 56 are reused with other functions, with edge or level triggered interrupts. config GPIO_LPC18XX tristate "NXP LPC18XX/43XX GPIO support" default y if ARCH_LPC18XX depends on ARCH_LPC18XX || COMPILE_TEST select IRQ_DOMAIN_HIERARCHY select GPIOLIB_IRQCHIP help Select this option to enable GPIO driver for NXP LPC18XX/43XX devices. config GPIO_LPC32XX tristate "NXP LPC32XX GPIO support" depends on ARCH_LPC32XX || COMPILE_TEST depends on OF help Select this option to enable GPIO driver for NXP LPC32XX devices. config GPIO_MB86S7X tristate "GPIO support for Fujitsu MB86S7x Platforms" help Say yes here to support the GPIO controller in Fujitsu MB86S70 SoCs. config GPIO_MENZ127 tristate "MEN 16Z127 GPIO support" depends on MCB select GPIO_GENERIC help Say yes here to support the MEN 16Z127 GPIO Controller. config GPIO_MM_LANTIQ bool "Lantiq Memory mapped GPIOs" depends on LANTIQ && SOC_XWAY help This enables support for memory mapped GPIOs on the External Bus Unit (EBU) found on Lantiq SoCs. The GPIOs are output only as they are created by attaching a 16-bit latch to the bus.