12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043 |
- #
- # GPIO infrastructure and drivers
- #
- config ARCH_HAVE_CUSTOM_GPIO_H
- bool
- help
- Selecting this config option from the architecture Kconfig allows
- the architecture to provide a custom asm/gpio.h implementation
- overriding the default implementations. New uses of this are
- strongly discouraged.
- config ARCH_WANT_OPTIONAL_GPIOLIB
- bool
- help
- Select this config option from the architecture Kconfig, if
- it is possible to use gpiolib on the architecture, but let the
- user decide whether to actually build it or not.
- Select this instead of ARCH_REQUIRE_GPIOLIB, if your architecture does
- not depend on GPIOs being available, but rather let the user
- decide whether he needs it or not.
- config ARCH_REQUIRE_GPIOLIB
- bool
- select GPIOLIB
- help
- Platforms select gpiolib if they use this infrastructure
- for all their GPIOs, usually starting with ones integrated
- into SOC processors.
- Selecting this from the architecture code will cause the gpiolib
- code to always get built in.
- menuconfig GPIOLIB
- bool "GPIO Support"
- depends on ARCH_WANT_OPTIONAL_GPIOLIB || ARCH_REQUIRE_GPIOLIB
- 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 GPIO_DEVRES
- def_bool y
- depends on HAS_IOMEM
- 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 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)"
- depends on SYSFS
- help
- Say Y here to add a sysfs interface for GPIOs.
- This is mostly useful to work around omissions in a system's
- kernel support. Those are common in custom and semicustom
- hardware assembled using standard kernels with a minimum of
- custom patches. In those cases, userspace code may import
- a given GPIO from the kernel, if no kernel driver requested it.
- Kernel drivers may also request that a particular GPIO be
- exported to userspace; this can be useful when debugging.
- config GPIO_GENERIC
- 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"
- 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
- 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
- help
- driver for GPIO functionality on Promontory IOHub
- Require ACPI ASL code to enumerate as a platform device.
- 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_BRCMSTB
- tristate "BRCMSTB GPIO support"
- default y if ARCH_BRCMSTB
- depends on OF_GPIO && (ARCH_BRCMSTB || COMPILE_TEST)
- select GPIO_GENERIC
- select GPIOLIB_IRQCHIP
- help
- Say yes here to enable GPIO support for Broadcom STB (BCM7XXX) SoCs.
- 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
- bool "TI Davinci/Keystone GPIO support"
- default y if ARCH_DAVINCI
- depends on ARM && (ARCH_DAVINCI || ARCH_KEYSTONE)
- 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 GENERIC_IRQ_CHIP
- help
- Say Y or M here to build support for the Synopsys DesignWare APB
- GPIO block.
- config GPIO_EM
- tristate "Emma Mobile GPIO"
- depends on ARM && 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
- config GPIO_ETRAXFS
- bool "Axis ETRAX FS General I/O"
- depends on CRIS || COMPILE_TEST
- depends on OF
- select GPIO_GENERIC
- select GPIOLIB_IRQCHIP
- help
- Say yes here to support the GPIO controller on Axis ETRAX FS SoCs.
- 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_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
- select GPIO_GENERIC
- select IRQ_DOMAIN
- help
- Select this to support Aeroflex Gaisler GRGPIO cores from the GRLIB
- VHDL IP core library.
- config GPIO_ICH
- tristate "Intel ICH GPIO"
- depends on PCI && X86
- select MFD_CORE
- select 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 (eg Ibex Peak), Series 6/C200 (eg
- Cougar Point), NM10 (Tiger Point), and 3100 (Whitmore Lake).
- If unsure, say N.
- config GPIO_IOP
- tristate "Intel IOP GPIO"
- depends on ARM && (ARCH_IOP32X || ARCH_IOP33X)
- help
- Say yes here to support the GPIO functionality of a number of Intel
- IOP32X or IOP33X.
- If unsure, say N.
- config GPIO_LOONGSON
- bool "Loongson-2/3 GPIO support"
- depends on CPU_LOONGSON2 || CPU_LOONGSON3
- help
- driver for GPIO functionality on Loongson-2F/3A/3B processors.
- config GPIO_LPC18XX
- bool "NXP LPC18XX/43XX GPIO support"
- default y if ARCH_LPC18XX
- depends on OF_GPIO && (ARCH_LPC18XX || COMPILE_TEST)
- help
- Select this option to enable GPIO driver for
- NXP LPC18XX/43XX devices.
- config GPIO_LYNXPOINT
- tristate "Intel Lynxpoint GPIO support"
- depends on ACPI && X86
- select GPIOLIB_IRQCHIP
- help
- driver for GPIO functionality on Intel Lynxpoint PCH chipset
- Requires ACPI device enumeration code to set up a platform device.
- config GPIO_MB86S7X
- bool "GPIO support for Fujitsu MB86S7x Platforms"
- depends on ARCH_MB86S7X
- help
- Say yes here to support the GPIO controller in Fujitsu MB86S70 SoCs.
- 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 16bit latch to the bus.
- config GPIO_MOXART
- bool "MOXART GPIO support"
- depends on ARCH_MOXART
- select GPIO_GENERIC
- help
- Select this option to enable GPIO driver for
- MOXA ART SoC devices.
- config GPIO_MPC5200
- def_bool y
- depends on PPC_MPC52xx
- config GPIO_MPC8XXX
- bool "MPC512x/MPC8xxx GPIO support"
- depends on PPC_MPC512x || PPC_MPC831x || PPC_MPC834x || PPC_MPC837x || \
- FSL_SOC_BOOKE || PPC_86xx
- help
- Say Y here if you're going to use hardware that connects to the
- MPC512x/831x/834x/837x/8572/8610 GPIOs.
- config GPIO_MVEBU
- def_bool y
- depends on PLAT_ORION
- depends on OF
- select GENERIC_IRQ_CHIP
- config GPIO_MXC
- def_bool y
- depends on ARCH_MXC
- select GPIO_GENERIC
- select GENERIC_IRQ_CHIP
- config GPIO_MXS
- def_bool y
- depends on ARCH_MXS
- select GPIO_GENERIC
- select GENERIC_IRQ_CHIP
- config GPIO_OCTEON
- tristate "Cavium OCTEON GPIO"
- depends on GPIOLIB && 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
- bool "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_PXA
- bool "PXA GPIO support"
- depends on ARCH_PXA || ARCH_MMP
- help
- Say yes here to support the PXA GPIO device
- config GPIO_RCAR
- tristate "Renesas R-Car GPIO"
- depends on ARCH_SHMOBILE || COMPILE_TEST
- select GPIOLIB_IRQCHIP
- help
- Say yes here to support GPIO on Renesas R-Car SoCs.
- config GPIO_SAMSUNG
- bool
- depends on PLAT_SAMSUNG
- help
- Legacy GPIO support. Use only for platforms without support for
- pinctrl.
- 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_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
- 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 bit. 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 GENERIC_IRQ_CHIP
- select OF_GPIO
- config GPIO_TZ1090
- bool "Toumaz Xenif TZ1090 GPIO support"
- depends on SOC_TZ1090
- select GENERIC_IRQ_CHIP
- default y
- help
- Say yes here to support Toumaz Xenif TZ1090 GPIOs.
- config GPIO_TZ1090_PDC
- bool "Toumaz Xenif TZ1090 PDC GPIO support"
- depends on SOC_TZ1090
- default y
- help
- Say yes here to support Toumaz Xenif TZ1090 PDC GPIOs.
- config GPIO_VF610
- def_bool y
- depends on ARCH_MXC && SOC_VF610
- select GPIOLIB_IRQCHIP
- help
- Say yes here to support Vybrid vf610 GPIOs.
- config GPIO_VR41XX
- tristate "NEC VR4100 series General-purpose I/O Uint support"
- depends on CPU_VR41XX
- help
- Say yes here to support the NEC VR4100 series General-purpose I/O Uint
- config GPIO_VX855
- tristate "VIA VX855/VX875 GPIO"
- depends on 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_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 && OF_GPIO
- select GPIO_GENERIC
- 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"
- depends on OF_GPIO
- help
- Say yes here to support the Xilinx FPGA GPIO device
- config GPIO_XLP
- tristate "Netlogic XLP GPIO support"
- depends on CPU_XLP && OF_GPIO
- select GPIOLIB_IRQCHIP
- help
- This driver provides support for GPIO interface on Netlogic XLP MIPS64
- SoCs. Currently supported XLP variants are XLP8XX, XLP3XX, XLP2XX,
- XLP9XX and XLP5XX.
- 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_ZX
- bool "ZTE ZX GPIO support"
- select GPIOLIB_IRQCHIP
- help
- Say yes here to support the GPIO device on ZTE ZX SoCs.
- endmenu
- menu "Port-mapped I/O GPIO drivers"
- depends on X86 # Unconditional I/O space access
- config GPIO_104_IDIO_16
- tristate "ACCES 104-IDIO-16 GPIO support"
- help
- Enables GPIO support for the ACCES 104-IDIO-16 family.
- config GPIO_F7188X
- tristate "F71869, F71869A, F71882FG and F71889F GPIO support"
- help
- This option enables support for GPIOs found on Fintek Super-I/O
- chips F71869, F71869A, F71882FG and F71889F.
- To compile this driver as a module, choose M here: the module will
- be called f7188x-gpio.
- 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 Super I/O chip 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 PCI
- select MFD_CORE
- select LPC_SCH
- 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.
- 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
- 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_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_MC9S08DZ60
- bool "MX35 3DS BOARD MC9S08DZ60 GPIO functions"
- depends on I2C=y && MACH_MX35_3DS
- help
- Select this to enable the MC9S08DZ60 GPIO driver
- config GPIO_PCA953X
- tristate "PCA95[357]x, PCA9698, TCA64xx, and MAX7310 I/O ports"
- 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, 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=y
- select GPIOLIB_IRQCHIP
- help
- Say yes here to enable the pca953x to be used as an interrupt
- controller. It requires the driver to be built in the kernel.
- 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_SX150X
- bool "Semtech SX150x I2C GPIO expander"
- depends on I2C=y
- select GPIOLIB_IRQCHIP
- default n
- help
- Say yes here to provide support for Semtech SX150-series I2C
- GPIO expanders. Compatible models include:
- 8 bits: sx1508q
- 16 bits: sx1509q
- 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_ARIZONA
- tristate "Wolfson Microelectronics Arizona class devices"
- depends on MFD_ARIZONA
- help
- Support for GPIOs on Wolfson Arizona class devices.
- config GPIO_CRYSTAL_COVE
- tristate "GPIO support for Crystal Cove PMIC"
- depends on 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 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 controller 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 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_MSIC
- bool "Intel MSIC mixed signal gpio support"
- depends on MFD_INTEL_MSIC
- help
- Enable support for GPIO on intel MSIC controllers found in
- intel MID devices
- 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_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_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_I2C || MFD_TPS65912_SPI)
- help
- This driver supports TPS65912 gpio chip
- 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_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 PCI
- help
- The AMD 8111 south bridge 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 uncarefull usage
- of this driver!
- If unsure, say N
- config GPIO_BT8XX
- tristate "BT8XX GPIO abuser"
- depends on PCI && 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/bt8xxgpio.txt
- If unsure, say N.
- config GPIO_INTEL_MID
- bool "Intel Mid GPIO support"
- depends on PCI && X86
- select GPIOLIB_IRQCHIP
- help
- Say Y here to support Intel Mid GPIO.
- config GPIO_ML_IOH
- tristate "OKI SEMICONDUCTOR ML7213 IOH GPIO support"
- depends on PCI
- 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 PCI && (X86_32 || 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_RDC321X
- tristate "RDC R-321x GPIO support"
- depends on PCI
- 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 && PCI && 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
- 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_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.
- endmenu
- menu "SPI or I2C GPIO expanders"
- depends on (SPI_MASTER && !I2C) || I2C
- config GPIO_MCP23S08
- tristate "Microchip MCP23xxx I/O expander"
- help
- SPI/I2C driver for Microchip MCP23S08/MCP23S17/MCP23008/MCP23017
- I/O expanders.
- This provides a GPIO interface supporting inputs and outputs.
- The I2C versions of the chips can be used as interrupt-controller.
- endmenu
- menu "USB GPIO expanders"
- depends on USB
- config GPIO_VIPERBOARD
- tristate "Viperboard GPIO a & b support"
- depends on MFD_VIPERBOARD && USB
- 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
- endif
|