Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid
[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 || BF54x
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
181           This driver can also be built as a module.  If so, the module
182           will be called i2c-i801.
183
184 config I2C_I810
185         tristate "Intel 810/815 (DEPRECATED)"
186         default n
187         depends on PCI
188         select I2C_ALGOBIT
189         help
190           If you say yes to this option, support will be included for the Intel
191           810/815 family of mainboard I2C interfaces.  Specifically, the 
192           following versions of the chipset are supported:
193             i810AA
194             i810AB
195             i810E
196             i815
197             i845G
198
199           This driver is deprecated in favor of the i810fb and intelfb drivers.
200
201           This driver can also be built as a module.  If so, the module
202           will be called i2c-i810.
203
204 config I2C_PXA
205         tristate "Intel PXA2XX I2C adapter (EXPERIMENTAL)"
206         depends on EXPERIMENTAL && ARCH_PXA
207         help
208           If you have devices in the PXA I2C bus, say yes to this option.
209           This driver can also be built as a module.  If so, the module
210           will be called i2c-pxa.
211
212 config I2C_PXA_SLAVE
213         bool "Intel PXA2XX I2C Slave comms support"
214         depends on I2C_PXA
215         help
216           Support I2C slave mode communications on the PXA I2C bus.  This
217           is necessary for systems where the PXA may be a target on the
218           I2C bus.
219
220 config I2C_PIIX4
221         tristate "Intel PIIX4 and compatible (ATI/Serverworks/Broadcom/SMSC)"
222         depends on PCI
223         help
224           If you say yes to this option, support will be included for the Intel
225           PIIX4 family of mainboard I2C interfaces.  Specifically, the following
226           versions of the chipset are supported (note that Serverworks is part
227           of Broadcom):
228             Intel PIIX4
229             Intel 440MX
230             ATI IXP200
231             ATI IXP300
232             ATI IXP400
233             ATI SB600
234             ATI SB700
235             ATI SB800
236             Serverworks OSB4
237             Serverworks CSB5
238             Serverworks CSB6
239             Serverworks HT-1000
240             SMSC Victory66
241
242           This driver can also be built as a module.  If so, the module
243           will be called i2c-piix4.
244
245 config I2C_IBM_IIC
246         tristate "IBM PPC 4xx on-chip I2C interface"
247         depends on IBM_OCP
248         help
249           Say Y here if you want to use IIC peripheral found on 
250           embedded IBM PPC 4xx based systems. 
251
252           This driver can also be built as a module.  If so, the module
253           will be called i2c-ibm_iic.
254
255 config I2C_IOP3XX
256         tristate "Intel IOPx3xx and IXP4xx on-chip I2C interface"
257         depends on ARCH_IOP32X || ARCH_IOP33X || ARCH_IXP4XX || ARCH_IOP13XX
258         help
259           Say Y here if you want to use the IIC bus controller on
260           the Intel IOPx3xx I/O Processors or IXP4xx Network Processors.
261
262           This driver can also be built as a module.  If so, the module
263           will be called i2c-iop3xx.
264
265 config I2C_IXP2000
266         tristate "IXP2000 GPIO-Based I2C Interface (DEPRECATED)"
267         depends on ARCH_IXP2000
268         select I2C_ALGOBIT
269         help
270           Say Y here if you have an Intel IXP2000 (2400, 2800, 2850) based 
271           system and are using GPIO lines for an I2C bus.
272
273           This support is also available as a module. If so, the module
274           will be called i2c-ixp2000.
275
276           This driver is deprecated and will be dropped soon. Use i2c-gpio
277           instead.
278
279 config I2C_POWERMAC
280         tristate "Powermac I2C interface"
281         depends on PPC_PMAC
282         default y
283         help
284           This exposes the various PowerMac i2c interfaces to the linux i2c
285           layer and to userland. It is used by various drivers on the PowerMac
286           platform, and should generally be enabled.
287
288           This support is also available as a module.  If so, the module
289           will be called i2c-powermac.
290
291 config I2C_MPC
292         tristate "MPC107/824x/85xx/52xx/86xx"
293         depends on PPC32
294         help
295           If you say yes to this option, support will be included for the
296           built-in I2C interface on the MPC107/Tsi107/MPC8240/MPC8245 and
297           MPC85xx/MPC8641 family processors. The driver may also work on 52xx
298           family processors, though interrupts are known not to work.
299
300           This driver can also be built as a module.  If so, the module
301           will be called i2c-mpc.
302
303 config I2C_NFORCE2
304         tristate "Nvidia nForce2, nForce3 and nForce4"
305         depends on PCI
306         help
307           If you say yes to this option, support will be included for the Nvidia
308           nForce2, nForce3 and nForce4 families of mainboard I2C interfaces.
309
310           This driver can also be built as a module.  If so, the module
311           will be called i2c-nforce2.
312
313 config I2C_OCORES
314         tristate "OpenCores I2C Controller"
315         depends on EXPERIMENTAL
316         help
317           If you say yes to this option, support will be included for the
318           OpenCores I2C controller. For details see
319           http://www.opencores.org/projects.cgi/web/i2c/overview
320
321           This driver can also be built as a module.  If so, the module
322           will be called i2c-ocores.
323
324 config I2C_OMAP
325         tristate "OMAP I2C adapter"
326         depends on ARCH_OMAP
327         default y if MACH_OMAP_H3 || MACH_OMAP_OSK
328         help
329           If you say yes to this option, support will be included for the
330           I2C interface on the Texas Instruments OMAP1/2 family of processors.
331           Like OMAP1510/1610/1710/5912 and OMAP242x.
332           For details see http://www.ti.com/omap.
333
334 config I2C_PARPORT
335         tristate "Parallel port adapter"
336         depends on PARPORT
337         select I2C_ALGOBIT
338         help
339           This supports parallel port I2C adapters such as the ones made by
340           Philips or Velleman, Analog Devices evaluation boards, and more.
341           Basically any adapter using the parallel port as an I2C bus with
342           no extra chipset is supported by this driver, or could be.
343
344           This driver is a replacement for (and was inspired by) an older
345           driver named i2c-philips-par.  The new driver supports more devices,
346           and makes it easier to add support for new devices.
347
348           An adapter type parameter is now mandatory.  Please read the file
349           Documentation/i2c/busses/i2c-parport for details.
350
351           Another driver exists, named i2c-parport-light, which doesn't depend
352           on the parport driver.  This is meant for embedded systems. Don't say
353           Y here if you intend to say Y or M there.
354
355           This support is also available as a module.  If so, the module 
356           will be called i2c-parport.
357
358 config I2C_PARPORT_LIGHT
359         tristate "Parallel port adapter (light)"
360         select I2C_ALGOBIT
361         help
362           This supports parallel port I2C adapters such as the ones made by
363           Philips or Velleman, Analog Devices evaluation boards, and more.
364           Basically any adapter using the parallel port as an I2C bus with
365           no extra chipset is supported by this driver, or could be.
366
367           This driver is a light version of i2c-parport.  It doesn't depend
368           on the parport driver, and uses direct I/O access instead.  This
369           might be preferred on embedded systems where wasting memory for
370           the clean but heavy parport handling is not an option.  The
371           drawback is a reduced portability and the impossibility to
372           daisy-chain other parallel port devices.
373           
374           Don't say Y here if you said Y or M to i2c-parport.  Saying M to
375           both is possible but both modules should not be loaded at the same
376           time.
377
378           This support is also available as a module.  If so, the module 
379           will be called i2c-parport-light.
380
381 config I2C_PASEMI
382         tristate "PA Semi SMBus interface"
383         depends on PPC_PASEMI && PCI
384         help
385           Supports the PA Semi PWRficient on-chip SMBus interfaces.
386
387 config I2C_PROSAVAGE
388         tristate "S3/VIA (Pro)Savage (DEPRECATED)"
389         default n
390         depends on PCI
391         select I2C_ALGOBIT
392         help
393           If you say yes to this option, support will be included for the
394           I2C bus and DDC bus of the S3VIA embedded Savage4 and ProSavage8
395           graphics processors.
396           chipsets supported:
397             S3/VIA KM266/VT8375 aka ProSavage8
398             S3/VIA KM133/VT8365 aka Savage4
399
400           This driver is deprecated in favor of the savagefb driver.
401
402           This support is also available as a module.  If so, the module 
403           will be called i2c-prosavage.
404
405 config I2C_S3C2410
406         tristate "S3C2410 I2C Driver"
407         depends on ARCH_S3C2410
408         help
409           Say Y here to include support for I2C controller in the
410           Samsung S3C2410 based System-on-Chip devices.
411
412 config I2C_SAVAGE4
413         tristate "S3 Savage 4 (DEPRECATED)"
414         default n
415         depends on PCI
416         select I2C_ALGOBIT
417         help
418           If you say yes to this option, support will be included for the 
419           S3 Savage 4 I2C interface.
420
421           This driver is deprecated in favor of the savagefb driver.
422
423           This driver can also be built as a module.  If so, the module
424           will be called i2c-savage4.
425
426 config I2C_SIBYTE
427         tristate "SiByte SMBus interface"
428         depends on SIBYTE_SB1xxx_SOC
429         help
430           Supports the SiByte SOC on-chip I2C interfaces (2 channels).
431
432 config I2C_SIMTEC
433         tristate "Simtec Generic I2C interface"
434         select I2C_ALGOBIT
435         help
436           If you say yes to this option, support will be included for
437           the Simtec Generic I2C interface. This driver is for the
438           simple I2C bus used on newer Simtec products for general
439           I2C, such as DDC on the Simtec BBD2016A.
440
441           This driver can also be built as a module. If so, the module
442           will be called i2c-simtec.
443
444 config SCx200_I2C
445         tristate "NatSemi SCx200 I2C using GPIO pins (DEPRECATED)"
446         depends on SCx200_GPIO
447         select I2C_ALGOBIT
448         help
449           Enable the use of two GPIO pins of a SCx200 processor as an I2C bus.
450
451           If you don't know what to do here, say N.
452
453           This support is also available as a module.  If so, the module 
454           will be called scx200_i2c.
455
456           This driver is deprecated and will be dropped soon. Use i2c-gpio
457           (or scx200_acb) instead.
458
459 config SCx200_I2C_SCL
460         int "GPIO pin used for SCL"
461         depends on SCx200_I2C
462         default "12"
463         help
464           Enter the GPIO pin number used for the SCL signal.  This value can
465           also be specified with a module parameter.
466
467 config SCx200_I2C_SDA
468         int "GPIO pin used for SDA"
469         depends on SCx200_I2C
470         default "13"
471         help
472           Enter the GPIO pin number used for the SSA signal.  This value can
473           also be specified with a module parameter.
474
475 config SCx200_ACB
476         tristate "Geode ACCESS.bus support"
477         depends on X86_32 && PCI
478         help
479           Enable the use of the ACCESS.bus controllers on the Geode SCx200 and
480           SC1100 processors and the CS5535 and CS5536 Geode companion devices.
481
482           If you don't know what to do here, say N.
483
484           This support is also available as a module.  If so, the module 
485           will be called scx200_acb.
486
487 config I2C_SIS5595
488         tristate "SiS 5595"
489         depends on PCI
490         help
491           If you say yes to this option, support will be included for the 
492           SiS5595 SMBus (a subset of I2C) interface.
493
494           This driver can also be built as a module.  If so, the module
495           will be called i2c-sis5595.
496
497 config I2C_SIS630
498         tristate "SiS 630/730"
499         depends on PCI
500         help
501           If you say yes to this option, support will be included for the 
502           SiS630 and SiS730 SMBus (a subset of I2C) interface.
503
504           This driver can also be built as a module.  If so, the module
505           will be called i2c-sis630.
506
507 config I2C_SIS96X
508         tristate "SiS 96x"
509         depends on PCI
510         help
511           If you say yes to this option, support will be included for the SiS
512           96x SMBus (a subset of I2C) interfaces.  Specifically, the following
513           chipsets are supported:
514             645/961
515             645DX/961
516             645DX/962
517             648/961
518             650/961
519             735
520             745
521
522           This driver can also be built as a module.  If so, the module
523           will be called i2c-sis96x.
524
525 config I2C_TAOS_EVM
526         tristate "TAOS evaluation module"
527         depends on EXPERIMENTAL
528         select SERIO
529         select SERIO_SERPORT
530         default n
531         help
532           This supports TAOS evaluation modules on serial port. In order to
533           use this driver, you will need the inputattach tool, which is part
534           of the input-utils package.
535
536           If unsure, say N.
537
538           This support is also available as a module.  If so, the module
539           will be called i2c-taos-evm.
540
541 config I2C_STUB
542         tristate "I2C/SMBus Test Stub"
543         depends on EXPERIMENTAL && m
544         default 'n'
545         help
546           This module may be useful to developers of SMBus client drivers,
547           especially for certain kinds of sensor chips.
548
549           If you do build this module, be sure to read the notes and warnings
550           in <file:Documentation/i2c/i2c-stub>.
551
552           If you don't know what to do here, definitely say N.
553
554 config I2C_TINY_USB
555         tristate "I2C-Tiny-USB"
556         depends on USB
557         help
558           If you say yes to this option, support will be included for the
559           i2c-tiny-usb, a simple do-it-yourself USB to I2C interface. See
560           http://www.harbaum.org/till/i2c_tiny_usb for hardware details.
561
562           This driver can also be built as a module.  If so, the module
563           will be called i2c-tiny-usb.
564
565 config I2C_VERSATILE
566         tristate "ARM Versatile/Realview I2C bus support"
567         depends on ARCH_VERSATILE || ARCH_REALVIEW
568         select I2C_ALGOBIT
569         help
570           Say yes if you want to support the I2C serial bus on ARMs Versatile
571           range of platforms.
572
573           This driver can also be built as a module.  If so, the module
574           will be called i2c-versatile.
575
576 config I2C_ACORN
577         tristate "Acorn IOC/IOMD I2C bus support"
578         depends on ARCH_ACORN
579         default y
580         select I2C_ALGOBIT
581         help
582           Say yes if you want to support the I2C bus on Acorn platforms.
583
584           If you don't know, say Y.
585
586 config I2C_VIA
587         tristate "VIA 82C586B"
588         depends on PCI && EXPERIMENTAL
589         select I2C_ALGOBIT
590         help
591           If you say yes to this option, support will be included for the VIA
592           82C586B I2C interface
593
594           This driver can also be built as a module.  If so, the module
595           will be called i2c-via.
596
597 config I2C_VIAPRO
598         tristate "VIA VT82C596/82C686/82xx and CX700"
599         depends on PCI
600         help
601           If you say yes to this option, support will be included for the VIA
602           VT82C596 and later SMBus interface.  Specifically, the following
603           chipsets are supported:
604             VT82C596A/B
605             VT82C686A/B
606             VT8231
607             VT8233/A
608             VT8235
609             VT8237R/A/S
610             VT8251
611             CX700
612
613           This driver can also be built as a module.  If so, the module
614           will be called i2c-viapro.
615
616 config I2C_VOODOO3
617         tristate "Voodoo 3"
618         depends on PCI
619         select I2C_ALGOBIT
620         help
621           If you say yes to this option, support will be included for the
622           Voodoo 3 I2C interface.
623
624           This driver can also be built as a module.  If so, the module
625           will be called i2c-voodoo3.
626
627 config I2C_PCA_ISA
628         tristate "PCA9564 on an ISA bus"
629         depends on ISA
630         select I2C_ALGOPCA
631         default n
632         help
633           This driver supports ISA boards using the Philips PCA 9564
634           Parallel bus to I2C bus controller
635           
636           This driver can also be built as a module.  If so, the module
637           will be called i2c-pca-isa.
638
639           This device is almost undetectable and using this driver on a
640           system which doesn't have this device will result in long
641           delays when I2C/SMBus chip drivers are loaded (e.g. at boot
642           time).  If unsure, say N.
643
644 config I2C_MV64XXX
645         tristate "Marvell mv64xxx I2C Controller"
646         depends on (MV64X60 || ARCH_ORION) && EXPERIMENTAL
647         help
648           If you say yes to this option, support will be included for the
649           built-in I2C interface on the Marvell 64xxx line of host bridges.
650
651           This driver can also be built as a module.  If so, the module
652           will be called i2c-mv64xxx.
653
654 config I2C_PNX
655         tristate "I2C bus support for Philips PNX targets"
656         depends on ARCH_PNX4008
657         help
658           This driver supports the Philips IP3204 I2C IP block master and/or
659           slave controller
660
661           This driver can also be built as a module.  If so, the module
662           will be called i2c-pnx.
663
664 config I2C_PMCMSP
665         tristate "PMC MSP I2C TWI Controller"
666         depends on PMC_MSP
667         help
668           This driver supports the PMC TWI controller on MSP devices.
669
670           This driver can also be built as module. If so, the module
671           will be called i2c-pmcmsp.
672
673 endmenu