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