blob: 5060064acd4550119e2ec0e0e16932041414c49b [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"
Michael Buesch7444a722008-07-25 01:46:11 -070015 help
16 This enables GPIO support through the generic GPIO library.
17 You only need to enable this, if you also want to enable
Linus Walleije849dc02011-05-20 00:40:19 -060018 one or more of the GPIO drivers below.
Michael Buesch7444a722008-07-25 01:46:11 -070019
20 If unsure, say N.
21
22if GPIOLIB
David Brownella9c5fff2008-02-04 22:28:17 -080023
Grant Likelyf141ed62012-04-07 14:31:33 -060024config OF_GPIO
25 def_bool y
Linus Walleij92c74bc2016-07-05 08:46:43 +020026 depends on OF
Linus Walleij2527ecc2016-08-16 09:58:25 +020027 depends on HAS_IOMEM
Grant Likelyf141ed62012-04-07 14:31:33 -060028
Mathias Nymane29482e2012-11-30 12:37:36 +010029config GPIO_ACPI
30 def_bool y
31 depends on ACPI
32
Linus Walleij14250522014-03-25 10:40:18 +010033config GPIOLIB_IRQCHIP
Linus Walleijfc346272014-05-29 16:52:46 +020034 select IRQ_DOMAIN
Linus Walleij14250522014-03-25 10:40:18 +010035 bool
36
David Brownella9c5fff2008-02-04 22:28:17 -080037config DEBUG_GPIO
38 bool "Debug GPIO calls"
39 depends on DEBUG_KERNEL
40 help
41 Say Y here to add some extra checks and diagnostics to GPIO calls.
Matt LaPlante692105b2009-01-26 11:12:25 +010042 These checks help ensure that GPIOs have been properly initialized
43 before they are used, and that sleeping calls are not made from
44 non-sleeping contexts. They can make bitbanged serial protocols
David Brownella9c5fff2008-02-04 22:28:17 -080045 slower. The diagnostics help catch the type of setup errors
46 that are most common when setting up new platforms or boards.
47
David Brownelld8f388d2008-07-25 01:46:07 -070048config GPIO_SYSFS
49 bool "/sys/class/gpio/... (sysfs interface)"
Kees Cook4c0ea232013-01-16 18:53:32 -080050 depends on SYSFS
David Brownelld8f388d2008-07-25 01:46:07 -070051 help
52 Say Y here to add a sysfs interface for GPIOs.
53
54 This is mostly useful to work around omissions in a system's
55 kernel support. Those are common in custom and semicustom
56 hardware assembled using standard kernels with a minimum of
57 custom patches. In those cases, userspace code may import
58 a given GPIO from the kernel, if no kernel driver requested it.
59
60 Kernel drivers may also request that a particular GPIO be
61 exported to userspace; this can be useful when debugging.
62
Grant Likelyc103de22011-06-04 18:38:28 -060063config GPIO_GENERIC
Linus Walleij3085a4a2016-10-03 09:46:58 +020064 depends on HAS_IOMEM # Only for IOMEM drivers
Grant Likelyc103de22011-06-04 18:38:28 -060065 tristate
66
Linus Walleije849dc02011-05-20 00:40:19 -060067# put drivers in the right section, in alphabetical order
David Brownella9c5fff2008-02-04 22:28:17 -080068
Linus Walleij177b0382015-04-08 15:11:16 +020069# This symbol is selected by both I2C and SPI expanders
Wolfram Sange9528052010-03-05 13:44:33 -080070config GPIO_MAX730X
71 tristate
72
Linus Walleij177b0382015-04-08 15:11:16 +020073menu "Memory mapped GPIO drivers"
Linus Walleij3085a4a2016-10-03 09:46:58 +020074 depends on HAS_IOMEM
John Linn0bcb6062008-11-12 13:25:38 -080075
Alexander Shiyanaf0a33e2014-10-03 11:31:57 +040076config GPIO_74XX_MMIO
77 tristate "GPIO driver for 74xx-ICs with MMIO access"
78 depends on OF_GPIO
79 select GPIO_GENERIC
80 help
81 Say yes here to support GPIO functionality for 74xx-compatible ICs
82 with MMIO access. Compatible models include:
83 1 bit: 741G125 (Input), 741G74 (Output)
84 2 bits: 742G125 (Input), 7474 (Output)
85 4 bits: 74125 (Input), 74175 (Output)
86 6 bits: 74365 (Input), 74174 (Output)
87 8 bits: 74244 (Input), 74273 (Output)
88 16 bits: 741624 (Input), 7416374 (Output)
89
Linus Walleij223fa272015-04-08 10:08:56 +020090config GPIO_ALTERA
91 tristate "Altera GPIO"
92 depends on OF_GPIO
Linus Walleij223fa272015-04-08 10:08:56 +020093 select GPIOLIB_IRQCHIP
94 help
95 Say Y or M here to build support for the Altera PIO device.
96
97 If driver is built as a module it will be called gpio-altera.
98
YD Tseng6057d402015-10-19 11:07:37 +080099config GPIO_AMDPT
100 tristate "AMD Promontory GPIO support"
101 depends on ACPI
Axel Lin574b7822016-02-29 22:00:01 +0800102 select GPIO_GENERIC
YD Tseng6057d402015-10-19 11:07:37 +0800103 help
104 driver for GPIO functionality on Promontory IOHub
105 Require ACPI ASL code to enumerate as a platform device.
106
Joel Stanley361b7912016-08-30 17:24:27 +0930107config GPIO_ASPEED
108 tristate "Aspeed GPIO support"
109 depends on (ARCH_ASPEED || COMPILE_TEST) && OF_GPIO
110 select GPIOLIB_IRQCHIP
111 help
112 Say Y here to support Aspeed AST2400 and AST2500 GPIO controllers.
113
Alban Bedelab327702016-01-28 20:44:29 +0100114config GPIO_ATH79
115 tristate "Atheros AR71XX/AR724X/AR913X GPIO support"
116 default y if ATH79
Alban Bedel409d8782016-01-28 20:44:30 +0100117 depends on ATH79 || COMPILE_TEST
Alban Bedelab327702016-01-28 20:44:29 +0100118 select GPIO_GENERIC
Alban Bedel2b8f89e2016-01-28 20:44:32 +0100119 select GPIOLIB_IRQCHIP
Alban Bedelab327702016-01-28 20:44:29 +0100120 help
121 Select this option to enable GPIO driver for
122 Atheros AR71XX/AR724X/AR913X SoC devices.
123
Maxime Ripardf72f4b42016-07-20 16:11:36 +0200124config GPIO_AXP209
125 tristate "X-Powers AXP209 PMIC GPIO Support"
126 depends on MFD_AXP20X
127 help
128 Say yes to enable GPIO support for the AXP209 PMIC
129
Linus Walleijea948cf2015-04-08 14:36:17 +0200130config GPIO_BCM_KONA
131 bool "Broadcom Kona GPIO"
132 depends on OF_GPIO && (ARCH_BCM_MOBILE || COMPILE_TEST)
133 help
134 Turn on GPIO support for Broadcom "Kona" chips.
135
Gregory Fong3b0213d2015-05-28 19:14:05 -0700136config GPIO_BRCMSTB
137 tristate "BRCMSTB GPIO support"
Florian Fainellia02588a2016-01-06 10:55:23 -0800138 default y if (ARCH_BRCMSTB || BMIPS_GENERIC)
139 depends on OF_GPIO && (ARCH_BRCMSTB || BMIPS_GENERIC || COMPILE_TEST)
Gregory Fong3b0213d2015-05-28 19:14:05 -0700140 select GPIO_GENERIC
Gregory Fong19a7b692015-07-31 18:17:43 -0700141 select GPIOLIB_IRQCHIP
Gregory Fong3b0213d2015-05-28 19:14:05 -0700142 help
143 Say yes here to enable GPIO support for Broadcom STB (BCM7XXX) SoCs.
144
Alexander Shiyana3b8d4a2012-10-09 20:05:56 +0400145config GPIO_CLPS711X
Alexander Shiyan55fe14a2013-04-26 19:47:28 +0400146 tristate "CLPS711X GPIO support"
Alexander Shiyanffd4bf12013-12-24 18:08:54 +0400147 depends on ARCH_CLPS711X || COMPILE_TEST
Alexander Shiyan55fe14a2013-04-26 19:47:28 +0400148 select GPIO_GENERIC
149 help
150 Say yes here to support GPIO on CLPS711X SoCs.
Alexander Shiyana3b8d4a2012-10-09 20:05:56 +0400151
Grygorii Strashkoee89cf62013-11-21 17:34:36 +0200152config GPIO_DAVINCI
153 bool "TI Davinci/Keystone GPIO support"
154 default y if ARCH_DAVINCI
155 depends on ARM && (ARCH_DAVINCI || ARCH_KEYSTONE)
156 help
157 Say yes here to enable GPIO support for TI Davinci/Keystone SoCs.
158
Jamie Iles7779b342014-02-25 17:01:01 -0600159config GPIO_DWAPB
160 tristate "Synopsys DesignWare APB GPIO driver"
161 select GPIO_GENERIC
162 select GENERIC_IRQ_CHIP
Jamie Iles7779b342014-02-25 17:01:01 -0600163 help
164 Say Y or M here to build support for the Synopsys DesignWare APB
165 GPIO block.
166
Magnus Damma07e1032012-05-17 15:22:23 +0900167config GPIO_EM
168 tristate "Emma Mobile GPIO"
Ian Moltonb5927852013-09-02 16:44:55 +0100169 depends on ARM && OF_GPIO
Magnus Damma07e1032012-05-17 15:22:23 +0900170 help
171 Say yes here to support GPIO on Renesas Emma Mobile SoCs.
172
H Hartley Sweetenc6b52c12011-06-01 10:09:19 -0700173config GPIO_EP93XX
174 def_bool y
175 depends on ARCH_EP93XX
H Hartley Sweeten1e4c8842011-06-08 14:35:33 -0700176 select GPIO_GENERIC
H Hartley Sweetenc6b52c12011-06-01 10:09:19 -0700177
Rabin Vincentd3425712015-06-06 22:30:40 +0200178config GPIO_ETRAXFS
179 bool "Axis ETRAX FS General I/O"
180 depends on CRIS || COMPILE_TEST
Linus Walleij048c28c2016-08-16 12:07:31 +0200181 depends on OF_GPIO
Rabin Vincentd3425712015-06-06 22:30:40 +0200182 select GPIO_GENERIC
Rabin Vincent29b53572015-07-31 14:48:57 +0200183 select GPIOLIB_IRQCHIP
Rabin Vincentd3425712015-06-06 22:30:40 +0200184 help
185 Say yes here to support the GPIO controller on Axis ETRAX FS SoCs.
186
Linus Walleij223fa272015-04-08 10:08:56 +0200187config GPIO_GE_FPGA
188 bool "GE FPGA based GPIO"
189 depends on GE_FPGA
190 select GPIO_GENERIC
191 help
192 Support for common GPIO functionality provided on some GE Single Board
193 Computers.
194
195 This driver provides basic support (configure as input or output, read
196 and write pin state) for GPIO implemented in a number of GE single
197 board computers.
198
199config GPIO_GENERIC_PLATFORM
200 tristate "Generic memory-mapped GPIO controller support (MMIO platform device)"
201 select GPIO_GENERIC
202 help
203 Say yes here to support basic platform_device memory-mapped GPIO controllers.
204
205config GPIO_GRGPIO
206 tristate "Aeroflex Gaisler GRGPIO support"
Linus Walleij048c28c2016-08-16 12:07:31 +0200207 depends on OF_GPIO
Linus Walleij223fa272015-04-08 10:08:56 +0200208 select GPIO_GENERIC
209 select IRQ_DOMAIN
210 help
211 Select this to support Aeroflex Gaisler GRGPIO cores from the GRLIB
212 VHDL IP core library.
213
214config GPIO_ICH
215 tristate "Intel ICH GPIO"
216 depends on PCI && X86
217 select MFD_CORE
218 select LPC_ICH
219 help
220 Say yes here to support the GPIO functionality of a number of Intel
221 ICH-based chipsets. Currently supported devices: ICH6, ICH7, ICH8
222 ICH9, ICH10, Series 5/3400 (eg Ibex Peak), Series 6/C200 (eg
223 Cougar Point), NM10 (Tiger Point), and 3100 (Whitmore Lake).
224
225 If unsure, say N.
226
227config GPIO_IOP
228 tristate "Intel IOP GPIO"
Alexander Shiyan6d125412016-09-09 09:20:03 +0300229 depends on ARCH_IOP32X || ARCH_IOP33X || COMPILE_TEST
230 select GPIO_GENERIC
Linus Walleij223fa272015-04-08 10:08:56 +0200231 help
232 Say yes here to support the GPIO functionality of a number of Intel
233 IOP32X or IOP33X.
234
235 If unsure, say N.
236
Linus Walleij223fa272015-04-08 10:08:56 +0200237config GPIO_LOONGSON
238 bool "Loongson-2/3 GPIO support"
239 depends on CPU_LOONGSON2 || CPU_LOONGSON3
240 help
241 driver for GPIO functionality on Loongson-2F/3A/3B processors.
242
Joachim Eastwood13a43fd2015-05-02 23:11:34 +0200243config GPIO_LPC18XX
Paul Gortmaker54b72992016-06-05 14:23:43 -0400244 tristate "NXP LPC18XX/43XX GPIO support"
Joachim Eastwood13a43fd2015-05-02 23:11:34 +0200245 default y if ARCH_LPC18XX
246 depends on OF_GPIO && (ARCH_LPC18XX || COMPILE_TEST)
247 help
248 Select this option to enable GPIO driver for
249 NXP LPC18XX/43XX devices.
250
Linus Walleij223fa272015-04-08 10:08:56 +0200251config GPIO_LYNXPOINT
252 tristate "Intel Lynxpoint GPIO support"
253 depends on ACPI && X86
254 select GPIOLIB_IRQCHIP
255 help
256 driver for GPIO functionality on Intel Lynxpoint PCH chipset
257 Requires ACPI device enumeration code to set up a platform device.
258
Jassi Brar0da094d2015-01-19 18:35:53 +0800259config GPIO_MB86S7X
260 bool "GPIO support for Fujitsu MB86S7x Platforms"
Axel Lin4fccbbd2016-02-25 13:41:30 +0800261 depends on ARCH_MB86S7X || COMPILE_TEST
Jassi Brar0da094d2015-01-19 18:35:53 +0800262 help
263 Say yes here to support the GPIO controller in Fujitsu MB86S70 SoCs.
Fabian Vogt9af4d802014-02-24 20:54:58 +0100264
Andreas Wernerf436bc22016-02-29 19:44:43 +0100265config GPIO_MENZ127
266 tristate "MEN 16Z127 GPIO support"
267 depends on MCB
268 select GPIO_GENERIC
269 help
270 Say yes here to support the MEN 16Z127 GPIO Controller
271
John Crispin5238f7b2012-05-11 18:48:39 +0200272config GPIO_MM_LANTIQ
273 bool "Lantiq Memory mapped GPIOs"
274 depends on LANTIQ && SOC_XWAY
275 help
276 This enables support for memory mapped GPIOs on the External Bus Unit
277 (EBU) found on Lantiq SoCs. The gpios are output only as they are
278 created by attaching a 16bit latch to the bus.
279
Bamvor Jian Zhang0f98dd12016-08-31 11:45:46 +0200280config GPIO_MOCKUP
281 tristate "GPIO Testing Driver"
Arnd Bergmann0cb94092016-10-10 14:42:46 +0200282 depends on GPIOLIB && SYSFS
Bamvor Jian Zhang0f98dd12016-08-31 11:45:46 +0200283 select GPIO_SYSFS
284 help
285 This enables GPIO Testing driver, which provides a way to test GPIO
286 subsystem through sysfs(or char device) and debugfs. GPIO_SYSFS
287 must be selected for this test.
288 User could use it through the script in
289 tools/testing/selftests/gpio/gpio-mockup.sh. Reference the usage in
290 it.
291
Jonas Jensen0299b772013-11-29 12:11:34 +0100292config GPIO_MOXART
293 bool "MOXART GPIO support"
Axel Lin24030d92016-02-26 16:00:50 +0800294 depends on ARCH_MOXART || COMPILE_TEST
Kamlakant Patel3c01b9a2014-12-01 17:39:34 +0530295 select GPIO_GENERIC
Jonas Jensen0299b772013-11-29 12:11:34 +0100296 help
297 Select this option to enable GPIO driver for
298 MOXA ART SoC devices.
299
Grant Likely6eae1ac2011-07-06 11:54:19 -0600300config GPIO_MPC5200
301 def_bool y
302 depends on PPC_MPC52xx
303
Wolfram Sangc68308d2011-09-21 12:49:20 +0200304config GPIO_MPC8XXX
Liu Gang5df7fd42016-01-12 20:10:09 +0800305 bool "MPC512x/MPC8xxx/QorIQ GPIO support"
Wolfram Sangc68308d2011-09-21 12:49:20 +0200306 depends on PPC_MPC512x || PPC_MPC831x || PPC_MPC834x || PPC_MPC837x || \
Liu Gang5df7fd42016-01-12 20:10:09 +0800307 FSL_SOC_BOOKE || PPC_86xx || ARCH_LAYERSCAPE || ARM || \
308 COMPILE_TEST
309 select GPIO_GENERIC
Arnd Bergmanna8fa91a2016-04-19 14:10:08 +0200310 select IRQ_DOMAIN
Wolfram Sangc68308d2011-09-21 12:49:20 +0200311 help
312 Say Y here if you're going to use hardware that connects to the
Liu Gang5df7fd42016-01-12 20:10:09 +0800313 MPC512x/831x/834x/837x/8572/8610/QorIQ GPIOs.
Wolfram Sangc68308d2011-09-21 12:49:20 +0200314
Thomas Petazzonifefe7b02012-09-19 22:52:58 +0200315config GPIO_MVEBU
316 def_bool y
Andrew Lunn49e928d2012-11-17 17:00:43 +0100317 depends on PLAT_ORION
Linus Walleij048c28c2016-08-16 12:07:31 +0200318 depends on OF_GPIO
Thomas Petazzonifefe7b02012-09-19 22:52:58 +0200319 select GENERIC_IRQ_CHIP
320
Shawn Guod37a65b2011-06-06 00:07:54 +0800321config GPIO_MXC
322 def_bool y
323 depends on ARCH_MXC
Grant Likelyc103de22011-06-04 18:38:28 -0600324 select GPIO_GENERIC
Shawn Guoe4ea9332011-06-07 16:25:37 +0800325 select GENERIC_IRQ_CHIP
Grant Likelyc103de22011-06-04 18:38:28 -0600326
327config GPIO_MXS
328 def_bool y
329 depends on ARCH_MXS
Shawn Guo06f88a82011-06-06 22:31:29 +0800330 select GPIO_GENERIC
Shawn Guo498c17c2011-06-07 22:00:54 +0800331 select GENERIC_IRQ_CHIP
Shawn Guod37a65b2011-06-06 00:07:54 +0800332
David Daneyaca58a62013-07-29 14:29:10 -0700333config GPIO_OCTEON
334 tristate "Cavium OCTEON GPIO"
335 depends on GPIOLIB && CAVIUM_OCTEON_SOC
336 default y
337 help
338 Say yes here to support the on-chip GPIO lines on the OCTEON
339 family of SOCs.
340
Javier Martinez Canillascd0a3742014-04-06 16:58:15 +0200341config GPIO_OMAP
Tony Lindgrencac089f2015-04-23 16:56:22 -0700342 tristate "TI OMAP GPIO support" if ARCH_OMAP2PLUS || COMPILE_TEST
Javier Martinez Canillascd0a3742014-04-06 16:58:15 +0200343 default y if ARCH_OMAP
Arnd Bergmann9d5d96e2014-04-28 11:07:03 +0200344 depends on ARM
345 select GENERIC_IRQ_CHIP
Javier Martinez Canillasfb655f52014-04-06 16:58:16 +0200346 select GPIOLIB_IRQCHIP
Javier Martinez Canillascd0a3742014-04-06 16:58:15 +0200347 help
348 Say yes here to enable GPIO support for TI OMAP SoCs.
349
Baruch Siach1e9c2852009-06-18 16:48:58 -0700350config GPIO_PL061
351 bool "PrimeCell PL061 GPIO support"
Rob Herring8a242842013-11-05 21:27:02 -0600352 depends on ARM_AMBA
Axel Lina5d6d272014-02-04 20:39:01 +0800353 select IRQ_DOMAIN
Linus Walleij8d5b24b2014-03-25 10:42:35 +0100354 select GPIOLIB_IRQCHIP
Baruch Siach1e9c2852009-06-18 16:48:58 -0700355 help
356 Say yes here to support the PrimeCell PL061 GPIO device
357
Haojian Zhuang157d2642011-10-17 20:37:52 +0800358config GPIO_PXA
359 bool "PXA GPIO support"
360 depends on ARCH_PXA || ARCH_MMP
361 help
362 Say yes here to support the PXA GPIO device
363
David Collins8885f792017-01-26 14:36:34 -0800364config GPIO_QPNP_PIN
365 tristate "Qualcomm Technologies, Inc. QPNP GPIO support"
366 depends on SPMI
367 help
368 Say 'y' here to include support for the Qualcomm Technologies, Inc.
369 QPNP GPIO driver. This driver supports Device Tree and allows a
370 device_node to be registered as a gpio-controller. It does not handle
371 GPIO interrupts directly; they are handled via the SPMI arbiter
372 interrupt driver.
373
374config GPIO_QPNP_PIN_DEBUG
375 bool "Qualcomm Technologies, Inc. QPNP GPIO debug support"
376 depends on GPIO_QPNP_PIN && DEBUG_FS
377 help
378 Say 'y' here to include debug support for the Qualcomm Technologies,
379 Inc. QPNP GPIO driver. This provides a userspace debug interface to
380 get and set all of the supported features of PMIC GPIO and MPP pins
381 including those which are managed by the gpio framework.
382
Magnus Damm119f5e42013-03-13 20:32:13 +0900383config GPIO_RCAR
384 tristate "Renesas R-Car GPIO"
Simon Horman2af66e12016-02-23 10:36:51 +0900385 depends on ARCH_RENESAS || COMPILE_TEST
Geert Uytterhoevenc7f3c5d2015-01-12 11:07:59 +0100386 select GPIOLIB_IRQCHIP
Magnus Damm119f5e42013-03-13 20:32:13 +0900387 help
388 Say yes here to support GPIO on Renesas R-Car SoCs.
389
Shiraz Hashimb53bc282012-11-16 10:45:25 +0530390config GPIO_SPEAR_SPICS
391 bool "ST SPEAr13xx SPI Chip Select as GPIO support"
392 depends on PLAT_SPEAR
393 select GENERIC_IRQ_CHIP
394 help
395 Say yes here to support ST SPEAr SPI Chip Select as GPIO device
396
Alessandro Rubini7b0d44f32012-04-12 10:48:55 +0200397config GPIO_STA2X11
398 bool "STA2x11/ConneXt GPIO support"
399 depends on MFD_STA2X11
400 select GENERIC_IRQ_CHIP
401 help
402 Say yes here to support the STA2x11/ConneXt GPIO device.
403 The GPIO module has 128 GPIO pins with alternate functions.
404
Linus Walleijbe9cab52015-04-08 14:51:23 +0200405config GPIO_STP_XWAY
406 bool "XWAY STP GPIOs"
407 depends on SOC_XWAY
408 help
409 This enables support for the Serial To Parallel (STP) unit found on
410 XWAY SoC. The STP allows the SoC to drive a shift registers cascade,
411 that can be up to 24 bit. This peripheral is aimed at driving leds.
412 Some of the gpios/leds can be auto updated by the soc with dsl and
413 phy status.
414
Alexander Shiyan6a8a0c12014-03-11 21:55:14 +0400415config GPIO_SYSCON
416 tristate "GPIO based on SYSCON"
417 depends on MFD_SYSCON && OF
418 help
419 Say yes here to support GPIO functionality though SYSCON driver.
420
Linus Walleij223fa272015-04-08 10:08:56 +0200421config GPIO_TB10X
422 bool
423 select GENERIC_IRQ_CHIP
424 select OF_GPIO
425
Alexander Stein4dd4dd12016-02-24 20:54:32 +0100426config GPIO_TEGRA
Arnd Bergmann0bfb85c2016-07-06 14:54:03 +0200427 bool "NVIDIA Tegra GPIO support"
428 default ARCH_TEGRA
Alexander Stein4dd4dd12016-02-24 20:54:32 +0100429 depends on ARCH_TEGRA || COMPILE_TEST
Linus Walleij048c28c2016-08-16 12:07:31 +0200430 depends on OF_GPIO
Arnd Bergmann0bfb85c2016-07-06 14:54:03 +0200431 help
432 Say yes here to support GPIO pins on NVIDIA Tegra SoCs.
Alexander Stein4dd4dd12016-02-24 20:54:32 +0100433
Julien Grossholtz5041e792016-01-13 11:57:43 -0500434config GPIO_TS4800
435 tristate "TS-4800 DIO blocks and compatibles"
436 depends on OF_GPIO
Julien Grossholtz6dcfd722016-02-26 18:06:59 -0500437 depends on SOC_IMX51 || COMPILE_TEST
Julien Grossholtz5041e792016-01-13 11:57:43 -0500438 select GPIO_GENERIC
439 help
440 This driver support TS-4800 FPGA GPIO controllers.
441
James Hogan9caf1f22013-06-25 15:27:43 +0100442config GPIO_TZ1090
443 bool "Toumaz Xenif TZ1090 GPIO support"
444 depends on SOC_TZ1090
James Hogan04777392013-06-25 15:27:45 +0100445 select GENERIC_IRQ_CHIP
James Hogan9caf1f22013-06-25 15:27:43 +0100446 default y
447 help
448 Say yes here to support Toumaz Xenif TZ1090 GPIOs.
449
James Hogan79bb6462013-06-25 15:27:44 +0100450config GPIO_TZ1090_PDC
451 bool "Toumaz Xenif TZ1090 PDC GPIO support"
452 depends on SOC_TZ1090
453 default y
454 help
455 Say yes here to support Toumaz Xenif TZ1090 PDC GPIOs.
456
Stefan Agner7f2691a2014-10-16 21:47:58 +0200457config GPIO_VF610
458 def_bool y
459 depends on ARCH_MXC && SOC_VF610
460 select GPIOLIB_IRQCHIP
461 help
462 Say yes here to support Vybrid vf610 GPIOs.
463
Linus Walleij223fa272015-04-08 10:08:56 +0200464config GPIO_VR41XX
465 tristate "NEC VR4100 series General-purpose I/O Uint support"
466 depends on CPU_VR41XX
467 help
468 Say yes here to support the NEC VR4100 series General-purpose I/O Uint
469
470config GPIO_VX855
471 tristate "VIA VX855/VX875 GPIO"
472 depends on PCI
473 select MFD_CORE
474 select MFD_VX855
475 help
476 Support access to the VX855/VX875 GPIO lines through the gpio library.
477
478 This driver provides common support for accessing the device,
479 additional drivers must be enabled in order to use the
480 functionality of the device.
481
Feng Kan29cbf452014-07-31 12:03:25 -0700482config GPIO_XGENE
483 bool "APM X-Gene GPIO controller support"
484 depends on ARM64 && OF_GPIO
485 help
486 This driver is to support the GPIO block within the APM X-Gene SoC
487 platform's generic flash controller. The GPIO pins are muxed with
488 the generic flash controller's address and data pins. Say yes
489 here to enable the GFC GPIO functionality.
490
Y Vob2b35e12015-01-16 14:34:19 +0700491config GPIO_XGENE_SB
492 tristate "APM X-Gene GPIO standby controller support"
493 depends on ARCH_XGENE && OF_GPIO
494 select GPIO_GENERIC
Matthias Bruggere5f7e312016-03-04 11:59:58 +0100495 select GPIOLIB_IRQCHIP
Y Vob2b35e12015-01-16 14:34:19 +0700496 help
497 This driver supports the GPIO block within the APM X-Gene
498 Standby Domain. Say yes here to enable the GPIO functionality.
499
John Linn0bcb6062008-11-12 13:25:38 -0800500config GPIO_XILINX
Ricardo Ribalda Delgadoc54c58b2014-12-17 16:51:10 +0100501 tristate "Xilinx GPIO support"
Soren Brinkmann797867212015-10-22 21:51:18 -0700502 depends on OF_GPIO
John Linn0bcb6062008-11-12 13:25:38 -0800503 help
504 Say yes here to support the Xilinx FPGA GPIO device
505
Kamlakant Patelff718802015-04-28 20:10:45 +0530506config GPIO_XLP
507 tristate "Netlogic XLP GPIO support"
Kamlakant Pateldd987562016-03-24 15:01:40 +0530508 depends on OF_GPIO && (CPU_XLP || ARCH_VULCAN || COMPILE_TEST)
Kamlakant Patelff718802015-04-28 20:10:45 +0530509 select GPIOLIB_IRQCHIP
510 help
511 This driver provides support for GPIO interface on Netlogic XLP MIPS64
512 SoCs. Currently supported XLP variants are XLP8XX, XLP3XX, XLP2XX,
513 XLP9XX and XLP5XX.
514
515 If unsure, say N.
516
Baruch Siach3b31d0e2013-12-12 11:18:41 +0200517config GPIO_XTENSA
518 bool "Xtensa GPIO32 support"
519 depends on XTENSA
Baruch Siacha1a2bde2013-12-18 09:10:29 +0200520 depends on HAVE_XTENSA_GPIO32
Baruch Siach3b31d0e2013-12-12 11:18:41 +0200521 depends on !SMP
522 help
523 Say yes here to support the Xtensa internal GPIO32 IMPWIRE (input)
524 and EXPSTATE (output) ports
525
Linus Walleij223fa272015-04-08 10:08:56 +0200526config GPIO_ZEVIO
527 bool "LSI ZEVIO SoC memory mapped GPIOs"
528 depends on ARM && OF_GPIO
Yoichi Yuasa27fdd322009-06-29 11:11:05 +0900529 help
Linus Walleij223fa272015-04-08 10:08:56 +0200530 Say yes here to support the GPIO controller in LSI ZEVIO SoCs.
Yoichi Yuasa27fdd322009-06-29 11:11:05 +0900531
Linus Walleij223fa272015-04-08 10:08:56 +0200532config GPIO_ZYNQ
533 tristate "Xilinx Zynq GPIO support"
Anurag Kumar Vulishabdf7a4a2015-06-04 17:40:32 +0530534 depends on ARCH_ZYNQ || ARCH_ZYNQMP
Mika Westerberg7f872102014-07-25 09:54:46 +0300535 select GPIOLIB_IRQCHIP
Mathias Nyman1d09aaa2012-12-12 17:42:38 +0200536 help
Linus Walleij223fa272015-04-08 10:08:56 +0200537 Say yes here to support Xilinx Zynq GPIO controller.
Mathias Nyman1d09aaa2012-12-12 17:42:38 +0200538
Linus Walleij09636702015-11-01 10:50:19 +0100539config GPIO_ZX
540 bool "ZTE ZX GPIO support"
541 select GPIOLIB_IRQCHIP
542 help
543 Say yes here to support the GPIO device on ZTE ZX SoCs.
544
Kelvin Cheungbd37c992016-04-06 20:34:53 +0800545config GPIO_LOONGSON1
546 tristate "Loongson1 GPIO support"
547 depends on MACH_LOONGSON32
548 select GPIO_GENERIC
549 help
550 Say Y or M here to support GPIO on Loongson1 SoCs.
551
Linus Walleij177b0382015-04-08 15:11:16 +0200552endmenu
553
Linus Walleijbc6a73b2015-10-30 10:32:19 +0100554menu "Port-mapped I/O GPIO drivers"
Linus Walleij7768feb2015-11-01 10:39:07 +0100555 depends on X86 # Unconditional I/O space access
Linus Walleijbc6a73b2015-10-30 10:32:19 +0100556
William Breathitt Gray1b06d64f2016-01-20 13:50:11 -0500557config GPIO_104_DIO_48E
558 tristate "ACCES 104-DIO-48E GPIO support"
William Breathitt Grayf4ae9162016-05-27 18:08:56 -0400559 depends on ISA_BUS_API
William Breathitt Gray1b06d64f2016-01-20 13:50:11 -0500560 select GPIOLIB_IRQCHIP
561 help
William Breathitt Gray4c23db02016-05-01 18:44:39 -0400562 Enables GPIO support for the ACCES 104-DIO-48E series (104-DIO-48E,
563 104-DIO-24E). The base port addresses for the devices may be
564 configured via the base module parameter. The interrupt line numbers
565 for the devices may be configured via the irq module parameter.
William Breathitt Gray1b06d64f2016-01-20 13:50:11 -0500566
Linus Walleijbc6a73b2015-10-30 10:32:19 +0100567config GPIO_104_IDIO_16
568 tristate "ACCES 104-IDIO-16 GPIO support"
William Breathitt Grayf4ae9162016-05-27 18:08:56 -0400569 depends on ISA_BUS_API
William Breathitt Graya1184142015-11-03 07:54:23 -0500570 select GPIOLIB_IRQCHIP
Linus Walleijbc6a73b2015-10-30 10:32:19 +0100571 help
William Breathitt Gray86ea8a92016-05-01 18:45:11 -0400572 Enables GPIO support for the ACCES 104-IDIO-16 family (104-IDIO-16,
573 104-IDIO-16E, 104-IDO-16, 104-IDIO-8, 104-IDIO-8E, 104-IDO-8). The
574 base port addresses for the devices may be configured via the base
575 module parameter. The interrupt line numbers for the devices may be
576 configured via the irq module parameter.
Linus Walleijbc6a73b2015-10-30 10:32:19 +0100577
William Breathitt Gray6ddcf9b2015-11-23 12:54:50 -0500578config GPIO_104_IDI_48
579 tristate "ACCES 104-IDI-48 GPIO support"
William Breathitt Grayf4ae9162016-05-27 18:08:56 -0400580 depends on ISA_BUS_API
William Breathitt Gray6ddcf9b2015-11-23 12:54:50 -0500581 select GPIOLIB_IRQCHIP
582 help
William Breathitt Gray72bf7442016-05-01 18:44:55 -0400583 Enables GPIO support for the ACCES 104-IDI-48 family (104-IDI-48A,
584 104-IDI-48AC, 104-IDI-48B, 104-IDI-48BC). The base port addresses for
585 the devices may be configured via the base module parameter. The
586 interrupt line numbers for the devices may be configured via the irq
587 module parameter.
William Breathitt Gray6ddcf9b2015-11-23 12:54:50 -0500588
Linus Walleijbc6a73b2015-10-30 10:32:19 +0100589config GPIO_F7188X
Peter Hung1920906f2016-01-22 15:23:33 +0800590 tristate "F71869, F71869A, F71882FG, F71889F and F81866 GPIO support"
Linus Walleijbc6a73b2015-10-30 10:32:19 +0100591 help
592 This option enables support for GPIOs found on Fintek Super-I/O
Peter Hung1920906f2016-01-22 15:23:33 +0800593 chips F71869, F71869A, F71882FG, F71889F and F81866.
Linus Walleijbc6a73b2015-10-30 10:32:19 +0100594
595 To compile this driver as a module, choose M here: the module will
596 be called f7188x-gpio.
597
William Breathitt Gray6ea5dcd2016-08-02 09:57:47 -0400598config GPIO_GPIO_MM
599 tristate "Diamond Systems GPIO-MM GPIO support"
600 depends on ISA_BUS_API
601 help
602 Enables GPIO support for the Diamond Systems GPIO-MM and GPIO-MM-12.
603
604 The Diamond Systems GPIO-MM device features 48 lines of digital I/O
605 via the emulation of dual 82C55A PPI chips. This driver provides GPIO
606 support for these 48 channels of digital I/O.
607
608 The base port addresses for the devices may be configured via the base
609 array module parameter.
610
Linus Walleijbc6a73b2015-10-30 10:32:19 +0100611config GPIO_IT87
612 tristate "IT87xx GPIO support"
Linus Walleijbc6a73b2015-10-30 10:32:19 +0100613 help
614 Say yes here to support GPIO functionality of IT87xx Super I/O chips.
615
616 This driver is tested with ITE IT8728 and IT8732 Super I/O chips, and
Martin Blumenstingl8fccdb52016-03-27 17:43:02 +0200617 supports the IT8761E, IT8620E and IT8628E Super I/O chip as well.
Linus Walleijbc6a73b2015-10-30 10:32:19 +0100618
619 To compile this driver as a module, choose M here: the module will
620 be called gpio_it87
621
622config GPIO_SCH
623 tristate "Intel SCH/TunnelCreek/Centerton/Quark X1000 GPIO"
Linus Walleij7768feb2015-11-01 10:39:07 +0100624 depends on PCI
Linus Walleijbc6a73b2015-10-30 10:32:19 +0100625 select MFD_CORE
626 select LPC_SCH
627 help
628 Say yes here to support GPIO interface on Intel Poulsbo SCH,
629 Intel Tunnel Creek processor, Intel Centerton processor or
630 Intel Quark X1000 SoC.
631
632 The Intel SCH contains a total of 14 GPIO pins. Ten GPIOs are
633 powered by the core power rail and are turned off during sleep
634 modes (S3 and higher). The remaining four GPIOs are powered by
635 the Intel SCH suspend power supply. These GPIOs remain
636 active during S3. The suspend powered GPIOs can be used to wake the
637 system from the Suspend-to-RAM state.
638
639 The Intel Tunnel Creek processor has 5 GPIOs powered by the
640 core power rail and 9 from suspend power supply.
641
642 The Intel Centerton processor has a total of 30 GPIO pins.
643 Twenty-one are powered by the core power rail and 9 from the
644 suspend power supply.
645
646 The Intel Quark X1000 SoC has 2 GPIOs powered by the core
647 power well and 6 from the suspend power well.
648
649config GPIO_SCH311X
650 tristate "SMSC SCH311x SuperI/O GPIO"
651 help
652 Driver to enable the GPIOs found on SMSC SMSC SCH3112, SCH3114 and
653 SCH3116 "Super I/O" chipsets.
654
655 To compile this driver as a module, choose M here: the module will
656 be called gpio-sch311x.
657
658config GPIO_TS5500
659 tristate "TS-5500 DIO blocks and compatibles"
660 depends on TS5500 || COMPILE_TEST
661 help
662 This driver supports Digital I/O exposed by pin blocks found on some
663 Technologic Systems platforms. It includes, but is not limited to, 3
664 blocks of the TS-5500: DIO1, DIO2 and the LCD port, and the TS-5600
665 LCD port.
666
William Breathitt Gray9c26df92016-01-20 13:45:33 -0500667config GPIO_WS16C48
668 tristate "WinSystems WS16C48 GPIO support"
William Breathitt Grayf4ae9162016-05-27 18:08:56 -0400669 depends on ISA_BUS_API
William Breathitt Gray9c26df92016-01-20 13:45:33 -0500670 select GPIOLIB_IRQCHIP
671 help
William Breathitt Graycc736602016-05-01 18:45:24 -0400672 Enables GPIO support for the WinSystems WS16C48. The base port
673 addresses for the devices may be configured via the base module
674 parameter. The interrupt line numbers for the devices may be
675 configured via the irq module parameter.
William Breathitt Gray9c26df92016-01-20 13:45:33 -0500676
Linus Walleijbc6a73b2015-10-30 10:32:19 +0100677endmenu
678
Linus Walleij177b0382015-04-08 15:11:16 +0200679menu "I2C GPIO expanders"
680 depends on I2C
David Brownella9c5fff2008-02-04 22:28:17 -0800681
Linus Walleijbf5a16b2015-04-08 14:14:40 +0200682config GPIO_ADP5588
683 tristate "ADP5588 I2C GPIO expander"
Mark Brown31ba56f2012-06-23 13:29:25 +0100684 help
Linus Walleijbf5a16b2015-04-08 14:14:40 +0200685 This option enables support for 18 GPIOs found
686 on Analog Devices ADP5588 GPIO Expanders.
Wolfram Sange9528052010-03-05 13:44:33 -0800687
Linus Walleijbf5a16b2015-04-08 14:14:40 +0200688config GPIO_ADP5588_IRQ
689 bool "Interrupt controller support for ADP5588"
690 depends on GPIO_ADP5588=y
Randy Dunlap246c1dd2019-05-23 15:00:41 -0700691 select GPIOLIB_IRQCHIP
Eric Miaobbcd6d52008-07-25 01:46:14 -0700692 help
Linus Walleijbf5a16b2015-04-08 14:14:40 +0200693 Say yes here to enable the adp5588 to be used as an interrupt
694 controller. It requires the driver to be built in the kernel.
David Brownella9c5fff2008-02-04 22:28:17 -0800695
Linus Walleijbf5a16b2015-04-08 14:14:40 +0200696config GPIO_ADNP
697 tristate "Avionic Design N-bit GPIO expander"
Linus Walleij269a46f2015-11-01 10:43:16 +0100698 depends on OF_GPIO
Zhu, Lejun104fb1d2014-06-03 13:26:04 +0800699 select GPIOLIB_IRQCHIP
700 help
Linus Walleijbf5a16b2015-04-08 14:14:40 +0200701 This option enables support for N GPIOs found on Avionic Design
702 I2C GPIO expanders. The register space will be extended by powers
703 of two, so the controller will need to accommodate for that. For
704 example: if a controller provides 48 pins, 6 registers will be
705 enough to represent all pins, but the driver will assume a
706 register layout for 64 pins (8 registers).
Milo Kim0cc59b92013-12-06 11:18:42 +0900707
David Brownella9c5fff2008-02-04 22:28:17 -0800708config GPIO_MAX7300
Eric Miaobbcd6d52008-07-25 01:46:14 -0700709 tristate "Maxim MAX7300 GPIO expander"
Eric Miaobbcd6d52008-07-25 01:46:14 -0700710 select GPIO_MAX730X
711 help
Axel Lin2b861f42013-05-19 14:25:48 +0800712 GPIO driver for Maxim MAX7300 I2C-based GPIO expander.
David Brownella9c5fff2008-02-04 22:28:17 -0800713
Eric Miaobbcd6d52008-07-25 01:46:14 -0700714config GPIO_MAX732X
715 tristate "MAX7319, MAX7320-7327 I2C Port Expanders"
Eric Miaobbcd6d52008-07-25 01:46:14 -0700716 help
717 Say yes here to support the MAX7319, MAX7320-7327 series of I2C
718 Port Expanders. Each IO port on these chips has a fixed role of
719 Input (designated by 'I'), Push-Pull Output ('O'), or Open-Drain
720 Input and Output (designed by 'P'). The combinations are listed
721 below:
722
723 8 bits: max7319 (8I), max7320 (8O), max7321 (8P),
724 max7322 (4I4O), max7323 (4P4O)
725
726 16 bits: max7324 (8I8O), max7325 (8P8O),
727 max7326 (4I12O), max7327 (4P12O)
728
729 Board setup code must specify the model to use, and the start
730 number for these GPIOs.
731
Marc Zyngiera80a0bb2010-05-26 14:42:16 -0700732config GPIO_MAX732X_IRQ
733 bool "Interrupt controller support for MAX732x"
Martin Schwidefsky0244ad02013-08-30 09:39:53 +0200734 depends on GPIO_MAX732X=y
Linus Walleij984f6642015-01-30 11:32:01 +0100735 select GPIOLIB_IRQCHIP
Marc Zyngiera80a0bb2010-05-26 14:42:16 -0700736 help
737 Say yes here to enable the max732x to be used as an interrupt
738 controller. It requires the driver to be built in the kernel.
739
wu guoxing608589b2012-01-30 14:31:20 +0800740config GPIO_MC9S08DZ60
741 bool "MX35 3DS BOARD MC9S08DZ60 GPIO functions"
Axel Lin4c30aa32012-08-29 09:35:24 +0800742 depends on I2C=y && MACH_MX35_3DS
wu guoxing608589b2012-01-30 14:31:20 +0800743 help
744 Select this to enable the MC9S08DZ60 GPIO driver
745
Guennadi Liakhovetskif3dc3632008-02-06 01:39:03 -0800746config GPIO_PCA953X
Aaron Sierraeb32b5a2014-02-13 13:59:23 +0100747 tristate "PCA95[357]x, PCA9698, TCA64xx, and MAX7310 I/O ports"
eric miao9e60fdc2008-02-04 22:28:26 -0800748 help
David Brownell7059d4b2008-07-04 09:59:37 -0700749 Say yes here to provide access to several register-oriented
750 SMBus I/O expanders, made mostly by NXP or TI. Compatible
751 models include:
752
753 4 bits: pca9536, pca9537
754
Axel Linc29985d2012-04-06 17:11:46 +0800755 8 bits: max7310, max7315, pca6107, pca9534, pca9538, pca9554,
Aaron Sierrae73760a2014-02-07 16:36:21 -0600756 pca9556, pca9557, pca9574, tca6408, xra1202
David Brownell7059d4b2008-07-04 09:59:37 -0700757
Axel Linc29985d2012-04-06 17:11:46 +0800758 16 bits: max7312, max7313, pca9535, pca9539, pca9555, pca9575,
759 tca6416
eric miao9e60fdc2008-02-04 22:28:26 -0800760
Aaron Sierra1e191692014-02-07 16:35:48 -0600761 24 bits: tca6424
762
Aaron Sierraeb32b5a2014-02-13 13:59:23 +0100763 40 bits: pca9505, pca9698
Aaron Sierra1e191692014-02-07 16:35:48 -0600764
Marc Zyngier89ea8bb2010-03-05 13:44:36 -0800765config GPIO_PCA953X_IRQ
766 bool "Interrupt controller support for PCA953x"
767 depends on GPIO_PCA953X=y
Linus Walleij7bcbce52014-05-09 13:27:57 +0200768 select GPIOLIB_IRQCHIP
Marc Zyngier89ea8bb2010-03-05 13:44:36 -0800769 help
770 Say yes here to enable the pca953x to be used as an interrupt
771 controller. It requires the driver to be built in the kernel.
772
David Brownell15fae372008-02-04 22:28:24 -0800773config GPIO_PCF857X
David Brownell1673ad52008-07-21 14:21:34 -0700774 tristate "PCF857x, PCA{85,96}7x, and MAX732[89] I2C GPIO expanders"
Geert Uytterhoevena39294b2015-02-05 16:49:08 +0100775 select GPIOLIB_IRQCHIP
Arnd Bergmann901acf52012-09-28 23:36:15 +0200776 select IRQ_DOMAIN
David Brownell15fae372008-02-04 22:28:24 -0800777 help
778 Say yes here to provide access to most "quasi-bidirectional" I2C
779 GPIO expanders used for additional digital outputs or inputs.
780 Most of these parts are from NXP, though TI is a second source for
781 some of them. Compatible models include:
782
783 8 bits: pcf8574, pcf8574a, pca8574, pca8574a,
David Brownell1673ad52008-07-21 14:21:34 -0700784 pca9670, pca9672, pca9674, pca9674a,
785 max7328, max7329
David Brownell15fae372008-02-04 22:28:24 -0800786
787 16 bits: pcf8575, pcf8575c, pca8575,
788 pca9671, pca9673, pca9675
789
790 Your board setup code will need to declare the expanders in
791 use, and assign numbers to the GPIOs they expose. Those GPIOs
792 can then be used from drivers and other kernel code, just like
793 other GPIOs, but only accessible from task contexts.
794
795 This driver provides an in-kernel interface to those GPIOs using
796 platform-neutral GPIO calls.
797
Gregory Beanc34f16b2010-08-10 18:02:27 -0700798config GPIO_SX150X
799 bool "Semtech SX150x I2C GPIO expander"
800 depends on I2C=y
Wei Chen093e9432014-12-04 20:12:08 +0800801 select GPIOLIB_IRQCHIP
Gregory Beanc34f16b2010-08-10 18:02:27 -0700802 default n
803 help
804 Say yes here to provide support for Semtech SX150-series I2C
805 GPIO expanders. Compatible models include:
806
807 8 bits: sx1508q
808 16 bits: sx1509q
809
Andrew F. Davisb8665262016-01-25 10:14:12 -0600810config GPIO_TPIC2810
811 tristate "TPIC2810 8-Bit I2C GPO expander"
812 help
813 Say yes here to enable the GPO driver for the TI TPIC2810 chip.
814
815 To compile this driver as a module, choose M here: the module will
816 be called gpio-tpic2810.
817
Lucile Quirion9c668632016-08-12 11:16:49 -0400818config GPIO_TS4900
819 tristate "Technologic Systems FPGA I2C GPIO"
820 select REGMAP_I2C
821 help
822 Say yes here to enabled the GPIO driver for Technologic's FPGA core.
823 Series supported include TS-4100, TS-4900, TS-7970 and TS-7990.
824
Linus Walleij177b0382015-04-08 15:11:16 +0200825endmenu
826
827menu "MFD GPIO expanders"
Linus Walleijbe9cab52015-04-08 14:51:23 +0200828
829config GPIO_ADP5520
830 tristate "GPIO Support for ADP5520 PMIC"
831 depends on PMIC_ADP5520
832 help
833 This option enables support for on-chip GPIO found
834 on Analog Devices ADP5520 PMICs.
835
836config GPIO_ARIZONA
837 tristate "Wolfson Microelectronics Arizona class devices"
838 depends on MFD_ARIZONA
839 help
840 Support for GPIOs on Wolfson Arizona class devices.
841
842config GPIO_CRYSTAL_COVE
843 tristate "GPIO support for Crystal Cove PMIC"
844 depends on INTEL_SOC_PMIC
845 select GPIOLIB_IRQCHIP
846 help
847 Support for GPIO pins on Crystal Cove PMIC.
848
849 Say Yes if you have a Intel SoC based tablet with Crystal Cove PMIC
850 inside.
851
852 This driver can also be built as a module. If so, the module will be
853 called gpio-crystalcove.
854
855config GPIO_CS5535
856 tristate "AMD CS5535/CS5536 GPIO support"
857 depends on MFD_CS5535
858 help
859 The AMD CS5535 and CS5536 southbridges support 28 GPIO pins that
860 can be used for quite a number of things. The CS5535/6 is found on
861 AMD Geode and Lemote Yeeloong devices.
862
863 If unsure, say N.
864
865config GPIO_DA9052
866 tristate "Dialog DA9052 GPIO"
867 depends on PMIC_DA9052
868 help
869 Say yes here to enable the GPIO driver for the DA9052 chip.
870
871config GPIO_DA9055
872 tristate "Dialog Semiconductor DA9055 GPIO"
873 depends on MFD_DA9055
874 help
875 Say yes here to enable the GPIO driver for the DA9055 chip.
876
877 The Dialog DA9055 PMIC chip has 3 GPIO pins that can be
878 be controller by this driver.
879
880 If driver is built as a module it will be called gpio-da9055.
881
882config GPIO_DLN2
883 tristate "Diolan DLN2 GPIO support"
884 depends on MFD_DLN2
885 select GPIOLIB_IRQCHIP
886
887 help
888 Select this option to enable GPIO driver for the Diolan DLN2
889 board.
890
891 This driver can also be built as a module. If so, the module
892 will be called gpio-dln2.
893
Linus Walleij3c6e8d02016-09-16 13:48:12 +0200894config HTC_EGPIO
895 bool "HTC EGPIO support"
896 depends on GPIOLIB && ARM
897 help
898 This driver supports the CPLD egpio chip present on
899 several HTC phones. It provides basic support for input
900 pins, output pins, and irqs.
901
Linus Walleijbe9cab52015-04-08 14:51:23 +0200902config GPIO_JANZ_TTL
903 tristate "Janz VMOD-TTL Digital IO Module"
904 depends on MFD_JANZ_CMODIO
905 help
906 This enables support for the Janz VMOD-TTL Digital IO module.
907 This driver provides support for driving the pins in output
908 mode only. Input mode is not supported.
909
910config GPIO_KEMPLD
911 tristate "Kontron ETX / COMexpress GPIO"
912 depends on MFD_KEMPLD
913 help
914 This enables support for the PLD GPIO interface on some Kontron ETX
915 and COMexpress (ETXexpress) modules.
916
917 This driver can also be built as a module. If so, the module will be
918 called gpio-kempld.
919
920config GPIO_LP3943
921 tristate "TI/National Semiconductor LP3943 GPIO expander"
922 depends on MFD_LP3943
923 help
924 GPIO driver for LP3943 MFD.
925 LP3943 can be used as a GPIO expander which provides up to 16 GPIOs.
926 Open drain outputs are required for this usage.
927
Keerthy83f14102016-08-31 14:28:11 +0530928config GPIO_LP873X
929 tristate "TI LP873X GPO"
930 depends on MFD_TI_LP873X
931 help
932 This driver supports the GPO on TI Lp873x PMICs. 2 GPOs are present
933 on LP873X PMICs.
934
935 This driver can also be built as a module. If so, the module will be
936 called gpio-lp873x.
937
Laxman Dewangan02c5ba12016-05-13 10:49:14 +0530938config GPIO_MAX77620
939 tristate "GPIO support for PMIC MAX77620 and MAX20024"
940 depends on MFD_MAX77620
Dmitry Osipenko2e4d9e72020-01-06 04:51:54 +0300941 select GPIOLIB_IRQCHIP
Laxman Dewangan02c5ba12016-05-13 10:49:14 +0530942 help
943 GPIO driver for MAX77620 and MAX20024 PMIC from Maxim Semiconductor.
944 MAX77620 PMIC has 8 pins that can be configured as GPIOs. The
945 driver also provides interrupt support for each of the gpios.
946 Say yes here to enable the max77620 to be used as gpio controller.
947
Linus Walleijbe9cab52015-04-08 14:51:23 +0200948config GPIO_MSIC
949 bool "Intel MSIC mixed signal gpio support"
950 depends on MFD_INTEL_MSIC
951 help
952 Enable support for GPIO on intel MSIC controllers found in
953 intel MID devices
954
955config GPIO_PALMAS
956 bool "TI PALMAS series PMICs GPIO"
957 depends on MFD_PALMAS
958 help
959 Select this option to enable GPIO driver for the TI PALMAS
960 series chip family.
961
David Brownella9c5fff2008-02-04 22:28:17 -0800962config GPIO_RC5T583
963 bool "RICOH RC5T583 GPIO"
964 depends on MFD_RC5T583
965 help
966 Select this option to enable GPIO driver for the Ricoh RC5T583
967 chip family.
968 This driver provides the support for driving/reading the gpio pins
969 of RC5T583 device through standard gpio library.
970
Rabin Vincent03f822f2010-07-02 16:52:09 +0530971config GPIO_STMPE
972 bool "STMPE GPIOs"
973 depends on MFD_STMPE
Linus Walleij1dfb4a02015-01-13 08:00:29 +0100974 depends on OF_GPIO
Linus Walleijfe44e702014-04-15 23:38:56 +0200975 select GPIOLIB_IRQCHIP
Rabin Vincent03f822f2010-07-02 16:52:09 +0530976 help
977 This enables support for the GPIOs found on the STMPE I/O
978 Expanders.
979
Sundar Iyerf4e8afd2010-12-13 09:33:13 +0530980config GPIO_TC3589X
981 bool "TC3589X GPIOs"
982 depends on MFD_TC3589X
Linus Walleij14227312015-03-19 15:52:45 +0100983 depends on OF_GPIO
Linus Walleijcf42f1c2014-04-09 13:38:33 +0200984 select GPIOLIB_IRQCHIP
Rabin Vincentd88b25b2010-05-10 23:43:47 +0200985 help
Sundar Iyerf4e8afd2010-12-13 09:33:13 +0530986 This enables support for the GPIOs found on the TC3589X
Rabin Vincentd88b25b2010-05-10 23:43:47 +0200987 I/O Expander.
988
Linus Walleijbe9cab52015-04-08 14:51:23 +0200989config GPIO_TIMBERDALE
990 bool "Support for timberdale GPIO IP"
991 depends on MFD_TIMBERDALE
992 ---help---
993 Add support for the GPIO IP in the timberdale FPGA.
994
Andrew F. Davis99f0fd52016-02-06 10:12:10 -0600995config GPIO_TPS65086
996 tristate "TI TPS65086 GPO"
997 depends on MFD_TPS65086
998 help
999 This driver supports the GPO on TI TPS65086x PMICs.
1000
Nicolas Saenz Juliennec366c762016-01-30 17:06:44 +00001001config GPIO_TPS65218
1002 tristate "TPS65218 GPIO"
1003 depends on MFD_TPS65218
1004 help
1005 Select this option to enable GPIO driver for the TPS65218
1006 chip family.
1007
Linus Walleijbe9cab52015-04-08 14:51:23 +02001008config GPIO_TPS6586X
1009 bool "TPS6586X GPIO"
1010 depends on MFD_TPS6586X
1011 help
1012 Select this option to enable GPIO driver for the TPS6586X
1013 chip family.
1014
1015config GPIO_TPS65910
1016 bool "TPS65910 GPIO"
1017 depends on MFD_TPS65910
1018 help
1019 Select this option to enable GPIO driver for the TPS65910
1020 chip family.
1021
Margarita Olaya668a6cc2011-06-09 14:50:19 -05001022config GPIO_TPS65912
1023 tristate "TI TPS65912 GPIO"
Andrew F. Davisca801a22016-01-25 09:43:47 -06001024 depends on MFD_TPS65912
Margarita Olaya668a6cc2011-06-09 14:50:19 -05001025 help
1026 This driver supports TPS65912 gpio chip
1027
David Brownelle9d359472008-10-20 23:51:46 +02001028config GPIO_TWL4030
1029 tristate "TWL4030, TWL5030, and TPS659x0 GPIOs"
1030 depends on TWL4030_CORE
1031 help
1032 Say yes here to access the GPIO signals of various multi-function
1033 power management chips from Texas Instruments.
1034
Peter Ujfalusi70ffd692012-08-16 15:13:15 +03001035config GPIO_TWL6040
1036 tristate "TWL6040 GPO"
1037 depends on TWL6040_CORE
1038 help
1039 Say yes here to access the GPO signals of twl6040
1040 audio chip from Texas Instruments.
1041
Linus Walleijbe9cab52015-04-08 14:51:23 +02001042config GPIO_UCB1400
1043 tristate "Philips UCB1400 GPIO"
1044 depends on UCB1400_CORE
1045 help
1046 This enables support for the Philips UCB1400 GPIO pins.
1047 The UCB1400 is an AC97 audio codec.
1048
Bin Gao0ba19cf2016-07-25 14:59:38 -07001049config GPIO_WHISKEY_COVE
1050 tristate "GPIO support for Whiskey Cove PMIC"
1051 depends on INTEL_SOC_PMIC
1052 select GPIOLIB_IRQCHIP
1053 help
1054 Support for GPIO pins on Whiskey Cove PMIC.
1055
1056 Say Yes if you have a Intel SoC based tablet with Whiskey Cove PMIC
1057 inside.
1058
1059 This driver can also be built as a module. If so, the module will be
1060 called gpio-wcove.
1061
Mark Browne4b736f2009-07-27 14:46:00 +01001062config GPIO_WM831X
1063 tristate "WM831x GPIOs"
1064 depends on MFD_WM831X
1065 help
1066 Say yes here to access the GPIO signals of WM831x power management
1067 chips from Wolfson Microelectronics.
1068
Mark Brown38f6ce42010-01-07 16:10:08 +00001069config GPIO_WM8350
1070 tristate "WM8350 GPIOs"
1071 depends on MFD_WM8350
1072 help
1073 Say yes here to access the GPIO signals of WM8350 power management
1074 chips from Wolfson Microelectronics.
1075
Mark Brown2955c302010-01-29 18:20:30 +00001076config GPIO_WM8994
1077 tristate "WM8994 GPIOs"
1078 depends on MFD_WM8994
1079 help
1080 Say yes here to access the GPIO signals of WM8994 audio hub
1081 CODECs from Wolfson Microelectronics.
1082
Linus Walleij177b0382015-04-08 15:11:16 +02001083endmenu
1084
1085menu "PCI GPIO expanders"
1086 depends on PCI
Michael Bueschff1d5c22008-07-25 01:46:10 -07001087
Linus Walleij92c33ef2015-04-08 14:30:37 +02001088config GPIO_AMD8111
1089 tristate "AMD 8111 GPIO driver"
Michael Bueschff1d5c22008-07-25 01:46:10 -07001090 help
Linus Walleij92c33ef2015-04-08 14:30:37 +02001091 The AMD 8111 south bridge contains 32 GPIO pins which can be used.
Andres Salomon5f0a96b2009-12-14 18:00:32 -08001092
Linus Walleij92c33ef2015-04-08 14:30:37 +02001093 Note, that usually system firmware/ACPI handles GPIO pins on their
1094 own and users might easily break their systems with uncarefull usage
1095 of this driver!
Michael Bueschff1d5c22008-07-25 01:46:10 -07001096
Linus Walleij92c33ef2015-04-08 14:30:37 +02001097 If unsure, say N
Andres Salomon5f0a96b2009-12-14 18:00:32 -08001098
Michael Bueschff1d5c22008-07-25 01:46:10 -07001099config GPIO_BT8XX
1100 tristate "BT8XX GPIO abuser"
Andrew F. Davis03744522015-12-06 14:52:45 -06001101 depends on VIDEO_BT848=n
Michael Bueschff1d5c22008-07-25 01:46:10 -07001102 help
Geert Uytterhoeven22520ed2014-03-11 11:23:44 +01001103 The BT8xx frame grabber chip has 24 GPIO pins that can be abused
Michael Bueschff1d5c22008-07-25 01:46:10 -07001104 as a cheap PCI GPIO card.
1105
1106 This chip can be found on Miro, Hauppauge and STB TV-cards.
1107
1108 The card needs to be physically altered for using it as a
1109 GPIO card. For more information on how to build a GPIO card
1110 from a BT8xx TV card, see the documentation file at
1111 Documentation/bt8xxgpio.txt
1112
1113 If unsure, say N.
1114
David Cohen84743ea2013-10-04 13:01:41 -07001115config GPIO_INTEL_MID
Andy Shevchenkoc78e3cf2016-07-07 23:45:08 +03001116 bool "Intel MID GPIO support"
1117 depends on X86_INTEL_MID
Linus Walleijfc346272014-05-29 16:52:46 +02001118 select GPIOLIB_IRQCHIP
Alek Du8bf02612009-09-22 16:46:36 -07001119 help
Andy Shevchenkoc78e3cf2016-07-07 23:45:08 +03001120 Say Y here to support Intel MID GPIO.
Alek Du8bf02612009-09-22 16:46:36 -07001121
Andy Shevchenkoccf6fd62016-07-08 14:08:23 +03001122config GPIO_MERRIFIELD
1123 tristate "Intel Merrifield GPIO support"
1124 depends on X86_INTEL_MID
1125 select GPIOLIB_IRQCHIP
1126 help
1127 Say Y here to support Intel Merrifield GPIO.
Juergen Beisert0c36ec32008-07-21 14:21:34 -07001128
Linus Walleij92c33ef2015-04-08 14:30:37 +02001129config GPIO_ML_IOH
1130 tristate "OKI SEMICONDUCTOR ML7213 IOH GPIO support"
Linus Walleij92c33ef2015-04-08 14:30:37 +02001131 select GENERIC_IRQ_CHIP
1132 help
1133 ML7213 is companion chip for Intel Atom E6xx series.
1134 This driver can be used for OKI SEMICONDUCTOR ML7213 IOH(Input/Output
1135 Hub) which is for IVI(In-Vehicle Infotainment) use.
1136 This driver can access the IOH's GPIO device.
1137
Tomoya MORINAGA04c17aa82010-10-27 15:33:21 -07001138config GPIO_PCH
Tomoya MORINAGA868fea02011-10-28 09:23:32 +09001139 tristate "Intel EG20T PCH/LAPIS Semiconductor IOH(ML7223/ML7831) GPIO"
Andrew F. Davis03744522015-12-06 14:52:45 -06001140 depends on X86_32 || MIPS || COMPILE_TEST
Tomoya MORINAGA38eb18a2011-07-21 09:19:59 +09001141 select GENERIC_IRQ_CHIP
Tomoya MORINAGA04c17aa82010-10-27 15:33:21 -07001142 help
1143 This driver is for PCH(Platform controller Hub) GPIO of Intel Topcliff
1144 which is an IOH(Input/Output Hub) for x86 embedded processor.
1145 This driver can access PCH GPIO device.
1146
Tomoya MORINAGA868fea02011-10-28 09:23:32 +09001147 This driver also can be used for LAPIS Semiconductor IOH(Input/
1148 Output Hub), ML7223 and ML7831.
Tomoya MORINAGAbc786cc2011-05-09 19:58:49 +09001149 ML7223 IOH is for MP(Media Phone) use.
Tomoya MORINAGA868fea02011-10-28 09:23:32 +09001150 ML7831 IOH is for general purpose use.
1151 ML7223/ML7831 is companion chip for Intel Atom E6xx series.
1152 ML7223/ML7831 is completely compatible for Intel EG20T PCH.
Tomoya MORINAGAbc786cc2011-05-09 19:58:49 +09001153
Florian Fainelli9956d022010-03-21 01:06:09 +01001154config GPIO_RDC321X
1155 tristate "RDC R-321x GPIO support"
Randy Dunlape4be3cb2010-05-11 13:24:20 -07001156 select MFD_CORE
Florian Fainelli9956d022010-03-21 01:06:09 +01001157 select MFD_RDC321X
1158 help
1159 Support for the RDC R321x SoC GPIOs over southbridge
1160 PCI configuration space.
1161
Richard Röjfors35570ac2009-12-15 16:46:18 -08001162config GPIO_SODAVILLE
David Brownella9c5fff2008-02-04 22:28:17 -08001163 bool "Intel Sodaville GPIO support"
Andrew F. Davis03744522015-12-06 14:52:45 -06001164 depends on X86 && OF
Juergen Beisert0c36ec32008-07-21 14:21:34 -07001165 select GPIO_GENERIC
1166 select GENERIC_IRQ_CHIP
Wolfram Sange9528052010-03-05 13:44:33 -08001167 help
Juergen Beisert0c36ec32008-07-21 14:21:34 -07001168 Say Y here to support Intel Sodaville GPIO.
Wolfram Sange9528052010-03-05 13:44:33 -08001169
Linus Walleij177b0382015-04-08 15:11:16 +02001170endmenu
David Brownelle58b9e22008-02-04 22:28:25 -08001171
Linus Walleij177b0382015-04-08 15:11:16 +02001172menu "SPI GPIO expanders"
1173 depends on SPI_MASTER
David Brownelle58b9e22008-02-04 22:28:25 -08001174
Linus Walleija7ec2e72015-04-08 14:34:51 +02001175config GPIO_74X164
1176 tristate "74x164 serial-in/parallel-out 8-bits shift register"
Linus Walleij048c28c2016-08-16 12:07:31 +02001177 depends on OF_GPIO
Linus Walleija7ec2e72015-04-08 14:34:51 +02001178 help
1179 Driver for 74x164 compatible serial-in/parallel-out 8-outputs
1180 shift registers. This driver can be used to provide access
1181 to more gpio outputs.
David Brownelle58b9e22008-02-04 22:28:25 -08001182
1183config GPIO_MAX7301
1184 tristate "Maxim MAX7301 GPIO expander"
Richard Röjfors1e5db002009-09-22 16:46:34 -07001185 select GPIO_MAX730X
1186 help
1187 GPIO driver for Maxim MAX7301 SPI-based GPIO expander.
1188
Linus Walleij09636702015-11-01 10:50:19 +01001189config GPIO_MC33880
1190 tristate "Freescale MC33880 high-side/low-side switch"
1191 help
1192 SPI driver for Freescale MC33880 high-side/low-side switch.
1193 This provides GPIO interface supporting inputs and outputs.
1194
Andrew F. Davisdf6df932016-01-25 10:37:31 -06001195config GPIO_PISOSR
1196 tristate "Generic parallel-in/serial-out shift register"
1197 help
1198 GPIO driver for SPI compatible parallel-in/serial-out shift
1199 registers. These are input only devices.
1200
Linus Walleij09636702015-11-01 10:50:19 +01001201endmenu
1202
1203menu "SPI or I2C GPIO expanders"
1204 depends on (SPI_MASTER && !I2C) || I2C
1205
David Brownelle58b9e22008-02-04 22:28:25 -08001206config GPIO_MCP23S08
Peter Korsgaard752ad5e2011-07-15 10:25:32 +02001207 tristate "Microchip MCP23xxx I/O expander"
Linus Walleij60f749f2016-09-07 23:13:20 +02001208 depends on OF_GPIO
Phil Reiddad3d272016-03-18 16:07:06 +08001209 select GPIOLIB_IRQCHIP
Axel Linb1a38562017-10-07 22:36:53 +00001210 select REGMAP_I2C if I2C
1211 select REGMAP if SPI_MASTER
David Brownelle58b9e22008-02-04 22:28:25 -08001212 help
Peter Korsgaard752ad5e2011-07-15 10:25:32 +02001213 SPI/I2C driver for Microchip MCP23S08/MCP23S17/MCP23008/MCP23017
1214 I/O expanders.
Peter Korsgaard0b7bb772011-03-09 17:56:30 +01001215 This provides a GPIO interface supporting inputs and outputs.
Lars Poeschel4e47f912014-01-16 11:44:15 +01001216 The I2C versions of the chips can be used as interrupt-controller.
David Brownelle58b9e22008-02-04 22:28:25 -08001217
Linus Walleij177b0382015-04-08 15:11:16 +02001218endmenu
Miguel Gaioead6db082010-10-27 15:33:18 -07001219
Linus Walleij177b0382015-04-08 15:11:16 +02001220menu "USB GPIO expanders"
1221 depends on USB
Lars Poeschel9d5b72d2012-11-05 15:48:24 +01001222
1223config GPIO_VIPERBOARD
1224 tristate "Viperboard GPIO a & b support"
Andrew F. Davis03744522015-12-06 14:52:45 -06001225 depends on MFD_VIPERBOARD
Lars Poeschel9d5b72d2012-11-05 15:48:24 +01001226 help
1227 Say yes here to access the GPIO signals of Nano River
1228 Technologies Viperboard. There are two GPIO chips on the
1229 board: gpioa and gpiob.
1230 See viperboard API specification and Nano
1231 River Tech's viperboard.h for detailed meaning
1232 of the module parameters.
1233
Linus Walleij177b0382015-04-08 15:11:16 +02001234endmenu
Daniel Baluta67321272014-11-06 15:48:05 +02001235
Michael Buesch7444a722008-07-25 01:46:11 -07001236endif