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