1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027 |
- #
- # 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
- 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 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_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
- 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
- help
- Say yes here to support the GPIO controller on Axis ETRAX FS SoCs.
- config GPIO_F7188X
- tristate "F71869, F71869A, F71882FG and F71889F GPIO support"
- depends on X86
- 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_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_IT8761E
- tristate "IT8761E GPIO support"
- depends on X86 # unconditional access to IO space.
- help
- Say yes here to support GPIO functionality of IT8761E super I/O chip.
- 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_MSM_V2
- tristate "Qualcomm MSM GPIO v2"
- depends on GPIOLIB && OF && ARCH_QCOM
- help
- Say yes here to support the GPIO interface on ARM v7 based
- Qualcomm MSM chips. Most of the pins on the MSM can be
- selected for GPIO, and are controlled by this driver.
- config GPIO_MVEBU
- def_bool y
- depends on PLAT_ORION
- depends on OF
- select GPIO_GENERIC
- 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 ARM && (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_SCH
- tristate "Intel SCH/TunnelCreek/Centerton/Quark X1000 GPIO"
- depends on PCI && X86
- 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_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_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_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 && (PPC || MICROBLAZE || ARCH_ZYNQ || X86)
- help
- Say yes here to support the Xilinx FPGA GPIO device
- config GPIO_XLP
- tristate "Netlogic XLP GPIO support"
- depends on CPU_XLP
- 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.
- endmenu
- menu "I2C GPIO expanders"
- depends on I2C
- config GPIO_ADP5588
- tristate "ADP5588 I2C GPIO expander"
- depends on I2C
- 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 I2C && 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"
- depends on I2C
- select GPIO_MAX730X
- help
- GPIO driver for Maxim MAX7300 I2C-based GPIO expander.
- config GPIO_MAX732X
- tristate "MAX7319, MAX7320-7327 I2C Port Expanders"
- depends on I2C
- 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"
- depends on 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, 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"
- depends on I2C
- 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 SPI_MASTER && 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"
- depends on SPI_MASTER
- select GPIO_MAX730X
- help
- GPIO driver for Maxim MAX7301 SPI-based GPIO expander.
- config GPIO_MCP23S08
- tristate "Microchip MCP23xxx I/O expander"
- depends on (SPI_MASTER && !I2C) || I2C
- 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.
- config GPIO_MC33880
- tristate "Freescale MC33880 high-side/low-side switch"
- depends on SPI_MASTER
- help
- SPI driver for Freescale MC33880 high-side/low-side switch.
- This provides GPIO interface supporting inputs and outputs.
- 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
|