|  | # SPDX-License-Identifier: GPL-2.0-only | 
|  | # | 
|  | # GPIO infrastructure and drivers | 
|  | # | 
|  |  | 
|  | config ARCH_HAVE_CUSTOM_GPIO_H | 
|  | bool | 
|  | help | 
|  | Selecting this config option from the architecture Kconfig allows | 
|  | the architecture to provide a custom asm/gpio.h implementation | 
|  | overriding the default implementations.  New uses of this are | 
|  | strongly discouraged. | 
|  |  | 
|  | 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 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_CDEV | 
|  | bool | 
|  | prompt "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" | 
|  | default y | 
|  | 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. | 
|  |  | 
|  | If unsure, say Y. | 
|  |  | 
|  | config GPIO_GENERIC | 
|  | depends on HAS_IOMEM # Only for IOMEM drivers | 
|  | tristate | 
|  |  | 
|  | config GPIO_REGMAP | 
|  | depends on REGMAP | 
|  | tristate | 
|  |  | 
|  | # put drivers in the right section, in alphabetical order | 
|  |  | 
|  | # This symbol is selected by both I2C and SPI expanders | 
|  | config GPIO_MAX730X | 
|  | tristate | 
|  |  | 
|  | 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_GPIO | 
|  | 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" | 
|  | depends on OF_GPIO | 
|  | 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 | 
|  | Require ACPI ASL code to enumerate as a platform device. | 
|  |  | 
|  | config GPIO_ASPEED | 
|  | tristate "Aspeed GPIO support" | 
|  | depends on (ARCH_ASPEED || COMPILE_TEST) && OF_GPIO | 
|  | 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) && OF_GPIO | 
|  | 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 | 
|  | depends on OF_GPIO | 
|  | # 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 OF_GPIO && (ARCH_BCM_MOBILE || COMPILE_TEST) | 
|  | help | 
|  | Turn on GPIO support for Broadcom "Kona" chips. | 
|  |  | 
|  | config GPIO_BCM_XGS_IPROC | 
|  | tristate "BRCM XGS iProc GPIO support" | 
|  | depends on OF_GPIO && (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_BRCMSTB | 
|  | tristate "BRCMSTB GPIO support" | 
|  | default y if (ARCH_BRCMSTB || BMIPS_GENERIC) | 
|  | depends on OF_GPIO && (ARCH_BRCMSTB || BMIPS_GENERIC || COMPILE_TEST) | 
|  | select GPIO_GENERIC | 
|  | select IRQ_DOMAIN | 
|  | help | 
|  | Say yes here to enable GPIO support for Broadcom STB (BCM7XXX) SoCs. | 
|  |  | 
|  | config GPIO_CADENCE | 
|  | tristate "Cadence GPIO support" | 
|  | depends on OF_GPIO | 
|  | 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 | 
|  | bool "TI Davinci/Keystone GPIO support" | 
|  | default y if ARCH_DAVINCI | 
|  | depends on (ARM || ARM64) && (ARCH_DAVINCI || ARCH_KEYSTONE || ARCH_K3) | 
|  | 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 | 
|  | depends on OF_GPIO | 
|  | 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) && OF_GPIO | 
|  | help | 
|  | Say yes here to support GPIO on Renesas Emma Mobile SoCs. | 
|  |  | 
|  | config GPIO_EP93XX | 
|  | def_bool y | 
|  | depends on ARCH_EP93XX | 
|  | 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 | 
|  | 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_GPIO | 
|  | 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_GRGPIO | 
|  | tristate "Aeroflex Gaisler GRGPIO support" | 
|  | depends on OF_GPIO | 
|  | select GPIO_GENERIC | 
|  | select IRQ_DOMAIN | 
|  | 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 && ACPI) || 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 support double-edge interrupt and multi-core | 
|  | concurrent access. | 
|  |  | 
|  | config GPIO_HLWD | 
|  | tristate "Nintendo Wii (Hollywood) GPIO" | 
|  | depends on OF_GPIO | 
|  | 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 | 
|  | depends on LPC_ICH | 
|  | 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 (eg Ibex Peak), Series 6/C200 (eg | 
|  | Cougar Point), NM10 (Tiger Point), and 3100 (Whitmore Lake). | 
|  |  | 
|  | If unsure, say N. | 
|  |  | 
|  | config GPIO_IOP | 
|  | tristate "Intel IOP GPIO" | 
|  | depends on ARCH_IOP32X || COMPILE_TEST | 
|  | select GPIO_GENERIC | 
|  | help | 
|  | Say yes here to support the GPIO functionality of a number of Intel | 
|  | IOP32X or IOP33X. | 
|  |  | 
|  | If unsure, say N. | 
|  |  | 
|  | config GPIO_IXP4XX | 
|  | bool "Intel IXP4xx GPIO" | 
|  | depends on ARM # For <asm/mach-types.h> | 
|  | depends on ARCH_IXP4XX | 
|  | 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_LPC18XX | 
|  | tristate "NXP LPC18XX/43XX GPIO support" | 
|  | default y if ARCH_LPC18XX | 
|  | depends on OF_GPIO && (ARCH_LPC18XX || COMPILE_TEST) | 
|  | select IRQ_DOMAIN_HIERARCHY | 
|  | help | 
|  | Select this option to enable GPIO driver for | 
|  | NXP LPC18XX/43XX devices. | 
|  |  | 
|  | config GPIO_LPC32XX | 
|  | tristate "NXP LPC32XX GPIO support" | 
|  | depends on OF_GPIO && (ARCH_LPC32XX || COMPILE_TEST) | 
|  | 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 16bit latch to the bus. | 
|  |  | 
|  | config GPIO_MPC5200 | 
|  | def_bool y | 
|  | depends on PPC_MPC52xx | 
|  |  | 
|  | config GPIO_MPC8XXX | 
|  | bool "MPC512x/MPC8xxx/QorIQ GPIO support" | 
|  | depends on PPC_MPC512x || PPC_MPC831x || PPC_MPC834x || PPC_MPC837x || \ | 
|  | FSL_SOC_BOOKE || PPC_86xx || ARCH_LAYERSCAPE || ARM || \ | 
|  | COMPILE_TEST | 
|  | select GPIO_GENERIC | 
|  | select IRQ_DOMAIN | 
|  | help | 
|  | Say Y here if you're going to use hardware that connects to the | 
|  | MPC512x/831x/834x/837x/8572/8610/QorIQ GPIOs. | 
|  |  | 
|  | config GPIO_MT7621 | 
|  | bool "Mediatek MT7621 GPIO Support" | 
|  | depends on SOC_MT7620 || SOC_MT7621 || COMPILE_TEST | 
|  | depends on OF_GPIO | 
|  | select GPIO_GENERIC | 
|  | select GPIOLIB_IRQCHIP | 
|  | help | 
|  | Say yes here to support the Mediatek MT7621 SoC GPIO device | 
|  |  | 
|  | config GPIO_MVEBU | 
|  | def_bool y | 
|  | depends on PLAT_ORION || ARCH_MVEBU | 
|  | depends on OF_GPIO | 
|  | select GENERIC_IRQ_CHIP | 
|  | select REGMAP_MMIO | 
|  |  | 
|  | config GPIO_MXC | 
|  | tristate "i.MX GPIO support" | 
|  | depends on ARCH_MXC || COMPILE_TEST | 
|  | select GPIO_GENERIC | 
|  | select GENERIC_IRQ_CHIP | 
|  |  | 
|  | config GPIO_MXS | 
|  | bool "Freescale MXS GPIO support" if COMPILE_TEST | 
|  | depends on ARCH_MXS || COMPILE_TEST | 
|  | default y if ARCH_MXS | 
|  | select GPIO_GENERIC | 
|  | select GENERIC_IRQ_CHIP | 
|  |  | 
|  | config GPIO_OCTEON | 
|  | tristate "Cavium OCTEON GPIO" | 
|  | depends on CAVIUM_OCTEON_SOC | 
|  | default y | 
|  | help | 
|  | Say yes here to support the on-chip GPIO lines on the OCTEON | 
|  | family of SOCs. | 
|  |  | 
|  | config GPIO_OMAP | 
|  | tristate "TI OMAP GPIO support" if ARCH_OMAP2PLUS || COMPILE_TEST | 
|  | default y if ARCH_OMAP | 
|  | depends on ARM | 
|  | select GENERIC_IRQ_CHIP | 
|  | select GPIOLIB_IRQCHIP | 
|  | help | 
|  | Say yes here to enable GPIO support for TI OMAP SoCs. | 
|  |  | 
|  | config GPIO_PL061 | 
|  | tristate "PrimeCell PL061 GPIO support" | 
|  | depends on ARM_AMBA | 
|  | select IRQ_DOMAIN | 
|  | select GPIOLIB_IRQCHIP | 
|  | help | 
|  | Say yes here to support the PrimeCell PL061 GPIO device | 
|  |  | 
|  | config GPIO_PMIC_EIC_SPRD | 
|  | tristate "Spreadtrum PMIC EIC support" | 
|  | depends on MFD_SC27XX_PMIC || COMPILE_TEST | 
|  | depends on OF_GPIO | 
|  | select GPIOLIB_IRQCHIP | 
|  | help | 
|  | Say yes here to support Spreadtrum PMIC EIC device. | 
|  |  | 
|  | config GPIO_PXA | 
|  | bool "PXA GPIO support" | 
|  | depends on ARCH_PXA || ARCH_MMP || COMPILE_TEST | 
|  | help | 
|  | Say yes here to support the PXA GPIO device | 
|  |  | 
|  | config GPIO_RCAR | 
|  | tristate "Renesas R-Car and RZ/G GPIO support" | 
|  | depends on ARCH_RENESAS || COMPILE_TEST | 
|  | select GPIOLIB_IRQCHIP | 
|  | help | 
|  | Say yes here to support GPIO on Renesas R-Car or RZ/G SoCs. | 
|  |  | 
|  | config GPIO_RDA | 
|  | bool "RDA Micro GPIO controller support" | 
|  | depends on ARCH_RDA || COMPILE_TEST | 
|  | depends on OF_GPIO | 
|  | select GPIO_GENERIC | 
|  | select GPIOLIB_IRQCHIP | 
|  | help | 
|  | Say Y here to support RDA Micro GPIO controller. | 
|  |  | 
|  | config GPIO_REALTEK_OTTO | 
|  | tristate "Realtek Otto GPIO support" | 
|  | depends on MACH_REALTEK_RTL | 
|  | default MACH_REALTEK_RTL | 
|  | select GPIO_GENERIC | 
|  | select GPIOLIB_IRQCHIP | 
|  | help | 
|  | The GPIO controller on the Otto MIPS platform supports up to two | 
|  | banks of 32 GPIOs, with edge triggered interrupts. The 32 GPIOs | 
|  | are grouped in four 8-bit wide ports. | 
|  |  | 
|  | When built as a module, the module will be called realtek_otto_gpio. | 
|  |  | 
|  | config GPIO_REG | 
|  | bool | 
|  | help | 
|  | A 32-bit single register GPIO fixed in/out implementation.  This | 
|  | can be used to represent any register as a set of GPIO signals. | 
|  |  | 
|  | config GPIO_ROCKCHIP | 
|  | tristate "Rockchip GPIO support" | 
|  | depends on ARCH_ROCKCHIP || COMPILE_TEST | 
|  | select GPIOLIB_IRQCHIP | 
|  | default ARCH_ROCKCHIP | 
|  | help | 
|  | Say yes here to support GPIO on Rockchip SoCs. | 
|  |  | 
|  | config GPIO_SAMA5D2_PIOBU | 
|  | tristate "SAMA5D2 PIOBU GPIO support" | 
|  | depends on MFD_SYSCON | 
|  | depends on OF_GPIO | 
|  | select GPIO_SYSCON | 
|  | help | 
|  | Say yes here to use the PIOBU pins as GPIOs. | 
|  |  | 
|  | PIOBU pins on the SAMA5D2 can be used as GPIOs. | 
|  | The difference from regular GPIOs is that they | 
|  | maintain their value during backup/self-refresh. | 
|  |  | 
|  | config GPIO_SIFIVE | 
|  | bool "SiFive GPIO support" | 
|  | depends on OF_GPIO | 
|  | select IRQ_DOMAIN_HIERARCHY | 
|  | select GPIO_GENERIC | 
|  | select GPIOLIB_IRQCHIP | 
|  | select REGMAP_MMIO | 
|  | help | 
|  | Say yes here to support the GPIO device on SiFive SoCs. | 
|  |  | 
|  | config GPIO_SIOX | 
|  | tristate "SIOX GPIO support" | 
|  | depends on SIOX | 
|  | select GPIOLIB_IRQCHIP | 
|  | help | 
|  | Say yes here to support SIOX I/O devices. These are units connected | 
|  | via a SIOX bus and have a number of fixed-direction I/O lines. | 
|  |  | 
|  | config GPIO_SNPS_CREG | 
|  | bool "Synopsys GPIO via CREG (Control REGisters) driver" | 
|  | depends on ARC || COMPILE_TEST | 
|  | depends on OF_GPIO | 
|  | help | 
|  | This driver supports GPIOs via CREG on various Synopsys SoCs. | 
|  | This is a single-register MMIO GPIO driver for complex cases | 
|  | where only several fields in register belong to GPIO lines and | 
|  | each GPIO line owns a field with different length and on/off value. | 
|  |  | 
|  | config GPIO_SPEAR_SPICS | 
|  | bool "ST SPEAr13xx SPI Chip Select as GPIO support" | 
|  | depends on PLAT_SPEAR | 
|  | select GENERIC_IRQ_CHIP | 
|  | help | 
|  | Say yes here to support ST SPEAr SPI Chip Select as GPIO device | 
|  |  | 
|  | config GPIO_SPRD | 
|  | tristate "Spreadtrum GPIO support" | 
|  | depends on ARCH_SPRD || COMPILE_TEST | 
|  | depends on OF_GPIO | 
|  | select GPIOLIB_IRQCHIP | 
|  | help | 
|  | Say yes here to support Spreadtrum GPIO device. | 
|  |  | 
|  | config GPIO_STA2X11 | 
|  | bool "STA2x11/ConneXt GPIO support" | 
|  | depends on MFD_STA2X11 | 
|  | select GENERIC_IRQ_CHIP | 
|  | help | 
|  | Say yes here to support the STA2x11/ConneXt GPIO device. | 
|  | The GPIO module has 128 GPIO pins with alternate functions. | 
|  |  | 
|  | config GPIO_STP_XWAY | 
|  | bool "XWAY STP GPIOs" | 
|  | depends on SOC_XWAY || COMPILE_TEST | 
|  | depends on OF_GPIO | 
|  | help | 
|  | This enables support for the Serial To Parallel (STP) unit found on | 
|  | XWAY SoC. The STP allows the SoC to drive a shift registers cascade, | 
|  | that can be up to 24 bit. This peripheral is aimed at driving leds. | 
|  | Some of the gpios/leds can be auto updated by the soc with dsl and | 
|  | phy status. | 
|  |  | 
|  | config GPIO_SYSCON | 
|  | tristate "GPIO based on SYSCON" | 
|  | depends on MFD_SYSCON && OF | 
|  | help | 
|  | Say yes here to support GPIO functionality though SYSCON driver. | 
|  |  | 
|  | config GPIO_TB10X | 
|  | bool | 
|  | select GPIO_GENERIC | 
|  | select GENERIC_IRQ_CHIP | 
|  | select OF_GPIO | 
|  |  | 
|  | config GPIO_TEGRA | 
|  | tristate "NVIDIA Tegra GPIO support" | 
|  | default ARCH_TEGRA | 
|  | depends on ARCH_TEGRA || COMPILE_TEST | 
|  | depends on OF_GPIO | 
|  | select GPIOLIB_IRQCHIP | 
|  | select IRQ_DOMAIN_HIERARCHY | 
|  | help | 
|  | Say yes here to support GPIO pins on NVIDIA Tegra SoCs. | 
|  |  | 
|  | config GPIO_TEGRA186 | 
|  | tristate "NVIDIA Tegra186 GPIO support" | 
|  | default ARCH_TEGRA_186_SOC || ARCH_TEGRA_194_SOC | 
|  | depends on ARCH_TEGRA_186_SOC || ARCH_TEGRA_194_SOC || COMPILE_TEST | 
|  | depends on OF_GPIO | 
|  | select GPIOLIB_IRQCHIP | 
|  | select IRQ_DOMAIN_HIERARCHY | 
|  | help | 
|  | Say yes here to support GPIO pins on NVIDIA Tegra186 SoCs. | 
|  |  | 
|  | config GPIO_TS4800 | 
|  | tristate "TS-4800 DIO blocks and compatibles" | 
|  | depends on OF_GPIO | 
|  | depends on SOC_IMX51 || COMPILE_TEST | 
|  | select GPIO_GENERIC | 
|  | help | 
|  | This driver support TS-4800 FPGA GPIO controllers. | 
|  |  | 
|  | config GPIO_THUNDERX | 
|  | tristate "Cavium ThunderX/OCTEON-TX GPIO" | 
|  | depends on ARCH_THUNDER || (64BIT && COMPILE_TEST) | 
|  | depends on PCI_MSI | 
|  | select GPIOLIB_IRQCHIP | 
|  | select IRQ_DOMAIN_HIERARCHY | 
|  | select IRQ_FASTEOI_HIERARCHY_HANDLERS | 
|  | help | 
|  | Say yes here to support the on-chip GPIO lines on the ThunderX | 
|  | and OCTEON-TX families of SoCs. | 
|  |  | 
|  | config GPIO_UNIPHIER | 
|  | tristate "UniPhier GPIO support" | 
|  | depends on ARCH_UNIPHIER || COMPILE_TEST | 
|  | depends on OF_GPIO | 
|  | select IRQ_DOMAIN_HIERARCHY | 
|  | help | 
|  | Say yes here to support UniPhier GPIOs. | 
|  |  | 
|  | config GPIO_VF610 | 
|  | def_bool y | 
|  | depends on ARCH_MXC && SOC_VF610 | 
|  | select GPIOLIB_IRQCHIP | 
|  | help | 
|  | Say yes here to support Vybrid vf610 GPIOs. | 
|  |  | 
|  | config GPIO_VISCONTI | 
|  | tristate "Toshiba Visconti GPIO support" | 
|  | depends on ARCH_VISCONTI || COMPILE_TEST | 
|  | depends on OF_GPIO | 
|  | select GPIOLIB_IRQCHIP | 
|  | select GPIO_GENERIC | 
|  | select IRQ_DOMAIN_HIERARCHY | 
|  | help | 
|  | Say yes here to support GPIO on Tohisba Visconti. | 
|  |  | 
|  | config GPIO_VR41XX | 
|  | tristate "NEC VR4100 series General-purpose I/O Uint support" | 
|  | depends on CPU_VR41XX | 
|  | help | 
|  | Say yes here to support the NEC VR4100 series General-purpose I/O Uint | 
|  |  | 
|  | config GPIO_VX855 | 
|  | tristate "VIA VX855/VX875 GPIO" | 
|  | depends on (X86 || COMPILE_TEST) && PCI | 
|  | select MFD_CORE | 
|  | select MFD_VX855 | 
|  | help | 
|  | Support access to the VX855/VX875 GPIO lines through the gpio library. | 
|  |  | 
|  | This driver provides common support for accessing the device, | 
|  | additional drivers must be enabled in order to use the | 
|  | functionality of the device. | 
|  |  | 
|  | config GPIO_WCD934X | 
|  | tristate "Qualcomm Technologies Inc WCD9340/WCD9341 gpio controller driver" | 
|  | depends on MFD_WCD934X && OF_GPIO | 
|  | help | 
|  | This driver is to support GPIO block found on the Qualcomm Technologies | 
|  | Inc WCD9340/WCD9341 Audio Codec. | 
|  |  | 
|  | config GPIO_XGENE | 
|  | bool "APM X-Gene GPIO controller support" | 
|  | depends on ARM64 && OF_GPIO | 
|  | help | 
|  | This driver is to support the GPIO block within the APM X-Gene SoC | 
|  | platform's generic flash controller. The GPIO pins are muxed with | 
|  | the generic flash controller's address and data pins. Say yes | 
|  | here to enable the GFC GPIO functionality. | 
|  |  | 
|  | config GPIO_XGENE_SB | 
|  | tristate "APM X-Gene GPIO standby controller support" | 
|  | depends on (ARCH_XGENE || COMPILE_TEST) | 
|  | select GPIO_GENERIC | 
|  | select GPIOLIB_IRQCHIP | 
|  | select IRQ_DOMAIN_HIERARCHY | 
|  | help | 
|  | This driver supports the GPIO block within the APM X-Gene | 
|  | Standby Domain. Say yes here to enable the GPIO functionality. | 
|  |  | 
|  | config GPIO_XILINX | 
|  | tristate "Xilinx GPIO support" | 
|  | select GPIOLIB_IRQCHIP | 
|  | depends on OF_GPIO | 
|  | help | 
|  | Say yes here to support the Xilinx FPGA GPIO device | 
|  |  | 
|  | config GPIO_XLP | 
|  | tristate "Netlogic XLP GPIO support" | 
|  | depends on OF_GPIO && (CPU_XLP || ARCH_THUNDER2 || COMPILE_TEST) | 
|  | select GPIOLIB_IRQCHIP | 
|  | help | 
|  | This driver provides support for GPIO interface on Netlogic XLP MIPS64 | 
|  | SoCs. Currently supported XLP variants are XLP8XX, XLP3XX, XLP2XX, | 
|  | XLP9XX and XLP5XX. The same GPIO controller block is also present in | 
|  | Cavium's ThunderX2 CN99XX SoCs. | 
|  |  | 
|  | If unsure, say N. | 
|  |  | 
|  | config GPIO_XTENSA | 
|  | bool "Xtensa GPIO32 support" | 
|  | depends on XTENSA | 
|  | depends on HAVE_XTENSA_GPIO32 | 
|  | depends on !SMP | 
|  | help | 
|  | Say yes here to support the Xtensa internal GPIO32 IMPWIRE (input) | 
|  | and EXPSTATE (output) ports | 
|  |  | 
|  | config GPIO_ZEVIO | 
|  | bool "LSI ZEVIO SoC memory mapped GPIOs" | 
|  | depends on ARM && OF_GPIO | 
|  | help | 
|  | Say yes here to support the GPIO controller in LSI ZEVIO SoCs. | 
|  |  | 
|  | config GPIO_ZYNQ | 
|  | tristate "Xilinx Zynq GPIO support" | 
|  | depends on ARCH_ZYNQ || ARCH_ZYNQMP | 
|  | select GPIOLIB_IRQCHIP | 
|  | help | 
|  | Say yes here to support Xilinx Zynq GPIO controller. | 
|  |  | 
|  | config GPIO_LOONGSON1 | 
|  | tristate "Loongson1 GPIO support" | 
|  | depends on MACH_LOONGSON32 | 
|  | select GPIO_GENERIC | 
|  | help | 
|  | Say Y or M here to support GPIO on Loongson1 SoCs. | 
|  |  | 
|  | config GPIO_AMD_FCH | 
|  | tristate "GPIO support for AMD Fusion Controller Hub (G-series SOCs)" | 
|  | help | 
|  | This option enables driver for GPIO on AMDs Fusion Controller Hub, | 
|  | as found on G-series SOCs (eg. GX-412TC) | 
|  |  | 
|  | Note: This driver doesn't registers itself automatically, as it | 
|  | needs to be provided with platform specific configuration. | 
|  | (See eg. CONFIG_PCENGINES_APU2.) | 
|  |  | 
|  | config GPIO_MSC313 | 
|  | bool "MStar MSC313 GPIO support" | 
|  | depends on ARCH_MSTARV7 | 
|  | default ARCH_MSTARV7 | 
|  | select GPIOLIB_IRQCHIP | 
|  | select IRQ_DOMAIN_HIERARCHY | 
|  | help | 
|  | Say Y here to support the main GPIO block on MStar/SigmaStar | 
|  | ARMv7 based SoCs. | 
|  |  | 
|  | config GPIO_IDT3243X | 
|  | tristate "IDT 79RC3243X GPIO support" | 
|  | depends on MIKROTIK_RB532 || COMPILE_TEST | 
|  | select GPIO_GENERIC | 
|  | select GPIOLIB_IRQCHIP | 
|  | help | 
|  | Select this option to enable GPIO driver for | 
|  | IDT 79RC3243X based devices like Mikrotik RB532. | 
|  |  | 
|  | To compile this driver as a module, choose M here: the module will | 
|  | be called gpio-idt3243x. | 
|  |  | 
|  | endmenu | 
|  |  | 
|  | menu "Port-mapped I/O GPIO drivers" | 
|  | depends on X86 # Unconditional I/O space access | 
|  |  | 
|  | config GPIO_104_DIO_48E | 
|  | tristate "ACCES 104-DIO-48E GPIO support" | 
|  | depends on PC104 | 
|  | select ISA_BUS_API | 
|  | select GPIOLIB_IRQCHIP | 
|  | help | 
|  | Enables GPIO support for the ACCES 104-DIO-48E series (104-DIO-48E, | 
|  | 104-DIO-24E). The base port addresses for the devices may be | 
|  | configured via the base module parameter. The interrupt line numbers | 
|  | for the devices may be configured via the irq module parameter. | 
|  |  | 
|  | config GPIO_104_IDIO_16 | 
|  | tristate "ACCES 104-IDIO-16 GPIO support" | 
|  | depends on PC104 | 
|  | select ISA_BUS_API | 
|  | select GPIOLIB_IRQCHIP | 
|  | help | 
|  | Enables GPIO support for the ACCES 104-IDIO-16 family (104-IDIO-16, | 
|  | 104-IDIO-16E, 104-IDO-16, 104-IDIO-8, 104-IDIO-8E, 104-IDO-8). The | 
|  | base port addresses for the devices may be configured via the base | 
|  | module parameter. The interrupt line numbers for the devices may be | 
|  | configured via the irq module parameter. | 
|  |  | 
|  | config GPIO_104_IDI_48 | 
|  | tristate "ACCES 104-IDI-48 GPIO support" | 
|  | depends on PC104 | 
|  | select ISA_BUS_API | 
|  | select GPIOLIB_IRQCHIP | 
|  | help | 
|  | Enables GPIO support for the ACCES 104-IDI-48 family (104-IDI-48A, | 
|  | 104-IDI-48AC, 104-IDI-48B, 104-IDI-48BC). The base port addresses for | 
|  | the devices may be configured via the base module parameter. The | 
|  | interrupt line numbers for the devices may be configured via the irq | 
|  | module parameter. | 
|  |  | 
|  | config GPIO_F7188X | 
|  | tristate "F71869, F71869A, F71882FG, F71889F and F81866 GPIO support" | 
|  | help | 
|  | This option enables support for GPIOs found on Fintek Super-I/O | 
|  | chips F71869, F71869A, F71882FG, F71889F and F81866. | 
|  |  | 
|  | To compile this driver as a module, choose M here: the module will | 
|  | be called f7188x-gpio. | 
|  |  | 
|  | config GPIO_GPIO_MM | 
|  | tristate "Diamond Systems GPIO-MM GPIO support" | 
|  | depends on PC104 | 
|  | select ISA_BUS_API | 
|  | help | 
|  | Enables GPIO support for the Diamond Systems GPIO-MM and GPIO-MM-12. | 
|  |  | 
|  | The Diamond Systems GPIO-MM device features 48 lines of digital I/O | 
|  | via the emulation of dual 82C55A PPI chips. This driver provides GPIO | 
|  | support for these 48 channels of digital I/O. | 
|  |  | 
|  | The base port addresses for the devices may be configured via the base | 
|  | array module parameter. | 
|  |  | 
|  | config GPIO_IT87 | 
|  | tristate "IT87xx GPIO support" | 
|  | help | 
|  | Say yes here to support GPIO functionality of IT87xx Super I/O chips. | 
|  |  | 
|  | This driver is tested with ITE IT8728 and IT8732 Super I/O chips, and | 
|  | supports the IT8761E, IT8613, IT8620E, and IT8628E Super I/O chips as | 
|  | well. | 
|  |  | 
|  | To compile this driver as a module, choose M here: the module will | 
|  | be called gpio_it87 | 
|  |  | 
|  | config GPIO_SCH | 
|  | tristate "Intel SCH/TunnelCreek/Centerton/Quark X1000 GPIO" | 
|  | depends on (X86 || COMPILE_TEST) && ACPI | 
|  | depends on LPC_SCH | 
|  | select GPIOLIB_IRQCHIP | 
|  | help | 
|  | Say yes here to support GPIO interface on Intel Poulsbo SCH, | 
|  | Intel Tunnel Creek processor, Intel Centerton processor or | 
|  | Intel Quark X1000 SoC. | 
|  |  | 
|  | The Intel SCH contains a total of 14 GPIO pins. Ten GPIOs are | 
|  | powered by the core power rail and are turned off during sleep | 
|  | modes (S3 and higher). The remaining four GPIOs are powered by | 
|  | the Intel SCH suspend power supply. These GPIOs remain | 
|  | active during S3. The suspend powered GPIOs can be used to wake the | 
|  | system from the Suspend-to-RAM state. | 
|  |  | 
|  | The Intel Tunnel Creek processor has 5 GPIOs powered by the | 
|  | core power rail and 9 from suspend power supply. | 
|  |  | 
|  | The Intel Centerton processor has a total of 30 GPIO pins. | 
|  | Twenty-one are powered by the core power rail and 9 from the | 
|  | suspend power supply. | 
|  |  | 
|  | The Intel Quark X1000 SoC has 2 GPIOs powered by the core | 
|  | power well and 6 from the suspend power well. | 
|  |  | 
|  | config GPIO_SCH311X | 
|  | tristate "SMSC SCH311x SuperI/O GPIO" | 
|  | help | 
|  | Driver to enable the GPIOs found on SMSC SMSC SCH3112, SCH3114 and | 
|  | SCH3116 "Super I/O" chipsets. | 
|  |  | 
|  | To compile this driver as a module, choose M here: the module will | 
|  | be called gpio-sch311x. | 
|  |  | 
|  | config GPIO_TS5500 | 
|  | tristate "TS-5500 DIO blocks and compatibles" | 
|  | depends on TS5500 || COMPILE_TEST | 
|  | help | 
|  | This driver supports Digital I/O exposed by pin blocks found on some | 
|  | Technologic Systems platforms. It includes, but is not limited to, 3 | 
|  | blocks of the TS-5500: DIO1, DIO2 and the LCD port, and the TS-5600 | 
|  | LCD port. | 
|  |  | 
|  | config GPIO_WINBOND | 
|  | tristate "Winbond Super I/O GPIO support" | 
|  | select ISA_BUS_API | 
|  | help | 
|  | This option enables support for GPIOs found on Winbond Super I/O | 
|  | chips. | 
|  | Currently, only W83627UHG (also known as Nuvoton NCT6627UD) is | 
|  | supported. | 
|  |  | 
|  | You will need to provide a module parameter "gpios", or a | 
|  | boot-time parameter "gpio_winbond.gpios" with a bitmask of GPIO | 
|  | ports to enable (bit 0 is GPIO1, bit 1 is GPIO2, etc.). | 
|  |  | 
|  | To compile this driver as a module, choose M here: the module will | 
|  | be called gpio-winbond. | 
|  |  | 
|  | config GPIO_WS16C48 | 
|  | tristate "WinSystems WS16C48 GPIO support" | 
|  | select ISA_BUS_API | 
|  | select GPIOLIB_IRQCHIP | 
|  | help | 
|  | Enables GPIO support for the WinSystems WS16C48. The base port | 
|  | addresses for the devices may be configured via the base module | 
|  | parameter. The interrupt line numbers for the devices may be | 
|  | configured via the irq module parameter. | 
|  |  | 
|  | endmenu | 
|  |  | 
|  | menu "I2C GPIO expanders" | 
|  | depends on I2C | 
|  |  | 
|  | config GPIO_ADP5588 | 
|  | tristate "ADP5588 I2C GPIO expander" | 
|  | help | 
|  | This option enables support for 18 GPIOs found | 
|  | on Analog Devices ADP5588 GPIO Expanders. | 
|  |  | 
|  | config GPIO_ADP5588_IRQ | 
|  | bool "Interrupt controller support for ADP5588" | 
|  | depends on GPIO_ADP5588=y | 
|  | select GPIOLIB_IRQCHIP | 
|  | help | 
|  | Say yes here to enable the adp5588 to be used as an interrupt | 
|  | controller. It requires the driver to be built in the kernel. | 
|  |  | 
|  | config GPIO_ADNP | 
|  | tristate "Avionic Design N-bit GPIO expander" | 
|  | depends on OF_GPIO | 
|  | select GPIOLIB_IRQCHIP | 
|  | help | 
|  | This option enables support for N GPIOs found on Avionic Design | 
|  | I2C GPIO expanders. The register space will be extended by powers | 
|  | of two, so the controller will need to accommodate for that. For | 
|  | example: if a controller provides 48 pins, 6 registers will be | 
|  | enough to represent all pins, but the driver will assume a | 
|  | register layout for 64 pins (8 registers). | 
|  |  | 
|  | config GPIO_GW_PLD | 
|  | tristate "Gateworks PLD GPIO Expander" | 
|  | depends on OF_GPIO | 
|  | help | 
|  | Say yes here to provide access to the Gateworks I2C PLD GPIO | 
|  | Expander. This is used at least on the Cambria GW2358-4. | 
|  |  | 
|  | config GPIO_MAX7300 | 
|  | tristate "Maxim MAX7300 GPIO expander" | 
|  | select GPIO_MAX730X | 
|  | help | 
|  | GPIO driver for Maxim MAX7300 I2C-based GPIO expander. | 
|  |  | 
|  | config GPIO_MAX732X | 
|  | tristate "MAX7319, MAX7320-7327 I2C Port Expanders" | 
|  | help | 
|  | Say yes here to support the MAX7319, MAX7320-7327 series of I2C | 
|  | Port Expanders. Each IO port on these chips has a fixed role of | 
|  | Input (designated by 'I'), Push-Pull Output ('O'), or Open-Drain | 
|  | Input and Output (designed by 'P'). The combinations are listed | 
|  | below: | 
|  |  | 
|  | 8 bits:       max7319 (8I), max7320 (8O), max7321 (8P), | 
|  | max7322 (4I4O), max7323 (4P4O) | 
|  |  | 
|  | 16 bits:      max7324 (8I8O), max7325 (8P8O), | 
|  | max7326 (4I12O), max7327 (4P12O) | 
|  |  | 
|  | Board setup code must specify the model to use, and the start | 
|  | number for these GPIOs. | 
|  |  | 
|  | config GPIO_MAX732X_IRQ | 
|  | bool "Interrupt controller support for MAX732x" | 
|  | depends on GPIO_MAX732X=y | 
|  | select GPIOLIB_IRQCHIP | 
|  | help | 
|  | Say yes here to enable the max732x to be used as an interrupt | 
|  | controller. It requires the driver to be built in the kernel. | 
|  |  | 
|  | config GPIO_PCA953X | 
|  | tristate "PCA95[357]x, PCA9698, TCA64xx, and MAX7310 I/O ports" | 
|  | select REGMAP_I2C | 
|  | help | 
|  | Say yes here to provide access to several register-oriented | 
|  | SMBus I/O expanders, made mostly by NXP or TI.  Compatible | 
|  | models include: | 
|  |  | 
|  | 4 bits:       pca9536, pca9537 | 
|  |  | 
|  | 8 bits:       max7310, max7315, pca6107, pca9534, pca9538, pca9554, | 
|  | pca9556, pca9557, pca9574, tca6408, tca9554, xra1202 | 
|  |  | 
|  | 16 bits:      max7312, max7313, pca9535, pca9539, pca9555, pca9575, | 
|  | tca6416 | 
|  |  | 
|  | 24 bits:      tca6424 | 
|  |  | 
|  | 40 bits:      pca9505, pca9698 | 
|  |  | 
|  | config GPIO_PCA953X_IRQ | 
|  | bool "Interrupt controller support for PCA953x" | 
|  | depends on GPIO_PCA953X | 
|  | select GPIOLIB_IRQCHIP | 
|  | help | 
|  | Say yes here to enable the pca953x to be used as an interrupt | 
|  | controller. It requires the driver to be built in the kernel. | 
|  |  | 
|  | config GPIO_PCA9570 | 
|  | tristate "PCA9570 4-Bit I2C GPO expander" | 
|  | help | 
|  | Say yes here to enable the GPO driver for the NXP PCA9570 chip. | 
|  |  | 
|  | To compile this driver as a module, choose M here: the module will | 
|  | be called gpio-pca9570. | 
|  |  | 
|  | config GPIO_PCF857X | 
|  | tristate "PCF857x, PCA{85,96}7x, and MAX732[89] I2C GPIO expanders" | 
|  | select GPIOLIB_IRQCHIP | 
|  | select IRQ_DOMAIN | 
|  | help | 
|  | Say yes here to provide access to most "quasi-bidirectional" I2C | 
|  | GPIO expanders used for additional digital outputs or inputs. | 
|  | Most of these parts are from NXP, though TI is a second source for | 
|  | some of them.  Compatible models include: | 
|  |  | 
|  | 8 bits:   pcf8574, pcf8574a, pca8574, pca8574a, | 
|  | pca9670, pca9672, pca9674, pca9674a, | 
|  | max7328, max7329 | 
|  |  | 
|  | 16 bits:  pcf8575, pcf8575c, pca8575, | 
|  | pca9671, pca9673, pca9675 | 
|  |  | 
|  | Your board setup code will need to declare the expanders in | 
|  | use, and assign numbers to the GPIOs they expose.  Those GPIOs | 
|  | can then be used from drivers and other kernel code, just like | 
|  | other GPIOs, but only accessible from task contexts. | 
|  |  | 
|  | This driver provides an in-kernel interface to those GPIOs using | 
|  | platform-neutral GPIO calls. | 
|  |  | 
|  | config GPIO_TPIC2810 | 
|  | tristate "TPIC2810 8-Bit I2C GPO expander" | 
|  | help | 
|  | Say yes here to enable the GPO driver for the TI TPIC2810 chip. | 
|  |  | 
|  | To compile this driver as a module, choose M here: the module will | 
|  | be called gpio-tpic2810. | 
|  |  | 
|  | config GPIO_TS4900 | 
|  | tristate "Technologic Systems FPGA I2C GPIO" | 
|  | depends on SOC_IMX6 || COMPILE_TEST | 
|  | select REGMAP_I2C | 
|  | help | 
|  | Say yes here to enabled the GPIO driver for Technologic's FPGA core. | 
|  | Series supported include TS-4100, TS-4900, TS-7970 and TS-7990. | 
|  |  | 
|  | endmenu | 
|  |  | 
|  | menu "MFD GPIO expanders" | 
|  |  | 
|  | config GPIO_ADP5520 | 
|  | tristate "GPIO Support for ADP5520 PMIC" | 
|  | depends on PMIC_ADP5520 | 
|  | help | 
|  | This option enables support for on-chip GPIO found | 
|  | on Analog Devices ADP5520 PMICs. | 
|  |  | 
|  | config GPIO_ALTERA_A10SR | 
|  | tristate "Altera Arria10 System Resource GPIO" | 
|  | depends on MFD_ALTERA_A10SR | 
|  | help | 
|  | Driver for Arria10 Development Kit GPIO expansion which | 
|  | includes reads of pushbuttons and DIP switches as well | 
|  | as writes to LEDs. | 
|  |  | 
|  | config GPIO_ARIZONA | 
|  | tristate "Wolfson Microelectronics Arizona class devices" | 
|  | depends on MFD_ARIZONA | 
|  | help | 
|  | Support for GPIOs on Wolfson Arizona class devices. | 
|  |  | 
|  | config GPIO_BD70528 | 
|  | tristate "ROHM BD70528 GPIO support" | 
|  | depends on MFD_ROHM_BD70528 | 
|  | help | 
|  | Support for GPIOs on ROHM BD70528 PMIC. There are four GPIOs | 
|  | available on the ROHM PMIC in total. The GPIOs can also | 
|  | generate interrupts. | 
|  |  | 
|  | This driver can also be built as a module. If so, the module | 
|  | will be called gpio-bd70528. | 
|  |  | 
|  | config GPIO_BD71815 | 
|  | tristate "ROHM BD71815 PMIC GPIO support" | 
|  | depends on MFD_ROHM_BD71828 | 
|  | help | 
|  | Support for GPO(s) on ROHM BD71815 PMIC. There are two GPOs | 
|  | available on the ROHM PMIC. | 
|  |  | 
|  | This driver can also be built as a module. If so, the module | 
|  | will be called gpio-bd71815. | 
|  |  | 
|  | config GPIO_BD71828 | 
|  | tristate "ROHM BD71828 GPIO support" | 
|  | depends on MFD_ROHM_BD71828 | 
|  | help | 
|  | Support for GPIOs on ROHM BD71828 PMIC. There are three GPIOs | 
|  | available on the ROHM PMIC in total. The GPIOs are limited to | 
|  | outputs only and pins must be configured to GPIO outputs by | 
|  | OTP. Enable this only if you want to use these pins as outputs. | 
|  |  | 
|  | This driver can also be built as a module. If so, the module | 
|  | will be called gpio-bd71828. | 
|  |  | 
|  | config GPIO_BD9571MWV | 
|  | tristate "ROHM BD9571 GPIO support" | 
|  | depends on MFD_BD9571MWV | 
|  | help | 
|  | Support for GPIOs on ROHM BD9571 PMIC. There are two GPIOs | 
|  | available on the ROHM PMIC in total, both of which can also | 
|  | generate interrupts. | 
|  |  | 
|  | This driver can also be built as a module. If so, the module | 
|  | will be called gpio-bd9571mwv. | 
|  |  | 
|  | config GPIO_CRYSTAL_COVE | 
|  | tristate "GPIO support for Crystal Cove PMIC" | 
|  | depends on (X86 || COMPILE_TEST) && INTEL_SOC_PMIC | 
|  | select GPIOLIB_IRQCHIP | 
|  | help | 
|  | Support for GPIO pins on Crystal Cove PMIC. | 
|  |  | 
|  | Say Yes if you have a Intel SoC based tablet with Crystal Cove PMIC | 
|  | inside. | 
|  |  | 
|  | This driver can also be built as a module. If so, the module will be | 
|  | called gpio-crystalcove. | 
|  |  | 
|  | config GPIO_CS5535 | 
|  | tristate "AMD CS5535/CS5536 GPIO support" | 
|  | depends on X86 || MIPS || COMPILE_TEST | 
|  | depends on MFD_CS5535 | 
|  | help | 
|  | The AMD CS5535 and CS5536 southbridges support 28 GPIO pins that | 
|  | can be used for quite a number of things.  The CS5535/6 is found on | 
|  | AMD Geode and Lemote Yeeloong devices. | 
|  |  | 
|  | If unsure, say N. | 
|  |  | 
|  | config GPIO_DA9052 | 
|  | tristate "Dialog DA9052 GPIO" | 
|  | depends on PMIC_DA9052 | 
|  | help | 
|  | Say yes here to enable the GPIO driver for the DA9052 chip. | 
|  |  | 
|  | config GPIO_DA9055 | 
|  | tristate "Dialog Semiconductor DA9055 GPIO" | 
|  | depends on MFD_DA9055 | 
|  | help | 
|  | Say yes here to enable the GPIO driver for the DA9055 chip. | 
|  |  | 
|  | The Dialog DA9055 PMIC chip has 3 GPIO pins that can be | 
|  | be controller by this driver. | 
|  |  | 
|  | If driver is built as a module it will be called gpio-da9055. | 
|  |  | 
|  | config GPIO_DLN2 | 
|  | tristate "Diolan DLN2 GPIO support" | 
|  | depends on MFD_DLN2 | 
|  | select GPIOLIB_IRQCHIP | 
|  |  | 
|  | help | 
|  | Select this option to enable GPIO driver for the Diolan DLN2 | 
|  | board. | 
|  |  | 
|  | This driver can also be built as a module. If so, the module | 
|  | will be called gpio-dln2. | 
|  |  | 
|  | config HTC_EGPIO | 
|  | bool "HTC EGPIO support" | 
|  | depends on ARM | 
|  | help | 
|  | This driver supports the CPLD egpio chip present on | 
|  | several HTC phones.  It provides basic support for input | 
|  | pins, output pins, and irqs. | 
|  |  | 
|  | config GPIO_JANZ_TTL | 
|  | tristate "Janz VMOD-TTL Digital IO Module" | 
|  | depends on MFD_JANZ_CMODIO | 
|  | help | 
|  | This enables support for the Janz VMOD-TTL Digital IO module. | 
|  | This driver provides support for driving the pins in output | 
|  | mode only. Input mode is not supported. | 
|  |  | 
|  | config GPIO_KEMPLD | 
|  | tristate "Kontron ETX / COMexpress GPIO" | 
|  | depends on MFD_KEMPLD | 
|  | help | 
|  | This enables support for the PLD GPIO interface on some Kontron ETX | 
|  | and COMexpress (ETXexpress) modules. | 
|  |  | 
|  | This driver can also be built as a module. If so, the module will be | 
|  | called gpio-kempld. | 
|  |  | 
|  | config GPIO_LP3943 | 
|  | tristate "TI/National Semiconductor LP3943 GPIO expander" | 
|  | depends on MFD_LP3943 | 
|  | help | 
|  | GPIO driver for LP3943 MFD. | 
|  | LP3943 can be used as a GPIO expander which provides up to 16 GPIOs. | 
|  | Open drain outputs are required for this usage. | 
|  |  | 
|  | config GPIO_LP873X | 
|  | tristate "TI LP873X GPO" | 
|  | depends on MFD_TI_LP873X | 
|  | help | 
|  | This driver supports the GPO on TI Lp873x PMICs. 2 GPOs are present | 
|  | on LP873X PMICs. | 
|  |  | 
|  | This driver can also be built as a module. If so, the module will be | 
|  | called gpio-lp873x. | 
|  |  | 
|  | config GPIO_LP87565 | 
|  | tristate "TI LP87565 GPIO" | 
|  | depends on MFD_TI_LP87565 | 
|  | help | 
|  | This driver supports the GPIO on TI Lp873565 PMICs. 3 GPIOs are present | 
|  | on LP87565 PMICs. | 
|  |  | 
|  | This driver can also be built as a module. If so, the module will be | 
|  | called gpio-lp87565. | 
|  |  | 
|  | config GPIO_MADERA | 
|  | tristate "Cirrus Logic Madera class codecs" | 
|  | depends on PINCTRL_MADERA | 
|  | help | 
|  | Support for GPIOs on Cirrus Logic Madera class codecs. | 
|  |  | 
|  | config GPIO_MAX77620 | 
|  | tristate "GPIO support for PMIC MAX77620 and MAX20024" | 
|  | depends on MFD_MAX77620 | 
|  | select GPIOLIB_IRQCHIP | 
|  | help | 
|  | GPIO driver for MAX77620 and MAX20024 PMIC from Maxim Semiconductor. | 
|  | MAX77620 PMIC has 8 pins that can be configured as GPIOs. The | 
|  | driver also provides interrupt support for each of the gpios. | 
|  | Say yes here to enable the max77620 to be used as gpio controller. | 
|  |  | 
|  | config GPIO_MAX77650 | 
|  | tristate "Maxim MAX77650/77651 GPIO support" | 
|  | depends on MFD_MAX77650 | 
|  | help | 
|  | GPIO driver for MAX77650/77651 PMIC from Maxim Semiconductor. | 
|  | These chips have a single pin that can be configured as GPIO. | 
|  |  | 
|  | config GPIO_PALMAS | 
|  | bool "TI PALMAS series PMICs GPIO" | 
|  | depends on MFD_PALMAS | 
|  | help | 
|  | Select this option to enable GPIO driver for the TI PALMAS | 
|  | series chip family. | 
|  |  | 
|  | config GPIO_RC5T583 | 
|  | bool "RICOH RC5T583 GPIO" | 
|  | depends on MFD_RC5T583 | 
|  | help | 
|  | Select this option to enable GPIO driver for the Ricoh RC5T583 | 
|  | chip family. | 
|  | This driver provides the support for driving/reading the gpio pins | 
|  | of RC5T583 device through standard gpio library. | 
|  |  | 
|  | config GPIO_SL28CPLD | 
|  | tristate "Kontron sl28cpld GPIO support" | 
|  | depends on MFD_SL28CPLD || COMPILE_TEST | 
|  | select GPIO_REGMAP | 
|  | select GPIOLIB_IRQCHIP | 
|  | select REGMAP_IRQ | 
|  | help | 
|  | This enables support for the GPIOs found on the Kontron sl28 CPLD. | 
|  |  | 
|  | This driver can also be built as a module. If so, the module will be | 
|  | called gpio-sl28cpld. | 
|  |  | 
|  | config GPIO_STMPE | 
|  | bool "STMPE GPIOs" | 
|  | depends on MFD_STMPE | 
|  | depends on OF_GPIO | 
|  | select GPIOLIB_IRQCHIP | 
|  | help | 
|  | This enables support for the GPIOs found on the STMPE I/O | 
|  | Expanders. | 
|  |  | 
|  | config GPIO_TC3589X | 
|  | bool "TC3589X GPIOs" | 
|  | depends on MFD_TC3589X | 
|  | depends on OF_GPIO | 
|  | select GPIOLIB_IRQCHIP | 
|  | help | 
|  | This enables support for the GPIOs found on the TC3589X | 
|  | I/O Expander. | 
|  |  | 
|  | config GPIO_TIMBERDALE | 
|  | bool "Support for timberdale GPIO IP" | 
|  | depends on MFD_TIMBERDALE | 
|  | help | 
|  | Add support for the GPIO IP in the timberdale FPGA. | 
|  |  | 
|  | config GPIO_TPS65086 | 
|  | tristate "TI TPS65086 GPO" | 
|  | depends on MFD_TPS65086 | 
|  | help | 
|  | This driver supports the GPO on TI TPS65086x PMICs. | 
|  |  | 
|  | config GPIO_TPS65218 | 
|  | tristate "TPS65218 GPIO" | 
|  | depends on MFD_TPS65218 | 
|  | help | 
|  | Select this option to enable GPIO driver for the TPS65218 | 
|  | chip family. | 
|  |  | 
|  | config GPIO_TPS6586X | 
|  | bool "TPS6586X GPIO" | 
|  | depends on MFD_TPS6586X | 
|  | help | 
|  | Select this option to enable GPIO driver for the TPS6586X | 
|  | chip family. | 
|  |  | 
|  | config GPIO_TPS65910 | 
|  | bool "TPS65910 GPIO" | 
|  | depends on MFD_TPS65910 | 
|  | help | 
|  | Select this option to enable GPIO driver for the TPS65910 | 
|  | chip family. | 
|  |  | 
|  | config GPIO_TPS65912 | 
|  | tristate "TI TPS65912 GPIO" | 
|  | depends on MFD_TPS65912 | 
|  | help | 
|  | This driver supports TPS65912 gpio chip | 
|  |  | 
|  | config GPIO_TPS68470 | 
|  | bool "TPS68470 GPIO" | 
|  | depends on INTEL_SKL_INT3472 | 
|  | help | 
|  | Select this option to enable GPIO driver for the TPS68470 | 
|  | chip family. | 
|  | There are 7 GPIOs and few sensor related GPIOs supported | 
|  | by the TPS68470. While the 7 GPIOs can be configured as | 
|  | input or output as appropriate, the sensor related GPIOs | 
|  | are "output only" GPIOs. | 
|  |  | 
|  | This driver config is bool, as the GPIO functionality | 
|  | of the TPS68470 must be available before dependent | 
|  | drivers are loaded. | 
|  |  | 
|  | config GPIO_TQMX86 | 
|  | tristate "TQ-Systems QTMX86 GPIO" | 
|  | depends on MFD_TQMX86 || COMPILE_TEST | 
|  | depends on HAS_IOPORT_MAP | 
|  | select GPIOLIB_IRQCHIP | 
|  | help | 
|  | This driver supports GPIO on the TQMX86 IO controller. | 
|  |  | 
|  | config GPIO_TWL4030 | 
|  | tristate "TWL4030, TWL5030, and TPS659x0 GPIOs" | 
|  | depends on TWL4030_CORE | 
|  | help | 
|  | Say yes here to access the GPIO signals of various multi-function | 
|  | power management chips from Texas Instruments. | 
|  |  | 
|  | config GPIO_TWL6040 | 
|  | tristate "TWL6040 GPO" | 
|  | depends on TWL6040_CORE | 
|  | help | 
|  | Say yes here to access the GPO signals of twl6040 | 
|  | audio chip from Texas Instruments. | 
|  |  | 
|  | config GPIO_UCB1400 | 
|  | tristate "Philips UCB1400 GPIO" | 
|  | depends on UCB1400_CORE | 
|  | help | 
|  | This enables support for the Philips UCB1400 GPIO pins. | 
|  | The UCB1400 is an AC97 audio codec. | 
|  |  | 
|  | config GPIO_WHISKEY_COVE | 
|  | tristate "GPIO support for Whiskey Cove PMIC" | 
|  | depends on (X86 || COMPILE_TEST) && INTEL_SOC_PMIC_BXTWC | 
|  | select GPIOLIB_IRQCHIP | 
|  | help | 
|  | Support for GPIO pins on Whiskey Cove PMIC. | 
|  |  | 
|  | Say Yes if you have a Intel SoC based tablet with Whiskey Cove PMIC | 
|  | inside. | 
|  |  | 
|  | This driver can also be built as a module. If so, the module will be | 
|  | called gpio-wcove. | 
|  |  | 
|  | config GPIO_WM831X | 
|  | tristate "WM831x GPIOs" | 
|  | depends on MFD_WM831X | 
|  | help | 
|  | Say yes here to access the GPIO signals of WM831x power management | 
|  | chips from Wolfson Microelectronics. | 
|  |  | 
|  | config GPIO_WM8350 | 
|  | tristate "WM8350 GPIOs" | 
|  | depends on MFD_WM8350 | 
|  | help | 
|  | Say yes here to access the GPIO signals of WM8350 power management | 
|  | chips from Wolfson Microelectronics. | 
|  |  | 
|  | config GPIO_WM8994 | 
|  | tristate "WM8994 GPIOs" | 
|  | depends on MFD_WM8994 | 
|  | help | 
|  | Say yes here to access the GPIO signals of WM8994 audio hub | 
|  | CODECs from Wolfson Microelectronics. | 
|  |  | 
|  | endmenu | 
|  |  | 
|  | menu "PCI GPIO expanders" | 
|  | depends on PCI | 
|  |  | 
|  | config GPIO_AMD8111 | 
|  | tristate "AMD 8111 GPIO driver" | 
|  | depends on X86 || COMPILE_TEST | 
|  | depends on HAS_IOPORT_MAP | 
|  | help | 
|  | The AMD 8111 south bridge contains 32 GPIO pins which can be used. | 
|  |  | 
|  | Note, that usually system firmware/ACPI handles GPIO pins on their | 
|  | own and users might easily break their systems with uncarefull usage | 
|  | of this driver! | 
|  |  | 
|  | If unsure, say N | 
|  |  | 
|  | config GPIO_BT8XX | 
|  | tristate "BT8XX GPIO abuser" | 
|  | depends on VIDEO_BT848=n | 
|  | help | 
|  | The BT8xx frame grabber chip has 24 GPIO pins that can be abused | 
|  | as a cheap PCI GPIO card. | 
|  |  | 
|  | This chip can be found on Miro, Hauppauge and STB TV-cards. | 
|  |  | 
|  | The card needs to be physically altered for using it as a | 
|  | GPIO card. For more information on how to build a GPIO card | 
|  | from a BT8xx TV card, see the documentation file at | 
|  | Documentation/driver-api/gpio/bt8xxgpio.rst | 
|  |  | 
|  | If unsure, say N. | 
|  |  | 
|  | config GPIO_MERRIFIELD | 
|  | tristate "Intel Merrifield GPIO support" | 
|  | depends on X86_INTEL_MID | 
|  | select GPIOLIB_IRQCHIP | 
|  | help | 
|  | Say Y here to support Intel Merrifield GPIO. | 
|  |  | 
|  | config GPIO_MLXBF | 
|  | tristate "Mellanox BlueField SoC GPIO" | 
|  | depends on (MELLANOX_PLATFORM && ARM64 && ACPI) || (64BIT && COMPILE_TEST) | 
|  | select GPIO_GENERIC | 
|  | help | 
|  | Say Y here if you want GPIO support on Mellanox BlueField SoC. | 
|  |  | 
|  | config GPIO_MLXBF2 | 
|  | tristate "Mellanox BlueField 2 SoC GPIO" | 
|  | depends on (MELLANOX_PLATFORM && ARM64 && ACPI) || (64BIT && COMPILE_TEST) | 
|  | select GPIO_GENERIC | 
|  | help | 
|  | Say Y here if you want GPIO support on Mellanox BlueField 2 SoC. | 
|  |  | 
|  | config GPIO_ML_IOH | 
|  | tristate "OKI SEMICONDUCTOR ML7213 IOH GPIO support" | 
|  | depends on X86 || COMPILE_TEST | 
|  | select GENERIC_IRQ_CHIP | 
|  | help | 
|  | ML7213 is companion chip for Intel Atom E6xx series. | 
|  | This driver can be used for OKI SEMICONDUCTOR ML7213 IOH(Input/Output | 
|  | Hub) which is for IVI(In-Vehicle Infotainment) use. | 
|  | This driver can access the IOH's GPIO device. | 
|  |  | 
|  | config GPIO_PCH | 
|  | tristate "Intel EG20T PCH/LAPIS Semiconductor IOH(ML7223/ML7831) GPIO" | 
|  | depends on X86_32 || MIPS || COMPILE_TEST | 
|  | select GENERIC_IRQ_CHIP | 
|  | help | 
|  | This driver is for PCH(Platform controller Hub) GPIO of Intel Topcliff | 
|  | which is an IOH(Input/Output Hub) for x86 embedded processor. | 
|  | This driver can access PCH GPIO device. | 
|  |  | 
|  | This driver also can be used for LAPIS Semiconductor IOH(Input/ | 
|  | Output Hub), ML7223 and ML7831. | 
|  | ML7223 IOH is for MP(Media Phone) use. | 
|  | ML7831 IOH is for general purpose use. | 
|  | ML7223/ML7831 is companion chip for Intel Atom E6xx series. | 
|  | ML7223/ML7831 is completely compatible for Intel EG20T PCH. | 
|  |  | 
|  | config GPIO_PCI_IDIO_16 | 
|  | tristate "ACCES PCI-IDIO-16 GPIO support" | 
|  | select GPIOLIB_IRQCHIP | 
|  | help | 
|  | Enables GPIO support for the ACCES PCI-IDIO-16. An interrupt is | 
|  | generated when any of the inputs change state (low to high or high to | 
|  | low). Input filter control is not supported by this driver, and the | 
|  | input filters are deactivated by this driver. | 
|  |  | 
|  | config GPIO_PCIE_IDIO_24 | 
|  | tristate "ACCES PCIe-IDIO-24 GPIO support" | 
|  | select GPIOLIB_IRQCHIP | 
|  | help | 
|  | Enables GPIO support for the ACCES PCIe-IDIO-24 family (PCIe-IDIO-24, | 
|  | PCIe-IDI-24, PCIe-IDO-24, PCIe-IDIO-12). An interrupt is generated | 
|  | when any of the inputs change state (low to high or high to low). | 
|  | Input filter control is not supported by this driver, and the input | 
|  | filters are deactivated by this driver. | 
|  |  | 
|  | config GPIO_RDC321X | 
|  | tristate "RDC R-321x GPIO support" | 
|  | select MFD_CORE | 
|  | select MFD_RDC321X | 
|  | help | 
|  | Support for the RDC R321x SoC GPIOs over southbridge | 
|  | PCI configuration space. | 
|  |  | 
|  | config GPIO_SODAVILLE | 
|  | bool "Intel Sodaville GPIO support" | 
|  | depends on X86 && OF | 
|  | select GPIO_GENERIC | 
|  | select GENERIC_IRQ_CHIP | 
|  | help | 
|  | Say Y here to support Intel Sodaville GPIO. | 
|  |  | 
|  | endmenu | 
|  |  | 
|  | menu "SPI GPIO expanders" | 
|  | depends on SPI_MASTER | 
|  |  | 
|  | config GPIO_74X164 | 
|  | tristate "74x164 serial-in/parallel-out 8-bits shift register" | 
|  | depends on OF_GPIO | 
|  | help | 
|  | Driver for 74x164 compatible serial-in/parallel-out 8-outputs | 
|  | shift registers. This driver can be used to provide access | 
|  | to more gpio outputs. | 
|  |  | 
|  | config GPIO_MAX3191X | 
|  | tristate "Maxim MAX3191x industrial serializer" | 
|  | select CRC8 | 
|  | help | 
|  | GPIO driver for Maxim MAX31910, MAX31911, MAX31912, MAX31913, | 
|  | MAX31953 and MAX31963 industrial serializer, a daisy-chainable | 
|  | chip to make 8 digital 24V inputs available via SPI.  Supports | 
|  | CRC checksums to guard against electromagnetic interference, | 
|  | as well as undervoltage and overtemperature detection. | 
|  |  | 
|  | config GPIO_MAX7301 | 
|  | tristate "Maxim MAX7301 GPIO expander" | 
|  | select GPIO_MAX730X | 
|  | help | 
|  | GPIO driver for Maxim MAX7301 SPI-based GPIO expander. | 
|  |  | 
|  | config GPIO_MC33880 | 
|  | tristate "Freescale MC33880 high-side/low-side switch" | 
|  | help | 
|  | SPI driver for Freescale MC33880 high-side/low-side switch. | 
|  | This provides GPIO interface supporting inputs and outputs. | 
|  |  | 
|  | config GPIO_PISOSR | 
|  | tristate "Generic parallel-in/serial-out shift register" | 
|  | help | 
|  | GPIO driver for SPI compatible parallel-in/serial-out shift | 
|  | registers. These are input only devices. | 
|  |  | 
|  | config GPIO_XRA1403 | 
|  | tristate "EXAR XRA1403 16-bit GPIO expander" | 
|  | select REGMAP_SPI | 
|  | help | 
|  | GPIO driver for EXAR XRA1403 16-bit SPI-based GPIO expander. | 
|  |  | 
|  | config GPIO_MOXTET | 
|  | tristate "Turris Mox Moxtet bus GPIO expander" | 
|  | depends on MOXTET | 
|  | help | 
|  | Say yes here if you are building for the Turris Mox router. | 
|  | This is the driver needed for configuring the GPIOs via the Moxtet | 
|  | bus. For example the Mox module with SFP cage needs this driver | 
|  | so that phylink can use corresponding GPIOs. | 
|  |  | 
|  | endmenu | 
|  |  | 
|  | menu "USB GPIO expanders" | 
|  | depends on USB | 
|  |  | 
|  | config GPIO_VIPERBOARD | 
|  | tristate "Viperboard GPIO a & b support" | 
|  | depends on MFD_VIPERBOARD | 
|  | help | 
|  | Say yes here to access the GPIO signals of Nano River | 
|  | Technologies Viperboard. There are two GPIO chips on the | 
|  | board: gpioa and gpiob. | 
|  | See viperboard API specification and Nano | 
|  | River Tech's viperboard.h for detailed meaning | 
|  | of the module parameters. | 
|  |  | 
|  | endmenu | 
|  |  | 
|  | menu "Virtual GPIO drivers" | 
|  |  | 
|  | config GPIO_AGGREGATOR | 
|  | tristate "GPIO Aggregator" | 
|  | help | 
|  | Say yes here to enable the GPIO Aggregator, which provides a way to | 
|  | aggregate existing GPIO lines into a new virtual GPIO chip. | 
|  | This can serve the following purposes: | 
|  | - Assign permissions for a collection of GPIO lines to a user, | 
|  | - Export a collection of GPIO lines to a virtual machine, | 
|  | - Provide a generic driver for a GPIO-operated device in an | 
|  | industrial control context, to be operated from userspace using | 
|  | the GPIO chardev interface. | 
|  |  | 
|  | config GPIO_MOCKUP | 
|  | tristate "GPIO Testing Driver" | 
|  | select IRQ_SIM | 
|  | help | 
|  | This enables GPIO Testing driver, which provides a way to test GPIO | 
|  | subsystem through sysfs (or char device) and debugfs. | 
|  | User could use it through the script in | 
|  | tools/testing/selftests/gpio/gpio-mockup.sh. Reference the usage in | 
|  | it. | 
|  |  | 
|  | config GPIO_VIRTIO | 
|  | tristate "VirtIO GPIO support" | 
|  | depends on VIRTIO | 
|  | help | 
|  | Say Y here to enable guest support for virtio-based GPIO controllers. | 
|  |  | 
|  | These virtual GPIOs can be routed to real GPIOs or attached to | 
|  | simulators on the host (like QEMU). | 
|  |  | 
|  | endmenu | 
|  |  | 
|  | endif |