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