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