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