162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 262306a36Sopenharmony_ci# 362306a36Sopenharmony_ci# GPIO infrastructure and drivers 462306a36Sopenharmony_ci# 562306a36Sopenharmony_ci 662306a36Sopenharmony_cimenuconfig GPIOLIB 762306a36Sopenharmony_ci bool "GPIO Support" 862306a36Sopenharmony_ci help 962306a36Sopenharmony_ci This enables GPIO support through the generic GPIO library. 1062306a36Sopenharmony_ci You only need to enable this if you also want to enable 1162306a36Sopenharmony_ci one or more of the GPIO drivers below. 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_ci If unsure, say N. 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_ciif GPIOLIB 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ciconfig GPIOLIB_FASTPATH_LIMIT 1862306a36Sopenharmony_ci int "Maximum number of GPIOs for fast path" 1962306a36Sopenharmony_ci range 32 512 2062306a36Sopenharmony_ci default 512 2162306a36Sopenharmony_ci help 2262306a36Sopenharmony_ci This adjusts the point at which certain APIs will switch from 2362306a36Sopenharmony_ci using a stack allocated buffer to a dynamically allocated buffer. 2462306a36Sopenharmony_ci 2562306a36Sopenharmony_ci You shouldn't need to change this unless you really need to 2662306a36Sopenharmony_ci optimize either stack space or performance. Change this carefully 2762306a36Sopenharmony_ci since setting an incorrect value could cause stack corruption. 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ciconfig OF_GPIO 3062306a36Sopenharmony_ci def_bool y 3162306a36Sopenharmony_ci depends on OF 3262306a36Sopenharmony_ci depends on HAS_IOMEM 3362306a36Sopenharmony_ci 3462306a36Sopenharmony_ciconfig GPIO_ACPI 3562306a36Sopenharmony_ci def_bool y 3662306a36Sopenharmony_ci depends on ACPI 3762306a36Sopenharmony_ci 3862306a36Sopenharmony_ciconfig GPIOLIB_IRQCHIP 3962306a36Sopenharmony_ci select IRQ_DOMAIN 4062306a36Sopenharmony_ci bool 4162306a36Sopenharmony_ci 4262306a36Sopenharmony_ciconfig OF_GPIO_MM_GPIOCHIP 4362306a36Sopenharmony_ci bool 4462306a36Sopenharmony_ci help 4562306a36Sopenharmony_ci This adds support for the legacy 'struct of_mm_gpio_chip' interface 4662306a36Sopenharmony_ci from PowerPC. Existing drivers using this interface need to select 4762306a36Sopenharmony_ci this symbol, but new drivers should use the generic gpio-regmap 4862306a36Sopenharmony_ci infrastructure instead. 4962306a36Sopenharmony_ci 5062306a36Sopenharmony_ciconfig DEBUG_GPIO 5162306a36Sopenharmony_ci bool "Debug GPIO calls" 5262306a36Sopenharmony_ci depends on DEBUG_KERNEL 5362306a36Sopenharmony_ci help 5462306a36Sopenharmony_ci Say Y here to add some extra checks and diagnostics to GPIO calls. 5562306a36Sopenharmony_ci These checks help ensure that GPIOs have been properly initialized 5662306a36Sopenharmony_ci before they are used, and that sleeping calls are not made from 5762306a36Sopenharmony_ci non-sleeping contexts. They can make bitbanged serial protocols 5862306a36Sopenharmony_ci slower. The diagnostics help catch the type of setup errors 5962306a36Sopenharmony_ci that are most common when setting up new platforms or boards. 6062306a36Sopenharmony_ci 6162306a36Sopenharmony_ciconfig GPIO_SYSFS 6262306a36Sopenharmony_ci bool "/sys/class/gpio/... (sysfs interface)" if EXPERT 6362306a36Sopenharmony_ci depends on SYSFS 6462306a36Sopenharmony_ci select GPIO_CDEV # We need to encourage the new ABI 6562306a36Sopenharmony_ci help 6662306a36Sopenharmony_ci Say Y here to add the legacy sysfs interface for GPIOs. 6762306a36Sopenharmony_ci 6862306a36Sopenharmony_ci This ABI is deprecated. If you want to use GPIO from userspace, 6962306a36Sopenharmony_ci use the character device /dev/gpiochipN with the appropriate 7062306a36Sopenharmony_ci ioctl() operations instead. 7162306a36Sopenharmony_ci 7262306a36Sopenharmony_ciconfig GPIO_CDEV 7362306a36Sopenharmony_ci bool 7462306a36Sopenharmony_ci prompt "Character device (/dev/gpiochipN) support" if EXPERT 7562306a36Sopenharmony_ci default y 7662306a36Sopenharmony_ci help 7762306a36Sopenharmony_ci Say Y here to add the character device /dev/gpiochipN interface 7862306a36Sopenharmony_ci for GPIOs. The character device allows userspace to control GPIOs 7962306a36Sopenharmony_ci using ioctl() operations. 8062306a36Sopenharmony_ci 8162306a36Sopenharmony_ci Only say N if you are sure that the GPIO character device is not 8262306a36Sopenharmony_ci required. 8362306a36Sopenharmony_ci 8462306a36Sopenharmony_ci If unsure, say Y. 8562306a36Sopenharmony_ci 8662306a36Sopenharmony_ciconfig GPIO_CDEV_V1 8762306a36Sopenharmony_ci bool "Support GPIO ABI Version 1" 8862306a36Sopenharmony_ci default y 8962306a36Sopenharmony_ci depends on GPIO_CDEV 9062306a36Sopenharmony_ci help 9162306a36Sopenharmony_ci Say Y here to support version 1 of the GPIO CDEV ABI. 9262306a36Sopenharmony_ci 9362306a36Sopenharmony_ci This ABI version is deprecated. 9462306a36Sopenharmony_ci Please use the latest ABI for new developments. 9562306a36Sopenharmony_ci 9662306a36Sopenharmony_ci If unsure, say Y. 9762306a36Sopenharmony_ci 9862306a36Sopenharmony_ciconfig GPIO_GENERIC 9962306a36Sopenharmony_ci depends on HAS_IOMEM # Only for IOMEM drivers 10062306a36Sopenharmony_ci tristate 10162306a36Sopenharmony_ci 10262306a36Sopenharmony_ciconfig GPIO_REGMAP 10362306a36Sopenharmony_ci select REGMAP 10462306a36Sopenharmony_ci tristate 10562306a36Sopenharmony_ci 10662306a36Sopenharmony_ci# put drivers in the right section, in alphabetical order 10762306a36Sopenharmony_ci 10862306a36Sopenharmony_ci# This symbol is selected by both I2C and SPI expanders 10962306a36Sopenharmony_ciconfig GPIO_MAX730X 11062306a36Sopenharmony_ci tristate 11162306a36Sopenharmony_ci 11262306a36Sopenharmony_ciconfig GPIO_IDIO_16 11362306a36Sopenharmony_ci tristate 11462306a36Sopenharmony_ci select REGMAP_IRQ 11562306a36Sopenharmony_ci select GPIOLIB_IRQCHIP 11662306a36Sopenharmony_ci select GPIO_REGMAP 11762306a36Sopenharmony_ci help 11862306a36Sopenharmony_ci Enables support for the idio-16 library functions. The idio-16 library 11962306a36Sopenharmony_ci provides functions to facilitate communication with devices within the 12062306a36Sopenharmony_ci ACCES IDIO-16 family such as the 104-IDIO-16 and the PCI-IDIO-16. 12162306a36Sopenharmony_ci 12262306a36Sopenharmony_ci If built as a module its name will be gpio-idio-16. 12362306a36Sopenharmony_ci 12462306a36Sopenharmony_cimenu "Memory mapped GPIO drivers" 12562306a36Sopenharmony_ci depends on HAS_IOMEM 12662306a36Sopenharmony_ci 12762306a36Sopenharmony_ciconfig GPIO_74XX_MMIO 12862306a36Sopenharmony_ci tristate "GPIO driver for 74xx-ICs with MMIO access" 12962306a36Sopenharmony_ci depends on OF_GPIO 13062306a36Sopenharmony_ci select GPIO_GENERIC 13162306a36Sopenharmony_ci help 13262306a36Sopenharmony_ci Say yes here to support GPIO functionality for 74xx-compatible ICs 13362306a36Sopenharmony_ci with MMIO access. Compatible models include: 13462306a36Sopenharmony_ci 1 bit: 741G125 (Input), 741G74 (Output) 13562306a36Sopenharmony_ci 2 bits: 742G125 (Input), 7474 (Output) 13662306a36Sopenharmony_ci 4 bits: 74125 (Input), 74175 (Output) 13762306a36Sopenharmony_ci 6 bits: 74365 (Input), 74174 (Output) 13862306a36Sopenharmony_ci 8 bits: 74244 (Input), 74273 (Output) 13962306a36Sopenharmony_ci 16 bits: 741624 (Input), 7416374 (Output) 14062306a36Sopenharmony_ci 14162306a36Sopenharmony_ciconfig GPIO_ALTERA 14262306a36Sopenharmony_ci tristate "Altera GPIO" 14362306a36Sopenharmony_ci depends on OF_GPIO 14462306a36Sopenharmony_ci select GPIOLIB_IRQCHIP 14562306a36Sopenharmony_ci select OF_GPIO_MM_GPIOCHIP 14662306a36Sopenharmony_ci help 14762306a36Sopenharmony_ci Say Y or M here to build support for the Altera PIO device. 14862306a36Sopenharmony_ci 14962306a36Sopenharmony_ci If driver is built as a module it will be called gpio-altera. 15062306a36Sopenharmony_ci 15162306a36Sopenharmony_ciconfig GPIO_AMDPT 15262306a36Sopenharmony_ci tristate "AMD Promontory GPIO support" 15362306a36Sopenharmony_ci depends on ACPI 15462306a36Sopenharmony_ci select GPIO_GENERIC 15562306a36Sopenharmony_ci help 15662306a36Sopenharmony_ci Driver for GPIO functionality on Promontory IOHub. 15762306a36Sopenharmony_ci Requires ACPI ASL code to enumerate as a platform device. 15862306a36Sopenharmony_ci 15962306a36Sopenharmony_ciconfig GPIO_ASPEED 16062306a36Sopenharmony_ci tristate "Aspeed GPIO support" 16162306a36Sopenharmony_ci depends on (ARCH_ASPEED || COMPILE_TEST) && OF_GPIO 16262306a36Sopenharmony_ci select GPIOLIB_IRQCHIP 16362306a36Sopenharmony_ci help 16462306a36Sopenharmony_ci Say Y here to support Aspeed AST2400 and AST2500 GPIO controllers. 16562306a36Sopenharmony_ci 16662306a36Sopenharmony_ciconfig GPIO_ASPEED_SGPIO 16762306a36Sopenharmony_ci bool "Aspeed SGPIO support" 16862306a36Sopenharmony_ci depends on (ARCH_ASPEED || COMPILE_TEST) && OF_GPIO 16962306a36Sopenharmony_ci select GPIO_GENERIC 17062306a36Sopenharmony_ci select GPIOLIB_IRQCHIP 17162306a36Sopenharmony_ci help 17262306a36Sopenharmony_ci Say Y here to support Aspeed AST2500 SGPIO functionality. 17362306a36Sopenharmony_ci 17462306a36Sopenharmony_ciconfig GPIO_ATH79 17562306a36Sopenharmony_ci tristate "Atheros AR71XX/AR724X/AR913X GPIO support" 17662306a36Sopenharmony_ci default y if ATH79 17762306a36Sopenharmony_ci depends on ATH79 || COMPILE_TEST 17862306a36Sopenharmony_ci select GPIO_GENERIC 17962306a36Sopenharmony_ci select GPIOLIB_IRQCHIP 18062306a36Sopenharmony_ci help 18162306a36Sopenharmony_ci Select this option to enable GPIO driver for 18262306a36Sopenharmony_ci Atheros AR71XX/AR724X/AR913X SoC devices. 18362306a36Sopenharmony_ci 18462306a36Sopenharmony_ciconfig GPIO_RASPBERRYPI_EXP 18562306a36Sopenharmony_ci tristate "Raspberry Pi 3 GPIO Expander" 18662306a36Sopenharmony_ci default RASPBERRYPI_FIRMWARE 18762306a36Sopenharmony_ci depends on OF_GPIO 18862306a36Sopenharmony_ci # Make sure not 'y' when RASPBERRYPI_FIRMWARE is 'm'. This can only 18962306a36Sopenharmony_ci # happen when COMPILE_TEST=y, hence the added !RASPBERRYPI_FIRMWARE. 19062306a36Sopenharmony_ci depends on (ARCH_BCM2835 && RASPBERRYPI_FIRMWARE) || (COMPILE_TEST && !RASPBERRYPI_FIRMWARE) 19162306a36Sopenharmony_ci help 19262306a36Sopenharmony_ci Turn on GPIO support for the expander on Raspberry Pi 3 boards, using 19362306a36Sopenharmony_ci the firmware mailbox to communicate with VideoCore on BCM283x chips. 19462306a36Sopenharmony_ci 19562306a36Sopenharmony_ciconfig GPIO_BCM_KONA 19662306a36Sopenharmony_ci bool "Broadcom Kona GPIO" 19762306a36Sopenharmony_ci depends on ARCH_BCM_MOBILE || COMPILE_TEST 19862306a36Sopenharmony_ci help 19962306a36Sopenharmony_ci Turn on GPIO support for Broadcom "Kona" chips. 20062306a36Sopenharmony_ci 20162306a36Sopenharmony_ciconfig GPIO_BCM_XGS_IPROC 20262306a36Sopenharmony_ci tristate "BRCM XGS iProc GPIO support" 20362306a36Sopenharmony_ci depends on OF_GPIO && (ARCH_BCM_IPROC || COMPILE_TEST) 20462306a36Sopenharmony_ci select GPIO_GENERIC 20562306a36Sopenharmony_ci select GPIOLIB_IRQCHIP 20662306a36Sopenharmony_ci default ARCH_BCM_IPROC 20762306a36Sopenharmony_ci help 20862306a36Sopenharmony_ci Say yes here to enable GPIO support for Broadcom XGS iProc SoCs. 20962306a36Sopenharmony_ci 21062306a36Sopenharmony_ciconfig GPIO_BRCMSTB 21162306a36Sopenharmony_ci tristate "BRCMSTB GPIO support" 21262306a36Sopenharmony_ci default y if (ARCH_BRCMSTB || BMIPS_GENERIC) 21362306a36Sopenharmony_ci depends on OF_GPIO && (ARCH_BRCMSTB || BMIPS_GENERIC || COMPILE_TEST) 21462306a36Sopenharmony_ci select GPIO_GENERIC 21562306a36Sopenharmony_ci select IRQ_DOMAIN 21662306a36Sopenharmony_ci help 21762306a36Sopenharmony_ci Say yes here to enable GPIO support for Broadcom STB (BCM7XXX) SoCs. 21862306a36Sopenharmony_ci 21962306a36Sopenharmony_ciconfig GPIO_CADENCE 22062306a36Sopenharmony_ci tristate "Cadence GPIO support" 22162306a36Sopenharmony_ci depends on OF_GPIO 22262306a36Sopenharmony_ci select GPIO_GENERIC 22362306a36Sopenharmony_ci select GPIOLIB_IRQCHIP 22462306a36Sopenharmony_ci help 22562306a36Sopenharmony_ci Say yes here to enable support for Cadence GPIO controller. 22662306a36Sopenharmony_ci 22762306a36Sopenharmony_ciconfig GPIO_CLPS711X 22862306a36Sopenharmony_ci tristate "CLPS711X GPIO support" 22962306a36Sopenharmony_ci depends on ARCH_CLPS711X || COMPILE_TEST 23062306a36Sopenharmony_ci select GPIO_GENERIC 23162306a36Sopenharmony_ci help 23262306a36Sopenharmony_ci Say yes here to support GPIO on CLPS711X SoCs. 23362306a36Sopenharmony_ci 23462306a36Sopenharmony_ciconfig GPIO_DAVINCI 23562306a36Sopenharmony_ci tristate "TI Davinci/Keystone GPIO support" 23662306a36Sopenharmony_ci default y if ARCH_DAVINCI 23762306a36Sopenharmony_ci depends on (ARM || ARM64) && (ARCH_DAVINCI || ARCH_KEYSTONE || ARCH_K3) 23862306a36Sopenharmony_ci help 23962306a36Sopenharmony_ci Say yes here to enable GPIO support for TI Davinci/Keystone SoCs. 24062306a36Sopenharmony_ci 24162306a36Sopenharmony_ciconfig GPIO_DWAPB 24262306a36Sopenharmony_ci tristate "Synopsys DesignWare APB GPIO driver" 24362306a36Sopenharmony_ci select GPIO_GENERIC 24462306a36Sopenharmony_ci select GPIOLIB_IRQCHIP 24562306a36Sopenharmony_ci help 24662306a36Sopenharmony_ci Say Y or M here to build support for the Synopsys DesignWare APB 24762306a36Sopenharmony_ci GPIO block. 24862306a36Sopenharmony_ci 24962306a36Sopenharmony_ciconfig GPIO_EIC_SPRD 25062306a36Sopenharmony_ci tristate "Spreadtrum EIC support" 25162306a36Sopenharmony_ci depends on ARCH_SPRD || COMPILE_TEST 25262306a36Sopenharmony_ci depends on OF_GPIO 25362306a36Sopenharmony_ci select GPIOLIB_IRQCHIP 25462306a36Sopenharmony_ci help 25562306a36Sopenharmony_ci Say yes here to support Spreadtrum EIC device. 25662306a36Sopenharmony_ci 25762306a36Sopenharmony_ciconfig GPIO_EM 25862306a36Sopenharmony_ci tristate "Emma Mobile GPIO" 25962306a36Sopenharmony_ci depends on (ARCH_EMEV2 || COMPILE_TEST) && OF_GPIO 26062306a36Sopenharmony_ci help 26162306a36Sopenharmony_ci Say yes here to support GPIO on Renesas Emma Mobile SoCs. 26262306a36Sopenharmony_ci 26362306a36Sopenharmony_ciconfig GPIO_EN7523 26462306a36Sopenharmony_ci tristate "Airoha GPIO support" 26562306a36Sopenharmony_ci depends on ARCH_AIROHA 26662306a36Sopenharmony_ci default ARCH_AIROHA 26762306a36Sopenharmony_ci select GPIO_GENERIC 26862306a36Sopenharmony_ci select GPIOLIB_IRQCHIP 26962306a36Sopenharmony_ci help 27062306a36Sopenharmony_ci Say Y or M here to support the GPIO controller block on the 27162306a36Sopenharmony_ci Airoha EN7523 SoC. It supports two banks of 32 GPIOs. 27262306a36Sopenharmony_ci 27362306a36Sopenharmony_ciconfig GPIO_EP93XX 27462306a36Sopenharmony_ci def_bool y 27562306a36Sopenharmony_ci depends on ARCH_EP93XX 27662306a36Sopenharmony_ci select GPIO_GENERIC 27762306a36Sopenharmony_ci select GPIOLIB_IRQCHIP 27862306a36Sopenharmony_ci 27962306a36Sopenharmony_ciconfig GPIO_EXAR 28062306a36Sopenharmony_ci tristate "Support for GPIO pins on XR17V352/354/358" 28162306a36Sopenharmony_ci depends on SERIAL_8250_EXAR 28262306a36Sopenharmony_ci select REGMAP_MMIO 28362306a36Sopenharmony_ci help 28462306a36Sopenharmony_ci Selecting this option will enable handling of GPIO pins present 28562306a36Sopenharmony_ci on Exar XR17V352/354/358 chips. 28662306a36Sopenharmony_ci 28762306a36Sopenharmony_ciconfig GPIO_GE_FPGA 28862306a36Sopenharmony_ci bool "GE FPGA based GPIO" 28962306a36Sopenharmony_ci depends on GE_FPGA || COMPILE_TEST 29062306a36Sopenharmony_ci select GPIO_GENERIC 29162306a36Sopenharmony_ci help 29262306a36Sopenharmony_ci Support for common GPIO functionality provided on some GE Single Board 29362306a36Sopenharmony_ci Computers. 29462306a36Sopenharmony_ci 29562306a36Sopenharmony_ci This driver provides basic support (configure as input or output, read 29662306a36Sopenharmony_ci and write pin state) for GPIO implemented in a number of GE single 29762306a36Sopenharmony_ci board computers. 29862306a36Sopenharmony_ci 29962306a36Sopenharmony_ciconfig GPIO_FTGPIO010 30062306a36Sopenharmony_ci bool "Faraday FTGPIO010 GPIO" 30162306a36Sopenharmony_ci depends on OF_GPIO 30262306a36Sopenharmony_ci select GPIO_GENERIC 30362306a36Sopenharmony_ci select GPIOLIB_IRQCHIP 30462306a36Sopenharmony_ci default (ARCH_GEMINI || ARCH_MOXART) 30562306a36Sopenharmony_ci help 30662306a36Sopenharmony_ci Support for common GPIOs from the Faraday FTGPIO010 IP core, found in 30762306a36Sopenharmony_ci Cortina systems Gemini platforms, Moxa ART and others. 30862306a36Sopenharmony_ci 30962306a36Sopenharmony_ciconfig GPIO_GENERIC_PLATFORM 31062306a36Sopenharmony_ci tristate "Generic memory-mapped GPIO controller support (MMIO platform device)" 31162306a36Sopenharmony_ci select GPIO_GENERIC 31262306a36Sopenharmony_ci help 31362306a36Sopenharmony_ci Say yes here to support basic platform_device memory-mapped GPIO controllers. 31462306a36Sopenharmony_ci 31562306a36Sopenharmony_ciconfig GPIO_GRGPIO 31662306a36Sopenharmony_ci tristate "Aeroflex Gaisler GRGPIO support" 31762306a36Sopenharmony_ci depends on OF_GPIO 31862306a36Sopenharmony_ci select GPIO_GENERIC 31962306a36Sopenharmony_ci select IRQ_DOMAIN 32062306a36Sopenharmony_ci help 32162306a36Sopenharmony_ci Select this to support Aeroflex Gaisler GRGPIO cores from the GRLIB 32262306a36Sopenharmony_ci VHDL IP core library. 32362306a36Sopenharmony_ci 32462306a36Sopenharmony_ciconfig GPIO_HISI 32562306a36Sopenharmony_ci tristate "HiSilicon GPIO controller driver" 32662306a36Sopenharmony_ci depends on ARM64 || COMPILE_TEST 32762306a36Sopenharmony_ci select GPIO_GENERIC 32862306a36Sopenharmony_ci select GPIOLIB_IRQCHIP 32962306a36Sopenharmony_ci help 33062306a36Sopenharmony_ci Say Y or M here to build support for the HiSilicon GPIO controller 33162306a36Sopenharmony_ci driver GPIO block. 33262306a36Sopenharmony_ci This GPIO controller supports double-edge interrupt and multi-core 33362306a36Sopenharmony_ci concurrent access. 33462306a36Sopenharmony_ci 33562306a36Sopenharmony_ciconfig GPIO_HLWD 33662306a36Sopenharmony_ci tristate "Nintendo Wii (Hollywood) GPIO" 33762306a36Sopenharmony_ci depends on OF_GPIO 33862306a36Sopenharmony_ci select GPIO_GENERIC 33962306a36Sopenharmony_ci select GPIOLIB_IRQCHIP 34062306a36Sopenharmony_ci help 34162306a36Sopenharmony_ci Select this to support the GPIO controller of the Nintendo Wii. 34262306a36Sopenharmony_ci 34362306a36Sopenharmony_ci If unsure, say N. 34462306a36Sopenharmony_ci 34562306a36Sopenharmony_ciconfig GPIO_ICH 34662306a36Sopenharmony_ci tristate "Intel ICH GPIO" 34762306a36Sopenharmony_ci depends on X86 34862306a36Sopenharmony_ci depends on LPC_ICH 34962306a36Sopenharmony_ci help 35062306a36Sopenharmony_ci Say yes here to support the GPIO functionality of a number of Intel 35162306a36Sopenharmony_ci ICH-based chipsets. Currently supported devices: ICH6, ICH7, ICH8 35262306a36Sopenharmony_ci ICH9, ICH10, Series 5/3400 (e.g. Ibex Peak), Series 6/C200 (e.g. 35362306a36Sopenharmony_ci Cougar Point), NM10 (Tiger Point), and 3100 (Whitmore Lake). 35462306a36Sopenharmony_ci 35562306a36Sopenharmony_ci If unsure, say N. 35662306a36Sopenharmony_ci 35762306a36Sopenharmony_ciconfig GPIO_IMX_SCU 35862306a36Sopenharmony_ci def_bool y 35962306a36Sopenharmony_ci depends on IMX_SCU 36062306a36Sopenharmony_ci 36162306a36Sopenharmony_ciconfig GPIO_IXP4XX 36262306a36Sopenharmony_ci bool "Intel IXP4xx GPIO" 36362306a36Sopenharmony_ci depends on ARCH_IXP4XX 36462306a36Sopenharmony_ci depends on OF 36562306a36Sopenharmony_ci select GPIO_GENERIC 36662306a36Sopenharmony_ci select GPIOLIB_IRQCHIP 36762306a36Sopenharmony_ci select IRQ_DOMAIN_HIERARCHY 36862306a36Sopenharmony_ci help 36962306a36Sopenharmony_ci Say yes here to support the GPIO functionality of a number of Intel 37062306a36Sopenharmony_ci IXP4xx series of chips. 37162306a36Sopenharmony_ci 37262306a36Sopenharmony_ci If unsure, say N. 37362306a36Sopenharmony_ci 37462306a36Sopenharmony_ciconfig GPIO_LOGICVC 37562306a36Sopenharmony_ci tristate "Xylon LogiCVC GPIO support" 37662306a36Sopenharmony_ci depends on MFD_SYSCON && OF 37762306a36Sopenharmony_ci help 37862306a36Sopenharmony_ci Say yes here to support GPIO functionality of the Xylon LogiCVC 37962306a36Sopenharmony_ci programmable logic block. 38062306a36Sopenharmony_ci 38162306a36Sopenharmony_ciconfig GPIO_LOONGSON 38262306a36Sopenharmony_ci bool "Loongson-2/3 GPIO support" 38362306a36Sopenharmony_ci depends on CPU_LOONGSON2EF || CPU_LOONGSON64 38462306a36Sopenharmony_ci help 38562306a36Sopenharmony_ci Driver for GPIO functionality on Loongson-2F/3A/3B processors. 38662306a36Sopenharmony_ci 38762306a36Sopenharmony_ciconfig GPIO_LOONGSON_64BIT 38862306a36Sopenharmony_ci tristate "Loongson 64 bit GPIO support" 38962306a36Sopenharmony_ci depends on LOONGARCH || COMPILE_TEST 39062306a36Sopenharmony_ci depends on OF_GPIO 39162306a36Sopenharmony_ci select GPIO_GENERIC 39262306a36Sopenharmony_ci help 39362306a36Sopenharmony_ci Say yes here to support the GPIO functionality of a number of 39462306a36Sopenharmony_ci Loongson series of chips. The Loongson GPIO controller supports 39562306a36Sopenharmony_ci up to 60 GPIOS in total, 4 of which are dedicated GPIO pins, and 39662306a36Sopenharmony_ci the remaining 56 are reused with other functions, with edge or 39762306a36Sopenharmony_ci level triggered interrupts. 39862306a36Sopenharmony_ci 39962306a36Sopenharmony_ciconfig GPIO_LPC18XX 40062306a36Sopenharmony_ci tristate "NXP LPC18XX/43XX GPIO support" 40162306a36Sopenharmony_ci default y if ARCH_LPC18XX 40262306a36Sopenharmony_ci depends on OF_GPIO && (ARCH_LPC18XX || COMPILE_TEST) 40362306a36Sopenharmony_ci select IRQ_DOMAIN_HIERARCHY 40462306a36Sopenharmony_ci help 40562306a36Sopenharmony_ci Select this option to enable GPIO driver for 40662306a36Sopenharmony_ci NXP LPC18XX/43XX devices. 40762306a36Sopenharmony_ci 40862306a36Sopenharmony_ciconfig GPIO_LPC32XX 40962306a36Sopenharmony_ci tristate "NXP LPC32XX GPIO support" 41062306a36Sopenharmony_ci depends on OF_GPIO && (ARCH_LPC32XX || COMPILE_TEST) 41162306a36Sopenharmony_ci help 41262306a36Sopenharmony_ci Select this option to enable GPIO driver for 41362306a36Sopenharmony_ci NXP LPC32XX devices. 41462306a36Sopenharmony_ci 41562306a36Sopenharmony_ciconfig GPIO_MB86S7X 41662306a36Sopenharmony_ci tristate "GPIO support for Fujitsu MB86S7x Platforms" 41762306a36Sopenharmony_ci help 41862306a36Sopenharmony_ci Say yes here to support the GPIO controller in Fujitsu MB86S70 SoCs. 41962306a36Sopenharmony_ci 42062306a36Sopenharmony_ciconfig GPIO_MENZ127 42162306a36Sopenharmony_ci tristate "MEN 16Z127 GPIO support" 42262306a36Sopenharmony_ci depends on MCB 42362306a36Sopenharmony_ci select GPIO_GENERIC 42462306a36Sopenharmony_ci help 42562306a36Sopenharmony_ci Say yes here to support the MEN 16Z127 GPIO Controller. 42662306a36Sopenharmony_ci 42762306a36Sopenharmony_ciconfig GPIO_MM_LANTIQ 42862306a36Sopenharmony_ci bool "Lantiq Memory mapped GPIOs" 42962306a36Sopenharmony_ci depends on LANTIQ && SOC_XWAY 43062306a36Sopenharmony_ci select OF_GPIO_MM_GPIOCHIP 43162306a36Sopenharmony_ci help 43262306a36Sopenharmony_ci This enables support for memory mapped GPIOs on the External Bus Unit 43362306a36Sopenharmony_ci (EBU) found on Lantiq SoCs. The GPIOs are output only as they are 43462306a36Sopenharmony_ci created by attaching a 16-bit latch to the bus. 43562306a36Sopenharmony_ci 43662306a36Sopenharmony_ciconfig GPIO_MPC5200 43762306a36Sopenharmony_ci def_bool y 43862306a36Sopenharmony_ci depends on PPC_MPC52xx 43962306a36Sopenharmony_ci select OF_GPIO_MM_GPIOCHIP 44062306a36Sopenharmony_ci 44162306a36Sopenharmony_ciconfig GPIO_MPC8XXX 44262306a36Sopenharmony_ci bool "MPC512x/MPC8xxx/QorIQ GPIO support" 44362306a36Sopenharmony_ci depends on PPC_MPC512x || PPC_MPC831x || PPC_MPC834x || PPC_MPC837x || \ 44462306a36Sopenharmony_ci FSL_SOC_BOOKE || PPC_86xx || ARCH_LAYERSCAPE || ARM || \ 44562306a36Sopenharmony_ci COMPILE_TEST 44662306a36Sopenharmony_ci select GPIO_GENERIC 44762306a36Sopenharmony_ci select IRQ_DOMAIN 44862306a36Sopenharmony_ci help 44962306a36Sopenharmony_ci Say Y here if you're going to use hardware that connects to the 45062306a36Sopenharmony_ci MPC512x/831x/834x/837x/8572/8610/QorIQ GPIOs. 45162306a36Sopenharmony_ci 45262306a36Sopenharmony_ciconfig GPIO_MT7621 45362306a36Sopenharmony_ci bool "Mediatek MT7621 GPIO Support" 45462306a36Sopenharmony_ci depends on SOC_MT7620 || SOC_MT7621 || COMPILE_TEST 45562306a36Sopenharmony_ci depends on OF_GPIO 45662306a36Sopenharmony_ci select GPIO_GENERIC 45762306a36Sopenharmony_ci select GPIOLIB_IRQCHIP 45862306a36Sopenharmony_ci help 45962306a36Sopenharmony_ci Say yes here to support the Mediatek MT7621 SoC GPIO device. 46062306a36Sopenharmony_ci 46162306a36Sopenharmony_ciconfig GPIO_MVEBU 46262306a36Sopenharmony_ci def_bool y 46362306a36Sopenharmony_ci depends on PLAT_ORION || ARCH_MVEBU 46462306a36Sopenharmony_ci depends on OF_GPIO 46562306a36Sopenharmony_ci select GENERIC_IRQ_CHIP 46662306a36Sopenharmony_ci select REGMAP_MMIO 46762306a36Sopenharmony_ci 46862306a36Sopenharmony_ciconfig GPIO_MXC 46962306a36Sopenharmony_ci tristate "i.MX GPIO support" 47062306a36Sopenharmony_ci depends on ARCH_MXC || COMPILE_TEST 47162306a36Sopenharmony_ci select GPIO_GENERIC 47262306a36Sopenharmony_ci select GENERIC_IRQ_CHIP 47362306a36Sopenharmony_ci 47462306a36Sopenharmony_ciconfig GPIO_MXS 47562306a36Sopenharmony_ci bool "Freescale MXS GPIO support" if COMPILE_TEST 47662306a36Sopenharmony_ci depends on ARCH_MXS || COMPILE_TEST 47762306a36Sopenharmony_ci default y if ARCH_MXS 47862306a36Sopenharmony_ci select GPIO_GENERIC 47962306a36Sopenharmony_ci select GENERIC_IRQ_CHIP 48062306a36Sopenharmony_ci 48162306a36Sopenharmony_ciconfig GPIO_OCTEON 48262306a36Sopenharmony_ci tristate "Cavium OCTEON GPIO" 48362306a36Sopenharmony_ci depends on CAVIUM_OCTEON_SOC 48462306a36Sopenharmony_ci default y 48562306a36Sopenharmony_ci help 48662306a36Sopenharmony_ci Say yes here to support the on-chip GPIO lines on the OCTEON 48762306a36Sopenharmony_ci family of SOCs. 48862306a36Sopenharmony_ci 48962306a36Sopenharmony_ciconfig GPIO_OMAP 49062306a36Sopenharmony_ci tristate "TI OMAP GPIO support" if ARCH_OMAP2PLUS || COMPILE_TEST 49162306a36Sopenharmony_ci default y if ARCH_OMAP 49262306a36Sopenharmony_ci depends on ARM 49362306a36Sopenharmony_ci select GENERIC_IRQ_CHIP 49462306a36Sopenharmony_ci select GPIOLIB_IRQCHIP 49562306a36Sopenharmony_ci help 49662306a36Sopenharmony_ci Say yes here to enable GPIO support for TI OMAP SoCs. 49762306a36Sopenharmony_ci 49862306a36Sopenharmony_ciconfig GPIO_PL061 49962306a36Sopenharmony_ci tristate "PrimeCell PL061 GPIO support" 50062306a36Sopenharmony_ci depends on ARM_AMBA 50162306a36Sopenharmony_ci select IRQ_DOMAIN 50262306a36Sopenharmony_ci select GPIOLIB_IRQCHIP 50362306a36Sopenharmony_ci help 50462306a36Sopenharmony_ci Say yes here to support the PrimeCell PL061 GPIO device. 50562306a36Sopenharmony_ci 50662306a36Sopenharmony_ciconfig GPIO_PXA 50762306a36Sopenharmony_ci bool "PXA GPIO support" 50862306a36Sopenharmony_ci depends on ARCH_PXA || ARCH_MMP || COMPILE_TEST 50962306a36Sopenharmony_ci help 51062306a36Sopenharmony_ci Say yes here to support the PXA GPIO device. 51162306a36Sopenharmony_ci 51262306a36Sopenharmony_ciconfig GPIO_RCAR 51362306a36Sopenharmony_ci tristate "Renesas R-Car and RZ/G GPIO support" 51462306a36Sopenharmony_ci depends on ARCH_RENESAS || COMPILE_TEST 51562306a36Sopenharmony_ci select GPIOLIB_IRQCHIP 51662306a36Sopenharmony_ci help 51762306a36Sopenharmony_ci Say yes here to support GPIO on Renesas R-Car or RZ/G SoCs. 51862306a36Sopenharmony_ci 51962306a36Sopenharmony_ciconfig GPIO_RDA 52062306a36Sopenharmony_ci bool "RDA Micro GPIO controller support" 52162306a36Sopenharmony_ci depends on ARCH_RDA || COMPILE_TEST 52262306a36Sopenharmony_ci depends on OF_GPIO 52362306a36Sopenharmony_ci select GPIO_GENERIC 52462306a36Sopenharmony_ci select GPIOLIB_IRQCHIP 52562306a36Sopenharmony_ci help 52662306a36Sopenharmony_ci Say Y here to support RDA Micro GPIO controller. 52762306a36Sopenharmony_ci 52862306a36Sopenharmony_ciconfig GPIO_REALTEK_OTTO 52962306a36Sopenharmony_ci tristate "Realtek Otto GPIO support" 53062306a36Sopenharmony_ci depends on MACH_REALTEK_RTL 53162306a36Sopenharmony_ci default MACH_REALTEK_RTL 53262306a36Sopenharmony_ci select GPIO_GENERIC 53362306a36Sopenharmony_ci select GPIOLIB_IRQCHIP 53462306a36Sopenharmony_ci help 53562306a36Sopenharmony_ci The GPIO controller on the Otto MIPS platform supports up to two 53662306a36Sopenharmony_ci banks of 32 GPIOs, with edge triggered interrupts. The 32 GPIOs 53762306a36Sopenharmony_ci are grouped in four 8-bit wide ports. 53862306a36Sopenharmony_ci 53962306a36Sopenharmony_ci When built as a module, the module will be called realtek_otto_gpio. 54062306a36Sopenharmony_ci 54162306a36Sopenharmony_ciconfig GPIO_REG 54262306a36Sopenharmony_ci bool 54362306a36Sopenharmony_ci help 54462306a36Sopenharmony_ci A 32-bit single register GPIO fixed in/out implementation. This 54562306a36Sopenharmony_ci can be used to represent any register as a set of GPIO signals. 54662306a36Sopenharmony_ci 54762306a36Sopenharmony_ciconfig GPIO_ROCKCHIP 54862306a36Sopenharmony_ci tristate "Rockchip GPIO support" 54962306a36Sopenharmony_ci depends on ARCH_ROCKCHIP || COMPILE_TEST 55062306a36Sopenharmony_ci select GENERIC_IRQ_CHIP 55162306a36Sopenharmony_ci select GPIOLIB_IRQCHIP 55262306a36Sopenharmony_ci default ARCH_ROCKCHIP 55362306a36Sopenharmony_ci help 55462306a36Sopenharmony_ci Say yes here to support GPIO on Rockchip SoCs. 55562306a36Sopenharmony_ci 55662306a36Sopenharmony_ciconfig GPIO_SAMA5D2_PIOBU 55762306a36Sopenharmony_ci tristate "SAMA5D2 PIOBU GPIO support" 55862306a36Sopenharmony_ci depends on MFD_SYSCON 55962306a36Sopenharmony_ci depends on OF_GPIO 56062306a36Sopenharmony_ci depends on ARCH_AT91 || COMPILE_TEST 56162306a36Sopenharmony_ci select GPIO_SYSCON 56262306a36Sopenharmony_ci help 56362306a36Sopenharmony_ci Say yes here to use the PIOBU pins as GPIOs. 56462306a36Sopenharmony_ci 56562306a36Sopenharmony_ci PIOBU pins on the SAMA5D2 can be used as GPIOs. 56662306a36Sopenharmony_ci The difference from regular GPIOs is that they 56762306a36Sopenharmony_ci maintain their value during backup/self-refresh. 56862306a36Sopenharmony_ci 56962306a36Sopenharmony_ciconfig GPIO_SIFIVE 57062306a36Sopenharmony_ci tristate "SiFive GPIO support" 57162306a36Sopenharmony_ci depends on OF_GPIO 57262306a36Sopenharmony_ci select IRQ_DOMAIN_HIERARCHY 57362306a36Sopenharmony_ci select GPIO_GENERIC 57462306a36Sopenharmony_ci select GPIOLIB_IRQCHIP 57562306a36Sopenharmony_ci select REGMAP_MMIO 57662306a36Sopenharmony_ci help 57762306a36Sopenharmony_ci Say yes here to support the GPIO device on SiFive SoCs. 57862306a36Sopenharmony_ci 57962306a36Sopenharmony_ciconfig GPIO_SIOX 58062306a36Sopenharmony_ci tristate "SIOX GPIO support" 58162306a36Sopenharmony_ci depends on SIOX 58262306a36Sopenharmony_ci select GPIOLIB_IRQCHIP 58362306a36Sopenharmony_ci help 58462306a36Sopenharmony_ci Say yes here to support SIOX I/O devices. These are units connected 58562306a36Sopenharmony_ci via a SIOX bus and have a number of fixed-direction I/O lines. 58662306a36Sopenharmony_ci 58762306a36Sopenharmony_ciconfig GPIO_SNPS_CREG 58862306a36Sopenharmony_ci bool "Synopsys GPIO via CREG (Control REGisters) driver" 58962306a36Sopenharmony_ci depends on ARC || COMPILE_TEST 59062306a36Sopenharmony_ci depends on OF_GPIO 59162306a36Sopenharmony_ci help 59262306a36Sopenharmony_ci This driver supports GPIOs via CREG on various Synopsys SoCs. 59362306a36Sopenharmony_ci This is a single-register MMIO GPIO driver for complex cases 59462306a36Sopenharmony_ci where only several fields in register belong to GPIO lines and 59562306a36Sopenharmony_ci each GPIO line owns a field with different length and on/off value. 59662306a36Sopenharmony_ci 59762306a36Sopenharmony_ciconfig GPIO_SPEAR_SPICS 59862306a36Sopenharmony_ci bool "ST SPEAr13xx SPI Chip Select as GPIO support" 59962306a36Sopenharmony_ci depends on PLAT_SPEAR 60062306a36Sopenharmony_ci select GENERIC_IRQ_CHIP 60162306a36Sopenharmony_ci help 60262306a36Sopenharmony_ci Say yes here to support ST SPEAr SPI Chip Select as GPIO device. 60362306a36Sopenharmony_ci 60462306a36Sopenharmony_ciconfig GPIO_SPRD 60562306a36Sopenharmony_ci tristate "Spreadtrum GPIO support" 60662306a36Sopenharmony_ci depends on ARCH_SPRD || COMPILE_TEST 60762306a36Sopenharmony_ci depends on OF_GPIO 60862306a36Sopenharmony_ci select GPIOLIB_IRQCHIP 60962306a36Sopenharmony_ci help 61062306a36Sopenharmony_ci Say yes here to support Spreadtrum GPIO device. 61162306a36Sopenharmony_ci 61262306a36Sopenharmony_ciconfig GPIO_STP_XWAY 61362306a36Sopenharmony_ci bool "XWAY STP GPIOs" 61462306a36Sopenharmony_ci depends on SOC_XWAY || COMPILE_TEST 61562306a36Sopenharmony_ci depends on OF_GPIO 61662306a36Sopenharmony_ci help 61762306a36Sopenharmony_ci This enables support for the Serial To Parallel (STP) unit found on 61862306a36Sopenharmony_ci XWAY SoC. The STP allows the SoC to drive a shift registers cascade, 61962306a36Sopenharmony_ci that can be up to 24 bits. This peripheral is aimed at driving LEDs. 62062306a36Sopenharmony_ci Some of the GPIOs/LEDs can be auto updated by the SoC with DSL and 62162306a36Sopenharmony_ci phy status. 62262306a36Sopenharmony_ci 62362306a36Sopenharmony_ciconfig GPIO_SYSCON 62462306a36Sopenharmony_ci tristate "GPIO based on SYSCON" 62562306a36Sopenharmony_ci depends on MFD_SYSCON && OF 62662306a36Sopenharmony_ci help 62762306a36Sopenharmony_ci Say yes here to support GPIO functionality though SYSCON driver. 62862306a36Sopenharmony_ci 62962306a36Sopenharmony_ciconfig GPIO_TANGIER 63062306a36Sopenharmony_ci tristate 63162306a36Sopenharmony_ci select GPIOLIB_IRQCHIP 63262306a36Sopenharmony_ci help 63362306a36Sopenharmony_ci GPIO support for Intel Tangier and compatible platforms. 63462306a36Sopenharmony_ci Currently supported: 63562306a36Sopenharmony_ci - Elkhart Lake 63662306a36Sopenharmony_ci - Merrifield 63762306a36Sopenharmony_ci 63862306a36Sopenharmony_ci If built as a module its name will be gpio-tangier. 63962306a36Sopenharmony_ci 64062306a36Sopenharmony_ciconfig GPIO_TB10X 64162306a36Sopenharmony_ci bool 64262306a36Sopenharmony_ci select GPIO_GENERIC 64362306a36Sopenharmony_ci select GENERIC_IRQ_CHIP 64462306a36Sopenharmony_ci select OF_GPIO 64562306a36Sopenharmony_ci 64662306a36Sopenharmony_ciconfig GPIO_TEGRA 64762306a36Sopenharmony_ci tristate "NVIDIA Tegra GPIO support" 64862306a36Sopenharmony_ci default ARCH_TEGRA 64962306a36Sopenharmony_ci depends on ARCH_TEGRA || COMPILE_TEST 65062306a36Sopenharmony_ci depends on OF_GPIO 65162306a36Sopenharmony_ci select GPIOLIB_IRQCHIP 65262306a36Sopenharmony_ci select IRQ_DOMAIN_HIERARCHY 65362306a36Sopenharmony_ci help 65462306a36Sopenharmony_ci Say yes here to support GPIO pins on NVIDIA Tegra SoCs. 65562306a36Sopenharmony_ci 65662306a36Sopenharmony_ciconfig GPIO_TEGRA186 65762306a36Sopenharmony_ci tristate "NVIDIA Tegra186 GPIO support" 65862306a36Sopenharmony_ci default ARCH_TEGRA_186_SOC || ARCH_TEGRA_194_SOC 65962306a36Sopenharmony_ci depends on ARCH_TEGRA_186_SOC || ARCH_TEGRA_194_SOC || COMPILE_TEST 66062306a36Sopenharmony_ci depends on OF_GPIO 66162306a36Sopenharmony_ci select GPIOLIB_IRQCHIP 66262306a36Sopenharmony_ci select IRQ_DOMAIN_HIERARCHY 66362306a36Sopenharmony_ci help 66462306a36Sopenharmony_ci Say yes here to support GPIO pins on NVIDIA Tegra186 SoCs. 66562306a36Sopenharmony_ci 66662306a36Sopenharmony_ciconfig GPIO_TS4800 66762306a36Sopenharmony_ci tristate "TS-4800 DIO blocks and compatibles" 66862306a36Sopenharmony_ci depends on OF_GPIO 66962306a36Sopenharmony_ci depends on SOC_IMX51 || COMPILE_TEST 67062306a36Sopenharmony_ci select GPIO_GENERIC 67162306a36Sopenharmony_ci help 67262306a36Sopenharmony_ci This driver support TS-4800 FPGA GPIO controllers. 67362306a36Sopenharmony_ci 67462306a36Sopenharmony_ciconfig GPIO_THUNDERX 67562306a36Sopenharmony_ci tristate "Cavium ThunderX/OCTEON-TX GPIO" 67662306a36Sopenharmony_ci depends on ARCH_THUNDER || (64BIT && COMPILE_TEST) 67762306a36Sopenharmony_ci depends on PCI_MSI 67862306a36Sopenharmony_ci select GPIOLIB_IRQCHIP 67962306a36Sopenharmony_ci select IRQ_DOMAIN_HIERARCHY 68062306a36Sopenharmony_ci select IRQ_FASTEOI_HIERARCHY_HANDLERS 68162306a36Sopenharmony_ci help 68262306a36Sopenharmony_ci Say yes here to support the on-chip GPIO lines on the ThunderX 68362306a36Sopenharmony_ci and OCTEON-TX families of SoCs. 68462306a36Sopenharmony_ci 68562306a36Sopenharmony_ciconfig GPIO_UNIPHIER 68662306a36Sopenharmony_ci tristate "UniPhier GPIO support" 68762306a36Sopenharmony_ci depends on ARCH_UNIPHIER || COMPILE_TEST 68862306a36Sopenharmony_ci depends on OF_GPIO 68962306a36Sopenharmony_ci select IRQ_DOMAIN_HIERARCHY 69062306a36Sopenharmony_ci help 69162306a36Sopenharmony_ci Say yes here to support UniPhier GPIOs. 69262306a36Sopenharmony_ci 69362306a36Sopenharmony_ciconfig GPIO_VF610 69462306a36Sopenharmony_ci bool "VF610 GPIO support" 69562306a36Sopenharmony_ci default y if SOC_VF610 69662306a36Sopenharmony_ci depends on ARCH_MXC 69762306a36Sopenharmony_ci select GPIOLIB_IRQCHIP 69862306a36Sopenharmony_ci help 69962306a36Sopenharmony_ci Say yes here to support i.MX or Vybrid vf610 GPIOs. 70062306a36Sopenharmony_ci 70162306a36Sopenharmony_ciconfig GPIO_VISCONTI 70262306a36Sopenharmony_ci tristate "Toshiba Visconti GPIO support" 70362306a36Sopenharmony_ci depends on ARCH_VISCONTI || COMPILE_TEST 70462306a36Sopenharmony_ci depends on OF_GPIO 70562306a36Sopenharmony_ci select GPIOLIB_IRQCHIP 70662306a36Sopenharmony_ci select GPIO_GENERIC 70762306a36Sopenharmony_ci select IRQ_DOMAIN_HIERARCHY 70862306a36Sopenharmony_ci help 70962306a36Sopenharmony_ci Say yes here to support GPIO on Tohisba Visconti. 71062306a36Sopenharmony_ci 71162306a36Sopenharmony_ciconfig GPIO_WCD934X 71262306a36Sopenharmony_ci tristate "Qualcomm Technologies Inc WCD9340/WCD9341 GPIO controller driver" 71362306a36Sopenharmony_ci depends on MFD_WCD934X && OF_GPIO 71462306a36Sopenharmony_ci help 71562306a36Sopenharmony_ci This driver is to support GPIO block found on the Qualcomm Technologies 71662306a36Sopenharmony_ci Inc WCD9340/WCD9341 Audio Codec. 71762306a36Sopenharmony_ci 71862306a36Sopenharmony_ciconfig GPIO_XGENE 71962306a36Sopenharmony_ci bool "APM X-Gene GPIO controller support" 72062306a36Sopenharmony_ci depends on ARM64 && OF_GPIO 72162306a36Sopenharmony_ci help 72262306a36Sopenharmony_ci This driver is to support the GPIO block within the APM X-Gene SoC 72362306a36Sopenharmony_ci platform's generic flash controller. The GPIO pins are muxed with 72462306a36Sopenharmony_ci the generic flash controller's address and data pins. Say yes 72562306a36Sopenharmony_ci here to enable the GFC GPIO functionality. 72662306a36Sopenharmony_ci 72762306a36Sopenharmony_ciconfig GPIO_XGENE_SB 72862306a36Sopenharmony_ci tristate "APM X-Gene GPIO standby controller support" 72962306a36Sopenharmony_ci depends on (ARCH_XGENE || COMPILE_TEST) 73062306a36Sopenharmony_ci select GPIO_GENERIC 73162306a36Sopenharmony_ci select GPIOLIB_IRQCHIP 73262306a36Sopenharmony_ci select IRQ_DOMAIN_HIERARCHY 73362306a36Sopenharmony_ci help 73462306a36Sopenharmony_ci This driver supports the GPIO block within the APM X-Gene 73562306a36Sopenharmony_ci Standby Domain. Say yes here to enable the GPIO functionality. 73662306a36Sopenharmony_ci 73762306a36Sopenharmony_ciconfig GPIO_XILINX 73862306a36Sopenharmony_ci tristate "Xilinx GPIO support" 73962306a36Sopenharmony_ci select GPIOLIB_IRQCHIP 74062306a36Sopenharmony_ci depends on OF_GPIO 74162306a36Sopenharmony_ci help 74262306a36Sopenharmony_ci Say yes here to support the Xilinx FPGA GPIO device. 74362306a36Sopenharmony_ci 74462306a36Sopenharmony_ciconfig GPIO_XLP 74562306a36Sopenharmony_ci tristate "Cavium ThunderX2 GPIO support" 74662306a36Sopenharmony_ci depends on ARCH_THUNDER2 || COMPILE_TEST 74762306a36Sopenharmony_ci select GPIOLIB_IRQCHIP 74862306a36Sopenharmony_ci help 74962306a36Sopenharmony_ci This driver provides support for GPIO interface on Cavium's ThunderX2 75062306a36Sopenharmony_ci CN99XX SoCs (Originally from Netlogic XLP). 75162306a36Sopenharmony_ci 75262306a36Sopenharmony_ci If unsure, say N. 75362306a36Sopenharmony_ci 75462306a36Sopenharmony_ciconfig GPIO_XTENSA 75562306a36Sopenharmony_ci bool "Xtensa GPIO32 support" 75662306a36Sopenharmony_ci depends on XTENSA 75762306a36Sopenharmony_ci depends on HAVE_XTENSA_GPIO32 75862306a36Sopenharmony_ci depends on !SMP 75962306a36Sopenharmony_ci help 76062306a36Sopenharmony_ci Say yes here to support the Xtensa internal GPIO32 IMPWIRE (input) 76162306a36Sopenharmony_ci and EXPSTATE (output) ports. 76262306a36Sopenharmony_ci 76362306a36Sopenharmony_ciconfig GPIO_ZEVIO 76462306a36Sopenharmony_ci bool "LSI ZEVIO SoC memory mapped GPIOs" 76562306a36Sopenharmony_ci depends on ARM 76662306a36Sopenharmony_ci help 76762306a36Sopenharmony_ci Say yes here to support the GPIO controller in LSI ZEVIO SoCs. 76862306a36Sopenharmony_ci 76962306a36Sopenharmony_ciconfig GPIO_ZYNQ 77062306a36Sopenharmony_ci tristate "Xilinx Zynq GPIO support" 77162306a36Sopenharmony_ci depends on ARCH_ZYNQ || ARCH_ZYNQMP 77262306a36Sopenharmony_ci select GPIOLIB_IRQCHIP 77362306a36Sopenharmony_ci help 77462306a36Sopenharmony_ci Say yes here to support Xilinx Zynq GPIO controller. 77562306a36Sopenharmony_ci 77662306a36Sopenharmony_ciconfig GPIO_ZYNQMP_MODEPIN 77762306a36Sopenharmony_ci tristate "ZynqMP ps-mode pin GPIO configuration driver" 77862306a36Sopenharmony_ci depends on ZYNQMP_FIRMWARE 77962306a36Sopenharmony_ci default ZYNQMP_FIRMWARE 78062306a36Sopenharmony_ci help 78162306a36Sopenharmony_ci Say yes here to support the ZynqMP ps-mode pin GPIO configuration 78262306a36Sopenharmony_ci driver. 78362306a36Sopenharmony_ci 78462306a36Sopenharmony_ci This ps-mode pin GPIO driver is based on GPIO framework. PS_MODE 78562306a36Sopenharmony_ci is 4-bits boot mode pins. It sets and gets the status of 78662306a36Sopenharmony_ci the ps-mode pin. Every pin can be configured as input/output. 78762306a36Sopenharmony_ci 78862306a36Sopenharmony_ciconfig GPIO_LOONGSON1 78962306a36Sopenharmony_ci tristate "Loongson1 GPIO support" 79062306a36Sopenharmony_ci depends on MACH_LOONGSON32 79162306a36Sopenharmony_ci select GPIO_GENERIC 79262306a36Sopenharmony_ci help 79362306a36Sopenharmony_ci Say Y or M here to support GPIO on Loongson1 SoCs. 79462306a36Sopenharmony_ci 79562306a36Sopenharmony_ciconfig GPIO_AMD_FCH 79662306a36Sopenharmony_ci tristate "GPIO support for AMD Fusion Controller Hub (G-series SOCs)" 79762306a36Sopenharmony_ci help 79862306a36Sopenharmony_ci This option enables driver for GPIO on AMD's Fusion Controller Hub, 79962306a36Sopenharmony_ci as found on G-series SOCs (e.g. GX-412TC). 80062306a36Sopenharmony_ci 80162306a36Sopenharmony_ci Note: This driver doesn't register itself automatically, as it 80262306a36Sopenharmony_ci needs to be provided with platform-specific configuration. 80362306a36Sopenharmony_ci (See e.g. CONFIG_PCENGINES_APU2.) 80462306a36Sopenharmony_ci 80562306a36Sopenharmony_ciconfig GPIO_MSC313 80662306a36Sopenharmony_ci bool "MStar MSC313 GPIO support" 80762306a36Sopenharmony_ci depends on ARCH_MSTARV7 80862306a36Sopenharmony_ci default ARCH_MSTARV7 80962306a36Sopenharmony_ci select GPIOLIB_IRQCHIP 81062306a36Sopenharmony_ci select IRQ_DOMAIN_HIERARCHY 81162306a36Sopenharmony_ci help 81262306a36Sopenharmony_ci Say Y here to support the main GPIO block on MStar/SigmaStar 81362306a36Sopenharmony_ci ARMv7-based SoCs. 81462306a36Sopenharmony_ci 81562306a36Sopenharmony_ciconfig GPIO_IDT3243X 81662306a36Sopenharmony_ci tristate "IDT 79RC3243X GPIO support" 81762306a36Sopenharmony_ci depends on MIKROTIK_RB532 || COMPILE_TEST 81862306a36Sopenharmony_ci select GPIO_GENERIC 81962306a36Sopenharmony_ci select GPIOLIB_IRQCHIP 82062306a36Sopenharmony_ci help 82162306a36Sopenharmony_ci Select this option to enable GPIO driver for 82262306a36Sopenharmony_ci IDT 79RC3243X-based devices like Mikrotik RB532. 82362306a36Sopenharmony_ci 82462306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module will 82562306a36Sopenharmony_ci be called gpio-idt3243x. 82662306a36Sopenharmony_ci 82762306a36Sopenharmony_ciendmenu 82862306a36Sopenharmony_ci 82962306a36Sopenharmony_cimenu "Port-mapped I/O GPIO drivers" 83062306a36Sopenharmony_ci depends on X86 && HAS_IOPORT # I/O space access 83162306a36Sopenharmony_ci 83262306a36Sopenharmony_ciconfig GPIO_VX855 83362306a36Sopenharmony_ci tristate "VIA VX855/VX875 GPIO" 83462306a36Sopenharmony_ci depends on PCI 83562306a36Sopenharmony_ci select MFD_CORE 83662306a36Sopenharmony_ci select MFD_VX855 83762306a36Sopenharmony_ci help 83862306a36Sopenharmony_ci Support access to the VX855/VX875 GPIO lines through the GPIO library. 83962306a36Sopenharmony_ci 84062306a36Sopenharmony_ci This driver provides common support for accessing the device. 84162306a36Sopenharmony_ci Additional drivers must be enabled in order to use the 84262306a36Sopenharmony_ci functionality of the device. 84362306a36Sopenharmony_ci 84462306a36Sopenharmony_ciconfig GPIO_I8255 84562306a36Sopenharmony_ci tristate 84662306a36Sopenharmony_ci select GPIO_REGMAP 84762306a36Sopenharmony_ci help 84862306a36Sopenharmony_ci Enables support for the i8255 interface library functions. The i8255 84962306a36Sopenharmony_ci interface library provides functions to facilitate communication with 85062306a36Sopenharmony_ci interfaces compatible with the venerable Intel 8255 Programmable 85162306a36Sopenharmony_ci Peripheral Interface (PPI). The Intel 8255 PPI chip was first released 85262306a36Sopenharmony_ci in the early 1970s but compatible interfaces are nowadays typically 85362306a36Sopenharmony_ci found embedded in larger VLSI processing chips and FPGA components. 85462306a36Sopenharmony_ci 85562306a36Sopenharmony_ci If built as a module its name will be gpio-i8255. 85662306a36Sopenharmony_ci 85762306a36Sopenharmony_ciconfig GPIO_104_DIO_48E 85862306a36Sopenharmony_ci tristate "ACCES 104-DIO-48E GPIO support" 85962306a36Sopenharmony_ci depends on PC104 86062306a36Sopenharmony_ci select ISA_BUS_API 86162306a36Sopenharmony_ci select REGMAP_MMIO 86262306a36Sopenharmony_ci select REGMAP_IRQ 86362306a36Sopenharmony_ci select GPIOLIB_IRQCHIP 86462306a36Sopenharmony_ci select GPIO_I8255 86562306a36Sopenharmony_ci select I8254 86662306a36Sopenharmony_ci help 86762306a36Sopenharmony_ci Enables GPIO support for the ACCES 104-DIO-48E series (104-DIO-48E, 86862306a36Sopenharmony_ci 104-DIO-24E). The base port addresses for the devices may be 86962306a36Sopenharmony_ci configured via the base module parameter. The interrupt line numbers 87062306a36Sopenharmony_ci for the devices may be configured via the irq module parameter. 87162306a36Sopenharmony_ci 87262306a36Sopenharmony_ciconfig GPIO_104_IDIO_16 87362306a36Sopenharmony_ci tristate "ACCES 104-IDIO-16 GPIO support" 87462306a36Sopenharmony_ci depends on PC104 87562306a36Sopenharmony_ci select ISA_BUS_API 87662306a36Sopenharmony_ci select REGMAP_MMIO 87762306a36Sopenharmony_ci select GPIO_IDIO_16 87862306a36Sopenharmony_ci help 87962306a36Sopenharmony_ci Enables GPIO support for the ACCES 104-IDIO-16 family (104-IDIO-16, 88062306a36Sopenharmony_ci 104-IDIO-16E, 104-IDO-16, 104-IDIO-8, 104-IDIO-8E, 104-IDO-8). The 88162306a36Sopenharmony_ci base port addresses for the devices may be configured via the base 88262306a36Sopenharmony_ci module parameter. The interrupt line numbers for the devices may be 88362306a36Sopenharmony_ci configured via the irq module parameter. 88462306a36Sopenharmony_ci 88562306a36Sopenharmony_ciconfig GPIO_104_IDI_48 88662306a36Sopenharmony_ci tristate "ACCES 104-IDI-48 GPIO support" 88762306a36Sopenharmony_ci depends on PC104 88862306a36Sopenharmony_ci select ISA_BUS_API 88962306a36Sopenharmony_ci select REGMAP_MMIO 89062306a36Sopenharmony_ci select REGMAP_IRQ 89162306a36Sopenharmony_ci select GPIOLIB_IRQCHIP 89262306a36Sopenharmony_ci select GPIO_REGMAP 89362306a36Sopenharmony_ci help 89462306a36Sopenharmony_ci Enables GPIO support for the ACCES 104-IDI-48 family (104-IDI-48A, 89562306a36Sopenharmony_ci 104-IDI-48AC, 104-IDI-48B, 104-IDI-48BC). The base port addresses for 89662306a36Sopenharmony_ci the devices may be configured via the base module parameter. The 89762306a36Sopenharmony_ci interrupt line numbers for the devices may be configured via the irq 89862306a36Sopenharmony_ci module parameter. 89962306a36Sopenharmony_ci 90062306a36Sopenharmony_ciconfig GPIO_F7188X 90162306a36Sopenharmony_ci tristate "Fintek and Nuvoton Super-I/O GPIO support" 90262306a36Sopenharmony_ci help 90362306a36Sopenharmony_ci This option enables support for GPIOs found on Fintek Super-I/O 90462306a36Sopenharmony_ci chips F71869, F71869A, F71882FG, F71889F and F81866. 90562306a36Sopenharmony_ci As well as Nuvoton Super-I/O chip NCT6126D. 90662306a36Sopenharmony_ci 90762306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module will 90862306a36Sopenharmony_ci be called f7188x-gpio. 90962306a36Sopenharmony_ci 91062306a36Sopenharmony_ciconfig GPIO_GPIO_MM 91162306a36Sopenharmony_ci tristate "Diamond Systems GPIO-MM GPIO support" 91262306a36Sopenharmony_ci depends on PC104 91362306a36Sopenharmony_ci select ISA_BUS_API 91462306a36Sopenharmony_ci select REGMAP_MMIO 91562306a36Sopenharmony_ci select GPIO_I8255 91662306a36Sopenharmony_ci help 91762306a36Sopenharmony_ci Enables GPIO support for the Diamond Systems GPIO-MM and GPIO-MM-12. 91862306a36Sopenharmony_ci 91962306a36Sopenharmony_ci The Diamond Systems GPIO-MM device features 48 lines of digital I/O 92062306a36Sopenharmony_ci via the emulation of dual 82C55A PPI chips. This driver provides GPIO 92162306a36Sopenharmony_ci support for these 48 channels of digital I/O. 92262306a36Sopenharmony_ci 92362306a36Sopenharmony_ci The base port addresses for the devices may be configured via the base 92462306a36Sopenharmony_ci array module parameter. 92562306a36Sopenharmony_ci 92662306a36Sopenharmony_ciconfig GPIO_IT87 92762306a36Sopenharmony_ci tristate "IT87xx GPIO support" 92862306a36Sopenharmony_ci help 92962306a36Sopenharmony_ci Say yes here to support GPIO functionality of IT87xx Super I/O chips. 93062306a36Sopenharmony_ci 93162306a36Sopenharmony_ci This driver is tested with ITE IT8728 and IT8732 Super I/O chips, and 93262306a36Sopenharmony_ci supports the IT8761E, IT8613, IT8620E, and IT8628E Super I/O chips as 93362306a36Sopenharmony_ci well. 93462306a36Sopenharmony_ci 93562306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module will 93662306a36Sopenharmony_ci be called gpio_it87. 93762306a36Sopenharmony_ci 93862306a36Sopenharmony_ciconfig GPIO_SCH 93962306a36Sopenharmony_ci tristate "Intel SCH/TunnelCreek/Centerton/Quark X1000 GPIO" 94062306a36Sopenharmony_ci depends on (X86 || COMPILE_TEST) && ACPI 94162306a36Sopenharmony_ci depends on LPC_SCH 94262306a36Sopenharmony_ci select GPIOLIB_IRQCHIP 94362306a36Sopenharmony_ci help 94462306a36Sopenharmony_ci Say yes here to support GPIO interface on Intel Poulsbo SCH, 94562306a36Sopenharmony_ci Intel Tunnel Creek processor, Intel Centerton processor or 94662306a36Sopenharmony_ci Intel Quark X1000 SoC. 94762306a36Sopenharmony_ci 94862306a36Sopenharmony_ci The Intel SCH contains a total of 14 GPIO pins. Ten GPIOs are 94962306a36Sopenharmony_ci powered by the core power rail and are turned off during sleep 95062306a36Sopenharmony_ci modes (S3 and higher). The remaining four GPIOs are powered by 95162306a36Sopenharmony_ci the Intel SCH suspend power supply. These GPIOs remain 95262306a36Sopenharmony_ci active during S3. The suspend-powered GPIOs can be used to wake the 95362306a36Sopenharmony_ci system from the Suspend-to-RAM state. 95462306a36Sopenharmony_ci 95562306a36Sopenharmony_ci The Intel Tunnel Creek processor has 5 GPIOs powered by the 95662306a36Sopenharmony_ci core power rail and 9 from suspend power supply. 95762306a36Sopenharmony_ci 95862306a36Sopenharmony_ci The Intel Centerton processor has a total of 30 GPIO pins. 95962306a36Sopenharmony_ci Twenty-one are powered by the core power rail and 9 from the 96062306a36Sopenharmony_ci suspend power supply. 96162306a36Sopenharmony_ci 96262306a36Sopenharmony_ci The Intel Quark X1000 SoC has 2 GPIOs powered by the core 96362306a36Sopenharmony_ci power well and 6 from the suspend power well. 96462306a36Sopenharmony_ci 96562306a36Sopenharmony_ciconfig GPIO_SCH311X 96662306a36Sopenharmony_ci tristate "SMSC SCH311x SuperI/O GPIO" 96762306a36Sopenharmony_ci help 96862306a36Sopenharmony_ci Driver to enable the GPIOs found on SMSC SMSC SCH3112, SCH3114 and 96962306a36Sopenharmony_ci SCH3116 "Super I/O" chipsets. 97062306a36Sopenharmony_ci 97162306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module will 97262306a36Sopenharmony_ci be called gpio-sch311x. 97362306a36Sopenharmony_ci 97462306a36Sopenharmony_ciconfig GPIO_TS5500 97562306a36Sopenharmony_ci tristate "TS-5500 DIO blocks and compatibles" 97662306a36Sopenharmony_ci depends on TS5500 || COMPILE_TEST 97762306a36Sopenharmony_ci help 97862306a36Sopenharmony_ci This driver supports Digital I/O exposed by pin blocks found on some 97962306a36Sopenharmony_ci Technologic Systems platforms. It includes, but is not limited to, 3 98062306a36Sopenharmony_ci blocks of the TS-5500: DIO1, DIO2 and the LCD port, and the TS-5600 98162306a36Sopenharmony_ci LCD port. 98262306a36Sopenharmony_ci 98362306a36Sopenharmony_ciconfig GPIO_WINBOND 98462306a36Sopenharmony_ci tristate "Winbond Super I/O GPIO support" 98562306a36Sopenharmony_ci select ISA_BUS_API 98662306a36Sopenharmony_ci help 98762306a36Sopenharmony_ci This option enables support for GPIOs found on Winbond Super I/O 98862306a36Sopenharmony_ci chips. 98962306a36Sopenharmony_ci Currently, only W83627UHG (also known as Nuvoton NCT6627UD) is 99062306a36Sopenharmony_ci supported. 99162306a36Sopenharmony_ci 99262306a36Sopenharmony_ci You will need to provide a module parameter "gpios", or a 99362306a36Sopenharmony_ci boot-time parameter "gpio_winbond.gpios" with a bitmask of GPIO 99462306a36Sopenharmony_ci ports to enable (bit 0 is GPIO1, bit 1 is GPIO2, etc.). 99562306a36Sopenharmony_ci 99662306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module will 99762306a36Sopenharmony_ci be called gpio-winbond. 99862306a36Sopenharmony_ci 99962306a36Sopenharmony_ciconfig GPIO_WS16C48 100062306a36Sopenharmony_ci tristate "WinSystems WS16C48 GPIO support" 100162306a36Sopenharmony_ci select ISA_BUS_API 100262306a36Sopenharmony_ci select REGMAP_IRQ 100362306a36Sopenharmony_ci select REGMAP_MMIO 100462306a36Sopenharmony_ci select GPIOLIB_IRQCHIP 100562306a36Sopenharmony_ci select GPIO_REGMAP 100662306a36Sopenharmony_ci help 100762306a36Sopenharmony_ci Enables GPIO support for the WinSystems WS16C48. The base port 100862306a36Sopenharmony_ci addresses for the devices may be configured via the base module 100962306a36Sopenharmony_ci parameter. The interrupt line numbers for the devices may be 101062306a36Sopenharmony_ci configured via the irq module parameter. 101162306a36Sopenharmony_ci 101262306a36Sopenharmony_ciendmenu 101362306a36Sopenharmony_ci 101462306a36Sopenharmony_cimenu "I2C GPIO expanders" 101562306a36Sopenharmony_ci depends on I2C 101662306a36Sopenharmony_ci 101762306a36Sopenharmony_ciconfig GPIO_ADNP 101862306a36Sopenharmony_ci tristate "Avionic Design N-bit GPIO expander" 101962306a36Sopenharmony_ci depends on OF_GPIO 102062306a36Sopenharmony_ci select GPIOLIB_IRQCHIP 102162306a36Sopenharmony_ci help 102262306a36Sopenharmony_ci This option enables support for N GPIOs found on Avionic Design 102362306a36Sopenharmony_ci I2C GPIO expanders. The register space will be extended by powers 102462306a36Sopenharmony_ci of two, so the controller will need to accommodate for that. For 102562306a36Sopenharmony_ci example: if a controller provides 48 pins, 6 registers will be 102662306a36Sopenharmony_ci enough to represent all pins, but the driver will assume a 102762306a36Sopenharmony_ci register layout for 64 pins (8 registers). 102862306a36Sopenharmony_ci 102962306a36Sopenharmony_ciconfig GPIO_FXL6408 103062306a36Sopenharmony_ci tristate "FXL6408 I2C GPIO expander" 103162306a36Sopenharmony_ci select GPIO_REGMAP 103262306a36Sopenharmony_ci select REGMAP_I2C 103362306a36Sopenharmony_ci help 103462306a36Sopenharmony_ci GPIO driver for Fairchild Semiconductor FXL6408 GPIO expander. 103562306a36Sopenharmony_ci 103662306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module will 103762306a36Sopenharmony_ci be called gpio-fxl6408. 103862306a36Sopenharmony_ci 103962306a36Sopenharmony_ciconfig GPIO_DS4520 104062306a36Sopenharmony_ci tristate "DS4520 I2C GPIO expander" 104162306a36Sopenharmony_ci select REGMAP_I2C 104262306a36Sopenharmony_ci select GPIO_REGMAP 104362306a36Sopenharmony_ci help 104462306a36Sopenharmony_ci GPIO driver for ADI DS4520 I2C-based GPIO expander. 104562306a36Sopenharmony_ci Say yes here to enable the GPIO driver for the ADI DS4520 chip. 104662306a36Sopenharmony_ci 104762306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module will 104862306a36Sopenharmony_ci be called gpio-ds4520. 104962306a36Sopenharmony_ci 105062306a36Sopenharmony_ciconfig GPIO_GW_PLD 105162306a36Sopenharmony_ci tristate "Gateworks PLD GPIO Expander" 105262306a36Sopenharmony_ci depends on OF_GPIO 105362306a36Sopenharmony_ci help 105462306a36Sopenharmony_ci Say yes here to provide access to the Gateworks I2C PLD GPIO 105562306a36Sopenharmony_ci Expander. This is used at least on the Cambria GW2358-4. 105662306a36Sopenharmony_ci 105762306a36Sopenharmony_ciconfig GPIO_MAX7300 105862306a36Sopenharmony_ci tristate "Maxim MAX7300 GPIO expander" 105962306a36Sopenharmony_ci select GPIO_MAX730X 106062306a36Sopenharmony_ci help 106162306a36Sopenharmony_ci GPIO driver for Maxim MAX7300 I2C-based GPIO expander. 106262306a36Sopenharmony_ci 106362306a36Sopenharmony_ciconfig GPIO_MAX732X 106462306a36Sopenharmony_ci tristate "MAX7319, MAX7320-7327 I2C Port Expanders" 106562306a36Sopenharmony_ci help 106662306a36Sopenharmony_ci Say yes here to support the MAX7319, MAX7320-7327 series of I2C 106762306a36Sopenharmony_ci Port Expanders. Each IO port on these chips has a fixed role of 106862306a36Sopenharmony_ci Input (designated by 'I'), Push-Pull Output ('O'), or Open-Drain 106962306a36Sopenharmony_ci Input and Output (designed by 'P'). The combinations are listed 107062306a36Sopenharmony_ci below: 107162306a36Sopenharmony_ci 107262306a36Sopenharmony_ci 8 bits: max7319 (8I), max7320 (8O), max7321 (8P), 107362306a36Sopenharmony_ci max7322 (4I4O), max7323 (4P4O) 107462306a36Sopenharmony_ci 107562306a36Sopenharmony_ci 16 bits: max7324 (8I8O), max7325 (8P8O), 107662306a36Sopenharmony_ci max7326 (4I12O), max7327 (4P12O) 107762306a36Sopenharmony_ci 107862306a36Sopenharmony_ci Board setup code must specify the model to use, and the start 107962306a36Sopenharmony_ci number for these GPIOs. 108062306a36Sopenharmony_ci 108162306a36Sopenharmony_ciconfig GPIO_MAX732X_IRQ 108262306a36Sopenharmony_ci bool "Interrupt controller support for MAX732x" 108362306a36Sopenharmony_ci depends on GPIO_MAX732X=y 108462306a36Sopenharmony_ci select GPIOLIB_IRQCHIP 108562306a36Sopenharmony_ci help 108662306a36Sopenharmony_ci Say yes here to enable the max732x to be used as an interrupt 108762306a36Sopenharmony_ci controller. It requires the driver to be built in the kernel. 108862306a36Sopenharmony_ci 108962306a36Sopenharmony_ciconfig GPIO_PCA953X 109062306a36Sopenharmony_ci tristate "PCA95[357]x, PCA9698, TCA64xx, and MAX7310 I/O ports" 109162306a36Sopenharmony_ci select REGMAP_I2C 109262306a36Sopenharmony_ci help 109362306a36Sopenharmony_ci Say yes here to provide access to several register-oriented 109462306a36Sopenharmony_ci SMBus I/O expanders, made mostly by NXP or TI. Compatible 109562306a36Sopenharmony_ci models include: 109662306a36Sopenharmony_ci 109762306a36Sopenharmony_ci 4 bits: pca9536, pca9537 109862306a36Sopenharmony_ci 109962306a36Sopenharmony_ci 8 bits: max7310, max7315, pca6107, pca9534, pca9538, pca9554, 110062306a36Sopenharmony_ci pca9556, pca9557, pca9574, tca6408, tca9554, xra1202 110162306a36Sopenharmony_ci 110262306a36Sopenharmony_ci 16 bits: max7312, max7313, pca9535, pca9539, pca9555, pca9575, 110362306a36Sopenharmony_ci tca6416 110462306a36Sopenharmony_ci 110562306a36Sopenharmony_ci 24 bits: tca6424 110662306a36Sopenharmony_ci 110762306a36Sopenharmony_ci 40 bits: pca9505, pca9698 110862306a36Sopenharmony_ci 110962306a36Sopenharmony_ciconfig GPIO_PCA953X_IRQ 111062306a36Sopenharmony_ci bool "Interrupt controller support for PCA953x" 111162306a36Sopenharmony_ci depends on GPIO_PCA953X 111262306a36Sopenharmony_ci select GPIOLIB_IRQCHIP 111362306a36Sopenharmony_ci help 111462306a36Sopenharmony_ci Say yes here to enable the pca953x to be used as an interrupt 111562306a36Sopenharmony_ci controller. 111662306a36Sopenharmony_ci 111762306a36Sopenharmony_ciconfig GPIO_PCA9570 111862306a36Sopenharmony_ci tristate "PCA9570 4-Bit I2C GPO expander" 111962306a36Sopenharmony_ci help 112062306a36Sopenharmony_ci Say yes here to enable the GPO driver for the NXP PCA9570 chip. 112162306a36Sopenharmony_ci 112262306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module will 112362306a36Sopenharmony_ci be called gpio-pca9570. 112462306a36Sopenharmony_ci 112562306a36Sopenharmony_ciconfig GPIO_PCF857X 112662306a36Sopenharmony_ci tristate "PCF857x, PCA{85,96}7x, and MAX732[89] I2C GPIO expanders" 112762306a36Sopenharmony_ci select GPIOLIB_IRQCHIP 112862306a36Sopenharmony_ci select IRQ_DOMAIN 112962306a36Sopenharmony_ci help 113062306a36Sopenharmony_ci Say yes here to provide access to most "quasi-bidirectional" I2C 113162306a36Sopenharmony_ci GPIO expanders used for additional digital outputs or inputs. 113262306a36Sopenharmony_ci Most of these parts are from NXP, though TI is a second source for 113362306a36Sopenharmony_ci some of them. Compatible models include: 113462306a36Sopenharmony_ci 113562306a36Sopenharmony_ci 8 bits: pcf8574, pcf8574a, pca8574, pca8574a, 113662306a36Sopenharmony_ci pca9670, pca9672, pca9674, pca9674a, 113762306a36Sopenharmony_ci max7328, max7329 113862306a36Sopenharmony_ci 113962306a36Sopenharmony_ci 16 bits: pcf8575, pcf8575c, pca8575, 114062306a36Sopenharmony_ci pca9671, pca9673, pca9675 114162306a36Sopenharmony_ci 114262306a36Sopenharmony_ci Your board setup code will need to declare the expanders in 114362306a36Sopenharmony_ci use, and assign numbers to the GPIOs they expose. Those GPIOs 114462306a36Sopenharmony_ci can then be used from drivers and other kernel code, just like 114562306a36Sopenharmony_ci other GPIOs, but only accessible from task contexts. 114662306a36Sopenharmony_ci 114762306a36Sopenharmony_ci This driver provides an in-kernel interface to those GPIOs using 114862306a36Sopenharmony_ci platform-neutral GPIO calls. 114962306a36Sopenharmony_ci 115062306a36Sopenharmony_ciconfig GPIO_TPIC2810 115162306a36Sopenharmony_ci tristate "TPIC2810 8-Bit I2C GPO expander" 115262306a36Sopenharmony_ci help 115362306a36Sopenharmony_ci Say yes here to enable the GPO driver for the TI TPIC2810 chip. 115462306a36Sopenharmony_ci 115562306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module will 115662306a36Sopenharmony_ci be called gpio-tpic2810. 115762306a36Sopenharmony_ci 115862306a36Sopenharmony_ciconfig GPIO_TS4900 115962306a36Sopenharmony_ci tristate "Technologic Systems FPGA I2C GPIO" 116062306a36Sopenharmony_ci depends on SOC_IMX6 || COMPILE_TEST 116162306a36Sopenharmony_ci select REGMAP_I2C 116262306a36Sopenharmony_ci help 116362306a36Sopenharmony_ci Say yes here to enabled the GPIO driver for Technologic's FPGA core. 116462306a36Sopenharmony_ci Series supported include TS-4100, TS-4900, TS-7970 and TS-7990. 116562306a36Sopenharmony_ci 116662306a36Sopenharmony_ciendmenu 116762306a36Sopenharmony_ci 116862306a36Sopenharmony_cimenu "MFD GPIO expanders" 116962306a36Sopenharmony_ci 117062306a36Sopenharmony_ciconfig GPIO_ADP5520 117162306a36Sopenharmony_ci tristate "GPIO Support for ADP5520 PMIC" 117262306a36Sopenharmony_ci depends on PMIC_ADP5520 117362306a36Sopenharmony_ci help 117462306a36Sopenharmony_ci This option enables support for on-chip GPIO found 117562306a36Sopenharmony_ci on Analog Devices ADP5520 PMICs. 117662306a36Sopenharmony_ci 117762306a36Sopenharmony_ciconfig GPIO_ALTERA_A10SR 117862306a36Sopenharmony_ci tristate "Altera Arria10 System Resource GPIO" 117962306a36Sopenharmony_ci depends on MFD_ALTERA_A10SR 118062306a36Sopenharmony_ci help 118162306a36Sopenharmony_ci Driver for Arria10 Development Kit GPIO expansion which 118262306a36Sopenharmony_ci includes reads of pushbuttons and DIP switches as well 118362306a36Sopenharmony_ci as writes to LEDs. 118462306a36Sopenharmony_ci 118562306a36Sopenharmony_ciconfig GPIO_ARIZONA 118662306a36Sopenharmony_ci tristate "Wolfson Microelectronics Arizona class devices" 118762306a36Sopenharmony_ci depends on MFD_ARIZONA 118862306a36Sopenharmony_ci help 118962306a36Sopenharmony_ci Support for GPIOs on Wolfson Arizona class devices. 119062306a36Sopenharmony_ci 119162306a36Sopenharmony_ciconfig GPIO_BD71815 119262306a36Sopenharmony_ci tristate "ROHM BD71815 PMIC GPIO support" 119362306a36Sopenharmony_ci depends on MFD_ROHM_BD71828 119462306a36Sopenharmony_ci help 119562306a36Sopenharmony_ci Support for GPO(s) on ROHM BD71815 PMIC. There are two GPOs 119662306a36Sopenharmony_ci available on the ROHM PMIC. 119762306a36Sopenharmony_ci 119862306a36Sopenharmony_ci This driver can also be built as a module. If so, the module 119962306a36Sopenharmony_ci will be called gpio-bd71815. 120062306a36Sopenharmony_ci 120162306a36Sopenharmony_ciconfig GPIO_BD71828 120262306a36Sopenharmony_ci tristate "ROHM BD71828 GPIO support" 120362306a36Sopenharmony_ci depends on MFD_ROHM_BD71828 120462306a36Sopenharmony_ci help 120562306a36Sopenharmony_ci Support for GPIOs on ROHM BD71828 PMIC. There are three GPIOs 120662306a36Sopenharmony_ci available on the ROHM PMIC in total. The GPIOs are limited to 120762306a36Sopenharmony_ci outputs only and pins must be configured to GPIO outputs by 120862306a36Sopenharmony_ci OTP. Enable this only if you want to use these pins as outputs. 120962306a36Sopenharmony_ci 121062306a36Sopenharmony_ci This driver can also be built as a module. If so, the module 121162306a36Sopenharmony_ci will be called gpio-bd71828. 121262306a36Sopenharmony_ci 121362306a36Sopenharmony_ciconfig GPIO_BD9571MWV 121462306a36Sopenharmony_ci tristate "ROHM BD9571 GPIO support" 121562306a36Sopenharmony_ci depends on MFD_BD9571MWV 121662306a36Sopenharmony_ci help 121762306a36Sopenharmony_ci Support for GPIOs on ROHM BD9571 PMIC. There are two GPIOs 121862306a36Sopenharmony_ci available on the ROHM PMIC in total, both of which can also 121962306a36Sopenharmony_ci generate interrupts. 122062306a36Sopenharmony_ci 122162306a36Sopenharmony_ci This driver can also be built as a module. If so, the module 122262306a36Sopenharmony_ci will be called gpio-bd9571mwv. 122362306a36Sopenharmony_ci 122462306a36Sopenharmony_ciconfig GPIO_CRYSTAL_COVE 122562306a36Sopenharmony_ci tristate "GPIO support for Crystal Cove PMIC" 122662306a36Sopenharmony_ci depends on (X86 || COMPILE_TEST) && INTEL_SOC_PMIC 122762306a36Sopenharmony_ci select GPIOLIB_IRQCHIP 122862306a36Sopenharmony_ci help 122962306a36Sopenharmony_ci Support for GPIO pins on Crystal Cove PMIC. 123062306a36Sopenharmony_ci 123162306a36Sopenharmony_ci Say Yes if you have a Intel SoC-based tablet with Crystal Cove PMIC 123262306a36Sopenharmony_ci inside. 123362306a36Sopenharmony_ci 123462306a36Sopenharmony_ci This driver can also be built as a module. If so, the module will be 123562306a36Sopenharmony_ci called gpio-crystalcove. 123662306a36Sopenharmony_ci 123762306a36Sopenharmony_ciconfig GPIO_CS5535 123862306a36Sopenharmony_ci tristate "AMD CS5535/CS5536 GPIO support" 123962306a36Sopenharmony_ci depends on X86 || MIPS || COMPILE_TEST 124062306a36Sopenharmony_ci depends on MFD_CS5535 124162306a36Sopenharmony_ci help 124262306a36Sopenharmony_ci The AMD CS5535 and CS5536 southbridges support 28 GPIO pins that 124362306a36Sopenharmony_ci can be used for quite a number of things. The CS5535/6 is found on 124462306a36Sopenharmony_ci AMD Geode and Lemote Yeeloong devices. 124562306a36Sopenharmony_ci 124662306a36Sopenharmony_ci If unsure, say N. 124762306a36Sopenharmony_ci 124862306a36Sopenharmony_ciconfig GPIO_DA9052 124962306a36Sopenharmony_ci tristate "Dialog DA9052 GPIO" 125062306a36Sopenharmony_ci depends on PMIC_DA9052 125162306a36Sopenharmony_ci help 125262306a36Sopenharmony_ci Say yes here to enable the GPIO driver for the DA9052 chip. 125362306a36Sopenharmony_ci 125462306a36Sopenharmony_ciconfig GPIO_DA9055 125562306a36Sopenharmony_ci tristate "Dialog Semiconductor DA9055 GPIO" 125662306a36Sopenharmony_ci depends on MFD_DA9055 125762306a36Sopenharmony_ci help 125862306a36Sopenharmony_ci Say yes here to enable the GPIO driver for the DA9055 chip. 125962306a36Sopenharmony_ci 126062306a36Sopenharmony_ci The Dialog DA9055 PMIC chip has 3 GPIO pins that can be 126162306a36Sopenharmony_ci be controlled by this driver. 126262306a36Sopenharmony_ci 126362306a36Sopenharmony_ci If driver is built as a module it will be called gpio-da9055. 126462306a36Sopenharmony_ci 126562306a36Sopenharmony_ciconfig GPIO_DLN2 126662306a36Sopenharmony_ci tristate "Diolan DLN2 GPIO support" 126762306a36Sopenharmony_ci depends on MFD_DLN2 126862306a36Sopenharmony_ci select GPIOLIB_IRQCHIP 126962306a36Sopenharmony_ci 127062306a36Sopenharmony_ci help 127162306a36Sopenharmony_ci Select this option to enable GPIO driver for the Diolan DLN2 127262306a36Sopenharmony_ci board. 127362306a36Sopenharmony_ci 127462306a36Sopenharmony_ci This driver can also be built as a module. If so, the module 127562306a36Sopenharmony_ci will be called gpio-dln2. 127662306a36Sopenharmony_ci 127762306a36Sopenharmony_ciconfig HTC_EGPIO 127862306a36Sopenharmony_ci bool "HTC EGPIO support" 127962306a36Sopenharmony_ci depends on ARM 128062306a36Sopenharmony_ci help 128162306a36Sopenharmony_ci This driver supports the CPLD egpio chip present on 128262306a36Sopenharmony_ci several HTC phones. It provides basic support for input 128362306a36Sopenharmony_ci pins, output pins, and IRQs. 128462306a36Sopenharmony_ci 128562306a36Sopenharmony_ciconfig GPIO_ELKHARTLAKE 128662306a36Sopenharmony_ci tristate "Intel Elkhart Lake PSE GPIO support" 128762306a36Sopenharmony_ci depends on X86 || COMPILE_TEST 128862306a36Sopenharmony_ci select GPIO_TANGIER 128962306a36Sopenharmony_ci help 129062306a36Sopenharmony_ci Select this option to enable GPIO support for Intel Elkhart Lake 129162306a36Sopenharmony_ci PSE GPIO IP. 129262306a36Sopenharmony_ci 129362306a36Sopenharmony_ci To compile this driver as a module, choose M here: the module will 129462306a36Sopenharmony_ci be called gpio-elkhartlake. 129562306a36Sopenharmony_ci 129662306a36Sopenharmony_ciconfig GPIO_JANZ_TTL 129762306a36Sopenharmony_ci tristate "Janz VMOD-TTL Digital IO Module" 129862306a36Sopenharmony_ci depends on MFD_JANZ_CMODIO 129962306a36Sopenharmony_ci help 130062306a36Sopenharmony_ci This enables support for the Janz VMOD-TTL Digital IO module. 130162306a36Sopenharmony_ci This driver provides support for driving the pins in output 130262306a36Sopenharmony_ci mode only. Input mode is not supported. 130362306a36Sopenharmony_ci 130462306a36Sopenharmony_ciconfig GPIO_KEMPLD 130562306a36Sopenharmony_ci tristate "Kontron ETX / COMexpress GPIO" 130662306a36Sopenharmony_ci depends on MFD_KEMPLD 130762306a36Sopenharmony_ci help 130862306a36Sopenharmony_ci This enables support for the PLD GPIO interface on some Kontron ETX 130962306a36Sopenharmony_ci and COMexpress (ETXexpress) modules. 131062306a36Sopenharmony_ci 131162306a36Sopenharmony_ci This driver can also be built as a module. If so, the module will be 131262306a36Sopenharmony_ci called gpio-kempld. 131362306a36Sopenharmony_ci 131462306a36Sopenharmony_ciconfig GPIO_LJCA 131562306a36Sopenharmony_ci tristate "INTEL La Jolla Cove Adapter GPIO support" 131662306a36Sopenharmony_ci depends on MFD_LJCA 131762306a36Sopenharmony_ci select GPIOLIB_IRQCHIP 131862306a36Sopenharmony_ci default MFD_LJCA 131962306a36Sopenharmony_ci help 132062306a36Sopenharmony_ci Select this option to enable GPIO driver for the INTEL 132162306a36Sopenharmony_ci La Jolla Cove Adapter (LJCA) board. 132262306a36Sopenharmony_ci 132362306a36Sopenharmony_ci This driver can also be built as a module. If so, the module 132462306a36Sopenharmony_ci will be called gpio-ljca. 132562306a36Sopenharmony_ci 132662306a36Sopenharmony_ciconfig GPIO_LP3943 132762306a36Sopenharmony_ci tristate "TI/National Semiconductor LP3943 GPIO expander" 132862306a36Sopenharmony_ci depends on MFD_LP3943 132962306a36Sopenharmony_ci help 133062306a36Sopenharmony_ci GPIO driver for LP3943 MFD. 133162306a36Sopenharmony_ci LP3943 can be used as a GPIO expander which provides up to 16 GPIOs. 133262306a36Sopenharmony_ci Open drain outputs are required for this usage. 133362306a36Sopenharmony_ci 133462306a36Sopenharmony_ciconfig GPIO_LP873X 133562306a36Sopenharmony_ci tristate "TI LP873X GPO" 133662306a36Sopenharmony_ci depends on MFD_TI_LP873X 133762306a36Sopenharmony_ci help 133862306a36Sopenharmony_ci This driver supports the GPO on TI Lp873x PMICs. 2 GPOs are present 133962306a36Sopenharmony_ci on LP873X PMICs. 134062306a36Sopenharmony_ci 134162306a36Sopenharmony_ci This driver can also be built as a module. If so, the module will be 134262306a36Sopenharmony_ci called gpio-lp873x. 134362306a36Sopenharmony_ci 134462306a36Sopenharmony_ciconfig GPIO_LP87565 134562306a36Sopenharmony_ci tristate "TI LP87565 GPIO" 134662306a36Sopenharmony_ci depends on MFD_TI_LP87565 134762306a36Sopenharmony_ci help 134862306a36Sopenharmony_ci This driver supports the GPIO on TI Lp873565 PMICs. 3 GPIOs are present 134962306a36Sopenharmony_ci on LP87565 PMICs. 135062306a36Sopenharmony_ci 135162306a36Sopenharmony_ci This driver can also be built as a module. If so, the module will be 135262306a36Sopenharmony_ci called gpio-lp87565. 135362306a36Sopenharmony_ci 135462306a36Sopenharmony_ciconfig GPIO_MADERA 135562306a36Sopenharmony_ci tristate "Cirrus Logic Madera class codecs" 135662306a36Sopenharmony_ci depends on PINCTRL_MADERA 135762306a36Sopenharmony_ci help 135862306a36Sopenharmony_ci Support for GPIOs on Cirrus Logic Madera class codecs. 135962306a36Sopenharmony_ci 136062306a36Sopenharmony_ciconfig GPIO_MAX77620 136162306a36Sopenharmony_ci tristate "GPIO support for PMIC MAX77620 and MAX20024" 136262306a36Sopenharmony_ci depends on MFD_MAX77620 136362306a36Sopenharmony_ci select GPIOLIB_IRQCHIP 136462306a36Sopenharmony_ci help 136562306a36Sopenharmony_ci GPIO driver for MAX77620 and MAX20024 PMIC from Maxim Semiconductor. 136662306a36Sopenharmony_ci MAX77620 PMIC has 8 pins that can be configured as GPIOs. The 136762306a36Sopenharmony_ci driver also provides interrupt support for each of the GPIOs. 136862306a36Sopenharmony_ci Say yes here to enable the max77620 to be used as GPIO controller. 136962306a36Sopenharmony_ci 137062306a36Sopenharmony_ciconfig GPIO_MAX77650 137162306a36Sopenharmony_ci tristate "Maxim MAX77650/77651 GPIO support" 137262306a36Sopenharmony_ci depends on MFD_MAX77650 137362306a36Sopenharmony_ci help 137462306a36Sopenharmony_ci GPIO driver for MAX77650/77651 PMIC from Maxim Semiconductor. 137562306a36Sopenharmony_ci These chips have a single pin that can be configured as GPIO. 137662306a36Sopenharmony_ci 137762306a36Sopenharmony_ciconfig GPIO_PALMAS 137862306a36Sopenharmony_ci bool "TI PALMAS series PMICs GPIO" 137962306a36Sopenharmony_ci depends on MFD_PALMAS 138062306a36Sopenharmony_ci help 138162306a36Sopenharmony_ci Select this option to enable GPIO driver for the TI PALMAS 138262306a36Sopenharmony_ci series chip family. 138362306a36Sopenharmony_ci 138462306a36Sopenharmony_ciconfig GPIO_PMIC_EIC_SPRD 138562306a36Sopenharmony_ci tristate "Spreadtrum PMIC EIC support" 138662306a36Sopenharmony_ci depends on MFD_SC27XX_PMIC || COMPILE_TEST 138762306a36Sopenharmony_ci depends on OF_GPIO 138862306a36Sopenharmony_ci select GPIOLIB_IRQCHIP 138962306a36Sopenharmony_ci help 139062306a36Sopenharmony_ci Say yes here to support Spreadtrum PMIC EIC device. 139162306a36Sopenharmony_ci 139262306a36Sopenharmony_ciconfig GPIO_RC5T583 139362306a36Sopenharmony_ci bool "RICOH RC5T583 GPIO" 139462306a36Sopenharmony_ci depends on MFD_RC5T583 139562306a36Sopenharmony_ci help 139662306a36Sopenharmony_ci Select this option to enable GPIO driver for the Ricoh RC5T583 139762306a36Sopenharmony_ci chip family. 139862306a36Sopenharmony_ci This driver provides the support for driving/reading the GPIO pins 139962306a36Sopenharmony_ci of RC5T583 device through standard GPIO library. 140062306a36Sopenharmony_ci 140162306a36Sopenharmony_ciconfig GPIO_SL28CPLD 140262306a36Sopenharmony_ci tristate "Kontron sl28cpld GPIO support" 140362306a36Sopenharmony_ci depends on MFD_SL28CPLD || COMPILE_TEST 140462306a36Sopenharmony_ci select GPIO_REGMAP 140562306a36Sopenharmony_ci select GPIOLIB_IRQCHIP 140662306a36Sopenharmony_ci select REGMAP_IRQ 140762306a36Sopenharmony_ci help 140862306a36Sopenharmony_ci This enables support for the GPIOs found on the Kontron sl28 CPLD. 140962306a36Sopenharmony_ci 141062306a36Sopenharmony_ci This driver can also be built as a module. If so, the module will be 141162306a36Sopenharmony_ci called gpio-sl28cpld. 141262306a36Sopenharmony_ci 141362306a36Sopenharmony_ciconfig GPIO_STMPE 141462306a36Sopenharmony_ci bool "STMPE GPIOs" 141562306a36Sopenharmony_ci depends on MFD_STMPE 141662306a36Sopenharmony_ci depends on OF_GPIO 141762306a36Sopenharmony_ci select GPIOLIB_IRQCHIP 141862306a36Sopenharmony_ci help 141962306a36Sopenharmony_ci This enables support for the GPIOs found on the STMPE I/O 142062306a36Sopenharmony_ci Expanders. 142162306a36Sopenharmony_ci 142262306a36Sopenharmony_ciconfig GPIO_TC3589X 142362306a36Sopenharmony_ci bool "TC3589X GPIOs" 142462306a36Sopenharmony_ci depends on MFD_TC3589X 142562306a36Sopenharmony_ci depends on OF_GPIO 142662306a36Sopenharmony_ci select GPIOLIB_IRQCHIP 142762306a36Sopenharmony_ci help 142862306a36Sopenharmony_ci This enables support for the GPIOs found on the TC3589X 142962306a36Sopenharmony_ci I/O Expander. 143062306a36Sopenharmony_ci 143162306a36Sopenharmony_ciconfig GPIO_TIMBERDALE 143262306a36Sopenharmony_ci bool "Support for timberdale GPIO IP" 143362306a36Sopenharmony_ci depends on MFD_TIMBERDALE 143462306a36Sopenharmony_ci help 143562306a36Sopenharmony_ci Add support for the GPIO IP in the timberdale FPGA. 143662306a36Sopenharmony_ci 143762306a36Sopenharmony_ciconfig GPIO_TN48M_CPLD 143862306a36Sopenharmony_ci tristate "Delta Networks TN48M switch CPLD GPIO driver" 143962306a36Sopenharmony_ci depends on MFD_TN48M_CPLD 144062306a36Sopenharmony_ci select GPIO_REGMAP 144162306a36Sopenharmony_ci help 144262306a36Sopenharmony_ci This enables support for the GPIOs found on the Delta 144362306a36Sopenharmony_ci Networks TN48M switch Lattice CPLD. It provides 12 pins in total, 144462306a36Sopenharmony_ci they are input-only or output-only type. 144562306a36Sopenharmony_ci 144662306a36Sopenharmony_ci This driver can also be built as a module. If so, the 144762306a36Sopenharmony_ci module will be called gpio-tn48m. 144862306a36Sopenharmony_ci 144962306a36Sopenharmony_ciconfig GPIO_TPS65086 145062306a36Sopenharmony_ci tristate "TI TPS65086 GPO" 145162306a36Sopenharmony_ci depends on MFD_TPS65086 145262306a36Sopenharmony_ci help 145362306a36Sopenharmony_ci This driver supports the GPO on TI TPS65086x PMICs. 145462306a36Sopenharmony_ci 145562306a36Sopenharmony_ciconfig GPIO_TPS65218 145662306a36Sopenharmony_ci tristate "TPS65218 GPIO" 145762306a36Sopenharmony_ci depends on MFD_TPS65218 145862306a36Sopenharmony_ci help 145962306a36Sopenharmony_ci Select this option to enable GPIO driver for the TPS65218 146062306a36Sopenharmony_ci chip family. 146162306a36Sopenharmony_ci 146262306a36Sopenharmony_ciconfig GPIO_TPS65219 146362306a36Sopenharmony_ci tristate "TPS65219 GPIO" 146462306a36Sopenharmony_ci depends on MFD_TPS65219 146562306a36Sopenharmony_ci default MFD_TPS65219 146662306a36Sopenharmony_ci help 146762306a36Sopenharmony_ci Select this option to enable GPIO driver for the TPS65219 chip 146862306a36Sopenharmony_ci family. 146962306a36Sopenharmony_ci GPIO0 is statically configured as either input or output prior to 147062306a36Sopenharmony_ci Linux boot. It is used for MULTI_DEVICE_ENABLE function. This setting 147162306a36Sopenharmony_ci is statically configured by NVM. GPIO0 can't be used as a generic 147262306a36Sopenharmony_ci GPIO. It's either a GPO when MULTI_DEVICE_EN=0 or a GPI when 147362306a36Sopenharmony_ci MULTI_DEVICE_EN=1. 147462306a36Sopenharmony_ci 147562306a36Sopenharmony_ci This driver can also be built as a module. If so, the module will be 147662306a36Sopenharmony_ci called gpio_tps65219. 147762306a36Sopenharmony_ci 147862306a36Sopenharmony_ciconfig GPIO_TPS6586X 147962306a36Sopenharmony_ci bool "TPS6586X GPIO" 148062306a36Sopenharmony_ci depends on MFD_TPS6586X 148162306a36Sopenharmony_ci help 148262306a36Sopenharmony_ci Select this option to enable GPIO driver for the TPS6586X 148362306a36Sopenharmony_ci chip family. 148462306a36Sopenharmony_ci 148562306a36Sopenharmony_ciconfig GPIO_TPS65910 148662306a36Sopenharmony_ci bool "TPS65910 GPIO" 148762306a36Sopenharmony_ci depends on MFD_TPS65910 148862306a36Sopenharmony_ci help 148962306a36Sopenharmony_ci Select this option to enable GPIO driver for the TPS65910 149062306a36Sopenharmony_ci chip family. 149162306a36Sopenharmony_ci 149262306a36Sopenharmony_ciconfig GPIO_TPS65912 149362306a36Sopenharmony_ci tristate "TI TPS65912 GPIO" 149462306a36Sopenharmony_ci depends on MFD_TPS65912 149562306a36Sopenharmony_ci help 149662306a36Sopenharmony_ci This driver supports TPS65912 GPIO chip. 149762306a36Sopenharmony_ci 149862306a36Sopenharmony_ciconfig GPIO_TPS68470 149962306a36Sopenharmony_ci tristate "TPS68470 GPIO" 150062306a36Sopenharmony_ci depends on INTEL_SKL_INT3472 150162306a36Sopenharmony_ci help 150262306a36Sopenharmony_ci Select this option to enable GPIO driver for the TPS68470 150362306a36Sopenharmony_ci chip family. 150462306a36Sopenharmony_ci There are 7 GPIOs and few sensor-related GPIOs supported 150562306a36Sopenharmony_ci by the TPS68470. While the 7 GPIOs can be configured as 150662306a36Sopenharmony_ci input or output as appropriate, the sensor related GPIOs 150762306a36Sopenharmony_ci are "output only" GPIOs. 150862306a36Sopenharmony_ci 150962306a36Sopenharmony_ciconfig GPIO_TQMX86 151062306a36Sopenharmony_ci tristate "TQ-Systems QTMX86 GPIO" 151162306a36Sopenharmony_ci depends on MFD_TQMX86 || COMPILE_TEST 151262306a36Sopenharmony_ci depends on HAS_IOPORT_MAP 151362306a36Sopenharmony_ci select GPIOLIB_IRQCHIP 151462306a36Sopenharmony_ci help 151562306a36Sopenharmony_ci This driver supports GPIO on the TQMX86 IO controller. 151662306a36Sopenharmony_ci 151762306a36Sopenharmony_ciconfig GPIO_TWL4030 151862306a36Sopenharmony_ci tristate "TWL4030, TWL5030, and TPS659x0 GPIOs" 151962306a36Sopenharmony_ci depends on TWL4030_CORE 152062306a36Sopenharmony_ci help 152162306a36Sopenharmony_ci Say yes here to access the GPIO signals of various multi-function 152262306a36Sopenharmony_ci power management chips from Texas Instruments. 152362306a36Sopenharmony_ci 152462306a36Sopenharmony_ciconfig GPIO_TWL6040 152562306a36Sopenharmony_ci tristate "TWL6040 GPO" 152662306a36Sopenharmony_ci depends on TWL6040_CORE 152762306a36Sopenharmony_ci help 152862306a36Sopenharmony_ci Say yes here to access the GPO signals of twl6040 152962306a36Sopenharmony_ci audio chip from Texas Instruments. 153062306a36Sopenharmony_ci 153162306a36Sopenharmony_ciconfig GPIO_WHISKEY_COVE 153262306a36Sopenharmony_ci tristate "GPIO support for Whiskey Cove PMIC" 153362306a36Sopenharmony_ci depends on (X86 || COMPILE_TEST) && INTEL_SOC_PMIC_BXTWC 153462306a36Sopenharmony_ci select GPIOLIB_IRQCHIP 153562306a36Sopenharmony_ci help 153662306a36Sopenharmony_ci Support for GPIO pins on Whiskey Cove PMIC. 153762306a36Sopenharmony_ci 153862306a36Sopenharmony_ci Say Yes if you have an Intel SoC-based tablet with Whiskey Cove PMIC 153962306a36Sopenharmony_ci inside. 154062306a36Sopenharmony_ci 154162306a36Sopenharmony_ci This driver can also be built as a module. If so, the module will be 154262306a36Sopenharmony_ci called gpio-wcove. 154362306a36Sopenharmony_ci 154462306a36Sopenharmony_ciconfig GPIO_WM831X 154562306a36Sopenharmony_ci tristate "WM831x GPIOs" 154662306a36Sopenharmony_ci depends on MFD_WM831X 154762306a36Sopenharmony_ci help 154862306a36Sopenharmony_ci Say yes here to access the GPIO signals of WM831x power management 154962306a36Sopenharmony_ci chips from Wolfson Microelectronics. 155062306a36Sopenharmony_ci 155162306a36Sopenharmony_ciconfig GPIO_WM8350 155262306a36Sopenharmony_ci tristate "WM8350 GPIOs" 155362306a36Sopenharmony_ci depends on MFD_WM8350 155462306a36Sopenharmony_ci help 155562306a36Sopenharmony_ci Say yes here to access the GPIO signals of WM8350 power management 155662306a36Sopenharmony_ci chips from Wolfson Microelectronics. 155762306a36Sopenharmony_ci 155862306a36Sopenharmony_ciconfig GPIO_WM8994 155962306a36Sopenharmony_ci tristate "WM8994 GPIOs" 156062306a36Sopenharmony_ci depends on MFD_WM8994 156162306a36Sopenharmony_ci help 156262306a36Sopenharmony_ci Say yes here to access the GPIO signals of WM8994 audio hub 156362306a36Sopenharmony_ci CODECs from Wolfson Microelectronics. 156462306a36Sopenharmony_ci 156562306a36Sopenharmony_ciendmenu 156662306a36Sopenharmony_ci 156762306a36Sopenharmony_cimenu "PCI GPIO expanders" 156862306a36Sopenharmony_ci depends on PCI 156962306a36Sopenharmony_ci 157062306a36Sopenharmony_ciconfig GPIO_AMD8111 157162306a36Sopenharmony_ci tristate "AMD 8111 GPIO driver" 157262306a36Sopenharmony_ci depends on X86 || COMPILE_TEST 157362306a36Sopenharmony_ci depends on HAS_IOPORT_MAP 157462306a36Sopenharmony_ci help 157562306a36Sopenharmony_ci The AMD 8111 southbridge contains 32 GPIO pins which can be used. 157662306a36Sopenharmony_ci 157762306a36Sopenharmony_ci Note that usually system firmware/ACPI handles GPIO pins on their 157862306a36Sopenharmony_ci own and users might easily break their systems with uncareful usage 157962306a36Sopenharmony_ci of this driver! 158062306a36Sopenharmony_ci 158162306a36Sopenharmony_ci If unsure, say N 158262306a36Sopenharmony_ci 158362306a36Sopenharmony_ciconfig GPIO_BT8XX 158462306a36Sopenharmony_ci tristate "BT8XX GPIO abuser" 158562306a36Sopenharmony_ci depends on VIDEO_BT848=n 158662306a36Sopenharmony_ci help 158762306a36Sopenharmony_ci The BT8xx frame grabber chip has 24 GPIO pins that can be abused 158862306a36Sopenharmony_ci as a cheap PCI GPIO card. 158962306a36Sopenharmony_ci 159062306a36Sopenharmony_ci This chip can be found on Miro, Hauppauge and STB TV-cards. 159162306a36Sopenharmony_ci 159262306a36Sopenharmony_ci The card needs to be physically altered for using it as a 159362306a36Sopenharmony_ci GPIO card. For more information on how to build a GPIO card 159462306a36Sopenharmony_ci from a BT8xx TV card, see the documentation file at 159562306a36Sopenharmony_ci Documentation/driver-api/gpio/bt8xxgpio.rst 159662306a36Sopenharmony_ci 159762306a36Sopenharmony_ci If unsure, say N. 159862306a36Sopenharmony_ci 159962306a36Sopenharmony_ciconfig GPIO_MERRIFIELD 160062306a36Sopenharmony_ci tristate "Intel Merrifield GPIO support" 160162306a36Sopenharmony_ci depends on X86_INTEL_MID 160262306a36Sopenharmony_ci select GPIO_TANGIER 160362306a36Sopenharmony_ci help 160462306a36Sopenharmony_ci Say Y here to support Intel Merrifield GPIO. 160562306a36Sopenharmony_ci 160662306a36Sopenharmony_ciconfig GPIO_MLXBF 160762306a36Sopenharmony_ci tristate "Mellanox BlueField SoC GPIO" 160862306a36Sopenharmony_ci depends on (MELLANOX_PLATFORM && ARM64 && ACPI) || (64BIT && COMPILE_TEST) 160962306a36Sopenharmony_ci select GPIO_GENERIC 161062306a36Sopenharmony_ci help 161162306a36Sopenharmony_ci Say Y here if you want GPIO support on Mellanox BlueField SoC. 161262306a36Sopenharmony_ci 161362306a36Sopenharmony_ciconfig GPIO_MLXBF2 161462306a36Sopenharmony_ci tristate "Mellanox BlueField 2 SoC GPIO" 161562306a36Sopenharmony_ci depends on (MELLANOX_PLATFORM && ARM64 && ACPI) || (64BIT && COMPILE_TEST) 161662306a36Sopenharmony_ci select GPIO_GENERIC 161762306a36Sopenharmony_ci select GPIOLIB_IRQCHIP 161862306a36Sopenharmony_ci help 161962306a36Sopenharmony_ci Say Y here if you want GPIO support on Mellanox BlueField 2 SoC. 162062306a36Sopenharmony_ci 162162306a36Sopenharmony_ciconfig GPIO_MLXBF3 162262306a36Sopenharmony_ci tristate "Mellanox BlueField 3 SoC GPIO" 162362306a36Sopenharmony_ci depends on (MELLANOX_PLATFORM && ARM64) || COMPILE_TEST 162462306a36Sopenharmony_ci select GPIO_GENERIC 162562306a36Sopenharmony_ci select GPIOLIB_IRQCHIP 162662306a36Sopenharmony_ci help 162762306a36Sopenharmony_ci Say Y if you want GPIO support on Mellanox BlueField 3 SoC. 162862306a36Sopenharmony_ci This GPIO controller supports interrupt handling and enables the 162962306a36Sopenharmony_ci manipulation of certain GPIO pins. 163062306a36Sopenharmony_ci This controller should be used in parallel with pinctrl-mlxbf3 to 163162306a36Sopenharmony_ci control the desired GPIOs. 163262306a36Sopenharmony_ci This driver can also be built as a module called mlxbf3-gpio. 163362306a36Sopenharmony_ci 163462306a36Sopenharmony_ciconfig GPIO_ML_IOH 163562306a36Sopenharmony_ci tristate "OKI SEMICONDUCTOR ML7213 IOH GPIO support" 163662306a36Sopenharmony_ci depends on X86 || COMPILE_TEST 163762306a36Sopenharmony_ci select GENERIC_IRQ_CHIP 163862306a36Sopenharmony_ci help 163962306a36Sopenharmony_ci ML7213 is companion chip for Intel Atom E6xx series. 164062306a36Sopenharmony_ci This driver can be used for OKI SEMICONDUCTOR ML7213 IOH (Input/Output 164162306a36Sopenharmony_ci Hub) which is for IVI (In-Vehicle Infotainment) use. 164262306a36Sopenharmony_ci This driver can access the IOH's GPIO device. 164362306a36Sopenharmony_ci 164462306a36Sopenharmony_ciconfig GPIO_PCH 164562306a36Sopenharmony_ci tristate "Intel EG20T PCH/LAPIS Semiconductor IOH (ML7223/ML7831) GPIO" 164662306a36Sopenharmony_ci depends on X86_32 || MIPS || COMPILE_TEST 164762306a36Sopenharmony_ci select GENERIC_IRQ_CHIP 164862306a36Sopenharmony_ci help 164962306a36Sopenharmony_ci This driver is for PCH (Platform Controller Hub) GPIO of Intel Topcliff, 165062306a36Sopenharmony_ci which is an IOH (Input/Output Hub) for x86 embedded processor. 165162306a36Sopenharmony_ci This driver can access PCH GPIO device. 165262306a36Sopenharmony_ci 165362306a36Sopenharmony_ci This driver also can be used for LAPIS Semiconductor IOH (Input/ 165462306a36Sopenharmony_ci Output Hub), ML7223 and ML7831. 165562306a36Sopenharmony_ci ML7223 IOH is for MP (Media Phone) use. 165662306a36Sopenharmony_ci ML7831 IOH is for general purpose use. 165762306a36Sopenharmony_ci ML7223/ML7831 is companion chip for Intel Atom E6xx series. 165862306a36Sopenharmony_ci ML7223/ML7831 is completely compatible for Intel EG20T PCH. 165962306a36Sopenharmony_ci 166062306a36Sopenharmony_ciconfig GPIO_PCI_IDIO_16 166162306a36Sopenharmony_ci tristate "ACCES PCI-IDIO-16 GPIO support" 166262306a36Sopenharmony_ci select REGMAP_MMIO 166362306a36Sopenharmony_ci select GPIO_IDIO_16 166462306a36Sopenharmony_ci help 166562306a36Sopenharmony_ci Enables GPIO support for the ACCES PCI-IDIO-16. An interrupt is 166662306a36Sopenharmony_ci generated when any of the inputs change state (low to high or high to 166762306a36Sopenharmony_ci low). Input filter control is not supported by this driver, and the 166862306a36Sopenharmony_ci input filters are deactivated by this driver. 166962306a36Sopenharmony_ci 167062306a36Sopenharmony_ciconfig GPIO_PCIE_IDIO_24 167162306a36Sopenharmony_ci tristate "ACCES PCIe-IDIO-24 GPIO support" 167262306a36Sopenharmony_ci select REGMAP_IRQ 167362306a36Sopenharmony_ci select REGMAP_MMIO 167462306a36Sopenharmony_ci select GPIOLIB_IRQCHIP 167562306a36Sopenharmony_ci select GPIO_REGMAP 167662306a36Sopenharmony_ci help 167762306a36Sopenharmony_ci Enables GPIO support for the ACCES PCIe-IDIO-24 family (PCIe-IDIO-24, 167862306a36Sopenharmony_ci PCIe-IDI-24, PCIe-IDO-24, PCIe-IDIO-12). An interrupt is generated 167962306a36Sopenharmony_ci when any of the inputs change state (low to high or high to low). 168062306a36Sopenharmony_ci Input filter control is not supported by this driver, and the input 168162306a36Sopenharmony_ci filters are deactivated by this driver. 168262306a36Sopenharmony_ci 168362306a36Sopenharmony_ciconfig GPIO_RDC321X 168462306a36Sopenharmony_ci tristate "RDC R-321x GPIO support" 168562306a36Sopenharmony_ci select MFD_CORE 168662306a36Sopenharmony_ci select MFD_RDC321X 168762306a36Sopenharmony_ci help 168862306a36Sopenharmony_ci Support for the RDC R321x SoC GPIOs over southbridge 168962306a36Sopenharmony_ci PCI configuration space. 169062306a36Sopenharmony_ci 169162306a36Sopenharmony_ciconfig GPIO_SODAVILLE 169262306a36Sopenharmony_ci bool "Intel Sodaville GPIO support" 169362306a36Sopenharmony_ci depends on X86 && OF 169462306a36Sopenharmony_ci select GPIO_GENERIC 169562306a36Sopenharmony_ci select GENERIC_IRQ_CHIP 169662306a36Sopenharmony_ci help 169762306a36Sopenharmony_ci Say Y here to support Intel Sodaville GPIO. 169862306a36Sopenharmony_ci 169962306a36Sopenharmony_ciendmenu 170062306a36Sopenharmony_ci 170162306a36Sopenharmony_cimenu "SPI GPIO expanders" 170262306a36Sopenharmony_ci depends on SPI_MASTER 170362306a36Sopenharmony_ci 170462306a36Sopenharmony_ciconfig GPIO_74X164 170562306a36Sopenharmony_ci tristate "74x164 serial-in/parallel-out 8-bits shift register" 170662306a36Sopenharmony_ci depends on OF_GPIO 170762306a36Sopenharmony_ci help 170862306a36Sopenharmony_ci Driver for 74x164 compatible serial-in/parallel-out 8-outputs 170962306a36Sopenharmony_ci shift registers. This driver can be used to provide access 171062306a36Sopenharmony_ci to more GPIO outputs. 171162306a36Sopenharmony_ci 171262306a36Sopenharmony_ciconfig GPIO_MAX3191X 171362306a36Sopenharmony_ci tristate "Maxim MAX3191x industrial serializer" 171462306a36Sopenharmony_ci select CRC8 171562306a36Sopenharmony_ci help 171662306a36Sopenharmony_ci GPIO driver for Maxim MAX31910, MAX31911, MAX31912, MAX31913, 171762306a36Sopenharmony_ci MAX31953 and MAX31963 industrial serializer, a daisy-chainable 171862306a36Sopenharmony_ci chip to make 8 digital 24V inputs available via SPI. Supports 171962306a36Sopenharmony_ci CRC checksums to guard against electromagnetic interference, 172062306a36Sopenharmony_ci as well as undervoltage and overtemperature detection. 172162306a36Sopenharmony_ci 172262306a36Sopenharmony_ciconfig GPIO_MAX7301 172362306a36Sopenharmony_ci tristate "Maxim MAX7301 GPIO expander" 172462306a36Sopenharmony_ci select GPIO_MAX730X 172562306a36Sopenharmony_ci help 172662306a36Sopenharmony_ci GPIO driver for Maxim MAX7301 SPI-based GPIO expander. 172762306a36Sopenharmony_ci 172862306a36Sopenharmony_ciconfig GPIO_MC33880 172962306a36Sopenharmony_ci tristate "Freescale MC33880 high-side/low-side switch" 173062306a36Sopenharmony_ci help 173162306a36Sopenharmony_ci SPI driver for Freescale MC33880 high-side/low-side switch. 173262306a36Sopenharmony_ci This provides GPIO interface supporting inputs and outputs. 173362306a36Sopenharmony_ci 173462306a36Sopenharmony_ciconfig GPIO_PISOSR 173562306a36Sopenharmony_ci tristate "Generic parallel-in/serial-out shift register" 173662306a36Sopenharmony_ci help 173762306a36Sopenharmony_ci GPIO driver for SPI compatible parallel-in/serial-out shift 173862306a36Sopenharmony_ci registers. These are input only devices. 173962306a36Sopenharmony_ci 174062306a36Sopenharmony_ciconfig GPIO_XRA1403 174162306a36Sopenharmony_ci tristate "EXAR XRA1403 16-bit GPIO expander" 174262306a36Sopenharmony_ci select REGMAP_SPI 174362306a36Sopenharmony_ci help 174462306a36Sopenharmony_ci GPIO driver for EXAR XRA1403 16-bit SPI-based GPIO expander. 174562306a36Sopenharmony_ci 174662306a36Sopenharmony_ciconfig GPIO_MOXTET 174762306a36Sopenharmony_ci tristate "Turris Mox Moxtet bus GPIO expander" 174862306a36Sopenharmony_ci depends on MOXTET 174962306a36Sopenharmony_ci help 175062306a36Sopenharmony_ci Say yes here if you are building for the Turris Mox router. 175162306a36Sopenharmony_ci This is the driver needed for configuring the GPIOs via the Moxtet 175262306a36Sopenharmony_ci bus. For example the Mox module with SFP cage needs this driver 175362306a36Sopenharmony_ci so that phylink can use corresponding GPIOs. 175462306a36Sopenharmony_ci 175562306a36Sopenharmony_ciendmenu 175662306a36Sopenharmony_ci 175762306a36Sopenharmony_cimenu "USB GPIO expanders" 175862306a36Sopenharmony_ci depends on USB 175962306a36Sopenharmony_ci 176062306a36Sopenharmony_ciconfig GPIO_VIPERBOARD 176162306a36Sopenharmony_ci tristate "Viperboard GPIO a & b support" 176262306a36Sopenharmony_ci depends on MFD_VIPERBOARD 176362306a36Sopenharmony_ci help 176462306a36Sopenharmony_ci Say yes here to access the GPIO signals of Nano River 176562306a36Sopenharmony_ci Technologies Viperboard. There are two GPIO chips on the 176662306a36Sopenharmony_ci board: gpioa and gpiob. 176762306a36Sopenharmony_ci See viperboard API specification and Nano 176862306a36Sopenharmony_ci River Tech's viperboard.h for detailed meaning 176962306a36Sopenharmony_ci of the module parameters. 177062306a36Sopenharmony_ci 177162306a36Sopenharmony_ciendmenu 177262306a36Sopenharmony_ci 177362306a36Sopenharmony_cimenu "Virtual GPIO drivers" 177462306a36Sopenharmony_ci 177562306a36Sopenharmony_ciconfig GPIO_AGGREGATOR 177662306a36Sopenharmony_ci tristate "GPIO Aggregator" 177762306a36Sopenharmony_ci help 177862306a36Sopenharmony_ci Say yes here to enable the GPIO Aggregator, which provides a way to 177962306a36Sopenharmony_ci aggregate existing GPIO lines into a new virtual GPIO chip. 178062306a36Sopenharmony_ci This can serve the following purposes: 178162306a36Sopenharmony_ci - Assign permissions for a collection of GPIO lines to a user, 178262306a36Sopenharmony_ci - Export a collection of GPIO lines to a virtual machine, 178362306a36Sopenharmony_ci - Provide a generic driver for a GPIO-operated device in an 178462306a36Sopenharmony_ci industrial control context, to be operated from userspace using 178562306a36Sopenharmony_ci the GPIO chardev interface. 178662306a36Sopenharmony_ci 178762306a36Sopenharmony_ciconfig GPIO_LATCH 178862306a36Sopenharmony_ci tristate "GPIO latch driver" 178962306a36Sopenharmony_ci help 179062306a36Sopenharmony_ci Say yes here to enable a driver for GPIO multiplexers based on latches 179162306a36Sopenharmony_ci connected to other GPIOs. 179262306a36Sopenharmony_ci 179362306a36Sopenharmony_ciconfig GPIO_MOCKUP 179462306a36Sopenharmony_ci tristate "GPIO Testing Driver" 179562306a36Sopenharmony_ci select IRQ_SIM 179662306a36Sopenharmony_ci help 179762306a36Sopenharmony_ci This enables GPIO Testing driver, which provides a way to test GPIO 179862306a36Sopenharmony_ci subsystem through sysfs (or char device) and debugfs. 179962306a36Sopenharmony_ci User could use it through the script in 180062306a36Sopenharmony_ci tools/testing/selftests/gpio/gpio-mockup.sh. Reference the usage in 180162306a36Sopenharmony_ci it. 180262306a36Sopenharmony_ci 180362306a36Sopenharmony_ciconfig GPIO_VIRTIO 180462306a36Sopenharmony_ci tristate "VirtIO GPIO support" 180562306a36Sopenharmony_ci depends on VIRTIO 180662306a36Sopenharmony_ci select GPIOLIB_IRQCHIP 180762306a36Sopenharmony_ci help 180862306a36Sopenharmony_ci Say Y here to enable guest support for virtio-based GPIO controllers. 180962306a36Sopenharmony_ci 181062306a36Sopenharmony_ci These virtual GPIOs can be routed to real GPIOs or attached to 181162306a36Sopenharmony_ci simulators on the host (like QEMU). 181262306a36Sopenharmony_ci 181362306a36Sopenharmony_ciconfig GPIO_SIM 181462306a36Sopenharmony_ci tristate "GPIO Simulator Module" 181562306a36Sopenharmony_ci select IRQ_SIM 181662306a36Sopenharmony_ci select CONFIGFS_FS 181762306a36Sopenharmony_ci help 181862306a36Sopenharmony_ci This enables the GPIO simulator - a configfs-based GPIO testing 181962306a36Sopenharmony_ci driver. 182062306a36Sopenharmony_ci 182162306a36Sopenharmony_ciendmenu 182262306a36Sopenharmony_ci 182362306a36Sopenharmony_ciendif 1824