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