Add the rt linux 4.1.3-rt3 as base
[kvmfornfv.git] / kernel / drivers / gpio / Kconfig
1 #
2 # GPIO infrastructure and drivers
3 #
4
5 config ARCH_HAVE_CUSTOM_GPIO_H
6         bool
7         help
8           Selecting this config option from the architecture Kconfig allows
9           the architecture to provide a custom asm/gpio.h implementation
10           overriding the default implementations.  New uses of this are
11           strongly discouraged.
12
13 config ARCH_WANT_OPTIONAL_GPIOLIB
14         bool
15         help
16           Select this config option from the architecture Kconfig, if
17           it is possible to use gpiolib on the architecture, but let the
18           user decide whether to actually build it or not.
19           Select this instead of ARCH_REQUIRE_GPIOLIB, if your architecture does
20           not depend on GPIOs being available, but rather let the user
21           decide whether he needs it or not.
22
23 config ARCH_REQUIRE_GPIOLIB
24         bool
25         select GPIOLIB
26         help
27           Platforms select gpiolib if they use this infrastructure
28           for all their GPIOs, usually starting with ones integrated
29           into SOC processors.
30           Selecting this from the architecture code will cause the gpiolib
31           code to always get built in.
32
33
34 menuconfig GPIOLIB
35         bool "GPIO Support"
36         depends on ARCH_WANT_OPTIONAL_GPIOLIB || ARCH_REQUIRE_GPIOLIB
37         help
38           This enables GPIO support through the generic GPIO library.
39           You only need to enable this, if you also want to enable
40           one or more of the GPIO drivers below.
41
42           If unsure, say N.
43
44 if GPIOLIB
45
46 config GPIO_DEVRES
47         def_bool y
48         depends on HAS_IOMEM
49
50 config OF_GPIO
51         def_bool y
52         depends on OF
53
54 config GPIO_ACPI
55         def_bool y
56         depends on ACPI
57
58 config GPIOLIB_IRQCHIP
59         select IRQ_DOMAIN
60         bool
61
62 config DEBUG_GPIO
63         bool "Debug GPIO calls"
64         depends on DEBUG_KERNEL
65         help
66           Say Y here to add some extra checks and diagnostics to GPIO calls.
67           These checks help ensure that GPIOs have been properly initialized
68           before they are used, and that sleeping calls are not made from
69           non-sleeping contexts.  They can make bitbanged serial protocols
70           slower.  The diagnostics help catch the type of setup errors
71           that are most common when setting up new platforms or boards.
72
73 config GPIO_SYSFS
74         bool "/sys/class/gpio/... (sysfs interface)"
75         depends on SYSFS
76         help
77           Say Y here to add a sysfs interface for GPIOs.
78
79           This is mostly useful to work around omissions in a system's
80           kernel support.  Those are common in custom and semicustom
81           hardware assembled using standard kernels with a minimum of
82           custom patches.  In those cases, userspace code may import
83           a given GPIO from the kernel, if no kernel driver requested it.
84
85           Kernel drivers may also request that a particular GPIO be
86           exported to userspace; this can be useful when debugging.
87
88 config GPIO_GENERIC
89         tristate
90
91 # put drivers in the right section, in alphabetical order
92
93 # This symbol is selected by both I2C and SPI expanders
94 config GPIO_MAX730X
95         tristate
96
97 menu "Memory mapped GPIO drivers"
98
99 config GPIO_74XX_MMIO
100         tristate "GPIO driver for 74xx-ICs with MMIO access"
101         depends on OF_GPIO
102         select GPIO_GENERIC
103         help
104           Say yes here to support GPIO functionality for 74xx-compatible ICs
105           with MMIO access. Compatible models include:
106             1 bit:      741G125 (Input), 741G74 (Output)
107             2 bits:     742G125 (Input), 7474 (Output)
108             4 bits:     74125 (Input), 74175 (Output)
109             6 bits:     74365 (Input), 74174 (Output)
110             8 bits:     74244 (Input), 74273 (Output)
111             16 bits:    741624 (Input), 7416374 (Output)
112
113 config GPIO_ALTERA
114         tristate "Altera GPIO"
115         depends on OF_GPIO
116         select GPIO_GENERIC
117         select GPIOLIB_IRQCHIP
118         help
119           Say Y or M here to build support for the Altera PIO device.
120
121           If driver is built as a module it will be called gpio-altera.
122
123 config GPIO_BCM_KONA
124         bool "Broadcom Kona GPIO"
125         depends on OF_GPIO && (ARCH_BCM_MOBILE || COMPILE_TEST)
126         help
127           Turn on GPIO support for Broadcom "Kona" chips.
128
129 config GPIO_CLPS711X
130         tristate "CLPS711X GPIO support"
131         depends on ARCH_CLPS711X || COMPILE_TEST
132         select GPIO_GENERIC
133         help
134           Say yes here to support GPIO on CLPS711X SoCs.
135
136 config GPIO_DAVINCI
137         bool "TI Davinci/Keystone GPIO support"
138         default y if ARCH_DAVINCI
139         depends on ARM && (ARCH_DAVINCI || ARCH_KEYSTONE)
140         help
141           Say yes here to enable GPIO support for TI Davinci/Keystone SoCs.
142
143 config GPIO_DWAPB
144         tristate "Synopsys DesignWare APB GPIO driver"
145         select GPIO_GENERIC
146         select GENERIC_IRQ_CHIP
147         help
148           Say Y or M here to build support for the Synopsys DesignWare APB
149           GPIO block.
150
151 config GPIO_EM
152         tristate "Emma Mobile GPIO"
153         depends on ARM && OF_GPIO
154         help
155           Say yes here to support GPIO on Renesas Emma Mobile SoCs.
156
157 config GPIO_EP93XX
158         def_bool y
159         depends on ARCH_EP93XX
160         select GPIO_GENERIC
161
162 config GPIO_F7188X
163         tristate "F71869, F71869A, F71882FG and F71889F GPIO support"
164         depends on X86
165         help
166           This option enables support for GPIOs found on Fintek Super-I/O
167           chips F71869, F71869A, F71882FG and F71889F.
168
169           To compile this driver as a module, choose M here: the module will
170           be called f7188x-gpio.
171
172 config GPIO_GE_FPGA
173         bool "GE FPGA based GPIO"
174         depends on GE_FPGA
175         select GPIO_GENERIC
176         help
177           Support for common GPIO functionality provided on some GE Single Board
178           Computers.
179
180           This driver provides basic support (configure as input or output, read
181           and write pin state) for GPIO implemented in a number of GE single
182           board computers.
183
184 config GPIO_GENERIC_PLATFORM
185         tristate "Generic memory-mapped GPIO controller support (MMIO platform device)"
186         select GPIO_GENERIC
187         help
188           Say yes here to support basic platform_device memory-mapped GPIO controllers.
189
190 config GPIO_GRGPIO
191         tristate "Aeroflex Gaisler GRGPIO support"
192         depends on OF
193         select GPIO_GENERIC
194         select IRQ_DOMAIN
195         help
196           Select this to support Aeroflex Gaisler GRGPIO cores from the GRLIB
197           VHDL IP core library.
198
199 config GPIO_ICH
200         tristate "Intel ICH GPIO"
201         depends on PCI && X86
202         select MFD_CORE
203         select LPC_ICH
204         help
205           Say yes here to support the GPIO functionality of a number of Intel
206           ICH-based chipsets.  Currently supported devices: ICH6, ICH7, ICH8
207           ICH9, ICH10, Series 5/3400 (eg Ibex Peak), Series 6/C200 (eg
208           Cougar Point), NM10 (Tiger Point), and 3100 (Whitmore Lake).
209
210           If unsure, say N.
211
212 config GPIO_IOP
213         tristate "Intel IOP GPIO"
214         depends on ARM && (ARCH_IOP32X || ARCH_IOP33X)
215         help
216           Say yes here to support the GPIO functionality of a number of Intel
217           IOP32X or IOP33X.
218
219           If unsure, say N.
220
221 config GPIO_IT8761E
222         tristate "IT8761E GPIO support"
223         depends on X86  # unconditional access to IO space.
224         help
225           Say yes here to support GPIO functionality of IT8761E super I/O chip.
226
227 config GPIO_LOONGSON
228         bool "Loongson-2/3 GPIO support"
229         depends on CPU_LOONGSON2 || CPU_LOONGSON3
230         help
231           driver for GPIO functionality on Loongson-2F/3A/3B processors.
232
233 config GPIO_LYNXPOINT
234         tristate "Intel Lynxpoint GPIO support"
235         depends on ACPI && X86
236         select GPIOLIB_IRQCHIP
237         help
238           driver for GPIO functionality on Intel Lynxpoint PCH chipset
239           Requires ACPI device enumeration code to set up a platform device.
240
241 config GPIO_MB86S7X
242         bool "GPIO support for Fujitsu MB86S7x Platforms"
243         depends on ARCH_MB86S7X
244         help
245           Say yes here to support the GPIO controller in Fujitsu MB86S70 SoCs.
246
247 config GPIO_MM_LANTIQ
248         bool "Lantiq Memory mapped GPIOs"
249         depends on LANTIQ && SOC_XWAY
250         help
251           This enables support for memory mapped GPIOs on the External Bus Unit
252           (EBU) found on Lantiq SoCs. The gpios are output only as they are
253           created by attaching a 16bit latch to the bus.
254
255 config GPIO_MOXART
256         bool "MOXART GPIO support"
257         depends on ARCH_MOXART
258         select GPIO_GENERIC
259         help
260           Select this option to enable GPIO driver for
261           MOXA ART SoC devices.
262
263 config GPIO_MPC5200
264         def_bool y
265         depends on PPC_MPC52xx
266
267 config GPIO_MPC8XXX
268         bool "MPC512x/MPC8xxx GPIO support"
269         depends on PPC_MPC512x || PPC_MPC831x || PPC_MPC834x || PPC_MPC837x || \
270                    FSL_SOC_BOOKE || PPC_86xx
271         help
272           Say Y here if you're going to use hardware that connects to the
273           MPC512x/831x/834x/837x/8572/8610 GPIOs.
274
275 config GPIO_MSM_V2
276         tristate "Qualcomm MSM GPIO v2"
277         depends on GPIOLIB && OF && ARCH_QCOM
278         help
279           Say yes here to support the GPIO interface on ARM v7 based
280           Qualcomm MSM chips.  Most of the pins on the MSM can be
281           selected for GPIO, and are controlled by this driver.
282
283 config GPIO_MVEBU
284         def_bool y
285         depends on PLAT_ORION
286         depends on OF
287         select GPIO_GENERIC
288         select GENERIC_IRQ_CHIP
289
290 config GPIO_MXC
291         def_bool y
292         depends on ARCH_MXC
293         select GPIO_GENERIC
294         select GENERIC_IRQ_CHIP
295
296 config GPIO_MXS
297         def_bool y
298         depends on ARCH_MXS
299         select GPIO_GENERIC
300         select GENERIC_IRQ_CHIP
301
302 config GPIO_OCTEON
303         tristate "Cavium OCTEON GPIO"
304         depends on GPIOLIB && CAVIUM_OCTEON_SOC
305         default y
306         help
307           Say yes here to support the on-chip GPIO lines on the OCTEON
308           family of SOCs.
309
310 config GPIO_OMAP
311         bool "TI OMAP GPIO support" if COMPILE_TEST && !ARCH_OMAP2PLUS
312         default y if ARCH_OMAP
313         depends on ARM
314         select GENERIC_IRQ_CHIP
315         select GPIOLIB_IRQCHIP
316         help
317           Say yes here to enable GPIO support for TI OMAP SoCs.
318
319 config GPIO_PL061
320         bool "PrimeCell PL061 GPIO support"
321         depends on ARM_AMBA
322         select IRQ_DOMAIN
323         select GPIOLIB_IRQCHIP
324         help
325           Say yes here to support the PrimeCell PL061 GPIO device
326
327 config GPIO_PXA
328         bool "PXA GPIO support"
329         depends on ARCH_PXA || ARCH_MMP
330         help
331           Say yes here to support the PXA GPIO device
332
333 config GPIO_RCAR
334         tristate "Renesas R-Car GPIO"
335         depends on ARM && (ARCH_SHMOBILE || COMPILE_TEST)
336         select GPIOLIB_IRQCHIP
337         help
338           Say yes here to support GPIO on Renesas R-Car SoCs.
339
340 config GPIO_SAMSUNG
341         bool
342         depends on PLAT_SAMSUNG
343         help
344           Legacy GPIO support. Use only for platforms without support for
345           pinctrl.
346
347 config GPIO_SCH
348         tristate "Intel SCH/TunnelCreek/Centerton/Quark X1000 GPIO"
349         depends on PCI && X86
350         select MFD_CORE
351         select LPC_SCH
352         help
353           Say yes here to support GPIO interface on Intel Poulsbo SCH,
354           Intel Tunnel Creek processor, Intel Centerton processor or
355           Intel Quark X1000 SoC.
356
357           The Intel SCH contains a total of 14 GPIO pins. Ten GPIOs are
358           powered by the core power rail and are turned off during sleep
359           modes (S3 and higher). The remaining four GPIOs are powered by
360           the Intel SCH suspend power supply. These GPIOs remain
361           active during S3. The suspend powered GPIOs can be used to wake the
362           system from the Suspend-to-RAM state.
363
364           The Intel Tunnel Creek processor has 5 GPIOs powered by the
365           core power rail and 9 from suspend power supply.
366
367           The Intel Centerton processor has a total of 30 GPIO pins.
368           Twenty-one are powered by the core power rail and 9 from the
369           suspend power supply.
370
371           The Intel Quark X1000 SoC has 2 GPIOs powered by the core
372           power well and 6 from the suspend power well.
373
374 config GPIO_SCH311X
375         tristate "SMSC SCH311x SuperI/O GPIO"
376         help
377           Driver to enable the GPIOs found on SMSC SMSC SCH3112, SCH3114 and
378           SCH3116 "Super I/O" chipsets.
379
380           To compile this driver as a module, choose M here: the module will
381           be called gpio-sch311x.
382
383 config GPIO_SPEAR_SPICS
384         bool "ST SPEAr13xx SPI Chip Select as GPIO support"
385         depends on PLAT_SPEAR
386         select GENERIC_IRQ_CHIP
387         help
388           Say yes here to support ST SPEAr SPI Chip Select as GPIO device
389
390 config GPIO_STA2X11
391         bool "STA2x11/ConneXt GPIO support"
392         depends on MFD_STA2X11
393         select GENERIC_IRQ_CHIP
394         help
395           Say yes here to support the STA2x11/ConneXt GPIO device.
396           The GPIO module has 128 GPIO pins with alternate functions.
397
398 config GPIO_STP_XWAY
399         bool "XWAY STP GPIOs"
400         depends on SOC_XWAY
401         help
402           This enables support for the Serial To Parallel (STP) unit found on
403           XWAY SoC. The STP allows the SoC to drive a shift registers cascade,
404           that can be up to 24 bit. This peripheral is aimed at driving leds.
405           Some of the gpios/leds can be auto updated by the soc with dsl and
406           phy status.
407
408 config GPIO_SYSCON
409         tristate "GPIO based on SYSCON"
410         depends on MFD_SYSCON && OF
411         help
412           Say yes here to support GPIO functionality though SYSCON driver.
413
414 config GPIO_TB10X
415         bool
416         select GENERIC_IRQ_CHIP
417         select OF_GPIO
418
419 config GPIO_TS5500
420         tristate "TS-5500 DIO blocks and compatibles"
421         depends on TS5500 || COMPILE_TEST
422         help
423           This driver supports Digital I/O exposed by pin blocks found on some
424           Technologic Systems platforms. It includes, but is not limited to, 3
425           blocks of the TS-5500: DIO1, DIO2 and the LCD port, and the TS-5600
426           LCD port.
427
428 config GPIO_TZ1090
429         bool "Toumaz Xenif TZ1090 GPIO support"
430         depends on SOC_TZ1090
431         select GENERIC_IRQ_CHIP
432         default y
433         help
434           Say yes here to support Toumaz Xenif TZ1090 GPIOs.
435
436 config GPIO_TZ1090_PDC
437         bool "Toumaz Xenif TZ1090 PDC GPIO support"
438         depends on SOC_TZ1090
439         default y
440         help
441           Say yes here to support Toumaz Xenif TZ1090 PDC GPIOs.
442
443 config GPIO_VF610
444         def_bool y
445         depends on ARCH_MXC && SOC_VF610
446         select GPIOLIB_IRQCHIP
447         help
448           Say yes here to support Vybrid vf610 GPIOs.
449
450 config GPIO_VR41XX
451         tristate "NEC VR4100 series General-purpose I/O Uint support"
452         depends on CPU_VR41XX
453         help
454           Say yes here to support the NEC VR4100 series General-purpose I/O Uint
455
456 config GPIO_VX855
457         tristate "VIA VX855/VX875 GPIO"
458         depends on PCI
459         select MFD_CORE
460         select MFD_VX855
461         help
462           Support access to the VX855/VX875 GPIO lines through the gpio library.
463
464           This driver provides common support for accessing the device,
465           additional drivers must be enabled in order to use the
466           functionality of the device.
467
468 config GPIO_XGENE
469         bool "APM X-Gene GPIO controller support"
470         depends on ARM64 && OF_GPIO
471         help
472           This driver is to support the GPIO block within the APM X-Gene SoC
473           platform's generic flash controller. The GPIO pins are muxed with
474           the generic flash controller's address and data pins. Say yes
475           here to enable the GFC GPIO functionality.
476
477 config GPIO_XGENE_SB
478         tristate "APM X-Gene GPIO standby controller support"
479         depends on ARCH_XGENE && OF_GPIO
480         select GPIO_GENERIC
481         help
482           This driver supports the GPIO block within the APM X-Gene
483           Standby Domain. Say yes here to enable the GPIO functionality.
484
485 config GPIO_XILINX
486         tristate "Xilinx GPIO support"
487         depends on OF_GPIO && (PPC || MICROBLAZE || ARCH_ZYNQ || X86)
488         help
489           Say yes here to support the Xilinx FPGA GPIO device
490
491 config GPIO_XTENSA
492         bool "Xtensa GPIO32 support"
493         depends on XTENSA
494         depends on HAVE_XTENSA_GPIO32
495         depends on !SMP
496         help
497           Say yes here to support the Xtensa internal GPIO32 IMPWIRE (input)
498           and EXPSTATE (output) ports
499
500 config GPIO_ZEVIO
501         bool "LSI ZEVIO SoC memory mapped GPIOs"
502         depends on ARM && OF_GPIO
503         help
504           Say yes here to support the GPIO controller in LSI ZEVIO SoCs.
505
506 config GPIO_ZYNQ
507         tristate "Xilinx Zynq GPIO support"
508         depends on ARCH_ZYNQ
509         select GPIOLIB_IRQCHIP
510         help
511           Say yes here to support Xilinx Zynq GPIO controller.
512
513 endmenu
514
515 menu "I2C GPIO expanders"
516         depends on I2C
517
518 config GPIO_ADP5588
519         tristate "ADP5588 I2C GPIO expander"
520         depends on I2C
521         help
522           This option enables support for 18 GPIOs found
523           on Analog Devices ADP5588 GPIO Expanders.
524
525 config GPIO_ADP5588_IRQ
526         bool "Interrupt controller support for ADP5588"
527         depends on GPIO_ADP5588=y
528         help
529           Say yes here to enable the adp5588 to be used as an interrupt
530           controller. It requires the driver to be built in the kernel.
531
532 config GPIO_ADNP
533         tristate "Avionic Design N-bit GPIO expander"
534         depends on I2C && OF_GPIO
535         select GPIOLIB_IRQCHIP
536         help
537           This option enables support for N GPIOs found on Avionic Design
538           I2C GPIO expanders. The register space will be extended by powers
539           of two, so the controller will need to accommodate for that. For
540           example: if a controller provides 48 pins, 6 registers will be
541           enough to represent all pins, but the driver will assume a
542           register layout for 64 pins (8 registers).
543
544 config GPIO_MAX7300
545         tristate "Maxim MAX7300 GPIO expander"
546         depends on I2C
547         select GPIO_MAX730X
548         help
549           GPIO driver for Maxim MAX7300 I2C-based GPIO expander.
550
551 config GPIO_MAX732X
552         tristate "MAX7319, MAX7320-7327 I2C Port Expanders"
553         depends on I2C
554         help
555           Say yes here to support the MAX7319, MAX7320-7327 series of I2C
556           Port Expanders. Each IO port on these chips has a fixed role of
557           Input (designated by 'I'), Push-Pull Output ('O'), or Open-Drain
558           Input and Output (designed by 'P'). The combinations are listed
559           below:
560
561           8 bits:       max7319 (8I), max7320 (8O), max7321 (8P),
562                         max7322 (4I4O), max7323 (4P4O)
563
564           16 bits:      max7324 (8I8O), max7325 (8P8O),
565                         max7326 (4I12O), max7327 (4P12O)
566
567           Board setup code must specify the model to use, and the start
568           number for these GPIOs.
569
570 config GPIO_MAX732X_IRQ
571         bool "Interrupt controller support for MAX732x"
572         depends on GPIO_MAX732X=y
573         select GPIOLIB_IRQCHIP
574         help
575           Say yes here to enable the max732x to be used as an interrupt
576           controller. It requires the driver to be built in the kernel.
577
578 config GPIO_MC9S08DZ60
579         bool "MX35 3DS BOARD MC9S08DZ60 GPIO functions"
580         depends on I2C=y && MACH_MX35_3DS
581         help
582           Select this to enable the MC9S08DZ60 GPIO driver
583
584 config GPIO_PCA953X
585         tristate "PCA95[357]x, PCA9698, TCA64xx, and MAX7310 I/O ports"
586         depends on I2C
587         help
588           Say yes here to provide access to several register-oriented
589           SMBus I/O expanders, made mostly by NXP or TI.  Compatible
590           models include:
591
592           4 bits:       pca9536, pca9537
593
594           8 bits:       max7310, max7315, pca6107, pca9534, pca9538, pca9554,
595                         pca9556, pca9557, pca9574, tca6408, xra1202
596
597           16 bits:      max7312, max7313, pca9535, pca9539, pca9555, pca9575,
598                         tca6416
599
600           24 bits:      tca6424
601
602           40 bits:      pca9505, pca9698
603
604 config GPIO_PCA953X_IRQ
605         bool "Interrupt controller support for PCA953x"
606         depends on GPIO_PCA953X=y
607         select GPIOLIB_IRQCHIP
608         help
609           Say yes here to enable the pca953x to be used as an interrupt
610           controller. It requires the driver to be built in the kernel.
611
612 config GPIO_PCF857X
613         tristate "PCF857x, PCA{85,96}7x, and MAX732[89] I2C GPIO expanders"
614         depends on I2C
615         select GPIOLIB_IRQCHIP
616         select IRQ_DOMAIN
617         help
618           Say yes here to provide access to most "quasi-bidirectional" I2C
619           GPIO expanders used for additional digital outputs or inputs.
620           Most of these parts are from NXP, though TI is a second source for
621           some of them.  Compatible models include:
622
623           8 bits:   pcf8574, pcf8574a, pca8574, pca8574a,
624                     pca9670, pca9672, pca9674, pca9674a,
625                     max7328, max7329
626
627           16 bits:  pcf8575, pcf8575c, pca8575,
628                     pca9671, pca9673, pca9675
629
630           Your board setup code will need to declare the expanders in
631           use, and assign numbers to the GPIOs they expose.  Those GPIOs
632           can then be used from drivers and other kernel code, just like
633           other GPIOs, but only accessible from task contexts.
634
635           This driver provides an in-kernel interface to those GPIOs using
636           platform-neutral GPIO calls.
637
638 config GPIO_SX150X
639         bool "Semtech SX150x I2C GPIO expander"
640         depends on I2C=y
641         select GPIOLIB_IRQCHIP
642         default n
643         help
644           Say yes here to provide support for Semtech SX150-series I2C
645           GPIO expanders. Compatible models include:
646
647           8 bits:  sx1508q
648           16 bits: sx1509q
649
650 endmenu
651
652 menu "MFD GPIO expanders"
653
654 config GPIO_ADP5520
655         tristate "GPIO Support for ADP5520 PMIC"
656         depends on PMIC_ADP5520
657         help
658           This option enables support for on-chip GPIO found
659           on Analog Devices ADP5520 PMICs.
660
661 config GPIO_ARIZONA
662         tristate "Wolfson Microelectronics Arizona class devices"
663         depends on MFD_ARIZONA
664         help
665           Support for GPIOs on Wolfson Arizona class devices.
666
667 config GPIO_CRYSTAL_COVE
668         tristate "GPIO support for Crystal Cove PMIC"
669         depends on INTEL_SOC_PMIC
670         select GPIOLIB_IRQCHIP
671         help
672           Support for GPIO pins on Crystal Cove PMIC.
673
674           Say Yes if you have a Intel SoC based tablet with Crystal Cove PMIC
675           inside.
676
677           This driver can also be built as a module. If so, the module will be
678           called gpio-crystalcove.
679
680 config GPIO_CS5535
681         tristate "AMD CS5535/CS5536 GPIO support"
682         depends on MFD_CS5535
683         help
684           The AMD CS5535 and CS5536 southbridges support 28 GPIO pins that
685           can be used for quite a number of things.  The CS5535/6 is found on
686           AMD Geode and Lemote Yeeloong devices.
687
688           If unsure, say N.
689
690 config GPIO_DA9052
691         tristate "Dialog DA9052 GPIO"
692         depends on PMIC_DA9052
693         help
694           Say yes here to enable the GPIO driver for the DA9052 chip.
695
696 config GPIO_DA9055
697         tristate "Dialog Semiconductor DA9055 GPIO"
698         depends on MFD_DA9055
699         help
700           Say yes here to enable the GPIO driver for the DA9055 chip.
701
702           The Dialog DA9055 PMIC chip has 3 GPIO pins that can be
703           be controller by this driver.
704
705           If driver is built as a module it will be called gpio-da9055.
706
707 config GPIO_DLN2
708         tristate "Diolan DLN2 GPIO support"
709         depends on MFD_DLN2
710         select GPIOLIB_IRQCHIP
711
712         help
713           Select this option to enable GPIO driver for the Diolan DLN2
714           board.
715
716           This driver can also be built as a module. If so, the module
717           will be called gpio-dln2.
718
719 config GPIO_JANZ_TTL
720         tristate "Janz VMOD-TTL Digital IO Module"
721         depends on MFD_JANZ_CMODIO
722         help
723           This enables support for the Janz VMOD-TTL Digital IO module.
724           This driver provides support for driving the pins in output
725           mode only. Input mode is not supported.
726
727 config GPIO_KEMPLD
728         tristate "Kontron ETX / COMexpress GPIO"
729         depends on MFD_KEMPLD
730         help
731           This enables support for the PLD GPIO interface on some Kontron ETX
732           and COMexpress (ETXexpress) modules.
733
734           This driver can also be built as a module. If so, the module will be
735           called gpio-kempld.
736
737 config GPIO_LP3943
738         tristate "TI/National Semiconductor LP3943 GPIO expander"
739         depends on MFD_LP3943
740         help
741           GPIO driver for LP3943 MFD.
742           LP3943 can be used as a GPIO expander which provides up to 16 GPIOs.
743           Open drain outputs are required for this usage.
744
745 config GPIO_MSIC
746         bool "Intel MSIC mixed signal gpio support"
747         depends on MFD_INTEL_MSIC
748         help
749           Enable support for GPIO on intel MSIC controllers found in
750           intel MID devices
751
752 config GPIO_PALMAS
753         bool "TI PALMAS series PMICs GPIO"
754         depends on MFD_PALMAS
755         help
756           Select this option to enable GPIO driver for the TI PALMAS
757           series chip family.
758
759 config GPIO_RC5T583
760         bool "RICOH RC5T583 GPIO"
761         depends on MFD_RC5T583
762         help
763           Select this option to enable GPIO driver for the Ricoh RC5T583
764           chip family.
765           This driver provides the support for driving/reading the gpio pins
766           of RC5T583 device through standard gpio library.
767
768 config GPIO_STMPE
769         bool "STMPE GPIOs"
770         depends on MFD_STMPE
771         depends on OF_GPIO
772         select GPIOLIB_IRQCHIP
773         help
774           This enables support for the GPIOs found on the STMPE I/O
775           Expanders.
776
777 config GPIO_TC3589X
778         bool "TC3589X GPIOs"
779         depends on MFD_TC3589X
780         depends on OF_GPIO
781         select GPIOLIB_IRQCHIP
782         help
783           This enables support for the GPIOs found on the TC3589X
784           I/O Expander.
785
786 config GPIO_TIMBERDALE
787         bool "Support for timberdale GPIO IP"
788         depends on MFD_TIMBERDALE
789         ---help---
790         Add support for the GPIO IP in the timberdale FPGA.
791
792 config GPIO_TPS6586X
793         bool "TPS6586X GPIO"
794         depends on MFD_TPS6586X
795         help
796           Select this option to enable GPIO driver for the TPS6586X
797           chip family.
798
799 config GPIO_TPS65910
800         bool "TPS65910 GPIO"
801         depends on MFD_TPS65910
802         help
803           Select this option to enable GPIO driver for the TPS65910
804           chip family.
805
806 config GPIO_TPS65912
807         tristate "TI TPS65912 GPIO"
808         depends on (MFD_TPS65912_I2C || MFD_TPS65912_SPI)
809         help
810           This driver supports TPS65912 gpio chip
811
812 config GPIO_TWL4030
813         tristate "TWL4030, TWL5030, and TPS659x0 GPIOs"
814         depends on TWL4030_CORE
815         help
816           Say yes here to access the GPIO signals of various multi-function
817           power management chips from Texas Instruments.
818
819 config GPIO_TWL6040
820         tristate "TWL6040 GPO"
821         depends on TWL6040_CORE
822         help
823           Say yes here to access the GPO signals of twl6040
824           audio chip from Texas Instruments.
825
826 config GPIO_UCB1400
827         tristate "Philips UCB1400 GPIO"
828         depends on UCB1400_CORE
829         help
830           This enables support for the Philips UCB1400 GPIO pins.
831           The UCB1400 is an AC97 audio codec.
832
833 config GPIO_WM831X
834         tristate "WM831x GPIOs"
835         depends on MFD_WM831X
836         help
837           Say yes here to access the GPIO signals of WM831x power management
838           chips from Wolfson Microelectronics.
839
840 config GPIO_WM8350
841         tristate "WM8350 GPIOs"
842         depends on MFD_WM8350
843         help
844           Say yes here to access the GPIO signals of WM8350 power management
845           chips from Wolfson Microelectronics.
846
847 config GPIO_WM8994
848         tristate "WM8994 GPIOs"
849         depends on MFD_WM8994
850         help
851           Say yes here to access the GPIO signals of WM8994 audio hub
852           CODECs from Wolfson Microelectronics.
853
854 endmenu
855
856 menu "PCI GPIO expanders"
857         depends on PCI
858
859 config GPIO_AMD8111
860         tristate "AMD 8111 GPIO driver"
861         depends on PCI
862         help
863           The AMD 8111 south bridge contains 32 GPIO pins which can be used.
864
865           Note, that usually system firmware/ACPI handles GPIO pins on their
866           own and users might easily break their systems with uncarefull usage
867           of this driver!
868
869           If unsure, say N
870
871 config GPIO_BT8XX
872         tristate "BT8XX GPIO abuser"
873         depends on PCI && VIDEO_BT848=n
874         help
875           The BT8xx frame grabber chip has 24 GPIO pins that can be abused
876           as a cheap PCI GPIO card.
877
878           This chip can be found on Miro, Hauppauge and STB TV-cards.
879
880           The card needs to be physically altered for using it as a
881           GPIO card. For more information on how to build a GPIO card
882           from a BT8xx TV card, see the documentation file at
883           Documentation/bt8xxgpio.txt
884
885           If unsure, say N.
886
887 config GPIO_INTEL_MID
888         bool "Intel Mid GPIO support"
889         depends on PCI && X86
890         select GPIOLIB_IRQCHIP
891         help
892           Say Y here to support Intel Mid GPIO.
893
894 config GPIO_ML_IOH
895         tristate "OKI SEMICONDUCTOR ML7213 IOH GPIO support"
896         depends on PCI
897         select GENERIC_IRQ_CHIP
898         help
899           ML7213 is companion chip for Intel Atom E6xx series.
900           This driver can be used for OKI SEMICONDUCTOR ML7213 IOH(Input/Output
901           Hub) which is for IVI(In-Vehicle Infotainment) use.
902           This driver can access the IOH's GPIO device.
903
904 config GPIO_PCH
905         tristate "Intel EG20T PCH/LAPIS Semiconductor IOH(ML7223/ML7831) GPIO"
906         depends on PCI && (X86_32 || COMPILE_TEST)
907         select GENERIC_IRQ_CHIP
908         help
909           This driver is for PCH(Platform controller Hub) GPIO of Intel Topcliff
910           which is an IOH(Input/Output Hub) for x86 embedded processor.
911           This driver can access PCH GPIO device.
912
913           This driver also can be used for LAPIS Semiconductor IOH(Input/
914           Output Hub), ML7223 and ML7831.
915           ML7223 IOH is for MP(Media Phone) use.
916           ML7831 IOH is for general purpose use.
917           ML7223/ML7831 is companion chip for Intel Atom E6xx series.
918           ML7223/ML7831 is completely compatible for Intel EG20T PCH.
919
920 config GPIO_RDC321X
921         tristate "RDC R-321x GPIO support"
922         depends on PCI
923         select MFD_CORE
924         select MFD_RDC321X
925         help
926           Support for the RDC R321x SoC GPIOs over southbridge
927           PCI configuration space.
928
929 config GPIO_SODAVILLE
930         bool "Intel Sodaville GPIO support"
931         depends on X86 && PCI && OF
932         select GPIO_GENERIC
933         select GENERIC_IRQ_CHIP
934         help
935           Say Y here to support Intel Sodaville GPIO.
936
937 endmenu
938
939 menu "SPI GPIO expanders"
940         depends on SPI_MASTER
941
942 config GPIO_74X164
943         tristate "74x164 serial-in/parallel-out 8-bits shift register"
944         depends on SPI_MASTER && OF
945         help
946           Driver for 74x164 compatible serial-in/parallel-out 8-outputs
947           shift registers. This driver can be used to provide access
948           to more gpio outputs.
949
950 config GPIO_MAX7301
951         tristate "Maxim MAX7301 GPIO expander"
952         depends on SPI_MASTER
953         select GPIO_MAX730X
954         help
955           GPIO driver for Maxim MAX7301 SPI-based GPIO expander.
956
957 config GPIO_MCP23S08
958         tristate "Microchip MCP23xxx I/O expander"
959         depends on (SPI_MASTER && !I2C) || I2C
960         help
961           SPI/I2C driver for Microchip MCP23S08/MCP23S17/MCP23008/MCP23017
962           I/O expanders.
963           This provides a GPIO interface supporting inputs and outputs.
964           The I2C versions of the chips can be used as interrupt-controller.
965
966 config GPIO_MC33880
967         tristate "Freescale MC33880 high-side/low-side switch"
968         depends on SPI_MASTER
969         help
970           SPI driver for Freescale MC33880 high-side/low-side switch.
971           This provides GPIO interface supporting inputs and outputs.
972
973 endmenu
974
975 menu "USB GPIO expanders"
976         depends on USB
977
978 config GPIO_VIPERBOARD
979         tristate "Viperboard GPIO a & b support"
980         depends on MFD_VIPERBOARD && USB
981         help
982           Say yes here to access the GPIO signals of Nano River
983           Technologies Viperboard. There are two GPIO chips on the
984           board: gpioa and gpiob.
985           See viperboard API specification and Nano
986           River Tech's viperboard.h for detailed meaning
987           of the module parameters.
988
989 endmenu
990
991 endif