]> git.kernelconcepts.de Git - karo-tx-linux.git/blob - drivers/i2c/busses/Kconfig
tty: mxser: improve error handling in mxser_probe() and mxser_module_init()
[karo-tx-linux.git] / drivers / i2c / busses / Kconfig
1 #
2 # Sensor device configuration
3 #
4
5 menu "I2C Hardware Bus support"
6         depends on HAS_IOMEM
7
8 comment "PC SMBus host controller drivers"
9         depends on PCI
10
11 config I2C_ALI1535
12         tristate "ALI 1535"
13         depends on PCI
14         help
15           If you say yes to this option, support will be included for the SMB
16           Host controller on Acer Labs Inc. (ALI) M1535 South Bridges.  The SMB
17           controller is part of the 7101 device, which is an ACPI-compliant
18           Power Management Unit (PMU).
19
20           This driver can also be built as a module.  If so, the module
21           will be called i2c-ali1535.
22
23 config I2C_ALI1563
24         tristate "ALI 1563"
25         depends on PCI && EXPERIMENTAL
26         help
27           If you say yes to this option, support will be included for the SMB
28           Host controller on Acer Labs Inc. (ALI) M1563 South Bridges.  The SMB
29           controller is part of the 7101 device, which is an ACPI-compliant
30           Power Management Unit (PMU).
31
32           This driver can also be built as a module.  If so, the module
33           will be called i2c-ali1563.
34
35 config I2C_ALI15X3
36         tristate "ALI 15x3"
37         depends on PCI
38         help
39           If you say yes to this option, support will be included for the
40           Acer Labs Inc. (ALI) M1514 and M1543 motherboard I2C interfaces.
41
42           This driver can also be built as a module.  If so, the module
43           will be called i2c-ali15x3.
44
45 config I2C_AMD756
46         tristate "AMD 756/766/768/8111 and nVidia nForce"
47         depends on PCI
48         help
49           If you say yes to this option, support will be included for the AMD
50           756/766/768 mainboard I2C interfaces.  The driver also includes
51           support for the first (SMBus 1.0) I2C interface of the AMD 8111 and
52           the nVidia nForce I2C interface.
53
54           This driver can also be built as a module.  If so, the module
55           will be called i2c-amd756.
56
57 config I2C_AMD756_S4882
58         tristate "SMBus multiplexing on the Tyan S4882"
59         depends on I2C_AMD756 && X86 && EXPERIMENTAL
60         help
61           Enabling this option will add specific SMBus support for the Tyan
62           S4882 motherboard.  On this 4-CPU board, the SMBus is multiplexed
63           over 8 different channels, where the various memory module EEPROMs
64           and temperature sensors live.  Saying yes here will give you access
65           to these in addition to the trunk.
66
67           This driver can also be built as a module.  If so, the module
68           will be called i2c-amd756-s4882.
69
70 config I2C_AMD8111
71         tristate "AMD 8111"
72         depends on PCI
73         help
74           If you say yes to this option, support will be included for the
75           second (SMBus 2.0) AMD 8111 mainboard I2C interface.
76
77           This driver can also be built as a module.  If so, the module
78           will be called i2c-amd8111.
79
80 config I2C_I801
81         tristate "Intel 82801 (ICH/PCH)"
82         depends on PCI
83         select CHECK_SIGNATURE if X86 && DMI
84         help
85           If you say yes to this option, support will be included for the Intel
86           801 family of mainboard I2C interfaces.  Specifically, the following
87           versions of the chipset are supported:
88             82801AA
89             82801AB
90             82801BA
91             82801CA/CAM
92             82801DB
93             82801EB/ER (ICH5/ICH5R)
94             6300ESB
95             ICH6
96             ICH7
97             ESB2
98             ICH8
99             ICH9
100             EP80579 (Tolapai)
101             ICH10
102             5/3400 Series (PCH)
103             6 Series (PCH)
104             Patsburg (PCH)
105             DH89xxCC (PCH)
106             Panther Point (PCH)
107             Lynx Point (PCH)
108             Lynx Point-LP (PCH)
109
110           This driver can also be built as a module.  If so, the module
111           will be called i2c-i801.
112
113 config I2C_ISCH
114         tristate "Intel SCH SMBus 1.0"
115         depends on PCI
116         select LPC_SCH
117         help
118           Say Y here if you want to use SMBus controller on the Intel SCH
119           based systems.
120
121           This driver can also be built as a module. If so, the module
122           will be called i2c-isch.
123
124 config I2C_PIIX4
125         tristate "Intel PIIX4 and compatible (ATI/AMD/Serverworks/Broadcom/SMSC)"
126         depends on PCI
127         help
128           If you say yes to this option, support will be included for the Intel
129           PIIX4 family of mainboard I2C interfaces.  Specifically, the following
130           versions of the chipset are supported (note that Serverworks is part
131           of Broadcom):
132             Intel PIIX4
133             Intel 440MX
134             ATI IXP200
135             ATI IXP300
136             ATI IXP400
137             ATI SB600
138             ATI SB700/SP5100
139             ATI SB800
140             AMD Hudson-2
141             Serverworks OSB4
142             Serverworks CSB5
143             Serverworks CSB6
144             Serverworks HT-1000
145             Serverworks HT-1100
146             SMSC Victory66
147
148           Some AMD chipsets contain two PIIX4-compatible SMBus
149           controllers. This driver will attempt to use both controllers
150           on the SB700/SP5100, if they have been initialized by the BIOS.
151
152           This driver can also be built as a module.  If so, the module
153           will be called i2c-piix4.
154
155 config I2C_NFORCE2
156         tristate "Nvidia nForce2, nForce3 and nForce4"
157         depends on PCI
158         help
159           If you say yes to this option, support will be included for the Nvidia
160           nForce2, nForce3 and nForce4 families of mainboard I2C interfaces.
161
162           This driver can also be built as a module.  If so, the module
163           will be called i2c-nforce2.
164
165 config I2C_NFORCE2_S4985
166         tristate "SMBus multiplexing on the Tyan S4985"
167         depends on I2C_NFORCE2 && X86 && EXPERIMENTAL
168         help
169           Enabling this option will add specific SMBus support for the Tyan
170           S4985 motherboard.  On this 4-CPU board, the SMBus is multiplexed
171           over 4 different channels, where the various memory module EEPROMs
172           live.  Saying yes here will give you access to these in addition
173           to the trunk.
174
175           This driver can also be built as a module.  If so, the module
176           will be called i2c-nforce2-s4985.
177
178 config I2C_SIS5595
179         tristate "SiS 5595"
180         depends on PCI
181         help
182           If you say yes to this option, support will be included for the
183           SiS5595 SMBus (a subset of I2C) interface.
184
185           This driver can also be built as a module.  If so, the module
186           will be called i2c-sis5595.
187
188 config I2C_SIS630
189         tristate "SiS 630/730"
190         depends on PCI
191         help
192           If you say yes to this option, support will be included for the
193           SiS630 and SiS730 SMBus (a subset of I2C) interface.
194
195           This driver can also be built as a module.  If so, the module
196           will be called i2c-sis630.
197
198 config I2C_SIS96X
199         tristate "SiS 96x"
200         depends on PCI
201         help
202           If you say yes to this option, support will be included for the SiS
203           96x SMBus (a subset of I2C) interfaces.  Specifically, the following
204           chipsets are supported:
205             645/961
206             645DX/961
207             645DX/962
208             648/961
209             650/961
210             735
211             745
212
213           This driver can also be built as a module.  If so, the module
214           will be called i2c-sis96x.
215
216 config I2C_VIA
217         tristate "VIA VT82C586B"
218         depends on PCI && EXPERIMENTAL
219         select I2C_ALGOBIT
220         help
221           If you say yes to this option, support will be included for the VIA
222           82C586B I2C interface
223
224           This driver can also be built as a module.  If so, the module
225           will be called i2c-via.
226
227 config I2C_VIAPRO
228         tristate "VIA VT82C596/82C686/82xx and CX700/VX8xx/VX900"
229         depends on PCI
230         help
231           If you say yes to this option, support will be included for the VIA
232           VT82C596 and later SMBus interface.  Specifically, the following
233           chipsets are supported:
234             VT82C596A/B
235             VT82C686A/B
236             VT8231
237             VT8233/A
238             VT8235
239             VT8237R/A/S
240             VT8251
241             CX700
242             VX800/VX820
243             VX855/VX875
244             VX900
245
246           This driver can also be built as a module.  If so, the module
247           will be called i2c-viapro.
248
249 if ACPI
250
251 comment "ACPI drivers"
252
253 config I2C_SCMI
254         tristate "SMBus Control Method Interface"
255         help
256           This driver supports the SMBus Control Method Interface. It needs the
257           BIOS to declare ACPI control methods as described in the SMBus Control
258           Method Interface specification.
259
260           To compile this driver as a module, choose M here:
261           the module will be called i2c-scmi.
262
263 endif # ACPI
264
265 comment "Mac SMBus host controller drivers"
266         depends on PPC_CHRP || PPC_PMAC
267
268 config I2C_HYDRA
269         tristate "CHRP Apple Hydra Mac I/O I2C interface"
270         depends on PCI && PPC_CHRP && EXPERIMENTAL
271         select I2C_ALGOBIT
272         help
273           This supports the use of the I2C interface in the Apple Hydra Mac
274           I/O chip on some CHRP machines (e.g. the LongTrail).  Say Y if you
275           have such a machine.
276
277           This support is also available as a module.  If so, the module
278           will be called i2c-hydra.
279
280 config I2C_POWERMAC
281         tristate "Powermac I2C interface"
282         depends on PPC_PMAC
283         default y
284         help
285           This exposes the various PowerMac i2c interfaces to the linux i2c
286           layer and to userland. It is used by various drivers on the PowerMac
287           platform, and should generally be enabled.
288
289           This support is also available as a module.  If so, the module
290           will be called i2c-powermac.
291
292 comment "I2C system bus drivers (mostly embedded / system-on-chip)"
293
294 config I2C_AT91
295         tristate "Atmel AT91 I2C Two-Wire interface (TWI)"
296         depends on ARCH_AT91 && EXPERIMENTAL
297         help
298           This supports the use of the I2C interface on Atmel AT91
299           processors.
300
301           A serious problem is that there is no documented way to issue
302           repeated START conditions for more than two messages, as needed
303           to support combined I2C messages.  Use the i2c-gpio driver
304           unless your system can cope with this limitation.
305
306           Caution! at91rm9200, at91sam9261, at91sam9260, at91sam9263 devices
307           don't have clock stretching in transmission mode. For that reason,
308           you can encounter underrun issues causing premature stop sendings if
309           the latency to fill the transmission register is too long. If you
310           are facing this situation, use the i2c-gpio driver.
311
312 config I2C_AU1550
313         tristate "Au1550/Au1200/Au1300 SMBus interface"
314         depends on MIPS_ALCHEMY
315         help
316           If you say yes to this option, support will be included for the
317           Au1550/Au1200/Au1300 SMBus interface.
318
319           This driver can also be built as a module.  If so, the module
320           will be called i2c-au1550.
321
322 config I2C_BLACKFIN_TWI
323         tristate "Blackfin TWI I2C support"
324         depends on BLACKFIN
325         depends on !BF561 && !BF531 && !BF532 && !BF533
326         help
327           This is the I2C bus driver for Blackfin on-chip TWI interface.
328
329           This driver can also be built as a module.  If so, the module
330           will be called i2c-bfin-twi.
331
332 config I2C_BLACKFIN_TWI_CLK_KHZ
333         int "Blackfin TWI I2C clock (kHz)"
334         depends on I2C_BLACKFIN_TWI
335         range 21 400
336         default 50
337         help
338           The unit of the TWI clock is kHz.
339
340 config I2C_CBUS_GPIO
341         tristate "CBUS I2C driver"
342         depends on GENERIC_GPIO
343         help
344           Support for CBUS access using I2C API. Mostly relevant for Nokia
345           Internet Tablets (770, N800 and N810).
346
347           This driver can also be built as a module.  If so, the module
348           will be called i2c-cbus-gpio.
349
350 config I2C_CPM
351         tristate "Freescale CPM1 or CPM2 (MPC8xx/826x)"
352         depends on (CPM1 || CPM2) && OF_I2C
353         help
354           This supports the use of the I2C interface on Freescale
355           processors with CPM1 or CPM2.
356
357           This driver can also be built as a module.  If so, the module
358           will be called i2c-cpm.
359
360 config I2C_DAVINCI
361         tristate "DaVinci I2C driver"
362         depends on ARCH_DAVINCI
363         help
364           Support for TI DaVinci I2C controller driver.
365
366           This driver can also be built as a module.  If so, the module
367           will be called i2c-davinci.
368
369           Please note that this driver might be needed to bring up other
370           devices such as DaVinci NIC.
371           For details please see http://www.ti.com/davinci
372
373 config I2C_DESIGNWARE_CORE
374         tristate
375
376 config I2C_DESIGNWARE_PLATFORM
377         tristate "Synopsys DesignWare Platform"
378         depends on HAVE_CLK
379         select I2C_DESIGNWARE_CORE
380         help
381           If you say yes to this option, support will be included for the
382           Synopsys DesignWare I2C adapter. Only master mode is supported.
383
384           This driver can also be built as a module.  If so, the module
385           will be called i2c-designware-platform.
386
387 config I2C_DESIGNWARE_PCI
388         tristate "Synopsys DesignWare PCI"
389         depends on PCI
390         select I2C_DESIGNWARE_CORE
391         help
392           If you say yes to this option, support will be included for the
393           Synopsys DesignWare I2C adapter. Only master mode is supported.
394
395           This driver can also be built as a module.  If so, the module
396           will be called i2c-designware-pci.
397
398 config I2C_EG20T
399         tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) I2C"
400         depends on PCI
401         help
402           This driver is for PCH(Platform controller Hub) I2C of EG20T which
403           is an IOH(Input/Output Hub) for x86 embedded processor.
404           This driver can access PCH I2C bus device.
405
406           This driver also can be used for LAPIS Semiconductor IOH(Input/
407           Output Hub), ML7213, ML7223 and ML7831.
408           ML7213 IOH is for IVI(In-Vehicle Infotainment) use, ML7223 IOH is
409           for MP(Media Phone) use and ML7831 IOH is for general purpose use.
410           ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series.
411           ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH.
412
413 config I2C_GPIO
414         tristate "GPIO-based bitbanging I2C"
415         depends on GENERIC_GPIO
416         select I2C_ALGOBIT
417         help
418           This is a very simple bitbanging I2C driver utilizing the
419           arch-neutral GPIO API to control the SCL and SDA lines.
420
421 config I2C_HIGHLANDER
422         tristate "Highlander FPGA SMBus interface"
423         depends on SH_HIGHLANDER
424         help
425           If you say yes to this option, support will be included for
426           the SMBus interface located in the FPGA on various Highlander
427           boards, particularly the R0P7780LC0011RL and R0P7785LC0011RL
428           FPGAs. This is wholly unrelated to the SoC I2C.
429
430           This driver can also be built as a module.  If so, the module
431           will be called i2c-highlander.
432
433 config I2C_IBM_IIC
434         tristate "IBM PPC 4xx on-chip I2C interface"
435         depends on 4xx
436         help
437           Say Y here if you want to use IIC peripheral found on
438           embedded IBM PPC 4xx based systems.
439
440           This driver can also be built as a module.  If so, the module
441           will be called i2c-ibm_iic.
442
443 config I2C_IMX
444         tristate "IMX I2C interface"
445         depends on ARCH_MXC
446         help
447           Say Y here if you want to use the IIC bus controller on
448           the Freescale i.MX/MXC processors.
449
450           This driver can also be built as a module.  If so, the module
451           will be called i2c-imx.
452
453 config I2C_INTEL_MID
454         tristate "Intel Moorestown/Medfield Platform I2C controller"
455         depends on PCI
456         help
457           Say Y here if you have an Intel Moorestown/Medfield platform I2C
458           controller.
459
460           This support is also available as a module. If so, the module
461           will be called i2c-intel-mid.
462
463 config I2C_IOP3XX
464         tristate "Intel IOPx3xx and IXP4xx on-chip I2C interface"
465         depends on ARCH_IOP32X || ARCH_IOP33X || ARCH_IXP4XX || ARCH_IOP13XX
466         help
467           Say Y here if you want to use the IIC bus controller on
468           the Intel IOPx3xx I/O Processors or IXP4xx Network Processors.
469
470           This driver can also be built as a module.  If so, the module
471           will be called i2c-iop3xx.
472
473 config I2C_MPC
474         tristate "MPC107/824x/85xx/512x/52xx/83xx/86xx"
475         depends on PPC
476         help
477           If you say yes to this option, support will be included for the
478           built-in I2C interface on the MPC107, Tsi107, MPC512x, MPC52xx,
479           MPC8240, MPC8245, MPC83xx, MPC85xx and MPC8641 family processors.
480
481           This driver can also be built as a module.  If so, the module
482           will be called i2c-mpc.
483
484 config I2C_MV64XXX
485         tristate "Marvell mv64xxx I2C Controller"
486         depends on (MV64X60 || PLAT_ORION)
487         help
488           If you say yes to this option, support will be included for the
489           built-in I2C interface on the Marvell 64xxx line of host bridges.
490
491           This driver can also be built as a module.  If so, the module
492           will be called i2c-mv64xxx.
493
494 config I2C_MXS
495         tristate "Freescale i.MX28 I2C interface"
496         depends on SOC_IMX28
497         select STMP_DEVICE
498         help
499           Say Y here if you want to use the I2C bus controller on
500           the Freescale i.MX28 processors.
501
502           This driver can also be built as a module.  If so, the module
503           will be called i2c-mxs.
504
505 config I2C_NOMADIK
506         tristate "ST-Ericsson Nomadik/Ux500 I2C Controller"
507         depends on ARM_AMBA
508         help
509           If you say yes to this option, support will be included for the
510           I2C interface from ST-Ericsson's Nomadik and Ux500 architectures,
511           as well as the STA2X11 PCIe I/O HUB.
512
513 config I2C_NUC900
514         tristate "NUC900 I2C Driver"
515         depends on ARCH_W90X900
516         help
517           Say Y here to include support for I2C controller in the
518           Winbond/Nuvoton NUC900 based System-on-Chip devices.
519
520 config I2C_OCORES
521         tristate "OpenCores I2C Controller"
522         depends on EXPERIMENTAL
523         help
524           If you say yes to this option, support will be included for the
525           OpenCores I2C controller. For details see
526           http://www.opencores.org/projects.cgi/web/i2c/overview
527
528           This driver can also be built as a module.  If so, the module
529           will be called i2c-ocores.
530
531 config I2C_OMAP
532         tristate "OMAP I2C adapter"
533         depends on ARCH_OMAP
534         default y if MACH_OMAP_H3 || MACH_OMAP_OSK
535         help
536           If you say yes to this option, support will be included for the
537           I2C interface on the Texas Instruments OMAP1/2 family of processors.
538           Like OMAP1510/1610/1710/5912 and OMAP242x.
539           For details see http://www.ti.com/omap.
540
541 config I2C_PASEMI
542         tristate "PA Semi SMBus interface"
543         depends on PPC_PASEMI && PCI
544         help
545           Supports the PA Semi PWRficient on-chip SMBus interfaces.
546
547 config I2C_PCA_PLATFORM
548         tristate "PCA9564/PCA9665 as platform device"
549         select I2C_ALGOPCA
550         default n
551         help
552           This driver supports a memory mapped Philips PCA9564/PCA9665
553           parallel bus to I2C bus controller.
554
555           This driver can also be built as a module.  If so, the module
556           will be called i2c-pca-platform.
557
558 config I2C_PMCMSP
559         tristate "PMC MSP I2C TWI Controller"
560         depends on PMC_MSP
561         help
562           This driver supports the PMC TWI controller on MSP devices.
563
564           This driver can also be built as module. If so, the module
565           will be called i2c-pmcmsp.
566
567 config I2C_PNX
568         tristate "I2C bus support for Philips PNX and NXP LPC targets"
569         depends on ARCH_LPC32XX
570         help
571           This driver supports the Philips IP3204 I2C IP block master and/or
572           slave controller
573
574           This driver can also be built as a module.  If so, the module
575           will be called i2c-pnx.
576
577 config I2C_PUV3
578         tristate "PKUnity v3 I2C bus support"
579         depends on UNICORE32 && ARCH_PUV3
580         select I2C_ALGOBIT
581         help
582           This driver supports the I2C IP inside the PKUnity-v3 SoC.
583           This I2C bus controller is under AMBA/AXI bus.
584
585           This driver can also be built as a module.  If so, the module
586           will be called i2c-puv3.
587
588 config I2C_PXA
589         tristate "Intel PXA2XX I2C adapter"
590         depends on ARCH_PXA || ARCH_MMP || (X86_32 && PCI && OF)
591         help
592           If you have devices in the PXA I2C bus, say yes to this option.
593           This driver can also be built as a module.  If so, the module
594           will be called i2c-pxa.
595
596 config I2C_PXA_PCI
597         def_bool I2C_PXA && X86_32 && PCI && OF
598
599 config I2C_PXA_SLAVE
600         bool "Intel PXA2XX I2C Slave comms support"
601         depends on I2C_PXA && !X86_32
602         help
603           Support I2C slave mode communications on the PXA I2C bus.  This
604           is necessary for systems where the PXA may be a target on the
605           I2C bus.
606
607 config HAVE_S3C2410_I2C
608         bool
609         help
610           This will include I2C support for Samsung SoCs. If you want to
611           include I2C support for any machine, kindly select this in the
612           respective Kconfig file.
613
614 config I2C_S3C2410
615         tristate "S3C2410 I2C Driver"
616         depends on HAVE_S3C2410_I2C
617         help
618           Say Y here to include support for I2C controller in the
619           Samsung SoCs.
620
621 config I2C_S6000
622         tristate "S6000 I2C support"
623         depends on XTENSA_VARIANT_S6000
624         help
625           This driver supports the on chip I2C device on the
626           S6000 xtensa processor family.
627
628           To compile this driver as a module, choose M here. The module
629           will be called i2c-s6000.
630
631 config I2C_SH7760
632         tristate "Renesas SH7760 I2C Controller"
633         depends on CPU_SUBTYPE_SH7760
634         help
635           This driver supports the 2 I2C interfaces on the Renesas SH7760.
636
637           This driver can also be built as a module.  If so, the module
638           will be called i2c-sh7760.
639
640 config I2C_SH_MOBILE
641         tristate "SuperH Mobile I2C Controller"
642         depends on SUPERH || ARCH_SHMOBILE
643         help
644           If you say yes to this option, support will be included for the
645           built-in I2C interface on the Renesas SH-Mobile processor.
646
647           This driver can also be built as a module.  If so, the module
648           will be called i2c-sh_mobile.
649
650 config I2C_SIMTEC
651         tristate "Simtec Generic I2C interface"
652         select I2C_ALGOBIT
653         help
654           If you say yes to this option, support will be included for
655           the Simtec Generic I2C interface. This driver is for the
656           simple I2C bus used on newer Simtec products for general
657           I2C, such as DDC on the Simtec BBD2016A.
658
659           This driver can also be built as a module. If so, the module
660           will be called i2c-simtec.
661
662 config I2C_SIRF
663         tristate "CSR SiRFprimaII I2C interface"
664         depends on ARCH_PRIMA2
665         help
666           If you say yes to this option, support will be included for the
667           CSR SiRFprimaII I2C interface.
668
669           This driver can also be built as a module.  If so, the module
670           will be called i2c-sirf.
671
672 config I2C_STU300
673         tristate "ST Microelectronics DDC I2C interface"
674         depends on MACH_U300
675         default y if MACH_U300
676         help
677           If you say yes to this option, support will be included for the
678           I2C interface from ST Microelectronics simply called "DDC I2C"
679           supporting both I2C and DDC, used in e.g. the U300 series
680           mobile platforms.
681
682           This driver can also be built as a module. If so, the module
683           will be called i2c-stu300.
684
685 config I2C_TEGRA
686         tristate "NVIDIA Tegra internal I2C controller"
687         depends on ARCH_TEGRA
688         help
689           If you say yes to this option, support will be included for the
690           I2C controller embedded in NVIDIA Tegra SOCs
691
692 config I2C_VERSATILE
693         tristate "ARM Versatile/Realview I2C bus support"
694         depends on ARCH_VERSATILE || ARCH_REALVIEW || ARCH_VEXPRESS
695         select I2C_ALGOBIT
696         help
697           Say yes if you want to support the I2C serial bus on ARMs Versatile
698           range of platforms.
699
700           This driver can also be built as a module.  If so, the module
701           will be called i2c-versatile.
702
703 config I2C_OCTEON
704         tristate "Cavium OCTEON I2C bus support"
705         depends on CPU_CAVIUM_OCTEON
706         help
707           Say yes if you want to support the I2C serial bus on Cavium
708           OCTEON SOC.
709
710           This driver can also be built as a module.  If so, the module
711           will be called i2c-octeon.
712
713 config I2C_XILINX
714         tristate "Xilinx I2C Controller"
715         depends on EXPERIMENTAL && HAS_IOMEM
716         help
717           If you say yes to this option, support will be included for the
718           Xilinx I2C controller.
719
720           This driver can also be built as a module.  If so, the module
721           will be called xilinx_i2c.
722
723 config I2C_XLR
724         tristate "XLR I2C support"
725         depends on CPU_XLR
726         help
727           This driver enables support for the on-chip I2C interface of
728           the Netlogic XLR/XLS MIPS processors.
729
730           This driver can also be built as a module.  If so, the module
731           will be called i2c-xlr.
732
733 config I2C_RCAR
734         tristate "Renesas R-Car I2C Controller"
735         depends on ARCH_SHMOBILE && I2C
736         help
737           If you say yes to this option, support will be included for the
738           R-Car I2C controller.
739
740           This driver can also be built as a module.  If so, the module
741           will be called i2c-rcar.
742
743 comment "External I2C/SMBus adapter drivers"
744
745 config I2C_DIOLAN_U2C
746         tristate "Diolan U2C-12 USB adapter"
747         depends on USB
748         help
749           If you say yes to this option, support will be included for Diolan
750           U2C-12, a USB to I2C interface.
751
752           This driver can also be built as a module.  If so, the module
753           will be called i2c-diolan-u2c.
754
755 config I2C_PARPORT
756         tristate "Parallel port adapter"
757         depends on PARPORT
758         select I2C_ALGOBIT
759         select I2C_SMBUS
760         help
761           This supports parallel port I2C adapters such as the ones made by
762           Philips or Velleman, Analog Devices evaluation boards, and more.
763           Basically any adapter using the parallel port as an I2C bus with
764           no extra chipset is supported by this driver, or could be.
765
766           This driver is a replacement for (and was inspired by) an older
767           driver named i2c-philips-par.  The new driver supports more devices,
768           and makes it easier to add support for new devices.
769
770           An adapter type parameter is now mandatory.  Please read the file
771           Documentation/i2c/busses/i2c-parport for details.
772
773           Another driver exists, named i2c-parport-light, which doesn't depend
774           on the parport driver.  This is meant for embedded systems. Don't say
775           Y here if you intend to say Y or M there.
776
777           This support is also available as a module.  If so, the module
778           will be called i2c-parport.
779
780 config I2C_PARPORT_LIGHT
781         tristate "Parallel port adapter (light)"
782         select I2C_ALGOBIT
783         select I2C_SMBUS
784         help
785           This supports parallel port I2C adapters such as the ones made by
786           Philips or Velleman, Analog Devices evaluation boards, and more.
787           Basically any adapter using the parallel port as an I2C bus with
788           no extra chipset is supported by this driver, or could be.
789
790           This driver is a light version of i2c-parport.  It doesn't depend
791           on the parport driver, and uses direct I/O access instead.  This
792           might be preferred on embedded systems where wasting memory for
793           the clean but heavy parport handling is not an option.  The
794           drawback is a reduced portability and the impossibility to
795           daisy-chain other parallel port devices.
796
797           Don't say Y here if you said Y or M to i2c-parport.  Saying M to
798           both is possible but both modules should not be loaded at the same
799           time.
800
801           This support is also available as a module.  If so, the module
802           will be called i2c-parport-light.
803
804 config I2C_TAOS_EVM
805         tristate "TAOS evaluation module"
806         depends on EXPERIMENTAL && TTY
807         select SERIO
808         select SERIO_SERPORT
809         default n
810         help
811           This supports TAOS evaluation modules on serial port. In order to
812           use this driver, you will need the inputattach tool, which is part
813           of the input-utils package.
814
815           If unsure, say N.
816
817           This support is also available as a module.  If so, the module
818           will be called i2c-taos-evm.
819
820 config I2C_TINY_USB
821         tristate "Tiny-USB adapter"
822         depends on USB
823         help
824           If you say yes to this option, support will be included for the
825           i2c-tiny-usb, a simple do-it-yourself USB to I2C interface. See
826           http://www.harbaum.org/till/i2c_tiny_usb for hardware details.
827
828           This driver can also be built as a module.  If so, the module
829           will be called i2c-tiny-usb.
830
831 config I2C_VIPERBOARD
832         tristate "Viperboard I2C master support"
833         depends on MFD_VIPERBOARD && USB
834         help
835           Say yes here to access the I2C part of the Nano River
836           Technologies Viperboard as I2C master.
837           See viperboard API specification and Nano
838           River Tech's viperboard.h for detailed meaning
839           of the module parameters.
840
841 comment "Other I2C/SMBus bus drivers"
842
843 config I2C_ACORN
844         tristate "Acorn IOC/IOMD I2C bus support"
845         depends on ARCH_ACORN
846         default y
847         select I2C_ALGOBIT
848         help
849           Say yes if you want to support the I2C bus on Acorn platforms.
850
851           If you don't know, say Y.
852
853 config I2C_ELEKTOR
854         tristate "Elektor ISA card"
855         depends on ISA && HAS_IOPORT && BROKEN_ON_SMP
856         select I2C_ALGOPCF
857         help
858           This supports the PCF8584 ISA bus I2C adapter.  Say Y if you own
859           such an adapter.
860
861           This support is also available as a module.  If so, the module
862           will be called i2c-elektor.
863
864 config I2C_PCA_ISA
865         tristate "PCA9564/PCA9665 on an ISA bus"
866         depends on ISA
867         select I2C_ALGOPCA
868         default n
869         help
870           This driver supports ISA boards using the Philips PCA9564/PCA9665
871           parallel bus to I2C bus controller.
872
873           This driver can also be built as a module.  If so, the module
874           will be called i2c-pca-isa.
875
876           This device is almost undetectable and using this driver on a
877           system which doesn't have this device will result in long
878           delays when I2C/SMBus chip drivers are loaded (e.g. at boot
879           time).  If unsure, say N.
880
881 config I2C_SIBYTE
882         tristate "SiByte SMBus interface"
883         depends on SIBYTE_SB1xxx_SOC
884         help
885           Supports the SiByte SOC on-chip I2C interfaces (2 channels).
886
887 config SCx200_I2C
888         tristate "NatSemi SCx200 I2C using GPIO pins (DEPRECATED)"
889         depends on SCx200_GPIO
890         select I2C_ALGOBIT
891         help
892           Enable the use of two GPIO pins of a SCx200 processor as an I2C bus.
893
894           If you don't know what to do here, say N.
895
896           This support is also available as a module.  If so, the module
897           will be called scx200_i2c.
898
899           This driver is deprecated and will be dropped soon. Use i2c-gpio
900           (or scx200_acb) instead.
901
902 config SCx200_I2C_SCL
903         int "GPIO pin used for SCL"
904         depends on SCx200_I2C
905         default "12"
906         help
907           Enter the GPIO pin number used for the SCL signal.  This value can
908           also be specified with a module parameter.
909
910 config SCx200_I2C_SDA
911         int "GPIO pin used for SDA"
912         depends on SCx200_I2C
913         default "13"
914         help
915           Enter the GPIO pin number used for the SSA signal.  This value can
916           also be specified with a module parameter.
917
918 config SCx200_ACB
919         tristate "Geode ACCESS.bus support"
920         depends on X86_32 && PCI
921         help
922           Enable the use of the ACCESS.bus controllers on the Geode SCx200 and
923           SC1100 processors and the CS5535 and CS5536 Geode companion devices.
924
925           If you don't know what to do here, say N.
926
927           This support is also available as a module.  If so, the module
928           will be called scx200_acb.
929
930 endmenu