blob: 5eb7c864d4a5b327dc35f82ccca946b6839af299 [file] [log] [blame]
David Brownella9c5fff2008-02-04 22:28:17 -08001#
Linus Walleije849dc02011-05-20 00:40:19 -06002# GPIO infrastructure and drivers
David Brownella9c5fff2008-02-04 22:28:17 -08003#
4
Mark Brown7563bbf2012-04-15 10:52:54 +01005config 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
Michael Buesch7444a722008-07-25 01:46:11 -070013menuconfig GPIOLIB
14 bool "GPIO Support"
Linus Walleij60a5eab2016-06-08 13:45:08 +020015 select ANON_INODES
Michael Buesch7444a722008-07-25 01:46:11 -070016 help
17 This enables GPIO support through the generic GPIO library.
18 You only need to enable this, if you also want to enable
Linus Walleije849dc02011-05-20 00:40:19 -060019 one or more of the GPIO drivers below.
Michael Buesch7444a722008-07-25 01:46:11 -070020
21 If unsure, say N.
22
23if GPIOLIB
David Brownella9c5fff2008-02-04 22:28:17 -080024
Alexandre Courbotb69ac522013-10-20 15:14:59 -070025config GPIO_DEVRES
26 def_bool y
27 depends on HAS_IOMEM
28
Grant Likelyf141ed652012-04-07 14:31:33 -060029config OF_GPIO
30 def_bool y
Linus Walleij92c74bc2016-07-05 08:46:43 +020031 depends on OF
Grant Likelyf141ed652012-04-07 14:31:33 -060032
Mathias Nymane29482e2012-11-30 12:37:36 +010033config GPIO_ACPI
34 def_bool y
35 depends on ACPI
36
Linus Walleij14250522014-03-25 10:40:18 +010037config GPIOLIB_IRQCHIP
Linus Walleijfc346272014-05-29 16:52:46 +020038 select IRQ_DOMAIN
Linus Walleij14250522014-03-25 10:40:18 +010039 bool
40
David Brownella9c5fff2008-02-04 22:28:17 -080041config DEBUG_GPIO
42 bool "Debug GPIO calls"
43 depends on DEBUG_KERNEL
44 help
45 Say Y here to add some extra checks and diagnostics to GPIO calls.
Matt LaPlante692105b2009-01-26 11:12:25 +010046 These checks help ensure that GPIOs have been properly initialized
47 before they are used, and that sleeping calls are not made from
48 non-sleeping contexts. They can make bitbanged serial protocols
David Brownella9c5fff2008-02-04 22:28:17 -080049 slower. The diagnostics help catch the type of setup errors
50 that are most common when setting up new platforms or boards.
51
David Brownelld8f388d82008-07-25 01:46:07 -070052config GPIO_SYSFS
53 bool "/sys/class/gpio/... (sysfs interface)"
Kees Cook4c0ea232013-01-16 18:53:32 -080054 depends on SYSFS
David Brownelld8f388d82008-07-25 01:46:07 -070055 help
56 Say Y here to add a sysfs interface for GPIOs.
57
58 This is mostly useful to work around omissions in a system's
59 kernel support. Those are common in custom and semicustom
60 hardware assembled using standard kernels with a minimum of
61 custom patches. In those cases, userspace code may import
62 a given GPIO from the kernel, if no kernel driver requested it.
63
64 Kernel drivers may also request that a particular GPIO be
65 exported to userspace; this can be useful when debugging.
66
Grant Likelyc103de22011-06-04 18:38:28 -060067config GPIO_GENERIC
68 tristate
69
Linus Walleije849dc02011-05-20 00:40:19 -060070# put drivers in the right section, in alphabetical order
David Brownella9c5fff2008-02-04 22:28:17 -080071
Linus Walleij177b0382015-04-08 15:11:16 +020072# This symbol is selected by both I2C and SPI expanders
Wolfram Sange9528052010-03-05 13:44:33 -080073config GPIO_MAX730X
74 tristate
75
Linus Walleij177b0382015-04-08 15:11:16 +020076menu "Memory mapped GPIO drivers"
John Linn0bcb6062008-11-12 13:25:38 -080077
Alexander Shiyanaf0a33e2014-10-03 11:31:57 +040078config GPIO_74XX_MMIO
79 tristate "GPIO driver for 74xx-ICs with MMIO access"
80 depends on OF_GPIO
81 select GPIO_GENERIC
82 help
83 Say yes here to support GPIO functionality for 74xx-compatible ICs
84 with MMIO access. Compatible models include:
85 1 bit: 741G125 (Input), 741G74 (Output)
86 2 bits: 742G125 (Input), 7474 (Output)
87 4 bits: 74125 (Input), 74175 (Output)
88 6 bits: 74365 (Input), 74174 (Output)
89 8 bits: 74244 (Input), 74273 (Output)
90 16 bits: 741624 (Input), 7416374 (Output)
91
Linus Walleij223fa272015-04-08 10:08:56 +020092config GPIO_ALTERA
93 tristate "Altera GPIO"
94 depends on OF_GPIO
Linus Walleij223fa272015-04-08 10:08:56 +020095 select GPIOLIB_IRQCHIP
96 help
97 Say Y or M here to build support for the Altera PIO device.
98
99 If driver is built as a module it will be called gpio-altera.
100
YD Tseng6057d402015-10-19 11:07:37 +0800101config GPIO_AMDPT
102 tristate "AMD Promontory GPIO support"
103 depends on ACPI
Axel Lin574b7822016-02-29 22:00:01 +0800104 select GPIO_GENERIC
YD Tseng6057d402015-10-19 11:07:37 +0800105 help
106 driver for GPIO functionality on Promontory IOHub
107 Require ACPI ASL code to enumerate as a platform device.
108
Alban Bedelab327702016-01-28 20:44:29 +0100109config GPIO_ATH79
110 tristate "Atheros AR71XX/AR724X/AR913X GPIO support"
111 default y if ATH79
Alban Bedel409d8782016-01-28 20:44:30 +0100112 depends on ATH79 || COMPILE_TEST
Alban Bedelab327702016-01-28 20:44:29 +0100113 select GPIO_GENERIC
Alban Bedel2b8f89e2016-01-28 20:44:32 +0100114 select GPIOLIB_IRQCHIP
Alban Bedelab327702016-01-28 20:44:29 +0100115 help
116 Select this option to enable GPIO driver for
117 Atheros AR71XX/AR724X/AR913X SoC devices.
118
Maxime Ripardf72f4b42016-07-20 16:11:36 +0200119config GPIO_AXP209
120 tristate "X-Powers AXP209 PMIC GPIO Support"
121 depends on MFD_AXP20X
122 help
123 Say yes to enable GPIO support for the AXP209 PMIC
124
Linus Walleijea948cf2015-04-08 14:36:17 +0200125config GPIO_BCM_KONA
126 bool "Broadcom Kona GPIO"
127 depends on OF_GPIO && (ARCH_BCM_MOBILE || COMPILE_TEST)
128 help
129 Turn on GPIO support for Broadcom "Kona" chips.
130
Gregory Fong3b0213d2015-05-28 19:14:05 -0700131config GPIO_BRCMSTB
132 tristate "BRCMSTB GPIO support"
Florian Fainellia02588a2016-01-06 10:55:23 -0800133 default y if (ARCH_BRCMSTB || BMIPS_GENERIC)
134 depends on OF_GPIO && (ARCH_BRCMSTB || BMIPS_GENERIC || COMPILE_TEST)
Gregory Fong3b0213d2015-05-28 19:14:05 -0700135 select GPIO_GENERIC
Gregory Fong19a7b692015-07-31 18:17:43 -0700136 select GPIOLIB_IRQCHIP
Gregory Fong3b0213d2015-05-28 19:14:05 -0700137 help
138 Say yes here to enable GPIO support for Broadcom STB (BCM7XXX) SoCs.
139
Alexander Shiyana3b8d4a2012-10-09 20:05:56 +0400140config GPIO_CLPS711X
Alexander Shiyan55fe14a2013-04-26 19:47:28 +0400141 tristate "CLPS711X GPIO support"
Alexander Shiyanffd4bf12013-12-24 18:08:54 +0400142 depends on ARCH_CLPS711X || COMPILE_TEST
Alexander Shiyan55fe14a2013-04-26 19:47:28 +0400143 select GPIO_GENERIC
144 help
145 Say yes here to support GPIO on CLPS711X SoCs.
Alexander Shiyana3b8d4a2012-10-09 20:05:56 +0400146
Grygorii Strashkoee89cf62013-11-21 17:34:36 +0200147config GPIO_DAVINCI
148 bool "TI Davinci/Keystone GPIO support"
149 default y if ARCH_DAVINCI
150 depends on ARM && (ARCH_DAVINCI || ARCH_KEYSTONE)
151 help
152 Say yes here to enable GPIO support for TI Davinci/Keystone SoCs.
153
Jamie Iles7779b3452014-02-25 17:01:01 -0600154config GPIO_DWAPB
155 tristate "Synopsys DesignWare APB GPIO driver"
156 select GPIO_GENERIC
157 select GENERIC_IRQ_CHIP
Jamie Iles7779b3452014-02-25 17:01:01 -0600158 help
159 Say Y or M here to build support for the Synopsys DesignWare APB
160 GPIO block.
161
Magnus Damma07e1032012-05-17 15:22:23 +0900162config GPIO_EM
163 tristate "Emma Mobile GPIO"
Ian Moltonb5927852013-09-02 16:44:55 +0100164 depends on ARM && OF_GPIO
Magnus Damma07e1032012-05-17 15:22:23 +0900165 help
166 Say yes here to support GPIO on Renesas Emma Mobile SoCs.
167
H Hartley Sweetenc6b52c12011-06-01 10:09:19 -0700168config GPIO_EP93XX
169 def_bool y
170 depends on ARCH_EP93XX
H Hartley Sweeten1e4c8842011-06-08 14:35:33 -0700171 select GPIO_GENERIC
H Hartley Sweetenc6b52c12011-06-01 10:09:19 -0700172
Rabin Vincentd3425712015-06-06 22:30:40 +0200173config GPIO_ETRAXFS
174 bool "Axis ETRAX FS General I/O"
175 depends on CRIS || COMPILE_TEST
176 depends on OF
177 select GPIO_GENERIC
Rabin Vincent29b53572015-07-31 14:48:57 +0200178 select GPIOLIB_IRQCHIP
Rabin Vincentd3425712015-06-06 22:30:40 +0200179 help
180 Say yes here to support the GPIO controller on Axis ETRAX FS SoCs.
181
Linus Walleij223fa272015-04-08 10:08:56 +0200182config GPIO_GE_FPGA
183 bool "GE FPGA based GPIO"
184 depends on GE_FPGA
185 select GPIO_GENERIC
186 help
187 Support for common GPIO functionality provided on some GE Single Board
188 Computers.
189
190 This driver provides basic support (configure as input or output, read
191 and write pin state) for GPIO implemented in a number of GE single
192 board computers.
193
194config GPIO_GENERIC_PLATFORM
195 tristate "Generic memory-mapped GPIO controller support (MMIO platform device)"
196 select GPIO_GENERIC
197 help
198 Say yes here to support basic platform_device memory-mapped GPIO controllers.
199
200config GPIO_GRGPIO
201 tristate "Aeroflex Gaisler GRGPIO support"
202 depends on OF
203 select GPIO_GENERIC
204 select IRQ_DOMAIN
205 help
206 Select this to support Aeroflex Gaisler GRGPIO cores from the GRLIB
207 VHDL IP core library.
208
209config GPIO_ICH
210 tristate "Intel ICH GPIO"
211 depends on PCI && X86
212 select MFD_CORE
213 select LPC_ICH
214 help
215 Say yes here to support the GPIO functionality of a number of Intel
216 ICH-based chipsets. Currently supported devices: ICH6, ICH7, ICH8
217 ICH9, ICH10, Series 5/3400 (eg Ibex Peak), Series 6/C200 (eg
218 Cougar Point), NM10 (Tiger Point), and 3100 (Whitmore Lake).
219
220 If unsure, say N.
221
222config GPIO_IOP
223 tristate "Intel IOP GPIO"
224 depends on ARM && (ARCH_IOP32X || ARCH_IOP33X)
225 help
226 Say yes here to support the GPIO functionality of a number of Intel
227 IOP32X or IOP33X.
228
229 If unsure, say N.
230
Linus Walleij223fa272015-04-08 10:08:56 +0200231config GPIO_LOONGSON
232 bool "Loongson-2/3 GPIO support"
233 depends on CPU_LOONGSON2 || CPU_LOONGSON3
234 help
235 driver for GPIO functionality on Loongson-2F/3A/3B processors.
236
Joachim Eastwood13a43fd2015-05-02 23:11:34 +0200237config GPIO_LPC18XX
Paul Gortmaker54b72992016-06-05 14:23:43 -0400238 tristate "NXP LPC18XX/43XX GPIO support"
Joachim Eastwood13a43fd2015-05-02 23:11:34 +0200239 default y if ARCH_LPC18XX
240 depends on OF_GPIO && (ARCH_LPC18XX || COMPILE_TEST)
241 help
242 Select this option to enable GPIO driver for
243 NXP LPC18XX/43XX devices.
244
Linus Walleij223fa272015-04-08 10:08:56 +0200245config GPIO_LYNXPOINT
246 tristate "Intel Lynxpoint GPIO support"
247 depends on ACPI && X86
248 select GPIOLIB_IRQCHIP
249 help
250 driver for GPIO functionality on Intel Lynxpoint PCH chipset
251 Requires ACPI device enumeration code to set up a platform device.
252
Jassi Brar0da094d2015-01-19 18:35:53 +0800253config GPIO_MB86S7X
254 bool "GPIO support for Fujitsu MB86S7x Platforms"
Axel Lin4fccbbd2016-02-25 13:41:30 +0800255 depends on ARCH_MB86S7X || COMPILE_TEST
Jassi Brar0da094d2015-01-19 18:35:53 +0800256 help
257 Say yes here to support the GPIO controller in Fujitsu MB86S70 SoCs.
Fabian Vogt9af4d802014-02-24 20:54:58 +0100258
Andreas Wernerf436bc22016-02-29 19:44:43 +0100259config GPIO_MENZ127
260 tristate "MEN 16Z127 GPIO support"
261 depends on MCB
262 select GPIO_GENERIC
263 help
264 Say yes here to support the MEN 16Z127 GPIO Controller
265
John Crispin5238f7b2012-05-11 18:48:39 +0200266config GPIO_MM_LANTIQ
267 bool "Lantiq Memory mapped GPIOs"
268 depends on LANTIQ && SOC_XWAY
269 help
270 This enables support for memory mapped GPIOs on the External Bus Unit
271 (EBU) found on Lantiq SoCs. The gpios are output only as they are
272 created by attaching a 16bit latch to the bus.
273
Jonas Jensen0299b772013-11-29 12:11:34 +0100274config GPIO_MOXART
275 bool "MOXART GPIO support"
Axel Lin24030d92016-02-26 16:00:50 +0800276 depends on ARCH_MOXART || COMPILE_TEST
Kamlakant Patel3c01b9a2014-12-01 17:39:34 +0530277 select GPIO_GENERIC
Jonas Jensen0299b772013-11-29 12:11:34 +0100278 help
279 Select this option to enable GPIO driver for
280 MOXA ART SoC devices.
281
Grant Likely6eae1ac2011-07-06 11:54:19 -0600282config GPIO_MPC5200
283 def_bool y
284 depends on PPC_MPC52xx
285
Wolfram Sangc68308d2011-09-21 12:49:20 +0200286config GPIO_MPC8XXX
Liu Gang5df7fd42016-01-12 20:10:09 +0800287 bool "MPC512x/MPC8xxx/QorIQ GPIO support"
Wolfram Sangc68308d2011-09-21 12:49:20 +0200288 depends on PPC_MPC512x || PPC_MPC831x || PPC_MPC834x || PPC_MPC837x || \
Liu Gang5df7fd42016-01-12 20:10:09 +0800289 FSL_SOC_BOOKE || PPC_86xx || ARCH_LAYERSCAPE || ARM || \
290 COMPILE_TEST
291 select GPIO_GENERIC
Arnd Bergmanna8fa91a2016-04-19 14:10:08 +0200292 select IRQ_DOMAIN
Wolfram Sangc68308d2011-09-21 12:49:20 +0200293 help
294 Say Y here if you're going to use hardware that connects to the
Liu Gang5df7fd42016-01-12 20:10:09 +0800295 MPC512x/831x/834x/837x/8572/8610/QorIQ GPIOs.
Wolfram Sangc68308d2011-09-21 12:49:20 +0200296
Thomas Petazzonifefe7b02012-09-19 22:52:58 +0200297config GPIO_MVEBU
298 def_bool y
Andrew Lunn49e928d2012-11-17 17:00:43 +0100299 depends on PLAT_ORION
Gregory CLEMENTbc1008c2012-12-19 12:31:11 +0100300 depends on OF
Thomas Petazzonifefe7b02012-09-19 22:52:58 +0200301 select GENERIC_IRQ_CHIP
302
Shawn Guod37a65b2011-06-06 00:07:54 +0800303config GPIO_MXC
304 def_bool y
305 depends on ARCH_MXC
Grant Likelyc103de22011-06-04 18:38:28 -0600306 select GPIO_GENERIC
Shawn Guoe4ea9332011-06-07 16:25:37 +0800307 select GENERIC_IRQ_CHIP
Grant Likelyc103de22011-06-04 18:38:28 -0600308
309config GPIO_MXS
310 def_bool y
311 depends on ARCH_MXS
Shawn Guo06f88a82011-06-06 22:31:29 +0800312 select GPIO_GENERIC
Shawn Guo498c17c2011-06-07 22:00:54 +0800313 select GENERIC_IRQ_CHIP
Shawn Guod37a65b2011-06-06 00:07:54 +0800314
David Daneyaca58a62013-07-29 14:29:10 -0700315config GPIO_OCTEON
316 tristate "Cavium OCTEON GPIO"
317 depends on GPIOLIB && CAVIUM_OCTEON_SOC
318 default y
319 help
320 Say yes here to support the on-chip GPIO lines on the OCTEON
321 family of SOCs.
322
Javier Martinez Canillascd0a3742014-04-06 16:58:15 +0200323config GPIO_OMAP
Tony Lindgrencac089f2015-04-23 16:56:22 -0700324 tristate "TI OMAP GPIO support" if ARCH_OMAP2PLUS || COMPILE_TEST
Javier Martinez Canillascd0a3742014-04-06 16:58:15 +0200325 default y if ARCH_OMAP
Arnd Bergmann9d5d96e2014-04-28 11:07:03 +0200326 depends on ARM
327 select GENERIC_IRQ_CHIP
Javier Martinez Canillasfb655f52014-04-06 16:58:16 +0200328 select GPIOLIB_IRQCHIP
Javier Martinez Canillascd0a3742014-04-06 16:58:15 +0200329 help
330 Say yes here to enable GPIO support for TI OMAP SoCs.
331
Baruch Siach1e9c2852009-06-18 16:48:58 -0700332config GPIO_PL061
333 bool "PrimeCell PL061 GPIO support"
Rob Herring8a242842013-11-05 21:27:02 -0600334 depends on ARM_AMBA
Axel Lina5d6d272014-02-04 20:39:01 +0800335 select IRQ_DOMAIN
Linus Walleij8d5b24b2014-03-25 10:42:35 +0100336 select GPIOLIB_IRQCHIP
Baruch Siach1e9c2852009-06-18 16:48:58 -0700337 help
338 Say yes here to support the PrimeCell PL061 GPIO device
339
Haojian Zhuang157d2642011-10-17 20:37:52 +0800340config GPIO_PXA
341 bool "PXA GPIO support"
342 depends on ARCH_PXA || ARCH_MMP
343 help
344 Say yes here to support the PXA GPIO device
345
Magnus Damm119f5e42013-03-13 20:32:13 +0900346config GPIO_RCAR
347 tristate "Renesas R-Car GPIO"
Simon Horman2af66e12016-02-23 10:36:51 +0900348 depends on ARCH_RENESAS || COMPILE_TEST
Geert Uytterhoevenc7f3c5d2015-01-12 11:07:59 +0100349 select GPIOLIB_IRQCHIP
Magnus Damm119f5e42013-03-13 20:32:13 +0900350 help
351 Say yes here to support GPIO on Renesas R-Car SoCs.
352
Shiraz Hashimb53bc282012-11-16 10:45:25 +0530353config GPIO_SPEAR_SPICS
354 bool "ST SPEAr13xx SPI Chip Select as GPIO support"
355 depends on PLAT_SPEAR
356 select GENERIC_IRQ_CHIP
357 help
358 Say yes here to support ST SPEAr SPI Chip Select as GPIO device
359
Alessandro Rubini7b0d44f32012-04-12 10:48:55 +0200360config GPIO_STA2X11
361 bool "STA2x11/ConneXt GPIO support"
362 depends on MFD_STA2X11
363 select GENERIC_IRQ_CHIP
364 help
365 Say yes here to support the STA2x11/ConneXt GPIO device.
366 The GPIO module has 128 GPIO pins with alternate functions.
367
Linus Walleijbe9cab52015-04-08 14:51:23 +0200368config GPIO_STP_XWAY
369 bool "XWAY STP GPIOs"
370 depends on SOC_XWAY
371 help
372 This enables support for the Serial To Parallel (STP) unit found on
373 XWAY SoC. The STP allows the SoC to drive a shift registers cascade,
374 that can be up to 24 bit. This peripheral is aimed at driving leds.
375 Some of the gpios/leds can be auto updated by the soc with dsl and
376 phy status.
377
Alexander Shiyan6a8a0c12014-03-11 21:55:14 +0400378config GPIO_SYSCON
379 tristate "GPIO based on SYSCON"
380 depends on MFD_SYSCON && OF
381 help
382 Say yes here to support GPIO functionality though SYSCON driver.
383
Linus Walleij223fa272015-04-08 10:08:56 +0200384config GPIO_TB10X
385 bool
386 select GENERIC_IRQ_CHIP
387 select OF_GPIO
388
Alexander Stein4dd4dd12016-02-24 20:54:32 +0100389config GPIO_TEGRA
Arnd Bergmann0bfb85c2016-07-06 14:54:03 +0200390 bool "NVIDIA Tegra GPIO support"
391 default ARCH_TEGRA
Alexander Stein4dd4dd12016-02-24 20:54:32 +0100392 depends on ARCH_TEGRA || COMPILE_TEST
Arnd Bergmann0bfb85c2016-07-06 14:54:03 +0200393 depends on OF
394 help
395 Say yes here to support GPIO pins on NVIDIA Tegra SoCs.
Alexander Stein4dd4dd12016-02-24 20:54:32 +0100396
Julien Grossholtz5041e792016-01-13 11:57:43 -0500397config GPIO_TS4800
398 tristate "TS-4800 DIO blocks and compatibles"
399 depends on OF_GPIO
Julien Grossholtz6dcfd722016-02-26 18:06:59 -0500400 depends on SOC_IMX51 || COMPILE_TEST
Julien Grossholtz5041e792016-01-13 11:57:43 -0500401 select GPIO_GENERIC
402 help
403 This driver support TS-4800 FPGA GPIO controllers.
404
James Hogan9caf1f22013-06-25 15:27:43 +0100405config GPIO_TZ1090
406 bool "Toumaz Xenif TZ1090 GPIO support"
407 depends on SOC_TZ1090
James Hogan04777392013-06-25 15:27:45 +0100408 select GENERIC_IRQ_CHIP
James Hogan9caf1f22013-06-25 15:27:43 +0100409 default y
410 help
411 Say yes here to support Toumaz Xenif TZ1090 GPIOs.
412
James Hogan79bb6462013-06-25 15:27:44 +0100413config GPIO_TZ1090_PDC
414 bool "Toumaz Xenif TZ1090 PDC GPIO support"
415 depends on SOC_TZ1090
416 default y
417 help
418 Say yes here to support Toumaz Xenif TZ1090 PDC GPIOs.
419
Stefan Agner7f2691a2014-10-16 21:47:58 +0200420config GPIO_VF610
421 def_bool y
422 depends on ARCH_MXC && SOC_VF610
423 select GPIOLIB_IRQCHIP
424 help
425 Say yes here to support Vybrid vf610 GPIOs.
426
Linus Walleij223fa272015-04-08 10:08:56 +0200427config GPIO_VR41XX
428 tristate "NEC VR4100 series General-purpose I/O Uint support"
429 depends on CPU_VR41XX
430 help
431 Say yes here to support the NEC VR4100 series General-purpose I/O Uint
432
433config GPIO_VX855
434 tristate "VIA VX855/VX875 GPIO"
435 depends on PCI
436 select MFD_CORE
437 select MFD_VX855
438 help
439 Support access to the VX855/VX875 GPIO lines through the gpio library.
440
441 This driver provides common support for accessing the device,
442 additional drivers must be enabled in order to use the
443 functionality of the device.
444
Feng Kan29cbf452014-07-31 12:03:25 -0700445config GPIO_XGENE
446 bool "APM X-Gene GPIO controller support"
447 depends on ARM64 && OF_GPIO
448 help
449 This driver is to support the GPIO block within the APM X-Gene SoC
450 platform's generic flash controller. The GPIO pins are muxed with
451 the generic flash controller's address and data pins. Say yes
452 here to enable the GFC GPIO functionality.
453
Y Vob2b35e12015-01-16 14:34:19 +0700454config GPIO_XGENE_SB
455 tristate "APM X-Gene GPIO standby controller support"
456 depends on ARCH_XGENE && OF_GPIO
457 select GPIO_GENERIC
Matthias Bruggere5f7e312016-03-04 11:59:58 +0100458 select GPIOLIB_IRQCHIP
Y Vob2b35e12015-01-16 14:34:19 +0700459 help
460 This driver supports the GPIO block within the APM X-Gene
461 Standby Domain. Say yes here to enable the GPIO functionality.
462
John Linn0bcb6062008-11-12 13:25:38 -0800463config GPIO_XILINX
Ricardo Ribalda Delgadoc54c58b2014-12-17 16:51:10 +0100464 tristate "Xilinx GPIO support"
Soren Brinkmann797867212015-10-22 21:51:18 -0700465 depends on OF_GPIO
John Linn0bcb6062008-11-12 13:25:38 -0800466 help
467 Say yes here to support the Xilinx FPGA GPIO device
468
Kamlakant Patelff718802015-04-28 20:10:45 +0530469config GPIO_XLP
470 tristate "Netlogic XLP GPIO support"
Kamlakant Pateldd987562016-03-24 15:01:40 +0530471 depends on OF_GPIO && (CPU_XLP || ARCH_VULCAN || COMPILE_TEST)
Kamlakant Patelff718802015-04-28 20:10:45 +0530472 select GPIOLIB_IRQCHIP
473 help
474 This driver provides support for GPIO interface on Netlogic XLP MIPS64
475 SoCs. Currently supported XLP variants are XLP8XX, XLP3XX, XLP2XX,
476 XLP9XX and XLP5XX.
477
478 If unsure, say N.
479
Baruch Siach3b31d0e2013-12-12 11:18:41 +0200480config GPIO_XTENSA
481 bool "Xtensa GPIO32 support"
482 depends on XTENSA
Baruch Siacha1a2bde2013-12-18 09:10:29 +0200483 depends on HAVE_XTENSA_GPIO32
Baruch Siach3b31d0e2013-12-12 11:18:41 +0200484 depends on !SMP
485 help
486 Say yes here to support the Xtensa internal GPIO32 IMPWIRE (input)
487 and EXPSTATE (output) ports
488
Linus Walleij223fa272015-04-08 10:08:56 +0200489config GPIO_ZEVIO
490 bool "LSI ZEVIO SoC memory mapped GPIOs"
491 depends on ARM && OF_GPIO
Yoichi Yuasa27fdd322009-06-29 11:11:05 +0900492 help
Linus Walleij223fa272015-04-08 10:08:56 +0200493 Say yes here to support the GPIO controller in LSI ZEVIO SoCs.
Yoichi Yuasa27fdd322009-06-29 11:11:05 +0900494
Linus Walleij223fa272015-04-08 10:08:56 +0200495config GPIO_ZYNQ
496 tristate "Xilinx Zynq GPIO support"
Anurag Kumar Vulishabdf7a4a2015-06-04 17:40:32 +0530497 depends on ARCH_ZYNQ || ARCH_ZYNQMP
Mika Westerberg7f872102014-07-25 09:54:46 +0300498 select GPIOLIB_IRQCHIP
Mathias Nyman1d09aaa2012-12-12 17:42:38 +0200499 help
Linus Walleij223fa272015-04-08 10:08:56 +0200500 Say yes here to support Xilinx Zynq GPIO controller.
Mathias Nyman1d09aaa2012-12-12 17:42:38 +0200501
Linus Walleij09636702015-11-01 10:50:19 +0100502config GPIO_ZX
503 bool "ZTE ZX GPIO support"
504 select GPIOLIB_IRQCHIP
505 help
506 Say yes here to support the GPIO device on ZTE ZX SoCs.
507
Kelvin Cheungbd37c992016-04-06 20:34:53 +0800508config GPIO_LOONGSON1
509 tristate "Loongson1 GPIO support"
510 depends on MACH_LOONGSON32
511 select GPIO_GENERIC
512 help
513 Say Y or M here to support GPIO on Loongson1 SoCs.
514
Linus Walleij177b0382015-04-08 15:11:16 +0200515endmenu
516
Linus Walleijbc6a73b2015-10-30 10:32:19 +0100517menu "Port-mapped I/O GPIO drivers"
Linus Walleij7768feb2015-11-01 10:39:07 +0100518 depends on X86 # Unconditional I/O space access
Linus Walleijbc6a73b2015-10-30 10:32:19 +0100519
William Breathitt Gray1b06d642016-01-20 13:50:11 -0500520config GPIO_104_DIO_48E
521 tristate "ACCES 104-DIO-48E GPIO support"
William Breathitt Grayf4ae9162016-05-27 18:08:56 -0400522 depends on ISA_BUS_API
William Breathitt Gray1b06d642016-01-20 13:50:11 -0500523 select GPIOLIB_IRQCHIP
524 help
William Breathitt Gray4c23db02016-05-01 18:44:39 -0400525 Enables GPIO support for the ACCES 104-DIO-48E series (104-DIO-48E,
526 104-DIO-24E). The base port addresses for the devices may be
527 configured via the base module parameter. The interrupt line numbers
528 for the devices may be configured via the irq module parameter.
William Breathitt Gray1b06d642016-01-20 13:50:11 -0500529
Linus Walleijbc6a73b2015-10-30 10:32:19 +0100530config GPIO_104_IDIO_16
531 tristate "ACCES 104-IDIO-16 GPIO support"
William Breathitt Grayf4ae9162016-05-27 18:08:56 -0400532 depends on ISA_BUS_API
William Breathitt Graya1184142015-11-03 07:54:23 -0500533 select GPIOLIB_IRQCHIP
Linus Walleijbc6a73b2015-10-30 10:32:19 +0100534 help
William Breathitt Gray86ea8a92016-05-01 18:45:11 -0400535 Enables GPIO support for the ACCES 104-IDIO-16 family (104-IDIO-16,
536 104-IDIO-16E, 104-IDO-16, 104-IDIO-8, 104-IDIO-8E, 104-IDO-8). The
537 base port addresses for the devices may be configured via the base
538 module parameter. The interrupt line numbers for the devices may be
539 configured via the irq module parameter.
Linus Walleijbc6a73b2015-10-30 10:32:19 +0100540
William Breathitt Gray6ddcf9b2015-11-23 12:54:50 -0500541config GPIO_104_IDI_48
542 tristate "ACCES 104-IDI-48 GPIO support"
William Breathitt Grayf4ae9162016-05-27 18:08:56 -0400543 depends on ISA_BUS_API
William Breathitt Gray6ddcf9b2015-11-23 12:54:50 -0500544 select GPIOLIB_IRQCHIP
545 help
William Breathitt Gray72bf7442016-05-01 18:44:55 -0400546 Enables GPIO support for the ACCES 104-IDI-48 family (104-IDI-48A,
547 104-IDI-48AC, 104-IDI-48B, 104-IDI-48BC). The base port addresses for
548 the devices may be configured via the base module parameter. The
549 interrupt line numbers for the devices may be configured via the irq
550 module parameter.
William Breathitt Gray6ddcf9b2015-11-23 12:54:50 -0500551
Linus Walleijbc6a73b2015-10-30 10:32:19 +0100552config GPIO_F7188X
Peter Hung1920906f2016-01-22 15:23:33 +0800553 tristate "F71869, F71869A, F71882FG, F71889F and F81866 GPIO support"
Linus Walleijbc6a73b2015-10-30 10:32:19 +0100554 help
555 This option enables support for GPIOs found on Fintek Super-I/O
Peter Hung1920906f2016-01-22 15:23:33 +0800556 chips F71869, F71869A, F71882FG, F71889F and F81866.
Linus Walleijbc6a73b2015-10-30 10:32:19 +0100557
558 To compile this driver as a module, choose M here: the module will
559 be called f7188x-gpio.
560
William Breathitt Gray6ea5dcd2016-08-02 09:57:47 -0400561config GPIO_GPIO_MM
562 tristate "Diamond Systems GPIO-MM GPIO support"
563 depends on ISA_BUS_API
564 help
565 Enables GPIO support for the Diamond Systems GPIO-MM and GPIO-MM-12.
566
567 The Diamond Systems GPIO-MM device features 48 lines of digital I/O
568 via the emulation of dual 82C55A PPI chips. This driver provides GPIO
569 support for these 48 channels of digital I/O.
570
571 The base port addresses for the devices may be configured via the base
572 array module parameter.
573
Linus Walleijbc6a73b2015-10-30 10:32:19 +0100574config GPIO_IT87
575 tristate "IT87xx GPIO support"
Linus Walleijbc6a73b2015-10-30 10:32:19 +0100576 help
577 Say yes here to support GPIO functionality of IT87xx Super I/O chips.
578
579 This driver is tested with ITE IT8728 and IT8732 Super I/O chips, and
Martin Blumenstingl8fccdb52016-03-27 17:43:02 +0200580 supports the IT8761E, IT8620E and IT8628E Super I/O chip as well.
Linus Walleijbc6a73b2015-10-30 10:32:19 +0100581
582 To compile this driver as a module, choose M here: the module will
583 be called gpio_it87
584
585config GPIO_SCH
586 tristate "Intel SCH/TunnelCreek/Centerton/Quark X1000 GPIO"
Linus Walleij7768feb2015-11-01 10:39:07 +0100587 depends on PCI
Linus Walleijbc6a73b2015-10-30 10:32:19 +0100588 select MFD_CORE
589 select LPC_SCH
590 help
591 Say yes here to support GPIO interface on Intel Poulsbo SCH,
592 Intel Tunnel Creek processor, Intel Centerton processor or
593 Intel Quark X1000 SoC.
594
595 The Intel SCH contains a total of 14 GPIO pins. Ten GPIOs are
596 powered by the core power rail and are turned off during sleep
597 modes (S3 and higher). The remaining four GPIOs are powered by
598 the Intel SCH suspend power supply. These GPIOs remain
599 active during S3. The suspend powered GPIOs can be used to wake the
600 system from the Suspend-to-RAM state.
601
602 The Intel Tunnel Creek processor has 5 GPIOs powered by the
603 core power rail and 9 from suspend power supply.
604
605 The Intel Centerton processor has a total of 30 GPIO pins.
606 Twenty-one are powered by the core power rail and 9 from the
607 suspend power supply.
608
609 The Intel Quark X1000 SoC has 2 GPIOs powered by the core
610 power well and 6 from the suspend power well.
611
612config GPIO_SCH311X
613 tristate "SMSC SCH311x SuperI/O GPIO"
614 help
615 Driver to enable the GPIOs found on SMSC SMSC SCH3112, SCH3114 and
616 SCH3116 "Super I/O" chipsets.
617
618 To compile this driver as a module, choose M here: the module will
619 be called gpio-sch311x.
620
621config GPIO_TS5500
622 tristate "TS-5500 DIO blocks and compatibles"
623 depends on TS5500 || COMPILE_TEST
624 help
625 This driver supports Digital I/O exposed by pin blocks found on some
626 Technologic Systems platforms. It includes, but is not limited to, 3
627 blocks of the TS-5500: DIO1, DIO2 and the LCD port, and the TS-5600
628 LCD port.
629
William Breathitt Gray9c26df92016-01-20 13:45:33 -0500630config GPIO_WS16C48
631 tristate "WinSystems WS16C48 GPIO support"
William Breathitt Grayf4ae9162016-05-27 18:08:56 -0400632 depends on ISA_BUS_API
William Breathitt Gray9c26df92016-01-20 13:45:33 -0500633 select GPIOLIB_IRQCHIP
634 help
William Breathitt Graycc736602016-05-01 18:45:24 -0400635 Enables GPIO support for the WinSystems WS16C48. The base port
636 addresses for the devices may be configured via the base module
637 parameter. The interrupt line numbers for the devices may be
638 configured via the irq module parameter.
William Breathitt Gray9c26df92016-01-20 13:45:33 -0500639
Linus Walleijbc6a73b2015-10-30 10:32:19 +0100640endmenu
641
Linus Walleij177b0382015-04-08 15:11:16 +0200642menu "I2C GPIO expanders"
643 depends on I2C
David Brownella9c5fff2008-02-04 22:28:17 -0800644
Linus Walleijbf5a16b2015-04-08 14:14:40 +0200645config GPIO_ADP5588
646 tristate "ADP5588 I2C GPIO expander"
Mark Brown31ba56f2012-06-23 13:29:25 +0100647 help
Linus Walleijbf5a16b2015-04-08 14:14:40 +0200648 This option enables support for 18 GPIOs found
649 on Analog Devices ADP5588 GPIO Expanders.
Wolfram Sange9528052010-03-05 13:44:33 -0800650
Linus Walleijbf5a16b2015-04-08 14:14:40 +0200651config GPIO_ADP5588_IRQ
652 bool "Interrupt controller support for ADP5588"
653 depends on GPIO_ADP5588=y
Eric Miaobbcd6d52008-07-25 01:46:14 -0700654 help
Linus Walleijbf5a16b2015-04-08 14:14:40 +0200655 Say yes here to enable the adp5588 to be used as an interrupt
656 controller. It requires the driver to be built in the kernel.
David Brownella9c5fff2008-02-04 22:28:17 -0800657
Linus Walleijbf5a16b2015-04-08 14:14:40 +0200658config GPIO_ADNP
659 tristate "Avionic Design N-bit GPIO expander"
Linus Walleij269a46f2015-11-01 10:43:16 +0100660 depends on OF_GPIO
Zhu, Lejun104fb1d2014-06-03 13:26:04 +0800661 select GPIOLIB_IRQCHIP
662 help
Linus Walleijbf5a16b2015-04-08 14:14:40 +0200663 This option enables support for N GPIOs found on Avionic Design
664 I2C GPIO expanders. The register space will be extended by powers
665 of two, so the controller will need to accommodate for that. For
666 example: if a controller provides 48 pins, 6 registers will be
667 enough to represent all pins, but the driver will assume a
668 register layout for 64 pins (8 registers).
Milo Kim0cc59b92013-12-06 11:18:42 +0900669
David Brownella9c5fff2008-02-04 22:28:17 -0800670config GPIO_MAX7300
Eric Miaobbcd6d52008-07-25 01:46:14 -0700671 tristate "Maxim MAX7300 GPIO expander"
Eric Miaobbcd6d52008-07-25 01:46:14 -0700672 select GPIO_MAX730X
673 help
Axel Lin2b861f42013-05-19 14:25:48 +0800674 GPIO driver for Maxim MAX7300 I2C-based GPIO expander.
David Brownella9c5fff2008-02-04 22:28:17 -0800675
Eric Miaobbcd6d52008-07-25 01:46:14 -0700676config GPIO_MAX732X
677 tristate "MAX7319, MAX7320-7327 I2C Port Expanders"
Eric Miaobbcd6d52008-07-25 01:46:14 -0700678 help
679 Say yes here to support the MAX7319, MAX7320-7327 series of I2C
680 Port Expanders. Each IO port on these chips has a fixed role of
681 Input (designated by 'I'), Push-Pull Output ('O'), or Open-Drain
682 Input and Output (designed by 'P'). The combinations are listed
683 below:
684
685 8 bits: max7319 (8I), max7320 (8O), max7321 (8P),
686 max7322 (4I4O), max7323 (4P4O)
687
688 16 bits: max7324 (8I8O), max7325 (8P8O),
689 max7326 (4I12O), max7327 (4P12O)
690
691 Board setup code must specify the model to use, and the start
692 number for these GPIOs.
693
Marc Zyngiera80a0bb2010-05-26 14:42:16 -0700694config GPIO_MAX732X_IRQ
695 bool "Interrupt controller support for MAX732x"
Martin Schwidefsky0244ad02013-08-30 09:39:53 +0200696 depends on GPIO_MAX732X=y
Linus Walleij984f6642015-01-30 11:32:01 +0100697 select GPIOLIB_IRQCHIP
Marc Zyngiera80a0bb2010-05-26 14:42:16 -0700698 help
699 Say yes here to enable the max732x to be used as an interrupt
700 controller. It requires the driver to be built in the kernel.
701
wu guoxing608589b2012-01-30 14:31:20 +0800702config GPIO_MC9S08DZ60
703 bool "MX35 3DS BOARD MC9S08DZ60 GPIO functions"
Axel Lin4c30aa32012-08-29 09:35:24 +0800704 depends on I2C=y && MACH_MX35_3DS
wu guoxing608589b2012-01-30 14:31:20 +0800705 help
706 Select this to enable the MC9S08DZ60 GPIO driver
707
Guennadi Liakhovetskif3dc3632008-02-06 01:39:03 -0800708config GPIO_PCA953X
Aaron Sierraeb32b5a2014-02-13 13:59:23 +0100709 tristate "PCA95[357]x, PCA9698, TCA64xx, and MAX7310 I/O ports"
eric miao9e60fdc2008-02-04 22:28:26 -0800710 help
David Brownell7059d4b2008-07-04 09:59:37 -0700711 Say yes here to provide access to several register-oriented
712 SMBus I/O expanders, made mostly by NXP or TI. Compatible
713 models include:
714
715 4 bits: pca9536, pca9537
716
Axel Linc29985d2012-04-06 17:11:46 +0800717 8 bits: max7310, max7315, pca6107, pca9534, pca9538, pca9554,
Aaron Sierrae73760a2014-02-07 16:36:21 -0600718 pca9556, pca9557, pca9574, tca6408, xra1202
David Brownell7059d4b2008-07-04 09:59:37 -0700719
Axel Linc29985d2012-04-06 17:11:46 +0800720 16 bits: max7312, max7313, pca9535, pca9539, pca9555, pca9575,
721 tca6416
eric miao9e60fdc2008-02-04 22:28:26 -0800722
Aaron Sierra1e191692014-02-07 16:35:48 -0600723 24 bits: tca6424
724
Aaron Sierraeb32b5a2014-02-13 13:59:23 +0100725 40 bits: pca9505, pca9698
Aaron Sierra1e191692014-02-07 16:35:48 -0600726
Marc Zyngier89ea8bb2010-03-05 13:44:36 -0800727config GPIO_PCA953X_IRQ
728 bool "Interrupt controller support for PCA953x"
729 depends on GPIO_PCA953X=y
Linus Walleij7bcbce52014-05-09 13:27:57 +0200730 select GPIOLIB_IRQCHIP
Marc Zyngier89ea8bb2010-03-05 13:44:36 -0800731 help
732 Say yes here to enable the pca953x to be used as an interrupt
733 controller. It requires the driver to be built in the kernel.
734
David Brownell15fae372008-02-04 22:28:24 -0800735config GPIO_PCF857X
David Brownell1673ad52008-07-21 14:21:34 -0700736 tristate "PCF857x, PCA{85,96}7x, and MAX732[89] I2C GPIO expanders"
Geert Uytterhoevena39294b2015-02-05 16:49:08 +0100737 select GPIOLIB_IRQCHIP
Arnd Bergmann901acf52012-09-28 23:36:15 +0200738 select IRQ_DOMAIN
David Brownell15fae372008-02-04 22:28:24 -0800739 help
740 Say yes here to provide access to most "quasi-bidirectional" I2C
741 GPIO expanders used for additional digital outputs or inputs.
742 Most of these parts are from NXP, though TI is a second source for
743 some of them. Compatible models include:
744
745 8 bits: pcf8574, pcf8574a, pca8574, pca8574a,
David Brownell1673ad52008-07-21 14:21:34 -0700746 pca9670, pca9672, pca9674, pca9674a,
747 max7328, max7329
David Brownell15fae372008-02-04 22:28:24 -0800748
749 16 bits: pcf8575, pcf8575c, pca8575,
750 pca9671, pca9673, pca9675
751
752 Your board setup code will need to declare the expanders in
753 use, and assign numbers to the GPIOs they expose. Those GPIOs
754 can then be used from drivers and other kernel code, just like
755 other GPIOs, but only accessible from task contexts.
756
757 This driver provides an in-kernel interface to those GPIOs using
758 platform-neutral GPIO calls.
759
Gregory Beanc34f16b2010-08-10 18:02:27 -0700760config GPIO_SX150X
761 bool "Semtech SX150x I2C GPIO expander"
762 depends on I2C=y
Wei Chen093e9432014-12-04 20:12:08 +0800763 select GPIOLIB_IRQCHIP
Gregory Beanc34f16b2010-08-10 18:02:27 -0700764 default n
765 help
766 Say yes here to provide support for Semtech SX150-series I2C
767 GPIO expanders. Compatible models include:
768
769 8 bits: sx1508q
770 16 bits: sx1509q
771
Andrew F. Davisb8665262016-01-25 10:14:12 -0600772config GPIO_TPIC2810
773 tristate "TPIC2810 8-Bit I2C GPO expander"
774 help
775 Say yes here to enable the GPO driver for the TI TPIC2810 chip.
776
777 To compile this driver as a module, choose M here: the module will
778 be called gpio-tpic2810.
779
Lucile Quirion9c668632016-08-12 11:16:49 -0400780config GPIO_TS4900
781 tristate "Technologic Systems FPGA I2C GPIO"
782 select REGMAP_I2C
783 help
784 Say yes here to enabled the GPIO driver for Technologic's FPGA core.
785 Series supported include TS-4100, TS-4900, TS-7970 and TS-7990.
786
Linus Walleij177b0382015-04-08 15:11:16 +0200787endmenu
788
789menu "MFD GPIO expanders"
Linus Walleijbe9cab52015-04-08 14:51:23 +0200790
791config GPIO_ADP5520
792 tristate "GPIO Support for ADP5520 PMIC"
793 depends on PMIC_ADP5520
794 help
795 This option enables support for on-chip GPIO found
796 on Analog Devices ADP5520 PMICs.
797
798config GPIO_ARIZONA
799 tristate "Wolfson Microelectronics Arizona class devices"
800 depends on MFD_ARIZONA
801 help
802 Support for GPIOs on Wolfson Arizona class devices.
803
804config GPIO_CRYSTAL_COVE
805 tristate "GPIO support for Crystal Cove PMIC"
806 depends on INTEL_SOC_PMIC
807 select GPIOLIB_IRQCHIP
808 help
809 Support for GPIO pins on Crystal Cove PMIC.
810
811 Say Yes if you have a Intel SoC based tablet with Crystal Cove PMIC
812 inside.
813
814 This driver can also be built as a module. If so, the module will be
815 called gpio-crystalcove.
816
817config GPIO_CS5535
818 tristate "AMD CS5535/CS5536 GPIO support"
819 depends on MFD_CS5535
820 help
821 The AMD CS5535 and CS5536 southbridges support 28 GPIO pins that
822 can be used for quite a number of things. The CS5535/6 is found on
823 AMD Geode and Lemote Yeeloong devices.
824
825 If unsure, say N.
826
827config GPIO_DA9052
828 tristate "Dialog DA9052 GPIO"
829 depends on PMIC_DA9052
830 help
831 Say yes here to enable the GPIO driver for the DA9052 chip.
832
833config GPIO_DA9055
834 tristate "Dialog Semiconductor DA9055 GPIO"
835 depends on MFD_DA9055
836 help
837 Say yes here to enable the GPIO driver for the DA9055 chip.
838
839 The Dialog DA9055 PMIC chip has 3 GPIO pins that can be
840 be controller by this driver.
841
842 If driver is built as a module it will be called gpio-da9055.
843
844config GPIO_DLN2
845 tristate "Diolan DLN2 GPIO support"
846 depends on MFD_DLN2
847 select GPIOLIB_IRQCHIP
848
849 help
850 Select this option to enable GPIO driver for the Diolan DLN2
851 board.
852
853 This driver can also be built as a module. If so, the module
854 will be called gpio-dln2.
855
856config GPIO_JANZ_TTL
857 tristate "Janz VMOD-TTL Digital IO Module"
858 depends on MFD_JANZ_CMODIO
859 help
860 This enables support for the Janz VMOD-TTL Digital IO module.
861 This driver provides support for driving the pins in output
862 mode only. Input mode is not supported.
863
864config GPIO_KEMPLD
865 tristate "Kontron ETX / COMexpress GPIO"
866 depends on MFD_KEMPLD
867 help
868 This enables support for the PLD GPIO interface on some Kontron ETX
869 and COMexpress (ETXexpress) modules.
870
871 This driver can also be built as a module. If so, the module will be
872 called gpio-kempld.
873
874config GPIO_LP3943
875 tristate "TI/National Semiconductor LP3943 GPIO expander"
876 depends on MFD_LP3943
877 help
878 GPIO driver for LP3943 MFD.
879 LP3943 can be used as a GPIO expander which provides up to 16 GPIOs.
880 Open drain outputs are required for this usage.
881
Laxman Dewangan02c5ba12016-05-13 10:49:14 +0530882config GPIO_MAX77620
883 tristate "GPIO support for PMIC MAX77620 and MAX20024"
884 depends on MFD_MAX77620
885 help
886 GPIO driver for MAX77620 and MAX20024 PMIC from Maxim Semiconductor.
887 MAX77620 PMIC has 8 pins that can be configured as GPIOs. The
888 driver also provides interrupt support for each of the gpios.
889 Say yes here to enable the max77620 to be used as gpio controller.
890
Linus Walleijbe9cab52015-04-08 14:51:23 +0200891config GPIO_MSIC
892 bool "Intel MSIC mixed signal gpio support"
893 depends on MFD_INTEL_MSIC
894 help
895 Enable support for GPIO on intel MSIC controllers found in
896 intel MID devices
897
898config GPIO_PALMAS
899 bool "TI PALMAS series PMICs GPIO"
900 depends on MFD_PALMAS
901 help
902 Select this option to enable GPIO driver for the TI PALMAS
903 series chip family.
904
David Brownella9c5fff2008-02-04 22:28:17 -0800905config GPIO_RC5T583
906 bool "RICOH RC5T583 GPIO"
907 depends on MFD_RC5T583
908 help
909 Select this option to enable GPIO driver for the Ricoh RC5T583
910 chip family.
911 This driver provides the support for driving/reading the gpio pins
912 of RC5T583 device through standard gpio library.
913
Rabin Vincent03f822f2010-07-02 16:52:09 +0530914config GPIO_STMPE
915 bool "STMPE GPIOs"
916 depends on MFD_STMPE
Linus Walleij1dfb4a02015-01-13 08:00:29 +0100917 depends on OF_GPIO
Linus Walleijfe44e702014-04-15 23:38:56 +0200918 select GPIOLIB_IRQCHIP
Rabin Vincent03f822f2010-07-02 16:52:09 +0530919 help
920 This enables support for the GPIOs found on the STMPE I/O
921 Expanders.
922
Sundar Iyerf4e8afd2010-12-13 09:33:13 +0530923config GPIO_TC3589X
924 bool "TC3589X GPIOs"
925 depends on MFD_TC3589X
Linus Walleij14227312015-03-19 15:52:45 +0100926 depends on OF_GPIO
Linus Walleijcf42f1c2014-04-09 13:38:33 +0200927 select GPIOLIB_IRQCHIP
Rabin Vincentd88b25b2010-05-10 23:43:47 +0200928 help
Sundar Iyerf4e8afd2010-12-13 09:33:13 +0530929 This enables support for the GPIOs found on the TC3589X
Rabin Vincentd88b25b2010-05-10 23:43:47 +0200930 I/O Expander.
931
Linus Walleijbe9cab52015-04-08 14:51:23 +0200932config GPIO_TIMBERDALE
933 bool "Support for timberdale GPIO IP"
934 depends on MFD_TIMBERDALE
935 ---help---
936 Add support for the GPIO IP in the timberdale FPGA.
937
Andrew F. Davis99f0fd52016-02-06 10:12:10 -0600938config GPIO_TPS65086
939 tristate "TI TPS65086 GPO"
940 depends on MFD_TPS65086
941 help
942 This driver supports the GPO on TI TPS65086x PMICs.
943
Nicolas Saenz Juliennec366c762016-01-30 17:06:44 +0000944config GPIO_TPS65218
945 tristate "TPS65218 GPIO"
946 depends on MFD_TPS65218
947 help
948 Select this option to enable GPIO driver for the TPS65218
949 chip family.
950
Linus Walleijbe9cab52015-04-08 14:51:23 +0200951config GPIO_TPS6586X
952 bool "TPS6586X GPIO"
953 depends on MFD_TPS6586X
954 help
955 Select this option to enable GPIO driver for the TPS6586X
956 chip family.
957
958config GPIO_TPS65910
959 bool "TPS65910 GPIO"
960 depends on MFD_TPS65910
961 help
962 Select this option to enable GPIO driver for the TPS65910
963 chip family.
964
Margarita Olaya668a6cc2011-06-09 14:50:19 -0500965config GPIO_TPS65912
966 tristate "TI TPS65912 GPIO"
Andrew F. Davisca801a22016-01-25 09:43:47 -0600967 depends on MFD_TPS65912
Margarita Olaya668a6cc2011-06-09 14:50:19 -0500968 help
969 This driver supports TPS65912 gpio chip
970
David Brownelle9d359472008-10-20 23:51:46 +0200971config GPIO_TWL4030
972 tristate "TWL4030, TWL5030, and TPS659x0 GPIOs"
973 depends on TWL4030_CORE
974 help
975 Say yes here to access the GPIO signals of various multi-function
976 power management chips from Texas Instruments.
977
Peter Ujfalusi70ffd692012-08-16 15:13:15 +0300978config GPIO_TWL6040
979 tristate "TWL6040 GPO"
980 depends on TWL6040_CORE
981 help
982 Say yes here to access the GPO signals of twl6040
983 audio chip from Texas Instruments.
984
Linus Walleijbe9cab52015-04-08 14:51:23 +0200985config GPIO_UCB1400
986 tristate "Philips UCB1400 GPIO"
987 depends on UCB1400_CORE
988 help
989 This enables support for the Philips UCB1400 GPIO pins.
990 The UCB1400 is an AC97 audio codec.
991
Bin Gao0ba19cf2016-07-25 14:59:38 -0700992config GPIO_WHISKEY_COVE
993 tristate "GPIO support for Whiskey Cove PMIC"
994 depends on INTEL_SOC_PMIC
995 select GPIOLIB_IRQCHIP
996 help
997 Support for GPIO pins on Whiskey Cove PMIC.
998
999 Say Yes if you have a Intel SoC based tablet with Whiskey Cove PMIC
1000 inside.
1001
1002 This driver can also be built as a module. If so, the module will be
1003 called gpio-wcove.
1004
Mark Browne4b736f2009-07-27 14:46:00 +01001005config GPIO_WM831X
1006 tristate "WM831x GPIOs"
1007 depends on MFD_WM831X
1008 help
1009 Say yes here to access the GPIO signals of WM831x power management
1010 chips from Wolfson Microelectronics.
1011
Mark Brown38f6ce42010-01-07 16:10:08 +00001012config GPIO_WM8350
1013 tristate "WM8350 GPIOs"
1014 depends on MFD_WM8350
1015 help
1016 Say yes here to access the GPIO signals of WM8350 power management
1017 chips from Wolfson Microelectronics.
1018
Mark Brown2955c302010-01-29 18:20:30 +00001019config GPIO_WM8994
1020 tristate "WM8994 GPIOs"
1021 depends on MFD_WM8994
1022 help
1023 Say yes here to access the GPIO signals of WM8994 audio hub
1024 CODECs from Wolfson Microelectronics.
1025
Linus Walleij177b0382015-04-08 15:11:16 +02001026endmenu
1027
1028menu "PCI GPIO expanders"
1029 depends on PCI
Michael Bueschff1d5c22008-07-25 01:46:10 -07001030
Linus Walleij92c33ef2015-04-08 14:30:37 +02001031config GPIO_AMD8111
1032 tristate "AMD 8111 GPIO driver"
Michael Bueschff1d5c22008-07-25 01:46:10 -07001033 help
Linus Walleij92c33ef2015-04-08 14:30:37 +02001034 The AMD 8111 south bridge contains 32 GPIO pins which can be used.
Andres Salomon5f0a96b02009-12-14 18:00:32 -08001035
Linus Walleij92c33ef2015-04-08 14:30:37 +02001036 Note, that usually system firmware/ACPI handles GPIO pins on their
1037 own and users might easily break their systems with uncarefull usage
1038 of this driver!
Michael Bueschff1d5c22008-07-25 01:46:10 -07001039
Linus Walleij92c33ef2015-04-08 14:30:37 +02001040 If unsure, say N
Andres Salomon5f0a96b02009-12-14 18:00:32 -08001041
Michael Bueschff1d5c22008-07-25 01:46:10 -07001042config GPIO_BT8XX
1043 tristate "BT8XX GPIO abuser"
Andrew F. Davis03744522015-12-06 14:52:45 -06001044 depends on VIDEO_BT848=n
Michael Bueschff1d5c22008-07-25 01:46:10 -07001045 help
Geert Uytterhoeven22520ed2014-03-11 11:23:44 +01001046 The BT8xx frame grabber chip has 24 GPIO pins that can be abused
Michael Bueschff1d5c22008-07-25 01:46:10 -07001047 as a cheap PCI GPIO card.
1048
1049 This chip can be found on Miro, Hauppauge and STB TV-cards.
1050
1051 The card needs to be physically altered for using it as a
1052 GPIO card. For more information on how to build a GPIO card
1053 from a BT8xx TV card, see the documentation file at
1054 Documentation/bt8xxgpio.txt
1055
1056 If unsure, say N.
1057
David Cohen84743ea2013-10-04 13:01:41 -07001058config GPIO_INTEL_MID
Andy Shevchenkoc78e3cf2016-07-07 23:45:08 +03001059 bool "Intel MID GPIO support"
1060 depends on X86_INTEL_MID
Linus Walleijfc346272014-05-29 16:52:46 +02001061 select GPIOLIB_IRQCHIP
Alek Du8bf02612009-09-22 16:46:36 -07001062 help
Andy Shevchenkoc78e3cf2016-07-07 23:45:08 +03001063 Say Y here to support Intel MID GPIO.
Alek Du8bf02612009-09-22 16:46:36 -07001064
Andy Shevchenkoccf6fd62016-07-08 14:08:23 +03001065config GPIO_MERRIFIELD
1066 tristate "Intel Merrifield GPIO support"
1067 depends on X86_INTEL_MID
1068 select GPIOLIB_IRQCHIP
1069 help
1070 Say Y here to support Intel Merrifield GPIO.
Juergen Beisert0c36ec32008-07-21 14:21:34 -07001071
Linus Walleij92c33ef2015-04-08 14:30:37 +02001072config GPIO_ML_IOH
1073 tristate "OKI SEMICONDUCTOR ML7213 IOH GPIO support"
Linus Walleij92c33ef2015-04-08 14:30:37 +02001074 select GENERIC_IRQ_CHIP
1075 help
1076 ML7213 is companion chip for Intel Atom E6xx series.
1077 This driver can be used for OKI SEMICONDUCTOR ML7213 IOH(Input/Output
1078 Hub) which is for IVI(In-Vehicle Infotainment) use.
1079 This driver can access the IOH's GPIO device.
1080
Tomoya MORINAGA04c17aa82010-10-27 15:33:21 -07001081config GPIO_PCH
Tomoya MORINAGA868fea02011-10-28 09:23:32 +09001082 tristate "Intel EG20T PCH/LAPIS Semiconductor IOH(ML7223/ML7831) GPIO"
Andrew F. Davis03744522015-12-06 14:52:45 -06001083 depends on X86_32 || MIPS || COMPILE_TEST
Tomoya MORINAGA38eb18a2011-07-21 09:19:59 +09001084 select GENERIC_IRQ_CHIP
Tomoya MORINAGA04c17aa82010-10-27 15:33:21 -07001085 help
1086 This driver is for PCH(Platform controller Hub) GPIO of Intel Topcliff
1087 which is an IOH(Input/Output Hub) for x86 embedded processor.
1088 This driver can access PCH GPIO device.
1089
Tomoya MORINAGA868fea02011-10-28 09:23:32 +09001090 This driver also can be used for LAPIS Semiconductor IOH(Input/
1091 Output Hub), ML7223 and ML7831.
Tomoya MORINAGAbc786cc2011-05-09 19:58:49 +09001092 ML7223 IOH is for MP(Media Phone) use.
Tomoya MORINAGA868fea02011-10-28 09:23:32 +09001093 ML7831 IOH is for general purpose use.
1094 ML7223/ML7831 is companion chip for Intel Atom E6xx series.
1095 ML7223/ML7831 is completely compatible for Intel EG20T PCH.
Tomoya MORINAGAbc786cc2011-05-09 19:58:49 +09001096
Florian Fainelli9956d022010-03-21 01:06:09 +01001097config GPIO_RDC321X
1098 tristate "RDC R-321x GPIO support"
Randy Dunlape4be3cb2010-05-11 13:24:20 -07001099 select MFD_CORE
Florian Fainelli9956d022010-03-21 01:06:09 +01001100 select MFD_RDC321X
1101 help
1102 Support for the RDC R321x SoC GPIOs over southbridge
1103 PCI configuration space.
1104
Richard Röjfors35570ac2009-12-15 16:46:18 -08001105config GPIO_SODAVILLE
David Brownella9c5fff2008-02-04 22:28:17 -08001106 bool "Intel Sodaville GPIO support"
Andrew F. Davis03744522015-12-06 14:52:45 -06001107 depends on X86 && OF
Juergen Beisert0c36ec32008-07-21 14:21:34 -07001108 select GPIO_GENERIC
1109 select GENERIC_IRQ_CHIP
Wolfram Sange9528052010-03-05 13:44:33 -08001110 help
Juergen Beisert0c36ec32008-07-21 14:21:34 -07001111 Say Y here to support Intel Sodaville GPIO.
Wolfram Sange9528052010-03-05 13:44:33 -08001112
Linus Walleij177b0382015-04-08 15:11:16 +02001113endmenu
David Brownelle58b9e22008-02-04 22:28:25 -08001114
Linus Walleij177b0382015-04-08 15:11:16 +02001115menu "SPI GPIO expanders"
1116 depends on SPI_MASTER
David Brownelle58b9e22008-02-04 22:28:25 -08001117
Linus Walleija7ec2e72015-04-08 14:34:51 +02001118config GPIO_74X164
1119 tristate "74x164 serial-in/parallel-out 8-bits shift register"
Linus Walleij09636702015-11-01 10:50:19 +01001120 depends on OF
Linus Walleija7ec2e72015-04-08 14:34:51 +02001121 help
1122 Driver for 74x164 compatible serial-in/parallel-out 8-outputs
1123 shift registers. This driver can be used to provide access
1124 to more gpio outputs.
David Brownelle58b9e22008-02-04 22:28:25 -08001125
1126config GPIO_MAX7301
1127 tristate "Maxim MAX7301 GPIO expander"
Richard Röjfors1e5db002009-09-22 16:46:34 -07001128 select GPIO_MAX730X
1129 help
1130 GPIO driver for Maxim MAX7301 SPI-based GPIO expander.
1131
Linus Walleij09636702015-11-01 10:50:19 +01001132config GPIO_MC33880
1133 tristate "Freescale MC33880 high-side/low-side switch"
1134 help
1135 SPI driver for Freescale MC33880 high-side/low-side switch.
1136 This provides GPIO interface supporting inputs and outputs.
1137
Andrew F. Davisdf6df932016-01-25 10:37:31 -06001138config GPIO_PISOSR
1139 tristate "Generic parallel-in/serial-out shift register"
1140 help
1141 GPIO driver for SPI compatible parallel-in/serial-out shift
1142 registers. These are input only devices.
1143
Linus Walleij09636702015-11-01 10:50:19 +01001144endmenu
1145
1146menu "SPI or I2C GPIO expanders"
1147 depends on (SPI_MASTER && !I2C) || I2C
1148
David Brownelle58b9e22008-02-04 22:28:25 -08001149config GPIO_MCP23S08
Peter Korsgaard752ad5e2011-07-15 10:25:32 +02001150 tristate "Microchip MCP23xxx I/O expander"
Phil Reiddad3d272016-03-18 16:07:06 +08001151 select GPIOLIB_IRQCHIP
David Brownelle58b9e22008-02-04 22:28:25 -08001152 help
Peter Korsgaard752ad5e2011-07-15 10:25:32 +02001153 SPI/I2C driver for Microchip MCP23S08/MCP23S17/MCP23008/MCP23017
1154 I/O expanders.
Peter Korsgaard0b7bb772011-03-09 17:56:30 +01001155 This provides a GPIO interface supporting inputs and outputs.
Lars Poeschel4e47f912014-01-16 11:44:15 +01001156 The I2C versions of the chips can be used as interrupt-controller.
David Brownelle58b9e22008-02-04 22:28:25 -08001157
Linus Walleij177b0382015-04-08 15:11:16 +02001158endmenu
Miguel Gaioead6db082010-10-27 15:33:18 -07001159
Linus Walleij177b0382015-04-08 15:11:16 +02001160menu "USB GPIO expanders"
1161 depends on USB
Lars Poeschel9d5b72d2012-11-05 15:48:24 +01001162
1163config GPIO_VIPERBOARD
1164 tristate "Viperboard GPIO a & b support"
Andrew F. Davis03744522015-12-06 14:52:45 -06001165 depends on MFD_VIPERBOARD
Lars Poeschel9d5b72d2012-11-05 15:48:24 +01001166 help
1167 Say yes here to access the GPIO signals of Nano River
1168 Technologies Viperboard. There are two GPIO chips on the
1169 board: gpioa and gpiob.
1170 See viperboard API specification and Nano
1171 River Tech's viperboard.h for detailed meaning
1172 of the module parameters.
1173
Linus Walleij177b0382015-04-08 15:11:16 +02001174endmenu
Daniel Baluta67321272014-11-06 15:48:05 +02001175
Michael Buesch7444a722008-07-25 01:46:11 -07001176endif