blob: 17842e6a56dcfbbb78044afe41817f6a14412436 [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
Joel Stanley361b7912016-08-30 17:24:27 +0930109config GPIO_ASPEED
110 tristate "Aspeed GPIO support"
111 depends on (ARCH_ASPEED || COMPILE_TEST) && OF_GPIO
112 select GPIOLIB_IRQCHIP
113 help
114 Say Y here to support Aspeed AST2400 and AST2500 GPIO controllers.
115
Alban Bedelab327702016-01-28 20:44:29 +0100116config GPIO_ATH79
117 tristate "Atheros AR71XX/AR724X/AR913X GPIO support"
118 default y if ATH79
Alban Bedel409d8782016-01-28 20:44:30 +0100119 depends on ATH79 || COMPILE_TEST
Alban Bedelab327702016-01-28 20:44:29 +0100120 select GPIO_GENERIC
Alban Bedel2b8f89e2016-01-28 20:44:32 +0100121 select GPIOLIB_IRQCHIP
Alban Bedelab327702016-01-28 20:44:29 +0100122 help
123 Select this option to enable GPIO driver for
124 Atheros AR71XX/AR724X/AR913X SoC devices.
125
Maxime Ripardf72f4b42016-07-20 16:11:36 +0200126config GPIO_AXP209
127 tristate "X-Powers AXP209 PMIC GPIO Support"
128 depends on MFD_AXP20X
129 help
130 Say yes to enable GPIO support for the AXP209 PMIC
131
Linus Walleijea948cf2015-04-08 14:36:17 +0200132config GPIO_BCM_KONA
133 bool "Broadcom Kona GPIO"
134 depends on OF_GPIO && (ARCH_BCM_MOBILE || COMPILE_TEST)
135 help
136 Turn on GPIO support for Broadcom "Kona" chips.
137
Gregory Fong3b0213d2015-05-28 19:14:05 -0700138config GPIO_BRCMSTB
139 tristate "BRCMSTB GPIO support"
Florian Fainellia02588a2016-01-06 10:55:23 -0800140 default y if (ARCH_BRCMSTB || BMIPS_GENERIC)
141 depends on OF_GPIO && (ARCH_BRCMSTB || BMIPS_GENERIC || COMPILE_TEST)
Gregory Fong3b0213d2015-05-28 19:14:05 -0700142 select GPIO_GENERIC
Gregory Fong19a7b692015-07-31 18:17:43 -0700143 select GPIOLIB_IRQCHIP
Gregory Fong3b0213d2015-05-28 19:14:05 -0700144 help
145 Say yes here to enable GPIO support for Broadcom STB (BCM7XXX) SoCs.
146
Alexander Shiyana3b8d4a2012-10-09 20:05:56 +0400147config GPIO_CLPS711X
Alexander Shiyan55fe14a2013-04-26 19:47:28 +0400148 tristate "CLPS711X GPIO support"
Alexander Shiyanffd4bf12013-12-24 18:08:54 +0400149 depends on ARCH_CLPS711X || COMPILE_TEST
Alexander Shiyan55fe14a2013-04-26 19:47:28 +0400150 select GPIO_GENERIC
151 help
152 Say yes here to support GPIO on CLPS711X SoCs.
Alexander Shiyana3b8d4a2012-10-09 20:05:56 +0400153
Grygorii Strashkoee89cf62013-11-21 17:34:36 +0200154config GPIO_DAVINCI
155 bool "TI Davinci/Keystone GPIO support"
156 default y if ARCH_DAVINCI
157 depends on ARM && (ARCH_DAVINCI || ARCH_KEYSTONE)
158 help
159 Say yes here to enable GPIO support for TI Davinci/Keystone SoCs.
160
Jamie Iles7779b3452014-02-25 17:01:01 -0600161config GPIO_DWAPB
162 tristate "Synopsys DesignWare APB GPIO driver"
163 select GPIO_GENERIC
164 select GENERIC_IRQ_CHIP
Jamie Iles7779b3452014-02-25 17:01:01 -0600165 help
166 Say Y or M here to build support for the Synopsys DesignWare APB
167 GPIO block.
168
Magnus Damma07e1032012-05-17 15:22:23 +0900169config GPIO_EM
170 tristate "Emma Mobile GPIO"
Ian Moltonb5927852013-09-02 16:44:55 +0100171 depends on ARM && OF_GPIO
Magnus Damma07e1032012-05-17 15:22:23 +0900172 help
173 Say yes here to support GPIO on Renesas Emma Mobile SoCs.
174
H Hartley Sweetenc6b52c12011-06-01 10:09:19 -0700175config GPIO_EP93XX
176 def_bool y
177 depends on ARCH_EP93XX
H Hartley Sweeten1e4c8842011-06-08 14:35:33 -0700178 select GPIO_GENERIC
H Hartley Sweetenc6b52c12011-06-01 10:09:19 -0700179
Rabin Vincentd3425712015-06-06 22:30:40 +0200180config GPIO_ETRAXFS
181 bool "Axis ETRAX FS General I/O"
182 depends on CRIS || COMPILE_TEST
183 depends on OF
184 select GPIO_GENERIC
Rabin Vincent29b53572015-07-31 14:48:57 +0200185 select GPIOLIB_IRQCHIP
Rabin Vincentd3425712015-06-06 22:30:40 +0200186 help
187 Say yes here to support the GPIO controller on Axis ETRAX FS SoCs.
188
Linus Walleij223fa272015-04-08 10:08:56 +0200189config GPIO_GE_FPGA
190 bool "GE FPGA based GPIO"
191 depends on GE_FPGA
192 select GPIO_GENERIC
193 help
194 Support for common GPIO functionality provided on some GE Single Board
195 Computers.
196
197 This driver provides basic support (configure as input or output, read
198 and write pin state) for GPIO implemented in a number of GE single
199 board computers.
200
201config GPIO_GENERIC_PLATFORM
202 tristate "Generic memory-mapped GPIO controller support (MMIO platform device)"
203 select GPIO_GENERIC
204 help
205 Say yes here to support basic platform_device memory-mapped GPIO controllers.
206
207config GPIO_GRGPIO
208 tristate "Aeroflex Gaisler GRGPIO support"
209 depends on OF
210 select GPIO_GENERIC
211 select IRQ_DOMAIN
212 help
213 Select this to support Aeroflex Gaisler GRGPIO cores from the GRLIB
214 VHDL IP core library.
215
216config GPIO_ICH
217 tristate "Intel ICH GPIO"
218 depends on PCI && X86
219 select MFD_CORE
220 select LPC_ICH
221 help
222 Say yes here to support the GPIO functionality of a number of Intel
223 ICH-based chipsets. Currently supported devices: ICH6, ICH7, ICH8
224 ICH9, ICH10, Series 5/3400 (eg Ibex Peak), Series 6/C200 (eg
225 Cougar Point), NM10 (Tiger Point), and 3100 (Whitmore Lake).
226
227 If unsure, say N.
228
229config GPIO_IOP
230 tristate "Intel IOP GPIO"
231 depends on ARM && (ARCH_IOP32X || ARCH_IOP33X)
232 help
233 Say yes here to support the GPIO functionality of a number of Intel
234 IOP32X or IOP33X.
235
236 If unsure, say N.
237
Linus Walleij223fa272015-04-08 10:08:56 +0200238config GPIO_LOONGSON
239 bool "Loongson-2/3 GPIO support"
240 depends on CPU_LOONGSON2 || CPU_LOONGSON3
241 help
242 driver for GPIO functionality on Loongson-2F/3A/3B processors.
243
Joachim Eastwood13a43fd2015-05-02 23:11:34 +0200244config GPIO_LPC18XX
Paul Gortmaker54b72992016-06-05 14:23:43 -0400245 tristate "NXP LPC18XX/43XX GPIO support"
Joachim Eastwood13a43fd2015-05-02 23:11:34 +0200246 default y if ARCH_LPC18XX
247 depends on OF_GPIO && (ARCH_LPC18XX || COMPILE_TEST)
248 help
249 Select this option to enable GPIO driver for
250 NXP LPC18XX/43XX devices.
251
Linus Walleij223fa272015-04-08 10:08:56 +0200252config GPIO_LYNXPOINT
253 tristate "Intel Lynxpoint GPIO support"
254 depends on ACPI && X86
255 select GPIOLIB_IRQCHIP
256 help
257 driver for GPIO functionality on Intel Lynxpoint PCH chipset
258 Requires ACPI device enumeration code to set up a platform device.
259
Jassi Brar0da094d2015-01-19 18:35:53 +0800260config GPIO_MB86S7X
261 bool "GPIO support for Fujitsu MB86S7x Platforms"
Axel Lin4fccbbd2016-02-25 13:41:30 +0800262 depends on ARCH_MB86S7X || COMPILE_TEST
Jassi Brar0da094d2015-01-19 18:35:53 +0800263 help
264 Say yes here to support the GPIO controller in Fujitsu MB86S70 SoCs.
Fabian Vogt9af4d802014-02-24 20:54:58 +0100265
Andreas Wernerf436bc22016-02-29 19:44:43 +0100266config GPIO_MENZ127
267 tristate "MEN 16Z127 GPIO support"
268 depends on MCB
269 select GPIO_GENERIC
270 help
271 Say yes here to support the MEN 16Z127 GPIO Controller
272
John Crispin5238f7b2012-05-11 18:48:39 +0200273config GPIO_MM_LANTIQ
274 bool "Lantiq Memory mapped GPIOs"
275 depends on LANTIQ && SOC_XWAY
276 help
277 This enables support for memory mapped GPIOs on the External Bus Unit
278 (EBU) found on Lantiq SoCs. The gpios are output only as they are
279 created by attaching a 16bit latch to the bus.
280
Jonas Jensen0299b772013-11-29 12:11:34 +0100281config GPIO_MOXART
282 bool "MOXART GPIO support"
Axel Lin24030d92016-02-26 16:00:50 +0800283 depends on ARCH_MOXART || COMPILE_TEST
Kamlakant Patel3c01b9a2014-12-01 17:39:34 +0530284 select GPIO_GENERIC
Jonas Jensen0299b772013-11-29 12:11:34 +0100285 help
286 Select this option to enable GPIO driver for
287 MOXA ART SoC devices.
288
Grant Likely6eae1ac2011-07-06 11:54:19 -0600289config GPIO_MPC5200
290 def_bool y
291 depends on PPC_MPC52xx
292
Wolfram Sangc68308d2011-09-21 12:49:20 +0200293config GPIO_MPC8XXX
Liu Gang5df7fd42016-01-12 20:10:09 +0800294 bool "MPC512x/MPC8xxx/QorIQ GPIO support"
Wolfram Sangc68308d2011-09-21 12:49:20 +0200295 depends on PPC_MPC512x || PPC_MPC831x || PPC_MPC834x || PPC_MPC837x || \
Liu Gang5df7fd42016-01-12 20:10:09 +0800296 FSL_SOC_BOOKE || PPC_86xx || ARCH_LAYERSCAPE || ARM || \
297 COMPILE_TEST
298 select GPIO_GENERIC
Arnd Bergmanna8fa91a2016-04-19 14:10:08 +0200299 select IRQ_DOMAIN
Wolfram Sangc68308d2011-09-21 12:49:20 +0200300 help
301 Say Y here if you're going to use hardware that connects to the
Liu Gang5df7fd42016-01-12 20:10:09 +0800302 MPC512x/831x/834x/837x/8572/8610/QorIQ GPIOs.
Wolfram Sangc68308d2011-09-21 12:49:20 +0200303
Thomas Petazzonifefe7b02012-09-19 22:52:58 +0200304config GPIO_MVEBU
305 def_bool y
Andrew Lunn49e928d2012-11-17 17:00:43 +0100306 depends on PLAT_ORION
Gregory CLEMENTbc1008c2012-12-19 12:31:11 +0100307 depends on OF
Thomas Petazzonifefe7b02012-09-19 22:52:58 +0200308 select GENERIC_IRQ_CHIP
309
Shawn Guod37a65b2011-06-06 00:07:54 +0800310config GPIO_MXC
311 def_bool y
312 depends on ARCH_MXC
Grant Likelyc103de22011-06-04 18:38:28 -0600313 select GPIO_GENERIC
Shawn Guoe4ea9332011-06-07 16:25:37 +0800314 select GENERIC_IRQ_CHIP
Grant Likelyc103de22011-06-04 18:38:28 -0600315
316config GPIO_MXS
317 def_bool y
318 depends on ARCH_MXS
Shawn Guo06f88a82011-06-06 22:31:29 +0800319 select GPIO_GENERIC
Shawn Guo498c17c2011-06-07 22:00:54 +0800320 select GENERIC_IRQ_CHIP
Shawn Guod37a65b2011-06-06 00:07:54 +0800321
David Daneyaca58a62013-07-29 14:29:10 -0700322config GPIO_OCTEON
323 tristate "Cavium OCTEON GPIO"
324 depends on GPIOLIB && CAVIUM_OCTEON_SOC
325 default y
326 help
327 Say yes here to support the on-chip GPIO lines on the OCTEON
328 family of SOCs.
329
Javier Martinez Canillascd0a3742014-04-06 16:58:15 +0200330config GPIO_OMAP
Tony Lindgrencac089f2015-04-23 16:56:22 -0700331 tristate "TI OMAP GPIO support" if ARCH_OMAP2PLUS || COMPILE_TEST
Javier Martinez Canillascd0a3742014-04-06 16:58:15 +0200332 default y if ARCH_OMAP
Arnd Bergmann9d5d96e2014-04-28 11:07:03 +0200333 depends on ARM
334 select GENERIC_IRQ_CHIP
Javier Martinez Canillasfb655f52014-04-06 16:58:16 +0200335 select GPIOLIB_IRQCHIP
Javier Martinez Canillascd0a3742014-04-06 16:58:15 +0200336 help
337 Say yes here to enable GPIO support for TI OMAP SoCs.
338
Baruch Siach1e9c2852009-06-18 16:48:58 -0700339config GPIO_PL061
340 bool "PrimeCell PL061 GPIO support"
Rob Herring8a242842013-11-05 21:27:02 -0600341 depends on ARM_AMBA
Axel Lina5d6d272014-02-04 20:39:01 +0800342 select IRQ_DOMAIN
Linus Walleij8d5b24b2014-03-25 10:42:35 +0100343 select GPIOLIB_IRQCHIP
Baruch Siach1e9c2852009-06-18 16:48:58 -0700344 help
345 Say yes here to support the PrimeCell PL061 GPIO device
346
Haojian Zhuang157d2642011-10-17 20:37:52 +0800347config GPIO_PXA
348 bool "PXA GPIO support"
349 depends on ARCH_PXA || ARCH_MMP
350 help
351 Say yes here to support the PXA GPIO device
352
Magnus Damm119f5e42013-03-13 20:32:13 +0900353config GPIO_RCAR
354 tristate "Renesas R-Car GPIO"
Simon Horman2af66e12016-02-23 10:36:51 +0900355 depends on ARCH_RENESAS || COMPILE_TEST
Geert Uytterhoevenc7f3c5d2015-01-12 11:07:59 +0100356 select GPIOLIB_IRQCHIP
Magnus Damm119f5e42013-03-13 20:32:13 +0900357 help
358 Say yes here to support GPIO on Renesas R-Car SoCs.
359
Shiraz Hashimb53bc282012-11-16 10:45:25 +0530360config GPIO_SPEAR_SPICS
361 bool "ST SPEAr13xx SPI Chip Select as GPIO support"
362 depends on PLAT_SPEAR
363 select GENERIC_IRQ_CHIP
364 help
365 Say yes here to support ST SPEAr SPI Chip Select as GPIO device
366
Alessandro Rubini7b0d44f32012-04-12 10:48:55 +0200367config GPIO_STA2X11
368 bool "STA2x11/ConneXt GPIO support"
369 depends on MFD_STA2X11
370 select GENERIC_IRQ_CHIP
371 help
372 Say yes here to support the STA2x11/ConneXt GPIO device.
373 The GPIO module has 128 GPIO pins with alternate functions.
374
Linus Walleijbe9cab52015-04-08 14:51:23 +0200375config GPIO_STP_XWAY
376 bool "XWAY STP GPIOs"
377 depends on SOC_XWAY
378 help
379 This enables support for the Serial To Parallel (STP) unit found on
380 XWAY SoC. The STP allows the SoC to drive a shift registers cascade,
381 that can be up to 24 bit. This peripheral is aimed at driving leds.
382 Some of the gpios/leds can be auto updated by the soc with dsl and
383 phy status.
384
Alexander Shiyan6a8a0c12014-03-11 21:55:14 +0400385config GPIO_SYSCON
386 tristate "GPIO based on SYSCON"
387 depends on MFD_SYSCON && OF
388 help
389 Say yes here to support GPIO functionality though SYSCON driver.
390
Linus Walleij223fa272015-04-08 10:08:56 +0200391config GPIO_TB10X
392 bool
393 select GENERIC_IRQ_CHIP
394 select OF_GPIO
395
Alexander Stein4dd4dd12016-02-24 20:54:32 +0100396config GPIO_TEGRA
Arnd Bergmann0bfb85c2016-07-06 14:54:03 +0200397 bool "NVIDIA Tegra GPIO support"
398 default ARCH_TEGRA
Alexander Stein4dd4dd12016-02-24 20:54:32 +0100399 depends on ARCH_TEGRA || COMPILE_TEST
Arnd Bergmann0bfb85c2016-07-06 14:54:03 +0200400 depends on OF
401 help
402 Say yes here to support GPIO pins on NVIDIA Tegra SoCs.
Alexander Stein4dd4dd12016-02-24 20:54:32 +0100403
Julien Grossholtz5041e792016-01-13 11:57:43 -0500404config GPIO_TS4800
405 tristate "TS-4800 DIO blocks and compatibles"
406 depends on OF_GPIO
Julien Grossholtz6dcfd722016-02-26 18:06:59 -0500407 depends on SOC_IMX51 || COMPILE_TEST
Julien Grossholtz5041e792016-01-13 11:57:43 -0500408 select GPIO_GENERIC
409 help
410 This driver support TS-4800 FPGA GPIO controllers.
411
James Hogan9caf1f22013-06-25 15:27:43 +0100412config GPIO_TZ1090
413 bool "Toumaz Xenif TZ1090 GPIO support"
414 depends on SOC_TZ1090
James Hogan04777392013-06-25 15:27:45 +0100415 select GENERIC_IRQ_CHIP
James Hogan9caf1f22013-06-25 15:27:43 +0100416 default y
417 help
418 Say yes here to support Toumaz Xenif TZ1090 GPIOs.
419
James Hogan79bb6462013-06-25 15:27:44 +0100420config GPIO_TZ1090_PDC
421 bool "Toumaz Xenif TZ1090 PDC GPIO support"
422 depends on SOC_TZ1090
423 default y
424 help
425 Say yes here to support Toumaz Xenif TZ1090 PDC GPIOs.
426
Stefan Agner7f2691a2014-10-16 21:47:58 +0200427config GPIO_VF610
428 def_bool y
429 depends on ARCH_MXC && SOC_VF610
430 select GPIOLIB_IRQCHIP
431 help
432 Say yes here to support Vybrid vf610 GPIOs.
433
Linus Walleij223fa272015-04-08 10:08:56 +0200434config GPIO_VR41XX
435 tristate "NEC VR4100 series General-purpose I/O Uint support"
436 depends on CPU_VR41XX
437 help
438 Say yes here to support the NEC VR4100 series General-purpose I/O Uint
439
440config GPIO_VX855
441 tristate "VIA VX855/VX875 GPIO"
442 depends on PCI
443 select MFD_CORE
444 select MFD_VX855
445 help
446 Support access to the VX855/VX875 GPIO lines through the gpio library.
447
448 This driver provides common support for accessing the device,
449 additional drivers must be enabled in order to use the
450 functionality of the device.
451
Feng Kan29cbf452014-07-31 12:03:25 -0700452config GPIO_XGENE
453 bool "APM X-Gene GPIO controller support"
454 depends on ARM64 && OF_GPIO
455 help
456 This driver is to support the GPIO block within the APM X-Gene SoC
457 platform's generic flash controller. The GPIO pins are muxed with
458 the generic flash controller's address and data pins. Say yes
459 here to enable the GFC GPIO functionality.
460
Y Vob2b35e12015-01-16 14:34:19 +0700461config GPIO_XGENE_SB
462 tristate "APM X-Gene GPIO standby controller support"
463 depends on ARCH_XGENE && OF_GPIO
464 select GPIO_GENERIC
Matthias Bruggere5f7e312016-03-04 11:59:58 +0100465 select GPIOLIB_IRQCHIP
Y Vob2b35e12015-01-16 14:34:19 +0700466 help
467 This driver supports the GPIO block within the APM X-Gene
468 Standby Domain. Say yes here to enable the GPIO functionality.
469
John Linn0bcb6062008-11-12 13:25:38 -0800470config GPIO_XILINX
Ricardo Ribalda Delgadoc54c58b2014-12-17 16:51:10 +0100471 tristate "Xilinx GPIO support"
Soren Brinkmann797867212015-10-22 21:51:18 -0700472 depends on OF_GPIO
John Linn0bcb6062008-11-12 13:25:38 -0800473 help
474 Say yes here to support the Xilinx FPGA GPIO device
475
Kamlakant Patelff718802015-04-28 20:10:45 +0530476config GPIO_XLP
477 tristate "Netlogic XLP GPIO support"
Kamlakant Pateldd987562016-03-24 15:01:40 +0530478 depends on OF_GPIO && (CPU_XLP || ARCH_VULCAN || COMPILE_TEST)
Kamlakant Patelff718802015-04-28 20:10:45 +0530479 select GPIOLIB_IRQCHIP
480 help
481 This driver provides support for GPIO interface on Netlogic XLP MIPS64
482 SoCs. Currently supported XLP variants are XLP8XX, XLP3XX, XLP2XX,
483 XLP9XX and XLP5XX.
484
485 If unsure, say N.
486
Baruch Siach3b31d0e2013-12-12 11:18:41 +0200487config GPIO_XTENSA
488 bool "Xtensa GPIO32 support"
489 depends on XTENSA
Baruch Siacha1a2bde2013-12-18 09:10:29 +0200490 depends on HAVE_XTENSA_GPIO32
Baruch Siach3b31d0e2013-12-12 11:18:41 +0200491 depends on !SMP
492 help
493 Say yes here to support the Xtensa internal GPIO32 IMPWIRE (input)
494 and EXPSTATE (output) ports
495
Linus Walleij223fa272015-04-08 10:08:56 +0200496config GPIO_ZEVIO
497 bool "LSI ZEVIO SoC memory mapped GPIOs"
498 depends on ARM && OF_GPIO
Yoichi Yuasa27fdd322009-06-29 11:11:05 +0900499 help
Linus Walleij223fa272015-04-08 10:08:56 +0200500 Say yes here to support the GPIO controller in LSI ZEVIO SoCs.
Yoichi Yuasa27fdd322009-06-29 11:11:05 +0900501
Linus Walleij223fa272015-04-08 10:08:56 +0200502config GPIO_ZYNQ
503 tristate "Xilinx Zynq GPIO support"
Anurag Kumar Vulishabdf7a4a2015-06-04 17:40:32 +0530504 depends on ARCH_ZYNQ || ARCH_ZYNQMP
Mika Westerberg7f872102014-07-25 09:54:46 +0300505 select GPIOLIB_IRQCHIP
Mathias Nyman1d09aaa2012-12-12 17:42:38 +0200506 help
Linus Walleij223fa272015-04-08 10:08:56 +0200507 Say yes here to support Xilinx Zynq GPIO controller.
Mathias Nyman1d09aaa2012-12-12 17:42:38 +0200508
Linus Walleij09636702015-11-01 10:50:19 +0100509config GPIO_ZX
510 bool "ZTE ZX GPIO support"
511 select GPIOLIB_IRQCHIP
512 help
513 Say yes here to support the GPIO device on ZTE ZX SoCs.
514
Kelvin Cheungbd37c992016-04-06 20:34:53 +0800515config GPIO_LOONGSON1
516 tristate "Loongson1 GPIO support"
517 depends on MACH_LOONGSON32
518 select GPIO_GENERIC
519 help
520 Say Y or M here to support GPIO on Loongson1 SoCs.
521
Linus Walleij177b0382015-04-08 15:11:16 +0200522endmenu
523
Linus Walleijbc6a73b2015-10-30 10:32:19 +0100524menu "Port-mapped I/O GPIO drivers"
Linus Walleij7768feb2015-11-01 10:39:07 +0100525 depends on X86 # Unconditional I/O space access
Linus Walleijbc6a73b2015-10-30 10:32:19 +0100526
William Breathitt Gray1b06d642016-01-20 13:50:11 -0500527config GPIO_104_DIO_48E
528 tristate "ACCES 104-DIO-48E GPIO support"
William Breathitt Grayf4ae9162016-05-27 18:08:56 -0400529 depends on ISA_BUS_API
William Breathitt Gray1b06d642016-01-20 13:50:11 -0500530 select GPIOLIB_IRQCHIP
531 help
William Breathitt Gray4c23db02016-05-01 18:44:39 -0400532 Enables GPIO support for the ACCES 104-DIO-48E series (104-DIO-48E,
533 104-DIO-24E). The base port addresses for the devices may be
534 configured via the base module parameter. The interrupt line numbers
535 for the devices may be configured via the irq module parameter.
William Breathitt Gray1b06d642016-01-20 13:50:11 -0500536
Linus Walleijbc6a73b2015-10-30 10:32:19 +0100537config GPIO_104_IDIO_16
538 tristate "ACCES 104-IDIO-16 GPIO support"
William Breathitt Grayf4ae9162016-05-27 18:08:56 -0400539 depends on ISA_BUS_API
William Breathitt Graya1184142015-11-03 07:54:23 -0500540 select GPIOLIB_IRQCHIP
Linus Walleijbc6a73b2015-10-30 10:32:19 +0100541 help
William Breathitt Gray86ea8a92016-05-01 18:45:11 -0400542 Enables GPIO support for the ACCES 104-IDIO-16 family (104-IDIO-16,
543 104-IDIO-16E, 104-IDO-16, 104-IDIO-8, 104-IDIO-8E, 104-IDO-8). The
544 base port addresses for the devices may be configured via the base
545 module parameter. The interrupt line numbers for the devices may be
546 configured via the irq module parameter.
Linus Walleijbc6a73b2015-10-30 10:32:19 +0100547
William Breathitt Gray6ddcf9b2015-11-23 12:54:50 -0500548config GPIO_104_IDI_48
549 tristate "ACCES 104-IDI-48 GPIO support"
William Breathitt Grayf4ae9162016-05-27 18:08:56 -0400550 depends on ISA_BUS_API
William Breathitt Gray6ddcf9b2015-11-23 12:54:50 -0500551 select GPIOLIB_IRQCHIP
552 help
William Breathitt Gray72bf7442016-05-01 18:44:55 -0400553 Enables GPIO support for the ACCES 104-IDI-48 family (104-IDI-48A,
554 104-IDI-48AC, 104-IDI-48B, 104-IDI-48BC). The base port addresses for
555 the devices may be configured via the base module parameter. The
556 interrupt line numbers for the devices may be configured via the irq
557 module parameter.
William Breathitt Gray6ddcf9b2015-11-23 12:54:50 -0500558
Linus Walleijbc6a73b2015-10-30 10:32:19 +0100559config GPIO_F7188X
Peter Hung1920906f2016-01-22 15:23:33 +0800560 tristate "F71869, F71869A, F71882FG, F71889F and F81866 GPIO support"
Linus Walleijbc6a73b2015-10-30 10:32:19 +0100561 help
562 This option enables support for GPIOs found on Fintek Super-I/O
Peter Hung1920906f2016-01-22 15:23:33 +0800563 chips F71869, F71869A, F71882FG, F71889F and F81866.
Linus Walleijbc6a73b2015-10-30 10:32:19 +0100564
565 To compile this driver as a module, choose M here: the module will
566 be called f7188x-gpio.
567
William Breathitt Gray6ea5dcd2016-08-02 09:57:47 -0400568config GPIO_GPIO_MM
569 tristate "Diamond Systems GPIO-MM GPIO support"
570 depends on ISA_BUS_API
571 help
572 Enables GPIO support for the Diamond Systems GPIO-MM and GPIO-MM-12.
573
574 The Diamond Systems GPIO-MM device features 48 lines of digital I/O
575 via the emulation of dual 82C55A PPI chips. This driver provides GPIO
576 support for these 48 channels of digital I/O.
577
578 The base port addresses for the devices may be configured via the base
579 array module parameter.
580
Linus Walleijbc6a73b2015-10-30 10:32:19 +0100581config GPIO_IT87
582 tristate "IT87xx GPIO support"
Linus Walleijbc6a73b2015-10-30 10:32:19 +0100583 help
584 Say yes here to support GPIO functionality of IT87xx Super I/O chips.
585
586 This driver is tested with ITE IT8728 and IT8732 Super I/O chips, and
Martin Blumenstingl8fccdb52016-03-27 17:43:02 +0200587 supports the IT8761E, IT8620E and IT8628E Super I/O chip as well.
Linus Walleijbc6a73b2015-10-30 10:32:19 +0100588
589 To compile this driver as a module, choose M here: the module will
590 be called gpio_it87
591
592config GPIO_SCH
593 tristate "Intel SCH/TunnelCreek/Centerton/Quark X1000 GPIO"
Linus Walleij7768feb2015-11-01 10:39:07 +0100594 depends on PCI
Linus Walleijbc6a73b2015-10-30 10:32:19 +0100595 select MFD_CORE
596 select LPC_SCH
597 help
598 Say yes here to support GPIO interface on Intel Poulsbo SCH,
599 Intel Tunnel Creek processor, Intel Centerton processor or
600 Intel Quark X1000 SoC.
601
602 The Intel SCH contains a total of 14 GPIO pins. Ten GPIOs are
603 powered by the core power rail and are turned off during sleep
604 modes (S3 and higher). The remaining four GPIOs are powered by
605 the Intel SCH suspend power supply. These GPIOs remain
606 active during S3. The suspend powered GPIOs can be used to wake the
607 system from the Suspend-to-RAM state.
608
609 The Intel Tunnel Creek processor has 5 GPIOs powered by the
610 core power rail and 9 from suspend power supply.
611
612 The Intel Centerton processor has a total of 30 GPIO pins.
613 Twenty-one are powered by the core power rail and 9 from the
614 suspend power supply.
615
616 The Intel Quark X1000 SoC has 2 GPIOs powered by the core
617 power well and 6 from the suspend power well.
618
619config GPIO_SCH311X
620 tristate "SMSC SCH311x SuperI/O GPIO"
621 help
622 Driver to enable the GPIOs found on SMSC SMSC SCH3112, SCH3114 and
623 SCH3116 "Super I/O" chipsets.
624
625 To compile this driver as a module, choose M here: the module will
626 be called gpio-sch311x.
627
628config GPIO_TS5500
629 tristate "TS-5500 DIO blocks and compatibles"
630 depends on TS5500 || COMPILE_TEST
631 help
632 This driver supports Digital I/O exposed by pin blocks found on some
633 Technologic Systems platforms. It includes, but is not limited to, 3
634 blocks of the TS-5500: DIO1, DIO2 and the LCD port, and the TS-5600
635 LCD port.
636
William Breathitt Gray9c26df92016-01-20 13:45:33 -0500637config GPIO_WS16C48
638 tristate "WinSystems WS16C48 GPIO support"
William Breathitt Grayf4ae9162016-05-27 18:08:56 -0400639 depends on ISA_BUS_API
William Breathitt Gray9c26df92016-01-20 13:45:33 -0500640 select GPIOLIB_IRQCHIP
641 help
William Breathitt Graycc736602016-05-01 18:45:24 -0400642 Enables GPIO support for the WinSystems WS16C48. The base port
643 addresses for the devices may be configured via the base module
644 parameter. The interrupt line numbers for the devices may be
645 configured via the irq module parameter.
William Breathitt Gray9c26df92016-01-20 13:45:33 -0500646
Linus Walleijbc6a73b2015-10-30 10:32:19 +0100647endmenu
648
Linus Walleij177b0382015-04-08 15:11:16 +0200649menu "I2C GPIO expanders"
650 depends on I2C
David Brownella9c5fff2008-02-04 22:28:17 -0800651
Linus Walleijbf5a16b2015-04-08 14:14:40 +0200652config GPIO_ADP5588
653 tristate "ADP5588 I2C GPIO expander"
Mark Brown31ba56f2012-06-23 13:29:25 +0100654 help
Linus Walleijbf5a16b2015-04-08 14:14:40 +0200655 This option enables support for 18 GPIOs found
656 on Analog Devices ADP5588 GPIO Expanders.
Wolfram Sange9528052010-03-05 13:44:33 -0800657
Linus Walleijbf5a16b2015-04-08 14:14:40 +0200658config GPIO_ADP5588_IRQ
659 bool "Interrupt controller support for ADP5588"
660 depends on GPIO_ADP5588=y
Eric Miaobbcd6d52008-07-25 01:46:14 -0700661 help
Linus Walleijbf5a16b2015-04-08 14:14:40 +0200662 Say yes here to enable the adp5588 to be used as an interrupt
663 controller. It requires the driver to be built in the kernel.
David Brownella9c5fff2008-02-04 22:28:17 -0800664
Linus Walleijbf5a16b2015-04-08 14:14:40 +0200665config GPIO_ADNP
666 tristate "Avionic Design N-bit GPIO expander"
Linus Walleij269a46f2015-11-01 10:43:16 +0100667 depends on OF_GPIO
Zhu, Lejun104fb1d2014-06-03 13:26:04 +0800668 select GPIOLIB_IRQCHIP
669 help
Linus Walleijbf5a16b2015-04-08 14:14:40 +0200670 This option enables support for N GPIOs found on Avionic Design
671 I2C GPIO expanders. The register space will be extended by powers
672 of two, so the controller will need to accommodate for that. For
673 example: if a controller provides 48 pins, 6 registers will be
674 enough to represent all pins, but the driver will assume a
675 register layout for 64 pins (8 registers).
Milo Kim0cc59b92013-12-06 11:18:42 +0900676
David Brownella9c5fff2008-02-04 22:28:17 -0800677config GPIO_MAX7300
Eric Miaobbcd6d52008-07-25 01:46:14 -0700678 tristate "Maxim MAX7300 GPIO expander"
Eric Miaobbcd6d52008-07-25 01:46:14 -0700679 select GPIO_MAX730X
680 help
Axel Lin2b861f42013-05-19 14:25:48 +0800681 GPIO driver for Maxim MAX7300 I2C-based GPIO expander.
David Brownella9c5fff2008-02-04 22:28:17 -0800682
Eric Miaobbcd6d52008-07-25 01:46:14 -0700683config GPIO_MAX732X
684 tristate "MAX7319, MAX7320-7327 I2C Port Expanders"
Eric Miaobbcd6d52008-07-25 01:46:14 -0700685 help
686 Say yes here to support the MAX7319, MAX7320-7327 series of I2C
687 Port Expanders. Each IO port on these chips has a fixed role of
688 Input (designated by 'I'), Push-Pull Output ('O'), or Open-Drain
689 Input and Output (designed by 'P'). The combinations are listed
690 below:
691
692 8 bits: max7319 (8I), max7320 (8O), max7321 (8P),
693 max7322 (4I4O), max7323 (4P4O)
694
695 16 bits: max7324 (8I8O), max7325 (8P8O),
696 max7326 (4I12O), max7327 (4P12O)
697
698 Board setup code must specify the model to use, and the start
699 number for these GPIOs.
700
Marc Zyngiera80a0bb2010-05-26 14:42:16 -0700701config GPIO_MAX732X_IRQ
702 bool "Interrupt controller support for MAX732x"
Martin Schwidefsky0244ad02013-08-30 09:39:53 +0200703 depends on GPIO_MAX732X=y
Linus Walleij984f6642015-01-30 11:32:01 +0100704 select GPIOLIB_IRQCHIP
Marc Zyngiera80a0bb2010-05-26 14:42:16 -0700705 help
706 Say yes here to enable the max732x to be used as an interrupt
707 controller. It requires the driver to be built in the kernel.
708
wu guoxing608589b2012-01-30 14:31:20 +0800709config GPIO_MC9S08DZ60
710 bool "MX35 3DS BOARD MC9S08DZ60 GPIO functions"
Axel Lin4c30aa32012-08-29 09:35:24 +0800711 depends on I2C=y && MACH_MX35_3DS
wu guoxing608589b2012-01-30 14:31:20 +0800712 help
713 Select this to enable the MC9S08DZ60 GPIO driver
714
Guennadi Liakhovetskif3dc3632008-02-06 01:39:03 -0800715config GPIO_PCA953X
Aaron Sierraeb32b5a2014-02-13 13:59:23 +0100716 tristate "PCA95[357]x, PCA9698, TCA64xx, and MAX7310 I/O ports"
eric miao9e60fdc2008-02-04 22:28:26 -0800717 help
David Brownell7059d4b2008-07-04 09:59:37 -0700718 Say yes here to provide access to several register-oriented
719 SMBus I/O expanders, made mostly by NXP or TI. Compatible
720 models include:
721
722 4 bits: pca9536, pca9537
723
Axel Linc29985d2012-04-06 17:11:46 +0800724 8 bits: max7310, max7315, pca6107, pca9534, pca9538, pca9554,
Aaron Sierrae73760a2014-02-07 16:36:21 -0600725 pca9556, pca9557, pca9574, tca6408, xra1202
David Brownell7059d4b2008-07-04 09:59:37 -0700726
Axel Linc29985d2012-04-06 17:11:46 +0800727 16 bits: max7312, max7313, pca9535, pca9539, pca9555, pca9575,
728 tca6416
eric miao9e60fdc2008-02-04 22:28:26 -0800729
Aaron Sierra1e191692014-02-07 16:35:48 -0600730 24 bits: tca6424
731
Aaron Sierraeb32b5a2014-02-13 13:59:23 +0100732 40 bits: pca9505, pca9698
Aaron Sierra1e191692014-02-07 16:35:48 -0600733
Marc Zyngier89ea8bb2010-03-05 13:44:36 -0800734config GPIO_PCA953X_IRQ
735 bool "Interrupt controller support for PCA953x"
736 depends on GPIO_PCA953X=y
Linus Walleij7bcbce52014-05-09 13:27:57 +0200737 select GPIOLIB_IRQCHIP
Marc Zyngier89ea8bb2010-03-05 13:44:36 -0800738 help
739 Say yes here to enable the pca953x to be used as an interrupt
740 controller. It requires the driver to be built in the kernel.
741
David Brownell15fae372008-02-04 22:28:24 -0800742config GPIO_PCF857X
David Brownell1673ad52008-07-21 14:21:34 -0700743 tristate "PCF857x, PCA{85,96}7x, and MAX732[89] I2C GPIO expanders"
Geert Uytterhoevena39294b2015-02-05 16:49:08 +0100744 select GPIOLIB_IRQCHIP
Arnd Bergmann901acf52012-09-28 23:36:15 +0200745 select IRQ_DOMAIN
David Brownell15fae372008-02-04 22:28:24 -0800746 help
747 Say yes here to provide access to most "quasi-bidirectional" I2C
748 GPIO expanders used for additional digital outputs or inputs.
749 Most of these parts are from NXP, though TI is a second source for
750 some of them. Compatible models include:
751
752 8 bits: pcf8574, pcf8574a, pca8574, pca8574a,
David Brownell1673ad52008-07-21 14:21:34 -0700753 pca9670, pca9672, pca9674, pca9674a,
754 max7328, max7329
David Brownell15fae372008-02-04 22:28:24 -0800755
756 16 bits: pcf8575, pcf8575c, pca8575,
757 pca9671, pca9673, pca9675
758
759 Your board setup code will need to declare the expanders in
760 use, and assign numbers to the GPIOs they expose. Those GPIOs
761 can then be used from drivers and other kernel code, just like
762 other GPIOs, but only accessible from task contexts.
763
764 This driver provides an in-kernel interface to those GPIOs using
765 platform-neutral GPIO calls.
766
Gregory Beanc34f16b2010-08-10 18:02:27 -0700767config GPIO_SX150X
768 bool "Semtech SX150x I2C GPIO expander"
769 depends on I2C=y
Wei Chen093e9432014-12-04 20:12:08 +0800770 select GPIOLIB_IRQCHIP
Gregory Beanc34f16b2010-08-10 18:02:27 -0700771 default n
772 help
773 Say yes here to provide support for Semtech SX150-series I2C
774 GPIO expanders. Compatible models include:
775
776 8 bits: sx1508q
777 16 bits: sx1509q
778
Andrew F. Davisb8665262016-01-25 10:14:12 -0600779config GPIO_TPIC2810
780 tristate "TPIC2810 8-Bit I2C GPO expander"
781 help
782 Say yes here to enable the GPO driver for the TI TPIC2810 chip.
783
784 To compile this driver as a module, choose M here: the module will
785 be called gpio-tpic2810.
786
Lucile Quirion9c668632016-08-12 11:16:49 -0400787config GPIO_TS4900
788 tristate "Technologic Systems FPGA I2C GPIO"
789 select REGMAP_I2C
790 help
791 Say yes here to enabled the GPIO driver for Technologic's FPGA core.
792 Series supported include TS-4100, TS-4900, TS-7970 and TS-7990.
793
Linus Walleij177b0382015-04-08 15:11:16 +0200794endmenu
795
796menu "MFD GPIO expanders"
Linus Walleijbe9cab52015-04-08 14:51:23 +0200797
798config GPIO_ADP5520
799 tristate "GPIO Support for ADP5520 PMIC"
800 depends on PMIC_ADP5520
801 help
802 This option enables support for on-chip GPIO found
803 on Analog Devices ADP5520 PMICs.
804
805config GPIO_ARIZONA
806 tristate "Wolfson Microelectronics Arizona class devices"
807 depends on MFD_ARIZONA
808 help
809 Support for GPIOs on Wolfson Arizona class devices.
810
811config GPIO_CRYSTAL_COVE
812 tristate "GPIO support for Crystal Cove PMIC"
813 depends on INTEL_SOC_PMIC
814 select GPIOLIB_IRQCHIP
815 help
816 Support for GPIO pins on Crystal Cove PMIC.
817
818 Say Yes if you have a Intel SoC based tablet with Crystal Cove PMIC
819 inside.
820
821 This driver can also be built as a module. If so, the module will be
822 called gpio-crystalcove.
823
824config GPIO_CS5535
825 tristate "AMD CS5535/CS5536 GPIO support"
826 depends on MFD_CS5535
827 help
828 The AMD CS5535 and CS5536 southbridges support 28 GPIO pins that
829 can be used for quite a number of things. The CS5535/6 is found on
830 AMD Geode and Lemote Yeeloong devices.
831
832 If unsure, say N.
833
834config GPIO_DA9052
835 tristate "Dialog DA9052 GPIO"
836 depends on PMIC_DA9052
837 help
838 Say yes here to enable the GPIO driver for the DA9052 chip.
839
840config GPIO_DA9055
841 tristate "Dialog Semiconductor DA9055 GPIO"
842 depends on MFD_DA9055
843 help
844 Say yes here to enable the GPIO driver for the DA9055 chip.
845
846 The Dialog DA9055 PMIC chip has 3 GPIO pins that can be
847 be controller by this driver.
848
849 If driver is built as a module it will be called gpio-da9055.
850
851config GPIO_DLN2
852 tristate "Diolan DLN2 GPIO support"
853 depends on MFD_DLN2
854 select GPIOLIB_IRQCHIP
855
856 help
857 Select this option to enable GPIO driver for the Diolan DLN2
858 board.
859
860 This driver can also be built as a module. If so, the module
861 will be called gpio-dln2.
862
863config GPIO_JANZ_TTL
864 tristate "Janz VMOD-TTL Digital IO Module"
865 depends on MFD_JANZ_CMODIO
866 help
867 This enables support for the Janz VMOD-TTL Digital IO module.
868 This driver provides support for driving the pins in output
869 mode only. Input mode is not supported.
870
871config GPIO_KEMPLD
872 tristate "Kontron ETX / COMexpress GPIO"
873 depends on MFD_KEMPLD
874 help
875 This enables support for the PLD GPIO interface on some Kontron ETX
876 and COMexpress (ETXexpress) modules.
877
878 This driver can also be built as a module. If so, the module will be
879 called gpio-kempld.
880
881config GPIO_LP3943
882 tristate "TI/National Semiconductor LP3943 GPIO expander"
883 depends on MFD_LP3943
884 help
885 GPIO driver for LP3943 MFD.
886 LP3943 can be used as a GPIO expander which provides up to 16 GPIOs.
887 Open drain outputs are required for this usage.
888
Laxman Dewangan02c5ba12016-05-13 10:49:14 +0530889config GPIO_MAX77620
890 tristate "GPIO support for PMIC MAX77620 and MAX20024"
891 depends on MFD_MAX77620
892 help
893 GPIO driver for MAX77620 and MAX20024 PMIC from Maxim Semiconductor.
894 MAX77620 PMIC has 8 pins that can be configured as GPIOs. The
895 driver also provides interrupt support for each of the gpios.
896 Say yes here to enable the max77620 to be used as gpio controller.
897
Linus Walleijbe9cab52015-04-08 14:51:23 +0200898config GPIO_MSIC
899 bool "Intel MSIC mixed signal gpio support"
900 depends on MFD_INTEL_MSIC
901 help
902 Enable support for GPIO on intel MSIC controllers found in
903 intel MID devices
904
905config GPIO_PALMAS
906 bool "TI PALMAS series PMICs GPIO"
907 depends on MFD_PALMAS
908 help
909 Select this option to enable GPIO driver for the TI PALMAS
910 series chip family.
911
David Brownella9c5fff2008-02-04 22:28:17 -0800912config GPIO_RC5T583
913 bool "RICOH RC5T583 GPIO"
914 depends on MFD_RC5T583
915 help
916 Select this option to enable GPIO driver for the Ricoh RC5T583
917 chip family.
918 This driver provides the support for driving/reading the gpio pins
919 of RC5T583 device through standard gpio library.
920
Rabin Vincent03f822f2010-07-02 16:52:09 +0530921config GPIO_STMPE
922 bool "STMPE GPIOs"
923 depends on MFD_STMPE
Linus Walleij1dfb4a02015-01-13 08:00:29 +0100924 depends on OF_GPIO
Linus Walleijfe44e702014-04-15 23:38:56 +0200925 select GPIOLIB_IRQCHIP
Rabin Vincent03f822f2010-07-02 16:52:09 +0530926 help
927 This enables support for the GPIOs found on the STMPE I/O
928 Expanders.
929
Sundar Iyerf4e8afd2010-12-13 09:33:13 +0530930config GPIO_TC3589X
931 bool "TC3589X GPIOs"
932 depends on MFD_TC3589X
Linus Walleij14227312015-03-19 15:52:45 +0100933 depends on OF_GPIO
Linus Walleijcf42f1c2014-04-09 13:38:33 +0200934 select GPIOLIB_IRQCHIP
Rabin Vincentd88b25b2010-05-10 23:43:47 +0200935 help
Sundar Iyerf4e8afd2010-12-13 09:33:13 +0530936 This enables support for the GPIOs found on the TC3589X
Rabin Vincentd88b25b2010-05-10 23:43:47 +0200937 I/O Expander.
938
Linus Walleijbe9cab52015-04-08 14:51:23 +0200939config GPIO_TIMBERDALE
940 bool "Support for timberdale GPIO IP"
941 depends on MFD_TIMBERDALE
942 ---help---
943 Add support for the GPIO IP in the timberdale FPGA.
944
Andrew F. Davis99f0fd52016-02-06 10:12:10 -0600945config GPIO_TPS65086
946 tristate "TI TPS65086 GPO"
947 depends on MFD_TPS65086
948 help
949 This driver supports the GPO on TI TPS65086x PMICs.
950
Nicolas Saenz Juliennec366c762016-01-30 17:06:44 +0000951config GPIO_TPS65218
952 tristate "TPS65218 GPIO"
953 depends on MFD_TPS65218
954 help
955 Select this option to enable GPIO driver for the TPS65218
956 chip family.
957
Linus Walleijbe9cab52015-04-08 14:51:23 +0200958config GPIO_TPS6586X
959 bool "TPS6586X GPIO"
960 depends on MFD_TPS6586X
961 help
962 Select this option to enable GPIO driver for the TPS6586X
963 chip family.
964
965config GPIO_TPS65910
966 bool "TPS65910 GPIO"
967 depends on MFD_TPS65910
968 help
969 Select this option to enable GPIO driver for the TPS65910
970 chip family.
971
Margarita Olaya668a6cc2011-06-09 14:50:19 -0500972config GPIO_TPS65912
973 tristate "TI TPS65912 GPIO"
Andrew F. Davisca801a22016-01-25 09:43:47 -0600974 depends on MFD_TPS65912
Margarita Olaya668a6cc2011-06-09 14:50:19 -0500975 help
976 This driver supports TPS65912 gpio chip
977
David Brownelle9d359472008-10-20 23:51:46 +0200978config GPIO_TWL4030
979 tristate "TWL4030, TWL5030, and TPS659x0 GPIOs"
980 depends on TWL4030_CORE
981 help
982 Say yes here to access the GPIO signals of various multi-function
983 power management chips from Texas Instruments.
984
Peter Ujfalusi70ffd692012-08-16 15:13:15 +0300985config GPIO_TWL6040
986 tristate "TWL6040 GPO"
987 depends on TWL6040_CORE
988 help
989 Say yes here to access the GPO signals of twl6040
990 audio chip from Texas Instruments.
991
Linus Walleijbe9cab52015-04-08 14:51:23 +0200992config GPIO_UCB1400
993 tristate "Philips UCB1400 GPIO"
994 depends on UCB1400_CORE
995 help
996 This enables support for the Philips UCB1400 GPIO pins.
997 The UCB1400 is an AC97 audio codec.
998
Bin Gao0ba19cf2016-07-25 14:59:38 -0700999config GPIO_WHISKEY_COVE
1000 tristate "GPIO support for Whiskey Cove PMIC"
1001 depends on INTEL_SOC_PMIC
1002 select GPIOLIB_IRQCHIP
1003 help
1004 Support for GPIO pins on Whiskey Cove PMIC.
1005
1006 Say Yes if you have a Intel SoC based tablet with Whiskey Cove PMIC
1007 inside.
1008
1009 This driver can also be built as a module. If so, the module will be
1010 called gpio-wcove.
1011
Mark Browne4b736f2009-07-27 14:46:00 +01001012config GPIO_WM831X
1013 tristate "WM831x GPIOs"
1014 depends on MFD_WM831X
1015 help
1016 Say yes here to access the GPIO signals of WM831x power management
1017 chips from Wolfson Microelectronics.
1018
Mark Brown38f6ce42010-01-07 16:10:08 +00001019config GPIO_WM8350
1020 tristate "WM8350 GPIOs"
1021 depends on MFD_WM8350
1022 help
1023 Say yes here to access the GPIO signals of WM8350 power management
1024 chips from Wolfson Microelectronics.
1025
Mark Brown2955c302010-01-29 18:20:30 +00001026config GPIO_WM8994
1027 tristate "WM8994 GPIOs"
1028 depends on MFD_WM8994
1029 help
1030 Say yes here to access the GPIO signals of WM8994 audio hub
1031 CODECs from Wolfson Microelectronics.
1032
Linus Walleij177b0382015-04-08 15:11:16 +02001033endmenu
1034
1035menu "PCI GPIO expanders"
1036 depends on PCI
Michael Bueschff1d5c22008-07-25 01:46:10 -07001037
Linus Walleij92c33ef2015-04-08 14:30:37 +02001038config GPIO_AMD8111
1039 tristate "AMD 8111 GPIO driver"
Michael Bueschff1d5c22008-07-25 01:46:10 -07001040 help
Linus Walleij92c33ef2015-04-08 14:30:37 +02001041 The AMD 8111 south bridge contains 32 GPIO pins which can be used.
Andres Salomon5f0a96b2009-12-14 18:00:32 -08001042
Linus Walleij92c33ef2015-04-08 14:30:37 +02001043 Note, that usually system firmware/ACPI handles GPIO pins on their
1044 own and users might easily break their systems with uncarefull usage
1045 of this driver!
Michael Bueschff1d5c22008-07-25 01:46:10 -07001046
Linus Walleij92c33ef2015-04-08 14:30:37 +02001047 If unsure, say N
Andres Salomon5f0a96b2009-12-14 18:00:32 -08001048
Michael Bueschff1d5c22008-07-25 01:46:10 -07001049config GPIO_BT8XX
1050 tristate "BT8XX GPIO abuser"
Andrew F. Davis03744522015-12-06 14:52:45 -06001051 depends on VIDEO_BT848=n
Michael Bueschff1d5c22008-07-25 01:46:10 -07001052 help
Geert Uytterhoeven22520ed2014-03-11 11:23:44 +01001053 The BT8xx frame grabber chip has 24 GPIO pins that can be abused
Michael Bueschff1d5c22008-07-25 01:46:10 -07001054 as a cheap PCI GPIO card.
1055
1056 This chip can be found on Miro, Hauppauge and STB TV-cards.
1057
1058 The card needs to be physically altered for using it as a
1059 GPIO card. For more information on how to build a GPIO card
1060 from a BT8xx TV card, see the documentation file at
1061 Documentation/bt8xxgpio.txt
1062
1063 If unsure, say N.
1064
David Cohen84743ea2013-10-04 13:01:41 -07001065config GPIO_INTEL_MID
Andy Shevchenkoc78e3cf2016-07-07 23:45:08 +03001066 bool "Intel MID GPIO support"
1067 depends on X86_INTEL_MID
Linus Walleijfc346272014-05-29 16:52:46 +02001068 select GPIOLIB_IRQCHIP
Alek Du8bf02612009-09-22 16:46:36 -07001069 help
Andy Shevchenkoc78e3cf2016-07-07 23:45:08 +03001070 Say Y here to support Intel MID GPIO.
Alek Du8bf02612009-09-22 16:46:36 -07001071
Andy Shevchenkoccf6fd62016-07-08 14:08:23 +03001072config GPIO_MERRIFIELD
1073 tristate "Intel Merrifield GPIO support"
1074 depends on X86_INTEL_MID
1075 select GPIOLIB_IRQCHIP
1076 help
1077 Say Y here to support Intel Merrifield GPIO.
Juergen Beisert0c36ec32008-07-21 14:21:34 -07001078
Linus Walleij92c33ef2015-04-08 14:30:37 +02001079config GPIO_ML_IOH
1080 tristate "OKI SEMICONDUCTOR ML7213 IOH GPIO support"
Linus Walleij92c33ef2015-04-08 14:30:37 +02001081 select GENERIC_IRQ_CHIP
1082 help
1083 ML7213 is companion chip for Intel Atom E6xx series.
1084 This driver can be used for OKI SEMICONDUCTOR ML7213 IOH(Input/Output
1085 Hub) which is for IVI(In-Vehicle Infotainment) use.
1086 This driver can access the IOH's GPIO device.
1087
Tomoya MORINAGA04c17aa82010-10-27 15:33:21 -07001088config GPIO_PCH
Tomoya MORINAGA868fea02011-10-28 09:23:32 +09001089 tristate "Intel EG20T PCH/LAPIS Semiconductor IOH(ML7223/ML7831) GPIO"
Andrew F. Davis03744522015-12-06 14:52:45 -06001090 depends on X86_32 || MIPS || COMPILE_TEST
Tomoya MORINAGA38eb18a2011-07-21 09:19:59 +09001091 select GENERIC_IRQ_CHIP
Tomoya MORINAGA04c17aa82010-10-27 15:33:21 -07001092 help
1093 This driver is for PCH(Platform controller Hub) GPIO of Intel Topcliff
1094 which is an IOH(Input/Output Hub) for x86 embedded processor.
1095 This driver can access PCH GPIO device.
1096
Tomoya MORINAGA868fea02011-10-28 09:23:32 +09001097 This driver also can be used for LAPIS Semiconductor IOH(Input/
1098 Output Hub), ML7223 and ML7831.
Tomoya MORINAGAbc786cc2011-05-09 19:58:49 +09001099 ML7223 IOH is for MP(Media Phone) use.
Tomoya MORINAGA868fea02011-10-28 09:23:32 +09001100 ML7831 IOH is for general purpose use.
1101 ML7223/ML7831 is companion chip for Intel Atom E6xx series.
1102 ML7223/ML7831 is completely compatible for Intel EG20T PCH.
Tomoya MORINAGAbc786cc2011-05-09 19:58:49 +09001103
Florian Fainelli9956d022010-03-21 01:06:09 +01001104config GPIO_RDC321X
1105 tristate "RDC R-321x GPIO support"
Randy Dunlape4be3cb2010-05-11 13:24:20 -07001106 select MFD_CORE
Florian Fainelli9956d022010-03-21 01:06:09 +01001107 select MFD_RDC321X
1108 help
1109 Support for the RDC R321x SoC GPIOs over southbridge
1110 PCI configuration space.
1111
Richard Röjfors35570ac2009-12-15 16:46:18 -08001112config GPIO_SODAVILLE
David Brownella9c5fff2008-02-04 22:28:17 -08001113 bool "Intel Sodaville GPIO support"
Andrew F. Davis03744522015-12-06 14:52:45 -06001114 depends on X86 && OF
Juergen Beisert0c36ec32008-07-21 14:21:34 -07001115 select GPIO_GENERIC
1116 select GENERIC_IRQ_CHIP
Wolfram Sange9528052010-03-05 13:44:33 -08001117 help
Juergen Beisert0c36ec32008-07-21 14:21:34 -07001118 Say Y here to support Intel Sodaville GPIO.
Wolfram Sange9528052010-03-05 13:44:33 -08001119
Linus Walleij177b0382015-04-08 15:11:16 +02001120endmenu
David Brownelle58b9e22008-02-04 22:28:25 -08001121
Linus Walleij177b0382015-04-08 15:11:16 +02001122menu "SPI GPIO expanders"
1123 depends on SPI_MASTER
David Brownelle58b9e22008-02-04 22:28:25 -08001124
Linus Walleija7ec2e72015-04-08 14:34:51 +02001125config GPIO_74X164
1126 tristate "74x164 serial-in/parallel-out 8-bits shift register"
Linus Walleij09636702015-11-01 10:50:19 +01001127 depends on OF
Linus Walleija7ec2e72015-04-08 14:34:51 +02001128 help
1129 Driver for 74x164 compatible serial-in/parallel-out 8-outputs
1130 shift registers. This driver can be used to provide access
1131 to more gpio outputs.
David Brownelle58b9e22008-02-04 22:28:25 -08001132
1133config GPIO_MAX7301
1134 tristate "Maxim MAX7301 GPIO expander"
Richard Röjfors1e5db002009-09-22 16:46:34 -07001135 select GPIO_MAX730X
1136 help
1137 GPIO driver for Maxim MAX7301 SPI-based GPIO expander.
1138
Linus Walleij09636702015-11-01 10:50:19 +01001139config GPIO_MC33880
1140 tristate "Freescale MC33880 high-side/low-side switch"
1141 help
1142 SPI driver for Freescale MC33880 high-side/low-side switch.
1143 This provides GPIO interface supporting inputs and outputs.
1144
Andrew F. Davisdf6df932016-01-25 10:37:31 -06001145config GPIO_PISOSR
1146 tristate "Generic parallel-in/serial-out shift register"
1147 help
1148 GPIO driver for SPI compatible parallel-in/serial-out shift
1149 registers. These are input only devices.
1150
Linus Walleij09636702015-11-01 10:50:19 +01001151endmenu
1152
1153menu "SPI or I2C GPIO expanders"
1154 depends on (SPI_MASTER && !I2C) || I2C
1155
David Brownelle58b9e22008-02-04 22:28:25 -08001156config GPIO_MCP23S08
Peter Korsgaard752ad5e2011-07-15 10:25:32 +02001157 tristate "Microchip MCP23xxx I/O expander"
Phil Reiddad3d272016-03-18 16:07:06 +08001158 select GPIOLIB_IRQCHIP
David Brownelle58b9e22008-02-04 22:28:25 -08001159 help
Peter Korsgaard752ad5e2011-07-15 10:25:32 +02001160 SPI/I2C driver for Microchip MCP23S08/MCP23S17/MCP23008/MCP23017
1161 I/O expanders.
Peter Korsgaard0b7bb772011-03-09 17:56:30 +01001162 This provides a GPIO interface supporting inputs and outputs.
Lars Poeschel4e47f912014-01-16 11:44:15 +01001163 The I2C versions of the chips can be used as interrupt-controller.
David Brownelle58b9e22008-02-04 22:28:25 -08001164
Linus Walleij177b0382015-04-08 15:11:16 +02001165endmenu
Miguel Gaioead6db082010-10-27 15:33:18 -07001166
Linus Walleij177b0382015-04-08 15:11:16 +02001167menu "USB GPIO expanders"
1168 depends on USB
Lars Poeschel9d5b72d2012-11-05 15:48:24 +01001169
1170config GPIO_VIPERBOARD
1171 tristate "Viperboard GPIO a & b support"
Andrew F. Davis03744522015-12-06 14:52:45 -06001172 depends on MFD_VIPERBOARD
Lars Poeschel9d5b72d2012-11-05 15:48:24 +01001173 help
1174 Say yes here to access the GPIO signals of Nano River
1175 Technologies Viperboard. There are two GPIO chips on the
1176 board: gpioa and gpiob.
1177 See viperboard API specification and Nano
1178 River Tech's viperboard.h for detailed meaning
1179 of the module parameters.
1180
Linus Walleij177b0382015-04-08 15:11:16 +02001181endmenu
Daniel Baluta67321272014-11-06 15:48:05 +02001182
Michael Buesch7444a722008-07-25 01:46:11 -07001183endif