13d0407baSopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
23d0407baSopenharmony_ci#
33d0407baSopenharmony_ci# GPIO infrastructure and drivers
43d0407baSopenharmony_ci#
53d0407baSopenharmony_ci
63d0407baSopenharmony_ciconfig ARCH_HAVE_CUSTOM_GPIO_H
73d0407baSopenharmony_ci	bool
83d0407baSopenharmony_ci	help
93d0407baSopenharmony_ci	  Selecting this config option from the architecture Kconfig allows
103d0407baSopenharmony_ci	  the architecture to provide a custom asm/gpio.h implementation
113d0407baSopenharmony_ci	  overriding the default implementations.  New uses of this are
123d0407baSopenharmony_ci	  strongly discouraged.
133d0407baSopenharmony_ci
143d0407baSopenharmony_cimenuconfig GPIOLIB
153d0407baSopenharmony_ci	bool "GPIO Support"
163d0407baSopenharmony_ci	help
173d0407baSopenharmony_ci	  This enables GPIO support through the generic GPIO library.
183d0407baSopenharmony_ci	  You only need to enable this, if you also want to enable
193d0407baSopenharmony_ci	  one or more of the GPIO drivers below.
203d0407baSopenharmony_ci
213d0407baSopenharmony_ci	  If unsure, say N.
223d0407baSopenharmony_ci
233d0407baSopenharmony_ciif GPIOLIB
243d0407baSopenharmony_ci
253d0407baSopenharmony_ciconfig GPIOLIB_FASTPATH_LIMIT
263d0407baSopenharmony_ci	int "Maximum number of GPIOs for fast path"
273d0407baSopenharmony_ci	range 32 512
283d0407baSopenharmony_ci	default 512
293d0407baSopenharmony_ci	help
303d0407baSopenharmony_ci	  This adjusts the point at which certain APIs will switch from
313d0407baSopenharmony_ci	  using a stack allocated buffer to a dynamically allocated buffer.
323d0407baSopenharmony_ci
333d0407baSopenharmony_ci	  You shouldn't need to change this unless you really need to
343d0407baSopenharmony_ci	  optimize either stack space or performance. Change this carefully
353d0407baSopenharmony_ci	  since setting an incorrect value could cause stack corruption.
363d0407baSopenharmony_ci
373d0407baSopenharmony_ciconfig OF_GPIO
383d0407baSopenharmony_ci	def_bool y
393d0407baSopenharmony_ci	depends on OF
403d0407baSopenharmony_ci	depends on HAS_IOMEM
413d0407baSopenharmony_ci
423d0407baSopenharmony_ciconfig GPIO_ACPI
433d0407baSopenharmony_ci	def_bool y
443d0407baSopenharmony_ci	depends on ACPI
453d0407baSopenharmony_ci
463d0407baSopenharmony_ciconfig GPIOLIB_IRQCHIP
473d0407baSopenharmony_ci	select IRQ_DOMAIN
483d0407baSopenharmony_ci	bool
493d0407baSopenharmony_ci
503d0407baSopenharmony_ciconfig DEBUG_GPIO
513d0407baSopenharmony_ci	bool "Debug GPIO calls"
523d0407baSopenharmony_ci	depends on DEBUG_KERNEL
533d0407baSopenharmony_ci	help
543d0407baSopenharmony_ci	  Say Y here to add some extra checks and diagnostics to GPIO calls.
553d0407baSopenharmony_ci	  These checks help ensure that GPIOs have been properly initialized
563d0407baSopenharmony_ci	  before they are used, and that sleeping calls are not made from
573d0407baSopenharmony_ci	  non-sleeping contexts.  They can make bitbanged serial protocols
583d0407baSopenharmony_ci	  slower.  The diagnostics help catch the type of setup errors
593d0407baSopenharmony_ci	  that are most common when setting up new platforms or boards.
603d0407baSopenharmony_ci
613d0407baSopenharmony_ciconfig GPIO_SYSFS
623d0407baSopenharmony_ci	bool "/sys/class/gpio/... (sysfs interface)"
633d0407baSopenharmony_ci	depends on SYSFS
643d0407baSopenharmony_ci	help
653d0407baSopenharmony_ci	  Say Y here to add the legacy sysfs interface for GPIOs.
663d0407baSopenharmony_ci
673d0407baSopenharmony_ci	  This ABI is deprecated. If you want to use GPIO from userspace,
683d0407baSopenharmony_ci	  use the character device /dev/gpiochipN with the appropriate
693d0407baSopenharmony_ci	  ioctl() operations instead.
703d0407baSopenharmony_ci
713d0407baSopenharmony_ciconfig GPIO_CDEV
723d0407baSopenharmony_ci	bool
733d0407baSopenharmony_ci	prompt "Character device (/dev/gpiochipN) support" if EXPERT
743d0407baSopenharmony_ci	default y
753d0407baSopenharmony_ci	help
763d0407baSopenharmony_ci	  Say Y here to add the character device /dev/gpiochipN interface
773d0407baSopenharmony_ci	  for GPIOs. The character device allows userspace to control GPIOs
783d0407baSopenharmony_ci	  using ioctl() operations.
793d0407baSopenharmony_ci
803d0407baSopenharmony_ci	  Only say N if you are sure that the GPIO character device is not
813d0407baSopenharmony_ci	  required.
823d0407baSopenharmony_ci
833d0407baSopenharmony_ci	  If unsure, say Y.
843d0407baSopenharmony_ci
853d0407baSopenharmony_ciconfig GPIO_CDEV_V1
863d0407baSopenharmony_ci	bool "Support GPIO ABI Version 1"
873d0407baSopenharmony_ci	default y
883d0407baSopenharmony_ci	depends on GPIO_CDEV
893d0407baSopenharmony_ci	help
903d0407baSopenharmony_ci	  Say Y here to support version 1 of the GPIO CDEV ABI.
913d0407baSopenharmony_ci
923d0407baSopenharmony_ci	  This ABI version is deprecated.
933d0407baSopenharmony_ci	  Please use the latest ABI for new developments.
943d0407baSopenharmony_ci
953d0407baSopenharmony_ci	  If unsure, say Y.
963d0407baSopenharmony_ci
973d0407baSopenharmony_ciconfig GPIO_GENERIC
983d0407baSopenharmony_ci	depends on HAS_IOMEM # Only for IOMEM drivers
993d0407baSopenharmony_ci	tristate
1003d0407baSopenharmony_ci
1013d0407baSopenharmony_ciconfig GPIO_REGMAP
1023d0407baSopenharmony_ci	depends on REGMAP
1033d0407baSopenharmony_ci	tristate
1043d0407baSopenharmony_ci
1053d0407baSopenharmony_ci# put drivers in the right section, in alphabetical order
1063d0407baSopenharmony_ci
1073d0407baSopenharmony_ci# This symbol is selected by both I2C and SPI expanders
1083d0407baSopenharmony_ciconfig GPIO_MAX730X
1093d0407baSopenharmony_ci	tristate
1103d0407baSopenharmony_ci
1113d0407baSopenharmony_cimenu "Memory mapped GPIO drivers"
1123d0407baSopenharmony_ci	depends on HAS_IOMEM
1133d0407baSopenharmony_ci
1143d0407baSopenharmony_ciconfig GPIO_74XX_MMIO
1153d0407baSopenharmony_ci	tristate "GPIO driver for 74xx-ICs with MMIO access"
1163d0407baSopenharmony_ci	depends on OF_GPIO
1173d0407baSopenharmony_ci	select GPIO_GENERIC
1183d0407baSopenharmony_ci	help
1193d0407baSopenharmony_ci	  Say yes here to support GPIO functionality for 74xx-compatible ICs
1203d0407baSopenharmony_ci	  with MMIO access. Compatible models include:
1213d0407baSopenharmony_ci	    1 bit:	741G125 (Input), 741G74 (Output)
1223d0407baSopenharmony_ci	    2 bits:	742G125 (Input), 7474 (Output)
1233d0407baSopenharmony_ci	    4 bits:	74125 (Input), 74175 (Output)
1243d0407baSopenharmony_ci	    6 bits:	74365 (Input), 74174 (Output)
1253d0407baSopenharmony_ci	    8 bits:	74244 (Input), 74273 (Output)
1263d0407baSopenharmony_ci	    16 bits:	741624 (Input), 7416374 (Output)
1273d0407baSopenharmony_ci
1283d0407baSopenharmony_ciconfig GPIO_ALTERA
1293d0407baSopenharmony_ci	tristate "Altera GPIO"
1303d0407baSopenharmony_ci	depends on OF_GPIO
1313d0407baSopenharmony_ci	select GPIOLIB_IRQCHIP
1323d0407baSopenharmony_ci	help
1333d0407baSopenharmony_ci	  Say Y or M here to build support for the Altera PIO device.
1343d0407baSopenharmony_ci
1353d0407baSopenharmony_ci	  If driver is built as a module it will be called gpio-altera.
1363d0407baSopenharmony_ci
1373d0407baSopenharmony_ciconfig GPIO_AMDPT
1383d0407baSopenharmony_ci	tristate "AMD Promontory GPIO support"
1393d0407baSopenharmony_ci	depends on ACPI
1403d0407baSopenharmony_ci	select GPIO_GENERIC
1413d0407baSopenharmony_ci	help
1423d0407baSopenharmony_ci	  driver for GPIO functionality on Promontory IOHub
1433d0407baSopenharmony_ci	  Require ACPI ASL code to enumerate as a platform device.
1443d0407baSopenharmony_ci
1453d0407baSopenharmony_ciconfig GPIO_ASPEED
1463d0407baSopenharmony_ci	tristate "Aspeed GPIO support"
1473d0407baSopenharmony_ci	depends on (ARCH_ASPEED || COMPILE_TEST) && OF_GPIO
1483d0407baSopenharmony_ci	select GPIOLIB_IRQCHIP
1493d0407baSopenharmony_ci	help
1503d0407baSopenharmony_ci	  Say Y here to support Aspeed AST2400 and AST2500 GPIO controllers.
1513d0407baSopenharmony_ci
1523d0407baSopenharmony_ciconfig GPIO_ASPEED_SGPIO
1533d0407baSopenharmony_ci	bool "Aspeed SGPIO support"
1543d0407baSopenharmony_ci	depends on (ARCH_ASPEED || COMPILE_TEST) && OF_GPIO
1553d0407baSopenharmony_ci	select GPIO_GENERIC
1563d0407baSopenharmony_ci	select GPIOLIB_IRQCHIP
1573d0407baSopenharmony_ci	help
1583d0407baSopenharmony_ci	  Say Y here to support Aspeed AST2500 SGPIO functionality.
1593d0407baSopenharmony_ci
1603d0407baSopenharmony_ciconfig GPIO_ATH79
1613d0407baSopenharmony_ci	tristate "Atheros AR71XX/AR724X/AR913X GPIO support"
1623d0407baSopenharmony_ci	default y if ATH79
1633d0407baSopenharmony_ci	depends on ATH79 || COMPILE_TEST
1643d0407baSopenharmony_ci	select GPIO_GENERIC
1653d0407baSopenharmony_ci	select GPIOLIB_IRQCHIP
1663d0407baSopenharmony_ci	help
1673d0407baSopenharmony_ci	  Select this option to enable GPIO driver for
1683d0407baSopenharmony_ci	  Atheros AR71XX/AR724X/AR913X SoC devices.
1693d0407baSopenharmony_ci
1703d0407baSopenharmony_ciconfig GPIO_RASPBERRYPI_EXP
1713d0407baSopenharmony_ci	tristate "Raspberry Pi 3 GPIO Expander"
1723d0407baSopenharmony_ci	default RASPBERRYPI_FIRMWARE
1733d0407baSopenharmony_ci	depends on OF_GPIO
1743d0407baSopenharmony_ci	# Make sure not 'y' when RASPBERRYPI_FIRMWARE is 'm'. This can only
1753d0407baSopenharmony_ci	# happen when COMPILE_TEST=y, hence the added !RASPBERRYPI_FIRMWARE.
1763d0407baSopenharmony_ci	depends on (ARCH_BCM2835 && RASPBERRYPI_FIRMWARE) || (COMPILE_TEST && !RASPBERRYPI_FIRMWARE)
1773d0407baSopenharmony_ci	help
1783d0407baSopenharmony_ci	  Turn on GPIO support for the expander on Raspberry Pi 3 boards, using
1793d0407baSopenharmony_ci	  the firmware mailbox to communicate with VideoCore on BCM283x chips.
1803d0407baSopenharmony_ci
1813d0407baSopenharmony_ciconfig GPIO_BCM_KONA
1823d0407baSopenharmony_ci	bool "Broadcom Kona GPIO"
1833d0407baSopenharmony_ci	depends on OF_GPIO && (ARCH_BCM_MOBILE || COMPILE_TEST)
1843d0407baSopenharmony_ci	help
1853d0407baSopenharmony_ci	  Turn on GPIO support for Broadcom "Kona" chips.
1863d0407baSopenharmony_ci
1873d0407baSopenharmony_ciconfig GPIO_BCM_XGS_IPROC
1883d0407baSopenharmony_ci	tristate "BRCM XGS iProc GPIO support"
1893d0407baSopenharmony_ci	depends on OF_GPIO && (ARCH_BCM_IPROC || COMPILE_TEST)
1903d0407baSopenharmony_ci	select GPIO_GENERIC
1913d0407baSopenharmony_ci	select GPIOLIB_IRQCHIP
1923d0407baSopenharmony_ci	default ARCH_BCM_IPROC
1933d0407baSopenharmony_ci	help
1943d0407baSopenharmony_ci	  Say yes here to enable GPIO support for Broadcom XGS iProc SoCs.
1953d0407baSopenharmony_ci
1963d0407baSopenharmony_ciconfig GPIO_BRCMSTB
1973d0407baSopenharmony_ci	tristate "BRCMSTB GPIO support"
1983d0407baSopenharmony_ci	default y if (ARCH_BRCMSTB || BMIPS_GENERIC)
1993d0407baSopenharmony_ci	depends on OF_GPIO && (ARCH_BRCMSTB || BMIPS_GENERIC || COMPILE_TEST)
2003d0407baSopenharmony_ci	select GPIO_GENERIC
2013d0407baSopenharmony_ci	select IRQ_DOMAIN
2023d0407baSopenharmony_ci	help
2033d0407baSopenharmony_ci	  Say yes here to enable GPIO support for Broadcom STB (BCM7XXX) SoCs.
2043d0407baSopenharmony_ci
2053d0407baSopenharmony_ciconfig GPIO_CADENCE
2063d0407baSopenharmony_ci	tristate "Cadence GPIO support"
2073d0407baSopenharmony_ci	depends on OF_GPIO
2083d0407baSopenharmony_ci	select GPIO_GENERIC
2093d0407baSopenharmony_ci	select GPIOLIB_IRQCHIP
2103d0407baSopenharmony_ci	help
2113d0407baSopenharmony_ci	  Say yes here to enable support for Cadence GPIO controller.
2123d0407baSopenharmony_ci
2133d0407baSopenharmony_ciconfig GPIO_CLPS711X
2143d0407baSopenharmony_ci	tristate "CLPS711X GPIO support"
2153d0407baSopenharmony_ci	depends on ARCH_CLPS711X || COMPILE_TEST
2163d0407baSopenharmony_ci	select GPIO_GENERIC
2173d0407baSopenharmony_ci	help
2183d0407baSopenharmony_ci	  Say yes here to support GPIO on CLPS711X SoCs.
2193d0407baSopenharmony_ci
2203d0407baSopenharmony_ciconfig GPIO_DAVINCI
2213d0407baSopenharmony_ci	bool "TI Davinci/Keystone GPIO support"
2223d0407baSopenharmony_ci	default y if ARCH_DAVINCI
2233d0407baSopenharmony_ci	depends on (ARM || ARM64) && (ARCH_DAVINCI || ARCH_KEYSTONE || ARCH_K3)
2243d0407baSopenharmony_ci	help
2253d0407baSopenharmony_ci	  Say yes here to enable GPIO support for TI Davinci/Keystone SoCs.
2263d0407baSopenharmony_ci
2273d0407baSopenharmony_ciconfig GPIO_DWAPB
2283d0407baSopenharmony_ci	tristate "Synopsys DesignWare APB GPIO driver"
2293d0407baSopenharmony_ci	select GPIO_GENERIC
2303d0407baSopenharmony_ci	select GPIOLIB_IRQCHIP
2313d0407baSopenharmony_ci	help
2323d0407baSopenharmony_ci	  Say Y or M here to build support for the Synopsys DesignWare APB
2333d0407baSopenharmony_ci	  GPIO block.
2343d0407baSopenharmony_ci
2353d0407baSopenharmony_ciconfig GPIO_EIC_SPRD
2363d0407baSopenharmony_ci	tristate "Spreadtrum EIC support"
2373d0407baSopenharmony_ci	depends on ARCH_SPRD || COMPILE_TEST
2383d0407baSopenharmony_ci	depends on OF_GPIO
2393d0407baSopenharmony_ci	select GPIOLIB_IRQCHIP
2403d0407baSopenharmony_ci	help
2413d0407baSopenharmony_ci	  Say yes here to support Spreadtrum EIC device.
2423d0407baSopenharmony_ci
2433d0407baSopenharmony_ciconfig GPIO_EM
2443d0407baSopenharmony_ci	tristate "Emma Mobile GPIO"
2453d0407baSopenharmony_ci	depends on (ARCH_EMEV2 || COMPILE_TEST) && OF_GPIO
2463d0407baSopenharmony_ci	help
2473d0407baSopenharmony_ci	  Say yes here to support GPIO on Renesas Emma Mobile SoCs.
2483d0407baSopenharmony_ci
2493d0407baSopenharmony_ciconfig GPIO_EP93XX
2503d0407baSopenharmony_ci	def_bool y
2513d0407baSopenharmony_ci	depends on ARCH_EP93XX
2523d0407baSopenharmony_ci	select GPIO_GENERIC
2533d0407baSopenharmony_ci	select GPIOLIB_IRQCHIP
2543d0407baSopenharmony_ci
2553d0407baSopenharmony_ciconfig GPIO_EXAR
2563d0407baSopenharmony_ci	tristate "Support for GPIO pins on XR17V352/354/358"
2573d0407baSopenharmony_ci	depends on SERIAL_8250_EXAR
2583d0407baSopenharmony_ci	help
2593d0407baSopenharmony_ci	  Selecting this option will enable handling of GPIO pins present
2603d0407baSopenharmony_ci	  on Exar XR17V352/354/358 chips.
2613d0407baSopenharmony_ci
2623d0407baSopenharmony_ciconfig GPIO_GE_FPGA
2633d0407baSopenharmony_ci	bool "GE FPGA based GPIO"
2643d0407baSopenharmony_ci	depends on GE_FPGA
2653d0407baSopenharmony_ci	select GPIO_GENERIC
2663d0407baSopenharmony_ci	help
2673d0407baSopenharmony_ci	  Support for common GPIO functionality provided on some GE Single Board
2683d0407baSopenharmony_ci	  Computers.
2693d0407baSopenharmony_ci
2703d0407baSopenharmony_ci	  This driver provides basic support (configure as input or output, read
2713d0407baSopenharmony_ci	  and write pin state) for GPIO implemented in a number of GE single
2723d0407baSopenharmony_ci	  board computers.
2733d0407baSopenharmony_ci
2743d0407baSopenharmony_ciconfig GPIO_FTGPIO010
2753d0407baSopenharmony_ci	bool "Faraday FTGPIO010 GPIO"
2763d0407baSopenharmony_ci	depends on OF_GPIO
2773d0407baSopenharmony_ci	select GPIO_GENERIC
2783d0407baSopenharmony_ci	select GPIOLIB_IRQCHIP
2793d0407baSopenharmony_ci	default (ARCH_GEMINI || ARCH_MOXART)
2803d0407baSopenharmony_ci	help
2813d0407baSopenharmony_ci	  Support for common GPIOs from the Faraday FTGPIO010 IP core, found in
2823d0407baSopenharmony_ci	  Cortina systems Gemini platforms, Moxa ART and others.
2833d0407baSopenharmony_ci
2843d0407baSopenharmony_ciconfig GPIO_GENERIC_PLATFORM
2853d0407baSopenharmony_ci	tristate "Generic memory-mapped GPIO controller support (MMIO platform device)"
2863d0407baSopenharmony_ci	select GPIO_GENERIC
2873d0407baSopenharmony_ci	help
2883d0407baSopenharmony_ci	  Say yes here to support basic platform_device memory-mapped GPIO controllers.
2893d0407baSopenharmony_ci
2903d0407baSopenharmony_ciconfig GPIO_GRGPIO
2913d0407baSopenharmony_ci	tristate "Aeroflex Gaisler GRGPIO support"
2923d0407baSopenharmony_ci	depends on OF_GPIO
2933d0407baSopenharmony_ci	select GPIO_GENERIC
2943d0407baSopenharmony_ci	select IRQ_DOMAIN
2953d0407baSopenharmony_ci	help
2963d0407baSopenharmony_ci	  Select this to support Aeroflex Gaisler GRGPIO cores from the GRLIB
2973d0407baSopenharmony_ci	  VHDL IP core library.
2983d0407baSopenharmony_ci
2993d0407baSopenharmony_ciconfig GPIO_HLWD
3003d0407baSopenharmony_ci	tristate "Nintendo Wii (Hollywood) GPIO"
3013d0407baSopenharmony_ci	depends on OF_GPIO
3023d0407baSopenharmony_ci	select GPIO_GENERIC
3033d0407baSopenharmony_ci	select GPIOLIB_IRQCHIP
3043d0407baSopenharmony_ci	help
3053d0407baSopenharmony_ci	  Select this to support the GPIO controller of the Nintendo Wii.
3063d0407baSopenharmony_ci
3073d0407baSopenharmony_ci	  If unsure, say N.
3083d0407baSopenharmony_ci
3093d0407baSopenharmony_ciconfig GPIO_ICH
3103d0407baSopenharmony_ci	tristate "Intel ICH GPIO"
3113d0407baSopenharmony_ci	depends on PCI && X86
3123d0407baSopenharmony_ci	select MFD_CORE
3133d0407baSopenharmony_ci	select LPC_ICH
3143d0407baSopenharmony_ci	help
3153d0407baSopenharmony_ci	  Say yes here to support the GPIO functionality of a number of Intel
3163d0407baSopenharmony_ci	  ICH-based chipsets.  Currently supported devices: ICH6, ICH7, ICH8
3173d0407baSopenharmony_ci	  ICH9, ICH10, Series 5/3400 (eg Ibex Peak), Series 6/C200 (eg
3183d0407baSopenharmony_ci	  Cougar Point), NM10 (Tiger Point), and 3100 (Whitmore Lake).
3193d0407baSopenharmony_ci
3203d0407baSopenharmony_ci	  If unsure, say N.
3213d0407baSopenharmony_ci
3223d0407baSopenharmony_ciconfig GPIO_IOP
3233d0407baSopenharmony_ci	tristate "Intel IOP GPIO"
3243d0407baSopenharmony_ci	depends on ARCH_IOP32X || COMPILE_TEST
3253d0407baSopenharmony_ci	select GPIO_GENERIC
3263d0407baSopenharmony_ci	help
3273d0407baSopenharmony_ci	  Say yes here to support the GPIO functionality of a number of Intel
3283d0407baSopenharmony_ci	  IOP32X or IOP33X.
3293d0407baSopenharmony_ci
3303d0407baSopenharmony_ci	  If unsure, say N.
3313d0407baSopenharmony_ci
3323d0407baSopenharmony_ciconfig GPIO_IXP4XX
3333d0407baSopenharmony_ci	bool "Intel IXP4xx GPIO"
3343d0407baSopenharmony_ci	depends on ARM # For <asm/mach-types.h>
3353d0407baSopenharmony_ci	depends on ARCH_IXP4XX
3363d0407baSopenharmony_ci	select GPIO_GENERIC
3373d0407baSopenharmony_ci	select GPIOLIB_IRQCHIP
3383d0407baSopenharmony_ci	select IRQ_DOMAIN_HIERARCHY
3393d0407baSopenharmony_ci	help
3403d0407baSopenharmony_ci	  Say yes here to support the GPIO functionality of a number of Intel
3413d0407baSopenharmony_ci	  IXP4xx series of chips.
3423d0407baSopenharmony_ci
3433d0407baSopenharmony_ci	  If unsure, say N.
3443d0407baSopenharmony_ciconfig GPIO_LOGICVC
3453d0407baSopenharmony_ci	tristate "Xylon LogiCVC GPIO support"
3463d0407baSopenharmony_ci	depends on MFD_SYSCON && OF
3473d0407baSopenharmony_ci	help
3483d0407baSopenharmony_ci	  Say yes here to support GPIO functionality of the Xylon LogiCVC
3493d0407baSopenharmony_ci	  programmable logic block.
3503d0407baSopenharmony_ci
3513d0407baSopenharmony_ciconfig GPIO_LOONGSON
3523d0407baSopenharmony_ci	bool "Loongson-2/3 GPIO support"
3533d0407baSopenharmony_ci	depends on CPU_LOONGSON2EF || CPU_LOONGSON64
3543d0407baSopenharmony_ci	help
3553d0407baSopenharmony_ci	  driver for GPIO functionality on Loongson-2F/3A/3B processors.
3563d0407baSopenharmony_ci
3573d0407baSopenharmony_ciconfig GPIO_LPC18XX
3583d0407baSopenharmony_ci	tristate "NXP LPC18XX/43XX GPIO support"
3593d0407baSopenharmony_ci	default y if ARCH_LPC18XX
3603d0407baSopenharmony_ci	depends on OF_GPIO && (ARCH_LPC18XX || COMPILE_TEST)
3613d0407baSopenharmony_ci	select IRQ_DOMAIN_HIERARCHY
3623d0407baSopenharmony_ci	help
3633d0407baSopenharmony_ci	  Select this option to enable GPIO driver for
3643d0407baSopenharmony_ci	  NXP LPC18XX/43XX devices.
3653d0407baSopenharmony_ci
3663d0407baSopenharmony_ciconfig GPIO_LPC32XX
3673d0407baSopenharmony_ci	tristate "NXP LPC32XX GPIO support"
3683d0407baSopenharmony_ci	depends on OF_GPIO && (ARCH_LPC32XX || COMPILE_TEST)
3693d0407baSopenharmony_ci	help
3703d0407baSopenharmony_ci	  Select this option to enable GPIO driver for
3713d0407baSopenharmony_ci	  NXP LPC32XX devices.
3723d0407baSopenharmony_ci
3733d0407baSopenharmony_ciconfig GPIO_MB86S7X
3743d0407baSopenharmony_ci	tristate "GPIO support for Fujitsu MB86S7x Platforms"
3753d0407baSopenharmony_ci	help
3763d0407baSopenharmony_ci	  Say yes here to support the GPIO controller in Fujitsu MB86S70 SoCs.
3773d0407baSopenharmony_ci
3783d0407baSopenharmony_ciconfig GPIO_MENZ127
3793d0407baSopenharmony_ci	tristate "MEN 16Z127 GPIO support"
3803d0407baSopenharmony_ci	depends on MCB
3813d0407baSopenharmony_ci	select GPIO_GENERIC
3823d0407baSopenharmony_ci	help
3833d0407baSopenharmony_ci	  Say yes here to support the MEN 16Z127 GPIO Controller
3843d0407baSopenharmony_ci
3853d0407baSopenharmony_ciconfig GPIO_MM_LANTIQ
3863d0407baSopenharmony_ci	bool "Lantiq Memory mapped GPIOs"
3873d0407baSopenharmony_ci	depends on LANTIQ && SOC_XWAY
3883d0407baSopenharmony_ci	help
3893d0407baSopenharmony_ci	  This enables support for memory mapped GPIOs on the External Bus Unit
3903d0407baSopenharmony_ci	  (EBU) found on Lantiq SoCs. The gpios are output only as they are
3913d0407baSopenharmony_ci	  created by attaching a 16bit latch to the bus.
3923d0407baSopenharmony_ci
3933d0407baSopenharmony_ciconfig GPIO_MPC5200
3943d0407baSopenharmony_ci	def_bool y
3953d0407baSopenharmony_ci	depends on PPC_MPC52xx
3963d0407baSopenharmony_ci
3973d0407baSopenharmony_ciconfig GPIO_MPC8XXX
3983d0407baSopenharmony_ci	bool "MPC512x/MPC8xxx/QorIQ GPIO support"
3993d0407baSopenharmony_ci	depends on PPC_MPC512x || PPC_MPC831x || PPC_MPC834x || PPC_MPC837x || \
4003d0407baSopenharmony_ci		   FSL_SOC_BOOKE || PPC_86xx || ARCH_LAYERSCAPE || ARM || \
4013d0407baSopenharmony_ci		   COMPILE_TEST
4023d0407baSopenharmony_ci	select GPIO_GENERIC
4033d0407baSopenharmony_ci	select IRQ_DOMAIN
4043d0407baSopenharmony_ci	help
4053d0407baSopenharmony_ci	  Say Y here if you're going to use hardware that connects to the
4063d0407baSopenharmony_ci	  MPC512x/831x/834x/837x/8572/8610/QorIQ GPIOs.
4073d0407baSopenharmony_ci
4083d0407baSopenharmony_ciconfig GPIO_MT7621
4093d0407baSopenharmony_ci	bool "Mediatek MT7621 GPIO Support"
4103d0407baSopenharmony_ci	depends on SOC_MT7620 || SOC_MT7621 || COMPILE_TEST
4113d0407baSopenharmony_ci	depends on OF_GPIO
4123d0407baSopenharmony_ci	select GPIO_GENERIC
4133d0407baSopenharmony_ci	select GPIOLIB_IRQCHIP
4143d0407baSopenharmony_ci	help
4153d0407baSopenharmony_ci	  Say yes here to support the Mediatek MT7621 SoC GPIO device
4163d0407baSopenharmony_ci
4173d0407baSopenharmony_ciconfig GPIO_MVEBU
4183d0407baSopenharmony_ci	def_bool y
4193d0407baSopenharmony_ci	depends on PLAT_ORION || ARCH_MVEBU
4203d0407baSopenharmony_ci	depends on OF_GPIO
4213d0407baSopenharmony_ci	select GENERIC_IRQ_CHIP
4223d0407baSopenharmony_ci	select REGMAP_MMIO
4233d0407baSopenharmony_ci
4243d0407baSopenharmony_ciconfig GPIO_MXC
4253d0407baSopenharmony_ci	tristate "i.MX GPIO support"
4263d0407baSopenharmony_ci	depends on ARCH_MXC || COMPILE_TEST
4273d0407baSopenharmony_ci	select GPIO_GENERIC
4283d0407baSopenharmony_ci	select GENERIC_IRQ_CHIP
4293d0407baSopenharmony_ci
4303d0407baSopenharmony_ciconfig GPIO_MXS
4313d0407baSopenharmony_ci	bool "Freescale MXS GPIO support" if COMPILE_TEST
4323d0407baSopenharmony_ci	depends on ARCH_MXS || COMPILE_TEST
4333d0407baSopenharmony_ci	default y if ARCH_MXS
4343d0407baSopenharmony_ci	select GPIO_GENERIC
4353d0407baSopenharmony_ci	select GENERIC_IRQ_CHIP
4363d0407baSopenharmony_ci
4373d0407baSopenharmony_ciconfig GPIO_OCTEON
4383d0407baSopenharmony_ci	tristate "Cavium OCTEON GPIO"
4393d0407baSopenharmony_ci	depends on CAVIUM_OCTEON_SOC
4403d0407baSopenharmony_ci	default y
4413d0407baSopenharmony_ci	help
4423d0407baSopenharmony_ci	  Say yes here to support the on-chip GPIO lines on the OCTEON
4433d0407baSopenharmony_ci	  family of SOCs.
4443d0407baSopenharmony_ci
4453d0407baSopenharmony_ciconfig GPIO_OMAP
4463d0407baSopenharmony_ci	tristate "TI OMAP GPIO support" if ARCH_OMAP2PLUS || COMPILE_TEST
4473d0407baSopenharmony_ci	default y if ARCH_OMAP
4483d0407baSopenharmony_ci	depends on ARM
4493d0407baSopenharmony_ci	select GENERIC_IRQ_CHIP
4503d0407baSopenharmony_ci	select GPIOLIB_IRQCHIP
4513d0407baSopenharmony_ci	help
4523d0407baSopenharmony_ci	  Say yes here to enable GPIO support for TI OMAP SoCs.
4533d0407baSopenharmony_ci
4543d0407baSopenharmony_ciconfig GPIO_PL061
4553d0407baSopenharmony_ci	tristate "PrimeCell PL061 GPIO support"
4563d0407baSopenharmony_ci	depends on ARM_AMBA
4573d0407baSopenharmony_ci	select IRQ_DOMAIN
4583d0407baSopenharmony_ci	select GPIOLIB_IRQCHIP
4593d0407baSopenharmony_ci	help
4603d0407baSopenharmony_ci	  Say yes here to support the PrimeCell PL061 GPIO device
4613d0407baSopenharmony_ci
4623d0407baSopenharmony_ciconfig GPIO_PMIC_EIC_SPRD
4633d0407baSopenharmony_ci	tristate "Spreadtrum PMIC EIC support"
4643d0407baSopenharmony_ci	depends on MFD_SC27XX_PMIC || COMPILE_TEST
4653d0407baSopenharmony_ci	depends on OF_GPIO
4663d0407baSopenharmony_ci	select GPIOLIB_IRQCHIP
4673d0407baSopenharmony_ci	help
4683d0407baSopenharmony_ci	  Say yes here to support Spreadtrum PMIC EIC device.
4693d0407baSopenharmony_ci
4703d0407baSopenharmony_ciconfig GPIO_PXA
4713d0407baSopenharmony_ci	bool "PXA GPIO support"
4723d0407baSopenharmony_ci	depends on ARCH_PXA || ARCH_MMP || COMPILE_TEST
4733d0407baSopenharmony_ci	help
4743d0407baSopenharmony_ci	  Say yes here to support the PXA GPIO device
4753d0407baSopenharmony_ci
4763d0407baSopenharmony_ciconfig GPIO_RCAR
4773d0407baSopenharmony_ci	tristate "Renesas R-Car GPIO"
4783d0407baSopenharmony_ci	depends on ARCH_RENESAS || COMPILE_TEST
4793d0407baSopenharmony_ci	select GPIOLIB_IRQCHIP
4803d0407baSopenharmony_ci	help
4813d0407baSopenharmony_ci	  Say yes here to support GPIO on Renesas R-Car SoCs.
4823d0407baSopenharmony_ci
4833d0407baSopenharmony_ciconfig GPIO_RDA
4843d0407baSopenharmony_ci	bool "RDA Micro GPIO controller support"
4853d0407baSopenharmony_ci	depends on ARCH_RDA || COMPILE_TEST
4863d0407baSopenharmony_ci	depends on OF_GPIO
4873d0407baSopenharmony_ci	select GPIO_GENERIC
4883d0407baSopenharmony_ci	select GPIOLIB_IRQCHIP
4893d0407baSopenharmony_ci	help
4903d0407baSopenharmony_ci	  Say Y here to support RDA Micro GPIO controller.
4913d0407baSopenharmony_ci
4923d0407baSopenharmony_ciconfig GPIO_REG
4933d0407baSopenharmony_ci	bool
4943d0407baSopenharmony_ci	help
4953d0407baSopenharmony_ci	  A 32-bit single register GPIO fixed in/out implementation.  This
4963d0407baSopenharmony_ci	  can be used to represent any register as a set of GPIO signals.
4973d0407baSopenharmony_ci
4983d0407baSopenharmony_ciconfig GPIO_ROCKCHIP
4993d0407baSopenharmony_ci	tristate "Rockchip GPIO support"
5003d0407baSopenharmony_ci	depends on ARCH_ROCKCHIP || COMPILE_TEST
5013d0407baSopenharmony_ci	select GPIOLIB_IRQCHIP
5023d0407baSopenharmony_ci	default ARCH_ROCKCHIP
5033d0407baSopenharmony_ci	help
5043d0407baSopenharmony_ci	  Say yes here to support GPIO on Rockchip SoCs.
5053d0407baSopenharmony_ci
5063d0407baSopenharmony_ciconfig GPIO_SAMA5D2_PIOBU
5073d0407baSopenharmony_ci	tristate "SAMA5D2 PIOBU GPIO support"
5083d0407baSopenharmony_ci	depends on MFD_SYSCON
5093d0407baSopenharmony_ci	depends on OF_GPIO
5103d0407baSopenharmony_ci	select GPIO_SYSCON
5113d0407baSopenharmony_ci	help
5123d0407baSopenharmony_ci	  Say yes here to use the PIOBU pins as GPIOs.
5133d0407baSopenharmony_ci
5143d0407baSopenharmony_ci	  PIOBU pins on the SAMA5D2 can be used as GPIOs.
5153d0407baSopenharmony_ci	  The difference from regular GPIOs is that they
5163d0407baSopenharmony_ci	  maintain their value during backup/self-refresh.
5173d0407baSopenharmony_ci
5183d0407baSopenharmony_ciconfig GPIO_SIFIVE
5193d0407baSopenharmony_ci	bool "SiFive GPIO support"
5203d0407baSopenharmony_ci	depends on OF_GPIO
5213d0407baSopenharmony_ci	select IRQ_DOMAIN_HIERARCHY
5223d0407baSopenharmony_ci	select GPIO_GENERIC
5233d0407baSopenharmony_ci	select GPIOLIB_IRQCHIP
5243d0407baSopenharmony_ci	select REGMAP_MMIO
5253d0407baSopenharmony_ci	help
5263d0407baSopenharmony_ci	  Say yes here to support the GPIO device on SiFive SoCs.
5273d0407baSopenharmony_ci
5283d0407baSopenharmony_ciconfig GPIO_SIOX
5293d0407baSopenharmony_ci	tristate "SIOX GPIO support"
5303d0407baSopenharmony_ci	depends on SIOX
5313d0407baSopenharmony_ci	select GPIOLIB_IRQCHIP
5323d0407baSopenharmony_ci	help
5333d0407baSopenharmony_ci	  Say yes here to support SIOX I/O devices. These are units connected
5343d0407baSopenharmony_ci	  via a SIOX bus and have a number of fixed-direction I/O lines.
5353d0407baSopenharmony_ci
5363d0407baSopenharmony_ciconfig GPIO_SNPS_CREG
5373d0407baSopenharmony_ci	bool "Synopsys GPIO via CREG (Control REGisters) driver"
5383d0407baSopenharmony_ci	depends on ARC || COMPILE_TEST
5393d0407baSopenharmony_ci	depends on OF_GPIO
5403d0407baSopenharmony_ci	help
5413d0407baSopenharmony_ci	  This driver supports GPIOs via CREG on various Synopsys SoCs.
5423d0407baSopenharmony_ci	  This is a single-register MMIO GPIO driver for complex cases
5433d0407baSopenharmony_ci	  where only several fields in register belong to GPIO lines and
5443d0407baSopenharmony_ci	  each GPIO line owns a field with different length and on/off value.
5453d0407baSopenharmony_ci
5463d0407baSopenharmony_ciconfig GPIO_SPEAR_SPICS
5473d0407baSopenharmony_ci	bool "ST SPEAr13xx SPI Chip Select as GPIO support"
5483d0407baSopenharmony_ci	depends on PLAT_SPEAR
5493d0407baSopenharmony_ci	select GENERIC_IRQ_CHIP
5503d0407baSopenharmony_ci	help
5513d0407baSopenharmony_ci	  Say yes here to support ST SPEAr SPI Chip Select as GPIO device
5523d0407baSopenharmony_ci
5533d0407baSopenharmony_ciconfig GPIO_SPRD
5543d0407baSopenharmony_ci	tristate "Spreadtrum GPIO support"
5553d0407baSopenharmony_ci	depends on ARCH_SPRD || COMPILE_TEST
5563d0407baSopenharmony_ci	depends on OF_GPIO
5573d0407baSopenharmony_ci	select GPIOLIB_IRQCHIP
5583d0407baSopenharmony_ci	help
5593d0407baSopenharmony_ci	  Say yes here to support Spreadtrum GPIO device.
5603d0407baSopenharmony_ci
5613d0407baSopenharmony_ciconfig GPIO_STA2X11
5623d0407baSopenharmony_ci	bool "STA2x11/ConneXt GPIO support"
5633d0407baSopenharmony_ci	depends on MFD_STA2X11
5643d0407baSopenharmony_ci	select GENERIC_IRQ_CHIP
5653d0407baSopenharmony_ci	help
5663d0407baSopenharmony_ci	  Say yes here to support the STA2x11/ConneXt GPIO device.
5673d0407baSopenharmony_ci	  The GPIO module has 128 GPIO pins with alternate functions.
5683d0407baSopenharmony_ci
5693d0407baSopenharmony_ciconfig GPIO_STP_XWAY
5703d0407baSopenharmony_ci	bool "XWAY STP GPIOs"
5713d0407baSopenharmony_ci	depends on SOC_XWAY || COMPILE_TEST
5723d0407baSopenharmony_ci	depends on OF_GPIO
5733d0407baSopenharmony_ci	help
5743d0407baSopenharmony_ci	  This enables support for the Serial To Parallel (STP) unit found on
5753d0407baSopenharmony_ci	  XWAY SoC. The STP allows the SoC to drive a shift registers cascade,
5763d0407baSopenharmony_ci	  that can be up to 24 bit. This peripheral is aimed at driving leds.
5773d0407baSopenharmony_ci	  Some of the gpios/leds can be auto updated by the soc with dsl and
5783d0407baSopenharmony_ci	  phy status.
5793d0407baSopenharmony_ci
5803d0407baSopenharmony_ciconfig GPIO_SYSCON
5813d0407baSopenharmony_ci	tristate "GPIO based on SYSCON"
5823d0407baSopenharmony_ci	depends on MFD_SYSCON && OF
5833d0407baSopenharmony_ci	help
5843d0407baSopenharmony_ci	  Say yes here to support GPIO functionality though SYSCON driver.
5853d0407baSopenharmony_ci
5863d0407baSopenharmony_ciconfig GPIO_TB10X
5873d0407baSopenharmony_ci	bool
5883d0407baSopenharmony_ci	select GPIO_GENERIC
5893d0407baSopenharmony_ci	select GENERIC_IRQ_CHIP
5903d0407baSopenharmony_ci	select OF_GPIO
5913d0407baSopenharmony_ci
5923d0407baSopenharmony_ciconfig GPIO_TEGRA
5933d0407baSopenharmony_ci	bool "NVIDIA Tegra GPIO support"
5943d0407baSopenharmony_ci	default ARCH_TEGRA
5953d0407baSopenharmony_ci	depends on ARCH_TEGRA || COMPILE_TEST
5963d0407baSopenharmony_ci	depends on OF_GPIO
5973d0407baSopenharmony_ci	help
5983d0407baSopenharmony_ci	  Say yes here to support GPIO pins on NVIDIA Tegra SoCs.
5993d0407baSopenharmony_ci
6003d0407baSopenharmony_ciconfig GPIO_TEGRA186
6013d0407baSopenharmony_ci	tristate "NVIDIA Tegra186 GPIO support"
6023d0407baSopenharmony_ci	default ARCH_TEGRA_186_SOC || ARCH_TEGRA_194_SOC
6033d0407baSopenharmony_ci	depends on ARCH_TEGRA_186_SOC || ARCH_TEGRA_194_SOC || COMPILE_TEST
6043d0407baSopenharmony_ci	depends on OF_GPIO
6053d0407baSopenharmony_ci	select GPIOLIB_IRQCHIP
6063d0407baSopenharmony_ci	select IRQ_DOMAIN_HIERARCHY
6073d0407baSopenharmony_ci	help
6083d0407baSopenharmony_ci	  Say yes here to support GPIO pins on NVIDIA Tegra186 SoCs.
6093d0407baSopenharmony_ci
6103d0407baSopenharmony_ciconfig GPIO_TS4800
6113d0407baSopenharmony_ci	tristate "TS-4800 DIO blocks and compatibles"
6123d0407baSopenharmony_ci	depends on OF_GPIO
6133d0407baSopenharmony_ci	depends on SOC_IMX51 || COMPILE_TEST
6143d0407baSopenharmony_ci	select GPIO_GENERIC
6153d0407baSopenharmony_ci	help
6163d0407baSopenharmony_ci	  This driver support TS-4800 FPGA GPIO controllers.
6173d0407baSopenharmony_ci
6183d0407baSopenharmony_ciconfig GPIO_THUNDERX
6193d0407baSopenharmony_ci	tristate "Cavium ThunderX/OCTEON-TX GPIO"
6203d0407baSopenharmony_ci	depends on ARCH_THUNDER || (64BIT && COMPILE_TEST)
6213d0407baSopenharmony_ci	depends on PCI_MSI
6223d0407baSopenharmony_ci	select GPIOLIB_IRQCHIP
6233d0407baSopenharmony_ci	select IRQ_DOMAIN_HIERARCHY
6243d0407baSopenharmony_ci	select IRQ_FASTEOI_HIERARCHY_HANDLERS
6253d0407baSopenharmony_ci	help
6263d0407baSopenharmony_ci	  Say yes here to support the on-chip GPIO lines on the ThunderX
6273d0407baSopenharmony_ci	  and OCTEON-TX families of SoCs.
6283d0407baSopenharmony_ci
6293d0407baSopenharmony_ciconfig GPIO_UNIPHIER
6303d0407baSopenharmony_ci	tristate "UniPhier GPIO support"
6313d0407baSopenharmony_ci	depends on ARCH_UNIPHIER || COMPILE_TEST
6323d0407baSopenharmony_ci	depends on OF_GPIO
6333d0407baSopenharmony_ci	select IRQ_DOMAIN_HIERARCHY
6343d0407baSopenharmony_ci	help
6353d0407baSopenharmony_ci	  Say yes here to support UniPhier GPIOs.
6363d0407baSopenharmony_ci
6373d0407baSopenharmony_ciconfig GPIO_VF610
6383d0407baSopenharmony_ci	def_bool y
6393d0407baSopenharmony_ci	depends on ARCH_MXC && SOC_VF610
6403d0407baSopenharmony_ci	select GPIOLIB_IRQCHIP
6413d0407baSopenharmony_ci	help
6423d0407baSopenharmony_ci	  Say yes here to support Vybrid vf610 GPIOs.
6433d0407baSopenharmony_ci
6443d0407baSopenharmony_ciconfig GPIO_VR41XX
6453d0407baSopenharmony_ci	tristate "NEC VR4100 series General-purpose I/O Uint support"
6463d0407baSopenharmony_ci	depends on CPU_VR41XX
6473d0407baSopenharmony_ci	help
6483d0407baSopenharmony_ci	  Say yes here to support the NEC VR4100 series General-purpose I/O Uint
6493d0407baSopenharmony_ci
6503d0407baSopenharmony_ciconfig GPIO_VX855
6513d0407baSopenharmony_ci	tristate "VIA VX855/VX875 GPIO"
6523d0407baSopenharmony_ci	depends on (X86 || COMPILE_TEST) && PCI
6533d0407baSopenharmony_ci	select MFD_CORE
6543d0407baSopenharmony_ci	select MFD_VX855
6553d0407baSopenharmony_ci	help
6563d0407baSopenharmony_ci	  Support access to the VX855/VX875 GPIO lines through the gpio library.
6573d0407baSopenharmony_ci
6583d0407baSopenharmony_ci	  This driver provides common support for accessing the device,
6593d0407baSopenharmony_ci	  additional drivers must be enabled in order to use the
6603d0407baSopenharmony_ci	  functionality of the device.
6613d0407baSopenharmony_ci
6623d0407baSopenharmony_ciconfig GPIO_WCD934X
6633d0407baSopenharmony_ci	tristate "Qualcomm Technologies Inc WCD9340/WCD9341 gpio controller driver"
6643d0407baSopenharmony_ci	depends on MFD_WCD934X && OF_GPIO
6653d0407baSopenharmony_ci	help
6663d0407baSopenharmony_ci         This driver is to supprot GPIO block found on the Qualcomm Technologies
6673d0407baSopenharmony_ci	 Inc WCD9340/WCD9341 Audio Codec.
6683d0407baSopenharmony_ci
6693d0407baSopenharmony_ciconfig GPIO_XGENE
6703d0407baSopenharmony_ci	bool "APM X-Gene GPIO controller support"
6713d0407baSopenharmony_ci	depends on ARM64 && OF_GPIO
6723d0407baSopenharmony_ci	help
6733d0407baSopenharmony_ci	  This driver is to support the GPIO block within the APM X-Gene SoC
6743d0407baSopenharmony_ci	  platform's generic flash controller. The GPIO pins are muxed with
6753d0407baSopenharmony_ci	  the generic flash controller's address and data pins. Say yes
6763d0407baSopenharmony_ci	  here to enable the GFC GPIO functionality.
6773d0407baSopenharmony_ci
6783d0407baSopenharmony_ciconfig GPIO_XGENE_SB
6793d0407baSopenharmony_ci	tristate "APM X-Gene GPIO standby controller support"
6803d0407baSopenharmony_ci	depends on (ARCH_XGENE || COMPILE_TEST)
6813d0407baSopenharmony_ci	select GPIO_GENERIC
6823d0407baSopenharmony_ci	select GPIOLIB_IRQCHIP
6833d0407baSopenharmony_ci	select IRQ_DOMAIN_HIERARCHY
6843d0407baSopenharmony_ci	help
6853d0407baSopenharmony_ci	  This driver supports the GPIO block within the APM X-Gene
6863d0407baSopenharmony_ci	  Standby Domain. Say yes here to enable the GPIO functionality.
6873d0407baSopenharmony_ci
6883d0407baSopenharmony_ciconfig GPIO_XILINX
6893d0407baSopenharmony_ci	tristate "Xilinx GPIO support"
6903d0407baSopenharmony_ci	help
6913d0407baSopenharmony_ci	  Say yes here to support the Xilinx FPGA GPIO device
6923d0407baSopenharmony_ci
6933d0407baSopenharmony_ciconfig GPIO_XLP
6943d0407baSopenharmony_ci	tristate "Netlogic XLP GPIO support"
6953d0407baSopenharmony_ci	depends on OF_GPIO && (CPU_XLP || ARCH_THUNDER2 || COMPILE_TEST)
6963d0407baSopenharmony_ci	select GPIOLIB_IRQCHIP
6973d0407baSopenharmony_ci	help
6983d0407baSopenharmony_ci	  This driver provides support for GPIO interface on Netlogic XLP MIPS64
6993d0407baSopenharmony_ci	  SoCs. Currently supported XLP variants are XLP8XX, XLP3XX, XLP2XX,
7003d0407baSopenharmony_ci	  XLP9XX and XLP5XX. The same GPIO controller block is also present in
7013d0407baSopenharmony_ci	  Cavium's ThunderX2 CN99XX SoCs.
7023d0407baSopenharmony_ci
7033d0407baSopenharmony_ci	  If unsure, say N.
7043d0407baSopenharmony_ci
7053d0407baSopenharmony_ciconfig GPIO_XTENSA
7063d0407baSopenharmony_ci	bool "Xtensa GPIO32 support"
7073d0407baSopenharmony_ci	depends on XTENSA
7083d0407baSopenharmony_ci	depends on HAVE_XTENSA_GPIO32
7093d0407baSopenharmony_ci	depends on !SMP
7103d0407baSopenharmony_ci	help
7113d0407baSopenharmony_ci	  Say yes here to support the Xtensa internal GPIO32 IMPWIRE (input)
7123d0407baSopenharmony_ci	  and EXPSTATE (output) ports
7133d0407baSopenharmony_ci
7143d0407baSopenharmony_ciconfig GPIO_ZEVIO
7153d0407baSopenharmony_ci	bool "LSI ZEVIO SoC memory mapped GPIOs"
7163d0407baSopenharmony_ci	depends on ARM && OF_GPIO
7173d0407baSopenharmony_ci	help
7183d0407baSopenharmony_ci	  Say yes here to support the GPIO controller in LSI ZEVIO SoCs.
7193d0407baSopenharmony_ci
7203d0407baSopenharmony_ciconfig GPIO_ZYNQ
7213d0407baSopenharmony_ci	tristate "Xilinx Zynq GPIO support"
7223d0407baSopenharmony_ci	depends on ARCH_ZYNQ || ARCH_ZYNQMP
7233d0407baSopenharmony_ci	select GPIOLIB_IRQCHIP
7243d0407baSopenharmony_ci	help
7253d0407baSopenharmony_ci	  Say yes here to support Xilinx Zynq GPIO controller.
7263d0407baSopenharmony_ci
7273d0407baSopenharmony_ciconfig GPIO_ZX
7283d0407baSopenharmony_ci	bool "ZTE ZX GPIO support"
7293d0407baSopenharmony_ci	depends on ARCH_ZX || COMPILE_TEST
7303d0407baSopenharmony_ci	select GPIOLIB_IRQCHIP
7313d0407baSopenharmony_ci	help
7323d0407baSopenharmony_ci	  Say yes here to support the GPIO device on ZTE ZX SoCs.
7333d0407baSopenharmony_ci
7343d0407baSopenharmony_ciconfig GPIO_LOONGSON1
7353d0407baSopenharmony_ci	tristate "Loongson1 GPIO support"
7363d0407baSopenharmony_ci	depends on MACH_LOONGSON32
7373d0407baSopenharmony_ci	select GPIO_GENERIC
7383d0407baSopenharmony_ci	help
7393d0407baSopenharmony_ci	  Say Y or M here to support GPIO on Loongson1 SoCs.
7403d0407baSopenharmony_ci
7413d0407baSopenharmony_ciconfig GPIO_AMD_FCH
7423d0407baSopenharmony_ci	tristate "GPIO support for AMD Fusion Controller Hub (G-series SOCs)"
7433d0407baSopenharmony_ci	help
7443d0407baSopenharmony_ci	  This option enables driver for GPIO on AMDs Fusion Controller Hub,
7453d0407baSopenharmony_ci	  as found on G-series SOCs (eg. GX-412TC)
7463d0407baSopenharmony_ci
7473d0407baSopenharmony_ci	  Note: This driver doesn't registers itself automatically, as it
7483d0407baSopenharmony_ci	  needs to be provided with platform specific configuration.
7493d0407baSopenharmony_ci	  (See eg. CONFIG_PCENGINES_APU2.)
7503d0407baSopenharmony_ciendmenu
7513d0407baSopenharmony_ci
7523d0407baSopenharmony_cimenu "Port-mapped I/O GPIO drivers"
7533d0407baSopenharmony_ci	depends on X86 # Unconditional I/O space access
7543d0407baSopenharmony_ci
7553d0407baSopenharmony_ciconfig GPIO_104_DIO_48E
7563d0407baSopenharmony_ci	tristate "ACCES 104-DIO-48E GPIO support"
7573d0407baSopenharmony_ci	depends on PC104
7583d0407baSopenharmony_ci	select ISA_BUS_API
7593d0407baSopenharmony_ci	select GPIOLIB_IRQCHIP
7603d0407baSopenharmony_ci	help
7613d0407baSopenharmony_ci	  Enables GPIO support for the ACCES 104-DIO-48E series (104-DIO-48E,
7623d0407baSopenharmony_ci	  104-DIO-24E). The base port addresses for the devices may be
7633d0407baSopenharmony_ci	  configured via the base module parameter. The interrupt line numbers
7643d0407baSopenharmony_ci	  for the devices may be configured via the irq module parameter.
7653d0407baSopenharmony_ci
7663d0407baSopenharmony_ciconfig GPIO_104_IDIO_16
7673d0407baSopenharmony_ci	tristate "ACCES 104-IDIO-16 GPIO support"
7683d0407baSopenharmony_ci	depends on PC104
7693d0407baSopenharmony_ci	select ISA_BUS_API
7703d0407baSopenharmony_ci	select GPIOLIB_IRQCHIP
7713d0407baSopenharmony_ci	help
7723d0407baSopenharmony_ci	  Enables GPIO support for the ACCES 104-IDIO-16 family (104-IDIO-16,
7733d0407baSopenharmony_ci	  104-IDIO-16E, 104-IDO-16, 104-IDIO-8, 104-IDIO-8E, 104-IDO-8). The
7743d0407baSopenharmony_ci	  base port addresses for the devices may be configured via the base
7753d0407baSopenharmony_ci	  module parameter. The interrupt line numbers for the devices may be
7763d0407baSopenharmony_ci	  configured via the irq module parameter.
7773d0407baSopenharmony_ci
7783d0407baSopenharmony_ciconfig GPIO_104_IDI_48
7793d0407baSopenharmony_ci	tristate "ACCES 104-IDI-48 GPIO support"
7803d0407baSopenharmony_ci	depends on PC104
7813d0407baSopenharmony_ci	select ISA_BUS_API
7823d0407baSopenharmony_ci	select GPIOLIB_IRQCHIP
7833d0407baSopenharmony_ci	help
7843d0407baSopenharmony_ci	  Enables GPIO support for the ACCES 104-IDI-48 family (104-IDI-48A,
7853d0407baSopenharmony_ci	  104-IDI-48AC, 104-IDI-48B, 104-IDI-48BC). The base port addresses for
7863d0407baSopenharmony_ci	  the devices may be configured via the base module parameter. The
7873d0407baSopenharmony_ci	  interrupt line numbers for the devices may be configured via the irq
7883d0407baSopenharmony_ci	  module parameter.
7893d0407baSopenharmony_ci
7903d0407baSopenharmony_ciconfig GPIO_F7188X
7913d0407baSopenharmony_ci	tristate "F71869, F71869A, F71882FG, F71889F and F81866 GPIO support"
7923d0407baSopenharmony_ci	help
7933d0407baSopenharmony_ci	  This option enables support for GPIOs found on Fintek Super-I/O
7943d0407baSopenharmony_ci	  chips F71869, F71869A, F71882FG, F71889F and F81866.
7953d0407baSopenharmony_ci
7963d0407baSopenharmony_ci	  To compile this driver as a module, choose M here: the module will
7973d0407baSopenharmony_ci	  be called f7188x-gpio.
7983d0407baSopenharmony_ci
7993d0407baSopenharmony_ciconfig GPIO_GPIO_MM
8003d0407baSopenharmony_ci	tristate "Diamond Systems GPIO-MM GPIO support"
8013d0407baSopenharmony_ci	depends on PC104
8023d0407baSopenharmony_ci	select ISA_BUS_API
8033d0407baSopenharmony_ci	help
8043d0407baSopenharmony_ci	  Enables GPIO support for the Diamond Systems GPIO-MM and GPIO-MM-12.
8053d0407baSopenharmony_ci
8063d0407baSopenharmony_ci	  The Diamond Systems GPIO-MM device features 48 lines of digital I/O
8073d0407baSopenharmony_ci	  via the emulation of dual 82C55A PPI chips. This driver provides GPIO
8083d0407baSopenharmony_ci	  support for these 48 channels of digital I/O.
8093d0407baSopenharmony_ci
8103d0407baSopenharmony_ci	  The base port addresses for the devices may be configured via the base
8113d0407baSopenharmony_ci	  array module parameter.
8123d0407baSopenharmony_ci
8133d0407baSopenharmony_ciconfig GPIO_IT87
8143d0407baSopenharmony_ci	tristate "IT87xx GPIO support"
8153d0407baSopenharmony_ci	help
8163d0407baSopenharmony_ci	  Say yes here to support GPIO functionality of IT87xx Super I/O chips.
8173d0407baSopenharmony_ci
8183d0407baSopenharmony_ci	  This driver is tested with ITE IT8728 and IT8732 Super I/O chips, and
8193d0407baSopenharmony_ci	  supports the IT8761E, IT8613, IT8620E, and IT8628E Super I/O chips as
8203d0407baSopenharmony_ci	  well.
8213d0407baSopenharmony_ci
8223d0407baSopenharmony_ci	  To compile this driver as a module, choose M here: the module will
8233d0407baSopenharmony_ci	  be called gpio_it87
8243d0407baSopenharmony_ci
8253d0407baSopenharmony_ciconfig GPIO_SCH
8263d0407baSopenharmony_ci	tristate "Intel SCH/TunnelCreek/Centerton/Quark X1000 GPIO"
8273d0407baSopenharmony_ci	depends on (X86 || COMPILE_TEST) && PCI
8283d0407baSopenharmony_ci	select MFD_CORE
8293d0407baSopenharmony_ci	select LPC_SCH
8303d0407baSopenharmony_ci	help
8313d0407baSopenharmony_ci	  Say yes here to support GPIO interface on Intel Poulsbo SCH,
8323d0407baSopenharmony_ci	  Intel Tunnel Creek processor, Intel Centerton processor or
8333d0407baSopenharmony_ci	  Intel Quark X1000 SoC.
8343d0407baSopenharmony_ci
8353d0407baSopenharmony_ci	  The Intel SCH contains a total of 14 GPIO pins. Ten GPIOs are
8363d0407baSopenharmony_ci	  powered by the core power rail and are turned off during sleep
8373d0407baSopenharmony_ci	  modes (S3 and higher). The remaining four GPIOs are powered by
8383d0407baSopenharmony_ci	  the Intel SCH suspend power supply. These GPIOs remain
8393d0407baSopenharmony_ci	  active during S3. The suspend powered GPIOs can be used to wake the
8403d0407baSopenharmony_ci	  system from the Suspend-to-RAM state.
8413d0407baSopenharmony_ci
8423d0407baSopenharmony_ci	  The Intel Tunnel Creek processor has 5 GPIOs powered by the
8433d0407baSopenharmony_ci	  core power rail and 9 from suspend power supply.
8443d0407baSopenharmony_ci
8453d0407baSopenharmony_ci	  The Intel Centerton processor has a total of 30 GPIO pins.
8463d0407baSopenharmony_ci	  Twenty-one are powered by the core power rail and 9 from the
8473d0407baSopenharmony_ci	  suspend power supply.
8483d0407baSopenharmony_ci
8493d0407baSopenharmony_ci	  The Intel Quark X1000 SoC has 2 GPIOs powered by the core
8503d0407baSopenharmony_ci	  power well and 6 from the suspend power well.
8513d0407baSopenharmony_ci
8523d0407baSopenharmony_ciconfig GPIO_SCH311X
8533d0407baSopenharmony_ci	tristate "SMSC SCH311x SuperI/O GPIO"
8543d0407baSopenharmony_ci	help
8553d0407baSopenharmony_ci	  Driver to enable the GPIOs found on SMSC SMSC SCH3112, SCH3114 and
8563d0407baSopenharmony_ci	  SCH3116 "Super I/O" chipsets.
8573d0407baSopenharmony_ci
8583d0407baSopenharmony_ci	  To compile this driver as a module, choose M here: the module will
8593d0407baSopenharmony_ci	  be called gpio-sch311x.
8603d0407baSopenharmony_ci
8613d0407baSopenharmony_ciconfig GPIO_TS5500
8623d0407baSopenharmony_ci	tristate "TS-5500 DIO blocks and compatibles"
8633d0407baSopenharmony_ci	depends on TS5500 || COMPILE_TEST
8643d0407baSopenharmony_ci	help
8653d0407baSopenharmony_ci	  This driver supports Digital I/O exposed by pin blocks found on some
8663d0407baSopenharmony_ci	  Technologic Systems platforms. It includes, but is not limited to, 3
8673d0407baSopenharmony_ci	  blocks of the TS-5500: DIO1, DIO2 and the LCD port, and the TS-5600
8683d0407baSopenharmony_ci	  LCD port.
8693d0407baSopenharmony_ci
8703d0407baSopenharmony_ciconfig GPIO_WINBOND
8713d0407baSopenharmony_ci	tristate "Winbond Super I/O GPIO support"
8723d0407baSopenharmony_ci	select ISA_BUS_API
8733d0407baSopenharmony_ci	help
8743d0407baSopenharmony_ci	  This option enables support for GPIOs found on Winbond Super I/O
8753d0407baSopenharmony_ci	  chips.
8763d0407baSopenharmony_ci	  Currently, only W83627UHG (also known as Nuvoton NCT6627UD) is
8773d0407baSopenharmony_ci	  supported.
8783d0407baSopenharmony_ci
8793d0407baSopenharmony_ci	  You will need to provide a module parameter "gpios", or a
8803d0407baSopenharmony_ci	  boot-time parameter "gpio_winbond.gpios" with a bitmask of GPIO
8813d0407baSopenharmony_ci	  ports to enable (bit 0 is GPIO1, bit 1 is GPIO2, etc.).
8823d0407baSopenharmony_ci
8833d0407baSopenharmony_ci	  To compile this driver as a module, choose M here: the module will
8843d0407baSopenharmony_ci	  be called gpio-winbond.
8853d0407baSopenharmony_ci
8863d0407baSopenharmony_ciconfig GPIO_WS16C48
8873d0407baSopenharmony_ci	tristate "WinSystems WS16C48 GPIO support"
8883d0407baSopenharmony_ci	select ISA_BUS_API
8893d0407baSopenharmony_ci	select GPIOLIB_IRQCHIP
8903d0407baSopenharmony_ci	help
8913d0407baSopenharmony_ci	  Enables GPIO support for the WinSystems WS16C48. The base port
8923d0407baSopenharmony_ci	  addresses for the devices may be configured via the base module
8933d0407baSopenharmony_ci	  parameter. The interrupt line numbers for the devices may be
8943d0407baSopenharmony_ci	  configured via the irq module parameter.
8953d0407baSopenharmony_ci
8963d0407baSopenharmony_ciendmenu
8973d0407baSopenharmony_ci
8983d0407baSopenharmony_cimenu "I2C GPIO expanders"
8993d0407baSopenharmony_ci	depends on I2C
9003d0407baSopenharmony_ci
9013d0407baSopenharmony_ciconfig GPIO_ADP5588
9023d0407baSopenharmony_ci	tristate "ADP5588 I2C GPIO expander"
9033d0407baSopenharmony_ci	help
9043d0407baSopenharmony_ci	  This option enables support for 18 GPIOs found
9053d0407baSopenharmony_ci	  on Analog Devices ADP5588 GPIO Expanders.
9063d0407baSopenharmony_ci
9073d0407baSopenharmony_ciconfig GPIO_ADP5588_IRQ
9083d0407baSopenharmony_ci	bool "Interrupt controller support for ADP5588"
9093d0407baSopenharmony_ci	depends on GPIO_ADP5588=y
9103d0407baSopenharmony_ci	select GPIOLIB_IRQCHIP
9113d0407baSopenharmony_ci	help
9123d0407baSopenharmony_ci	  Say yes here to enable the adp5588 to be used as an interrupt
9133d0407baSopenharmony_ci	  controller. It requires the driver to be built in the kernel.
9143d0407baSopenharmony_ci
9153d0407baSopenharmony_ciconfig GPIO_ADNP
9163d0407baSopenharmony_ci	tristate "Avionic Design N-bit GPIO expander"
9173d0407baSopenharmony_ci	depends on OF_GPIO
9183d0407baSopenharmony_ci	select GPIOLIB_IRQCHIP
9193d0407baSopenharmony_ci	help
9203d0407baSopenharmony_ci	  This option enables support for N GPIOs found on Avionic Design
9213d0407baSopenharmony_ci	  I2C GPIO expanders. The register space will be extended by powers
9223d0407baSopenharmony_ci	  of two, so the controller will need to accommodate for that. For
9233d0407baSopenharmony_ci	  example: if a controller provides 48 pins, 6 registers will be
9243d0407baSopenharmony_ci	  enough to represent all pins, but the driver will assume a
9253d0407baSopenharmony_ci	  register layout for 64 pins (8 registers).
9263d0407baSopenharmony_ci
9273d0407baSopenharmony_ciconfig GPIO_GW_PLD
9283d0407baSopenharmony_ci	tristate "Gateworks PLD GPIO Expander"
9293d0407baSopenharmony_ci	depends on OF_GPIO
9303d0407baSopenharmony_ci	help
9313d0407baSopenharmony_ci	  Say yes here to provide access to the Gateworks I2C PLD GPIO
9323d0407baSopenharmony_ci	  Expander. This is used at least on the Cambria GW2358-4.
9333d0407baSopenharmony_ci
9343d0407baSopenharmony_ciconfig GPIO_MAX7300
9353d0407baSopenharmony_ci	tristate "Maxim MAX7300 GPIO expander"
9363d0407baSopenharmony_ci	select GPIO_MAX730X
9373d0407baSopenharmony_ci	help
9383d0407baSopenharmony_ci	  GPIO driver for Maxim MAX7300 I2C-based GPIO expander.
9393d0407baSopenharmony_ci
9403d0407baSopenharmony_ciconfig GPIO_MAX732X
9413d0407baSopenharmony_ci	tristate "MAX7319, MAX7320-7327 I2C Port Expanders"
9423d0407baSopenharmony_ci	help
9433d0407baSopenharmony_ci	  Say yes here to support the MAX7319, MAX7320-7327 series of I2C
9443d0407baSopenharmony_ci	  Port Expanders. Each IO port on these chips has a fixed role of
9453d0407baSopenharmony_ci	  Input (designated by 'I'), Push-Pull Output ('O'), or Open-Drain
9463d0407baSopenharmony_ci	  Input and Output (designed by 'P'). The combinations are listed
9473d0407baSopenharmony_ci	  below:
9483d0407baSopenharmony_ci
9493d0407baSopenharmony_ci	  8 bits:       max7319 (8I), max7320 (8O), max7321 (8P),
9503d0407baSopenharmony_ci	                max7322 (4I4O), max7323 (4P4O)
9513d0407baSopenharmony_ci
9523d0407baSopenharmony_ci	  16 bits:      max7324 (8I8O), max7325 (8P8O),
9533d0407baSopenharmony_ci	                max7326 (4I12O), max7327 (4P12O)
9543d0407baSopenharmony_ci
9553d0407baSopenharmony_ci	  Board setup code must specify the model to use, and the start
9563d0407baSopenharmony_ci	  number for these GPIOs.
9573d0407baSopenharmony_ci
9583d0407baSopenharmony_ciconfig GPIO_MAX732X_IRQ
9593d0407baSopenharmony_ci	bool "Interrupt controller support for MAX732x"
9603d0407baSopenharmony_ci	depends on GPIO_MAX732X=y
9613d0407baSopenharmony_ci	select GPIOLIB_IRQCHIP
9623d0407baSopenharmony_ci	help
9633d0407baSopenharmony_ci	  Say yes here to enable the max732x to be used as an interrupt
9643d0407baSopenharmony_ci	  controller. It requires the driver to be built in the kernel.
9653d0407baSopenharmony_ci
9663d0407baSopenharmony_ciconfig GPIO_MC9S08DZ60
9673d0407baSopenharmony_ci	bool "MX35 3DS BOARD MC9S08DZ60 GPIO functions"
9683d0407baSopenharmony_ci	depends on I2C=y && MACH_MX35_3DS
9693d0407baSopenharmony_ci	help
9703d0407baSopenharmony_ci	  Select this to enable the MC9S08DZ60 GPIO driver
9713d0407baSopenharmony_ci
9723d0407baSopenharmony_ciconfig GPIO_PCA953X
9733d0407baSopenharmony_ci	tristate "PCA95[357]x, PCA9698, TCA64xx, and MAX7310 I/O ports"
9743d0407baSopenharmony_ci	select REGMAP_I2C
9753d0407baSopenharmony_ci	help
9763d0407baSopenharmony_ci	  Say yes here to provide access to several register-oriented
9773d0407baSopenharmony_ci	  SMBus I/O expanders, made mostly by NXP or TI.  Compatible
9783d0407baSopenharmony_ci	  models include:
9793d0407baSopenharmony_ci
9803d0407baSopenharmony_ci	  4 bits:       pca9536, pca9537
9813d0407baSopenharmony_ci
9823d0407baSopenharmony_ci	  8 bits:       max7310, max7315, pca6107, pca9534, pca9538, pca9554,
9833d0407baSopenharmony_ci	                pca9556, pca9557, pca9574, tca6408, tca9554, xra1202
9843d0407baSopenharmony_ci
9853d0407baSopenharmony_ci	  16 bits:      max7312, max7313, pca9535, pca9539, pca9555, pca9575,
9863d0407baSopenharmony_ci	                tca6416
9873d0407baSopenharmony_ci
9883d0407baSopenharmony_ci	  24 bits:      tca6424
9893d0407baSopenharmony_ci
9903d0407baSopenharmony_ci	  40 bits:      pca9505, pca9698
9913d0407baSopenharmony_ci
9923d0407baSopenharmony_ciconfig GPIO_PCA953X_IRQ
9933d0407baSopenharmony_ci	bool "Interrupt controller support for PCA953x"
9943d0407baSopenharmony_ci	depends on GPIO_PCA953X
9953d0407baSopenharmony_ci	select GPIOLIB_IRQCHIP
9963d0407baSopenharmony_ci	help
9973d0407baSopenharmony_ci	  Say yes here to enable the pca953x to be used as an interrupt
9983d0407baSopenharmony_ci	  controller. It requires the driver to be built in the kernel.
9993d0407baSopenharmony_ci
10003d0407baSopenharmony_ciconfig GPIO_PCA9570
10013d0407baSopenharmony_ci	tristate "PCA9570 4-Bit I2C GPO expander"
10023d0407baSopenharmony_ci	help
10033d0407baSopenharmony_ci	  Say yes here to enable the GPO driver for the NXP PCA9570 chip.
10043d0407baSopenharmony_ci
10053d0407baSopenharmony_ci	  To compile this driver as a module, choose M here: the module will
10063d0407baSopenharmony_ci	  be called gpio-pca9570.
10073d0407baSopenharmony_ci
10083d0407baSopenharmony_ciconfig GPIO_PCF857X
10093d0407baSopenharmony_ci	tristate "PCF857x, PCA{85,96}7x, and MAX732[89] I2C GPIO expanders"
10103d0407baSopenharmony_ci	select GPIOLIB_IRQCHIP
10113d0407baSopenharmony_ci	select IRQ_DOMAIN
10123d0407baSopenharmony_ci	help
10133d0407baSopenharmony_ci	  Say yes here to provide access to most "quasi-bidirectional" I2C
10143d0407baSopenharmony_ci	  GPIO expanders used for additional digital outputs or inputs.
10153d0407baSopenharmony_ci	  Most of these parts are from NXP, though TI is a second source for
10163d0407baSopenharmony_ci	  some of them.  Compatible models include:
10173d0407baSopenharmony_ci
10183d0407baSopenharmony_ci	  8 bits:   pcf8574, pcf8574a, pca8574, pca8574a,
10193d0407baSopenharmony_ci	            pca9670, pca9672, pca9674, pca9674a,
10203d0407baSopenharmony_ci	            max7328, max7329
10213d0407baSopenharmony_ci
10223d0407baSopenharmony_ci	  16 bits:  pcf8575, pcf8575c, pca8575,
10233d0407baSopenharmony_ci	            pca9671, pca9673, pca9675
10243d0407baSopenharmony_ci
10253d0407baSopenharmony_ci	  Your board setup code will need to declare the expanders in
10263d0407baSopenharmony_ci	  use, and assign numbers to the GPIOs they expose.  Those GPIOs
10273d0407baSopenharmony_ci	  can then be used from drivers and other kernel code, just like
10283d0407baSopenharmony_ci	  other GPIOs, but only accessible from task contexts.
10293d0407baSopenharmony_ci
10303d0407baSopenharmony_ci	  This driver provides an in-kernel interface to those GPIOs using
10313d0407baSopenharmony_ci	  platform-neutral GPIO calls.
10323d0407baSopenharmony_ci
10333d0407baSopenharmony_ciconfig GPIO_TPIC2810
10343d0407baSopenharmony_ci	tristate "TPIC2810 8-Bit I2C GPO expander"
10353d0407baSopenharmony_ci	help
10363d0407baSopenharmony_ci	  Say yes here to enable the GPO driver for the TI TPIC2810 chip.
10373d0407baSopenharmony_ci
10383d0407baSopenharmony_ci	  To compile this driver as a module, choose M here: the module will
10393d0407baSopenharmony_ci	  be called gpio-tpic2810.
10403d0407baSopenharmony_ci
10413d0407baSopenharmony_ciconfig GPIO_TS4900
10423d0407baSopenharmony_ci	tristate "Technologic Systems FPGA I2C GPIO"
10433d0407baSopenharmony_ci	depends on SOC_IMX6 || COMPILE_TEST
10443d0407baSopenharmony_ci	select REGMAP_I2C
10453d0407baSopenharmony_ci	help
10463d0407baSopenharmony_ci	  Say yes here to enabled the GPIO driver for Technologic's FPGA core.
10473d0407baSopenharmony_ci	  Series supported include TS-4100, TS-4900, TS-7970 and TS-7990.
10483d0407baSopenharmony_ci
10493d0407baSopenharmony_ciendmenu
10503d0407baSopenharmony_ci
10513d0407baSopenharmony_cimenu "MFD GPIO expanders"
10523d0407baSopenharmony_ci
10533d0407baSopenharmony_ciconfig GPIO_ADP5520
10543d0407baSopenharmony_ci	tristate "GPIO Support for ADP5520 PMIC"
10553d0407baSopenharmony_ci	depends on PMIC_ADP5520
10563d0407baSopenharmony_ci	help
10573d0407baSopenharmony_ci	  This option enables support for on-chip GPIO found
10583d0407baSopenharmony_ci	  on Analog Devices ADP5520 PMICs.
10593d0407baSopenharmony_ci
10603d0407baSopenharmony_ciconfig GPIO_ALTERA_A10SR
10613d0407baSopenharmony_ci	tristate "Altera Arria10 System Resource GPIO"
10623d0407baSopenharmony_ci	depends on MFD_ALTERA_A10SR
10633d0407baSopenharmony_ci	help
10643d0407baSopenharmony_ci	  Driver for Arria10 Development Kit GPIO expansion which
10653d0407baSopenharmony_ci	  includes reads of pushbuttons and DIP switches as well
10663d0407baSopenharmony_ci	  as writes to LEDs.
10673d0407baSopenharmony_ci
10683d0407baSopenharmony_ciconfig GPIO_ARIZONA
10693d0407baSopenharmony_ci	tristate "Wolfson Microelectronics Arizona class devices"
10703d0407baSopenharmony_ci	depends on MFD_ARIZONA
10713d0407baSopenharmony_ci	help
10723d0407baSopenharmony_ci	  Support for GPIOs on Wolfson Arizona class devices.
10733d0407baSopenharmony_ci
10743d0407baSopenharmony_ciconfig GPIO_BD70528
10753d0407baSopenharmony_ci	tristate "ROHM BD70528 GPIO support"
10763d0407baSopenharmony_ci	depends on MFD_ROHM_BD70528
10773d0407baSopenharmony_ci	help
10783d0407baSopenharmony_ci	  Support for GPIOs on ROHM BD70528 PMIC. There are four GPIOs
10793d0407baSopenharmony_ci	  available on the ROHM PMIC in total. The GPIOs can also
10803d0407baSopenharmony_ci	  generate interrupts.
10813d0407baSopenharmony_ci
10823d0407baSopenharmony_ci	  This driver can also be built as a module. If so, the module
10833d0407baSopenharmony_ci	  will be called gpio-bd70528.
10843d0407baSopenharmony_ci
10853d0407baSopenharmony_ciconfig GPIO_BD71828
10863d0407baSopenharmony_ci	tristate "ROHM BD71828 GPIO support"
10873d0407baSopenharmony_ci	depends on MFD_ROHM_BD71828
10883d0407baSopenharmony_ci	help
10893d0407baSopenharmony_ci	  Support for GPIOs on ROHM BD71828 PMIC. There are three GPIOs
10903d0407baSopenharmony_ci	  available on the ROHM PMIC in total. The GPIOs are limited to
10913d0407baSopenharmony_ci	  outputs only and pins must be configured to GPIO outputs by
10923d0407baSopenharmony_ci	  OTP. Enable this only if you want to use these pins as outputs.
10933d0407baSopenharmony_ci
10943d0407baSopenharmony_ci	  This driver can also be built as a module. If so, the module
10953d0407baSopenharmony_ci	  will be called gpio-bd71828.
10963d0407baSopenharmony_ci
10973d0407baSopenharmony_ciconfig GPIO_BD9571MWV
10983d0407baSopenharmony_ci	tristate "ROHM BD9571 GPIO support"
10993d0407baSopenharmony_ci	depends on MFD_BD9571MWV
11003d0407baSopenharmony_ci	help
11013d0407baSopenharmony_ci	  Support for GPIOs on ROHM BD9571 PMIC. There are two GPIOs
11023d0407baSopenharmony_ci	  available on the ROHM PMIC in total, both of which can also
11033d0407baSopenharmony_ci	  generate interrupts.
11043d0407baSopenharmony_ci
11053d0407baSopenharmony_ci	  This driver can also be built as a module. If so, the module
11063d0407baSopenharmony_ci	  will be called gpio-bd9571mwv.
11073d0407baSopenharmony_ci
11083d0407baSopenharmony_ciconfig GPIO_CRYSTAL_COVE
11093d0407baSopenharmony_ci	tristate "GPIO support for Crystal Cove PMIC"
11103d0407baSopenharmony_ci	depends on (X86 || COMPILE_TEST) && INTEL_SOC_PMIC
11113d0407baSopenharmony_ci	select GPIOLIB_IRQCHIP
11123d0407baSopenharmony_ci	help
11133d0407baSopenharmony_ci	  Support for GPIO pins on Crystal Cove PMIC.
11143d0407baSopenharmony_ci
11153d0407baSopenharmony_ci	  Say Yes if you have a Intel SoC based tablet with Crystal Cove PMIC
11163d0407baSopenharmony_ci	  inside.
11173d0407baSopenharmony_ci
11183d0407baSopenharmony_ci	  This driver can also be built as a module. If so, the module will be
11193d0407baSopenharmony_ci	  called gpio-crystalcove.
11203d0407baSopenharmony_ci
11213d0407baSopenharmony_ciconfig GPIO_CS5535
11223d0407baSopenharmony_ci	tristate "AMD CS5535/CS5536 GPIO support"
11233d0407baSopenharmony_ci	depends on X86 || MIPS || COMPILE_TEST
11243d0407baSopenharmony_ci	depends on MFD_CS5535
11253d0407baSopenharmony_ci	help
11263d0407baSopenharmony_ci	  The AMD CS5535 and CS5536 southbridges support 28 GPIO pins that
11273d0407baSopenharmony_ci	  can be used for quite a number of things.  The CS5535/6 is found on
11283d0407baSopenharmony_ci	  AMD Geode and Lemote Yeeloong devices.
11293d0407baSopenharmony_ci
11303d0407baSopenharmony_ci	  If unsure, say N.
11313d0407baSopenharmony_ci
11323d0407baSopenharmony_ciconfig GPIO_DA9052
11333d0407baSopenharmony_ci	tristate "Dialog DA9052 GPIO"
11343d0407baSopenharmony_ci	depends on PMIC_DA9052
11353d0407baSopenharmony_ci	help
11363d0407baSopenharmony_ci	  Say yes here to enable the GPIO driver for the DA9052 chip.
11373d0407baSopenharmony_ci
11383d0407baSopenharmony_ciconfig GPIO_DA9055
11393d0407baSopenharmony_ci	tristate "Dialog Semiconductor DA9055 GPIO"
11403d0407baSopenharmony_ci	depends on MFD_DA9055
11413d0407baSopenharmony_ci	help
11423d0407baSopenharmony_ci	  Say yes here to enable the GPIO driver for the DA9055 chip.
11433d0407baSopenharmony_ci
11443d0407baSopenharmony_ci	  The Dialog DA9055 PMIC chip has 3 GPIO pins that can be
11453d0407baSopenharmony_ci	  be controller by this driver.
11463d0407baSopenharmony_ci
11473d0407baSopenharmony_ci	  If driver is built as a module it will be called gpio-da9055.
11483d0407baSopenharmony_ci
11493d0407baSopenharmony_ciconfig GPIO_DLN2
11503d0407baSopenharmony_ci	tristate "Diolan DLN2 GPIO support"
11513d0407baSopenharmony_ci	depends on MFD_DLN2
11523d0407baSopenharmony_ci	select GPIOLIB_IRQCHIP
11533d0407baSopenharmony_ci
11543d0407baSopenharmony_ci	help
11553d0407baSopenharmony_ci	  Select this option to enable GPIO driver for the Diolan DLN2
11563d0407baSopenharmony_ci	  board.
11573d0407baSopenharmony_ci
11583d0407baSopenharmony_ci	  This driver can also be built as a module. If so, the module
11593d0407baSopenharmony_ci	  will be called gpio-dln2.
11603d0407baSopenharmony_ci
11613d0407baSopenharmony_ciconfig HTC_EGPIO
11623d0407baSopenharmony_ci	bool "HTC EGPIO support"
11633d0407baSopenharmony_ci	depends on ARM
11643d0407baSopenharmony_ci	help
11653d0407baSopenharmony_ci	  This driver supports the CPLD egpio chip present on
11663d0407baSopenharmony_ci	  several HTC phones.  It provides basic support for input
11673d0407baSopenharmony_ci	  pins, output pins, and irqs.
11683d0407baSopenharmony_ci
11693d0407baSopenharmony_ciconfig GPIO_JANZ_TTL
11703d0407baSopenharmony_ci	tristate "Janz VMOD-TTL Digital IO Module"
11713d0407baSopenharmony_ci	depends on MFD_JANZ_CMODIO
11723d0407baSopenharmony_ci	help
11733d0407baSopenharmony_ci	  This enables support for the Janz VMOD-TTL Digital IO module.
11743d0407baSopenharmony_ci	  This driver provides support for driving the pins in output
11753d0407baSopenharmony_ci	  mode only. Input mode is not supported.
11763d0407baSopenharmony_ci
11773d0407baSopenharmony_ciconfig GPIO_KEMPLD
11783d0407baSopenharmony_ci	tristate "Kontron ETX / COMexpress GPIO"
11793d0407baSopenharmony_ci	depends on MFD_KEMPLD
11803d0407baSopenharmony_ci	help
11813d0407baSopenharmony_ci	  This enables support for the PLD GPIO interface on some Kontron ETX
11823d0407baSopenharmony_ci	  and COMexpress (ETXexpress) modules.
11833d0407baSopenharmony_ci
11843d0407baSopenharmony_ci	  This driver can also be built as a module. If so, the module will be
11853d0407baSopenharmony_ci	  called gpio-kempld.
11863d0407baSopenharmony_ci
11873d0407baSopenharmony_ciconfig GPIO_LP3943
11883d0407baSopenharmony_ci	tristate "TI/National Semiconductor LP3943 GPIO expander"
11893d0407baSopenharmony_ci	depends on MFD_LP3943
11903d0407baSopenharmony_ci	help
11913d0407baSopenharmony_ci	  GPIO driver for LP3943 MFD.
11923d0407baSopenharmony_ci	  LP3943 can be used as a GPIO expander which provides up to 16 GPIOs.
11933d0407baSopenharmony_ci	  Open drain outputs are required for this usage.
11943d0407baSopenharmony_ci
11953d0407baSopenharmony_ciconfig GPIO_LP873X
11963d0407baSopenharmony_ci	tristate "TI LP873X GPO"
11973d0407baSopenharmony_ci	depends on MFD_TI_LP873X
11983d0407baSopenharmony_ci	help
11993d0407baSopenharmony_ci	  This driver supports the GPO on TI Lp873x PMICs. 2 GPOs are present
12003d0407baSopenharmony_ci	  on LP873X PMICs.
12013d0407baSopenharmony_ci
12023d0407baSopenharmony_ci	  This driver can also be built as a module. If so, the module will be
12033d0407baSopenharmony_ci	  called gpio-lp873x.
12043d0407baSopenharmony_ci
12053d0407baSopenharmony_ciconfig GPIO_LP87565
12063d0407baSopenharmony_ci	tristate "TI LP87565 GPIO"
12073d0407baSopenharmony_ci	depends on MFD_TI_LP87565
12083d0407baSopenharmony_ci	help
12093d0407baSopenharmony_ci	  This driver supports the GPIO on TI Lp873565 PMICs. 3 GPIOs are present
12103d0407baSopenharmony_ci	  on LP87565 PMICs.
12113d0407baSopenharmony_ci
12123d0407baSopenharmony_ci	  This driver can also be built as a module. If so, the module will be
12133d0407baSopenharmony_ci	  called gpio-lp87565.
12143d0407baSopenharmony_ci
12153d0407baSopenharmony_ciconfig GPIO_MADERA
12163d0407baSopenharmony_ci	tristate "Cirrus Logic Madera class codecs"
12173d0407baSopenharmony_ci	depends on PINCTRL_MADERA
12183d0407baSopenharmony_ci	help
12193d0407baSopenharmony_ci	  Support for GPIOs on Cirrus Logic Madera class codecs.
12203d0407baSopenharmony_ci
12213d0407baSopenharmony_ciconfig GPIO_MAX77620
12223d0407baSopenharmony_ci	tristate "GPIO support for PMIC MAX77620 and MAX20024"
12233d0407baSopenharmony_ci	depends on MFD_MAX77620
12243d0407baSopenharmony_ci	select GPIOLIB_IRQCHIP
12253d0407baSopenharmony_ci	help
12263d0407baSopenharmony_ci	  GPIO driver for MAX77620 and MAX20024 PMIC from Maxim Semiconductor.
12273d0407baSopenharmony_ci	  MAX77620 PMIC has 8 pins that can be configured as GPIOs. The
12283d0407baSopenharmony_ci	  driver also provides interrupt support for each of the gpios.
12293d0407baSopenharmony_ci	  Say yes here to enable the max77620 to be used as gpio controller.
12303d0407baSopenharmony_ci
12313d0407baSopenharmony_ciconfig GPIO_MAX77650
12323d0407baSopenharmony_ci	tristate "Maxim MAX77650/77651 GPIO support"
12333d0407baSopenharmony_ci	depends on MFD_MAX77650
12343d0407baSopenharmony_ci	help
12353d0407baSopenharmony_ci	  GPIO driver for MAX77650/77651 PMIC from Maxim Semiconductor.
12363d0407baSopenharmony_ci	  These chips have a single pin that can be configured as GPIO.
12373d0407baSopenharmony_ci
12383d0407baSopenharmony_ciconfig GPIO_MSIC
12393d0407baSopenharmony_ci	bool "Intel MSIC mixed signal gpio support"
12403d0407baSopenharmony_ci	depends on (X86 || COMPILE_TEST) && MFD_INTEL_MSIC
12413d0407baSopenharmony_ci	help
12423d0407baSopenharmony_ci	  Enable support for GPIO on intel MSIC controllers found in
12433d0407baSopenharmony_ci	  intel MID devices
12443d0407baSopenharmony_ci
12453d0407baSopenharmony_ciconfig GPIO_PALMAS
12463d0407baSopenharmony_ci	bool "TI PALMAS series PMICs GPIO"
12473d0407baSopenharmony_ci	depends on MFD_PALMAS
12483d0407baSopenharmony_ci	help
12493d0407baSopenharmony_ci	  Select this option to enable GPIO driver for the TI PALMAS
12503d0407baSopenharmony_ci	  series chip family.
12513d0407baSopenharmony_ci
12523d0407baSopenharmony_ciconfig GPIO_RC5T583
12533d0407baSopenharmony_ci	bool "RICOH RC5T583 GPIO"
12543d0407baSopenharmony_ci	depends on MFD_RC5T583
12553d0407baSopenharmony_ci	help
12563d0407baSopenharmony_ci	  Select this option to enable GPIO driver for the Ricoh RC5T583
12573d0407baSopenharmony_ci	  chip family.
12583d0407baSopenharmony_ci	  This driver provides the support for driving/reading the gpio pins
12593d0407baSopenharmony_ci	  of RC5T583 device through standard gpio library.
12603d0407baSopenharmony_ci
12613d0407baSopenharmony_ciconfig GPIO_SL28CPLD
12623d0407baSopenharmony_ci	tristate "Kontron sl28cpld GPIO support"
12633d0407baSopenharmony_ci	depends on MFD_SL28CPLD || COMPILE_TEST
12643d0407baSopenharmony_ci	select GPIO_REGMAP
12653d0407baSopenharmony_ci	select GPIOLIB_IRQCHIP
12663d0407baSopenharmony_ci	select REGMAP_IRQ
12673d0407baSopenharmony_ci	help
12683d0407baSopenharmony_ci	  This enables support for the GPIOs found on the Kontron sl28 CPLD.
12693d0407baSopenharmony_ci
12703d0407baSopenharmony_ci	  This driver can also be built as a module. If so, the module will be
12713d0407baSopenharmony_ci	  called gpio-sl28cpld.
12723d0407baSopenharmony_ci
12733d0407baSopenharmony_ciconfig GPIO_STMPE
12743d0407baSopenharmony_ci	bool "STMPE GPIOs"
12753d0407baSopenharmony_ci	depends on MFD_STMPE
12763d0407baSopenharmony_ci	depends on OF_GPIO
12773d0407baSopenharmony_ci	select GPIOLIB_IRQCHIP
12783d0407baSopenharmony_ci	help
12793d0407baSopenharmony_ci	  This enables support for the GPIOs found on the STMPE I/O
12803d0407baSopenharmony_ci	  Expanders.
12813d0407baSopenharmony_ci
12823d0407baSopenharmony_ciconfig GPIO_TC3589X
12833d0407baSopenharmony_ci	bool "TC3589X GPIOs"
12843d0407baSopenharmony_ci	depends on MFD_TC3589X
12853d0407baSopenharmony_ci	depends on OF_GPIO
12863d0407baSopenharmony_ci	select GPIOLIB_IRQCHIP
12873d0407baSopenharmony_ci	help
12883d0407baSopenharmony_ci	  This enables support for the GPIOs found on the TC3589X
12893d0407baSopenharmony_ci	  I/O Expander.
12903d0407baSopenharmony_ci
12913d0407baSopenharmony_ciconfig GPIO_TIMBERDALE
12923d0407baSopenharmony_ci	bool "Support for timberdale GPIO IP"
12933d0407baSopenharmony_ci	depends on MFD_TIMBERDALE
12943d0407baSopenharmony_ci	help
12953d0407baSopenharmony_ci	Add support for the GPIO IP in the timberdale FPGA.
12963d0407baSopenharmony_ci
12973d0407baSopenharmony_ciconfig GPIO_TPS65086
12983d0407baSopenharmony_ci	tristate "TI TPS65086 GPO"
12993d0407baSopenharmony_ci	depends on MFD_TPS65086
13003d0407baSopenharmony_ci	help
13013d0407baSopenharmony_ci	  This driver supports the GPO on TI TPS65086x PMICs.
13023d0407baSopenharmony_ci
13033d0407baSopenharmony_ciconfig GPIO_TPS65218
13043d0407baSopenharmony_ci	tristate "TPS65218 GPIO"
13053d0407baSopenharmony_ci	depends on MFD_TPS65218
13063d0407baSopenharmony_ci	help
13073d0407baSopenharmony_ci	  Select this option to enable GPIO driver for the TPS65218
13083d0407baSopenharmony_ci	  chip family.
13093d0407baSopenharmony_ci
13103d0407baSopenharmony_ciconfig GPIO_TPS6586X
13113d0407baSopenharmony_ci	bool "TPS6586X GPIO"
13123d0407baSopenharmony_ci	depends on MFD_TPS6586X
13133d0407baSopenharmony_ci	help
13143d0407baSopenharmony_ci	  Select this option to enable GPIO driver for the TPS6586X
13153d0407baSopenharmony_ci	  chip family.
13163d0407baSopenharmony_ci
13173d0407baSopenharmony_ciconfig GPIO_TPS65910
13183d0407baSopenharmony_ci	bool "TPS65910 GPIO"
13193d0407baSopenharmony_ci	depends on MFD_TPS65910
13203d0407baSopenharmony_ci	help
13213d0407baSopenharmony_ci	  Select this option to enable GPIO driver for the TPS65910
13223d0407baSopenharmony_ci	  chip family.
13233d0407baSopenharmony_ci
13243d0407baSopenharmony_ciconfig GPIO_TPS65912
13253d0407baSopenharmony_ci	tristate "TI TPS65912 GPIO"
13263d0407baSopenharmony_ci	depends on MFD_TPS65912
13273d0407baSopenharmony_ci	help
13283d0407baSopenharmony_ci	  This driver supports TPS65912 gpio chip
13293d0407baSopenharmony_ci
13303d0407baSopenharmony_ciconfig GPIO_TPS68470
13313d0407baSopenharmony_ci	bool "TPS68470 GPIO"
13323d0407baSopenharmony_ci	depends on MFD_TPS68470
13333d0407baSopenharmony_ci	help
13343d0407baSopenharmony_ci	  Select this option to enable GPIO driver for the TPS68470
13353d0407baSopenharmony_ci	  chip family.
13363d0407baSopenharmony_ci	  There are 7 GPIOs and few sensor related GPIOs supported
13373d0407baSopenharmony_ci	  by the TPS68470. While the 7 GPIOs can be configured as
13383d0407baSopenharmony_ci	  input or output as appropriate, the sensor related GPIOs
13393d0407baSopenharmony_ci	  are "output only" GPIOs.
13403d0407baSopenharmony_ci
13413d0407baSopenharmony_ci	  This driver config is bool, as the GPIO functionality
13423d0407baSopenharmony_ci	  of the TPS68470 must be available before dependent
13433d0407baSopenharmony_ci	  drivers are loaded.
13443d0407baSopenharmony_ci
13453d0407baSopenharmony_ciconfig GPIO_TQMX86
13463d0407baSopenharmony_ci	tristate "TQ-Systems QTMX86 GPIO"
13473d0407baSopenharmony_ci	depends on MFD_TQMX86 || COMPILE_TEST
13483d0407baSopenharmony_ci	depends on HAS_IOPORT_MAP
13493d0407baSopenharmony_ci	select GPIOLIB_IRQCHIP
13503d0407baSopenharmony_ci	help
13513d0407baSopenharmony_ci	  This driver supports GPIO on the TQMX86 IO controller.
13523d0407baSopenharmony_ci
13533d0407baSopenharmony_ciconfig GPIO_TWL4030
13543d0407baSopenharmony_ci	tristate "TWL4030, TWL5030, and TPS659x0 GPIOs"
13553d0407baSopenharmony_ci	depends on TWL4030_CORE
13563d0407baSopenharmony_ci	help
13573d0407baSopenharmony_ci	  Say yes here to access the GPIO signals of various multi-function
13583d0407baSopenharmony_ci	  power management chips from Texas Instruments.
13593d0407baSopenharmony_ci
13603d0407baSopenharmony_ciconfig GPIO_TWL6040
13613d0407baSopenharmony_ci	tristate "TWL6040 GPO"
13623d0407baSopenharmony_ci	depends on TWL6040_CORE
13633d0407baSopenharmony_ci	help
13643d0407baSopenharmony_ci	  Say yes here to access the GPO signals of twl6040
13653d0407baSopenharmony_ci	  audio chip from Texas Instruments.
13663d0407baSopenharmony_ci
13673d0407baSopenharmony_ciconfig GPIO_UCB1400
13683d0407baSopenharmony_ci	tristate "Philips UCB1400 GPIO"
13693d0407baSopenharmony_ci	depends on UCB1400_CORE
13703d0407baSopenharmony_ci	help
13713d0407baSopenharmony_ci	  This enables support for the Philips UCB1400 GPIO pins.
13723d0407baSopenharmony_ci	  The UCB1400 is an AC97 audio codec.
13733d0407baSopenharmony_ci
13743d0407baSopenharmony_ciconfig GPIO_WHISKEY_COVE
13753d0407baSopenharmony_ci	tristate "GPIO support for Whiskey Cove PMIC"
13763d0407baSopenharmony_ci	depends on (X86 || COMPILE_TEST) && INTEL_SOC_PMIC_BXTWC
13773d0407baSopenharmony_ci	select GPIOLIB_IRQCHIP
13783d0407baSopenharmony_ci	help
13793d0407baSopenharmony_ci	  Support for GPIO pins on Whiskey Cove PMIC.
13803d0407baSopenharmony_ci
13813d0407baSopenharmony_ci	  Say Yes if you have a Intel SoC based tablet with Whiskey Cove PMIC
13823d0407baSopenharmony_ci	  inside.
13833d0407baSopenharmony_ci
13843d0407baSopenharmony_ci	  This driver can also be built as a module. If so, the module will be
13853d0407baSopenharmony_ci	  called gpio-wcove.
13863d0407baSopenharmony_ci
13873d0407baSopenharmony_ciconfig GPIO_WM831X
13883d0407baSopenharmony_ci	tristate "WM831x GPIOs"
13893d0407baSopenharmony_ci	depends on MFD_WM831X
13903d0407baSopenharmony_ci	help
13913d0407baSopenharmony_ci	  Say yes here to access the GPIO signals of WM831x power management
13923d0407baSopenharmony_ci	  chips from Wolfson Microelectronics.
13933d0407baSopenharmony_ci
13943d0407baSopenharmony_ciconfig GPIO_WM8350
13953d0407baSopenharmony_ci	tristate "WM8350 GPIOs"
13963d0407baSopenharmony_ci	depends on MFD_WM8350
13973d0407baSopenharmony_ci	help
13983d0407baSopenharmony_ci	  Say yes here to access the GPIO signals of WM8350 power management
13993d0407baSopenharmony_ci	  chips from Wolfson Microelectronics.
14003d0407baSopenharmony_ci
14013d0407baSopenharmony_ciconfig GPIO_WM8994
14023d0407baSopenharmony_ci	tristate "WM8994 GPIOs"
14033d0407baSopenharmony_ci	depends on MFD_WM8994
14043d0407baSopenharmony_ci	help
14053d0407baSopenharmony_ci	  Say yes here to access the GPIO signals of WM8994 audio hub
14063d0407baSopenharmony_ci	  CODECs from Wolfson Microelectronics.
14073d0407baSopenharmony_ci
14083d0407baSopenharmony_ciendmenu
14093d0407baSopenharmony_ci
14103d0407baSopenharmony_cimenu "PCI GPIO expanders"
14113d0407baSopenharmony_ci	depends on PCI
14123d0407baSopenharmony_ci
14133d0407baSopenharmony_ciconfig GPIO_AMD8111
14143d0407baSopenharmony_ci	tristate "AMD 8111 GPIO driver"
14153d0407baSopenharmony_ci	depends on X86 || COMPILE_TEST
14163d0407baSopenharmony_ci	depends on HAS_IOPORT_MAP
14173d0407baSopenharmony_ci	help
14183d0407baSopenharmony_ci	  The AMD 8111 south bridge contains 32 GPIO pins which can be used.
14193d0407baSopenharmony_ci
14203d0407baSopenharmony_ci	  Note, that usually system firmware/ACPI handles GPIO pins on their
14213d0407baSopenharmony_ci	  own and users might easily break their systems with uncarefull usage
14223d0407baSopenharmony_ci	  of this driver!
14233d0407baSopenharmony_ci
14243d0407baSopenharmony_ci	  If unsure, say N
14253d0407baSopenharmony_ci
14263d0407baSopenharmony_ciconfig GPIO_BT8XX
14273d0407baSopenharmony_ci	tristate "BT8XX GPIO abuser"
14283d0407baSopenharmony_ci	depends on VIDEO_BT848=n
14293d0407baSopenharmony_ci	help
14303d0407baSopenharmony_ci	  The BT8xx frame grabber chip has 24 GPIO pins that can be abused
14313d0407baSopenharmony_ci	  as a cheap PCI GPIO card.
14323d0407baSopenharmony_ci
14333d0407baSopenharmony_ci	  This chip can be found on Miro, Hauppauge and STB TV-cards.
14343d0407baSopenharmony_ci
14353d0407baSopenharmony_ci	  The card needs to be physically altered for using it as a
14363d0407baSopenharmony_ci	  GPIO card. For more information on how to build a GPIO card
14373d0407baSopenharmony_ci	  from a BT8xx TV card, see the documentation file at
14383d0407baSopenharmony_ci	  Documentation/driver-api/gpio/bt8xxgpio.rst
14393d0407baSopenharmony_ci
14403d0407baSopenharmony_ci	  If unsure, say N.
14413d0407baSopenharmony_ci
14423d0407baSopenharmony_ciconfig GPIO_INTEL_MID
14433d0407baSopenharmony_ci	bool "Intel MID GPIO support"
14443d0407baSopenharmony_ci	depends on X86_INTEL_MID
14453d0407baSopenharmony_ci	select GPIOLIB_IRQCHIP
14463d0407baSopenharmony_ci	help
14473d0407baSopenharmony_ci	  Say Y here to support Intel MID GPIO.
14483d0407baSopenharmony_ci
14493d0407baSopenharmony_ciconfig GPIO_MERRIFIELD
14503d0407baSopenharmony_ci	tristate "Intel Merrifield GPIO support"
14513d0407baSopenharmony_ci	depends on X86_INTEL_MID
14523d0407baSopenharmony_ci	select GPIOLIB_IRQCHIP
14533d0407baSopenharmony_ci	help
14543d0407baSopenharmony_ci	  Say Y here to support Intel Merrifield GPIO.
14553d0407baSopenharmony_ci
14563d0407baSopenharmony_ciconfig GPIO_MLXBF
14573d0407baSopenharmony_ci	tristate "Mellanox BlueField SoC GPIO"
14583d0407baSopenharmony_ci	depends on (MELLANOX_PLATFORM && ARM64 && ACPI) || (64BIT && COMPILE_TEST)
14593d0407baSopenharmony_ci	select GPIO_GENERIC
14603d0407baSopenharmony_ci	help
14613d0407baSopenharmony_ci	  Say Y here if you want GPIO support on Mellanox BlueField SoC.
14623d0407baSopenharmony_ci
14633d0407baSopenharmony_ciconfig GPIO_MLXBF2
14643d0407baSopenharmony_ci	tristate "Mellanox BlueField 2 SoC GPIO"
14653d0407baSopenharmony_ci	depends on (MELLANOX_PLATFORM && ARM64 && ACPI) || (64BIT && COMPILE_TEST)
14663d0407baSopenharmony_ci	select GPIO_GENERIC
14673d0407baSopenharmony_ci	help
14683d0407baSopenharmony_ci	  Say Y here if you want GPIO support on Mellanox BlueField 2 SoC.
14693d0407baSopenharmony_ci
14703d0407baSopenharmony_ciconfig GPIO_ML_IOH
14713d0407baSopenharmony_ci	tristate "OKI SEMICONDUCTOR ML7213 IOH GPIO support"
14723d0407baSopenharmony_ci	depends on X86 || COMPILE_TEST
14733d0407baSopenharmony_ci	select GENERIC_IRQ_CHIP
14743d0407baSopenharmony_ci	help
14753d0407baSopenharmony_ci	  ML7213 is companion chip for Intel Atom E6xx series.
14763d0407baSopenharmony_ci	  This driver can be used for OKI SEMICONDUCTOR ML7213 IOH(Input/Output
14773d0407baSopenharmony_ci	  Hub) which is for IVI(In-Vehicle Infotainment) use.
14783d0407baSopenharmony_ci	  This driver can access the IOH's GPIO device.
14793d0407baSopenharmony_ci
14803d0407baSopenharmony_ciconfig GPIO_PCH
14813d0407baSopenharmony_ci	tristate "Intel EG20T PCH/LAPIS Semiconductor IOH(ML7223/ML7831) GPIO"
14823d0407baSopenharmony_ci	depends on X86_32 || MIPS || COMPILE_TEST
14833d0407baSopenharmony_ci	select GENERIC_IRQ_CHIP
14843d0407baSopenharmony_ci	help
14853d0407baSopenharmony_ci	  This driver is for PCH(Platform controller Hub) GPIO of Intel Topcliff
14863d0407baSopenharmony_ci	  which is an IOH(Input/Output Hub) for x86 embedded processor.
14873d0407baSopenharmony_ci	  This driver can access PCH GPIO device.
14883d0407baSopenharmony_ci
14893d0407baSopenharmony_ci	  This driver also can be used for LAPIS Semiconductor IOH(Input/
14903d0407baSopenharmony_ci	  Output Hub), ML7223 and ML7831.
14913d0407baSopenharmony_ci	  ML7223 IOH is for MP(Media Phone) use.
14923d0407baSopenharmony_ci	  ML7831 IOH is for general purpose use.
14933d0407baSopenharmony_ci	  ML7223/ML7831 is companion chip for Intel Atom E6xx series.
14943d0407baSopenharmony_ci	  ML7223/ML7831 is completely compatible for Intel EG20T PCH.
14953d0407baSopenharmony_ci
14963d0407baSopenharmony_ciconfig GPIO_PCI_IDIO_16
14973d0407baSopenharmony_ci	tristate "ACCES PCI-IDIO-16 GPIO support"
14983d0407baSopenharmony_ci	select GPIOLIB_IRQCHIP
14993d0407baSopenharmony_ci	help
15003d0407baSopenharmony_ci	  Enables GPIO support for the ACCES PCI-IDIO-16. An interrupt is
15013d0407baSopenharmony_ci	  generated when any of the inputs change state (low to high or high to
15023d0407baSopenharmony_ci	  low). Input filter control is not supported by this driver, and the
15033d0407baSopenharmony_ci	  input filters are deactivated by this driver.
15043d0407baSopenharmony_ci
15053d0407baSopenharmony_ciconfig GPIO_PCIE_IDIO_24
15063d0407baSopenharmony_ci	tristate "ACCES PCIe-IDIO-24 GPIO support"
15073d0407baSopenharmony_ci	select GPIOLIB_IRQCHIP
15083d0407baSopenharmony_ci	help
15093d0407baSopenharmony_ci	  Enables GPIO support for the ACCES PCIe-IDIO-24 family (PCIe-IDIO-24,
15103d0407baSopenharmony_ci	  PCIe-IDI-24, PCIe-IDO-24, PCIe-IDIO-12). An interrupt is generated
15113d0407baSopenharmony_ci	  when any of the inputs change state (low to high or high to low).
15123d0407baSopenharmony_ci	  Input filter control is not supported by this driver, and the input
15133d0407baSopenharmony_ci	  filters are deactivated by this driver.
15143d0407baSopenharmony_ci
15153d0407baSopenharmony_ciconfig GPIO_RDC321X
15163d0407baSopenharmony_ci	tristate "RDC R-321x GPIO support"
15173d0407baSopenharmony_ci	select MFD_CORE
15183d0407baSopenharmony_ci	select MFD_RDC321X
15193d0407baSopenharmony_ci	help
15203d0407baSopenharmony_ci	  Support for the RDC R321x SoC GPIOs over southbridge
15213d0407baSopenharmony_ci	  PCI configuration space.
15223d0407baSopenharmony_ci
15233d0407baSopenharmony_ciconfig GPIO_SODAVILLE
15243d0407baSopenharmony_ci	bool "Intel Sodaville GPIO support"
15253d0407baSopenharmony_ci	depends on X86 && OF
15263d0407baSopenharmony_ci	select GPIO_GENERIC
15273d0407baSopenharmony_ci	select GENERIC_IRQ_CHIP
15283d0407baSopenharmony_ci	help
15293d0407baSopenharmony_ci	  Say Y here to support Intel Sodaville GPIO.
15303d0407baSopenharmony_ci
15313d0407baSopenharmony_ciendmenu
15323d0407baSopenharmony_ci
15333d0407baSopenharmony_cimenu "SPI GPIO expanders"
15343d0407baSopenharmony_ci	depends on SPI_MASTER
15353d0407baSopenharmony_ci
15363d0407baSopenharmony_ciconfig GPIO_74X164
15373d0407baSopenharmony_ci	tristate "74x164 serial-in/parallel-out 8-bits shift register"
15383d0407baSopenharmony_ci	depends on OF_GPIO
15393d0407baSopenharmony_ci	help
15403d0407baSopenharmony_ci	  Driver for 74x164 compatible serial-in/parallel-out 8-outputs
15413d0407baSopenharmony_ci	  shift registers. This driver can be used to provide access
15423d0407baSopenharmony_ci	  to more gpio outputs.
15433d0407baSopenharmony_ci
15443d0407baSopenharmony_ciconfig GPIO_MAX3191X
15453d0407baSopenharmony_ci	tristate "Maxim MAX3191x industrial serializer"
15463d0407baSopenharmony_ci	select CRC8
15473d0407baSopenharmony_ci	help
15483d0407baSopenharmony_ci	  GPIO driver for Maxim MAX31910, MAX31911, MAX31912, MAX31913,
15493d0407baSopenharmony_ci	  MAX31953 and MAX31963 industrial serializer, a daisy-chainable
15503d0407baSopenharmony_ci	  chip to make 8 digital 24V inputs available via SPI.  Supports
15513d0407baSopenharmony_ci	  CRC checksums to guard against electromagnetic interference,
15523d0407baSopenharmony_ci	  as well as undervoltage and overtemperature detection.
15533d0407baSopenharmony_ci
15543d0407baSopenharmony_ciconfig GPIO_MAX7301
15553d0407baSopenharmony_ci	tristate "Maxim MAX7301 GPIO expander"
15563d0407baSopenharmony_ci	select GPIO_MAX730X
15573d0407baSopenharmony_ci	help
15583d0407baSopenharmony_ci	  GPIO driver for Maxim MAX7301 SPI-based GPIO expander.
15593d0407baSopenharmony_ci
15603d0407baSopenharmony_ciconfig GPIO_MC33880
15613d0407baSopenharmony_ci	tristate "Freescale MC33880 high-side/low-side switch"
15623d0407baSopenharmony_ci	help
15633d0407baSopenharmony_ci	  SPI driver for Freescale MC33880 high-side/low-side switch.
15643d0407baSopenharmony_ci	  This provides GPIO interface supporting inputs and outputs.
15653d0407baSopenharmony_ci
15663d0407baSopenharmony_ciconfig GPIO_PISOSR
15673d0407baSopenharmony_ci	tristate "Generic parallel-in/serial-out shift register"
15683d0407baSopenharmony_ci	help
15693d0407baSopenharmony_ci	  GPIO driver for SPI compatible parallel-in/serial-out shift
15703d0407baSopenharmony_ci	  registers. These are input only devices.
15713d0407baSopenharmony_ci
15723d0407baSopenharmony_ciconfig GPIO_XRA1403
15733d0407baSopenharmony_ci	tristate "EXAR XRA1403 16-bit GPIO expander"
15743d0407baSopenharmony_ci	select REGMAP_SPI
15753d0407baSopenharmony_ci	help
15763d0407baSopenharmony_ci	  GPIO driver for EXAR XRA1403 16-bit SPI-based GPIO expander.
15773d0407baSopenharmony_ci
15783d0407baSopenharmony_ciconfig GPIO_MOXTET
15793d0407baSopenharmony_ci	tristate "Turris Mox Moxtet bus GPIO expander"
15803d0407baSopenharmony_ci	depends on MOXTET
15813d0407baSopenharmony_ci	help
15823d0407baSopenharmony_ci	  Say yes here if you are building for the Turris Mox router.
15833d0407baSopenharmony_ci	  This is the driver needed for configuring the GPIOs via the Moxtet
15843d0407baSopenharmony_ci	  bus. For example the Mox module with SFP cage needs this driver
15853d0407baSopenharmony_ci	  so that phylink can use corresponding GPIOs.
15863d0407baSopenharmony_ci
15873d0407baSopenharmony_ciendmenu
15883d0407baSopenharmony_ci
15893d0407baSopenharmony_cimenu "USB GPIO expanders"
15903d0407baSopenharmony_ci	depends on USB
15913d0407baSopenharmony_ci
15923d0407baSopenharmony_ciconfig GPIO_VIPERBOARD
15933d0407baSopenharmony_ci	tristate "Viperboard GPIO a & b support"
15943d0407baSopenharmony_ci	depends on MFD_VIPERBOARD
15953d0407baSopenharmony_ci	help
15963d0407baSopenharmony_ci	  Say yes here to access the GPIO signals of Nano River
15973d0407baSopenharmony_ci	  Technologies Viperboard. There are two GPIO chips on the
15983d0407baSopenharmony_ci	  board: gpioa and gpiob.
15993d0407baSopenharmony_ci	  See viperboard API specification and Nano
16003d0407baSopenharmony_ci	  River Tech's viperboard.h for detailed meaning
16013d0407baSopenharmony_ci	  of the module parameters.
16023d0407baSopenharmony_ci
16033d0407baSopenharmony_ciendmenu
16043d0407baSopenharmony_ci
16053d0407baSopenharmony_ciconfig GPIO_AGGREGATOR
16063d0407baSopenharmony_ci	tristate "GPIO Aggregator"
16073d0407baSopenharmony_ci	help
16083d0407baSopenharmony_ci	  Say yes here to enable the GPIO Aggregator, which provides a way to
16093d0407baSopenharmony_ci	  aggregate existing GPIO lines into a new virtual GPIO chip.
16103d0407baSopenharmony_ci	  This can serve the following purposes:
16113d0407baSopenharmony_ci	    - Assign permissions for a collection of GPIO lines to a user,
16123d0407baSopenharmony_ci	    - Export a collection of GPIO lines to a virtual machine,
16133d0407baSopenharmony_ci	    - Provide a generic driver for a GPIO-operated device in an
16143d0407baSopenharmony_ci	      industrial control context, to be operated from userspace using
16153d0407baSopenharmony_ci	      the GPIO chardev interface.
16163d0407baSopenharmony_ci
16173d0407baSopenharmony_ciconfig GPIO_MOCKUP
16183d0407baSopenharmony_ci	tristate "GPIO Testing Driver"
16193d0407baSopenharmony_ci	select IRQ_SIM
16203d0407baSopenharmony_ci	help
16213d0407baSopenharmony_ci	  This enables GPIO Testing driver, which provides a way to test GPIO
16223d0407baSopenharmony_ci	  subsystem through sysfs(or char device) and debugfs. GPIO_SYSFS
16233d0407baSopenharmony_ci	  must be selected for this test.
16243d0407baSopenharmony_ci	  User could use it through the script in
16253d0407baSopenharmony_ci	  tools/testing/selftests/gpio/gpio-mockup.sh. Reference the usage in
16263d0407baSopenharmony_ci	  it.
16273d0407baSopenharmony_ci
16283d0407baSopenharmony_ciendif
1629