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