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