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