]> asedeno.scripts.mit.edu Git - linux.git/blob - drivers/gpio/Kconfig
88c25677eeff785f7c200c86efce246b0d9c22b9
[linux.git] / 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 menuconfig GPIOLIB
14         bool "GPIO Support"
15         select ANON_INODES
16         help
17           This enables GPIO support through the generic GPIO library.
18           You only need to enable this, if you also want to enable
19           one or more of the GPIO drivers below.
20
21           If unsure, say N.
22
23 if GPIOLIB
24
25 config GPIOLIB_FASTPATH_LIMIT
26         int "Maximum number of GPIOs for fast path"
27         range 32 512
28         default 512
29         help
30            This adjusts the point at which certain APIs will switch from
31            using a stack allocated buffer to a dynamically allocated buffer.
32
33            You shouldn't need to change this unless you really need to
34            optimize either stack space or performance. Change this carefully
35            since setting an incorrect value could cause stack corruption.
36
37 config OF_GPIO
38         def_bool y
39         depends on OF
40         depends on HAS_IOMEM
41
42 config GPIO_ACPI
43         def_bool y
44         depends on ACPI
45
46 config GPIOLIB_IRQCHIP
47         select IRQ_DOMAIN
48         bool
49
50 config DEBUG_GPIO
51         bool "Debug GPIO calls"
52         depends on DEBUG_KERNEL
53         help
54           Say Y here to add some extra checks and diagnostics to GPIO calls.
55           These checks help ensure that GPIOs have been properly initialized
56           before they are used, and that sleeping calls are not made from
57           non-sleeping contexts.  They can make bitbanged serial protocols
58           slower.  The diagnostics help catch the type of setup errors
59           that are most common when setting up new platforms or boards.
60
61 config GPIO_SYSFS
62         bool "/sys/class/gpio/... (sysfs interface)"
63         depends on SYSFS
64         help
65           Say Y here to add a sysfs interface for GPIOs.
66
67           This is mostly useful to work around omissions in a system's
68           kernel support.  Those are common in custom and semicustom
69           hardware assembled using standard kernels with a minimum of
70           custom patches.  In those cases, userspace code may import
71           a given GPIO from the kernel, if no kernel driver requested it.
72
73           Kernel drivers may also request that a particular GPIO be
74           exported to userspace; this can be useful when debugging.
75
76 config GPIO_GENERIC
77         depends on HAS_IOMEM # Only for IOMEM drivers
78         tristate
79
80 # put drivers in the right section, in alphabetical order
81
82 # This symbol is selected by both I2C and SPI expanders
83 config GPIO_MAX730X
84         tristate
85
86 menu "Memory mapped GPIO drivers"
87         depends on HAS_IOMEM
88
89 config GPIO_74XX_MMIO
90         tristate "GPIO driver for 74xx-ICs with MMIO access"
91         depends on OF_GPIO
92         select GPIO_GENERIC
93         help
94           Say yes here to support GPIO functionality for 74xx-compatible ICs
95           with MMIO access. Compatible models include:
96             1 bit:      741G125 (Input), 741G74 (Output)
97             2 bits:     742G125 (Input), 7474 (Output)
98             4 bits:     74125 (Input), 74175 (Output)
99             6 bits:     74365 (Input), 74174 (Output)
100             8 bits:     74244 (Input), 74273 (Output)
101             16 bits:    741624 (Input), 7416374 (Output)
102
103 config GPIO_ALTERA
104         tristate "Altera GPIO"
105         depends on OF_GPIO
106         select GPIOLIB_IRQCHIP
107         help
108           Say Y or M here to build support for the Altera PIO device.
109
110           If driver is built as a module it will be called gpio-altera.
111
112 config GPIO_AMDPT
113         tristate "AMD Promontory GPIO support"
114         depends on ACPI
115         select GPIO_GENERIC
116         help
117           driver for GPIO functionality on Promontory IOHub
118           Require ACPI ASL code to enumerate as a platform device.
119
120 config GPIO_ASPEED
121         tristate "Aspeed GPIO support"
122         depends on (ARCH_ASPEED || COMPILE_TEST) && OF_GPIO
123         select GPIOLIB_IRQCHIP
124         help
125           Say Y here to support Aspeed AST2400 and AST2500 GPIO controllers.
126
127 config GPIO_ATH79
128         tristate "Atheros AR71XX/AR724X/AR913X GPIO support"
129         default y if ATH79
130         depends on ATH79 || COMPILE_TEST
131         select GPIO_GENERIC
132         select GPIOLIB_IRQCHIP
133         help
134           Select this option to enable GPIO driver for
135           Atheros AR71XX/AR724X/AR913X SoC devices.
136
137 config GPIO_RASPBERRYPI_EXP
138         tristate "Raspberry Pi 3 GPIO Expander"
139         default RASPBERRYPI_FIRMWARE
140         depends on OF_GPIO
141         # Make sure not 'y' when RASPBERRYPI_FIRMWARE is 'm'. This can only
142         # happen when COMPILE_TEST=y, hence the added !RASPBERRYPI_FIRMWARE.
143         depends on (ARCH_BCM2835 && RASPBERRYPI_FIRMWARE) || (COMPILE_TEST && !RASPBERRYPI_FIRMWARE)
144         help
145           Turn on GPIO support for the expander on Raspberry Pi 3 boards, using
146           the firmware mailbox to communicate with VideoCore on BCM283x chips.
147
148 config GPIO_BCM_KONA
149         bool "Broadcom Kona GPIO"
150         depends on OF_GPIO && (ARCH_BCM_MOBILE || COMPILE_TEST)
151         help
152           Turn on GPIO support for Broadcom "Kona" chips.
153
154 config GPIO_BRCMSTB
155         tristate "BRCMSTB GPIO support"
156         default y if (ARCH_BRCMSTB || BMIPS_GENERIC)
157         depends on OF_GPIO && (ARCH_BRCMSTB || BMIPS_GENERIC || COMPILE_TEST)
158         select GPIO_GENERIC
159         select IRQ_DOMAIN
160         help
161           Say yes here to enable GPIO support for Broadcom STB (BCM7XXX) SoCs.
162
163 config GPIO_CLPS711X
164         tristate "CLPS711X GPIO support"
165         depends on ARCH_CLPS711X || COMPILE_TEST
166         select GPIO_GENERIC
167         help
168           Say yes here to support GPIO on CLPS711X SoCs.
169
170 config GPIO_DAVINCI
171         bool "TI Davinci/Keystone GPIO support"
172         default y if ARCH_DAVINCI
173         depends on ARM && (ARCH_DAVINCI || ARCH_KEYSTONE)
174         help
175           Say yes here to enable GPIO support for TI Davinci/Keystone SoCs.
176
177 config GPIO_DWAPB
178         tristate "Synopsys DesignWare APB GPIO driver"
179         select GPIO_GENERIC
180         select GENERIC_IRQ_CHIP
181         help
182           Say Y or M here to build support for the Synopsys DesignWare APB
183           GPIO block.
184
185 config GPIO_EIC_SPRD
186         tristate "Spreadtrum EIC support"
187         depends on ARCH_SPRD || COMPILE_TEST
188         depends on OF_GPIO
189         select GPIOLIB_IRQCHIP
190         help
191           Say yes here to support Spreadtrum EIC device.
192
193 config GPIO_EM
194         tristate "Emma Mobile GPIO"
195         depends on (ARCH_EMEV2 || COMPILE_TEST) && OF_GPIO
196         help
197           Say yes here to support GPIO on Renesas Emma Mobile SoCs.
198
199 config GPIO_EP93XX
200         def_bool y
201         depends on ARCH_EP93XX
202         select GPIO_GENERIC
203         select GPIOLIB_IRQCHIP
204
205 config GPIO_EXAR
206         tristate "Support for GPIO pins on XR17V352/354/358"
207         depends on SERIAL_8250_EXAR
208         help
209           Selecting this option will enable handling of GPIO pins present
210           on Exar XR17V352/354/358 chips.
211
212 config GPIO_GE_FPGA
213         bool "GE FPGA based GPIO"
214         depends on GE_FPGA
215         select GPIO_GENERIC
216         help
217           Support for common GPIO functionality provided on some GE Single Board
218           Computers.
219
220           This driver provides basic support (configure as input or output, read
221           and write pin state) for GPIO implemented in a number of GE single
222           board computers.
223
224 config GPIO_FTGPIO010
225         bool "Faraday FTGPIO010 GPIO"
226         depends on OF_GPIO
227         select GPIO_GENERIC
228         select GPIOLIB_IRQCHIP
229         default (ARCH_GEMINI || ARCH_MOXART)
230         help
231           Support for common GPIOs from the Faraday FTGPIO010 IP core, found in
232           Cortina systems Gemini platforms, Moxa ART and others.
233
234 config GPIO_GENERIC_PLATFORM
235         tristate "Generic memory-mapped GPIO controller support (MMIO platform device)"
236         select GPIO_GENERIC
237         help
238           Say yes here to support basic platform_device memory-mapped GPIO controllers.
239
240 config GPIO_GRGPIO
241         tristate "Aeroflex Gaisler GRGPIO support"
242         depends on OF_GPIO
243         select GPIO_GENERIC
244         select IRQ_DOMAIN
245         help
246           Select this to support Aeroflex Gaisler GRGPIO cores from the GRLIB
247           VHDL IP core library.
248
249 config GPIO_HLWD
250         tristate "Nintendo Wii (Hollywood) GPIO"
251         depends on OF_GPIO
252         select GPIO_GENERIC
253         help
254           Select this to support the GPIO controller of the Nintendo Wii.
255
256           If unsure, say N.
257
258 config GPIO_ICH
259         tristate "Intel ICH GPIO"
260         depends on PCI && X86
261         select MFD_CORE
262         select LPC_ICH
263         help
264           Say yes here to support the GPIO functionality of a number of Intel
265           ICH-based chipsets.  Currently supported devices: ICH6, ICH7, ICH8
266           ICH9, ICH10, Series 5/3400 (eg Ibex Peak), Series 6/C200 (eg
267           Cougar Point), NM10 (Tiger Point), and 3100 (Whitmore Lake).
268
269           If unsure, say N.
270
271 config GPIO_IOP
272         tristate "Intel IOP GPIO"
273         depends on ARCH_IOP32X || ARCH_IOP33X || COMPILE_TEST
274         select GPIO_GENERIC
275         help
276           Say yes here to support the GPIO functionality of a number of Intel
277           IOP32X or IOP33X.
278
279           If unsure, say N.
280
281 config GPIO_LOONGSON
282         bool "Loongson-2/3 GPIO support"
283         depends on CPU_LOONGSON2 || CPU_LOONGSON3
284         help
285           driver for GPIO functionality on Loongson-2F/3A/3B processors.
286
287 config GPIO_LPC18XX
288         tristate "NXP LPC18XX/43XX GPIO support"
289         default y if ARCH_LPC18XX
290         depends on OF_GPIO && (ARCH_LPC18XX || COMPILE_TEST)
291         help
292           Select this option to enable GPIO driver for
293           NXP LPC18XX/43XX devices.
294
295 config GPIO_LYNXPOINT
296         tristate "Intel Lynxpoint GPIO support"
297         depends on ACPI && X86
298         select GPIOLIB_IRQCHIP
299         help
300           driver for GPIO functionality on Intel Lynxpoint PCH chipset
301           Requires ACPI device enumeration code to set up a platform device.
302
303 config GPIO_MB86S7X
304         tristate "GPIO support for Fujitsu MB86S7x Platforms"
305         help
306           Say yes here to support the GPIO controller in Fujitsu MB86S70 SoCs.
307
308 config GPIO_MENZ127
309         tristate "MEN 16Z127 GPIO support"
310         depends on MCB
311         select GPIO_GENERIC
312         help
313          Say yes here to support the MEN 16Z127 GPIO Controller
314
315 config GPIO_MM_LANTIQ
316         bool "Lantiq Memory mapped GPIOs"
317         depends on LANTIQ && SOC_XWAY
318         help
319           This enables support for memory mapped GPIOs on the External Bus Unit
320           (EBU) found on Lantiq SoCs. The gpios are output only as they are
321           created by attaching a 16bit latch to the bus.
322
323 config GPIO_MOCKUP
324         tristate "GPIO Testing Driver"
325         depends on GPIOLIB && SYSFS
326         select GPIO_SYSFS
327         select GPIOLIB_IRQCHIP
328         select IRQ_SIM
329         help
330           This enables GPIO Testing driver, which provides a way to test GPIO
331           subsystem through sysfs(or char device) and debugfs. GPIO_SYSFS
332           must be selected for this test.
333           User could use it through the script in
334           tools/testing/selftests/gpio/gpio-mockup.sh. Reference the usage in
335           it.
336
337 config GPIO_MPC5200
338         def_bool y
339         depends on PPC_MPC52xx
340
341 config GPIO_MPC8XXX
342         bool "MPC512x/MPC8xxx/QorIQ GPIO support"
343         depends on PPC_MPC512x || PPC_MPC831x || PPC_MPC834x || PPC_MPC837x || \
344                    FSL_SOC_BOOKE || PPC_86xx || ARCH_LAYERSCAPE || ARM || \
345                    COMPILE_TEST
346         select GPIO_GENERIC
347         select IRQ_DOMAIN
348         help
349           Say Y here if you're going to use hardware that connects to the
350           MPC512x/831x/834x/837x/8572/8610/QorIQ GPIOs.
351
352 config GPIO_MT7621
353         bool "Mediatek MT7621 GPIO Support"
354         depends on SOC_MT7620 || SOC_MT7621 || COMPILE_TEST
355         depends on OF_GPIO
356         select GPIO_GENERIC
357         select GPIOLIB_IRQCHIP
358         help
359           Say yes here to support the Mediatek MT7621 SoC GPIO device
360
361 config GPIO_MVEBU
362         def_bool y
363         depends on PLAT_ORION || ARCH_MVEBU
364         depends on OF_GPIO
365         select GENERIC_IRQ_CHIP
366         select REGMAP_MMIO
367
368 config GPIO_MXC
369         def_bool y
370         depends on ARCH_MXC
371         select GPIO_GENERIC
372         select GENERIC_IRQ_CHIP
373
374 config GPIO_MXS
375         def_bool y
376         depends on ARCH_MXS
377         select GPIO_GENERIC
378         select GENERIC_IRQ_CHIP
379
380 config GPIO_OCTEON
381         tristate "Cavium OCTEON GPIO"
382         depends on GPIOLIB && CAVIUM_OCTEON_SOC
383         default y
384         help
385           Say yes here to support the on-chip GPIO lines on the OCTEON
386           family of SOCs.
387
388 config GPIO_OMAP
389         tristate "TI OMAP GPIO support" if ARCH_OMAP2PLUS || COMPILE_TEST
390         default y if ARCH_OMAP
391         depends on ARM
392         select GENERIC_IRQ_CHIP
393         select GPIOLIB_IRQCHIP
394         help
395           Say yes here to enable GPIO support for TI OMAP SoCs.
396
397 config GPIO_PL061
398         bool "PrimeCell PL061 GPIO support"
399         depends on ARM_AMBA
400         select IRQ_DOMAIN
401         select GPIOLIB_IRQCHIP
402         help
403           Say yes here to support the PrimeCell PL061 GPIO device
404
405 config GPIO_PMIC_EIC_SPRD
406         tristate "Spreadtrum PMIC EIC support"
407         depends on MFD_SC27XX_PMIC || COMPILE_TEST
408         depends on OF_GPIO
409         select GPIOLIB_IRQCHIP
410         help
411           Say yes here to support Spreadtrum PMIC EIC device.
412
413 config GPIO_PXA
414         bool "PXA GPIO support"
415         depends on ARCH_PXA || ARCH_MMP
416         help
417           Say yes here to support the PXA GPIO device
418
419 config GPIO_RCAR
420         tristate "Renesas R-Car GPIO"
421         depends on ARCH_RENESAS || COMPILE_TEST
422         select GPIOLIB_IRQCHIP
423         help
424           Say yes here to support GPIO on Renesas R-Car SoCs.
425
426 config GPIO_REG
427         bool
428         help
429           A 32-bit single register GPIO fixed in/out implementation.  This
430           can be used to represent any register as a set of GPIO signals.
431
432 config GPIO_SIOX
433         tristate "SIOX GPIO support"
434         depends on SIOX
435         select GPIOLIB_IRQCHIP
436         help
437           Say yes here to support SIOX I/O devices. These are units connected
438           via a SIOX bus and have a number of fixed-direction I/O lines.
439
440 config GPIO_SPEAR_SPICS
441         bool "ST SPEAr13xx SPI Chip Select as GPIO support"
442         depends on PLAT_SPEAR
443         select GENERIC_IRQ_CHIP
444         help
445           Say yes here to support ST SPEAr SPI Chip Select as GPIO device
446
447 config GPIO_SPRD
448         tristate "Spreadtrum GPIO support"
449         depends on ARCH_SPRD || COMPILE_TEST
450         depends on OF_GPIO
451         select GPIOLIB_IRQCHIP
452         help
453           Say yes here to support Spreadtrum GPIO device.
454
455 config GPIO_STA2X11
456         bool "STA2x11/ConneXt GPIO support"
457         depends on MFD_STA2X11
458         select GENERIC_IRQ_CHIP
459         help
460           Say yes here to support the STA2x11/ConneXt GPIO device.
461           The GPIO module has 128 GPIO pins with alternate functions.
462
463 config GPIO_STP_XWAY
464         bool "XWAY STP GPIOs"
465         depends on SOC_XWAY
466         help
467           This enables support for the Serial To Parallel (STP) unit found on
468           XWAY SoC. The STP allows the SoC to drive a shift registers cascade,
469           that can be up to 24 bit. This peripheral is aimed at driving leds.
470           Some of the gpios/leds can be auto updated by the soc with dsl and
471           phy status.
472
473 config GPIO_SYSCON
474         tristate "GPIO based on SYSCON"
475         depends on MFD_SYSCON && OF
476         help
477           Say yes here to support GPIO functionality though SYSCON driver.
478
479 config GPIO_TB10X
480         bool
481         select GPIO_GENERIC
482         select GENERIC_IRQ_CHIP
483         select OF_GPIO
484
485 config GPIO_TEGRA
486         bool "NVIDIA Tegra GPIO support"
487         default ARCH_TEGRA
488         depends on ARCH_TEGRA || COMPILE_TEST
489         depends on OF_GPIO
490         help
491           Say yes here to support GPIO pins on NVIDIA Tegra SoCs.
492
493 config GPIO_TEGRA186
494         tristate "NVIDIA Tegra186 GPIO support"
495         default ARCH_TEGRA_186_SOC
496         depends on ARCH_TEGRA_186_SOC || COMPILE_TEST
497         depends on OF_GPIO
498         select GPIOLIB_IRQCHIP
499         help
500           Say yes here to support GPIO pins on NVIDIA Tegra186 SoCs.
501
502 config GPIO_TS4800
503         tristate "TS-4800 DIO blocks and compatibles"
504         depends on OF_GPIO
505         depends on SOC_IMX51 || COMPILE_TEST
506         select GPIO_GENERIC
507         help
508           This driver support TS-4800 FPGA GPIO controllers.
509
510 config GPIO_THUNDERX
511         tristate "Cavium ThunderX/OCTEON-TX GPIO"
512         depends on ARCH_THUNDER || (64BIT && COMPILE_TEST)
513         depends on PCI_MSI
514         select IRQ_DOMAIN_HIERARCHY
515         select IRQ_FASTEOI_HIERARCHY_HANDLERS
516         help
517           Say yes here to support the on-chip GPIO lines on the ThunderX
518           and OCTEON-TX families of SoCs.
519
520 config GPIO_UNIPHIER
521         tristate "UniPhier GPIO support"
522         depends on ARCH_UNIPHIER || COMPILE_TEST
523         depends on OF_GPIO
524         select IRQ_DOMAIN_HIERARCHY
525         help
526           Say yes here to support UniPhier GPIOs.
527
528 config GPIO_VF610
529         def_bool y
530         depends on ARCH_MXC && SOC_VF610
531         select GPIOLIB_IRQCHIP
532         help
533           Say yes here to support Vybrid vf610 GPIOs.
534
535 config GPIO_VR41XX
536         tristate "NEC VR4100 series General-purpose I/O Uint support"
537         depends on CPU_VR41XX
538         help
539           Say yes here to support the NEC VR4100 series General-purpose I/O Uint
540
541 config GPIO_VX855
542         tristate "VIA VX855/VX875 GPIO"
543         depends on (X86 || COMPILE_TEST) && PCI
544         select MFD_CORE
545         select MFD_VX855
546         help
547           Support access to the VX855/VX875 GPIO lines through the gpio library.
548
549           This driver provides common support for accessing the device,
550           additional drivers must be enabled in order to use the
551           functionality of the device.
552
553 config GPIO_XGENE
554         bool "APM X-Gene GPIO controller support"
555         depends on ARM64 && OF_GPIO
556         help
557           This driver is to support the GPIO block within the APM X-Gene SoC
558           platform's generic flash controller. The GPIO pins are muxed with
559           the generic flash controller's address and data pins. Say yes
560           here to enable the GFC GPIO functionality.
561
562 config GPIO_XGENE_SB
563         tristate "APM X-Gene GPIO standby controller support"
564         depends on ARCH_XGENE && OF_GPIO
565         select GPIO_GENERIC
566         select GPIOLIB_IRQCHIP
567         select IRQ_DOMAIN_HIERARCHY
568         help
569           This driver supports the GPIO block within the APM X-Gene
570           Standby Domain. Say yes here to enable the GPIO functionality.
571
572 config GPIO_XILINX
573         tristate "Xilinx GPIO support"
574         depends on OF_GPIO
575         help
576           Say yes here to support the Xilinx FPGA GPIO device
577
578 config GPIO_XLP
579         tristate "Netlogic XLP GPIO support"
580         depends on OF_GPIO && (CPU_XLP || ARCH_THUNDER2 || COMPILE_TEST)
581         select GPIOLIB_IRQCHIP
582         help
583           This driver provides support for GPIO interface on Netlogic XLP MIPS64
584           SoCs. Currently supported XLP variants are XLP8XX, XLP3XX, XLP2XX,
585           XLP9XX and XLP5XX. The same GPIO controller block is also present in
586           Cavium's ThunderX2 CN99XX SoCs.
587
588           If unsure, say N.
589
590 config GPIO_XTENSA
591         bool "Xtensa GPIO32 support"
592         depends on XTENSA
593         depends on HAVE_XTENSA_GPIO32
594         depends on !SMP
595         help
596           Say yes here to support the Xtensa internal GPIO32 IMPWIRE (input)
597           and EXPSTATE (output) ports
598
599 config GPIO_ZEVIO
600         bool "LSI ZEVIO SoC memory mapped GPIOs"
601         depends on ARM && OF_GPIO
602         help
603           Say yes here to support the GPIO controller in LSI ZEVIO SoCs.
604
605 config GPIO_ZYNQ
606         tristate "Xilinx Zynq GPIO support"
607         depends on ARCH_ZYNQ || ARCH_ZYNQMP
608         select GPIOLIB_IRQCHIP
609         help
610           Say yes here to support Xilinx Zynq GPIO controller.
611
612 config GPIO_ZX
613         bool "ZTE ZX GPIO support"
614         depends on ARCH_ZX || COMPILE_TEST
615         select GPIOLIB_IRQCHIP
616         help
617           Say yes here to support the GPIO device on ZTE ZX SoCs.
618
619 config GPIO_LOONGSON1
620         tristate "Loongson1 GPIO support"
621         depends on MACH_LOONGSON32
622         select GPIO_GENERIC
623         help
624           Say Y or M here to support GPIO on Loongson1 SoCs.
625
626 endmenu
627
628 menu "Port-mapped I/O GPIO drivers"
629         depends on X86 # Unconditional I/O space access
630
631 config GPIO_104_DIO_48E
632         tristate "ACCES 104-DIO-48E GPIO support"
633         depends on PC104
634         select ISA_BUS_API
635         select GPIOLIB_IRQCHIP
636         help
637           Enables GPIO support for the ACCES 104-DIO-48E series (104-DIO-48E,
638           104-DIO-24E). The base port addresses for the devices may be
639           configured via the base module parameter. The interrupt line numbers
640           for the devices may be configured via the irq module parameter.
641
642 config GPIO_104_IDIO_16
643         tristate "ACCES 104-IDIO-16 GPIO support"
644         depends on PC104
645         select ISA_BUS_API
646         select GPIOLIB_IRQCHIP
647         help
648           Enables GPIO support for the ACCES 104-IDIO-16 family (104-IDIO-16,
649           104-IDIO-16E, 104-IDO-16, 104-IDIO-8, 104-IDIO-8E, 104-IDO-8). The
650           base port addresses for the devices may be configured via the base
651           module parameter. The interrupt line numbers for the devices may be
652           configured via the irq module parameter.
653
654 config GPIO_104_IDI_48
655         tristate "ACCES 104-IDI-48 GPIO support"
656         depends on PC104
657         select ISA_BUS_API
658         select GPIOLIB_IRQCHIP
659         help
660           Enables GPIO support for the ACCES 104-IDI-48 family (104-IDI-48A,
661           104-IDI-48AC, 104-IDI-48B, 104-IDI-48BC). The base port addresses for
662           the devices may be configured via the base module parameter. The
663           interrupt line numbers for the devices may be configured via the irq
664           module parameter.
665
666 config GPIO_F7188X
667         tristate "F71869, F71869A, F71882FG, F71889F and F81866 GPIO support"
668         help
669           This option enables support for GPIOs found on Fintek Super-I/O
670           chips F71869, F71869A, F71882FG, F71889F and F81866.
671
672           To compile this driver as a module, choose M here: the module will
673           be called f7188x-gpio.
674
675 config GPIO_GPIO_MM
676         tristate "Diamond Systems GPIO-MM GPIO support"
677         depends on PC104
678         select ISA_BUS_API
679         help
680           Enables GPIO support for the Diamond Systems GPIO-MM and GPIO-MM-12.
681
682           The Diamond Systems GPIO-MM device features 48 lines of digital I/O
683           via the emulation of dual 82C55A PPI chips. This driver provides GPIO
684           support for these 48 channels of digital I/O.
685
686           The base port addresses for the devices may be configured via the base
687           array module parameter.
688
689 config GPIO_IT87
690         tristate "IT87xx GPIO support"
691         help
692           Say yes here to support GPIO functionality of IT87xx Super I/O chips.
693
694           This driver is tested with ITE IT8728 and IT8732 Super I/O chips, and
695           supports the IT8761E, IT8613, IT8620E, and IT8628E Super I/O chips as
696           well.
697
698           To compile this driver as a module, choose M here: the module will
699           be called gpio_it87
700
701 config GPIO_SCH
702         tristate "Intel SCH/TunnelCreek/Centerton/Quark X1000 GPIO"
703         depends on (X86 || COMPILE_TEST) && PCI
704         select MFD_CORE
705         select LPC_SCH
706         help
707           Say yes here to support GPIO interface on Intel Poulsbo SCH,
708           Intel Tunnel Creek processor, Intel Centerton processor or
709           Intel Quark X1000 SoC.
710
711           The Intel SCH contains a total of 14 GPIO pins. Ten GPIOs are
712           powered by the core power rail and are turned off during sleep
713           modes (S3 and higher). The remaining four GPIOs are powered by
714           the Intel SCH suspend power supply. These GPIOs remain
715           active during S3. The suspend powered GPIOs can be used to wake the
716           system from the Suspend-to-RAM state.
717
718           The Intel Tunnel Creek processor has 5 GPIOs powered by the
719           core power rail and 9 from suspend power supply.
720
721           The Intel Centerton processor has a total of 30 GPIO pins.
722           Twenty-one are powered by the core power rail and 9 from the
723           suspend power supply.
724
725           The Intel Quark X1000 SoC has 2 GPIOs powered by the core
726           power well and 6 from the suspend power well.
727
728 config GPIO_SCH311X
729         tristate "SMSC SCH311x SuperI/O GPIO"
730         help
731           Driver to enable the GPIOs found on SMSC SMSC SCH3112, SCH3114 and
732           SCH3116 "Super I/O" chipsets.
733
734           To compile this driver as a module, choose M here: the module will
735           be called gpio-sch311x.
736
737 config GPIO_TS5500
738         tristate "TS-5500 DIO blocks and compatibles"
739         depends on TS5500 || COMPILE_TEST
740         help
741           This driver supports Digital I/O exposed by pin blocks found on some
742           Technologic Systems platforms. It includes, but is not limited to, 3
743           blocks of the TS-5500: DIO1, DIO2 and the LCD port, and the TS-5600
744           LCD port.
745
746 config GPIO_WINBOND
747         tristate "Winbond Super I/O GPIO support"
748         select ISA_BUS_API
749         help
750           This option enables support for GPIOs found on Winbond Super I/O
751           chips.
752           Currently, only W83627UHG (also known as Nuvoton NCT6627UD) is
753           supported.
754
755           You will need to provide a module parameter "gpios", or a
756           boot-time parameter "gpio_winbond.gpios" with a bitmask of GPIO
757           ports to enable (bit 0 is GPIO1, bit 1 is GPIO2, etc.).
758
759           To compile this driver as a module, choose M here: the module will
760           be called gpio-winbond.
761
762 config GPIO_WS16C48
763         tristate "WinSystems WS16C48 GPIO support"
764         select ISA_BUS_API
765         select GPIOLIB_IRQCHIP
766         help
767           Enables GPIO support for the WinSystems WS16C48. The base port
768           addresses for the devices may be configured via the base module
769           parameter. The interrupt line numbers for the devices may be
770           configured via the irq module parameter.
771
772 endmenu
773
774 menu "I2C GPIO expanders"
775         depends on I2C
776
777 config GPIO_ADP5588
778         tristate "ADP5588 I2C GPIO expander"
779         help
780           This option enables support for 18 GPIOs found
781           on Analog Devices ADP5588 GPIO Expanders.
782
783 config GPIO_ADP5588_IRQ
784         bool "Interrupt controller support for ADP5588"
785         depends on GPIO_ADP5588=y
786         help
787           Say yes here to enable the adp5588 to be used as an interrupt
788           controller. It requires the driver to be built in the kernel.
789
790 config GPIO_ADNP
791         tristate "Avionic Design N-bit GPIO expander"
792         depends on OF_GPIO
793         select GPIOLIB_IRQCHIP
794         help
795           This option enables support for N GPIOs found on Avionic Design
796           I2C GPIO expanders. The register space will be extended by powers
797           of two, so the controller will need to accommodate for that. For
798           example: if a controller provides 48 pins, 6 registers will be
799           enough to represent all pins, but the driver will assume a
800           register layout for 64 pins (8 registers).
801
802 config GPIO_MAX7300
803         tristate "Maxim MAX7300 GPIO expander"
804         select GPIO_MAX730X
805         help
806           GPIO driver for Maxim MAX7300 I2C-based GPIO expander.
807
808 config GPIO_MAX732X
809         tristate "MAX7319, MAX7320-7327 I2C Port Expanders"
810         help
811           Say yes here to support the MAX7319, MAX7320-7327 series of I2C
812           Port Expanders. Each IO port on these chips has a fixed role of
813           Input (designated by 'I'), Push-Pull Output ('O'), or Open-Drain
814           Input and Output (designed by 'P'). The combinations are listed
815           below:
816
817           8 bits:       max7319 (8I), max7320 (8O), max7321 (8P),
818                         max7322 (4I4O), max7323 (4P4O)
819
820           16 bits:      max7324 (8I8O), max7325 (8P8O),
821                         max7326 (4I12O), max7327 (4P12O)
822
823           Board setup code must specify the model to use, and the start
824           number for these GPIOs.
825
826 config GPIO_MAX732X_IRQ
827         bool "Interrupt controller support for MAX732x"
828         depends on GPIO_MAX732X=y
829         select GPIOLIB_IRQCHIP
830         help
831           Say yes here to enable the max732x to be used as an interrupt
832           controller. It requires the driver to be built in the kernel.
833
834 config GPIO_MC9S08DZ60
835         bool "MX35 3DS BOARD MC9S08DZ60 GPIO functions"
836         depends on I2C=y && MACH_MX35_3DS
837         help
838           Select this to enable the MC9S08DZ60 GPIO driver
839
840 config GPIO_PCA953X
841         tristate "PCA95[357]x, PCA9698, TCA64xx, and MAX7310 I/O ports"
842         help
843           Say yes here to provide access to several register-oriented
844           SMBus I/O expanders, made mostly by NXP or TI.  Compatible
845           models include:
846
847           4 bits:       pca9536, pca9537
848
849           8 bits:       max7310, max7315, pca6107, pca9534, pca9538, pca9554,
850                         pca9556, pca9557, pca9574, tca6408, tca9554, xra1202
851
852           16 bits:      max7312, max7313, pca9535, pca9539, pca9555, pca9575,
853                         tca6416
854
855           24 bits:      tca6424
856
857           40 bits:      pca9505, pca9698
858
859 config GPIO_PCA953X_IRQ
860         bool "Interrupt controller support for PCA953x"
861         depends on GPIO_PCA953X=y
862         select GPIOLIB_IRQCHIP
863         help
864           Say yes here to enable the pca953x to be used as an interrupt
865           controller. It requires the driver to be built in the kernel.
866
867 config GPIO_PCF857X
868         tristate "PCF857x, PCA{85,96}7x, and MAX732[89] I2C GPIO expanders"
869         select GPIOLIB_IRQCHIP
870         select IRQ_DOMAIN
871         help
872           Say yes here to provide access to most "quasi-bidirectional" I2C
873           GPIO expanders used for additional digital outputs or inputs.
874           Most of these parts are from NXP, though TI is a second source for
875           some of them.  Compatible models include:
876
877           8 bits:   pcf8574, pcf8574a, pca8574, pca8574a,
878                     pca9670, pca9672, pca9674, pca9674a,
879                     max7328, max7329
880
881           16 bits:  pcf8575, pcf8575c, pca8575,
882                     pca9671, pca9673, pca9675
883
884           Your board setup code will need to declare the expanders in
885           use, and assign numbers to the GPIOs they expose.  Those GPIOs
886           can then be used from drivers and other kernel code, just like
887           other GPIOs, but only accessible from task contexts.
888
889           This driver provides an in-kernel interface to those GPIOs using
890           platform-neutral GPIO calls.
891
892 config GPIO_TPIC2810
893         tristate "TPIC2810 8-Bit I2C GPO expander"
894         help
895           Say yes here to enable the GPO driver for the TI TPIC2810 chip.
896
897           To compile this driver as a module, choose M here: the module will
898           be called gpio-tpic2810.
899
900 config GPIO_TS4900
901         tristate "Technologic Systems FPGA I2C GPIO"
902         depends on SOC_IMX6 || COMPILE_TEST
903         select REGMAP_I2C
904         help
905           Say yes here to enabled the GPIO driver for Technologic's FPGA core.
906           Series supported include TS-4100, TS-4900, TS-7970 and TS-7990.
907
908 endmenu
909
910 menu "MFD GPIO expanders"
911
912 config GPIO_ADP5520
913         tristate "GPIO Support for ADP5520 PMIC"
914         depends on PMIC_ADP5520
915         help
916           This option enables support for on-chip GPIO found
917           on Analog Devices ADP5520 PMICs.
918
919 config GPIO_ALTERA_A10SR
920         tristate "Altera Arria10 System Resource GPIO"
921         depends on MFD_ALTERA_A10SR
922         help
923           Driver for Arria10 Development Kit GPIO expansion which
924           includes reads of pushbuttons and DIP switches as well
925           as writes to LEDs.
926
927 config GPIO_ARIZONA
928         tristate "Wolfson Microelectronics Arizona class devices"
929         depends on MFD_ARIZONA
930         help
931           Support for GPIOs on Wolfson Arizona class devices.
932
933 config GPIO_BD9571MWV
934         tristate "ROHM BD9571 GPIO support"
935         depends on MFD_BD9571MWV
936         help
937           Support for GPIOs on ROHM BD9571 PMIC. There are two GPIOs
938           available on the ROHM PMIC in total, both of which can also
939           generate interrupts.
940
941           This driver can also be built as a module. If so, the module
942           will be called gpio-bd9571mwv.
943
944 config GPIO_CRYSTAL_COVE
945         tristate "GPIO support for Crystal Cove PMIC"
946         depends on (X86 || COMPILE_TEST) && INTEL_SOC_PMIC
947         select GPIOLIB_IRQCHIP
948         help
949           Support for GPIO pins on Crystal Cove PMIC.
950
951           Say Yes if you have a Intel SoC based tablet with Crystal Cove PMIC
952           inside.
953
954           This driver can also be built as a module. If so, the module will be
955           called gpio-crystalcove.
956
957 config GPIO_CS5535
958         tristate "AMD CS5535/CS5536 GPIO support"
959         depends on X86 || MIPS || COMPILE_TEST
960         depends on MFD_CS5535
961         help
962           The AMD CS5535 and CS5536 southbridges support 28 GPIO pins that
963           can be used for quite a number of things.  The CS5535/6 is found on
964           AMD Geode and Lemote Yeeloong devices.
965
966           If unsure, say N.
967
968 config GPIO_DA9052
969         tristate "Dialog DA9052 GPIO"
970         depends on PMIC_DA9052
971         help
972           Say yes here to enable the GPIO driver for the DA9052 chip.
973
974 config GPIO_DA9055
975         tristate "Dialog Semiconductor DA9055 GPIO"
976         depends on MFD_DA9055
977         help
978           Say yes here to enable the GPIO driver for the DA9055 chip.
979
980           The Dialog DA9055 PMIC chip has 3 GPIO pins that can be
981           be controller by this driver.
982
983           If driver is built as a module it will be called gpio-da9055.
984
985 config GPIO_DLN2
986         tristate "Diolan DLN2 GPIO support"
987         depends on MFD_DLN2
988         select GPIOLIB_IRQCHIP
989
990         help
991           Select this option to enable GPIO driver for the Diolan DLN2
992           board.
993
994           This driver can also be built as a module. If so, the module
995           will be called gpio-dln2.
996
997 config HTC_EGPIO
998         bool "HTC EGPIO support"
999         depends on GPIOLIB && ARM
1000         help
1001             This driver supports the CPLD egpio chip present on
1002             several HTC phones.  It provides basic support for input
1003             pins, output pins, and irqs.
1004
1005 config GPIO_JANZ_TTL
1006         tristate "Janz VMOD-TTL Digital IO Module"
1007         depends on MFD_JANZ_CMODIO
1008         help
1009           This enables support for the Janz VMOD-TTL Digital IO module.
1010           This driver provides support for driving the pins in output
1011           mode only. Input mode is not supported.
1012
1013 config GPIO_KEMPLD
1014         tristate "Kontron ETX / COMexpress GPIO"
1015         depends on MFD_KEMPLD
1016         help
1017           This enables support for the PLD GPIO interface on some Kontron ETX
1018           and COMexpress (ETXexpress) modules.
1019
1020           This driver can also be built as a module. If so, the module will be
1021           called gpio-kempld.
1022
1023 config GPIO_LP3943
1024         tristate "TI/National Semiconductor LP3943 GPIO expander"
1025         depends on MFD_LP3943
1026         help
1027           GPIO driver for LP3943 MFD.
1028           LP3943 can be used as a GPIO expander which provides up to 16 GPIOs.
1029           Open drain outputs are required for this usage.
1030
1031 config GPIO_LP873X
1032         tristate "TI LP873X GPO"
1033         depends on MFD_TI_LP873X
1034         help
1035           This driver supports the GPO on TI Lp873x PMICs. 2 GPOs are present
1036           on LP873X PMICs.
1037
1038           This driver can also be built as a module. If so, the module will be
1039           called gpio-lp873x.
1040
1041 config GPIO_LP87565
1042         tristate "TI LP87565 GPIO"
1043         depends on MFD_TI_LP87565
1044         help
1045           This driver supports the GPIO on TI Lp873565 PMICs. 3 GPIOs are present
1046           on LP87565 PMICs.
1047
1048           This driver can also be built as a module. If so, the module will be
1049           called gpio-lp87565.
1050
1051 config GPIO_MADERA
1052         tristate "Cirrus Logic Madera class codecs"
1053         depends on PINCTRL_MADERA
1054         help
1055           Support for GPIOs on Cirrus Logic Madera class codecs.
1056
1057 config GPIO_MAX77620
1058         tristate "GPIO support for PMIC MAX77620 and MAX20024"
1059         depends on MFD_MAX77620
1060         help
1061           GPIO driver for MAX77620 and MAX20024 PMIC from Maxim Semiconductor.
1062           MAX77620 PMIC has 8 pins that can be configured as GPIOs. The
1063           driver also provides interrupt support for each of the gpios.
1064           Say yes here to enable the max77620 to be used as gpio controller.
1065
1066 config GPIO_MSIC
1067         bool "Intel MSIC mixed signal gpio support"
1068         depends on (X86 || COMPILE_TEST) && MFD_INTEL_MSIC
1069         help
1070           Enable support for GPIO on intel MSIC controllers found in
1071           intel MID devices
1072
1073 config GPIO_PALMAS
1074         bool "TI PALMAS series PMICs GPIO"
1075         depends on MFD_PALMAS
1076         help
1077           Select this option to enable GPIO driver for the TI PALMAS
1078           series chip family.
1079
1080 config GPIO_RC5T583
1081         bool "RICOH RC5T583 GPIO"
1082         depends on MFD_RC5T583
1083         help
1084           Select this option to enable GPIO driver for the Ricoh RC5T583
1085           chip family.
1086           This driver provides the support for driving/reading the gpio pins
1087           of RC5T583 device through standard gpio library.
1088
1089 config GPIO_STMPE
1090         bool "STMPE GPIOs"
1091         depends on MFD_STMPE
1092         depends on OF_GPIO
1093         select GPIOLIB_IRQCHIP
1094         help
1095           This enables support for the GPIOs found on the STMPE I/O
1096           Expanders.
1097
1098 config GPIO_TC3589X
1099         bool "TC3589X GPIOs"
1100         depends on MFD_TC3589X
1101         depends on OF_GPIO
1102         select GPIOLIB_IRQCHIP
1103         help
1104           This enables support for the GPIOs found on the TC3589X
1105           I/O Expander.
1106
1107 config GPIO_TIMBERDALE
1108         bool "Support for timberdale GPIO IP"
1109         depends on MFD_TIMBERDALE
1110         ---help---
1111         Add support for the GPIO IP in the timberdale FPGA.
1112
1113 config GPIO_TPS65086
1114         tristate "TI TPS65086 GPO"
1115         depends on MFD_TPS65086
1116         help
1117           This driver supports the GPO on TI TPS65086x PMICs.
1118
1119 config GPIO_TPS65218
1120         tristate "TPS65218 GPIO"
1121         depends on MFD_TPS65218
1122         help
1123           Select this option to enable GPIO driver for the TPS65218
1124           chip family.
1125
1126 config GPIO_TPS6586X
1127         bool "TPS6586X GPIO"
1128         depends on MFD_TPS6586X
1129         help
1130           Select this option to enable GPIO driver for the TPS6586X
1131           chip family.
1132
1133 config GPIO_TPS65910
1134         bool "TPS65910 GPIO"
1135         depends on MFD_TPS65910
1136         help
1137           Select this option to enable GPIO driver for the TPS65910
1138           chip family.
1139
1140 config GPIO_TPS65912
1141         tristate "TI TPS65912 GPIO"
1142         depends on MFD_TPS65912
1143         help
1144           This driver supports TPS65912 gpio chip
1145
1146 config GPIO_TPS68470
1147         bool "TPS68470 GPIO"
1148         depends on MFD_TPS68470
1149         help
1150           Select this option to enable GPIO driver for the TPS68470
1151           chip family.
1152           There are 7 GPIOs and few sensor related GPIOs supported
1153           by the TPS68470. While the 7 GPIOs can be configured as
1154           input or output as appropriate, the sensor related GPIOs
1155           are "output only" GPIOs.
1156
1157           This driver config is bool, as the GPIO functionality
1158           of the TPS68470 must be available before dependent
1159           drivers are loaded.
1160
1161 config GPIO_TWL4030
1162         tristate "TWL4030, TWL5030, and TPS659x0 GPIOs"
1163         depends on TWL4030_CORE
1164         help
1165           Say yes here to access the GPIO signals of various multi-function
1166           power management chips from Texas Instruments.
1167
1168 config GPIO_TWL6040
1169         tristate "TWL6040 GPO"
1170         depends on TWL6040_CORE
1171         help
1172           Say yes here to access the GPO signals of twl6040
1173           audio chip from Texas Instruments.
1174
1175 config GPIO_UCB1400
1176         tristate "Philips UCB1400 GPIO"
1177         depends on UCB1400_CORE
1178         help
1179           This enables support for the Philips UCB1400 GPIO pins.
1180           The UCB1400 is an AC97 audio codec.
1181
1182 config GPIO_WHISKEY_COVE
1183         tristate "GPIO support for Whiskey Cove PMIC"
1184         depends on (X86 || COMPILE_TEST) && INTEL_SOC_PMIC_BXTWC
1185         select GPIOLIB_IRQCHIP
1186         help
1187           Support for GPIO pins on Whiskey Cove PMIC.
1188
1189           Say Yes if you have a Intel SoC based tablet with Whiskey Cove PMIC
1190           inside.
1191
1192           This driver can also be built as a module. If so, the module will be
1193           called gpio-wcove.
1194
1195 config GPIO_WM831X
1196         tristate "WM831x GPIOs"
1197         depends on MFD_WM831X
1198         help
1199           Say yes here to access the GPIO signals of WM831x power management
1200           chips from Wolfson Microelectronics.
1201
1202 config GPIO_WM8350
1203         tristate "WM8350 GPIOs"
1204         depends on MFD_WM8350
1205         help
1206           Say yes here to access the GPIO signals of WM8350 power management
1207           chips from Wolfson Microelectronics.
1208
1209 config GPIO_WM8994
1210         tristate "WM8994 GPIOs"
1211         depends on MFD_WM8994
1212         help
1213           Say yes here to access the GPIO signals of WM8994 audio hub
1214           CODECs from Wolfson Microelectronics.
1215
1216 endmenu
1217
1218 menu "PCI GPIO expanders"
1219         depends on PCI
1220
1221 config GPIO_AMD8111
1222         tristate "AMD 8111 GPIO driver"
1223         depends on X86 || COMPILE_TEST
1224         help
1225           The AMD 8111 south bridge contains 32 GPIO pins which can be used.
1226
1227           Note, that usually system firmware/ACPI handles GPIO pins on their
1228           own and users might easily break their systems with uncarefull usage
1229           of this driver!
1230
1231           If unsure, say N
1232
1233 config GPIO_BT8XX
1234         tristate "BT8XX GPIO abuser"
1235         depends on VIDEO_BT848=n
1236         help
1237           The BT8xx frame grabber chip has 24 GPIO pins that can be abused
1238           as a cheap PCI GPIO card.
1239
1240           This chip can be found on Miro, Hauppauge and STB TV-cards.
1241
1242           The card needs to be physically altered for using it as a
1243           GPIO card. For more information on how to build a GPIO card
1244           from a BT8xx TV card, see the documentation file at
1245           Documentation/bt8xxgpio.txt
1246
1247           If unsure, say N.
1248
1249 config GPIO_INTEL_MID
1250         bool "Intel MID GPIO support"
1251         depends on X86_INTEL_MID
1252         select GPIOLIB_IRQCHIP
1253         help
1254           Say Y here to support Intel MID GPIO.
1255
1256 config GPIO_MERRIFIELD
1257         tristate "Intel Merrifield GPIO support"
1258         depends on X86_INTEL_MID
1259         select GPIOLIB_IRQCHIP
1260         help
1261           Say Y here to support Intel Merrifield GPIO.
1262
1263 config GPIO_ML_IOH
1264         tristate "OKI SEMICONDUCTOR ML7213 IOH GPIO support"
1265         depends on X86 || COMPILE_TEST
1266         select GENERIC_IRQ_CHIP
1267         help
1268           ML7213 is companion chip for Intel Atom E6xx series.
1269           This driver can be used for OKI SEMICONDUCTOR ML7213 IOH(Input/Output
1270           Hub) which is for IVI(In-Vehicle Infotainment) use.
1271           This driver can access the IOH's GPIO device.
1272
1273 config GPIO_PCH
1274         tristate "Intel EG20T PCH/LAPIS Semiconductor IOH(ML7223/ML7831) GPIO"
1275         depends on X86_32 || MIPS || COMPILE_TEST
1276         select GENERIC_IRQ_CHIP
1277         help
1278           This driver is for PCH(Platform controller Hub) GPIO of Intel Topcliff
1279           which is an IOH(Input/Output Hub) for x86 embedded processor.
1280           This driver can access PCH GPIO device.
1281
1282           This driver also can be used for LAPIS Semiconductor IOH(Input/
1283           Output Hub), ML7223 and ML7831.
1284           ML7223 IOH is for MP(Media Phone) use.
1285           ML7831 IOH is for general purpose use.
1286           ML7223/ML7831 is companion chip for Intel Atom E6xx series.
1287           ML7223/ML7831 is completely compatible for Intel EG20T PCH.
1288
1289 config GPIO_PCI_IDIO_16
1290         tristate "ACCES PCI-IDIO-16 GPIO support"
1291         select GPIOLIB_IRQCHIP
1292         help
1293           Enables GPIO support for the ACCES PCI-IDIO-16. An interrupt is
1294           generated when any of the inputs change state (low to high or high to
1295           low). Input filter control is not supported by this driver, and the
1296           input filters are deactivated by this driver.
1297
1298 config GPIO_PCIE_IDIO_24
1299         tristate "ACCES PCIe-IDIO-24 GPIO support"
1300         select GPIOLIB_IRQCHIP
1301         help
1302           Enables GPIO support for the ACCES PCIe-IDIO-24 family (PCIe-IDIO-24,
1303           PCIe-IDI-24, PCIe-IDO-24, PCIe-IDIO-12). An interrupt is generated
1304           when any of the inputs change state (low to high or high to low).
1305           Input filter control is not supported by this driver, and the input
1306           filters are deactivated by this driver.
1307
1308 config GPIO_RDC321X
1309         tristate "RDC R-321x GPIO support"
1310         select MFD_CORE
1311         select MFD_RDC321X
1312         help
1313           Support for the RDC R321x SoC GPIOs over southbridge
1314           PCI configuration space.
1315
1316 config GPIO_SODAVILLE
1317         bool "Intel Sodaville GPIO support"
1318         depends on X86 && OF
1319         select GPIO_GENERIC
1320         select GENERIC_IRQ_CHIP
1321         help
1322           Say Y here to support Intel Sodaville GPIO.
1323
1324 endmenu
1325
1326 menu "SPI GPIO expanders"
1327         depends on SPI_MASTER
1328
1329 config GPIO_74X164
1330         tristate "74x164 serial-in/parallel-out 8-bits shift register"
1331         depends on OF_GPIO
1332         help
1333           Driver for 74x164 compatible serial-in/parallel-out 8-outputs
1334           shift registers. This driver can be used to provide access
1335           to more gpio outputs.
1336
1337 config GPIO_MAX3191X
1338         tristate "Maxim MAX3191x industrial serializer"
1339         select CRC8
1340         help
1341           GPIO driver for Maxim MAX31910, MAX31911, MAX31912, MAX31913,
1342           MAX31953 and MAX31963 industrial serializer, a daisy-chainable
1343           chip to make 8 digital 24V inputs available via SPI.  Supports
1344           CRC checksums to guard against electromagnetic interference,
1345           as well as undervoltage and overtemperature detection.
1346
1347 config GPIO_MAX7301
1348         tristate "Maxim MAX7301 GPIO expander"
1349         select GPIO_MAX730X
1350         help
1351           GPIO driver for Maxim MAX7301 SPI-based GPIO expander.
1352
1353 config GPIO_MC33880
1354         tristate "Freescale MC33880 high-side/low-side switch"
1355         help
1356           SPI driver for Freescale MC33880 high-side/low-side switch.
1357           This provides GPIO interface supporting inputs and outputs.
1358
1359 config GPIO_PISOSR
1360         tristate "Generic parallel-in/serial-out shift register"
1361         help
1362           GPIO driver for SPI compatible parallel-in/serial-out shift
1363           registers. These are input only devices.
1364
1365 config GPIO_XRA1403
1366         tristate "EXAR XRA1403 16-bit GPIO expander"
1367         select REGMAP_SPI
1368         help
1369           GPIO driver for EXAR XRA1403 16-bit SPI-based GPIO expander.
1370
1371 endmenu
1372
1373 menu "USB GPIO expanders"
1374         depends on USB
1375
1376 config GPIO_VIPERBOARD
1377         tristate "Viperboard GPIO a & b support"
1378         depends on MFD_VIPERBOARD
1379         help
1380           Say yes here to access the GPIO signals of Nano River
1381           Technologies Viperboard. There are two GPIO chips on the
1382           board: gpioa and gpiob.
1383           See viperboard API specification and Nano
1384           River Tech's viperboard.h for detailed meaning
1385           of the module parameters.
1386
1387 endmenu
1388
1389 endif