2159 lines · 63.2 KB · Text
RawDownload
# SPDX-License-Identifier: GPL-2.0-only## GPIO infrastructure and drivers# config GPIOLIB_LEGACY	def_bool y config HAVE_SHARED_GPIOS	bool 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 GPIO_SHARED	def_bool y	depends on HAVE_SHARED_GPIOS || COMPILE_TEST	select AUXILIARY_BUS 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_SYSFS_LEGACY	bool "Enable legacy functionalities of the sysfs interface"	depends on GPIO_SYSFS	default y if GPIO_SYSFS	help	  Say Y here if you want to enable the legacy, global GPIO	  numberspace-based functionalities of the sysfs interface. config GPIO_CDEV	bool "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"	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. config GPIO_KUNIT	tristate "Build GPIO Kunit test cases"	depends on KUNIT	default KUNIT_ALL_TESTS	help	  Say Y here to build the module containing Kunit test cases verifying	  the functionality of the GPIO subsystem. config GPIO_GENERIC	depends on HAS_IOMEM # Only for IOMEM drivers	tristate config GPIO_REGMAP	select REGMAP	tristate config GPIO_SWNODE_UNDEFINED	bool	help	  This adds a special place holder for software nodes to contain an	  undefined GPIO reference, this is primarily used by SPI to allow a	  list of GPIO chip selects to mark a certain chip select as being	  controlled the SPI device's internal chip select mechanism and not	  a GPIO. # put drivers in the right section, in alphabetical order # This symbol is selected by both I2C and SPI expandersconfig GPIO_MAX730X	tristate config GPIO_IDIO_16	tristate	select REGMAP_IRQ	select GPIOLIB_IRQCHIP	select GPIO_REGMAP	help	  Enables support for the idio-16 library functions. The idio-16 library	  provides functions to facilitate communication with devices within the	  ACCES IDIO-16 family such as the 104-IDIO-16 and the PCI-IDIO-16. 	  If built as a module its name will be gpio-idio-16. 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	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"	select GPIO_GENERIC	select GPIOLIB_IRQCHIP	help	  Say Y or M here to build support for the Altera PIO device. 	  If driver is built as a module it will be called gpio-altera. config GPIO_AMDPT	tristate "AMD Promontory GPIO support"	depends on ACPI	select GPIO_GENERIC	help	  Driver for GPIO functionality on Promontory IOHub.	  Requires ACPI ASL code to enumerate as a platform device. config GPIO_ASPEED	tristate "Aspeed GPIO support"	depends on ARCH_ASPEED || COMPILE_TEST	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	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	# 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 ARCH_BCM_MOBILE || COMPILE_TEST	select GPIOLIB_IRQCHIP	help	  Turn on GPIO support for Broadcom "Kona" chips. config GPIO_BCM_XGS_IPROC	tristate "BRCM XGS iProc GPIO support"	depends on 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_BLZP1600	tristate "Blaize BLZP1600 GPIO support"	default y if ARCH_BLAIZE	depends on ARCH_BLAIZE || COMPILE_TEST	select GPIO_GENERIC	select GPIOLIB_IRQCHIP	help	  Say Y or M here to add support for the Blaize BLZP1600 GPIO device.	  The controller is based on the Verisilicon Microelectronics GPIO APB v0.2	  IP block. config GPIO_BRCMSTB	tristate "BRCMSTB GPIO support"	default y if (ARCH_BRCMSTB || BMIPS_GENERIC)	depends on ARCH_BRCMSTB || ARCH_BCM2835 || BMIPS_GENERIC || COMPILE_TEST	depends on OF	select GPIO_GENERIC	select IRQ_DOMAIN	help	  Say yes here to enable GPIO support for Broadcom STB (BCM7XXX) SoCs. config GPIO_BY_PINCTRL	tristate "GPIO support based on a pure pin control backend"	depends on GPIOLIB	help	  Support for generic GPIO handling based on top of pin control.	  Traditionally, firmware creates a GPIO interface or a pin	  controller interface and we have a driver to support it.  But	  in SCMI, the pin control interface is generic and we can	  create a simple GPIO device based on the pin control interface	  without doing anything custom. 	  This driver is used to access GPIOs over the ARM SCMI protocol. config GPIO_CADENCE	tristate "Cadence GPIO support"	depends on OF	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)) || COMPILE_TEST	select GPIOLIB_IRQCHIP	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	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	help	  Say yes here to support GPIO on Renesas Emma Mobile SoCs. config GPIO_EN7523	tristate "Airoha GPIO support"	depends on ARCH_AIROHA || COMPILE_TEST	default ARCH_AIROHA	select GPIO_GENERIC	select GPIOLIB_IRQCHIP	help	  Say Y or M here to support the GPIO controller block on the	  Airoha EN7523 SoC. It supports two banks of 32 GPIOs. config GPIO_EP93XX	def_bool y	depends on ARCH_EP93XX || COMPILE_TEST	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 || COMPILE_TEST	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	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_GRANITERAPIDS	tristate "Intel Granite Rapids-D vGPIO support"	depends on X86 || COMPILE_TEST	select GPIOLIB_IRQCHIP	help	  Select this to enable virtual GPIO support on platforms with the	  following SoCs: 	  - Intel Granite Rapids-D 	  The driver enables basic GPIO functionality and implements interrupt	  support. The virtual GPIO driver controls GPIO lines via a firmware	  interface. The physical GPIO pins reside on device that is external	  from the main SoC package, such as a BMC or a CPLD. 	  To compile this driver as a module, choose M here: the module will	  be called gpio-graniterapids. config GPIO_GRGPIO	tristate "Aeroflex Gaisler GRGPIO support"	depends on OF || COMPILE_TEST	select GPIO_GENERIC	select GPIOLIB_IRQCHIP	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 || 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	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 && LPC_ICH) || (COMPILE_TEST && HAS_IOPORT)	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_IXP4XX	bool "Intel IXP4xx GPIO"	depends on (ARCH_IXP4XX && OF) || COMPILE_TEST	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_LOONGSON_64BIT	tristate "Loongson 64 bit GPIO support"	depends on LOONGARCH || COMPILE_TEST	select GPIO_GENERIC	select GPIOLIB_IRQCHIP	help	  Say yes here to support the GPIO functionality of a number of	  Loongson series of chips. The Loongson GPIO controller supports	  up to 60 GPIOS in total, 4 of which are dedicated GPIO pins, and	  the remaining 56 are reused with other functions, with edge or	  level triggered interrupts. config GPIO_LPC18XX	tristate "NXP LPC18XX/43XX GPIO support"	default y if ARCH_LPC18XX	depends on ARCH_LPC18XX || COMPILE_TEST	select IRQ_DOMAIN_HIERARCHY	select GPIOLIB_IRQCHIP	help	  Select this option to enable GPIO driver for	  NXP LPC18XX/43XX devices. config GPIO_LPC32XX	tristate "NXP LPC32XX GPIO support"	depends on ARCH_LPC32XX || COMPILE_TEST	depends on OF	help	  Select this option to enable GPIO driver for	  NXP LPC32XX devices. config GPIO_MB86S7X	tristate "GPIO support for Fujitsu MB86S7x Platforms"	help	  Say yes here to support the GPIO controller in Fujitsu MB86S70 SoCs. config GPIO_MENZ127	tristate "MEN 16Z127 GPIO support"	depends on MCB	select GPIO_GENERIC	help	  Say yes here to support the MEN 16Z127 GPIO Controller. config GPIO_MM_LANTIQ	bool "Lantiq Memory mapped GPIOs"	depends on LANTIQ && SOC_XWAY	help	  This enables support for memory mapped GPIOs on the External Bus Unit	  (EBU) found on Lantiq SoCs. The GPIOs are output only as they are	  created by attaching a 16-bit latch to the bus. 

Lines 1–500 of 2159.