18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
28c2ecf20Sopenharmony_ci#
38c2ecf20Sopenharmony_ci# GPIO infrastructure and drivers
48c2ecf20Sopenharmony_ci#
58c2ecf20Sopenharmony_ci
68c2ecf20Sopenharmony_ciconfig ARCH_HAVE_CUSTOM_GPIO_H
78c2ecf20Sopenharmony_ci	bool
88c2ecf20Sopenharmony_ci	help
98c2ecf20Sopenharmony_ci	  Selecting this config option from the architecture Kconfig allows
108c2ecf20Sopenharmony_ci	  the architecture to provide a custom asm/gpio.h implementation
118c2ecf20Sopenharmony_ci	  overriding the default implementations.  New uses of this are
128c2ecf20Sopenharmony_ci	  strongly discouraged.
138c2ecf20Sopenharmony_ci
148c2ecf20Sopenharmony_cimenuconfig GPIOLIB
158c2ecf20Sopenharmony_ci	bool "GPIO Support"
168c2ecf20Sopenharmony_ci	help
178c2ecf20Sopenharmony_ci	  This enables GPIO support through the generic GPIO library.
188c2ecf20Sopenharmony_ci	  You only need to enable this, if you also want to enable
198c2ecf20Sopenharmony_ci	  one or more of the GPIO drivers below.
208c2ecf20Sopenharmony_ci
218c2ecf20Sopenharmony_ci	  If unsure, say N.
228c2ecf20Sopenharmony_ci
238c2ecf20Sopenharmony_ciif GPIOLIB
248c2ecf20Sopenharmony_ci
258c2ecf20Sopenharmony_ciconfig GPIOLIB_FASTPATH_LIMIT
268c2ecf20Sopenharmony_ci	int "Maximum number of GPIOs for fast path"
278c2ecf20Sopenharmony_ci	range 32 512
288c2ecf20Sopenharmony_ci	default 512
298c2ecf20Sopenharmony_ci	help
308c2ecf20Sopenharmony_ci	  This adjusts the point at which certain APIs will switch from
318c2ecf20Sopenharmony_ci	  using a stack allocated buffer to a dynamically allocated buffer.
328c2ecf20Sopenharmony_ci
338c2ecf20Sopenharmony_ci	  You shouldn't need to change this unless you really need to
348c2ecf20Sopenharmony_ci	  optimize either stack space or performance. Change this carefully
358c2ecf20Sopenharmony_ci	  since setting an incorrect value could cause stack corruption.
368c2ecf20Sopenharmony_ci
378c2ecf20Sopenharmony_ciconfig OF_GPIO
388c2ecf20Sopenharmony_ci	def_bool y
398c2ecf20Sopenharmony_ci	depends on OF
408c2ecf20Sopenharmony_ci	depends on HAS_IOMEM
418c2ecf20Sopenharmony_ci
428c2ecf20Sopenharmony_ciconfig GPIO_ACPI
438c2ecf20Sopenharmony_ci	def_bool y
448c2ecf20Sopenharmony_ci	depends on ACPI
458c2ecf20Sopenharmony_ci
468c2ecf20Sopenharmony_ciconfig GPIOLIB_IRQCHIP
478c2ecf20Sopenharmony_ci	select IRQ_DOMAIN
488c2ecf20Sopenharmony_ci	bool
498c2ecf20Sopenharmony_ci
508c2ecf20Sopenharmony_ciconfig DEBUG_GPIO
518c2ecf20Sopenharmony_ci	bool "Debug GPIO calls"
528c2ecf20Sopenharmony_ci	depends on DEBUG_KERNEL
538c2ecf20Sopenharmony_ci	help
548c2ecf20Sopenharmony_ci	  Say Y here to add some extra checks and diagnostics to GPIO calls.
558c2ecf20Sopenharmony_ci	  These checks help ensure that GPIOs have been properly initialized
568c2ecf20Sopenharmony_ci	  before they are used, and that sleeping calls are not made from
578c2ecf20Sopenharmony_ci	  non-sleeping contexts.  They can make bitbanged serial protocols
588c2ecf20Sopenharmony_ci	  slower.  The diagnostics help catch the type of setup errors
598c2ecf20Sopenharmony_ci	  that are most common when setting up new platforms or boards.
608c2ecf20Sopenharmony_ci
618c2ecf20Sopenharmony_ciconfig GPIO_SYSFS
628c2ecf20Sopenharmony_ci	bool "/sys/class/gpio/... (sysfs interface)"
638c2ecf20Sopenharmony_ci	depends on SYSFS
648c2ecf20Sopenharmony_ci	help
658c2ecf20Sopenharmony_ci	  Say Y here to add the legacy sysfs interface for GPIOs.
668c2ecf20Sopenharmony_ci
678c2ecf20Sopenharmony_ci	  This ABI is deprecated. If you want to use GPIO from userspace,
688c2ecf20Sopenharmony_ci	  use the character device /dev/gpiochipN with the appropriate
698c2ecf20Sopenharmony_ci	  ioctl() operations instead.
708c2ecf20Sopenharmony_ci
718c2ecf20Sopenharmony_ciconfig GPIO_CDEV
728c2ecf20Sopenharmony_ci	bool
738c2ecf20Sopenharmony_ci	prompt "Character device (/dev/gpiochipN) support" if EXPERT
748c2ecf20Sopenharmony_ci	default y
758c2ecf20Sopenharmony_ci	help
768c2ecf20Sopenharmony_ci	  Say Y here to add the character device /dev/gpiochipN interface
778c2ecf20Sopenharmony_ci	  for GPIOs. The character device allows userspace to control GPIOs
788c2ecf20Sopenharmony_ci	  using ioctl() operations.
798c2ecf20Sopenharmony_ci
808c2ecf20Sopenharmony_ci	  Only say N if you are sure that the GPIO character device is not
818c2ecf20Sopenharmony_ci	  required.
828c2ecf20Sopenharmony_ci
838c2ecf20Sopenharmony_ci	  If unsure, say Y.
848c2ecf20Sopenharmony_ci
858c2ecf20Sopenharmony_ciconfig GPIO_CDEV_V1
868c2ecf20Sopenharmony_ci	bool "Support GPIO ABI Version 1"
878c2ecf20Sopenharmony_ci	default y
888c2ecf20Sopenharmony_ci	depends on GPIO_CDEV
898c2ecf20Sopenharmony_ci	help
908c2ecf20Sopenharmony_ci	  Say Y here to support version 1 of the GPIO CDEV ABI.
918c2ecf20Sopenharmony_ci
928c2ecf20Sopenharmony_ci	  This ABI version is deprecated.
938c2ecf20Sopenharmony_ci	  Please use the latest ABI for new developments.
948c2ecf20Sopenharmony_ci
958c2ecf20Sopenharmony_ci	  If unsure, say Y.
968c2ecf20Sopenharmony_ci
978c2ecf20Sopenharmony_ciconfig GPIO_GENERIC
988c2ecf20Sopenharmony_ci	depends on HAS_IOMEM # Only for IOMEM drivers
998c2ecf20Sopenharmony_ci	tristate
1008c2ecf20Sopenharmony_ci
1018c2ecf20Sopenharmony_ciconfig GPIO_REGMAP
1028c2ecf20Sopenharmony_ci	select REGMAP
1038c2ecf20Sopenharmony_ci	tristate
1048c2ecf20Sopenharmony_ci
1058c2ecf20Sopenharmony_ci# put drivers in the right section, in alphabetical order
1068c2ecf20Sopenharmony_ci
1078c2ecf20Sopenharmony_ci# This symbol is selected by both I2C and SPI expanders
1088c2ecf20Sopenharmony_ciconfig GPIO_MAX730X
1098c2ecf20Sopenharmony_ci	tristate
1108c2ecf20Sopenharmony_ci
1118c2ecf20Sopenharmony_cimenu "Memory mapped GPIO drivers"
1128c2ecf20Sopenharmony_ci	depends on HAS_IOMEM
1138c2ecf20Sopenharmony_ci
1148c2ecf20Sopenharmony_ciconfig GPIO_74XX_MMIO
1158c2ecf20Sopenharmony_ci	tristate "GPIO driver for 74xx-ICs with MMIO access"
1168c2ecf20Sopenharmony_ci	depends on OF_GPIO
1178c2ecf20Sopenharmony_ci	select GPIO_GENERIC
1188c2ecf20Sopenharmony_ci	help
1198c2ecf20Sopenharmony_ci	  Say yes here to support GPIO functionality for 74xx-compatible ICs
1208c2ecf20Sopenharmony_ci	  with MMIO access. Compatible models include:
1218c2ecf20Sopenharmony_ci	    1 bit:	741G125 (Input), 741G74 (Output)
1228c2ecf20Sopenharmony_ci	    2 bits:	742G125 (Input), 7474 (Output)
1238c2ecf20Sopenharmony_ci	    4 bits:	74125 (Input), 74175 (Output)
1248c2ecf20Sopenharmony_ci	    6 bits:	74365 (Input), 74174 (Output)
1258c2ecf20Sopenharmony_ci	    8 bits:	74244 (Input), 74273 (Output)
1268c2ecf20Sopenharmony_ci	    16 bits:	741624 (Input), 7416374 (Output)
1278c2ecf20Sopenharmony_ci
1288c2ecf20Sopenharmony_ciconfig GPIO_ALTERA
1298c2ecf20Sopenharmony_ci	tristate "Altera GPIO"
1308c2ecf20Sopenharmony_ci	depends on OF_GPIO
1318c2ecf20Sopenharmony_ci	select GPIOLIB_IRQCHIP
1328c2ecf20Sopenharmony_ci	help
1338c2ecf20Sopenharmony_ci	  Say Y or M here to build support for the Altera PIO device.
1348c2ecf20Sopenharmony_ci
1358c2ecf20Sopenharmony_ci	  If driver is built as a module it will be called gpio-altera.
1368c2ecf20Sopenharmony_ci
1378c2ecf20Sopenharmony_ciconfig GPIO_AMDPT
1388c2ecf20Sopenharmony_ci	tristate "AMD Promontory GPIO support"
1398c2ecf20Sopenharmony_ci	depends on ACPI
1408c2ecf20Sopenharmony_ci	select GPIO_GENERIC
1418c2ecf20Sopenharmony_ci	help
1428c2ecf20Sopenharmony_ci	  driver for GPIO functionality on Promontory IOHub
1438c2ecf20Sopenharmony_ci	  Require ACPI ASL code to enumerate as a platform device.
1448c2ecf20Sopenharmony_ci
1458c2ecf20Sopenharmony_ciconfig GPIO_ASPEED
1468c2ecf20Sopenharmony_ci	tristate "Aspeed GPIO support"
1478c2ecf20Sopenharmony_ci	depends on (ARCH_ASPEED || COMPILE_TEST) && OF_GPIO
1488c2ecf20Sopenharmony_ci	select GPIOLIB_IRQCHIP
1498c2ecf20Sopenharmony_ci	help
1508c2ecf20Sopenharmony_ci	  Say Y here to support Aspeed AST2400 and AST2500 GPIO controllers.
1518c2ecf20Sopenharmony_ci
1528c2ecf20Sopenharmony_ciconfig GPIO_ASPEED_SGPIO
1538c2ecf20Sopenharmony_ci	bool "Aspeed SGPIO support"
1548c2ecf20Sopenharmony_ci	depends on (ARCH_ASPEED || COMPILE_TEST) && OF_GPIO
1558c2ecf20Sopenharmony_ci	select GPIO_GENERIC
1568c2ecf20Sopenharmony_ci	select GPIOLIB_IRQCHIP
1578c2ecf20Sopenharmony_ci	help
1588c2ecf20Sopenharmony_ci	  Say Y here to support Aspeed AST2500 SGPIO functionality.
1598c2ecf20Sopenharmony_ci
1608c2ecf20Sopenharmony_ciconfig GPIO_ATH79
1618c2ecf20Sopenharmony_ci	tristate "Atheros AR71XX/AR724X/AR913X GPIO support"
1628c2ecf20Sopenharmony_ci	default y if ATH79
1638c2ecf20Sopenharmony_ci	depends on ATH79 || COMPILE_TEST
1648c2ecf20Sopenharmony_ci	select GPIO_GENERIC
1658c2ecf20Sopenharmony_ci	select GPIOLIB_IRQCHIP
1668c2ecf20Sopenharmony_ci	help
1678c2ecf20Sopenharmony_ci	  Select this option to enable GPIO driver for
1688c2ecf20Sopenharmony_ci	  Atheros AR71XX/AR724X/AR913X SoC devices.
1698c2ecf20Sopenharmony_ci
1708c2ecf20Sopenharmony_ciconfig GPIO_RASPBERRYPI_EXP
1718c2ecf20Sopenharmony_ci	tristate "Raspberry Pi 3 GPIO Expander"
1728c2ecf20Sopenharmony_ci	default RASPBERRYPI_FIRMWARE
1738c2ecf20Sopenharmony_ci	depends on OF_GPIO
1748c2ecf20Sopenharmony_ci	# Make sure not 'y' when RASPBERRYPI_FIRMWARE is 'm'. This can only
1758c2ecf20Sopenharmony_ci	# happen when COMPILE_TEST=y, hence the added !RASPBERRYPI_FIRMWARE.
1768c2ecf20Sopenharmony_ci	depends on (ARCH_BCM2835 && RASPBERRYPI_FIRMWARE) || (COMPILE_TEST && !RASPBERRYPI_FIRMWARE)
1778c2ecf20Sopenharmony_ci	help
1788c2ecf20Sopenharmony_ci	  Turn on GPIO support for the expander on Raspberry Pi 3 boards, using
1798c2ecf20Sopenharmony_ci	  the firmware mailbox to communicate with VideoCore on BCM283x chips.
1808c2ecf20Sopenharmony_ci
1818c2ecf20Sopenharmony_ciconfig GPIO_BCM_KONA
1828c2ecf20Sopenharmony_ci	bool "Broadcom Kona GPIO"
1838c2ecf20Sopenharmony_ci	depends on OF_GPIO && (ARCH_BCM_MOBILE || COMPILE_TEST)
1848c2ecf20Sopenharmony_ci	help
1858c2ecf20Sopenharmony_ci	  Turn on GPIO support for Broadcom "Kona" chips.
1868c2ecf20Sopenharmony_ci
1878c2ecf20Sopenharmony_ciconfig GPIO_BCM_XGS_IPROC
1888c2ecf20Sopenharmony_ci	tristate "BRCM XGS iProc GPIO support"
1898c2ecf20Sopenharmony_ci	depends on OF_GPIO && (ARCH_BCM_IPROC || COMPILE_TEST)
1908c2ecf20Sopenharmony_ci	select GPIO_GENERIC
1918c2ecf20Sopenharmony_ci	select GPIOLIB_IRQCHIP
1928c2ecf20Sopenharmony_ci	default ARCH_BCM_IPROC
1938c2ecf20Sopenharmony_ci	help
1948c2ecf20Sopenharmony_ci	  Say yes here to enable GPIO support for Broadcom XGS iProc SoCs.
1958c2ecf20Sopenharmony_ci
1968c2ecf20Sopenharmony_ciconfig GPIO_BRCMSTB
1978c2ecf20Sopenharmony_ci	tristate "BRCMSTB GPIO support"
1988c2ecf20Sopenharmony_ci	default y if (ARCH_BRCMSTB || BMIPS_GENERIC)
1998c2ecf20Sopenharmony_ci	depends on OF_GPIO && (ARCH_BRCMSTB || BMIPS_GENERIC || COMPILE_TEST)
2008c2ecf20Sopenharmony_ci	select GPIO_GENERIC
2018c2ecf20Sopenharmony_ci	select IRQ_DOMAIN
2028c2ecf20Sopenharmony_ci	help
2038c2ecf20Sopenharmony_ci	  Say yes here to enable GPIO support for Broadcom STB (BCM7XXX) SoCs.
2048c2ecf20Sopenharmony_ci
2058c2ecf20Sopenharmony_ciconfig GPIO_CADENCE
2068c2ecf20Sopenharmony_ci	tristate "Cadence GPIO support"
2078c2ecf20Sopenharmony_ci	depends on OF_GPIO
2088c2ecf20Sopenharmony_ci	select GPIO_GENERIC
2098c2ecf20Sopenharmony_ci	select GPIOLIB_IRQCHIP
2108c2ecf20Sopenharmony_ci	help
2118c2ecf20Sopenharmony_ci	  Say yes here to enable support for Cadence GPIO controller.
2128c2ecf20Sopenharmony_ci
2138c2ecf20Sopenharmony_ciconfig GPIO_CLPS711X
2148c2ecf20Sopenharmony_ci	tristate "CLPS711X GPIO support"
2158c2ecf20Sopenharmony_ci	depends on ARCH_CLPS711X || COMPILE_TEST
2168c2ecf20Sopenharmony_ci	select GPIO_GENERIC
2178c2ecf20Sopenharmony_ci	help
2188c2ecf20Sopenharmony_ci	  Say yes here to support GPIO on CLPS711X SoCs.
2198c2ecf20Sopenharmony_ci
2208c2ecf20Sopenharmony_ciconfig GPIO_DAVINCI
2218c2ecf20Sopenharmony_ci	bool "TI Davinci/Keystone GPIO support"
2228c2ecf20Sopenharmony_ci	default y if ARCH_DAVINCI
2238c2ecf20Sopenharmony_ci	depends on (ARM || ARM64) && (ARCH_DAVINCI || ARCH_KEYSTONE || ARCH_K3)
2248c2ecf20Sopenharmony_ci	help
2258c2ecf20Sopenharmony_ci	  Say yes here to enable GPIO support for TI Davinci/Keystone SoCs.
2268c2ecf20Sopenharmony_ci
2278c2ecf20Sopenharmony_ciconfig GPIO_DWAPB
2288c2ecf20Sopenharmony_ci	tristate "Synopsys DesignWare APB GPIO driver"
2298c2ecf20Sopenharmony_ci	select GPIO_GENERIC
2308c2ecf20Sopenharmony_ci	select GPIOLIB_IRQCHIP
2318c2ecf20Sopenharmony_ci	help
2328c2ecf20Sopenharmony_ci	  Say Y or M here to build support for the Synopsys DesignWare APB
2338c2ecf20Sopenharmony_ci	  GPIO block.
2348c2ecf20Sopenharmony_ci
2358c2ecf20Sopenharmony_ciconfig GPIO_EIC_SPRD
2368c2ecf20Sopenharmony_ci	tristate "Spreadtrum EIC support"
2378c2ecf20Sopenharmony_ci	depends on ARCH_SPRD || COMPILE_TEST
2388c2ecf20Sopenharmony_ci	depends on OF_GPIO
2398c2ecf20Sopenharmony_ci	select GPIOLIB_IRQCHIP
2408c2ecf20Sopenharmony_ci	help
2418c2ecf20Sopenharmony_ci	  Say yes here to support Spreadtrum EIC device.
2428c2ecf20Sopenharmony_ci
2438c2ecf20Sopenharmony_ciconfig GPIO_EM
2448c2ecf20Sopenharmony_ci	tristate "Emma Mobile GPIO"
2458c2ecf20Sopenharmony_ci	depends on (ARCH_EMEV2 || COMPILE_TEST) && OF_GPIO
2468c2ecf20Sopenharmony_ci	help
2478c2ecf20Sopenharmony_ci	  Say yes here to support GPIO on Renesas Emma Mobile SoCs.
2488c2ecf20Sopenharmony_ci
2498c2ecf20Sopenharmony_ciconfig GPIO_EP93XX
2508c2ecf20Sopenharmony_ci	def_bool y
2518c2ecf20Sopenharmony_ci	depends on ARCH_EP93XX
2528c2ecf20Sopenharmony_ci	select GPIO_GENERIC
2538c2ecf20Sopenharmony_ci	select GPIOLIB_IRQCHIP
2548c2ecf20Sopenharmony_ci
2558c2ecf20Sopenharmony_ciconfig GPIO_EXAR
2568c2ecf20Sopenharmony_ci	tristate "Support for GPIO pins on XR17V352/354/358"
2578c2ecf20Sopenharmony_ci	depends on SERIAL_8250_EXAR
2588c2ecf20Sopenharmony_ci	help
2598c2ecf20Sopenharmony_ci	  Selecting this option will enable handling of GPIO pins present
2608c2ecf20Sopenharmony_ci	  on Exar XR17V352/354/358 chips.
2618c2ecf20Sopenharmony_ci
2628c2ecf20Sopenharmony_ciconfig GPIO_GE_FPGA
2638c2ecf20Sopenharmony_ci	bool "GE FPGA based GPIO"
2648c2ecf20Sopenharmony_ci	depends on GE_FPGA
2658c2ecf20Sopenharmony_ci	select GPIO_GENERIC
2668c2ecf20Sopenharmony_ci	help
2678c2ecf20Sopenharmony_ci	  Support for common GPIO functionality provided on some GE Single Board
2688c2ecf20Sopenharmony_ci	  Computers.
2698c2ecf20Sopenharmony_ci
2708c2ecf20Sopenharmony_ci	  This driver provides basic support (configure as input or output, read
2718c2ecf20Sopenharmony_ci	  and write pin state) for GPIO implemented in a number of GE single
2728c2ecf20Sopenharmony_ci	  board computers.
2738c2ecf20Sopenharmony_ci
2748c2ecf20Sopenharmony_ciconfig GPIO_FTGPIO010
2758c2ecf20Sopenharmony_ci	bool "Faraday FTGPIO010 GPIO"
2768c2ecf20Sopenharmony_ci	depends on OF_GPIO
2778c2ecf20Sopenharmony_ci	select GPIO_GENERIC
2788c2ecf20Sopenharmony_ci	select GPIOLIB_IRQCHIP
2798c2ecf20Sopenharmony_ci	default (ARCH_GEMINI || ARCH_MOXART)
2808c2ecf20Sopenharmony_ci	help
2818c2ecf20Sopenharmony_ci	  Support for common GPIOs from the Faraday FTGPIO010 IP core, found in
2828c2ecf20Sopenharmony_ci	  Cortina systems Gemini platforms, Moxa ART and others.
2838c2ecf20Sopenharmony_ci
2848c2ecf20Sopenharmony_ciconfig GPIO_GENERIC_PLATFORM
2858c2ecf20Sopenharmony_ci	tristate "Generic memory-mapped GPIO controller support (MMIO platform device)"
2868c2ecf20Sopenharmony_ci	select GPIO_GENERIC
2878c2ecf20Sopenharmony_ci	help
2888c2ecf20Sopenharmony_ci	  Say yes here to support basic platform_device memory-mapped GPIO controllers.
2898c2ecf20Sopenharmony_ci
2908c2ecf20Sopenharmony_ciconfig GPIO_GRGPIO
2918c2ecf20Sopenharmony_ci	tristate "Aeroflex Gaisler GRGPIO support"
2928c2ecf20Sopenharmony_ci	depends on OF_GPIO
2938c2ecf20Sopenharmony_ci	select GPIO_GENERIC
2948c2ecf20Sopenharmony_ci	select IRQ_DOMAIN
2958c2ecf20Sopenharmony_ci	help
2968c2ecf20Sopenharmony_ci	  Select this to support Aeroflex Gaisler GRGPIO cores from the GRLIB
2978c2ecf20Sopenharmony_ci	  VHDL IP core library.
2988c2ecf20Sopenharmony_ci
2998c2ecf20Sopenharmony_ciconfig GPIO_HLWD
3008c2ecf20Sopenharmony_ci	tristate "Nintendo Wii (Hollywood) GPIO"
3018c2ecf20Sopenharmony_ci	depends on OF_GPIO
3028c2ecf20Sopenharmony_ci	select GPIO_GENERIC
3038c2ecf20Sopenharmony_ci	select GPIOLIB_IRQCHIP
3048c2ecf20Sopenharmony_ci	help
3058c2ecf20Sopenharmony_ci	  Select this to support the GPIO controller of the Nintendo Wii.
3068c2ecf20Sopenharmony_ci
3078c2ecf20Sopenharmony_ci	  If unsure, say N.
3088c2ecf20Sopenharmony_ci
3098c2ecf20Sopenharmony_ciconfig GPIO_ICH
3108c2ecf20Sopenharmony_ci	tristate "Intel ICH GPIO"
3118c2ecf20Sopenharmony_ci	depends on PCI && X86
3128c2ecf20Sopenharmony_ci	select MFD_CORE
3138c2ecf20Sopenharmony_ci	select LPC_ICH
3148c2ecf20Sopenharmony_ci	help
3158c2ecf20Sopenharmony_ci	  Say yes here to support the GPIO functionality of a number of Intel
3168c2ecf20Sopenharmony_ci	  ICH-based chipsets.  Currently supported devices: ICH6, ICH7, ICH8
3178c2ecf20Sopenharmony_ci	  ICH9, ICH10, Series 5/3400 (eg Ibex Peak), Series 6/C200 (eg
3188c2ecf20Sopenharmony_ci	  Cougar Point), NM10 (Tiger Point), and 3100 (Whitmore Lake).
3198c2ecf20Sopenharmony_ci
3208c2ecf20Sopenharmony_ci	  If unsure, say N.
3218c2ecf20Sopenharmony_ci
3228c2ecf20Sopenharmony_ciconfig GPIO_IOP
3238c2ecf20Sopenharmony_ci	tristate "Intel IOP GPIO"
3248c2ecf20Sopenharmony_ci	depends on ARCH_IOP32X || COMPILE_TEST
3258c2ecf20Sopenharmony_ci	select GPIO_GENERIC
3268c2ecf20Sopenharmony_ci	help
3278c2ecf20Sopenharmony_ci	  Say yes here to support the GPIO functionality of a number of Intel
3288c2ecf20Sopenharmony_ci	  IOP32X or IOP33X.
3298c2ecf20Sopenharmony_ci
3308c2ecf20Sopenharmony_ci	  If unsure, say N.
3318c2ecf20Sopenharmony_ci
3328c2ecf20Sopenharmony_ciconfig GPIO_IXP4XX
3338c2ecf20Sopenharmony_ci	bool "Intel IXP4xx GPIO"
3348c2ecf20Sopenharmony_ci	depends on ARM # For <asm/mach-types.h>
3358c2ecf20Sopenharmony_ci	depends on ARCH_IXP4XX
3368c2ecf20Sopenharmony_ci	select GPIO_GENERIC
3378c2ecf20Sopenharmony_ci	select GPIOLIB_IRQCHIP
3388c2ecf20Sopenharmony_ci	select IRQ_DOMAIN_HIERARCHY
3398c2ecf20Sopenharmony_ci	help
3408c2ecf20Sopenharmony_ci	  Say yes here to support the GPIO functionality of a number of Intel
3418c2ecf20Sopenharmony_ci	  IXP4xx series of chips.
3428c2ecf20Sopenharmony_ci
3438c2ecf20Sopenharmony_ci	  If unsure, say N.
3448c2ecf20Sopenharmony_ciconfig GPIO_LOGICVC
3458c2ecf20Sopenharmony_ci	tristate "Xylon LogiCVC GPIO support"
3468c2ecf20Sopenharmony_ci	depends on MFD_SYSCON && OF
3478c2ecf20Sopenharmony_ci	help
3488c2ecf20Sopenharmony_ci	  Say yes here to support GPIO functionality of the Xylon LogiCVC
3498c2ecf20Sopenharmony_ci	  programmable logic block.
3508c2ecf20Sopenharmony_ci
3518c2ecf20Sopenharmony_ciconfig GPIO_LOONGSON
3528c2ecf20Sopenharmony_ci	bool "Loongson-2/3 GPIO support"
3538c2ecf20Sopenharmony_ci	depends on CPU_LOONGSON2EF || CPU_LOONGSON64 || LOONGARCH
3548c2ecf20Sopenharmony_ci	help
3558c2ecf20Sopenharmony_ci	  driver for GPIO functionality on Loongson-2F/3A/3B processors.
3568c2ecf20Sopenharmony_ci
3578c2ecf20Sopenharmony_ciconfig GPIO_LPC18XX
3588c2ecf20Sopenharmony_ci	tristate "NXP LPC18XX/43XX GPIO support"
3598c2ecf20Sopenharmony_ci	default y if ARCH_LPC18XX
3608c2ecf20Sopenharmony_ci	depends on OF_GPIO && (ARCH_LPC18XX || COMPILE_TEST)
3618c2ecf20Sopenharmony_ci	select IRQ_DOMAIN_HIERARCHY
3628c2ecf20Sopenharmony_ci	help
3638c2ecf20Sopenharmony_ci	  Select this option to enable GPIO driver for
3648c2ecf20Sopenharmony_ci	  NXP LPC18XX/43XX devices.
3658c2ecf20Sopenharmony_ci
3668c2ecf20Sopenharmony_ciconfig GPIO_LPC32XX
3678c2ecf20Sopenharmony_ci	tristate "NXP LPC32XX GPIO support"
3688c2ecf20Sopenharmony_ci	depends on OF_GPIO && (ARCH_LPC32XX || COMPILE_TEST)
3698c2ecf20Sopenharmony_ci	help
3708c2ecf20Sopenharmony_ci	  Select this option to enable GPIO driver for
3718c2ecf20Sopenharmony_ci	  NXP LPC32XX devices.
3728c2ecf20Sopenharmony_ci
3738c2ecf20Sopenharmony_ciconfig GPIO_MB86S7X
3748c2ecf20Sopenharmony_ci	tristate "GPIO support for Fujitsu MB86S7x Platforms"
3758c2ecf20Sopenharmony_ci	help
3768c2ecf20Sopenharmony_ci	  Say yes here to support the GPIO controller in Fujitsu MB86S70 SoCs.
3778c2ecf20Sopenharmony_ci
3788c2ecf20Sopenharmony_ciconfig GPIO_MENZ127
3798c2ecf20Sopenharmony_ci	tristate "MEN 16Z127 GPIO support"
3808c2ecf20Sopenharmony_ci	depends on MCB
3818c2ecf20Sopenharmony_ci	select GPIO_GENERIC
3828c2ecf20Sopenharmony_ci	help
3838c2ecf20Sopenharmony_ci	  Say yes here to support the MEN 16Z127 GPIO Controller
3848c2ecf20Sopenharmony_ci
3858c2ecf20Sopenharmony_ciconfig GPIO_MM_LANTIQ
3868c2ecf20Sopenharmony_ci	bool "Lantiq Memory mapped GPIOs"
3878c2ecf20Sopenharmony_ci	depends on LANTIQ && SOC_XWAY
3888c2ecf20Sopenharmony_ci	help
3898c2ecf20Sopenharmony_ci	  This enables support for memory mapped GPIOs on the External Bus Unit
3908c2ecf20Sopenharmony_ci	  (EBU) found on Lantiq SoCs. The gpios are output only as they are
3918c2ecf20Sopenharmony_ci	  created by attaching a 16bit latch to the bus.
3928c2ecf20Sopenharmony_ci
3938c2ecf20Sopenharmony_ciconfig GPIO_MPC5200
3948c2ecf20Sopenharmony_ci	def_bool y
3958c2ecf20Sopenharmony_ci	depends on PPC_MPC52xx
3968c2ecf20Sopenharmony_ci
3978c2ecf20Sopenharmony_ciconfig GPIO_MPC8XXX
3988c2ecf20Sopenharmony_ci	bool "MPC512x/MPC8xxx/QorIQ GPIO support"
3998c2ecf20Sopenharmony_ci	depends on PPC_MPC512x || PPC_MPC831x || PPC_MPC834x || PPC_MPC837x || \
4008c2ecf20Sopenharmony_ci		   FSL_SOC_BOOKE || PPC_86xx || ARCH_LAYERSCAPE || ARM || \
4018c2ecf20Sopenharmony_ci		   COMPILE_TEST
4028c2ecf20Sopenharmony_ci	select GPIO_GENERIC
4038c2ecf20Sopenharmony_ci	select IRQ_DOMAIN
4048c2ecf20Sopenharmony_ci	help
4058c2ecf20Sopenharmony_ci	  Say Y here if you're going to use hardware that connects to the
4068c2ecf20Sopenharmony_ci	  MPC512x/831x/834x/837x/8572/8610/QorIQ GPIOs.
4078c2ecf20Sopenharmony_ci
4088c2ecf20Sopenharmony_ciconfig GPIO_MT7621
4098c2ecf20Sopenharmony_ci	bool "Mediatek MT7621 GPIO Support"
4108c2ecf20Sopenharmony_ci	depends on SOC_MT7620 || SOC_MT7621 || COMPILE_TEST
4118c2ecf20Sopenharmony_ci	depends on OF_GPIO
4128c2ecf20Sopenharmony_ci	select GPIO_GENERIC
4138c2ecf20Sopenharmony_ci	select GPIOLIB_IRQCHIP
4148c2ecf20Sopenharmony_ci	help
4158c2ecf20Sopenharmony_ci	  Say yes here to support the Mediatek MT7621 SoC GPIO device
4168c2ecf20Sopenharmony_ci
4178c2ecf20Sopenharmony_ciconfig GPIO_MVEBU
4188c2ecf20Sopenharmony_ci	def_bool y
4198c2ecf20Sopenharmony_ci	depends on PLAT_ORION || ARCH_MVEBU
4208c2ecf20Sopenharmony_ci	depends on OF_GPIO
4218c2ecf20Sopenharmony_ci	select GENERIC_IRQ_CHIP
4228c2ecf20Sopenharmony_ci	select REGMAP_MMIO
4238c2ecf20Sopenharmony_ci
4248c2ecf20Sopenharmony_ciconfig GPIO_MXC
4258c2ecf20Sopenharmony_ci	tristate "i.MX GPIO support"
4268c2ecf20Sopenharmony_ci	depends on ARCH_MXC || COMPILE_TEST
4278c2ecf20Sopenharmony_ci	select GPIO_GENERIC
4288c2ecf20Sopenharmony_ci	select GENERIC_IRQ_CHIP
4298c2ecf20Sopenharmony_ci
4308c2ecf20Sopenharmony_ciconfig GPIO_MXS
4318c2ecf20Sopenharmony_ci	bool "Freescale MXS GPIO support" if COMPILE_TEST
4328c2ecf20Sopenharmony_ci	depends on ARCH_MXS || COMPILE_TEST
4338c2ecf20Sopenharmony_ci	default y if ARCH_MXS
4348c2ecf20Sopenharmony_ci	select GPIO_GENERIC
4358c2ecf20Sopenharmony_ci	select GENERIC_IRQ_CHIP
4368c2ecf20Sopenharmony_ci
4378c2ecf20Sopenharmony_ciconfig GPIO_OCTEON
4388c2ecf20Sopenharmony_ci	tristate "Cavium OCTEON GPIO"
4398c2ecf20Sopenharmony_ci	depends on CAVIUM_OCTEON_SOC
4408c2ecf20Sopenharmony_ci	default y
4418c2ecf20Sopenharmony_ci	help
4428c2ecf20Sopenharmony_ci	  Say yes here to support the on-chip GPIO lines on the OCTEON
4438c2ecf20Sopenharmony_ci	  family of SOCs.
4448c2ecf20Sopenharmony_ci
4458c2ecf20Sopenharmony_ciconfig GPIO_OMAP
4468c2ecf20Sopenharmony_ci	tristate "TI OMAP GPIO support" if ARCH_OMAP2PLUS || COMPILE_TEST
4478c2ecf20Sopenharmony_ci	default y if ARCH_OMAP
4488c2ecf20Sopenharmony_ci	depends on ARM
4498c2ecf20Sopenharmony_ci	select GENERIC_IRQ_CHIP
4508c2ecf20Sopenharmony_ci	select GPIOLIB_IRQCHIP
4518c2ecf20Sopenharmony_ci	help
4528c2ecf20Sopenharmony_ci	  Say yes here to enable GPIO support for TI OMAP SoCs.
4538c2ecf20Sopenharmony_ci
4548c2ecf20Sopenharmony_ciconfig GPIO_PL061
4558c2ecf20Sopenharmony_ci	tristate "PrimeCell PL061 GPIO support"
4568c2ecf20Sopenharmony_ci	depends on ARM_AMBA
4578c2ecf20Sopenharmony_ci	select IRQ_DOMAIN
4588c2ecf20Sopenharmony_ci	select GPIOLIB_IRQCHIP
4598c2ecf20Sopenharmony_ci	help
4608c2ecf20Sopenharmony_ci	  Say yes here to support the PrimeCell PL061 GPIO device
4618c2ecf20Sopenharmony_ci
4628c2ecf20Sopenharmony_ciconfig GPIO_PMIC_EIC_SPRD
4638c2ecf20Sopenharmony_ci	tristate "Spreadtrum PMIC EIC support"
4648c2ecf20Sopenharmony_ci	depends on MFD_SC27XX_PMIC || COMPILE_TEST
4658c2ecf20Sopenharmony_ci	depends on OF_GPIO
4668c2ecf20Sopenharmony_ci	select GPIOLIB_IRQCHIP
4678c2ecf20Sopenharmony_ci	help
4688c2ecf20Sopenharmony_ci	  Say yes here to support Spreadtrum PMIC EIC device.
4698c2ecf20Sopenharmony_ci
4708c2ecf20Sopenharmony_ciconfig GPIO_PXA
4718c2ecf20Sopenharmony_ci	bool "PXA GPIO support"
4728c2ecf20Sopenharmony_ci	depends on ARCH_PXA || ARCH_MMP || COMPILE_TEST
4738c2ecf20Sopenharmony_ci	help
4748c2ecf20Sopenharmony_ci	  Say yes here to support the PXA GPIO device
4758c2ecf20Sopenharmony_ci
4768c2ecf20Sopenharmony_ciconfig GPIO_RCAR
4778c2ecf20Sopenharmony_ci	tristate "Renesas R-Car GPIO"
4788c2ecf20Sopenharmony_ci	depends on ARCH_RENESAS || COMPILE_TEST
4798c2ecf20Sopenharmony_ci	select GPIOLIB_IRQCHIP
4808c2ecf20Sopenharmony_ci	help
4818c2ecf20Sopenharmony_ci	  Say yes here to support GPIO on Renesas R-Car SoCs.
4828c2ecf20Sopenharmony_ci
4838c2ecf20Sopenharmony_ciconfig GPIO_RDA
4848c2ecf20Sopenharmony_ci	bool "RDA Micro GPIO controller support"
4858c2ecf20Sopenharmony_ci	depends on ARCH_RDA || COMPILE_TEST
4868c2ecf20Sopenharmony_ci	depends on OF_GPIO
4878c2ecf20Sopenharmony_ci	select GPIO_GENERIC
4888c2ecf20Sopenharmony_ci	select GPIOLIB_IRQCHIP
4898c2ecf20Sopenharmony_ci	help
4908c2ecf20Sopenharmony_ci	  Say Y here to support RDA Micro GPIO controller.
4918c2ecf20Sopenharmony_ci
4928c2ecf20Sopenharmony_ciconfig GPIO_REG
4938c2ecf20Sopenharmony_ci	bool
4948c2ecf20Sopenharmony_ci	help
4958c2ecf20Sopenharmony_ci	  A 32-bit single register GPIO fixed in/out implementation.  This
4968c2ecf20Sopenharmony_ci	  can be used to represent any register as a set of GPIO signals.
4978c2ecf20Sopenharmony_ci
4988c2ecf20Sopenharmony_ciconfig GPIO_SAMA5D2_PIOBU
4998c2ecf20Sopenharmony_ci	tristate "SAMA5D2 PIOBU GPIO support"
5008c2ecf20Sopenharmony_ci	depends on MFD_SYSCON
5018c2ecf20Sopenharmony_ci	depends on OF_GPIO
5028c2ecf20Sopenharmony_ci	select GPIO_SYSCON
5038c2ecf20Sopenharmony_ci	help
5048c2ecf20Sopenharmony_ci	  Say yes here to use the PIOBU pins as GPIOs.
5058c2ecf20Sopenharmony_ci
5068c2ecf20Sopenharmony_ci	  PIOBU pins on the SAMA5D2 can be used as GPIOs.
5078c2ecf20Sopenharmony_ci	  The difference from regular GPIOs is that they
5088c2ecf20Sopenharmony_ci	  maintain their value during backup/self-refresh.
5098c2ecf20Sopenharmony_ci
5108c2ecf20Sopenharmony_ciconfig GPIO_SIFIVE
5118c2ecf20Sopenharmony_ci	bool "SiFive GPIO support"
5128c2ecf20Sopenharmony_ci	depends on OF_GPIO
5138c2ecf20Sopenharmony_ci	select IRQ_DOMAIN_HIERARCHY
5148c2ecf20Sopenharmony_ci	select GPIO_GENERIC
5158c2ecf20Sopenharmony_ci	select GPIOLIB_IRQCHIP
5168c2ecf20Sopenharmony_ci	select REGMAP_MMIO
5178c2ecf20Sopenharmony_ci	help
5188c2ecf20Sopenharmony_ci	  Say yes here to support the GPIO device on SiFive SoCs.
5198c2ecf20Sopenharmony_ci
5208c2ecf20Sopenharmony_ciconfig GPIO_SIOX
5218c2ecf20Sopenharmony_ci	tristate "SIOX GPIO support"
5228c2ecf20Sopenharmony_ci	depends on SIOX
5238c2ecf20Sopenharmony_ci	select GPIOLIB_IRQCHIP
5248c2ecf20Sopenharmony_ci	help
5258c2ecf20Sopenharmony_ci	  Say yes here to support SIOX I/O devices. These are units connected
5268c2ecf20Sopenharmony_ci	  via a SIOX bus and have a number of fixed-direction I/O lines.
5278c2ecf20Sopenharmony_ci
5288c2ecf20Sopenharmony_ciconfig GPIO_SNPS_CREG
5298c2ecf20Sopenharmony_ci	bool "Synopsys GPIO via CREG (Control REGisters) driver"
5308c2ecf20Sopenharmony_ci	depends on ARC || COMPILE_TEST
5318c2ecf20Sopenharmony_ci	depends on OF_GPIO
5328c2ecf20Sopenharmony_ci	help
5338c2ecf20Sopenharmony_ci	  This driver supports GPIOs via CREG on various Synopsys SoCs.
5348c2ecf20Sopenharmony_ci	  This is a single-register MMIO GPIO driver for complex cases
5358c2ecf20Sopenharmony_ci	  where only several fields in register belong to GPIO lines and
5368c2ecf20Sopenharmony_ci	  each GPIO line owns a field with different length and on/off value.
5378c2ecf20Sopenharmony_ci
5388c2ecf20Sopenharmony_ciconfig GPIO_SPEAR_SPICS
5398c2ecf20Sopenharmony_ci	bool "ST SPEAr13xx SPI Chip Select as GPIO support"
5408c2ecf20Sopenharmony_ci	depends on PLAT_SPEAR
5418c2ecf20Sopenharmony_ci	select GENERIC_IRQ_CHIP
5428c2ecf20Sopenharmony_ci	help
5438c2ecf20Sopenharmony_ci	  Say yes here to support ST SPEAr SPI Chip Select as GPIO device
5448c2ecf20Sopenharmony_ci
5458c2ecf20Sopenharmony_ciconfig GPIO_SPRD
5468c2ecf20Sopenharmony_ci	tristate "Spreadtrum GPIO support"
5478c2ecf20Sopenharmony_ci	depends on ARCH_SPRD || COMPILE_TEST
5488c2ecf20Sopenharmony_ci	depends on OF_GPIO
5498c2ecf20Sopenharmony_ci	select GPIOLIB_IRQCHIP
5508c2ecf20Sopenharmony_ci	help
5518c2ecf20Sopenharmony_ci	  Say yes here to support Spreadtrum GPIO device.
5528c2ecf20Sopenharmony_ci
5538c2ecf20Sopenharmony_ciconfig GPIO_STA2X11
5548c2ecf20Sopenharmony_ci	bool "STA2x11/ConneXt GPIO support"
5558c2ecf20Sopenharmony_ci	depends on MFD_STA2X11
5568c2ecf20Sopenharmony_ci	select GENERIC_IRQ_CHIP
5578c2ecf20Sopenharmony_ci	help
5588c2ecf20Sopenharmony_ci	  Say yes here to support the STA2x11/ConneXt GPIO device.
5598c2ecf20Sopenharmony_ci	  The GPIO module has 128 GPIO pins with alternate functions.
5608c2ecf20Sopenharmony_ci
5618c2ecf20Sopenharmony_ciconfig GPIO_STP_XWAY
5628c2ecf20Sopenharmony_ci	bool "XWAY STP GPIOs"
5638c2ecf20Sopenharmony_ci	depends on SOC_XWAY || COMPILE_TEST
5648c2ecf20Sopenharmony_ci	depends on OF_GPIO
5658c2ecf20Sopenharmony_ci	help
5668c2ecf20Sopenharmony_ci	  This enables support for the Serial To Parallel (STP) unit found on
5678c2ecf20Sopenharmony_ci	  XWAY SoC. The STP allows the SoC to drive a shift registers cascade,
5688c2ecf20Sopenharmony_ci	  that can be up to 24 bit. This peripheral is aimed at driving leds.
5698c2ecf20Sopenharmony_ci	  Some of the gpios/leds can be auto updated by the soc with dsl and
5708c2ecf20Sopenharmony_ci	  phy status.
5718c2ecf20Sopenharmony_ci
5728c2ecf20Sopenharmony_ciconfig GPIO_SYSCON
5738c2ecf20Sopenharmony_ci	tristate "GPIO based on SYSCON"
5748c2ecf20Sopenharmony_ci	depends on MFD_SYSCON && OF
5758c2ecf20Sopenharmony_ci	help
5768c2ecf20Sopenharmony_ci	  Say yes here to support GPIO functionality though SYSCON driver.
5778c2ecf20Sopenharmony_ci
5788c2ecf20Sopenharmony_ciconfig GPIO_TB10X
5798c2ecf20Sopenharmony_ci	bool
5808c2ecf20Sopenharmony_ci	select GPIO_GENERIC
5818c2ecf20Sopenharmony_ci	select GENERIC_IRQ_CHIP
5828c2ecf20Sopenharmony_ci	select OF_GPIO
5838c2ecf20Sopenharmony_ci
5848c2ecf20Sopenharmony_ciconfig GPIO_TEGRA
5858c2ecf20Sopenharmony_ci	bool "NVIDIA Tegra GPIO support"
5868c2ecf20Sopenharmony_ci	default ARCH_TEGRA
5878c2ecf20Sopenharmony_ci	depends on ARCH_TEGRA || COMPILE_TEST
5888c2ecf20Sopenharmony_ci	depends on OF_GPIO
5898c2ecf20Sopenharmony_ci	help
5908c2ecf20Sopenharmony_ci	  Say yes here to support GPIO pins on NVIDIA Tegra SoCs.
5918c2ecf20Sopenharmony_ci
5928c2ecf20Sopenharmony_ciconfig GPIO_TEGRA186
5938c2ecf20Sopenharmony_ci	tristate "NVIDIA Tegra186 GPIO support"
5948c2ecf20Sopenharmony_ci	default ARCH_TEGRA_186_SOC || ARCH_TEGRA_194_SOC
5958c2ecf20Sopenharmony_ci	depends on ARCH_TEGRA_186_SOC || ARCH_TEGRA_194_SOC || COMPILE_TEST
5968c2ecf20Sopenharmony_ci	depends on OF_GPIO
5978c2ecf20Sopenharmony_ci	select GPIOLIB_IRQCHIP
5988c2ecf20Sopenharmony_ci	select IRQ_DOMAIN_HIERARCHY
5998c2ecf20Sopenharmony_ci	help
6008c2ecf20Sopenharmony_ci	  Say yes here to support GPIO pins on NVIDIA Tegra186 SoCs.
6018c2ecf20Sopenharmony_ci
6028c2ecf20Sopenharmony_ciconfig GPIO_TS4800
6038c2ecf20Sopenharmony_ci	tristate "TS-4800 DIO blocks and compatibles"
6048c2ecf20Sopenharmony_ci	depends on OF_GPIO
6058c2ecf20Sopenharmony_ci	depends on SOC_IMX51 || COMPILE_TEST
6068c2ecf20Sopenharmony_ci	select GPIO_GENERIC
6078c2ecf20Sopenharmony_ci	help
6088c2ecf20Sopenharmony_ci	  This driver support TS-4800 FPGA GPIO controllers.
6098c2ecf20Sopenharmony_ci
6108c2ecf20Sopenharmony_ciconfig GPIO_THUNDERX
6118c2ecf20Sopenharmony_ci	tristate "Cavium ThunderX/OCTEON-TX GPIO"
6128c2ecf20Sopenharmony_ci	depends on ARCH_THUNDER || (64BIT && COMPILE_TEST)
6138c2ecf20Sopenharmony_ci	depends on PCI_MSI
6148c2ecf20Sopenharmony_ci	select GPIOLIB_IRQCHIP
6158c2ecf20Sopenharmony_ci	select IRQ_DOMAIN_HIERARCHY
6168c2ecf20Sopenharmony_ci	select IRQ_FASTEOI_HIERARCHY_HANDLERS
6178c2ecf20Sopenharmony_ci	help
6188c2ecf20Sopenharmony_ci	  Say yes here to support the on-chip GPIO lines on the ThunderX
6198c2ecf20Sopenharmony_ci	  and OCTEON-TX families of SoCs.
6208c2ecf20Sopenharmony_ci
6218c2ecf20Sopenharmony_ciconfig GPIO_UNIPHIER
6228c2ecf20Sopenharmony_ci	tristate "UniPhier GPIO support"
6238c2ecf20Sopenharmony_ci	depends on ARCH_UNIPHIER || COMPILE_TEST
6248c2ecf20Sopenharmony_ci	depends on OF_GPIO
6258c2ecf20Sopenharmony_ci	select IRQ_DOMAIN_HIERARCHY
6268c2ecf20Sopenharmony_ci	help
6278c2ecf20Sopenharmony_ci	  Say yes here to support UniPhier GPIOs.
6288c2ecf20Sopenharmony_ci
6298c2ecf20Sopenharmony_ciconfig GPIO_VF610
6308c2ecf20Sopenharmony_ci	def_bool y
6318c2ecf20Sopenharmony_ci	depends on ARCH_MXC && SOC_VF610
6328c2ecf20Sopenharmony_ci	select GPIOLIB_IRQCHIP
6338c2ecf20Sopenharmony_ci	help
6348c2ecf20Sopenharmony_ci	  Say yes here to support Vybrid vf610 GPIOs.
6358c2ecf20Sopenharmony_ci
6368c2ecf20Sopenharmony_ciconfig GPIO_VR41XX
6378c2ecf20Sopenharmony_ci	tristate "NEC VR4100 series General-purpose I/O Uint support"
6388c2ecf20Sopenharmony_ci	depends on CPU_VR41XX
6398c2ecf20Sopenharmony_ci	help
6408c2ecf20Sopenharmony_ci	  Say yes here to support the NEC VR4100 series General-purpose I/O Uint
6418c2ecf20Sopenharmony_ci
6428c2ecf20Sopenharmony_ciconfig GPIO_VX855
6438c2ecf20Sopenharmony_ci	tristate "VIA VX855/VX875 GPIO"
6448c2ecf20Sopenharmony_ci	depends on (X86 || COMPILE_TEST) && PCI
6458c2ecf20Sopenharmony_ci	select MFD_CORE
6468c2ecf20Sopenharmony_ci	select MFD_VX855
6478c2ecf20Sopenharmony_ci	help
6488c2ecf20Sopenharmony_ci	  Support access to the VX855/VX875 GPIO lines through the gpio library.
6498c2ecf20Sopenharmony_ci
6508c2ecf20Sopenharmony_ci	  This driver provides common support for accessing the device,
6518c2ecf20Sopenharmony_ci	  additional drivers must be enabled in order to use the
6528c2ecf20Sopenharmony_ci	  functionality of the device.
6538c2ecf20Sopenharmony_ci
6548c2ecf20Sopenharmony_ciconfig GPIO_WCD934X
6558c2ecf20Sopenharmony_ci	tristate "Qualcomm Technologies Inc WCD9340/WCD9341 gpio controller driver"
6568c2ecf20Sopenharmony_ci	depends on MFD_WCD934X && OF_GPIO
6578c2ecf20Sopenharmony_ci	help
6588c2ecf20Sopenharmony_ci         This driver is to supprot GPIO block found on the Qualcomm Technologies
6598c2ecf20Sopenharmony_ci	 Inc WCD9340/WCD9341 Audio Codec.
6608c2ecf20Sopenharmony_ci
6618c2ecf20Sopenharmony_ciconfig GPIO_XGENE
6628c2ecf20Sopenharmony_ci	bool "APM X-Gene GPIO controller support"
6638c2ecf20Sopenharmony_ci	depends on ARM64 && OF_GPIO
6648c2ecf20Sopenharmony_ci	help
6658c2ecf20Sopenharmony_ci	  This driver is to support the GPIO block within the APM X-Gene SoC
6668c2ecf20Sopenharmony_ci	  platform's generic flash controller. The GPIO pins are muxed with
6678c2ecf20Sopenharmony_ci	  the generic flash controller's address and data pins. Say yes
6688c2ecf20Sopenharmony_ci	  here to enable the GFC GPIO functionality.
6698c2ecf20Sopenharmony_ci
6708c2ecf20Sopenharmony_ciconfig GPIO_XGENE_SB
6718c2ecf20Sopenharmony_ci	tristate "APM X-Gene GPIO standby controller support"
6728c2ecf20Sopenharmony_ci	depends on (ARCH_XGENE || COMPILE_TEST)
6738c2ecf20Sopenharmony_ci	select GPIO_GENERIC
6748c2ecf20Sopenharmony_ci	select GPIOLIB_IRQCHIP
6758c2ecf20Sopenharmony_ci	select IRQ_DOMAIN_HIERARCHY
6768c2ecf20Sopenharmony_ci	help
6778c2ecf20Sopenharmony_ci	  This driver supports the GPIO block within the APM X-Gene
6788c2ecf20Sopenharmony_ci	  Standby Domain. Say yes here to enable the GPIO functionality.
6798c2ecf20Sopenharmony_ci
6808c2ecf20Sopenharmony_ciconfig GPIO_XILINX
6818c2ecf20Sopenharmony_ci	tristate "Xilinx GPIO support"
6828c2ecf20Sopenharmony_ci	help
6838c2ecf20Sopenharmony_ci	  Say yes here to support the Xilinx FPGA GPIO device
6848c2ecf20Sopenharmony_ci
6858c2ecf20Sopenharmony_ciconfig GPIO_XLP
6868c2ecf20Sopenharmony_ci	tristate "Netlogic XLP GPIO support"
6878c2ecf20Sopenharmony_ci	depends on OF_GPIO && (CPU_XLP || ARCH_THUNDER2 || COMPILE_TEST)
6888c2ecf20Sopenharmony_ci	select GPIOLIB_IRQCHIP
6898c2ecf20Sopenharmony_ci	help
6908c2ecf20Sopenharmony_ci	  This driver provides support for GPIO interface on Netlogic XLP MIPS64
6918c2ecf20Sopenharmony_ci	  SoCs. Currently supported XLP variants are XLP8XX, XLP3XX, XLP2XX,
6928c2ecf20Sopenharmony_ci	  XLP9XX and XLP5XX. The same GPIO controller block is also present in
6938c2ecf20Sopenharmony_ci	  Cavium's ThunderX2 CN99XX SoCs.
6948c2ecf20Sopenharmony_ci
6958c2ecf20Sopenharmony_ci	  If unsure, say N.
6968c2ecf20Sopenharmony_ci
6978c2ecf20Sopenharmony_ciconfig GPIO_XTENSA
6988c2ecf20Sopenharmony_ci	bool "Xtensa GPIO32 support"
6998c2ecf20Sopenharmony_ci	depends on XTENSA
7008c2ecf20Sopenharmony_ci	depends on HAVE_XTENSA_GPIO32
7018c2ecf20Sopenharmony_ci	depends on !SMP
7028c2ecf20Sopenharmony_ci	help
7038c2ecf20Sopenharmony_ci	  Say yes here to support the Xtensa internal GPIO32 IMPWIRE (input)
7048c2ecf20Sopenharmony_ci	  and EXPSTATE (output) ports
7058c2ecf20Sopenharmony_ci
7068c2ecf20Sopenharmony_ciconfig GPIO_ZEVIO
7078c2ecf20Sopenharmony_ci	bool "LSI ZEVIO SoC memory mapped GPIOs"
7088c2ecf20Sopenharmony_ci	depends on ARM && OF_GPIO
7098c2ecf20Sopenharmony_ci	help
7108c2ecf20Sopenharmony_ci	  Say yes here to support the GPIO controller in LSI ZEVIO SoCs.
7118c2ecf20Sopenharmony_ci
7128c2ecf20Sopenharmony_ciconfig GPIO_ZYNQ
7138c2ecf20Sopenharmony_ci	tristate "Xilinx Zynq GPIO support"
7148c2ecf20Sopenharmony_ci	depends on ARCH_ZYNQ || ARCH_ZYNQMP
7158c2ecf20Sopenharmony_ci	select GPIOLIB_IRQCHIP
7168c2ecf20Sopenharmony_ci	help
7178c2ecf20Sopenharmony_ci	  Say yes here to support Xilinx Zynq GPIO controller.
7188c2ecf20Sopenharmony_ci
7198c2ecf20Sopenharmony_ciconfig GPIO_ZX
7208c2ecf20Sopenharmony_ci	bool "ZTE ZX GPIO support"
7218c2ecf20Sopenharmony_ci	depends on ARCH_ZX || COMPILE_TEST
7228c2ecf20Sopenharmony_ci	select GPIOLIB_IRQCHIP
7238c2ecf20Sopenharmony_ci	help
7248c2ecf20Sopenharmony_ci	  Say yes here to support the GPIO device on ZTE ZX SoCs.
7258c2ecf20Sopenharmony_ci
7268c2ecf20Sopenharmony_ciconfig GPIO_LOONGSON1
7278c2ecf20Sopenharmony_ci	tristate "Loongson1 GPIO support"
7288c2ecf20Sopenharmony_ci	depends on MACH_LOONGSON32
7298c2ecf20Sopenharmony_ci	select GPIO_GENERIC
7308c2ecf20Sopenharmony_ci	help
7318c2ecf20Sopenharmony_ci	  Say Y or M here to support GPIO on Loongson1 SoCs.
7328c2ecf20Sopenharmony_ci
7338c2ecf20Sopenharmony_ciconfig GPIO_AMD_FCH
7348c2ecf20Sopenharmony_ci	tristate "GPIO support for AMD Fusion Controller Hub (G-series SOCs)"
7358c2ecf20Sopenharmony_ci	help
7368c2ecf20Sopenharmony_ci	  This option enables driver for GPIO on AMDs Fusion Controller Hub,
7378c2ecf20Sopenharmony_ci	  as found on G-series SOCs (eg. GX-412TC)
7388c2ecf20Sopenharmony_ci
7398c2ecf20Sopenharmony_ci	  Note: This driver doesn't registers itself automatically, as it
7408c2ecf20Sopenharmony_ci	  needs to be provided with platform specific configuration.
7418c2ecf20Sopenharmony_ci	  (See eg. CONFIG_PCENGINES_APU2.)
7428c2ecf20Sopenharmony_ciendmenu
7438c2ecf20Sopenharmony_ci
7448c2ecf20Sopenharmony_cimenu "Port-mapped I/O GPIO drivers"
7458c2ecf20Sopenharmony_ci	depends on X86 # Unconditional I/O space access
7468c2ecf20Sopenharmony_ci
7478c2ecf20Sopenharmony_ciconfig GPIO_104_DIO_48E
7488c2ecf20Sopenharmony_ci	tristate "ACCES 104-DIO-48E GPIO support"
7498c2ecf20Sopenharmony_ci	depends on PC104
7508c2ecf20Sopenharmony_ci	select ISA_BUS_API
7518c2ecf20Sopenharmony_ci	select GPIOLIB_IRQCHIP
7528c2ecf20Sopenharmony_ci	help
7538c2ecf20Sopenharmony_ci	  Enables GPIO support for the ACCES 104-DIO-48E series (104-DIO-48E,
7548c2ecf20Sopenharmony_ci	  104-DIO-24E). The base port addresses for the devices may be
7558c2ecf20Sopenharmony_ci	  configured via the base module parameter. The interrupt line numbers
7568c2ecf20Sopenharmony_ci	  for the devices may be configured via the irq module parameter.
7578c2ecf20Sopenharmony_ci
7588c2ecf20Sopenharmony_ciconfig GPIO_104_IDIO_16
7598c2ecf20Sopenharmony_ci	tristate "ACCES 104-IDIO-16 GPIO support"
7608c2ecf20Sopenharmony_ci	depends on PC104
7618c2ecf20Sopenharmony_ci	select ISA_BUS_API
7628c2ecf20Sopenharmony_ci	select GPIOLIB_IRQCHIP
7638c2ecf20Sopenharmony_ci	help
7648c2ecf20Sopenharmony_ci	  Enables GPIO support for the ACCES 104-IDIO-16 family (104-IDIO-16,
7658c2ecf20Sopenharmony_ci	  104-IDIO-16E, 104-IDO-16, 104-IDIO-8, 104-IDIO-8E, 104-IDO-8). The
7668c2ecf20Sopenharmony_ci	  base port addresses for the devices may be configured via the base
7678c2ecf20Sopenharmony_ci	  module parameter. The interrupt line numbers for the devices may be
7688c2ecf20Sopenharmony_ci	  configured via the irq module parameter.
7698c2ecf20Sopenharmony_ci
7708c2ecf20Sopenharmony_ciconfig GPIO_104_IDI_48
7718c2ecf20Sopenharmony_ci	tristate "ACCES 104-IDI-48 GPIO support"
7728c2ecf20Sopenharmony_ci	depends on PC104
7738c2ecf20Sopenharmony_ci	select ISA_BUS_API
7748c2ecf20Sopenharmony_ci	select GPIOLIB_IRQCHIP
7758c2ecf20Sopenharmony_ci	help
7768c2ecf20Sopenharmony_ci	  Enables GPIO support for the ACCES 104-IDI-48 family (104-IDI-48A,
7778c2ecf20Sopenharmony_ci	  104-IDI-48AC, 104-IDI-48B, 104-IDI-48BC). The base port addresses for
7788c2ecf20Sopenharmony_ci	  the devices may be configured via the base module parameter. The
7798c2ecf20Sopenharmony_ci	  interrupt line numbers for the devices may be configured via the irq
7808c2ecf20Sopenharmony_ci	  module parameter.
7818c2ecf20Sopenharmony_ci
7828c2ecf20Sopenharmony_ciconfig GPIO_F7188X
7838c2ecf20Sopenharmony_ci	tristate "F71869, F71869A, F71882FG, F71889F and F81866 GPIO support"
7848c2ecf20Sopenharmony_ci	help
7858c2ecf20Sopenharmony_ci	  This option enables support for GPIOs found on Fintek Super-I/O
7868c2ecf20Sopenharmony_ci	  chips F71869, F71869A, F71882FG, F71889F and F81866.
7878c2ecf20Sopenharmony_ci
7888c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module will
7898c2ecf20Sopenharmony_ci	  be called f7188x-gpio.
7908c2ecf20Sopenharmony_ci
7918c2ecf20Sopenharmony_ciconfig GPIO_GPIO_MM
7928c2ecf20Sopenharmony_ci	tristate "Diamond Systems GPIO-MM GPIO support"
7938c2ecf20Sopenharmony_ci	depends on PC104
7948c2ecf20Sopenharmony_ci	select ISA_BUS_API
7958c2ecf20Sopenharmony_ci	help
7968c2ecf20Sopenharmony_ci	  Enables GPIO support for the Diamond Systems GPIO-MM and GPIO-MM-12.
7978c2ecf20Sopenharmony_ci
7988c2ecf20Sopenharmony_ci	  The Diamond Systems GPIO-MM device features 48 lines of digital I/O
7998c2ecf20Sopenharmony_ci	  via the emulation of dual 82C55A PPI chips. This driver provides GPIO
8008c2ecf20Sopenharmony_ci	  support for these 48 channels of digital I/O.
8018c2ecf20Sopenharmony_ci
8028c2ecf20Sopenharmony_ci	  The base port addresses for the devices may be configured via the base
8038c2ecf20Sopenharmony_ci	  array module parameter.
8048c2ecf20Sopenharmony_ci
8058c2ecf20Sopenharmony_ciconfig GPIO_IT87
8068c2ecf20Sopenharmony_ci	tristate "IT87xx GPIO support"
8078c2ecf20Sopenharmony_ci	help
8088c2ecf20Sopenharmony_ci	  Say yes here to support GPIO functionality of IT87xx Super I/O chips.
8098c2ecf20Sopenharmony_ci
8108c2ecf20Sopenharmony_ci	  This driver is tested with ITE IT8728 and IT8732 Super I/O chips, and
8118c2ecf20Sopenharmony_ci	  supports the IT8761E, IT8613, IT8620E, and IT8628E Super I/O chips as
8128c2ecf20Sopenharmony_ci	  well.
8138c2ecf20Sopenharmony_ci
8148c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module will
8158c2ecf20Sopenharmony_ci	  be called gpio_it87
8168c2ecf20Sopenharmony_ci
8178c2ecf20Sopenharmony_ciconfig GPIO_SCH
8188c2ecf20Sopenharmony_ci	tristate "Intel SCH/TunnelCreek/Centerton/Quark X1000 GPIO"
8198c2ecf20Sopenharmony_ci	depends on (X86 || COMPILE_TEST) && PCI
8208c2ecf20Sopenharmony_ci	select MFD_CORE
8218c2ecf20Sopenharmony_ci	select LPC_SCH
8228c2ecf20Sopenharmony_ci	help
8238c2ecf20Sopenharmony_ci	  Say yes here to support GPIO interface on Intel Poulsbo SCH,
8248c2ecf20Sopenharmony_ci	  Intel Tunnel Creek processor, Intel Centerton processor or
8258c2ecf20Sopenharmony_ci	  Intel Quark X1000 SoC.
8268c2ecf20Sopenharmony_ci
8278c2ecf20Sopenharmony_ci	  The Intel SCH contains a total of 14 GPIO pins. Ten GPIOs are
8288c2ecf20Sopenharmony_ci	  powered by the core power rail and are turned off during sleep
8298c2ecf20Sopenharmony_ci	  modes (S3 and higher). The remaining four GPIOs are powered by
8308c2ecf20Sopenharmony_ci	  the Intel SCH suspend power supply. These GPIOs remain
8318c2ecf20Sopenharmony_ci	  active during S3. The suspend powered GPIOs can be used to wake the
8328c2ecf20Sopenharmony_ci	  system from the Suspend-to-RAM state.
8338c2ecf20Sopenharmony_ci
8348c2ecf20Sopenharmony_ci	  The Intel Tunnel Creek processor has 5 GPIOs powered by the
8358c2ecf20Sopenharmony_ci	  core power rail and 9 from suspend power supply.
8368c2ecf20Sopenharmony_ci
8378c2ecf20Sopenharmony_ci	  The Intel Centerton processor has a total of 30 GPIO pins.
8388c2ecf20Sopenharmony_ci	  Twenty-one are powered by the core power rail and 9 from the
8398c2ecf20Sopenharmony_ci	  suspend power supply.
8408c2ecf20Sopenharmony_ci
8418c2ecf20Sopenharmony_ci	  The Intel Quark X1000 SoC has 2 GPIOs powered by the core
8428c2ecf20Sopenharmony_ci	  power well and 6 from the suspend power well.
8438c2ecf20Sopenharmony_ci
8448c2ecf20Sopenharmony_ciconfig GPIO_SCH311X
8458c2ecf20Sopenharmony_ci	tristate "SMSC SCH311x SuperI/O GPIO"
8468c2ecf20Sopenharmony_ci	help
8478c2ecf20Sopenharmony_ci	  Driver to enable the GPIOs found on SMSC SMSC SCH3112, SCH3114 and
8488c2ecf20Sopenharmony_ci	  SCH3116 "Super I/O" chipsets.
8498c2ecf20Sopenharmony_ci
8508c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module will
8518c2ecf20Sopenharmony_ci	  be called gpio-sch311x.
8528c2ecf20Sopenharmony_ci
8538c2ecf20Sopenharmony_ciconfig GPIO_TS5500
8548c2ecf20Sopenharmony_ci	tristate "TS-5500 DIO blocks and compatibles"
8558c2ecf20Sopenharmony_ci	depends on TS5500 || COMPILE_TEST
8568c2ecf20Sopenharmony_ci	help
8578c2ecf20Sopenharmony_ci	  This driver supports Digital I/O exposed by pin blocks found on some
8588c2ecf20Sopenharmony_ci	  Technologic Systems platforms. It includes, but is not limited to, 3
8598c2ecf20Sopenharmony_ci	  blocks of the TS-5500: DIO1, DIO2 and the LCD port, and the TS-5600
8608c2ecf20Sopenharmony_ci	  LCD port.
8618c2ecf20Sopenharmony_ci
8628c2ecf20Sopenharmony_ciconfig GPIO_WINBOND
8638c2ecf20Sopenharmony_ci	tristate "Winbond Super I/O GPIO support"
8648c2ecf20Sopenharmony_ci	select ISA_BUS_API
8658c2ecf20Sopenharmony_ci	help
8668c2ecf20Sopenharmony_ci	  This option enables support for GPIOs found on Winbond Super I/O
8678c2ecf20Sopenharmony_ci	  chips.
8688c2ecf20Sopenharmony_ci	  Currently, only W83627UHG (also known as Nuvoton NCT6627UD) is
8698c2ecf20Sopenharmony_ci	  supported.
8708c2ecf20Sopenharmony_ci
8718c2ecf20Sopenharmony_ci	  You will need to provide a module parameter "gpios", or a
8728c2ecf20Sopenharmony_ci	  boot-time parameter "gpio_winbond.gpios" with a bitmask of GPIO
8738c2ecf20Sopenharmony_ci	  ports to enable (bit 0 is GPIO1, bit 1 is GPIO2, etc.).
8748c2ecf20Sopenharmony_ci
8758c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module will
8768c2ecf20Sopenharmony_ci	  be called gpio-winbond.
8778c2ecf20Sopenharmony_ci
8788c2ecf20Sopenharmony_ciconfig GPIO_WS16C48
8798c2ecf20Sopenharmony_ci	tristate "WinSystems WS16C48 GPIO support"
8808c2ecf20Sopenharmony_ci	select ISA_BUS_API
8818c2ecf20Sopenharmony_ci	select GPIOLIB_IRQCHIP
8828c2ecf20Sopenharmony_ci	help
8838c2ecf20Sopenharmony_ci	  Enables GPIO support for the WinSystems WS16C48. The base port
8848c2ecf20Sopenharmony_ci	  addresses for the devices may be configured via the base module
8858c2ecf20Sopenharmony_ci	  parameter. The interrupt line numbers for the devices may be
8868c2ecf20Sopenharmony_ci	  configured via the irq module parameter.
8878c2ecf20Sopenharmony_ci
8888c2ecf20Sopenharmony_ciendmenu
8898c2ecf20Sopenharmony_ci
8908c2ecf20Sopenharmony_cimenu "I2C GPIO expanders"
8918c2ecf20Sopenharmony_ci	depends on I2C
8928c2ecf20Sopenharmony_ci
8938c2ecf20Sopenharmony_ciconfig GPIO_ADP5588
8948c2ecf20Sopenharmony_ci	tristate "ADP5588 I2C GPIO expander"
8958c2ecf20Sopenharmony_ci	help
8968c2ecf20Sopenharmony_ci	  This option enables support for 18 GPIOs found
8978c2ecf20Sopenharmony_ci	  on Analog Devices ADP5588 GPIO Expanders.
8988c2ecf20Sopenharmony_ci
8998c2ecf20Sopenharmony_ciconfig GPIO_ADP5588_IRQ
9008c2ecf20Sopenharmony_ci	bool "Interrupt controller support for ADP5588"
9018c2ecf20Sopenharmony_ci	depends on GPIO_ADP5588=y
9028c2ecf20Sopenharmony_ci	select GPIOLIB_IRQCHIP
9038c2ecf20Sopenharmony_ci	help
9048c2ecf20Sopenharmony_ci	  Say yes here to enable the adp5588 to be used as an interrupt
9058c2ecf20Sopenharmony_ci	  controller. It requires the driver to be built in the kernel.
9068c2ecf20Sopenharmony_ci
9078c2ecf20Sopenharmony_ciconfig GPIO_ADNP
9088c2ecf20Sopenharmony_ci	tristate "Avionic Design N-bit GPIO expander"
9098c2ecf20Sopenharmony_ci	depends on OF_GPIO
9108c2ecf20Sopenharmony_ci	select GPIOLIB_IRQCHIP
9118c2ecf20Sopenharmony_ci	help
9128c2ecf20Sopenharmony_ci	  This option enables support for N GPIOs found on Avionic Design
9138c2ecf20Sopenharmony_ci	  I2C GPIO expanders. The register space will be extended by powers
9148c2ecf20Sopenharmony_ci	  of two, so the controller will need to accommodate for that. For
9158c2ecf20Sopenharmony_ci	  example: if a controller provides 48 pins, 6 registers will be
9168c2ecf20Sopenharmony_ci	  enough to represent all pins, but the driver will assume a
9178c2ecf20Sopenharmony_ci	  register layout for 64 pins (8 registers).
9188c2ecf20Sopenharmony_ci
9198c2ecf20Sopenharmony_ciconfig GPIO_GW_PLD
9208c2ecf20Sopenharmony_ci	tristate "Gateworks PLD GPIO Expander"
9218c2ecf20Sopenharmony_ci	depends on OF_GPIO
9228c2ecf20Sopenharmony_ci	help
9238c2ecf20Sopenharmony_ci	  Say yes here to provide access to the Gateworks I2C PLD GPIO
9248c2ecf20Sopenharmony_ci	  Expander. This is used at least on the Cambria GW2358-4.
9258c2ecf20Sopenharmony_ci
9268c2ecf20Sopenharmony_ciconfig GPIO_MAX7300
9278c2ecf20Sopenharmony_ci	tristate "Maxim MAX7300 GPIO expander"
9288c2ecf20Sopenharmony_ci	select GPIO_MAX730X
9298c2ecf20Sopenharmony_ci	help
9308c2ecf20Sopenharmony_ci	  GPIO driver for Maxim MAX7300 I2C-based GPIO expander.
9318c2ecf20Sopenharmony_ci
9328c2ecf20Sopenharmony_ciconfig GPIO_MAX732X
9338c2ecf20Sopenharmony_ci	tristate "MAX7319, MAX7320-7327 I2C Port Expanders"
9348c2ecf20Sopenharmony_ci	help
9358c2ecf20Sopenharmony_ci	  Say yes here to support the MAX7319, MAX7320-7327 series of I2C
9368c2ecf20Sopenharmony_ci	  Port Expanders. Each IO port on these chips has a fixed role of
9378c2ecf20Sopenharmony_ci	  Input (designated by 'I'), Push-Pull Output ('O'), or Open-Drain
9388c2ecf20Sopenharmony_ci	  Input and Output (designed by 'P'). The combinations are listed
9398c2ecf20Sopenharmony_ci	  below:
9408c2ecf20Sopenharmony_ci
9418c2ecf20Sopenharmony_ci	  8 bits:       max7319 (8I), max7320 (8O), max7321 (8P),
9428c2ecf20Sopenharmony_ci	                max7322 (4I4O), max7323 (4P4O)
9438c2ecf20Sopenharmony_ci
9448c2ecf20Sopenharmony_ci	  16 bits:      max7324 (8I8O), max7325 (8P8O),
9458c2ecf20Sopenharmony_ci	                max7326 (4I12O), max7327 (4P12O)
9468c2ecf20Sopenharmony_ci
9478c2ecf20Sopenharmony_ci	  Board setup code must specify the model to use, and the start
9488c2ecf20Sopenharmony_ci	  number for these GPIOs.
9498c2ecf20Sopenharmony_ci
9508c2ecf20Sopenharmony_ciconfig GPIO_MAX732X_IRQ
9518c2ecf20Sopenharmony_ci	bool "Interrupt controller support for MAX732x"
9528c2ecf20Sopenharmony_ci	depends on GPIO_MAX732X=y
9538c2ecf20Sopenharmony_ci	select GPIOLIB_IRQCHIP
9548c2ecf20Sopenharmony_ci	help
9558c2ecf20Sopenharmony_ci	  Say yes here to enable the max732x to be used as an interrupt
9568c2ecf20Sopenharmony_ci	  controller. It requires the driver to be built in the kernel.
9578c2ecf20Sopenharmony_ci
9588c2ecf20Sopenharmony_ciconfig GPIO_MC9S08DZ60
9598c2ecf20Sopenharmony_ci	bool "MX35 3DS BOARD MC9S08DZ60 GPIO functions"
9608c2ecf20Sopenharmony_ci	depends on I2C=y && MACH_MX35_3DS
9618c2ecf20Sopenharmony_ci	help
9628c2ecf20Sopenharmony_ci	  Select this to enable the MC9S08DZ60 GPIO driver
9638c2ecf20Sopenharmony_ci
9648c2ecf20Sopenharmony_ciconfig GPIO_PCA953X
9658c2ecf20Sopenharmony_ci	tristate "PCA95[357]x, PCA9698, TCA64xx, and MAX7310 I/O ports"
9668c2ecf20Sopenharmony_ci	select REGMAP_I2C
9678c2ecf20Sopenharmony_ci	help
9688c2ecf20Sopenharmony_ci	  Say yes here to provide access to several register-oriented
9698c2ecf20Sopenharmony_ci	  SMBus I/O expanders, made mostly by NXP or TI.  Compatible
9708c2ecf20Sopenharmony_ci	  models include:
9718c2ecf20Sopenharmony_ci
9728c2ecf20Sopenharmony_ci	  4 bits:       pca9536, pca9537
9738c2ecf20Sopenharmony_ci
9748c2ecf20Sopenharmony_ci	  8 bits:       max7310, max7315, pca6107, pca9534, pca9538, pca9554,
9758c2ecf20Sopenharmony_ci	                pca9556, pca9557, pca9574, tca6408, tca9554, xra1202
9768c2ecf20Sopenharmony_ci
9778c2ecf20Sopenharmony_ci	  16 bits:      max7312, max7313, pca9535, pca9539, pca9555, pca9575,
9788c2ecf20Sopenharmony_ci	                tca6416
9798c2ecf20Sopenharmony_ci
9808c2ecf20Sopenharmony_ci	  24 bits:      tca6424
9818c2ecf20Sopenharmony_ci
9828c2ecf20Sopenharmony_ci	  40 bits:      pca9505, pca9698
9838c2ecf20Sopenharmony_ci
9848c2ecf20Sopenharmony_ciconfig GPIO_PCA953X_IRQ
9858c2ecf20Sopenharmony_ci	bool "Interrupt controller support for PCA953x"
9868c2ecf20Sopenharmony_ci	depends on GPIO_PCA953X
9878c2ecf20Sopenharmony_ci	select GPIOLIB_IRQCHIP
9888c2ecf20Sopenharmony_ci	help
9898c2ecf20Sopenharmony_ci	  Say yes here to enable the pca953x to be used as an interrupt
9908c2ecf20Sopenharmony_ci	  controller. It requires the driver to be built in the kernel.
9918c2ecf20Sopenharmony_ci
9928c2ecf20Sopenharmony_ciconfig GPIO_PCA9570
9938c2ecf20Sopenharmony_ci	tristate "PCA9570 4-Bit I2C GPO expander"
9948c2ecf20Sopenharmony_ci	help
9958c2ecf20Sopenharmony_ci	  Say yes here to enable the GPO driver for the NXP PCA9570 chip.
9968c2ecf20Sopenharmony_ci
9978c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module will
9988c2ecf20Sopenharmony_ci	  be called gpio-pca9570.
9998c2ecf20Sopenharmony_ci
10008c2ecf20Sopenharmony_ciconfig GPIO_PCF857X
10018c2ecf20Sopenharmony_ci	tristate "PCF857x, PCA{85,96}7x, and MAX732[89] I2C GPIO expanders"
10028c2ecf20Sopenharmony_ci	select GPIOLIB_IRQCHIP
10038c2ecf20Sopenharmony_ci	select IRQ_DOMAIN
10048c2ecf20Sopenharmony_ci	help
10058c2ecf20Sopenharmony_ci	  Say yes here to provide access to most "quasi-bidirectional" I2C
10068c2ecf20Sopenharmony_ci	  GPIO expanders used for additional digital outputs or inputs.
10078c2ecf20Sopenharmony_ci	  Most of these parts are from NXP, though TI is a second source for
10088c2ecf20Sopenharmony_ci	  some of them.  Compatible models include:
10098c2ecf20Sopenharmony_ci
10108c2ecf20Sopenharmony_ci	  8 bits:   pcf8574, pcf8574a, pca8574, pca8574a,
10118c2ecf20Sopenharmony_ci	            pca9670, pca9672, pca9674, pca9674a,
10128c2ecf20Sopenharmony_ci	            max7328, max7329
10138c2ecf20Sopenharmony_ci
10148c2ecf20Sopenharmony_ci	  16 bits:  pcf8575, pcf8575c, pca8575,
10158c2ecf20Sopenharmony_ci	            pca9671, pca9673, pca9675
10168c2ecf20Sopenharmony_ci
10178c2ecf20Sopenharmony_ci	  Your board setup code will need to declare the expanders in
10188c2ecf20Sopenharmony_ci	  use, and assign numbers to the GPIOs they expose.  Those GPIOs
10198c2ecf20Sopenharmony_ci	  can then be used from drivers and other kernel code, just like
10208c2ecf20Sopenharmony_ci	  other GPIOs, but only accessible from task contexts.
10218c2ecf20Sopenharmony_ci
10228c2ecf20Sopenharmony_ci	  This driver provides an in-kernel interface to those GPIOs using
10238c2ecf20Sopenharmony_ci	  platform-neutral GPIO calls.
10248c2ecf20Sopenharmony_ci
10258c2ecf20Sopenharmony_ciconfig GPIO_TPIC2810
10268c2ecf20Sopenharmony_ci	tristate "TPIC2810 8-Bit I2C GPO expander"
10278c2ecf20Sopenharmony_ci	help
10288c2ecf20Sopenharmony_ci	  Say yes here to enable the GPO driver for the TI TPIC2810 chip.
10298c2ecf20Sopenharmony_ci
10308c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the module will
10318c2ecf20Sopenharmony_ci	  be called gpio-tpic2810.
10328c2ecf20Sopenharmony_ci
10338c2ecf20Sopenharmony_ciconfig GPIO_TS4900
10348c2ecf20Sopenharmony_ci	tristate "Technologic Systems FPGA I2C GPIO"
10358c2ecf20Sopenharmony_ci	depends on SOC_IMX6 || COMPILE_TEST
10368c2ecf20Sopenharmony_ci	select REGMAP_I2C
10378c2ecf20Sopenharmony_ci	help
10388c2ecf20Sopenharmony_ci	  Say yes here to enabled the GPIO driver for Technologic's FPGA core.
10398c2ecf20Sopenharmony_ci	  Series supported include TS-4100, TS-4900, TS-7970 and TS-7990.
10408c2ecf20Sopenharmony_ci
10418c2ecf20Sopenharmony_ciendmenu
10428c2ecf20Sopenharmony_ci
10438c2ecf20Sopenharmony_cimenu "MFD GPIO expanders"
10448c2ecf20Sopenharmony_ci
10458c2ecf20Sopenharmony_ciconfig GPIO_ADP5520
10468c2ecf20Sopenharmony_ci	tristate "GPIO Support for ADP5520 PMIC"
10478c2ecf20Sopenharmony_ci	depends on PMIC_ADP5520
10488c2ecf20Sopenharmony_ci	help
10498c2ecf20Sopenharmony_ci	  This option enables support for on-chip GPIO found
10508c2ecf20Sopenharmony_ci	  on Analog Devices ADP5520 PMICs.
10518c2ecf20Sopenharmony_ci
10528c2ecf20Sopenharmony_ciconfig GPIO_ALTERA_A10SR
10538c2ecf20Sopenharmony_ci	tristate "Altera Arria10 System Resource GPIO"
10548c2ecf20Sopenharmony_ci	depends on MFD_ALTERA_A10SR
10558c2ecf20Sopenharmony_ci	help
10568c2ecf20Sopenharmony_ci	  Driver for Arria10 Development Kit GPIO expansion which
10578c2ecf20Sopenharmony_ci	  includes reads of pushbuttons and DIP switches as well
10588c2ecf20Sopenharmony_ci	  as writes to LEDs.
10598c2ecf20Sopenharmony_ci
10608c2ecf20Sopenharmony_ciconfig GPIO_ARIZONA
10618c2ecf20Sopenharmony_ci	tristate "Wolfson Microelectronics Arizona class devices"
10628c2ecf20Sopenharmony_ci	depends on MFD_ARIZONA
10638c2ecf20Sopenharmony_ci	help
10648c2ecf20Sopenharmony_ci	  Support for GPIOs on Wolfson Arizona class devices.
10658c2ecf20Sopenharmony_ci
10668c2ecf20Sopenharmony_ciconfig GPIO_BD70528
10678c2ecf20Sopenharmony_ci	tristate "ROHM BD70528 GPIO support"
10688c2ecf20Sopenharmony_ci	depends on MFD_ROHM_BD70528
10698c2ecf20Sopenharmony_ci	help
10708c2ecf20Sopenharmony_ci	  Support for GPIOs on ROHM BD70528 PMIC. There are four GPIOs
10718c2ecf20Sopenharmony_ci	  available on the ROHM PMIC in total. The GPIOs can also
10728c2ecf20Sopenharmony_ci	  generate interrupts.
10738c2ecf20Sopenharmony_ci
10748c2ecf20Sopenharmony_ci	  This driver can also be built as a module. If so, the module
10758c2ecf20Sopenharmony_ci	  will be called gpio-bd70528.
10768c2ecf20Sopenharmony_ci
10778c2ecf20Sopenharmony_ciconfig GPIO_BD71828
10788c2ecf20Sopenharmony_ci	tristate "ROHM BD71828 GPIO support"
10798c2ecf20Sopenharmony_ci	depends on MFD_ROHM_BD71828
10808c2ecf20Sopenharmony_ci	help
10818c2ecf20Sopenharmony_ci	  Support for GPIOs on ROHM BD71828 PMIC. There are three GPIOs
10828c2ecf20Sopenharmony_ci	  available on the ROHM PMIC in total. The GPIOs are limited to
10838c2ecf20Sopenharmony_ci	  outputs only and pins must be configured to GPIO outputs by
10848c2ecf20Sopenharmony_ci	  OTP. Enable this only if you want to use these pins as outputs.
10858c2ecf20Sopenharmony_ci
10868c2ecf20Sopenharmony_ci	  This driver can also be built as a module. If so, the module
10878c2ecf20Sopenharmony_ci	  will be called gpio-bd71828.
10888c2ecf20Sopenharmony_ci
10898c2ecf20Sopenharmony_ciconfig GPIO_BD9571MWV
10908c2ecf20Sopenharmony_ci	tristate "ROHM BD9571 GPIO support"
10918c2ecf20Sopenharmony_ci	depends on MFD_BD9571MWV
10928c2ecf20Sopenharmony_ci	help
10938c2ecf20Sopenharmony_ci	  Support for GPIOs on ROHM BD9571 PMIC. There are two GPIOs
10948c2ecf20Sopenharmony_ci	  available on the ROHM PMIC in total, both of which can also
10958c2ecf20Sopenharmony_ci	  generate interrupts.
10968c2ecf20Sopenharmony_ci
10978c2ecf20Sopenharmony_ci	  This driver can also be built as a module. If so, the module
10988c2ecf20Sopenharmony_ci	  will be called gpio-bd9571mwv.
10998c2ecf20Sopenharmony_ci
11008c2ecf20Sopenharmony_ciconfig GPIO_CRYSTAL_COVE
11018c2ecf20Sopenharmony_ci	tristate "GPIO support for Crystal Cove PMIC"
11028c2ecf20Sopenharmony_ci	depends on (X86 || COMPILE_TEST) && INTEL_SOC_PMIC
11038c2ecf20Sopenharmony_ci	select GPIOLIB_IRQCHIP
11048c2ecf20Sopenharmony_ci	help
11058c2ecf20Sopenharmony_ci	  Support for GPIO pins on Crystal Cove PMIC.
11068c2ecf20Sopenharmony_ci
11078c2ecf20Sopenharmony_ci	  Say Yes if you have a Intel SoC based tablet with Crystal Cove PMIC
11088c2ecf20Sopenharmony_ci	  inside.
11098c2ecf20Sopenharmony_ci
11108c2ecf20Sopenharmony_ci	  This driver can also be built as a module. If so, the module will be
11118c2ecf20Sopenharmony_ci	  called gpio-crystalcove.
11128c2ecf20Sopenharmony_ci
11138c2ecf20Sopenharmony_ciconfig GPIO_CS5535
11148c2ecf20Sopenharmony_ci	tristate "AMD CS5535/CS5536 GPIO support"
11158c2ecf20Sopenharmony_ci	depends on X86 || MIPS || COMPILE_TEST
11168c2ecf20Sopenharmony_ci	depends on MFD_CS5535
11178c2ecf20Sopenharmony_ci	help
11188c2ecf20Sopenharmony_ci	  The AMD CS5535 and CS5536 southbridges support 28 GPIO pins that
11198c2ecf20Sopenharmony_ci	  can be used for quite a number of things.  The CS5535/6 is found on
11208c2ecf20Sopenharmony_ci	  AMD Geode and Lemote Yeeloong devices.
11218c2ecf20Sopenharmony_ci
11228c2ecf20Sopenharmony_ci	  If unsure, say N.
11238c2ecf20Sopenharmony_ci
11248c2ecf20Sopenharmony_ciconfig GPIO_DA9052
11258c2ecf20Sopenharmony_ci	tristate "Dialog DA9052 GPIO"
11268c2ecf20Sopenharmony_ci	depends on PMIC_DA9052
11278c2ecf20Sopenharmony_ci	help
11288c2ecf20Sopenharmony_ci	  Say yes here to enable the GPIO driver for the DA9052 chip.
11298c2ecf20Sopenharmony_ci
11308c2ecf20Sopenharmony_ciconfig GPIO_DA9055
11318c2ecf20Sopenharmony_ci	tristate "Dialog Semiconductor DA9055 GPIO"
11328c2ecf20Sopenharmony_ci	depends on MFD_DA9055
11338c2ecf20Sopenharmony_ci	help
11348c2ecf20Sopenharmony_ci	  Say yes here to enable the GPIO driver for the DA9055 chip.
11358c2ecf20Sopenharmony_ci
11368c2ecf20Sopenharmony_ci	  The Dialog DA9055 PMIC chip has 3 GPIO pins that can be
11378c2ecf20Sopenharmony_ci	  be controller by this driver.
11388c2ecf20Sopenharmony_ci
11398c2ecf20Sopenharmony_ci	  If driver is built as a module it will be called gpio-da9055.
11408c2ecf20Sopenharmony_ci
11418c2ecf20Sopenharmony_ciconfig GPIO_DLN2
11428c2ecf20Sopenharmony_ci	tristate "Diolan DLN2 GPIO support"
11438c2ecf20Sopenharmony_ci	depends on MFD_DLN2
11448c2ecf20Sopenharmony_ci	select GPIOLIB_IRQCHIP
11458c2ecf20Sopenharmony_ci
11468c2ecf20Sopenharmony_ci	help
11478c2ecf20Sopenharmony_ci	  Select this option to enable GPIO driver for the Diolan DLN2
11488c2ecf20Sopenharmony_ci	  board.
11498c2ecf20Sopenharmony_ci
11508c2ecf20Sopenharmony_ci	  This driver can also be built as a module. If so, the module
11518c2ecf20Sopenharmony_ci	  will be called gpio-dln2.
11528c2ecf20Sopenharmony_ci
11538c2ecf20Sopenharmony_ciconfig HTC_EGPIO
11548c2ecf20Sopenharmony_ci	bool "HTC EGPIO support"
11558c2ecf20Sopenharmony_ci	depends on ARM
11568c2ecf20Sopenharmony_ci	help
11578c2ecf20Sopenharmony_ci	  This driver supports the CPLD egpio chip present on
11588c2ecf20Sopenharmony_ci	  several HTC phones.  It provides basic support for input
11598c2ecf20Sopenharmony_ci	  pins, output pins, and irqs.
11608c2ecf20Sopenharmony_ci
11618c2ecf20Sopenharmony_ciconfig GPIO_JANZ_TTL
11628c2ecf20Sopenharmony_ci	tristate "Janz VMOD-TTL Digital IO Module"
11638c2ecf20Sopenharmony_ci	depends on MFD_JANZ_CMODIO
11648c2ecf20Sopenharmony_ci	help
11658c2ecf20Sopenharmony_ci	  This enables support for the Janz VMOD-TTL Digital IO module.
11668c2ecf20Sopenharmony_ci	  This driver provides support for driving the pins in output
11678c2ecf20Sopenharmony_ci	  mode only. Input mode is not supported.
11688c2ecf20Sopenharmony_ci
11698c2ecf20Sopenharmony_ciconfig GPIO_KEMPLD
11708c2ecf20Sopenharmony_ci	tristate "Kontron ETX / COMexpress GPIO"
11718c2ecf20Sopenharmony_ci	depends on MFD_KEMPLD
11728c2ecf20Sopenharmony_ci	help
11738c2ecf20Sopenharmony_ci	  This enables support for the PLD GPIO interface on some Kontron ETX
11748c2ecf20Sopenharmony_ci	  and COMexpress (ETXexpress) modules.
11758c2ecf20Sopenharmony_ci
11768c2ecf20Sopenharmony_ci	  This driver can also be built as a module. If so, the module will be
11778c2ecf20Sopenharmony_ci	  called gpio-kempld.
11788c2ecf20Sopenharmony_ci
11798c2ecf20Sopenharmony_ciconfig GPIO_LP3943
11808c2ecf20Sopenharmony_ci	tristate "TI/National Semiconductor LP3943 GPIO expander"
11818c2ecf20Sopenharmony_ci	depends on MFD_LP3943
11828c2ecf20Sopenharmony_ci	help
11838c2ecf20Sopenharmony_ci	  GPIO driver for LP3943 MFD.
11848c2ecf20Sopenharmony_ci	  LP3943 can be used as a GPIO expander which provides up to 16 GPIOs.
11858c2ecf20Sopenharmony_ci	  Open drain outputs are required for this usage.
11868c2ecf20Sopenharmony_ci
11878c2ecf20Sopenharmony_ciconfig GPIO_LP873X
11888c2ecf20Sopenharmony_ci	tristate "TI LP873X GPO"
11898c2ecf20Sopenharmony_ci	depends on MFD_TI_LP873X
11908c2ecf20Sopenharmony_ci	help
11918c2ecf20Sopenharmony_ci	  This driver supports the GPO on TI Lp873x PMICs. 2 GPOs are present
11928c2ecf20Sopenharmony_ci	  on LP873X PMICs.
11938c2ecf20Sopenharmony_ci
11948c2ecf20Sopenharmony_ci	  This driver can also be built as a module. If so, the module will be
11958c2ecf20Sopenharmony_ci	  called gpio-lp873x.
11968c2ecf20Sopenharmony_ci
11978c2ecf20Sopenharmony_ciconfig GPIO_LP87565
11988c2ecf20Sopenharmony_ci	tristate "TI LP87565 GPIO"
11998c2ecf20Sopenharmony_ci	depends on MFD_TI_LP87565
12008c2ecf20Sopenharmony_ci	help
12018c2ecf20Sopenharmony_ci	  This driver supports the GPIO on TI Lp873565 PMICs. 3 GPIOs are present
12028c2ecf20Sopenharmony_ci	  on LP87565 PMICs.
12038c2ecf20Sopenharmony_ci
12048c2ecf20Sopenharmony_ci	  This driver can also be built as a module. If so, the module will be
12058c2ecf20Sopenharmony_ci	  called gpio-lp87565.
12068c2ecf20Sopenharmony_ci
12078c2ecf20Sopenharmony_ciconfig GPIO_MADERA
12088c2ecf20Sopenharmony_ci	tristate "Cirrus Logic Madera class codecs"
12098c2ecf20Sopenharmony_ci	depends on PINCTRL_MADERA
12108c2ecf20Sopenharmony_ci	help
12118c2ecf20Sopenharmony_ci	  Support for GPIOs on Cirrus Logic Madera class codecs.
12128c2ecf20Sopenharmony_ci
12138c2ecf20Sopenharmony_ciconfig GPIO_MAX77620
12148c2ecf20Sopenharmony_ci	tristate "GPIO support for PMIC MAX77620 and MAX20024"
12158c2ecf20Sopenharmony_ci	depends on MFD_MAX77620
12168c2ecf20Sopenharmony_ci	select GPIOLIB_IRQCHIP
12178c2ecf20Sopenharmony_ci	help
12188c2ecf20Sopenharmony_ci	  GPIO driver for MAX77620 and MAX20024 PMIC from Maxim Semiconductor.
12198c2ecf20Sopenharmony_ci	  MAX77620 PMIC has 8 pins that can be configured as GPIOs. The
12208c2ecf20Sopenharmony_ci	  driver also provides interrupt support for each of the gpios.
12218c2ecf20Sopenharmony_ci	  Say yes here to enable the max77620 to be used as gpio controller.
12228c2ecf20Sopenharmony_ci
12238c2ecf20Sopenharmony_ciconfig GPIO_MAX77650
12248c2ecf20Sopenharmony_ci	tristate "Maxim MAX77650/77651 GPIO support"
12258c2ecf20Sopenharmony_ci	depends on MFD_MAX77650
12268c2ecf20Sopenharmony_ci	help
12278c2ecf20Sopenharmony_ci	  GPIO driver for MAX77650/77651 PMIC from Maxim Semiconductor.
12288c2ecf20Sopenharmony_ci	  These chips have a single pin that can be configured as GPIO.
12298c2ecf20Sopenharmony_ci
12308c2ecf20Sopenharmony_ciconfig GPIO_MSIC
12318c2ecf20Sopenharmony_ci	bool "Intel MSIC mixed signal gpio support"
12328c2ecf20Sopenharmony_ci	depends on (X86 || COMPILE_TEST) && MFD_INTEL_MSIC
12338c2ecf20Sopenharmony_ci	help
12348c2ecf20Sopenharmony_ci	  Enable support for GPIO on intel MSIC controllers found in
12358c2ecf20Sopenharmony_ci	  intel MID devices
12368c2ecf20Sopenharmony_ci
12378c2ecf20Sopenharmony_ciconfig GPIO_PALMAS
12388c2ecf20Sopenharmony_ci	bool "TI PALMAS series PMICs GPIO"
12398c2ecf20Sopenharmony_ci	depends on MFD_PALMAS
12408c2ecf20Sopenharmony_ci	help
12418c2ecf20Sopenharmony_ci	  Select this option to enable GPIO driver for the TI PALMAS
12428c2ecf20Sopenharmony_ci	  series chip family.
12438c2ecf20Sopenharmony_ci
12448c2ecf20Sopenharmony_ciconfig GPIO_RC5T583
12458c2ecf20Sopenharmony_ci	bool "RICOH RC5T583 GPIO"
12468c2ecf20Sopenharmony_ci	depends on MFD_RC5T583
12478c2ecf20Sopenharmony_ci	help
12488c2ecf20Sopenharmony_ci	  Select this option to enable GPIO driver for the Ricoh RC5T583
12498c2ecf20Sopenharmony_ci	  chip family.
12508c2ecf20Sopenharmony_ci	  This driver provides the support for driving/reading the gpio pins
12518c2ecf20Sopenharmony_ci	  of RC5T583 device through standard gpio library.
12528c2ecf20Sopenharmony_ci
12538c2ecf20Sopenharmony_ciconfig GPIO_SL28CPLD
12548c2ecf20Sopenharmony_ci	tristate "Kontron sl28cpld GPIO support"
12558c2ecf20Sopenharmony_ci	depends on MFD_SL28CPLD || COMPILE_TEST
12568c2ecf20Sopenharmony_ci	select GPIO_REGMAP
12578c2ecf20Sopenharmony_ci	select GPIOLIB_IRQCHIP
12588c2ecf20Sopenharmony_ci	select REGMAP_IRQ
12598c2ecf20Sopenharmony_ci	help
12608c2ecf20Sopenharmony_ci	  This enables support for the GPIOs found on the Kontron sl28 CPLD.
12618c2ecf20Sopenharmony_ci
12628c2ecf20Sopenharmony_ci	  This driver can also be built as a module. If so, the module will be
12638c2ecf20Sopenharmony_ci	  called gpio-sl28cpld.
12648c2ecf20Sopenharmony_ci
12658c2ecf20Sopenharmony_ciconfig GPIO_STMPE
12668c2ecf20Sopenharmony_ci	bool "STMPE GPIOs"
12678c2ecf20Sopenharmony_ci	depends on MFD_STMPE
12688c2ecf20Sopenharmony_ci	depends on OF_GPIO
12698c2ecf20Sopenharmony_ci	select GPIOLIB_IRQCHIP
12708c2ecf20Sopenharmony_ci	help
12718c2ecf20Sopenharmony_ci	  This enables support for the GPIOs found on the STMPE I/O
12728c2ecf20Sopenharmony_ci	  Expanders.
12738c2ecf20Sopenharmony_ci
12748c2ecf20Sopenharmony_ciconfig GPIO_TC3589X
12758c2ecf20Sopenharmony_ci	bool "TC3589X GPIOs"
12768c2ecf20Sopenharmony_ci	depends on MFD_TC3589X
12778c2ecf20Sopenharmony_ci	depends on OF_GPIO
12788c2ecf20Sopenharmony_ci	select GPIOLIB_IRQCHIP
12798c2ecf20Sopenharmony_ci	help
12808c2ecf20Sopenharmony_ci	  This enables support for the GPIOs found on the TC3589X
12818c2ecf20Sopenharmony_ci	  I/O Expander.
12828c2ecf20Sopenharmony_ci
12838c2ecf20Sopenharmony_ciconfig GPIO_TIMBERDALE
12848c2ecf20Sopenharmony_ci	bool "Support for timberdale GPIO IP"
12858c2ecf20Sopenharmony_ci	depends on MFD_TIMBERDALE
12868c2ecf20Sopenharmony_ci	help
12878c2ecf20Sopenharmony_ci	Add support for the GPIO IP in the timberdale FPGA.
12888c2ecf20Sopenharmony_ci
12898c2ecf20Sopenharmony_ciconfig GPIO_TPS65086
12908c2ecf20Sopenharmony_ci	tristate "TI TPS65086 GPO"
12918c2ecf20Sopenharmony_ci	depends on MFD_TPS65086
12928c2ecf20Sopenharmony_ci	help
12938c2ecf20Sopenharmony_ci	  This driver supports the GPO on TI TPS65086x PMICs.
12948c2ecf20Sopenharmony_ci
12958c2ecf20Sopenharmony_ciconfig GPIO_TPS65218
12968c2ecf20Sopenharmony_ci	tristate "TPS65218 GPIO"
12978c2ecf20Sopenharmony_ci	depends on MFD_TPS65218
12988c2ecf20Sopenharmony_ci	help
12998c2ecf20Sopenharmony_ci	  Select this option to enable GPIO driver for the TPS65218
13008c2ecf20Sopenharmony_ci	  chip family.
13018c2ecf20Sopenharmony_ci
13028c2ecf20Sopenharmony_ciconfig GPIO_TPS6586X
13038c2ecf20Sopenharmony_ci	bool "TPS6586X GPIO"
13048c2ecf20Sopenharmony_ci	depends on MFD_TPS6586X
13058c2ecf20Sopenharmony_ci	help
13068c2ecf20Sopenharmony_ci	  Select this option to enable GPIO driver for the TPS6586X
13078c2ecf20Sopenharmony_ci	  chip family.
13088c2ecf20Sopenharmony_ci
13098c2ecf20Sopenharmony_ciconfig GPIO_TPS65910
13108c2ecf20Sopenharmony_ci	bool "TPS65910 GPIO"
13118c2ecf20Sopenharmony_ci	depends on MFD_TPS65910
13128c2ecf20Sopenharmony_ci	help
13138c2ecf20Sopenharmony_ci	  Select this option to enable GPIO driver for the TPS65910
13148c2ecf20Sopenharmony_ci	  chip family.
13158c2ecf20Sopenharmony_ci
13168c2ecf20Sopenharmony_ciconfig GPIO_TPS65912
13178c2ecf20Sopenharmony_ci	tristate "TI TPS65912 GPIO"
13188c2ecf20Sopenharmony_ci	depends on MFD_TPS65912
13198c2ecf20Sopenharmony_ci	help
13208c2ecf20Sopenharmony_ci	  This driver supports TPS65912 gpio chip
13218c2ecf20Sopenharmony_ci
13228c2ecf20Sopenharmony_ciconfig GPIO_TPS68470
13238c2ecf20Sopenharmony_ci	bool "TPS68470 GPIO"
13248c2ecf20Sopenharmony_ci	depends on MFD_TPS68470
13258c2ecf20Sopenharmony_ci	help
13268c2ecf20Sopenharmony_ci	  Select this option to enable GPIO driver for the TPS68470
13278c2ecf20Sopenharmony_ci	  chip family.
13288c2ecf20Sopenharmony_ci	  There are 7 GPIOs and few sensor related GPIOs supported
13298c2ecf20Sopenharmony_ci	  by the TPS68470. While the 7 GPIOs can be configured as
13308c2ecf20Sopenharmony_ci	  input or output as appropriate, the sensor related GPIOs
13318c2ecf20Sopenharmony_ci	  are "output only" GPIOs.
13328c2ecf20Sopenharmony_ci
13338c2ecf20Sopenharmony_ci	  This driver config is bool, as the GPIO functionality
13348c2ecf20Sopenharmony_ci	  of the TPS68470 must be available before dependent
13358c2ecf20Sopenharmony_ci	  drivers are loaded.
13368c2ecf20Sopenharmony_ci
13378c2ecf20Sopenharmony_ciconfig GPIO_TQMX86
13388c2ecf20Sopenharmony_ci	tristate "TQ-Systems QTMX86 GPIO"
13398c2ecf20Sopenharmony_ci	depends on MFD_TQMX86 || COMPILE_TEST
13408c2ecf20Sopenharmony_ci	depends on HAS_IOPORT_MAP
13418c2ecf20Sopenharmony_ci	select GPIOLIB_IRQCHIP
13428c2ecf20Sopenharmony_ci	help
13438c2ecf20Sopenharmony_ci	  This driver supports GPIO on the TQMX86 IO controller.
13448c2ecf20Sopenharmony_ci
13458c2ecf20Sopenharmony_ciconfig GPIO_TWL4030
13468c2ecf20Sopenharmony_ci	tristate "TWL4030, TWL5030, and TPS659x0 GPIOs"
13478c2ecf20Sopenharmony_ci	depends on TWL4030_CORE
13488c2ecf20Sopenharmony_ci	help
13498c2ecf20Sopenharmony_ci	  Say yes here to access the GPIO signals of various multi-function
13508c2ecf20Sopenharmony_ci	  power management chips from Texas Instruments.
13518c2ecf20Sopenharmony_ci
13528c2ecf20Sopenharmony_ciconfig GPIO_TWL6040
13538c2ecf20Sopenharmony_ci	tristate "TWL6040 GPO"
13548c2ecf20Sopenharmony_ci	depends on TWL6040_CORE
13558c2ecf20Sopenharmony_ci	help
13568c2ecf20Sopenharmony_ci	  Say yes here to access the GPO signals of twl6040
13578c2ecf20Sopenharmony_ci	  audio chip from Texas Instruments.
13588c2ecf20Sopenharmony_ci
13598c2ecf20Sopenharmony_ciconfig GPIO_UCB1400
13608c2ecf20Sopenharmony_ci	tristate "Philips UCB1400 GPIO"
13618c2ecf20Sopenharmony_ci	depends on UCB1400_CORE
13628c2ecf20Sopenharmony_ci	help
13638c2ecf20Sopenharmony_ci	  This enables support for the Philips UCB1400 GPIO pins.
13648c2ecf20Sopenharmony_ci	  The UCB1400 is an AC97 audio codec.
13658c2ecf20Sopenharmony_ci
13668c2ecf20Sopenharmony_ciconfig GPIO_WHISKEY_COVE
13678c2ecf20Sopenharmony_ci	tristate "GPIO support for Whiskey Cove PMIC"
13688c2ecf20Sopenharmony_ci	depends on (X86 || COMPILE_TEST) && INTEL_SOC_PMIC_BXTWC
13698c2ecf20Sopenharmony_ci	select GPIOLIB_IRQCHIP
13708c2ecf20Sopenharmony_ci	help
13718c2ecf20Sopenharmony_ci	  Support for GPIO pins on Whiskey Cove PMIC.
13728c2ecf20Sopenharmony_ci
13738c2ecf20Sopenharmony_ci	  Say Yes if you have a Intel SoC based tablet with Whiskey Cove PMIC
13748c2ecf20Sopenharmony_ci	  inside.
13758c2ecf20Sopenharmony_ci
13768c2ecf20Sopenharmony_ci	  This driver can also be built as a module. If so, the module will be
13778c2ecf20Sopenharmony_ci	  called gpio-wcove.
13788c2ecf20Sopenharmony_ci
13798c2ecf20Sopenharmony_ciconfig GPIO_WM831X
13808c2ecf20Sopenharmony_ci	tristate "WM831x GPIOs"
13818c2ecf20Sopenharmony_ci	depends on MFD_WM831X
13828c2ecf20Sopenharmony_ci	help
13838c2ecf20Sopenharmony_ci	  Say yes here to access the GPIO signals of WM831x power management
13848c2ecf20Sopenharmony_ci	  chips from Wolfson Microelectronics.
13858c2ecf20Sopenharmony_ci
13868c2ecf20Sopenharmony_ciconfig GPIO_WM8350
13878c2ecf20Sopenharmony_ci	tristate "WM8350 GPIOs"
13888c2ecf20Sopenharmony_ci	depends on MFD_WM8350
13898c2ecf20Sopenharmony_ci	help
13908c2ecf20Sopenharmony_ci	  Say yes here to access the GPIO signals of WM8350 power management
13918c2ecf20Sopenharmony_ci	  chips from Wolfson Microelectronics.
13928c2ecf20Sopenharmony_ci
13938c2ecf20Sopenharmony_ciconfig GPIO_WM8994
13948c2ecf20Sopenharmony_ci	tristate "WM8994 GPIOs"
13958c2ecf20Sopenharmony_ci	depends on MFD_WM8994
13968c2ecf20Sopenharmony_ci	help
13978c2ecf20Sopenharmony_ci	  Say yes here to access the GPIO signals of WM8994 audio hub
13988c2ecf20Sopenharmony_ci	  CODECs from Wolfson Microelectronics.
13998c2ecf20Sopenharmony_ci
14008c2ecf20Sopenharmony_ciendmenu
14018c2ecf20Sopenharmony_ci
14028c2ecf20Sopenharmony_cimenu "PCI GPIO expanders"
14038c2ecf20Sopenharmony_ci	depends on PCI
14048c2ecf20Sopenharmony_ci
14058c2ecf20Sopenharmony_ciconfig GPIO_AMD8111
14068c2ecf20Sopenharmony_ci	tristate "AMD 8111 GPIO driver"
14078c2ecf20Sopenharmony_ci	depends on X86 || COMPILE_TEST
14088c2ecf20Sopenharmony_ci	depends on HAS_IOPORT_MAP
14098c2ecf20Sopenharmony_ci	help
14108c2ecf20Sopenharmony_ci	  The AMD 8111 south bridge contains 32 GPIO pins which can be used.
14118c2ecf20Sopenharmony_ci
14128c2ecf20Sopenharmony_ci	  Note, that usually system firmware/ACPI handles GPIO pins on their
14138c2ecf20Sopenharmony_ci	  own and users might easily break their systems with uncarefull usage
14148c2ecf20Sopenharmony_ci	  of this driver!
14158c2ecf20Sopenharmony_ci
14168c2ecf20Sopenharmony_ci	  If unsure, say N
14178c2ecf20Sopenharmony_ci
14188c2ecf20Sopenharmony_ciconfig GPIO_BT8XX
14198c2ecf20Sopenharmony_ci	tristate "BT8XX GPIO abuser"
14208c2ecf20Sopenharmony_ci	depends on VIDEO_BT848=n
14218c2ecf20Sopenharmony_ci	help
14228c2ecf20Sopenharmony_ci	  The BT8xx frame grabber chip has 24 GPIO pins that can be abused
14238c2ecf20Sopenharmony_ci	  as a cheap PCI GPIO card.
14248c2ecf20Sopenharmony_ci
14258c2ecf20Sopenharmony_ci	  This chip can be found on Miro, Hauppauge and STB TV-cards.
14268c2ecf20Sopenharmony_ci
14278c2ecf20Sopenharmony_ci	  The card needs to be physically altered for using it as a
14288c2ecf20Sopenharmony_ci	  GPIO card. For more information on how to build a GPIO card
14298c2ecf20Sopenharmony_ci	  from a BT8xx TV card, see the documentation file at
14308c2ecf20Sopenharmony_ci	  Documentation/driver-api/gpio/bt8xxgpio.rst
14318c2ecf20Sopenharmony_ci
14328c2ecf20Sopenharmony_ci	  If unsure, say N.
14338c2ecf20Sopenharmony_ci
14348c2ecf20Sopenharmony_ciconfig GPIO_INTEL_MID
14358c2ecf20Sopenharmony_ci	bool "Intel MID GPIO support"
14368c2ecf20Sopenharmony_ci	depends on X86_INTEL_MID
14378c2ecf20Sopenharmony_ci	select GPIOLIB_IRQCHIP
14388c2ecf20Sopenharmony_ci	help
14398c2ecf20Sopenharmony_ci	  Say Y here to support Intel MID GPIO.
14408c2ecf20Sopenharmony_ci
14418c2ecf20Sopenharmony_ciconfig GPIO_MERRIFIELD
14428c2ecf20Sopenharmony_ci	tristate "Intel Merrifield GPIO support"
14438c2ecf20Sopenharmony_ci	depends on X86_INTEL_MID
14448c2ecf20Sopenharmony_ci	select GPIOLIB_IRQCHIP
14458c2ecf20Sopenharmony_ci	help
14468c2ecf20Sopenharmony_ci	  Say Y here to support Intel Merrifield GPIO.
14478c2ecf20Sopenharmony_ci
14488c2ecf20Sopenharmony_ciconfig GPIO_MLXBF
14498c2ecf20Sopenharmony_ci	tristate "Mellanox BlueField SoC GPIO"
14508c2ecf20Sopenharmony_ci	depends on (MELLANOX_PLATFORM && ARM64 && ACPI) || (64BIT && COMPILE_TEST)
14518c2ecf20Sopenharmony_ci	select GPIO_GENERIC
14528c2ecf20Sopenharmony_ci	help
14538c2ecf20Sopenharmony_ci	  Say Y here if you want GPIO support on Mellanox BlueField SoC.
14548c2ecf20Sopenharmony_ci
14558c2ecf20Sopenharmony_ciconfig GPIO_MLXBF2
14568c2ecf20Sopenharmony_ci	tristate "Mellanox BlueField 2 SoC GPIO"
14578c2ecf20Sopenharmony_ci	depends on (MELLANOX_PLATFORM && ARM64 && ACPI) || (64BIT && COMPILE_TEST)
14588c2ecf20Sopenharmony_ci	select GPIO_GENERIC
14598c2ecf20Sopenharmony_ci	help
14608c2ecf20Sopenharmony_ci	  Say Y here if you want GPIO support on Mellanox BlueField 2 SoC.
14618c2ecf20Sopenharmony_ci
14628c2ecf20Sopenharmony_ciconfig GPIO_ML_IOH
14638c2ecf20Sopenharmony_ci	tristate "OKI SEMICONDUCTOR ML7213 IOH GPIO support"
14648c2ecf20Sopenharmony_ci	depends on X86 || COMPILE_TEST
14658c2ecf20Sopenharmony_ci	select GENERIC_IRQ_CHIP
14668c2ecf20Sopenharmony_ci	help
14678c2ecf20Sopenharmony_ci	  ML7213 is companion chip for Intel Atom E6xx series.
14688c2ecf20Sopenharmony_ci	  This driver can be used for OKI SEMICONDUCTOR ML7213 IOH(Input/Output
14698c2ecf20Sopenharmony_ci	  Hub) which is for IVI(In-Vehicle Infotainment) use.
14708c2ecf20Sopenharmony_ci	  This driver can access the IOH's GPIO device.
14718c2ecf20Sopenharmony_ci
14728c2ecf20Sopenharmony_ciconfig GPIO_PCH
14738c2ecf20Sopenharmony_ci	tristate "Intel EG20T PCH/LAPIS Semiconductor IOH(ML7223/ML7831) GPIO"
14748c2ecf20Sopenharmony_ci	depends on X86_32 || MIPS || COMPILE_TEST
14758c2ecf20Sopenharmony_ci	select GENERIC_IRQ_CHIP
14768c2ecf20Sopenharmony_ci	help
14778c2ecf20Sopenharmony_ci	  This driver is for PCH(Platform controller Hub) GPIO of Intel Topcliff
14788c2ecf20Sopenharmony_ci	  which is an IOH(Input/Output Hub) for x86 embedded processor.
14798c2ecf20Sopenharmony_ci	  This driver can access PCH GPIO device.
14808c2ecf20Sopenharmony_ci
14818c2ecf20Sopenharmony_ci	  This driver also can be used for LAPIS Semiconductor IOH(Input/
14828c2ecf20Sopenharmony_ci	  Output Hub), ML7223 and ML7831.
14838c2ecf20Sopenharmony_ci	  ML7223 IOH is for MP(Media Phone) use.
14848c2ecf20Sopenharmony_ci	  ML7831 IOH is for general purpose use.
14858c2ecf20Sopenharmony_ci	  ML7223/ML7831 is companion chip for Intel Atom E6xx series.
14868c2ecf20Sopenharmony_ci	  ML7223/ML7831 is completely compatible for Intel EG20T PCH.
14878c2ecf20Sopenharmony_ci
14888c2ecf20Sopenharmony_ciconfig GPIO_PCI_IDIO_16
14898c2ecf20Sopenharmony_ci	tristate "ACCES PCI-IDIO-16 GPIO support"
14908c2ecf20Sopenharmony_ci	select GPIOLIB_IRQCHIP
14918c2ecf20Sopenharmony_ci	help
14928c2ecf20Sopenharmony_ci	  Enables GPIO support for the ACCES PCI-IDIO-16. An interrupt is
14938c2ecf20Sopenharmony_ci	  generated when any of the inputs change state (low to high or high to
14948c2ecf20Sopenharmony_ci	  low). Input filter control is not supported by this driver, and the
14958c2ecf20Sopenharmony_ci	  input filters are deactivated by this driver.
14968c2ecf20Sopenharmony_ci
14978c2ecf20Sopenharmony_ciconfig GPIO_PCIE_IDIO_24
14988c2ecf20Sopenharmony_ci	tristate "ACCES PCIe-IDIO-24 GPIO support"
14998c2ecf20Sopenharmony_ci	select GPIOLIB_IRQCHIP
15008c2ecf20Sopenharmony_ci	help
15018c2ecf20Sopenharmony_ci	  Enables GPIO support for the ACCES PCIe-IDIO-24 family (PCIe-IDIO-24,
15028c2ecf20Sopenharmony_ci	  PCIe-IDI-24, PCIe-IDO-24, PCIe-IDIO-12). An interrupt is generated
15038c2ecf20Sopenharmony_ci	  when any of the inputs change state (low to high or high to low).
15048c2ecf20Sopenharmony_ci	  Input filter control is not supported by this driver, and the input
15058c2ecf20Sopenharmony_ci	  filters are deactivated by this driver.
15068c2ecf20Sopenharmony_ci
15078c2ecf20Sopenharmony_ciconfig GPIO_RDC321X
15088c2ecf20Sopenharmony_ci	tristate "RDC R-321x GPIO support"
15098c2ecf20Sopenharmony_ci	select MFD_CORE
15108c2ecf20Sopenharmony_ci	select MFD_RDC321X
15118c2ecf20Sopenharmony_ci	help
15128c2ecf20Sopenharmony_ci	  Support for the RDC R321x SoC GPIOs over southbridge
15138c2ecf20Sopenharmony_ci	  PCI configuration space.
15148c2ecf20Sopenharmony_ci
15158c2ecf20Sopenharmony_ciconfig GPIO_SODAVILLE
15168c2ecf20Sopenharmony_ci	bool "Intel Sodaville GPIO support"
15178c2ecf20Sopenharmony_ci	depends on X86 && OF
15188c2ecf20Sopenharmony_ci	select GPIO_GENERIC
15198c2ecf20Sopenharmony_ci	select GENERIC_IRQ_CHIP
15208c2ecf20Sopenharmony_ci	help
15218c2ecf20Sopenharmony_ci	  Say Y here to support Intel Sodaville GPIO.
15228c2ecf20Sopenharmony_ci
15238c2ecf20Sopenharmony_ciendmenu
15248c2ecf20Sopenharmony_ci
15258c2ecf20Sopenharmony_cimenu "SPI GPIO expanders"
15268c2ecf20Sopenharmony_ci	depends on SPI_MASTER
15278c2ecf20Sopenharmony_ci
15288c2ecf20Sopenharmony_ciconfig GPIO_74X164
15298c2ecf20Sopenharmony_ci	tristate "74x164 serial-in/parallel-out 8-bits shift register"
15308c2ecf20Sopenharmony_ci	depends on OF_GPIO
15318c2ecf20Sopenharmony_ci	help
15328c2ecf20Sopenharmony_ci	  Driver for 74x164 compatible serial-in/parallel-out 8-outputs
15338c2ecf20Sopenharmony_ci	  shift registers. This driver can be used to provide access
15348c2ecf20Sopenharmony_ci	  to more gpio outputs.
15358c2ecf20Sopenharmony_ci
15368c2ecf20Sopenharmony_ciconfig GPIO_MAX3191X
15378c2ecf20Sopenharmony_ci	tristate "Maxim MAX3191x industrial serializer"
15388c2ecf20Sopenharmony_ci	select CRC8
15398c2ecf20Sopenharmony_ci	help
15408c2ecf20Sopenharmony_ci	  GPIO driver for Maxim MAX31910, MAX31911, MAX31912, MAX31913,
15418c2ecf20Sopenharmony_ci	  MAX31953 and MAX31963 industrial serializer, a daisy-chainable
15428c2ecf20Sopenharmony_ci	  chip to make 8 digital 24V inputs available via SPI.  Supports
15438c2ecf20Sopenharmony_ci	  CRC checksums to guard against electromagnetic interference,
15448c2ecf20Sopenharmony_ci	  as well as undervoltage and overtemperature detection.
15458c2ecf20Sopenharmony_ci
15468c2ecf20Sopenharmony_ciconfig GPIO_MAX7301
15478c2ecf20Sopenharmony_ci	tristate "Maxim MAX7301 GPIO expander"
15488c2ecf20Sopenharmony_ci	select GPIO_MAX730X
15498c2ecf20Sopenharmony_ci	help
15508c2ecf20Sopenharmony_ci	  GPIO driver for Maxim MAX7301 SPI-based GPIO expander.
15518c2ecf20Sopenharmony_ci
15528c2ecf20Sopenharmony_ciconfig GPIO_MC33880
15538c2ecf20Sopenharmony_ci	tristate "Freescale MC33880 high-side/low-side switch"
15548c2ecf20Sopenharmony_ci	help
15558c2ecf20Sopenharmony_ci	  SPI driver for Freescale MC33880 high-side/low-side switch.
15568c2ecf20Sopenharmony_ci	  This provides GPIO interface supporting inputs and outputs.
15578c2ecf20Sopenharmony_ci
15588c2ecf20Sopenharmony_ciconfig GPIO_PISOSR
15598c2ecf20Sopenharmony_ci	tristate "Generic parallel-in/serial-out shift register"
15608c2ecf20Sopenharmony_ci	help
15618c2ecf20Sopenharmony_ci	  GPIO driver for SPI compatible parallel-in/serial-out shift
15628c2ecf20Sopenharmony_ci	  registers. These are input only devices.
15638c2ecf20Sopenharmony_ci
15648c2ecf20Sopenharmony_ciconfig GPIO_XRA1403
15658c2ecf20Sopenharmony_ci	tristate "EXAR XRA1403 16-bit GPIO expander"
15668c2ecf20Sopenharmony_ci	select REGMAP_SPI
15678c2ecf20Sopenharmony_ci	help
15688c2ecf20Sopenharmony_ci	  GPIO driver for EXAR XRA1403 16-bit SPI-based GPIO expander.
15698c2ecf20Sopenharmony_ci
15708c2ecf20Sopenharmony_ciconfig GPIO_MOXTET
15718c2ecf20Sopenharmony_ci	tristate "Turris Mox Moxtet bus GPIO expander"
15728c2ecf20Sopenharmony_ci	depends on MOXTET
15738c2ecf20Sopenharmony_ci	help
15748c2ecf20Sopenharmony_ci	  Say yes here if you are building for the Turris Mox router.
15758c2ecf20Sopenharmony_ci	  This is the driver needed for configuring the GPIOs via the Moxtet
15768c2ecf20Sopenharmony_ci	  bus. For example the Mox module with SFP cage needs this driver
15778c2ecf20Sopenharmony_ci	  so that phylink can use corresponding GPIOs.
15788c2ecf20Sopenharmony_ci
15798c2ecf20Sopenharmony_ciendmenu
15808c2ecf20Sopenharmony_ci
15818c2ecf20Sopenharmony_cimenu "USB GPIO expanders"
15828c2ecf20Sopenharmony_ci	depends on USB
15838c2ecf20Sopenharmony_ci
15848c2ecf20Sopenharmony_ciconfig GPIO_VIPERBOARD
15858c2ecf20Sopenharmony_ci	tristate "Viperboard GPIO a & b support"
15868c2ecf20Sopenharmony_ci	depends on MFD_VIPERBOARD
15878c2ecf20Sopenharmony_ci	help
15888c2ecf20Sopenharmony_ci	  Say yes here to access the GPIO signals of Nano River
15898c2ecf20Sopenharmony_ci	  Technologies Viperboard. There are two GPIO chips on the
15908c2ecf20Sopenharmony_ci	  board: gpioa and gpiob.
15918c2ecf20Sopenharmony_ci	  See viperboard API specification and Nano
15928c2ecf20Sopenharmony_ci	  River Tech's viperboard.h for detailed meaning
15938c2ecf20Sopenharmony_ci	  of the module parameters.
15948c2ecf20Sopenharmony_ci
15958c2ecf20Sopenharmony_ciendmenu
15968c2ecf20Sopenharmony_ci
15978c2ecf20Sopenharmony_ciconfig GPIO_AGGREGATOR
15988c2ecf20Sopenharmony_ci	tristate "GPIO Aggregator"
15998c2ecf20Sopenharmony_ci	help
16008c2ecf20Sopenharmony_ci	  Say yes here to enable the GPIO Aggregator, which provides a way to
16018c2ecf20Sopenharmony_ci	  aggregate existing GPIO lines into a new virtual GPIO chip.
16028c2ecf20Sopenharmony_ci	  This can serve the following purposes:
16038c2ecf20Sopenharmony_ci	    - Assign permissions for a collection of GPIO lines to a user,
16048c2ecf20Sopenharmony_ci	    - Export a collection of GPIO lines to a virtual machine,
16058c2ecf20Sopenharmony_ci	    - Provide a generic driver for a GPIO-operated device in an
16068c2ecf20Sopenharmony_ci	      industrial control context, to be operated from userspace using
16078c2ecf20Sopenharmony_ci	      the GPIO chardev interface.
16088c2ecf20Sopenharmony_ci
16098c2ecf20Sopenharmony_ciconfig GPIO_MOCKUP
16108c2ecf20Sopenharmony_ci	tristate "GPIO Testing Driver"
16118c2ecf20Sopenharmony_ci	select IRQ_SIM
16128c2ecf20Sopenharmony_ci	help
16138c2ecf20Sopenharmony_ci	  This enables GPIO Testing driver, which provides a way to test GPIO
16148c2ecf20Sopenharmony_ci	  subsystem through sysfs(or char device) and debugfs. GPIO_SYSFS
16158c2ecf20Sopenharmony_ci	  must be selected for this test.
16168c2ecf20Sopenharmony_ci	  User could use it through the script in
16178c2ecf20Sopenharmony_ci	  tools/testing/selftests/gpio/gpio-mockup.sh. Reference the usage in
16188c2ecf20Sopenharmony_ci	  it.
16198c2ecf20Sopenharmony_ci
16208c2ecf20Sopenharmony_ciendif
1621