Blame view

drivers/gpio/Kconfig 20.6 KB
a9c5fff54   David Brownell   gpiolib: add driv...
1
  #
e849dc044   Linus Walleij   gpio: remove some...
2
  # GPIO infrastructure and drivers
a9c5fff54   David Brownell   gpiolib: add driv...
3
  #
7563bbf89   Mark Brown   gpiolib/arches: C...
4
5
6
7
8
9
10
  config ARCH_HAVE_CUSTOM_GPIO_H
  	bool
  	help
  	  Selecting this config option from the architecture Kconfig allows
  	  the architecture to provide a custom asm/gpio.h implementation
  	  overriding the default implementations.  New uses of this are
  	  strongly discouraged.
7444a72ef   Michael Buesch   gpiolib: allow us...
11
  config ARCH_WANT_OPTIONAL_GPIOLIB
a9c5fff54   David Brownell   gpiolib: add driv...
12
13
  	bool
  	help
7444a72ef   Michael Buesch   gpiolib: allow us...
14
15
16
17
18
19
20
21
22
23
24
  	  Select this config option from the architecture Kconfig, if
  	  it is possible to use gpiolib on the architecture, but let the
  	  user decide whether to actually build it or not.
  	  Select this instead of ARCH_REQUIRE_GPIOLIB, if your architecture does
  	  not depend on GPIOs being available, but rather let the user
  	  decide whether he needs it or not.
  
  config ARCH_REQUIRE_GPIOLIB
  	bool
  	select GPIOLIB
  	help
a9c5fff54   David Brownell   gpiolib: add driv...
25
26
27
  	  Platforms select gpiolib if they use this infrastructure
  	  for all their GPIOs, usually starting with ones integrated
  	  into SOC processors.
7444a72ef   Michael Buesch   gpiolib: allow us...
28
29
  	  Selecting this from the architecture code will cause the gpiolib
  	  code to always get built in.
6a89a314a   Shawn Guo   gpio: devm_gpio_*...
30
31
32
  config GPIO_DEVRES
  	def_bool y
  	depends on HAS_IOMEM
7444a72ef   Michael Buesch   gpiolib: allow us...
33
34
35
36
37
  
  
  menuconfig GPIOLIB
  	bool "GPIO Support"
  	depends on ARCH_WANT_OPTIONAL_GPIOLIB || ARCH_REQUIRE_GPIOLIB
7444a72ef   Michael Buesch   gpiolib: allow us...
38
39
40
  	help
  	  This enables GPIO support through the generic GPIO library.
  	  You only need to enable this, if you also want to enable
e849dc044   Linus Walleij   gpio: remove some...
41
  	  one or more of the GPIO drivers below.
7444a72ef   Michael Buesch   gpiolib: allow us...
42
43
  
  	  If unsure, say N.
a9c5fff54   David Brownell   gpiolib: add driv...
44

7444a72ef   Michael Buesch   gpiolib: allow us...
45
  if GPIOLIB
a9c5fff54   David Brownell   gpiolib: add driv...
46

f141ed65f   Grant Likely   gpio: Move DT sup...
47
48
  config OF_GPIO
  	def_bool y
afe760e43   David S. Miller   sparc: Allow OF_G...
49
  	depends on OF
f141ed65f   Grant Likely   gpio: Move DT sup...
50

e29482e84   Mathias Nyman   gpio / ACPI: add ...
51
52
53
  config GPIO_ACPI
  	def_bool y
  	depends on ACPI
a9c5fff54   David Brownell   gpiolib: add driv...
54
55
56
57
58
  config DEBUG_GPIO
  	bool "Debug GPIO calls"
  	depends on DEBUG_KERNEL
  	help
  	  Say Y here to add some extra checks and diagnostics to GPIO calls.
692105b8a   Matt LaPlante   trivial: fix typo...
59
60
61
  	  These checks help ensure that GPIOs have been properly initialized
  	  before they are used, and that sleeping calls are not made from
  	  non-sleeping contexts.  They can make bitbanged serial protocols
a9c5fff54   David Brownell   gpiolib: add driv...
62
63
  	  slower.  The diagnostics help catch the type of setup errors
  	  that are most common when setting up new platforms or boards.
d8f388d8d   David Brownell   gpio: sysfs inter...
64
65
  config GPIO_SYSFS
  	bool "/sys/class/gpio/... (sysfs interface)"
4c0ea2337   Kees Cook   drivers/gpio: rem...
66
  	depends on SYSFS
d8f388d8d   David Brownell   gpio: sysfs inter...
67
68
69
70
71
72
73
74
75
76
77
  	help
  	  Say Y here to add a sysfs interface for GPIOs.
  
  	  This is mostly useful to work around omissions in a system's
  	  kernel support.  Those are common in custom and semicustom
  	  hardware assembled using standard kernels with a minimum of
  	  custom patches.  In those cases, userspace code may import
  	  a given GPIO from the kernel, if no kernel driver requested it.
  
  	  Kernel drivers may also request that a particular GPIO be
  	  exported to userspace; this can be useful when debugging.
c103de240   Grant Likely   gpio: reorganize ...
78
79
  config GPIO_GENERIC
  	tristate
e849dc044   Linus Walleij   gpio: remove some...
80
  # put drivers in the right section, in alphabetical order
a9c5fff54   David Brownell   gpiolib: add driv...
81

07bfc9152   ashishj3   GPIO: DA9052 GPIO...
82
83
  config GPIO_DA9052
  	tristate "Dialog DA9052 GPIO"
1c4fe3aa9   Axel Lin   gpio: Remove brok...
84
  	depends on PMIC_DA9052
07bfc9152   ashishj3   GPIO: DA9052 GPIO...
85
86
  	help
  	  Say yes here to enable the GPIO driver for the DA9052 chip.
04ed42797   Ashish Jangam   DA9055 GPIO driver
87
88
89
90
91
92
93
94
95
96
  config GPIO_DA9055
  	tristate "Dialog Semiconductor DA9055 GPIO"
  	depends on MFD_DA9055
  	help
  	  Say yes here to enable the GPIO driver for the DA9055 chip.
  
  	  The Dialog DA9055 PMIC chip has 3 GPIO pins that can be
  	  be controller by this driver.
  
  	  If driver is built as a module it will be called gpio-da9055.
e952805d2   Wolfram Sang   gpio: add driver ...
97
98
  config GPIO_MAX730X
  	tristate
e849dc044   Linus Walleij   gpio: remove some...
99
  comment "Memory mapped GPIO drivers:"
0bcb6069a   John Linn   GPIO: add new Xil...
100

a3b8d4a51   Alexander Shiyan   GPIO: Add support...
101
102
103
  config GPIO_CLPS711X
  	def_bool y
  	depends on ARCH_CLPS711X
c103de240   Grant Likely   gpio: reorganize ...
104
105
106
  config GPIO_GENERIC_PLATFORM
  	tristate "Generic memory-mapped GPIO controller support (MMIO platform device)"
  	select GPIO_GENERIC
aeec56e33   Anton Vorontsov   gpio: add driver ...
107
  	help
c103de240   Grant Likely   gpio: reorganize ...
108
  	  Say yes here to support basic platform_device memory-mapped GPIO controllers.
aeec56e33   Anton Vorontsov   gpio: add driver ...
109

9cc0cb3c7   Denis Turischev   gpio: introduce i...
110
111
  config GPIO_IT8761E
  	tristate "IT8761E GPIO support"
265fe02b6   Grant Likely   gpio/it8761e: Res...
112
  	depends on X86  # unconditional access to IO space.
9cc0cb3c7   Denis Turischev   gpio: introduce i...
113
114
  	help
  	  Say yes here to support GPIO functionality of IT8761E super I/O chip.
a07e103ef   Magnus Damm   gpio: Emma Mobile...
115
116
117
118
119
  config GPIO_EM
  	tristate "Emma Mobile GPIO"
  	depends on ARM
  	help
  	  Say yes here to support GPIO on Renesas Emma Mobile SoCs.
c6b52c13d   H Hartley Sweeten   gpio/ep93xx: move...
120
121
122
  config GPIO_EP93XX
  	def_bool y
  	depends on ARCH_EP93XX
1e4c88420   H Hartley Sweeten   gpio/ep93xx: conv...
123
  	select GPIO_GENERIC
c6b52c13d   H Hartley Sweeten   gpio/ep93xx: move...
124

5238f7bc3   John Crispin   GPIO: MIPS: lanti...
125
126
127
128
129
130
131
  config GPIO_MM_LANTIQ
  	bool "Lantiq Memory mapped GPIOs"
  	depends on LANTIQ && SOC_XWAY
  	help
  	  This enables support for memory mapped GPIOs on the External Bus Unit
  	  (EBU) found on Lantiq SoCs. The gpios are output only as they are
  	  created by attaching a 16bit latch to the bus.
6eae1ace6   Grant Likely   gpio: Move mpc520...
132
133
134
  config GPIO_MPC5200
  	def_bool y
  	depends on PPC_MPC52xx
c68308dd5   Wolfram Sang   gpio: move mpc8xx...
135
136
137
138
139
140
141
  config GPIO_MPC8XXX
  	bool "MPC512x/MPC8xxx GPIO support"
  	depends on PPC_MPC512x || PPC_MPC831x || PPC_MPC834x || PPC_MPC837x || \
  		   FSL_SOC_BOOKE || PPC_86xx
  	help
  	  Say Y here if you're going to use hardware that connects to the
  	  MPC512x/831x/834x/837x/8572/8610 GPIOs.
74d10d746   David Brown   gpio_msm: Move Qu...
142
143
  config GPIO_MSM_V1
  	tristate "Qualcomm MSM GPIO v1"
afcc0f8c1   Christian Dietrich   gpio/msm_v1: CONF...
144
  	depends on GPIOLIB && ARCH_MSM && (ARCH_MSM7X00A || ARCH_MSM7X30 || ARCH_QSD8X50)
74d10d746   David Brown   gpio_msm: Move Qu...
145
146
147
148
  	help
  	  Say yes here to support the GPIO interface on ARM v6 based
  	  Qualcomm MSM chips.  Most of the pins on the MSM can be
  	  selected for GPIO, and are controlled by this driver.
1a5ab4b3e   David Brown   gpio_msm: Move Qu...
149
150
151
152
153
154
155
  config GPIO_MSM_V2
  	tristate "Qualcomm MSM GPIO v2"
  	depends on GPIOLIB && ARCH_MSM
  	help
  	  Say yes here to support the GPIO interface on ARM v7 based
  	  Qualcomm MSM chips.  Most of the pins on the MSM can be
  	  selected for GPIO, and are controlled by this driver.
fefe7b092   Thomas Petazzoni   gpio: introduce g...
156
157
  config GPIO_MVEBU
  	def_bool y
49e928d6c   Andrew Lunn   GPIO: mvebu: Allo...
158
  	depends on PLAT_ORION
bc1008cf7   Gregory CLEMENT   gpio/mvebu-gpio: ...
159
  	depends on OF
fefe7b092   Thomas Petazzoni   gpio: introduce g...
160
161
  	select GPIO_GENERIC
  	select GENERIC_IRQ_CHIP
d37a65bb4   Shawn Guo   gpio/mxc: Move Fr...
162
163
164
  config GPIO_MXC
  	def_bool y
  	depends on ARCH_MXC
c103de240   Grant Likely   gpio: reorganize ...
165
  	select GPIO_GENERIC
e4ea93336   Shawn Guo   gpio/mxc: convert...
166
  	select GENERIC_IRQ_CHIP
c103de240   Grant Likely   gpio: reorganize ...
167
168
169
170
  
  config GPIO_MXS
  	def_bool y
  	depends on ARCH_MXS
06f88a8ae   Shawn Guo   gpio/mxs: convert...
171
  	select GPIO_GENERIC
498c17cf6   Shawn Guo   gpio/mxs: convert...
172
  	select GENERIC_IRQ_CHIP
d37a65bb4   Shawn Guo   gpio/mxc: Move Fr...
173

1e9c28599   Baruch Siach   gpio: driver for ...
174
175
  config GPIO_PL061
  	bool "PrimeCell PL061 GPIO support"
8618b3b47   Alessandro Rubini   gpio: pl061 depen...
176
  	depends on ARM && ARM_AMBA
3ab524754   Rob Herring   gpio: pl061: conv...
177
  	select GENERIC_IRQ_CHIP
1e9c28599   Baruch Siach   gpio: driver for ...
178
179
  	help
  	  Say yes here to support the PrimeCell PL061 GPIO device
157d2644c   Haojian Zhuang   ARM: pxa: change ...
180
181
182
183
184
  config GPIO_PXA
  	bool "PXA GPIO support"
  	depends on ARCH_PXA || ARCH_MMP
  	help
  	  Say yes here to support the PXA GPIO device
119f5e448   Magnus Damm   gpio: Renesas R-C...
185
186
187
188
189
  config GPIO_RCAR
  	tristate "Renesas R-Car GPIO"
  	depends on ARM
  	help
  	  Say yes here to support GPIO on Renesas R-Car SoCs.
b53bc2819   Shiraz Hashim   gpio: SPEAr: add ...
190
191
192
193
194
195
  config GPIO_SPEAR_SPICS
  	bool "ST SPEAr13xx SPI Chip Select as GPIO support"
  	depends on PLAT_SPEAR
  	select GENERIC_IRQ_CHIP
  	help
  	  Say yes here to support ST SPEAr SPI Chip Select as GPIO device
7b0d44f3b   Alessandro Rubini   gpio: Add STA2X11...
196
197
198
199
200
201
202
  config GPIO_STA2X11
  	bool "STA2x11/ConneXt GPIO support"
  	depends on MFD_STA2X11
  	select GENERIC_IRQ_CHIP
  	help
  	  Say yes here to support the STA2x11/ConneXt GPIO device.
  	  The GPIO module has 128 GPIO pins with alternate functions.
759f5f375   Vivien Didelot   gpio: add TS-5500...
203
204
205
206
207
208
209
  config GPIO_TS5500
  	tristate "TS-5500 DIO blocks and compatibles"
  	help
  	  This driver supports Digital I/O exposed by pin blocks found on some
  	  Technologic Systems platforms. It includes, but is not limited to, 3
  	  blocks of the TS-5500: DIO1, DIO2 and the LCD port, and the TS-5600
  	  LCD port.
0bcb6069a   John Linn   GPIO: add new Xil...
210
211
  config GPIO_XILINX
  	bool "Xilinx GPIO support"
6fa612b56   Michal Simek   microblaze: Kconf...
212
  	depends on PPC_OF || MICROBLAZE
0bcb6069a   John Linn   GPIO: add new Xil...
213
214
  	help
  	  Say yes here to support the Xilinx FPGA GPIO device
27fdd325d   Yoichi Yuasa   MIPS: Update VR41...
215
216
217
218
219
  config GPIO_VR41XX
  	tristate "NEC VR4100 series General-purpose I/O Uint support"
  	depends on CPU_VR41XX
  	help
  	  Say yes here to support the NEC VR4100 series General-purpose I/O Uint
be9b06b2d   Denis Turischev   gpio: add Intel S...
220
  config GPIO_SCH
77820ffae   Seth Heasley   gpio: Add Intel C...
221
  	tristate "Intel SCH/TunnelCreek/Centerton GPIO"
6cff9e2b3   H Hartley Sweeten   gpio: remove redu...
222
  	depends on PCI && X86
860fb8c13   Randy Dunlap   mfd: Fix lpc_sch ...
223
  	select MFD_CORE
be9b06b2d   Denis Turischev   gpio: add Intel S...
224
225
  	select LPC_SCH
  	help
77820ffae   Seth Heasley   gpio: Add Intel C...
226
227
  	  Say yes here to support GPIO interface on Intel Poulsbo SCH,
  	  Intel Tunnel Creek processor or Intel Centerton processor.
be9b06b2d   Denis Turischev   gpio: add Intel S...
228
229
230
231
232
233
  	  The Intel SCH contains a total of 14 GPIO pins. Ten GPIOs are
  	  powered by the core power rail and are turned off during sleep
  	  modes (S3 and higher). The remaining four GPIOs are powered by
  	  the Intel SCH suspend power supply. These GPIOs remain
  	  active during S3. The suspend powered GPIOs can be used to wake the
  	  system from the Suspend-to-RAM state.
f04ddfcd2   Denis Turischev   gpio: Add Tunnel ...
234
235
  	  The Intel Tunnel Creek processor has 5 GPIOs powered by the
  	  core power rail and 9 from suspend power supply.
77820ffae   Seth Heasley   gpio: Add Intel C...
236
237
238
  	  The Intel Centerton processor has a total of 30 GPIO pins.
  	  Twenty-one are powered by the core power rail and 9 from the
  	  suspend power supply.
be9b06b2d   Denis Turischev   gpio: add Intel S...
239

6ed9f9c40   Peter Tyser   gpio: Add support...
240
241
242
243
244
245
246
247
248
249
250
251
  config GPIO_ICH
  	tristate "Intel ICH GPIO"
  	depends on PCI && X86
  	select MFD_CORE
  	select LPC_ICH
  	help
  	  Say yes here to support the GPIO functionality of a number of Intel
  	  ICH-based chipsets.  Currently supported devices: ICH6, ICH7, ICH8
  	  ICH9, ICH10, Series 5/3400 (eg Ibex Peak), Series 6/C200 (eg
  	  Cougar Point), NM10 (Tiger Point), and 3100 (Whitmore Lake).
  
  	  If unsure, say N.
be9b06b2d   Denis Turischev   gpio: add Intel S...
252

99ea2626a   Daniel Drake   gpio: Add VIA VX8...
253
254
  config GPIO_VX855
  	tristate "VIA VX855/VX875 GPIO"
29bde2d93   Heiko Carstens   drivers/gpio: add...
255
  	depends on PCI && GENERIC_HARDIRQS
99ea2626a   Daniel Drake   gpio: Add VIA VX8...
256
257
258
259
260
261
262
263
  	select MFD_CORE
  	select MFD_VX855
  	help
  	  Support access to the VX855/VX875 GPIO lines through the gpio library.
  
  	  This driver provides common support for accessing the device,
  	  additional drivers must be enabled in order to use the
  	  functionality of the device.
6518bb69f   Martyn Welch   gpio: Move GE GPI...
264
265
266
267
268
269
270
271
272
273
  config GPIO_GE_FPGA
  	bool "GE FPGA based GPIO"
  	depends on GE_FPGA
  	help
  	  Support for common GPIO functionality provided on some GE Single Board
  	  Computers.
  
  	  This driver provides basic support (configure as input or output, read
  	  and write pin state) for GPIO implemented in a number of GE single
  	  board computers.
1d09aaa6a   Mathias Nyman   gpio/lynxpoint: a...
274
275
  config GPIO_LYNXPOINT
  	bool "Intel Lynxpoint GPIO support"
977d16b87   Mathias Nyman   gpio-lynxpoint: A...
276
  	depends on ACPI && X86
1d09aaa6a   Mathias Nyman   gpio/lynxpoint: a...
277
278
279
280
  	select IRQ_DOMAIN
  	help
  	  driver for GPIO functionality on Intel Lynxpoint PCH chipset
  	  Requires ACPI device enumeration code to set up a platform device.
ddb27f3bf   Andreas Larsson   gpio: grgpio: Add...
281
282
283
284
285
286
287
288
  config GPIO_GRGPIO
  	tristate "Aeroflex Gaisler GRGPIO support"
  	depends on OF
  	select GPIO_GENERIC
  	select IRQ_DOMAIN
  	help
  	  Select this to support Aeroflex Gaisler GRGPIO cores from the GRLIB
  	  VHDL IP core library.
a9c5fff54   David Brownell   gpiolib: add driv...
289
  comment "I2C GPIO expanders:"
31ba56f27   Mark Brown   gpiolib: Add supp...
290
291
292
293
294
  config GPIO_ARIZONA
  	tristate "Wolfson Microelectronics Arizona class devices"
  	depends on MFD_ARIZONA
  	help
  	  Support for GPIOs on Wolfson Arizona class devices.
e952805d2   Wolfram Sang   gpio: add driver ...
295
296
297
298
299
300
  config GPIO_MAX7300
  	tristate "Maxim MAX7300 GPIO expander"
  	depends on I2C
  	select GPIO_MAX730X
  	help
  	  GPIO driver for Maxim MAX7301 I2C-based GPIO expander.
bbcd6d543   Eric Miao   gpio: max732x driver
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
  config GPIO_MAX732X
  	tristate "MAX7319, MAX7320-7327 I2C Port Expanders"
  	depends on I2C
  	help
  	  Say yes here to support the MAX7319, MAX7320-7327 series of I2C
  	  Port Expanders. Each IO port on these chips has a fixed role of
  	  Input (designated by 'I'), Push-Pull Output ('O'), or Open-Drain
  	  Input and Output (designed by 'P'). The combinations are listed
  	  below:
  
  	  8 bits:	max7319 (8I), max7320 (8O), max7321 (8P),
  		  	max7322 (4I4O), max7323 (4P4O)
  
  	  16 bits:	max7324 (8I8O), max7325 (8P8O),
  		  	max7326 (4I12O), max7327 (4P12O)
  
  	  Board setup code must specify the model to use, and the start
  	  number for these GPIOs.
a80a0bbee   Marc Zyngier   gpio: add interru...
319
320
321
322
323
324
  config GPIO_MAX732X_IRQ
  	bool "Interrupt controller support for MAX732x"
  	depends on GPIO_MAX732X=y && GENERIC_HARDIRQS
  	help
  	  Say yes here to enable the max732x to be used as an interrupt
  	  controller. It requires the driver to be built in the kernel.
608589b15   wu guoxing   ARM/mx35/3ds: gpi...
325
326
  config GPIO_MC9S08DZ60
  	bool "MX35 3DS BOARD MC9S08DZ60 GPIO functions"
4c30aa33d   Axel Lin   gpio: mc9s08dz60:...
327
  	depends on I2C=y && MACH_MX35_3DS
608589b15   wu guoxing   ARM/mx35/3ds: gpi...
328
329
  	help
  	  Select this to enable the MC9S08DZ60 GPIO driver
f3dc3630f   Guennadi Liakhovetski   gpio: rename pca9...
330
  config GPIO_PCA953X
c29985dd3   Axel Lin   gpio/pca953x: Upd...
331
  	tristate "PCA953x, PCA955x, PCA957x, TCA64xx, and MAX7310 I/O ports"
9e60fdcf0   eric miao   gpiolib: pca9539 ...
332
333
  	depends on I2C
  	help
7059d4b08   David Brownell   gpio: pca953x (i2...
334
335
336
337
338
  	  Say yes here to provide access to several register-oriented
  	  SMBus I/O expanders, made mostly by NXP or TI.  Compatible
  	  models include:
  
  	  4 bits:	pca9536, pca9537
c29985dd3   Axel Lin   gpio/pca953x: Upd...
339
340
  	  8 bits:	max7310, max7315, pca6107, pca9534, pca9538, pca9554,
  			pca9556, pca9557, pca9574, tca6408
7059d4b08   David Brownell   gpio: pca953x (i2...
341

c29985dd3   Axel Lin   gpio/pca953x: Upd...
342
343
  	  16 bits:	max7312, max7313, pca9535, pca9539, pca9555, pca9575,
  			tca6416
9e60fdcf0   eric miao   gpiolib: pca9539 ...
344

89ea8bbe9   Marc Zyngier   gpio: pca953x.c: ...
345
346
347
348
349
350
  config GPIO_PCA953X_IRQ
  	bool "Interrupt controller support for PCA953x"
  	depends on GPIO_PCA953X=y
  	help
  	  Say yes here to enable the pca953x to be used as an interrupt
  	  controller. It requires the driver to be built in the kernel.
15fae37d9   David Brownell   gpiolib: pcf857x ...
351
  config GPIO_PCF857X
1673ad52b   David Brownell   gpio: pcf857x: ad...
352
  	tristate "PCF857x, PCA{85,96}7x, and MAX732[89] I2C GPIO expanders"
15fae37d9   David Brownell   gpiolib: pcf857x ...
353
  	depends on I2C
901acf5b2   Arnd Bergmann   gpio: pcf857x: se...
354
  	select IRQ_DOMAIN
15fae37d9   David Brownell   gpiolib: pcf857x ...
355
356
357
358
359
360
361
  	help
  	  Say yes here to provide access to most "quasi-bidirectional" I2C
  	  GPIO expanders used for additional digital outputs or inputs.
  	  Most of these parts are from NXP, though TI is a second source for
  	  some of them.  Compatible models include:
  
  	  8 bits:   pcf8574, pcf8574a, pca8574, pca8574a,
1673ad52b   David Brownell   gpio: pcf857x: ad...
362
363
  	            pca9670, pca9672, pca9674, pca9674a,
  	  	    max7328, max7329
15fae37d9   David Brownell   gpiolib: pcf857x ...
364
365
366
367
368
369
370
371
372
373
374
  
  	  16 bits:  pcf8575, pcf8575c, pca8575,
  	            pca9671, pca9673, pca9675
  
  	  Your board setup code will need to declare the expanders in
  	  use, and assign numbers to the GPIOs they expose.  Those GPIOs
  	  can then be used from drivers and other kernel code, just like
  	  other GPIOs, but only accessible from task contexts.
  
  	  This driver provides an in-kernel interface to those GPIOs using
  	  platform-neutral GPIO calls.
e9fe32bca   Laxman Dewangan   gpio/rc5t583: add...
375
376
377
378
379
380
381
382
  config GPIO_RC5T583
  	bool "RICOH RC5T583 GPIO"
  	depends on MFD_RC5T583
  	help
  	  Select this option to enable GPIO driver for the Ricoh RC5T583
  	  chip family.
  	  This driver provides the support for driving/reading the gpio pins
  	  of RC5T583 device through standard gpio library.
c34f16b70   Gregory Bean   gpio: sx150x: add...
383
384
385
386
387
388
389
390
391
392
  config GPIO_SX150X
  	bool "Semtech SX150x I2C GPIO expander"
  	depends on I2C=y
  	default n
  	help
  	  Say yes here to provide support for Semtech SX150-series I2C
  	  GPIO expanders. Compatible models include:
  
  	  8 bits:  sx1508q
  	  16 bits: sx1509q
03f822f5e   Rabin Vincent   gpio: Add STMPE G...
393
394
395
396
397
398
  config GPIO_STMPE
  	bool "STMPE GPIOs"
  	depends on MFD_STMPE
  	help
  	  This enables support for the GPIOs found on the STMPE I/O
  	  Expanders.
5238f7bc3   John Crispin   GPIO: MIPS: lanti...
399
400
401
402
403
404
405
406
407
  config GPIO_STP_XWAY
  	bool "XWAY STP GPIOs"
  	depends on SOC_XWAY
  	help
  	  This enables support for the Serial To Parallel (STP) unit found on
  	  XWAY SoC. The STP allows the SoC to drive a shift registers cascade,
  	  that can be up to 24 bit. This peripheral is aimed at driving leds.
  	  Some of the gpios/leds can be auto updated by the soc with dsl and
  	  phy status.
f4e8afdc7   Sundar Iyer   mfd/tc35892: rena...
408
409
410
  config GPIO_TC3589X
  	bool "TC3589X GPIOs"
  	depends on MFD_TC3589X
d88b25be3   Rabin Vincent   gpio: Add TC35892...
411
  	help
f4e8afdc7   Sundar Iyer   mfd/tc35892: rena...
412
  	  This enables support for the GPIOs found on the TC3589X
d88b25be3   Rabin Vincent   gpio: Add TC35892...
413
  	  I/O Expander.
668a6cc71   Margarita Olaya   tps65912: gpio: a...
414
415
416
417
418
  config GPIO_TPS65912
  	tristate "TI TPS65912 GPIO"
  	depends on (MFD_TPS65912_I2C || MFD_TPS65912_SPI)
  	help
  	  This driver supports TPS65912 gpio chip
e9d359471   David Brownell   mfd: twl4030-gpio...
419
420
421
422
423
424
  config GPIO_TWL4030
  	tristate "TWL4030, TWL5030, and TPS659x0 GPIOs"
  	depends on TWL4030_CORE
  	help
  	  Say yes here to access the GPIO signals of various multi-function
  	  power management chips from Texas Instruments.
70ffd691f   Peter Ujfalusi   gpio: Add basic s...
425
426
427
428
429
430
  config GPIO_TWL6040
  	tristate "TWL6040 GPO"
  	depends on TWL6040_CORE
  	help
  	  Say yes here to access the GPO signals of twl6040
  	  audio chip from Texas Instruments.
e4b736f18   Mark Brown   gpio: Add WM831X ...
431
432
433
434
435
436
  config GPIO_WM831X
  	tristate "WM831x GPIOs"
  	depends on MFD_WM831X
  	help
  	  Say yes here to access the GPIO signals of WM831x power management
  	  chips from Wolfson Microelectronics.
38f6ce45f   Mark Brown   gpiolib: Add supp...
437
438
439
440
441
442
  config GPIO_WM8350
  	tristate "WM8350 GPIOs"
  	depends on MFD_WM8350
  	help
  	  Say yes here to access the GPIO signals of WM8350 power management
  	  chips from Wolfson Microelectronics.
2955c3099   Mark Brown   gpiolib: Add WM89...
443
444
445
446
447
448
  config GPIO_WM8994
  	tristate "WM8994 GPIOs"
  	depends on MFD_WM8994
  	help
  	  Say yes here to access the GPIO signals of WM8994 audio hub
  	  CODECs from Wolfson Microelectronics.
ef72af408   Michael Hennerich   gpio: gpio suppor...
449
450
451
452
453
454
  config GPIO_ADP5520
  	tristate "GPIO Support for ADP5520 PMIC"
  	depends on PMIC_ADP5520
  	help
  	  This option enables support for on-chip GPIO found
  	  on Analog Devices ADP5520 PMICs.
80884094e   Michael Hennerich   gpio: adp5588-gpi...
455
456
457
458
459
460
  config GPIO_ADP5588
  	tristate "ADP5588 I2C GPIO expander"
  	depends on I2C
  	help
  	  This option enables support for 18 GPIOs found
  	  on Analog Devices ADP5588 GPIO Expanders.
80884094e   Michael Hennerich   gpio: adp5588-gpi...
461

459773ae8   Michael Hennerich   gpio: adp5588-gpi...
462
463
464
465
466
467
  config GPIO_ADP5588_IRQ
  	bool "Interrupt controller support for ADP5588"
  	depends on GPIO_ADP5588=y
  	help
  	  Say yes here to enable the adp5588 to be used as an interrupt
  	  controller. It requires the driver to be built in the kernel.
5e969a401   Thierry Reding   gpio: Add Avionic...
468
469
  config GPIO_ADNP
  	tristate "Avionic Design N-bit GPIO expander"
cb144fe8e   Thierry Reding   gpio: adnp: Depen...
470
  	depends on I2C && OF_GPIO
5e969a401   Thierry Reding   gpio: Add Avionic...
471
472
473
  	help
  	  This option enables support for N GPIOs found on Avionic Design
  	  I2C GPIO expanders. The register space will be extended by powers
e41e85cc1   Masanari Iida   treewide: Fix typ...
474
  	  of two, so the controller will need to accommodate for that. For
5e969a401   Thierry Reding   gpio: Add Avionic...
475
476
477
  	  example: if a controller provides 48 pins, 6 registers will be
  	  enough to represent all pins, but the driver will assume a
  	  register layout for 64 pins (8 registers).
ff1d5c2f0   Michael Buesch   gpio: add bt8xxgp...
478
  comment "PCI GPIO expanders:"
5f0a96b04   Andres Salomon   cs5535-gpio: add ...
479
480
  config GPIO_CS5535
  	tristate "AMD CS5535/CS5536 GPIO support"
babf000e6   Paul Bolle   gpio: Kconfig: dr...
481
  	depends on PCI && X86 && MFD_CS5535
5f0a96b04   Andres Salomon   cs5535-gpio: add ...
482
483
484
485
486
487
  	help
  	  The AMD CS5535 and CS5536 southbridges support 28 GPIO pins that
  	  can be used for quite a number of things.  The CS5535/6 is found on
  	  AMD Geode and Lemote Yeeloong devices.
  
  	  If unsure, say N.
ff1d5c2f0   Michael Buesch   gpio: add bt8xxgp...
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
  config GPIO_BT8XX
  	tristate "BT8XX GPIO abuser"
  	depends on PCI && VIDEO_BT848=n
  	help
  	  The BT8xx frame grabber chip has 24 GPIO pins than can be abused
  	  as a cheap PCI GPIO card.
  
  	  This chip can be found on Miro, Hauppauge and STB TV-cards.
  
  	  The card needs to be physically altered for using it as a
  	  GPIO card. For more information on how to build a GPIO card
  	  from a BT8xx TV card, see the documentation file at
  	  Documentation/bt8xxgpio.txt
  
  	  If unsure, say N.
f942a7de0   Dmitry Eremin-Solenikov   gpio: add a drive...
503
504
505
506
507
508
509
510
511
512
513
  config GPIO_AMD8111
  	tristate "AMD 8111 GPIO driver"
  	depends on PCI
  	help
  	  The AMD 8111 south bridge contains 32 GPIO pins which can be used.
  
  	  Note, that usually system firmware/ACPI handles GPIO pins on their
  	  own and users might easily break their systems with uncarefull usage
  	  of this driver!
  
  	  If unsure, say N
8bf026177   Alek Du   gpio: add Intel M...
514
  config GPIO_LANGWELL
8081c84c9   Alek Du   gpio: add Penwell...
515
  	bool "Intel Langwell/Penwell GPIO support"
61ab3fe57   Thomas Gleixner   gpio; Make Intel ...
516
  	depends on PCI && X86
465f2bd45   Mika Westerberg   gpio/langwell: co...
517
  	select IRQ_DOMAIN
8bf026177   Alek Du   gpio: add Intel M...
518
  	help
8081c84c9   Alek Du   gpio: add Penwell...
519
  	  Say Y here to support Intel Langwell/Penwell GPIO.
8bf026177   Alek Du   gpio: add Intel M...
520

04c17aa89   Tomoya MORINAGA   gpio: add Topclif...
521
  config GPIO_PCH
868fea050   Tomoya MORINAGA   pch_gpio: Support...
522
  	tristate "Intel EG20T PCH/LAPIS Semiconductor IOH(ML7223/ML7831) GPIO"
61ab3fe57   Thomas Gleixner   gpio; Make Intel ...
523
  	depends on PCI && X86
38eb18a6f   Tomoya MORINAGA   gpio-pch: Support...
524
  	select GENERIC_IRQ_CHIP
04c17aa89   Tomoya MORINAGA   gpio: add Topclif...
525
526
527
528
  	help
  	  This driver is for PCH(Platform controller Hub) GPIO of Intel Topcliff
  	  which is an IOH(Input/Output Hub) for x86 embedded processor.
  	  This driver can access PCH GPIO device.
868fea050   Tomoya MORINAGA   pch_gpio: Support...
529
530
  	  This driver also can be used for LAPIS Semiconductor IOH(Input/
  	  Output Hub), ML7223 and ML7831.
bc786ccea   Tomoya MORINAGA   gpio/pch_gpio: Su...
531
  	  ML7223 IOH is for MP(Media Phone) use.
868fea050   Tomoya MORINAGA   pch_gpio: Support...
532
533
534
  	  ML7831 IOH is for general purpose use.
  	  ML7223/ML7831 is companion chip for Intel Atom E6xx series.
  	  ML7223/ML7831 is completely compatible for Intel EG20T PCH.
bc786ccea   Tomoya MORINAGA   gpio/pch_gpio: Su...
535

49a367937   Tomoya MORINAGA   gpio/ml_ioh_gpio:...
536
537
538
  config GPIO_ML_IOH
  	tristate "OKI SEMICONDUCTOR ML7213 IOH GPIO support"
  	depends on PCI
54be56631   Tomoya MORINAGA   gpio-ml-ioh: Supp...
539
  	select GENERIC_IRQ_CHIP
49a367937   Tomoya MORINAGA   gpio/ml_ioh_gpio:...
540
541
542
543
544
  	help
  	  ML7213 is companion chip for Intel Atom E6xx series.
  	  This driver can be used for OKI SEMICONDUCTOR ML7213 IOH(Input/Output
  	  Hub) which is for IVI(In-Vehicle Infotainment) use.
  	  This driver can access the IOH's GPIO device.
b43ab901d   Sebastian Andrzej Siewior   gpio: Add a drive...
545
546
  config GPIO_SODAVILLE
  	bool "Intel Sodaville GPIO support"
3ffc9cebb   Grant Likely   gpio/sodaville: C...
547
  	depends on X86 && PCI && OF
b43ab901d   Sebastian Andrzej Siewior   gpio: Add a drive...
548
549
550
551
  	select GPIO_GENERIC
  	select GENERIC_IRQ_CHIP
  	help
  	  Say Y here to support Intel Sodaville GPIO.
35570ac60   Richard Röjfors   gpio: add GPIO dr...
552
553
  config GPIO_TIMBERDALE
  	bool "Support for timberdale GPIO IP"
6cff9e2b3   H Hartley Sweeten   gpio: remove redu...
554
  	depends on MFD_TIMBERDALE && HAS_IOMEM
35570ac60   Richard Röjfors   gpio: add GPIO dr...
555
556
  	---help---
  	Add support for the GPIO IP in the timberdale FPGA.
9956d02d6   Florian Fainelli   gpio: Add support...
557
558
  config GPIO_RDC321X
  	tristate "RDC R-321x GPIO support"
29bde2d93   Heiko Carstens   drivers/gpio: add...
559
  	depends on PCI && GENERIC_HARDIRQS
e4be3cb72   Randy Dunlap   gpio: rdc321x nee...
560
  	select MFD_CORE
9956d02d6   Florian Fainelli   gpio: Add support...
561
562
563
564
  	select MFD_RDC321X
  	help
  	  Support for the RDC R321x SoC GPIOs over southbridge
  	  PCI configuration space.
a9c5fff54   David Brownell   gpiolib: add driv...
565
  comment "SPI GPIO expanders:"
0c36ec314   Juergen Beisert   gpio: gpio driver...
566
567
568
  config GPIO_MAX7301
  	tristate "Maxim MAX7301 GPIO expander"
  	depends on SPI_MASTER
e952805d2   Wolfram Sang   gpio: add driver ...
569
  	select GPIO_MAX730X
0c36ec314   Juergen Beisert   gpio: gpio driver...
570
  	help
e952805d2   Wolfram Sang   gpio: add driver ...
571
  	  GPIO driver for Maxim MAX7301 SPI-based GPIO expander.
0c36ec314   Juergen Beisert   gpio: gpio driver...
572

e58b9e276   David Brownell   mcp23s08 spi gpio...
573
  config GPIO_MCP23S08
752ad5e82   Peter Korsgaard   mcp23s08: add i2c...
574
  	tristate "Microchip MCP23xxx I/O expander"
0f119a840   Axel Lin   gpio: mcp23s08: F...
575
  	depends on (SPI_MASTER && !I2C) || I2C
e58b9e276   David Brownell   mcp23s08 spi gpio...
576
  	help
752ad5e82   Peter Korsgaard   mcp23s08: add i2c...
577
578
  	  SPI/I2C driver for Microchip MCP23S08/MCP23S17/MCP23008/MCP23017
  	  I/O expanders.
0b7bb77fd   Peter Korsgaard   gpio/mcp23s08: su...
579
  	  This provides a GPIO interface supporting inputs and outputs.
e58b9e276   David Brownell   mcp23s08 spi gpio...
580

1e5db0068   Richard Röjfors   gpio: add MC33880...
581
582
583
584
585
586
  config GPIO_MC33880
  	tristate "Freescale MC33880 high-side/low-side switch"
  	depends on SPI_MASTER
  	help
  	  SPI driver for Freescale MC33880 high-side/low-side switch.
  	  This provides GPIO interface supporting inputs and outputs.
ead6db084   Miguel Gaio   gpio: add support...
587
588
589
590
591
592
593
  config GPIO_74X164
  	tristate "74x164 serial-in/parallel-out 8-bits shift register"
  	depends on SPI_MASTER
  	help
  	  Platform driver for 74x164 compatible serial-in/parallel-out
  	  8-outputs shift registers. This driver can be used to provide access
  	  to more gpio outputs.
4cf8e53b3   Marek Vasut   mfd/gpio: add a G...
594
595
596
597
598
599
600
601
  comment "AC97 GPIO expanders:"
  
  config GPIO_UCB1400
  	bool "Philips UCB1400 GPIO"
  	depends on UCB1400_CORE
  	help
  	  This enables support for the Philips UCB1400 GPIO pins.
  	  The UCB1400 is an AC97 audio codec.
800e69fbd   Ira W. Snyder   gpio: Add support...
602
603
604
605
606
607
608
609
610
  comment "MODULbus GPIO expanders:"
  
  config GPIO_JANZ_TTL
  	tristate "Janz VMOD-TTL Digital IO Module"
  	depends on MFD_JANZ_CMODIO
  	help
  	  This enables support for the Janz VMOD-TTL Digital IO module.
  	  This driver provides support for driving the pins in output
  	  mode only. Input mode is not supported.
3d50a2785   Laxman Dewangan   gpio: palmas: Add...
611
612
613
614
615
616
  config GPIO_PALMAS
  	bool "TI PALMAS series PMICs GPIO"
  	depends on MFD_PALMAS
  	help
  	  Select this option to enable GPIO driver for the TI PALMAS
  	  series chip family.
72bd98603   Laxman Dewangan   gpio: tps6586x: A...
617
618
619
620
621
622
  config GPIO_TPS6586X
  	bool "TPS6586X GPIO"
  	depends on MFD_TPS6586X
  	help
  	  Select this option to enable GPIO driver for the TPS6586X
  	  chip family.
83545d836   Jorge Eduardo Candelaria   GPIO: TPS65910: M...
623
624
625
626
627
628
  config GPIO_TPS65910
  	bool "TPS65910 GPIO"
  	depends on MFD_TPS65910
  	help
  	  Select this option to enable GPIO driver for the TPS65910
  	  chip family.
25cf25073   Mathias Nyman   gpio: add MSIC gp...
629
630
631
632
633
634
635
  
  config GPIO_MSIC
  	bool "Intel MSIC mixed signal gpio support"
  	depends on MFD_INTEL_MSIC
  	help
  	  Enable support for GPIO on intel MSIC controllers found in
  	  intel MID devices
9d5b72de0   Lars Poeschel   gpio: Add viperbo...
636
637
638
639
640
641
642
643
644
645
646
647
  comment "USB GPIO expanders:"
  
  config GPIO_VIPERBOARD
  	tristate "Viperboard GPIO a & b support"
  	depends on MFD_VIPERBOARD && USB
  	help
  	  Say yes here to access the GPIO signals of Nano River
  	  Technologies Viperboard. There are two GPIO chips on the
  	  board: gpioa and gpiob.
            See viperboard API specification and Nano
            River Tech's viperboard.h for detailed meaning
            of the module parameters.
7444a72ef   Michael Buesch   gpiolib: allow us...
648
  endif