Merge branch 'irq-cleanups-upstream' of git://git.kernel.org/pub/scm/linux/kernel...
[linux-2.6] / drivers / i2c / busses / Kconfig
1 #
2 # Sensor device configuration
3 #
4
5 menu "I2C Hardware Bus support"
6
7 config I2C_ALI1535
8         tristate "ALI 1535"
9         depends on PCI
10         help
11           If you say yes to this option, support will be included for the SMB
12           Host controller on Acer Labs Inc. (ALI) M1535 South Bridges.  The SMB
13           controller is part of the 7101 device, which is an ACPI-compliant
14           Power Management Unit (PMU).
15
16           This driver can also be built as a module.  If so, the module
17           will be called i2c-ali1535.
18
19 config I2C_ALI1563
20         tristate "ALI 1563"
21         depends on PCI && EXPERIMENTAL
22         help
23           If you say yes to this option, support will be included for the SMB
24           Host controller on Acer Labs Inc. (ALI) M1563 South Bridges.  The SMB
25           controller is part of the 7101 device, which is an ACPI-compliant
26           Power Management Unit (PMU).
27
28           This driver can also be built as a module.  If so, the module
29           will be called i2c-ali1563.
30
31 config I2C_ALI15X3
32         tristate "ALI 15x3"
33         depends on PCI
34         help
35           If you say yes to this option, support will be included for the
36           Acer Labs Inc. (ALI) M1514 and M1543 motherboard I2C interfaces.
37
38           This driver can also be built as a module.  If so, the module
39           will be called i2c-ali15x3.
40
41 config I2C_AMD756
42         tristate "AMD 756/766/768/8111 and nVidia nForce"
43         depends on PCI
44         help
45           If you say yes to this option, support will be included for the AMD
46           756/766/768 mainboard I2C interfaces.  The driver also includes
47           support for the first (SMBus 1.0) I2C interface of the AMD 8111 and
48           the nVidia nForce I2C interface.
49
50           This driver can also be built as a module.  If so, the module
51           will be called i2c-amd756.
52
53 config I2C_AMD756_S4882
54         tristate "SMBus multiplexing on the Tyan S4882"
55         depends on I2C_AMD756 && EXPERIMENTAL
56         help
57           Enabling this option will add specific SMBus support for the Tyan
58           S4882 motherboard.  On this 4-CPU board, the SMBus is multiplexed
59           over 8 different channels, where the various memory module EEPROMs
60           and temperature sensors live.  Saying yes here will give you access
61           to these in addition to the trunk.
62
63           This driver can also be built as a module.  If so, the module
64           will be called i2c-amd756-s4882.
65
66 config I2C_AMD8111
67         tristate "AMD 8111"
68         depends on PCI
69         help
70           If you say yes to this option, support will be included for the
71           second (SMBus 2.0) AMD 8111 mainboard I2C interface.
72
73           This driver can also be built as a module.  If so, the module
74           will be called i2c-amd8111.
75
76 config I2C_AT91
77         tristate "Atmel AT91 I2C Two-Wire interface (TWI)"
78         depends on ARCH_AT91 && EXPERIMENTAL && BROKEN
79         help
80           This supports the use of the I2C interface on Atmel AT91
81           processors.
82
83           This driver is BROKEN because the controller which it uses
84           will easily trigger RX overrun and TX underrun errors.  Using
85           low I2C clock rates may partially work around those issues
86           on some systems.  Another serious problem is that there is no
87           documented way to issue repeated START conditions, as needed
88           to support combined I2C messages.  Use the i2c-gpio driver
89           unless your system can cope with those limitations.
90
91 config I2C_AU1550
92         tristate "Au1550/Au1200 SMBus interface"
93         depends on SOC_AU1550 || SOC_AU1200
94         help
95           If you say yes to this option, support will be included for the
96           Au1550 and Au1200 SMBus interface.
97
98           This driver can also be built as a module.  If so, the module
99           will be called i2c-au1550.
100
101 config I2C_BLACKFIN_TWI
102         tristate "Blackfin TWI I2C support"
103         depends on BF534 || BF536 || BF537
104         help
105           This is the TWI I2C device driver for Blackfin 534/536/537/54x.
106           This driver can also be built as a module.  If so, the module
107           will be called i2c-bfin-twi.
108
109 config I2C_BLACKFIN_TWI_CLK_KHZ
110         int "Blackfin TWI I2C clock (kHz)"
111         depends on I2C_BLACKFIN_TWI
112         range 10 400
113         default 50
114         help
115           The unit of the TWI clock is kHz.
116
117 config I2C_DAVINCI
118         tristate "DaVinci I2C driver"
119         depends on ARCH_DAVINCI
120         help
121           Support for TI DaVinci I2C controller driver.
122
123           This driver can also be built as a module.  If so, the module
124           will be called i2c-davinci.
125
126           Please note that this driver might be needed to bring up other
127           devices such as DaVinci NIC.
128           For details please see http://www.ti.com/davinci
129
130 config I2C_ELEKTOR
131         tristate "Elektor ISA card"
132         depends on ISA && BROKEN_ON_SMP
133         select I2C_ALGOPCF
134         help
135           This supports the PCF8584 ISA bus I2C adapter.  Say Y if you own
136           such an adapter.
137
138           This support is also available as a module.  If so, the module 
139           will be called i2c-elektor.
140
141 config I2C_GPIO
142         tristate "GPIO-based bitbanging I2C"
143         depends on GENERIC_GPIO
144         select I2C_ALGOBIT
145         help
146           This is a very simple bitbanging I2C driver utilizing the
147           arch-neutral GPIO API to control the SCL and SDA lines.
148
149 config I2C_HYDRA
150         tristate "CHRP Apple Hydra Mac I/O I2C interface"
151         depends on PCI && PPC_CHRP && EXPERIMENTAL
152         select I2C_ALGOBIT
153         help
154           This supports the use of the I2C interface in the Apple Hydra Mac
155           I/O chip on some CHRP machines (e.g. the LongTrail).  Say Y if you
156           have such a machine.
157
158           This support is also available as a module.  If so, the module
159           will be called i2c-hydra.
160
161 config I2C_I801
162         tristate "Intel 82801 (ICH)"
163         depends on PCI
164         help
165           If you say yes to this option, support will be included for the Intel
166           801 family of mainboard I2C interfaces.  Specifically, the following
167           versions of the chipset are supported:
168             82801AA
169             82801AB
170             82801BA
171             82801CA/CAM
172             82801DB
173             82801EB/ER (ICH5/ICH5R)
174             6300ESB
175             ICH6
176             ICH7
177             ESB2
178             ICH8
179             ICH9
180             Tolapai
181             ICH10
182
183           This driver can also be built as a module.  If so, the module
184           will be called i2c-i801.
185
186 config I2C_I810
187         tristate "Intel 810/815 (DEPRECATED)"
188         default n
189         depends on PCI
190         select I2C_ALGOBIT
191         help
192           If you say yes to this option, support will be included for the Intel
193           810/815 family of mainboard I2C interfaces.  Specifically, the 
194           following versions of the chipset are supported:
195             i810AA
196             i810AB
197             i810E
198             i815
199             i845G
200
201           This driver is deprecated in favor of the i810fb and intelfb drivers.
202
203           This driver can also be built as a module.  If so, the module
204           will be called i2c-i810.
205
206 config I2C_PXA
207         tristate "Intel PXA2XX I2C adapter (EXPERIMENTAL)"
208         depends on EXPERIMENTAL && ARCH_PXA
209         help
210           If you have devices in the PXA I2C bus, say yes to this option.
211           This driver can also be built as a module.  If so, the module
212           will be called i2c-pxa.
213
214 config I2C_PXA_SLAVE
215         bool "Intel PXA2XX I2C Slave comms support"
216         depends on I2C_PXA
217         help
218           Support I2C slave mode communications on the PXA I2C bus.  This
219           is necessary for systems where the PXA may be a target on the
220           I2C bus.
221
222 config I2C_PIIX4
223         tristate "Intel PIIX4 and compatible (ATI/Serverworks/Broadcom/SMSC)"
224         depends on PCI
225         help
226           If you say yes to this option, support will be included for the Intel
227           PIIX4 family of mainboard I2C interfaces.  Specifically, the following
228           versions of the chipset are supported (note that Serverworks is part
229           of Broadcom):
230             Intel PIIX4
231             Intel 440MX
232             ATI IXP200
233             ATI IXP300
234             ATI IXP400
235             ATI SB600
236             ATI SB700
237             ATI SB800
238             Serverworks OSB4
239             Serverworks CSB5
240             Serverworks CSB6
241             Serverworks HT-1000
242             SMSC Victory66
243
244           This driver can also be built as a module.  If so, the module
245           will be called i2c-piix4.
246
247 config I2C_IBM_IIC
248         tristate "IBM PPC 4xx on-chip I2C interface"
249         depends on IBM_OCP
250         help
251           Say Y here if you want to use IIC peripheral found on 
252           embedded IBM PPC 4xx based systems. 
253
254           This driver can also be built as a module.  If so, the module
255           will be called i2c-ibm_iic.
256
257 config I2C_IOP3XX
258         tristate "Intel IOPx3xx and IXP4xx on-chip I2C interface"
259         depends on ARCH_IOP32X || ARCH_IOP33X || ARCH_IXP4XX || ARCH_IOP13XX
260         help
261           Say Y here if you want to use the IIC bus controller on
262           the Intel IOPx3xx I/O Processors or IXP4xx Network Processors.
263
264           This driver can also be built as a module.  If so, the module
265           will be called i2c-iop3xx.
266
267 config I2C_IXP2000
268         tristate "IXP2000 GPIO-Based I2C Interface (DEPRECATED)"
269         depends on ARCH_IXP2000
270         select I2C_ALGOBIT
271         help
272           Say Y here if you have an Intel IXP2000 (2400, 2800, 2850) based 
273           system and are using GPIO lines for an I2C bus.
274
275           This support is also available as a module. If so, the module
276           will be called i2c-ixp2000.
277
278           This driver is deprecated and will be dropped soon. Use i2c-gpio
279           instead.
280
281 config I2C_POWERMAC
282         tristate "Powermac I2C interface"
283         depends on PPC_PMAC
284         default y
285         help
286           This exposes the various PowerMac i2c interfaces to the linux i2c
287           layer and to userland. It is used by various drivers on the PowerMac
288           platform, and should generally be enabled.
289
290           This support is also available as a module.  If so, the module
291           will be called i2c-powermac.
292
293 config I2C_MPC
294         tristate "MPC107/824x/85xx/52xx/86xx"
295         depends on PPC32
296         help
297           If you say yes to this option, support will be included for the
298           built-in I2C interface on the MPC107/Tsi107/MPC8240/MPC8245 and
299           MPC85xx/MPC8641 family processors. The driver may also work on 52xx
300           family processors, though interrupts are known not to work.
301
302           This driver can also be built as a module.  If so, the module
303           will be called i2c-mpc.
304
305 config I2C_NFORCE2
306         tristate "Nvidia nForce2, nForce3 and nForce4"
307         depends on PCI
308         help
309           If you say yes to this option, support will be included for the Nvidia
310           nForce2, nForce3 and nForce4 families of mainboard I2C interfaces.
311
312           This driver can also be built as a module.  If so, the module
313           will be called i2c-nforce2.
314
315 config I2C_OCORES
316         tristate "OpenCores I2C Controller"
317         depends on EXPERIMENTAL
318         help
319           If you say yes to this option, support will be included for the
320           OpenCores I2C controller. For details see
321           http://www.opencores.org/projects.cgi/web/i2c/overview
322
323           This driver can also be built as a module.  If so, the module
324           will be called i2c-ocores.
325
326 config I2C_OMAP
327         tristate "OMAP I2C adapter"
328         depends on ARCH_OMAP
329         default y if MACH_OMAP_H3 || MACH_OMAP_OSK
330         help
331           If you say yes to this option, support will be included for the
332           I2C interface on the Texas Instruments OMAP1/2 family of processors.
333           Like OMAP1510/1610/1710/5912 and OMAP242x.
334           For details see http://www.ti.com/omap.
335
336 config I2C_PARPORT
337         tristate "Parallel port adapter"
338         depends on PARPORT
339         select I2C_ALGOBIT
340         help
341           This supports parallel port I2C adapters such as the ones made by
342           Philips or Velleman, Analog Devices evaluation boards, and more.
343           Basically any adapter using the parallel port as an I2C bus with
344           no extra chipset is supported by this driver, or could be.
345
346           This driver is a replacement for (and was inspired by) an older
347           driver named i2c-philips-par.  The new driver supports more devices,
348           and makes it easier to add support for new devices.
349
350           An adapter type parameter is now mandatory.  Please read the file
351           Documentation/i2c/busses/i2c-parport for details.
352
353           Another driver exists, named i2c-parport-light, which doesn't depend
354           on the parport driver.  This is meant for embedded systems. Don't say
355           Y here if you intend to say Y or M there.
356
357           This support is also available as a module.  If so, the module 
358           will be called i2c-parport.
359
360 config I2C_PARPORT_LIGHT
361         tristate "Parallel port adapter (light)"
362         select I2C_ALGOBIT
363         help
364           This supports parallel port I2C adapters such as the ones made by
365           Philips or Velleman, Analog Devices evaluation boards, and more.
366           Basically any adapter using the parallel port as an I2C bus with
367           no extra chipset is supported by this driver, or could be.
368
369           This driver is a light version of i2c-parport.  It doesn't depend
370           on the parport driver, and uses direct I/O access instead.  This
371           might be preferred on embedded systems where wasting memory for
372           the clean but heavy parport handling is not an option.  The
373           drawback is a reduced portability and the impossibility to
374           daisy-chain other parallel port devices.
375           
376           Don't say Y here if you said Y or M to i2c-parport.  Saying M to
377           both is possible but both modules should not be loaded at the same
378           time.
379
380           This support is also available as a module.  If so, the module 
381           will be called i2c-parport-light.
382
383 config I2C_PASEMI
384         tristate "PA Semi SMBus interface"
385         depends on PPC_PASEMI && PCI
386         help
387           Supports the PA Semi PWRficient on-chip SMBus interfaces.
388
389 config I2C_PROSAVAGE
390         tristate "S3/VIA (Pro)Savage (DEPRECATED)"
391         default n
392         depends on PCI
393         select I2C_ALGOBIT
394         help
395           If you say yes to this option, support will be included for the
396           I2C bus and DDC bus of the S3VIA embedded Savage4 and ProSavage8
397           graphics processors.
398           chipsets supported:
399             S3/VIA KM266/VT8375 aka ProSavage8
400             S3/VIA KM133/VT8365 aka Savage4
401
402           This driver is deprecated in favor of the savagefb driver.
403
404           This support is also available as a module.  If so, the module 
405           will be called i2c-prosavage.
406
407 config I2C_S3C2410
408         tristate "S3C2410 I2C Driver"
409         depends on ARCH_S3C2410
410         help
411           Say Y here to include support for I2C controller in the
412           Samsung S3C2410 based System-on-Chip devices.
413
414 config I2C_SAVAGE4
415         tristate "S3 Savage 4 (DEPRECATED)"
416         default n
417         depends on PCI
418         select I2C_ALGOBIT
419         help
420           If you say yes to this option, support will be included for the 
421           S3 Savage 4 I2C interface.
422
423           This driver is deprecated in favor of the savagefb driver.
424
425           This driver can also be built as a module.  If so, the module
426           will be called i2c-savage4.
427
428 config I2C_SIBYTE
429         tristate "SiByte SMBus interface"
430         depends on SIBYTE_SB1xxx_SOC
431         help
432           Supports the SiByte SOC on-chip I2C interfaces (2 channels).
433
434 config I2C_SIMTEC
435         tristate "Simtec Generic I2C interface"
436         select I2C_ALGOBIT
437         help
438           If you say yes to this option, support will be included for
439           the Simtec Generic I2C interface. This driver is for the
440           simple I2C bus used on newer Simtec products for general
441           I2C, such as DDC on the Simtec BBD2016A.
442
443           This driver can also be built as a module. If so, the module
444           will be called i2c-simtec.
445
446 config SCx200_I2C
447         tristate "NatSemi SCx200 I2C using GPIO pins (DEPRECATED)"
448         depends on SCx200_GPIO
449         select I2C_ALGOBIT
450         help
451           Enable the use of two GPIO pins of a SCx200 processor as an I2C bus.
452
453           If you don't know what to do here, say N.
454
455           This support is also available as a module.  If so, the module 
456           will be called scx200_i2c.
457
458           This driver is deprecated and will be dropped soon. Use i2c-gpio
459           (or scx200_acb) instead.
460
461 config SCx200_I2C_SCL
462         int "GPIO pin used for SCL"
463         depends on SCx200_I2C
464         default "12"
465         help
466           Enter the GPIO pin number used for the SCL signal.  This value can
467           also be specified with a module parameter.
468
469 config SCx200_I2C_SDA
470         int "GPIO pin used for SDA"
471         depends on SCx200_I2C
472         default "13"
473         help
474           Enter the GPIO pin number used for the SSA signal.  This value can
475           also be specified with a module parameter.
476
477 config SCx200_ACB
478         tristate "Geode ACCESS.bus support"
479         depends on X86_32 && PCI
480         help
481           Enable the use of the ACCESS.bus controllers on the Geode SCx200 and
482           SC1100 processors and the CS5535 and CS5536 Geode companion devices.
483
484           If you don't know what to do here, say N.
485
486           This support is also available as a module.  If so, the module 
487           will be called scx200_acb.
488
489 config I2C_SIS5595
490         tristate "SiS 5595"
491         depends on PCI
492         help
493           If you say yes to this option, support will be included for the 
494           SiS5595 SMBus (a subset of I2C) interface.
495
496           This driver can also be built as a module.  If so, the module
497           will be called i2c-sis5595.
498
499 config I2C_SIS630
500         tristate "SiS 630/730"
501         depends on PCI
502         help
503           If you say yes to this option, support will be included for the 
504           SiS630 and SiS730 SMBus (a subset of I2C) interface.
505
506           This driver can also be built as a module.  If so, the module
507           will be called i2c-sis630.
508
509 config I2C_SIS96X
510         tristate "SiS 96x"
511         depends on PCI
512         help
513           If you say yes to this option, support will be included for the SiS
514           96x SMBus (a subset of I2C) interfaces.  Specifically, the following
515           chipsets are supported:
516             645/961
517             645DX/961
518             645DX/962
519             648/961
520             650/961
521             735
522             745
523
524           This driver can also be built as a module.  If so, the module
525           will be called i2c-sis96x.
526
527 config I2C_TAOS_EVM
528         tristate "TAOS evaluation module"
529         depends on EXPERIMENTAL
530         select SERIO
531         select SERIO_SERPORT
532         default n
533         help
534           This supports TAOS evaluation modules on serial port. In order to
535           use this driver, you will need the inputattach tool, which is part
536           of the input-utils package.
537
538           If unsure, say N.
539
540           This support is also available as a module.  If so, the module
541           will be called i2c-taos-evm.
542
543 config I2C_STUB
544         tristate "I2C/SMBus Test Stub"
545         depends on EXPERIMENTAL && m
546         default 'n'
547         help
548           This module may be useful to developers of SMBus client drivers,
549           especially for certain kinds of sensor chips.
550
551           If you do build this module, be sure to read the notes and warnings
552           in <file:Documentation/i2c/i2c-stub>.
553
554           If you don't know what to do here, definitely say N.
555
556 config I2C_TINY_USB
557         tristate "I2C-Tiny-USB"
558         depends on USB
559         help
560           If you say yes to this option, support will be included for the
561           i2c-tiny-usb, a simple do-it-yourself USB to I2C interface. See
562           http://www.harbaum.org/till/i2c_tiny_usb for hardware details.
563
564           This driver can also be built as a module.  If so, the module
565           will be called i2c-tiny-usb.
566
567 config I2C_VERSATILE
568         tristate "ARM Versatile/Realview I2C bus support"
569         depends on ARCH_VERSATILE || ARCH_REALVIEW
570         select I2C_ALGOBIT
571         help
572           Say yes if you want to support the I2C serial bus on ARMs Versatile
573           range of platforms.
574
575           This driver can also be built as a module.  If so, the module
576           will be called i2c-versatile.
577
578 config I2C_ACORN
579         tristate "Acorn IOC/IOMD I2C bus support"
580         depends on ARCH_ACORN
581         default y
582         select I2C_ALGOBIT
583         help
584           Say yes if you want to support the I2C bus on Acorn platforms.
585
586           If you don't know, say Y.
587
588 config I2C_VIA
589         tristate "VIA 82C586B"
590         depends on PCI && EXPERIMENTAL
591         select I2C_ALGOBIT
592         help
593           If you say yes to this option, support will be included for the VIA
594           82C586B I2C interface
595
596           This driver can also be built as a module.  If so, the module
597           will be called i2c-via.
598
599 config I2C_VIAPRO
600         tristate "VIA VT82C596/82C686/82xx and CX700"
601         depends on PCI
602         help
603           If you say yes to this option, support will be included for the VIA
604           VT82C596 and later SMBus interface.  Specifically, the following
605           chipsets are supported:
606             VT82C596A/B
607             VT82C686A/B
608             VT8231
609             VT8233/A
610             VT8235
611             VT8237R/A/S
612             VT8251
613             CX700
614
615           This driver can also be built as a module.  If so, the module
616           will be called i2c-viapro.
617
618 config I2C_VOODOO3
619         tristate "Voodoo 3"
620         depends on PCI
621         select I2C_ALGOBIT
622         help
623           If you say yes to this option, support will be included for the
624           Voodoo 3 I2C interface.
625
626           This driver can also be built as a module.  If so, the module
627           will be called i2c-voodoo3.
628
629 config I2C_PCA_ISA
630         tristate "PCA9564 on an ISA bus"
631         depends on ISA
632         select I2C_ALGOPCA
633         default n
634         help
635           This driver supports ISA boards using the Philips PCA 9564
636           Parallel bus to I2C bus controller
637           
638           This driver can also be built as a module.  If so, the module
639           will be called i2c-pca-isa.
640
641           This device is almost undetectable and using this driver on a
642           system which doesn't have this device will result in long
643           delays when I2C/SMBus chip drivers are loaded (e.g. at boot
644           time).  If unsure, say N.
645
646 config I2C_MV64XXX
647         tristate "Marvell mv64xxx I2C Controller"
648         depends on (MV64X60 || PLAT_ORION) && EXPERIMENTAL
649         help
650           If you say yes to this option, support will be included for the
651           built-in I2C interface on the Marvell 64xxx line of host bridges.
652
653           This driver can also be built as a module.  If so, the module
654           will be called i2c-mv64xxx.
655
656 config I2C_PNX
657         tristate "I2C bus support for Philips PNX targets"
658         depends on ARCH_PNX4008
659         help
660           This driver supports the Philips IP3204 I2C IP block master and/or
661           slave controller
662
663           This driver can also be built as a module.  If so, the module
664           will be called i2c-pnx.
665
666 config I2C_PMCMSP
667         tristate "PMC MSP I2C TWI Controller"
668         depends on PMC_MSP
669         help
670           This driver supports the PMC TWI controller on MSP devices.
671
672           This driver can also be built as module. If so, the module
673           will be called i2c-pmcmsp.
674
675 endmenu