blob: 5c9b384119b83458850234c2e94c1061fc53a36c [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 -070013config ARCH_WANT_OPTIONAL_GPIOLIB
David Brownella9c5fff2008-02-04 22:28:17 -080014 bool
15 help
Michael Buesch7444a722008-07-25 01:46:11 -070016 Select this config option from the architecture Kconfig, if
17 it is possible to use gpiolib on the architecture, but let the
18 user decide whether to actually build it or not.
19 Select this instead of ARCH_REQUIRE_GPIOLIB, if your architecture does
20 not depend on GPIOs being available, but rather let the user
21 decide whether he needs it or not.
22
23config ARCH_REQUIRE_GPIOLIB
24 bool
25 select GPIOLIB
26 help
David Brownella9c5fff2008-02-04 22:28:17 -080027 Platforms select gpiolib if they use this infrastructure
28 for all their GPIOs, usually starting with ones integrated
29 into SOC processors.
Michael Buesch7444a722008-07-25 01:46:11 -070030 Selecting this from the architecture code will cause the gpiolib
31 code to always get built in.
David Brownella9c5fff2008-02-04 22:28:17 -080032
Michael Buesch7444a722008-07-25 01:46:11 -070033
34
35menuconfig GPIOLIB
36 bool "GPIO Support"
37 depends on ARCH_WANT_OPTIONAL_GPIOLIB || ARCH_REQUIRE_GPIOLIB
38 select GENERIC_GPIO
39 help
40 This enables GPIO support through the generic GPIO library.
41 You only need to enable this, if you also want to enable
Linus Walleije849dc02011-05-20 00:40:19 -060042 one or more of the GPIO drivers below.
Michael Buesch7444a722008-07-25 01:46:11 -070043
44 If unsure, say N.
45
46if GPIOLIB
David Brownella9c5fff2008-02-04 22:28:17 -080047
Grant Likelyf141ed652012-04-07 14:31:33 -060048config OF_GPIO
49 def_bool y
David S. Millerafe760e2012-11-06 15:33:33 -080050 depends on OF
Grant Likelyf141ed652012-04-07 14:31:33 -060051
Mathias Nymane29482e2012-11-30 12:37:36 +010052config GPIO_ACPI
53 def_bool y
54 depends on ACPI
55
David Brownella9c5fff2008-02-04 22:28:17 -080056config DEBUG_GPIO
57 bool "Debug GPIO calls"
58 depends on DEBUG_KERNEL
59 help
60 Say Y here to add some extra checks and diagnostics to GPIO calls.
Matt LaPlante692105b2009-01-26 11:12:25 +010061 These checks help ensure that GPIOs have been properly initialized
62 before they are used, and that sleeping calls are not made from
63 non-sleeping contexts. They can make bitbanged serial protocols
David Brownella9c5fff2008-02-04 22:28:17 -080064 slower. The diagnostics help catch the type of setup errors
65 that are most common when setting up new platforms or boards.
66
David Brownelld8f388d82008-07-25 01:46:07 -070067config GPIO_SYSFS
68 bool "/sys/class/gpio/... (sysfs interface)"
69 depends on SYSFS && EXPERIMENTAL
70 help
71 Say Y here to add a sysfs interface for GPIOs.
72
73 This is mostly useful to work around omissions in a system's
74 kernel support. Those are common in custom and semicustom
75 hardware assembled using standard kernels with a minimum of
76 custom patches. In those cases, userspace code may import
77 a given GPIO from the kernel, if no kernel driver requested it.
78
79 Kernel drivers may also request that a particular GPIO be
80 exported to userspace; this can be useful when debugging.
81
Grant Likelyc103de22011-06-04 18:38:28 -060082config GPIO_GENERIC
83 tristate
84
Linus Walleije849dc02011-05-20 00:40:19 -060085# put drivers in the right section, in alphabetical order
David Brownella9c5fff2008-02-04 22:28:17 -080086
ashishj307bfc912011-07-06 16:02:13 +053087config GPIO_DA9052
88 tristate "Dialog DA9052 GPIO"
Axel Lin1c4fe3a2012-08-29 14:57:46 +080089 depends on PMIC_DA9052
ashishj307bfc912011-07-06 16:02:13 +053090 help
91 Say yes here to enable the GPIO driver for the DA9052 chip.
92
Wolfram Sange9528052010-03-05 13:44:33 -080093config GPIO_MAX730X
94 tristate
95
Linus Walleije849dc02011-05-20 00:40:19 -060096comment "Memory mapped GPIO drivers:"
John Linn0bcb6062008-11-12 13:25:38 -080097
Grant Likelyc103de22011-06-04 18:38:28 -060098config GPIO_GENERIC_PLATFORM
99 tristate "Generic memory-mapped GPIO controller support (MMIO platform device)"
100 select GPIO_GENERIC
Jamie Iles280df6b2011-05-20 00:40:19 -0600101 help
Grant Likelyc103de22011-06-04 18:38:28 -0600102 Say yes here to support basic platform_device memory-mapped GPIO controllers.
Anton Vorontsovaeec56e2010-10-27 15:33:15 -0700103
Denis Turischev9cc0cb32010-03-05 13:44:39 -0800104config GPIO_IT8761E
105 tristate "IT8761E GPIO support"
Grant Likely265fe022012-01-11 11:03:41 -0700106 depends on X86 # unconditional access to IO space.
Denis Turischev9cc0cb32010-03-05 13:44:39 -0800107 help
108 Say yes here to support GPIO functionality of IT8761E super I/O chip.
109
Magnus Damma07e1032012-05-17 15:22:23 +0900110config GPIO_EM
111 tristate "Emma Mobile GPIO"
112 depends on ARM
113 help
114 Say yes here to support GPIO on Renesas Emma Mobile SoCs.
115
H Hartley Sweetenc6b52c12011-06-01 10:09:19 -0700116config GPIO_EP93XX
117 def_bool y
118 depends on ARCH_EP93XX
H Hartley Sweeten1e4c8842011-06-08 14:35:33 -0700119 select GPIO_GENERIC
H Hartley Sweetenc6b52c12011-06-01 10:09:19 -0700120
John Crispin5238f7b2012-05-11 18:48:39 +0200121config GPIO_MM_LANTIQ
122 bool "Lantiq Memory mapped GPIOs"
123 depends on LANTIQ && SOC_XWAY
124 help
125 This enables support for memory mapped GPIOs on the External Bus Unit
126 (EBU) found on Lantiq SoCs. The gpios are output only as they are
127 created by attaching a 16bit latch to the bus.
128
Grant Likely6eae1ac2011-07-06 11:54:19 -0600129config GPIO_MPC5200
130 def_bool y
131 depends on PPC_MPC52xx
132
Wolfram Sangc68308d2011-09-21 12:49:20 +0200133config GPIO_MPC8XXX
134 bool "MPC512x/MPC8xxx GPIO support"
135 depends on PPC_MPC512x || PPC_MPC831x || PPC_MPC834x || PPC_MPC837x || \
136 FSL_SOC_BOOKE || PPC_86xx
137 help
138 Say Y here if you're going to use hardware that connects to the
139 MPC512x/831x/834x/837x/8572/8610 GPIOs.
140
David Brown74d10d72011-05-16 13:57:39 -0700141config GPIO_MSM_V1
142 tristate "Qualcomm MSM GPIO v1"
Christian Dietrichafcc0f82012-05-31 13:12:57 +0200143 depends on GPIOLIB && ARCH_MSM && (ARCH_MSM7X00A || ARCH_MSM7X30 || ARCH_QSD8X50)
David Brown74d10d72011-05-16 13:57:39 -0700144 help
145 Say yes here to support the GPIO interface on ARM v6 based
146 Qualcomm MSM chips. Most of the pins on the MSM can be
147 selected for GPIO, and are controlled by this driver.
148
David Brown1a5ab4b2011-05-16 15:53:38 -0700149config GPIO_MSM_V2
150 tristate "Qualcomm MSM GPIO v2"
151 depends on GPIOLIB && ARCH_MSM
152 help
153 Say yes here to support the GPIO interface on ARM v7 based
154 Qualcomm MSM chips. Most of the pins on the MSM can be
155 selected for GPIO, and are controlled by this driver.
156
Thomas Petazzonifefe7b02012-09-19 22:52:58 +0200157config GPIO_MVEBU
158 def_bool y
159 depends on ARCH_MVEBU
160 select GPIO_GENERIC
161 select GENERIC_IRQ_CHIP
162
Shawn Guod37a65b2011-06-06 00:07:54 +0800163config GPIO_MXC
164 def_bool y
165 depends on ARCH_MXC
Grant Likelyc103de22011-06-04 18:38:28 -0600166 select GPIO_GENERIC
Shawn Guoe4ea9332011-06-07 16:25:37 +0800167 select GENERIC_IRQ_CHIP
Grant Likelyc103de22011-06-04 18:38:28 -0600168
169config GPIO_MXS
170 def_bool y
171 depends on ARCH_MXS
Shawn Guo06f88a82011-06-06 22:31:29 +0800172 select GPIO_GENERIC
Shawn Guo498c17c2011-06-07 22:00:54 +0800173 select GENERIC_IRQ_CHIP
Shawn Guod37a65b2011-06-06 00:07:54 +0800174
Baruch Siach1e9c2852009-06-18 16:48:58 -0700175config GPIO_PL061
176 bool "PrimeCell PL061 GPIO support"
177 depends on ARM_AMBA
Rob Herring3ab52472011-10-21 08:05:53 -0500178 select GENERIC_IRQ_CHIP
Baruch Siach1e9c2852009-06-18 16:48:58 -0700179 help
180 Say yes here to support the PrimeCell PL061 GPIO device
181
Haojian Zhuang157d2642011-10-17 20:37:52 +0800182config GPIO_PXA
183 bool "PXA GPIO support"
184 depends on ARCH_PXA || ARCH_MMP
185 help
186 Say yes here to support the PXA GPIO device
187
Alessandro Rubini7b0d44f32012-04-12 10:48:55 +0200188config GPIO_STA2X11
189 bool "STA2x11/ConneXt GPIO support"
190 depends on MFD_STA2X11
191 select GENERIC_IRQ_CHIP
192 help
193 Say yes here to support the STA2x11/ConneXt GPIO device.
194 The GPIO module has 128 GPIO pins with alternate functions.
195
Tony Prisk4e48b1c2012-08-08 13:05:55 +1200196config GPIO_VT8500
197 bool "VIA/Wondermedia SoC GPIO Support"
198 depends on ARCH_VT8500
199 help
200 Say yes here to support the VT8500/WM8505/WM8650 GPIO controller.
201
John Linn0bcb6062008-11-12 13:25:38 -0800202config GPIO_XILINX
203 bool "Xilinx GPIO support"
Michal Simek6fa612b2009-05-11 15:49:12 +0200204 depends on PPC_OF || MICROBLAZE
John Linn0bcb6062008-11-12 13:25:38 -0800205 help
206 Say yes here to support the Xilinx FPGA GPIO device
207
Yoichi Yuasa27fdd322009-06-29 11:11:05 +0900208config GPIO_VR41XX
209 tristate "NEC VR4100 series General-purpose I/O Uint support"
210 depends on CPU_VR41XX
211 help
212 Say yes here to support the NEC VR4100 series General-purpose I/O Uint
213
Denis Turischevbe9b06b2010-03-02 10:48:55 +0100214config GPIO_SCH
Seth Heasley77820ff2012-05-22 22:54:20 +0200215 tristate "Intel SCH/TunnelCreek/Centerton GPIO"
H Hartley Sweeten6cff9e22011-05-20 00:40:17 -0600216 depends on PCI && X86
Randy Dunlap860fb8c2010-03-05 09:43:06 -0800217 select MFD_CORE
Denis Turischevbe9b06b2010-03-02 10:48:55 +0100218 select LPC_SCH
219 help
Seth Heasley77820ff2012-05-22 22:54:20 +0200220 Say yes here to support GPIO interface on Intel Poulsbo SCH,
221 Intel Tunnel Creek processor or Intel Centerton processor.
Denis Turischevbe9b06b2010-03-02 10:48:55 +0100222 The Intel SCH contains a total of 14 GPIO pins. Ten GPIOs are
223 powered by the core power rail and are turned off during sleep
224 modes (S3 and higher). The remaining four GPIOs are powered by
225 the Intel SCH suspend power supply. These GPIOs remain
226 active during S3. The suspend powered GPIOs can be used to wake the
227 system from the Suspend-to-RAM state.
Denis Turischevf04ddfc2011-03-14 12:53:05 +0200228 The Intel Tunnel Creek processor has 5 GPIOs powered by the
229 core power rail and 9 from suspend power supply.
Seth Heasley77820ff2012-05-22 22:54:20 +0200230 The Intel Centerton processor has a total of 30 GPIO pins.
231 Twenty-one are powered by the core power rail and 9 from the
232 suspend power supply.
Denis Turischevbe9b06b2010-03-02 10:48:55 +0100233
Peter Tyser6ed9f9c2012-04-18 09:48:24 -0500234config GPIO_ICH
235 tristate "Intel ICH GPIO"
236 depends on PCI && X86
237 select MFD_CORE
238 select LPC_ICH
239 help
240 Say yes here to support the GPIO functionality of a number of Intel
241 ICH-based chipsets. Currently supported devices: ICH6, ICH7, ICH8
242 ICH9, ICH10, Series 5/3400 (eg Ibex Peak), Series 6/C200 (eg
243 Cougar Point), NM10 (Tiger Point), and 3100 (Whitmore Lake).
244
245 If unsure, say N.
Denis Turischevbe9b06b2010-03-02 10:48:55 +0100246
Daniel Drake99ea2622010-09-30 21:55:48 +0100247config GPIO_VX855
248 tristate "VIA VX855/VX875 GPIO"
Arnd Bergmann8a0a8e82011-09-02 16:43:36 +0200249 depends on PCI
Daniel Drake99ea2622010-09-30 21:55:48 +0100250 select MFD_CORE
251 select MFD_VX855
252 help
253 Support access to the VX855/VX875 GPIO lines through the gpio library.
254
255 This driver provides common support for accessing the device,
256 additional drivers must be enabled in order to use the
257 functionality of the device.
258
Martyn Welch6518bb62012-03-12 17:12:58 +0000259config GPIO_GE_FPGA
260 bool "GE FPGA based GPIO"
261 depends on GE_FPGA
262 help
263 Support for common GPIO functionality provided on some GE Single Board
264 Computers.
265
266 This driver provides basic support (configure as input or output, read
267 and write pin state) for GPIO implemented in a number of GE single
268 board computers.
269
David Brownella9c5fff2008-02-04 22:28:17 -0800270comment "I2C GPIO expanders:"
271
Mark Brown31ba56f2012-06-23 13:29:25 +0100272config GPIO_ARIZONA
273 tristate "Wolfson Microelectronics Arizona class devices"
274 depends on MFD_ARIZONA
275 help
276 Support for GPIOs on Wolfson Arizona class devices.
277
Wolfram Sange9528052010-03-05 13:44:33 -0800278config GPIO_MAX7300
279 tristate "Maxim MAX7300 GPIO expander"
280 depends on I2C
281 select GPIO_MAX730X
282 help
283 GPIO driver for Maxim MAX7301 I2C-based GPIO expander.
284
Eric Miaobbcd6d52008-07-25 01:46:14 -0700285config GPIO_MAX732X
286 tristate "MAX7319, MAX7320-7327 I2C Port Expanders"
287 depends on I2C
288 help
289 Say yes here to support the MAX7319, MAX7320-7327 series of I2C
290 Port Expanders. Each IO port on these chips has a fixed role of
291 Input (designated by 'I'), Push-Pull Output ('O'), or Open-Drain
292 Input and Output (designed by 'P'). The combinations are listed
293 below:
294
295 8 bits: max7319 (8I), max7320 (8O), max7321 (8P),
296 max7322 (4I4O), max7323 (4P4O)
297
298 16 bits: max7324 (8I8O), max7325 (8P8O),
299 max7326 (4I12O), max7327 (4P12O)
300
301 Board setup code must specify the model to use, and the start
302 number for these GPIOs.
303
Marc Zyngiera80a0bb2010-05-26 14:42:16 -0700304config GPIO_MAX732X_IRQ
305 bool "Interrupt controller support for MAX732x"
306 depends on GPIO_MAX732X=y && GENERIC_HARDIRQS
307 help
308 Say yes here to enable the max732x to be used as an interrupt
309 controller. It requires the driver to be built in the kernel.
310
wu guoxing608589b2012-01-30 14:31:20 +0800311config GPIO_MC9S08DZ60
312 bool "MX35 3DS BOARD MC9S08DZ60 GPIO functions"
Axel Lin4c30aa32012-08-29 09:35:24 +0800313 depends on I2C=y && MACH_MX35_3DS
wu guoxing608589b2012-01-30 14:31:20 +0800314 help
315 Select this to enable the MC9S08DZ60 GPIO driver
316
Guennadi Liakhovetskif3dc3632008-02-06 01:39:03 -0800317config GPIO_PCA953X
Axel Linc29985d2012-04-06 17:11:46 +0800318 tristate "PCA953x, PCA955x, PCA957x, TCA64xx, and MAX7310 I/O ports"
eric miao9e60fdc2008-02-04 22:28:26 -0800319 depends on I2C
320 help
David Brownell7059d4b2008-07-04 09:59:37 -0700321 Say yes here to provide access to several register-oriented
322 SMBus I/O expanders, made mostly by NXP or TI. Compatible
323 models include:
324
325 4 bits: pca9536, pca9537
326
Axel Linc29985d2012-04-06 17:11:46 +0800327 8 bits: max7310, max7315, pca6107, pca9534, pca9538, pca9554,
328 pca9556, pca9557, pca9574, tca6408
David Brownell7059d4b2008-07-04 09:59:37 -0700329
Axel Linc29985d2012-04-06 17:11:46 +0800330 16 bits: max7312, max7313, pca9535, pca9539, pca9555, pca9575,
331 tca6416
eric miao9e60fdc2008-02-04 22:28:26 -0800332
Marc Zyngier89ea8bb2010-03-05 13:44:36 -0800333config GPIO_PCA953X_IRQ
334 bool "Interrupt controller support for PCA953x"
335 depends on GPIO_PCA953X=y
336 help
337 Say yes here to enable the pca953x to be used as an interrupt
338 controller. It requires the driver to be built in the kernel.
339
David Brownell15fae372008-02-04 22:28:24 -0800340config GPIO_PCF857X
David Brownell1673ad52008-07-21 14:21:34 -0700341 tristate "PCF857x, PCA{85,96}7x, and MAX732[89] I2C GPIO expanders"
David Brownell15fae372008-02-04 22:28:24 -0800342 depends on I2C
Arnd Bergmann901acf52012-09-28 23:36:15 +0200343 select IRQ_DOMAIN
David Brownell15fae372008-02-04 22:28:24 -0800344 help
345 Say yes here to provide access to most "quasi-bidirectional" I2C
346 GPIO expanders used for additional digital outputs or inputs.
347 Most of these parts are from NXP, though TI is a second source for
348 some of them. Compatible models include:
349
350 8 bits: pcf8574, pcf8574a, pca8574, pca8574a,
David Brownell1673ad52008-07-21 14:21:34 -0700351 pca9670, pca9672, pca9674, pca9674a,
352 max7328, max7329
David Brownell15fae372008-02-04 22:28:24 -0800353
354 16 bits: pcf8575, pcf8575c, pca8575,
355 pca9671, pca9673, pca9675
356
357 Your board setup code will need to declare the expanders in
358 use, and assign numbers to the GPIOs they expose. Those GPIOs
359 can then be used from drivers and other kernel code, just like
360 other GPIOs, but only accessible from task contexts.
361
362 This driver provides an in-kernel interface to those GPIOs using
363 platform-neutral GPIO calls.
364
Laxman Dewangane9fe32b2012-05-14 12:46:12 +0530365config GPIO_RC5T583
366 bool "RICOH RC5T583 GPIO"
367 depends on MFD_RC5T583
368 help
369 Select this option to enable GPIO driver for the Ricoh RC5T583
370 chip family.
371 This driver provides the support for driving/reading the gpio pins
372 of RC5T583 device through standard gpio library.
373
Gregory Beanc34f16b2010-08-10 18:02:27 -0700374config GPIO_SX150X
375 bool "Semtech SX150x I2C GPIO expander"
376 depends on I2C=y
377 default n
378 help
379 Say yes here to provide support for Semtech SX150-series I2C
380 GPIO expanders. Compatible models include:
381
382 8 bits: sx1508q
383 16 bits: sx1509q
384
Rabin Vincent03f822f2010-07-02 16:52:09 +0530385config GPIO_STMPE
386 bool "STMPE GPIOs"
387 depends on MFD_STMPE
388 help
389 This enables support for the GPIOs found on the STMPE I/O
390 Expanders.
391
John Crispin5238f7b2012-05-11 18:48:39 +0200392config GPIO_STP_XWAY
393 bool "XWAY STP GPIOs"
394 depends on SOC_XWAY
395 help
396 This enables support for the Serial To Parallel (STP) unit found on
397 XWAY SoC. The STP allows the SoC to drive a shift registers cascade,
398 that can be up to 24 bit. This peripheral is aimed at driving leds.
399 Some of the gpios/leds can be auto updated by the soc with dsl and
400 phy status.
401
Sundar Iyerf4e8afd2010-12-13 09:33:13 +0530402config GPIO_TC3589X
403 bool "TC3589X GPIOs"
404 depends on MFD_TC3589X
Rabin Vincentd88b25b2010-05-10 23:43:47 +0200405 help
Sundar Iyerf4e8afd2010-12-13 09:33:13 +0530406 This enables support for the GPIOs found on the TC3589X
Rabin Vincentd88b25b2010-05-10 23:43:47 +0200407 I/O Expander.
408
Margarita Olaya668a6cc2011-06-09 14:50:19 -0500409config GPIO_TPS65912
410 tristate "TI TPS65912 GPIO"
411 depends on (MFD_TPS65912_I2C || MFD_TPS65912_SPI)
412 help
413 This driver supports TPS65912 gpio chip
414
David Brownelle9d359472008-10-20 23:51:46 +0200415config GPIO_TWL4030
416 tristate "TWL4030, TWL5030, and TPS659x0 GPIOs"
417 depends on TWL4030_CORE
418 help
419 Say yes here to access the GPIO signals of various multi-function
420 power management chips from Texas Instruments.
421
Peter Ujfalusi70ffd692012-08-16 15:13:15 +0300422config GPIO_TWL6040
423 tristate "TWL6040 GPO"
424 depends on TWL6040_CORE
425 help
426 Say yes here to access the GPO signals of twl6040
427 audio chip from Texas Instruments.
428
Mark Browne4b736f2009-07-27 14:46:00 +0100429config GPIO_WM831X
430 tristate "WM831x GPIOs"
431 depends on MFD_WM831X
432 help
433 Say yes here to access the GPIO signals of WM831x power management
434 chips from Wolfson Microelectronics.
435
Mark Brown38f6ce42010-01-07 16:10:08 +0000436config GPIO_WM8350
437 tristate "WM8350 GPIOs"
438 depends on MFD_WM8350
439 help
440 Say yes here to access the GPIO signals of WM8350 power management
441 chips from Wolfson Microelectronics.
442
Mark Brown2955c302010-01-29 18:20:30 +0000443config GPIO_WM8994
444 tristate "WM8994 GPIOs"
445 depends on MFD_WM8994
446 help
447 Say yes here to access the GPIO signals of WM8994 audio hub
448 CODECs from Wolfson Microelectronics.
449
Michael Hennerichef72af42009-09-22 16:46:39 -0700450config GPIO_ADP5520
451 tristate "GPIO Support for ADP5520 PMIC"
452 depends on PMIC_ADP5520
453 help
454 This option enables support for on-chip GPIO found
455 on Analog Devices ADP5520 PMICs.
456
Michael Hennerich80884092010-01-08 14:43:08 -0800457config GPIO_ADP5588
458 tristate "ADP5588 I2C GPIO expander"
459 depends on I2C
460 help
461 This option enables support for 18 GPIOs found
462 on Analog Devices ADP5588 GPIO Expanders.
Michael Hennerich80884092010-01-08 14:43:08 -0800463
Michael Hennerich459773a2010-10-27 15:33:19 -0700464config GPIO_ADP5588_IRQ
465 bool "Interrupt controller support for ADP5588"
466 depends on GPIO_ADP5588=y
467 help
468 Say yes here to enable the adp5588 to be used as an interrupt
469 controller. It requires the driver to be built in the kernel.
470
Thierry Reding5e969a42012-09-18 10:57:10 +0200471config GPIO_ADNP
472 tristate "Avionic Design N-bit GPIO expander"
473 depends on I2C && OF
474 help
475 This option enables support for N GPIOs found on Avionic Design
476 I2C GPIO expanders. The register space will be extended by powers
477 of two, so the controller will need to accomodate for that. For
478 example: if a controller provides 48 pins, 6 registers will be
479 enough to represent all pins, but the driver will assume a
480 register layout for 64 pins (8 registers).
481
Michael Bueschff1d5c22008-07-25 01:46:10 -0700482comment "PCI GPIO expanders:"
483
Andres Salomon5f0a96b2009-12-14 18:00:32 -0800484config GPIO_CS5535
485 tristate "AMD CS5535/CS5536 GPIO support"
Paul Bollebabf0002011-11-23 11:44:24 +0100486 depends on PCI && X86 && MFD_CS5535
Andres Salomon5f0a96b2009-12-14 18:00:32 -0800487 help
488 The AMD CS5535 and CS5536 southbridges support 28 GPIO pins that
489 can be used for quite a number of things. The CS5535/6 is found on
490 AMD Geode and Lemote Yeeloong devices.
491
492 If unsure, say N.
493
Michael Bueschff1d5c22008-07-25 01:46:10 -0700494config GPIO_BT8XX
495 tristate "BT8XX GPIO abuser"
496 depends on PCI && VIDEO_BT848=n
497 help
498 The BT8xx frame grabber chip has 24 GPIO pins than can be abused
499 as a cheap PCI GPIO card.
500
501 This chip can be found on Miro, Hauppauge and STB TV-cards.
502
503 The card needs to be physically altered for using it as a
504 GPIO card. For more information on how to build a GPIO card
505 from a BT8xx TV card, see the documentation file at
506 Documentation/bt8xxgpio.txt
507
508 If unsure, say N.
509
Dmitry Eremin-Solenikovf942a7d2012-06-01 17:36:31 +0400510config GPIO_AMD8111
511 tristate "AMD 8111 GPIO driver"
512 depends on PCI
513 help
514 The AMD 8111 south bridge contains 32 GPIO pins which can be used.
515
516 Note, that usually system firmware/ACPI handles GPIO pins on their
517 own and users might easily break their systems with uncarefull usage
518 of this driver!
519
520 If unsure, say N
521
Alek Du8bf02612009-09-22 16:46:36 -0700522config GPIO_LANGWELL
Alek Du8081c842010-05-26 14:42:25 -0700523 bool "Intel Langwell/Penwell GPIO support"
Thomas Gleixner61ab3fe2011-03-17 19:32:46 +0000524 depends on PCI && X86
Mika Westerberg465f2bd2012-05-02 11:15:50 +0300525 select IRQ_DOMAIN
Alek Du8bf02612009-09-22 16:46:36 -0700526 help
Alek Du8081c842010-05-26 14:42:25 -0700527 Say Y here to support Intel Langwell/Penwell GPIO.
Alek Du8bf02612009-09-22 16:46:36 -0700528
Tomoya MORINAGA04c17aa82010-10-27 15:33:21 -0700529config GPIO_PCH
Tomoya MORINAGA868fea02011-10-28 09:23:32 +0900530 tristate "Intel EG20T PCH/LAPIS Semiconductor IOH(ML7223/ML7831) GPIO"
Thomas Gleixner61ab3fe2011-03-17 19:32:46 +0000531 depends on PCI && X86
Tomoya MORINAGA38eb18a2011-07-21 09:19:59 +0900532 select GENERIC_IRQ_CHIP
Tomoya MORINAGA04c17aa82010-10-27 15:33:21 -0700533 help
534 This driver is for PCH(Platform controller Hub) GPIO of Intel Topcliff
535 which is an IOH(Input/Output Hub) for x86 embedded processor.
536 This driver can access PCH GPIO device.
537
Tomoya MORINAGA868fea02011-10-28 09:23:32 +0900538 This driver also can be used for LAPIS Semiconductor IOH(Input/
539 Output Hub), ML7223 and ML7831.
Tomoya MORINAGAbc786cc2011-05-09 19:58:49 +0900540 ML7223 IOH is for MP(Media Phone) use.
Tomoya MORINAGA868fea02011-10-28 09:23:32 +0900541 ML7831 IOH is for general purpose use.
542 ML7223/ML7831 is companion chip for Intel Atom E6xx series.
543 ML7223/ML7831 is completely compatible for Intel EG20T PCH.
Tomoya MORINAGAbc786cc2011-05-09 19:58:49 +0900544
Tomoya MORINAGA49a36792011-01-12 17:00:22 -0800545config GPIO_ML_IOH
546 tristate "OKI SEMICONDUCTOR ML7213 IOH GPIO support"
547 depends on PCI
Tomoya MORINAGA54be5662011-08-05 13:04:21 +0900548 select GENERIC_IRQ_CHIP
Tomoya MORINAGA49a36792011-01-12 17:00:22 -0800549 help
550 ML7213 is companion chip for Intel Atom E6xx series.
551 This driver can be used for OKI SEMICONDUCTOR ML7213 IOH(Input/Output
552 Hub) which is for IVI(In-Vehicle Infotainment) use.
553 This driver can access the IOH's GPIO device.
554
Sebastian Andrzej Siewiorb43ab902011-06-27 09:26:23 +0200555config GPIO_SODAVILLE
556 bool "Intel Sodaville GPIO support"
Grant Likely3ffc9ce2012-03-28 14:55:04 -0600557 depends on X86 && PCI && OF
Sebastian Andrzej Siewiorb43ab902011-06-27 09:26:23 +0200558 select GPIO_GENERIC
559 select GENERIC_IRQ_CHIP
560 help
561 Say Y here to support Intel Sodaville GPIO.
562
Richard Röjfors35570ac2009-12-15 16:46:18 -0800563config GPIO_TIMBERDALE
564 bool "Support for timberdale GPIO IP"
H Hartley Sweeten6cff9e22011-05-20 00:40:17 -0600565 depends on MFD_TIMBERDALE && HAS_IOMEM
Richard Röjfors35570ac2009-12-15 16:46:18 -0800566 ---help---
567 Add support for the GPIO IP in the timberdale FPGA.
568
Florian Fainelli9956d022010-03-21 01:06:09 +0100569config GPIO_RDC321X
570 tristate "RDC R-321x GPIO support"
H Hartley Sweeten6cff9e22011-05-20 00:40:17 -0600571 depends on PCI
Randy Dunlape4be3cb2010-05-11 13:24:20 -0700572 select MFD_CORE
Florian Fainelli9956d022010-03-21 01:06:09 +0100573 select MFD_RDC321X
574 help
575 Support for the RDC R321x SoC GPIOs over southbridge
576 PCI configuration space.
577
David Brownella9c5fff2008-02-04 22:28:17 -0800578comment "SPI GPIO expanders:"
579
Juergen Beisert0c36ec32008-07-21 14:21:34 -0700580config GPIO_MAX7301
581 tristate "Maxim MAX7301 GPIO expander"
582 depends on SPI_MASTER
Wolfram Sange9528052010-03-05 13:44:33 -0800583 select GPIO_MAX730X
Juergen Beisert0c36ec32008-07-21 14:21:34 -0700584 help
Wolfram Sange9528052010-03-05 13:44:33 -0800585 GPIO driver for Maxim MAX7301 SPI-based GPIO expander.
Juergen Beisert0c36ec32008-07-21 14:21:34 -0700586
David Brownelle58b9e22008-02-04 22:28:25 -0800587config GPIO_MCP23S08
Peter Korsgaard752ad5e2011-07-15 10:25:32 +0200588 tristate "Microchip MCP23xxx I/O expander"
589 depends on SPI_MASTER || I2C
David Brownelle58b9e22008-02-04 22:28:25 -0800590 help
Peter Korsgaard752ad5e2011-07-15 10:25:32 +0200591 SPI/I2C driver for Microchip MCP23S08/MCP23S17/MCP23008/MCP23017
592 I/O expanders.
Peter Korsgaard0b7bb772011-03-09 17:56:30 +0100593 This provides a GPIO interface supporting inputs and outputs.
David Brownelle58b9e22008-02-04 22:28:25 -0800594
Richard Röjfors1e5db002009-09-22 16:46:34 -0700595config GPIO_MC33880
596 tristate "Freescale MC33880 high-side/low-side switch"
597 depends on SPI_MASTER
598 help
599 SPI driver for Freescale MC33880 high-side/low-side switch.
600 This provides GPIO interface supporting inputs and outputs.
601
Miguel Gaioead6db082010-10-27 15:33:18 -0700602config GPIO_74X164
603 tristate "74x164 serial-in/parallel-out 8-bits shift register"
604 depends on SPI_MASTER
605 help
606 Platform driver for 74x164 compatible serial-in/parallel-out
607 8-outputs shift registers. This driver can be used to provide access
608 to more gpio outputs.
609
Marek Vasut4cf8e532009-09-22 16:46:35 -0700610comment "AC97 GPIO expanders:"
611
612config GPIO_UCB1400
613 bool "Philips UCB1400 GPIO"
614 depends on UCB1400_CORE
615 help
616 This enables support for the Philips UCB1400 GPIO pins.
617 The UCB1400 is an AC97 audio codec.
618
Ira W. Snyder800e69f2010-04-07 10:08:01 +0200619comment "MODULbus GPIO expanders:"
620
621config GPIO_JANZ_TTL
622 tristate "Janz VMOD-TTL Digital IO Module"
623 depends on MFD_JANZ_CMODIO
624 help
625 This enables support for the Janz VMOD-TTL Digital IO module.
626 This driver provides support for driving the pins in output
627 mode only. Input mode is not supported.
628
Grant Likelyc103de22011-06-04 18:38:28 -0600629config GPIO_AB8500
Bibek Basu0cb3fcd2011-02-09 11:02:35 +0530630 bool "ST-Ericsson AB8500 Mixed Signal Circuit gpio functions"
Thomas Gleixner9ad198c2011-03-29 04:02:50 +0200631 depends on AB8500_CORE && BROKEN
Bibek Basu0cb3fcd2011-02-09 11:02:35 +0530632 help
633 Select this to enable the AB8500 IC GPIO driver
Jorge Eduardo Candelaria83545d82011-05-16 18:35:37 -0500634
Laxman Dewangan72bd9862012-07-18 11:50:48 +0530635config GPIO_TPS6586X
636 bool "TPS6586X GPIO"
637 depends on MFD_TPS6586X
638 help
639 Select this option to enable GPIO driver for the TPS6586X
640 chip family.
641
Jorge Eduardo Candelaria83545d82011-05-16 18:35:37 -0500642config GPIO_TPS65910
643 bool "TPS65910 GPIO"
644 depends on MFD_TPS65910
645 help
646 Select this option to enable GPIO driver for the TPS65910
647 chip family.
Mathias Nyman25cf2502012-04-24 11:02:49 +0100648
649config GPIO_MSIC
650 bool "Intel MSIC mixed signal gpio support"
651 depends on MFD_INTEL_MSIC
652 help
653 Enable support for GPIO on intel MSIC controllers found in
654 intel MID devices
655
Michael Buesch7444a722008-07-25 01:46:11 -0700656endif