Add the rt linux 4.1.3-rt3 as base
[kvmfornfv.git] / kernel / drivers / gpio / Kconfig
diff --git a/kernel/drivers/gpio/Kconfig b/kernel/drivers/gpio/Kconfig
new file mode 100644 (file)
index 0000000..caefe80
--- /dev/null
@@ -0,0 +1,991 @@
+#
+# 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_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_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_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
+       bool "TI OMAP GPIO support" if COMPILE_TEST && !ARCH_OMAP2PLUS
+       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_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
+       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