a70012b9fee60a8cad3b93aa1e190df07a6c9299
[linux.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_EFM32
437         tristate "EFM32 I2C controller"
438         depends on ARCH_EFM32 || COMPILE_TEST
439         help
440           This driver supports the i2c block found in Energy Micro's EFM32
441           SoCs.
442
443 config I2C_EG20T
444         tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) I2C"
445         depends on PCI
446         help
447           This driver is for PCH(Platform controller Hub) I2C of EG20T which
448           is an IOH(Input/Output Hub) for x86 embedded processor.
449           This driver can access PCH I2C bus device.
450
451           This driver also can be used for LAPIS Semiconductor IOH(Input/
452           Output Hub), ML7213, ML7223 and ML7831.
453           ML7213 IOH is for IVI(In-Vehicle Infotainment) use, ML7223 IOH is
454           for MP(Media Phone) use and ML7831 IOH is for general purpose use.
455           ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series.
456           ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH.
457
458 config I2C_EXYNOS5
459         tristate "Exynos5 high-speed I2C driver"
460         depends on ARCH_EXYNOS5 && OF
461         help
462           Say Y here to include support for high-speed I2C controller in the
463           Exynos5 based Samsung SoCs.
464
465 config I2C_GPIO
466         tristate "GPIO-based bitbanging I2C"
467         depends on GPIOLIB
468         select I2C_ALGOBIT
469         help
470           This is a very simple bitbanging I2C driver utilizing the
471           arch-neutral GPIO API to control the SCL and SDA lines.
472
473 config I2C_HIGHLANDER
474         tristate "Highlander FPGA SMBus interface"
475         depends on SH_HIGHLANDER
476         help
477           If you say yes to this option, support will be included for
478           the SMBus interface located in the FPGA on various Highlander
479           boards, particularly the R0P7780LC0011RL and R0P7785LC0011RL
480           FPGAs. This is wholly unrelated to the SoC I2C.
481
482           This driver can also be built as a module.  If so, the module
483           will be called i2c-highlander.
484
485 config I2C_IBM_IIC
486         tristate "IBM PPC 4xx on-chip I2C interface"
487         depends on 4xx
488         help
489           Say Y here if you want to use IIC peripheral found on
490           embedded IBM PPC 4xx based systems.
491
492           This driver can also be built as a module.  If so, the module
493           will be called i2c-ibm_iic.
494
495 config I2C_IMX
496         tristate "IMX I2C interface"
497         depends on ARCH_MXC
498         help
499           Say Y here if you want to use the IIC bus controller on
500           the Freescale i.MX/MXC processors.
501
502           This driver can also be built as a module.  If so, the module
503           will be called i2c-imx.
504
505 config I2C_IOP3XX
506         tristate "Intel IOPx3xx and IXP4xx on-chip I2C interface"
507         depends on ARCH_IOP32X || ARCH_IOP33X || ARCH_IXP4XX || ARCH_IOP13XX
508         help
509           Say Y here if you want to use the IIC bus controller on
510           the Intel IOPx3xx I/O Processors or IXP4xx Network Processors.
511
512           This driver can also be built as a module.  If so, the module
513           will be called i2c-iop3xx.
514
515 config I2C_KEMPLD
516         tristate "Kontron COM I2C Controller"
517         depends on MFD_KEMPLD
518         help
519           This enables support for the I2C bus interface on some Kontron ETX
520           and COMexpress (ETXexpress) modules.
521
522           This driver can also be built as a module. If so, the module
523           will be called i2c-kempld.
524
525 config I2C_MPC
526         tristate "MPC107/824x/85xx/512x/52xx/83xx/86xx"
527         depends on PPC
528         help
529           If you say yes to this option, support will be included for the
530           built-in I2C interface on the MPC107, Tsi107, MPC512x, MPC52xx,
531           MPC8240, MPC8245, MPC83xx, MPC85xx and MPC8641 family processors.
532
533           This driver can also be built as a module.  If so, the module
534           will be called i2c-mpc.
535
536 config I2C_MV64XXX
537         tristate "Marvell mv64xxx I2C Controller"
538         depends on MV64X60 || PLAT_ORION || ARCH_SUNXI
539         help
540           If you say yes to this option, support will be included for the
541           built-in I2C interface on the Marvell 64xxx line of host bridges.
542           This driver is also used for Allwinner SoCs I2C controllers.
543
544           This driver can also be built as a module.  If so, the module
545           will be called i2c-mv64xxx.
546
547 config I2C_MXS
548         tristate "Freescale i.MX28 I2C interface"
549         depends on SOC_IMX28
550         select STMP_DEVICE
551         help
552           Say Y here if you want to use the I2C bus controller on
553           the Freescale i.MX28 processors.
554
555           This driver can also be built as a module.  If so, the module
556           will be called i2c-mxs.
557
558 config I2C_NOMADIK
559         tristate "ST-Ericsson Nomadik/Ux500 I2C Controller"
560         depends on ARM_AMBA
561         help
562           If you say yes to this option, support will be included for the
563           I2C interface from ST-Ericsson's Nomadik and Ux500 architectures,
564           as well as the STA2X11 PCIe I/O HUB.
565
566 config I2C_NUC900
567         tristate "NUC900 I2C Driver"
568         depends on ARCH_W90X900
569         help
570           Say Y here to include support for I2C controller in the
571           Winbond/Nuvoton NUC900 based System-on-Chip devices.
572
573 config I2C_OCORES
574         tristate "OpenCores I2C Controller"
575         help
576           If you say yes to this option, support will be included for the
577           OpenCores I2C controller. For details see
578           http://www.opencores.org/projects.cgi/web/i2c/overview
579
580           This driver can also be built as a module.  If so, the module
581           will be called i2c-ocores.
582
583 config I2C_OMAP
584         tristate "OMAP I2C adapter"
585         depends on ARCH_OMAP
586         default y if MACH_OMAP_H3 || MACH_OMAP_OSK
587         help
588           If you say yes to this option, support will be included for the
589           I2C interface on the Texas Instruments OMAP1/2 family of processors.
590           Like OMAP1510/1610/1710/5912 and OMAP242x.
591           For details see http://www.ti.com/omap.
592
593 config I2C_PASEMI
594         tristate "PA Semi SMBus interface"
595         depends on PPC_PASEMI && PCI
596         help
597           Supports the PA Semi PWRficient on-chip SMBus interfaces.
598
599 config I2C_PCA_PLATFORM
600         tristate "PCA9564/PCA9665 as platform device"
601         select I2C_ALGOPCA
602         default n
603         help
604           This driver supports a memory mapped Philips PCA9564/PCA9665
605           parallel bus to I2C bus controller.
606
607           This driver can also be built as a module.  If so, the module
608           will be called i2c-pca-platform.
609
610 config I2C_PMCMSP
611         tristate "PMC MSP I2C TWI Controller"
612         depends on PMC_MSP
613         help
614           This driver supports the PMC TWI controller on MSP devices.
615
616           This driver can also be built as module. If so, the module
617           will be called i2c-pmcmsp.
618
619 config I2C_PNX
620         tristate "I2C bus support for Philips PNX and NXP LPC targets"
621         depends on ARCH_LPC32XX
622         help
623           This driver supports the Philips IP3204 I2C IP block master and/or
624           slave controller
625
626           This driver can also be built as a module.  If so, the module
627           will be called i2c-pnx.
628
629 config I2C_PUV3
630         tristate "PKUnity v3 I2C bus support"
631         depends on UNICORE32 && ARCH_PUV3
632         select I2C_ALGOBIT
633         help
634           This driver supports the I2C IP inside the PKUnity-v3 SoC.
635           This I2C bus controller is under AMBA/AXI bus.
636
637           This driver can also be built as a module.  If so, the module
638           will be called i2c-puv3.
639
640 config I2C_PXA
641         tristate "Intel PXA2XX I2C adapter"
642         depends on ARCH_PXA || ARCH_MMP || (X86_32 && PCI && OF)
643         help
644           If you have devices in the PXA I2C bus, say yes to this option.
645           This driver can also be built as a module.  If so, the module
646           will be called i2c-pxa.
647
648 config I2C_PXA_PCI
649         def_bool I2C_PXA && X86_32 && PCI && OF
650
651 config I2C_PXA_SLAVE
652         bool "Intel PXA2XX I2C Slave comms support"
653         depends on I2C_PXA && !X86_32
654         help
655           Support I2C slave mode communications on the PXA I2C bus.  This
656           is necessary for systems where the PXA may be a target on the
657           I2C bus.
658
659 config I2C_QUP
660         tristate "Qualcomm QUP based I2C controller"
661         depends on ARCH_QCOM
662         help
663           If you say yes to this option, support will be included for the
664           built-in I2C interface on the Qualcomm SoCs.
665
666           This driver can also be built as a module.  If so, the module
667           will be called i2c-qup.
668
669 config I2C_RIIC
670         tristate "Renesas RIIC adapter"
671         depends on ARCH_SHMOBILE || COMPILE_TEST
672         help
673           If you say yes to this option, support will be included for the
674           Renesas RIIC I2C interface.
675
676           This driver can also be built as a module.  If so, the module
677           will be called i2c-riic.
678
679 config HAVE_S3C2410_I2C
680         bool
681         help
682           This will include I2C support for Samsung SoCs. If you want to
683           include I2C support for any machine, kindly select this in the
684           respective Kconfig file.
685
686 config I2C_S3C2410
687         tristate "S3C2410 I2C Driver"
688         depends on HAVE_S3C2410_I2C
689         help
690           Say Y here to include support for I2C controller in the
691           Samsung SoCs.
692
693 config I2C_S6000
694         tristate "S6000 I2C support"
695         depends on XTENSA_VARIANT_S6000
696         help
697           This driver supports the on chip I2C device on the
698           S6000 xtensa processor family.
699
700           To compile this driver as a module, choose M here. The module
701           will be called i2c-s6000.
702
703 config I2C_SH7760
704         tristate "Renesas SH7760 I2C Controller"
705         depends on CPU_SUBTYPE_SH7760
706         help
707           This driver supports the 2 I2C interfaces on the Renesas SH7760.
708
709           This driver can also be built as a module.  If so, the module
710           will be called i2c-sh7760.
711
712 config I2C_SH_MOBILE
713         tristate "SuperH Mobile I2C Controller"
714         depends on SUPERH || ARCH_SHMOBILE || COMPILE_TEST
715         help
716           If you say yes to this option, support will be included for the
717           built-in I2C interface on the Renesas SH-Mobile processor.
718
719           This driver can also be built as a module.  If so, the module
720           will be called i2c-sh_mobile.
721
722 config I2C_SIMTEC
723         tristate "Simtec Generic I2C interface"
724         select I2C_ALGOBIT
725         help
726           If you say yes to this option, support will be included for
727           the Simtec Generic I2C interface. This driver is for the
728           simple I2C bus used on newer Simtec products for general
729           I2C, such as DDC on the Simtec BBD2016A.
730
731           This driver can also be built as a module. If so, the module
732           will be called i2c-simtec.
733
734 config I2C_SIRF
735         tristate "CSR SiRFprimaII I2C interface"
736         depends on ARCH_SIRF
737         help
738           If you say yes to this option, support will be included for the
739           CSR SiRFprimaII I2C interface.
740
741           This driver can also be built as a module.  If so, the module
742           will be called i2c-sirf.
743
744 config I2C_ST
745         tristate "STMicroelectronics SSC I2C support"
746         depends on ARCH_STI
747         help
748           Enable this option to add support for STMicroelectronics SoCs
749           hardware SSC (Synchronous Serial Controller) as an I2C controller.
750
751           This driver can also be built as module. If so, the module
752           will be called i2c-st.
753
754 config I2C_STU300
755         tristate "ST Microelectronics DDC I2C interface"
756         depends on MACH_U300
757         default y if MACH_U300
758         help
759           If you say yes to this option, support will be included for the
760           I2C interface from ST Microelectronics simply called "DDC I2C"
761           supporting both I2C and DDC, used in e.g. the U300 series
762           mobile platforms.
763
764           This driver can also be built as a module. If so, the module
765           will be called i2c-stu300.
766
767 config I2C_TEGRA
768         tristate "NVIDIA Tegra internal I2C controller"
769         depends on ARCH_TEGRA
770         help
771           If you say yes to this option, support will be included for the
772           I2C controller embedded in NVIDIA Tegra SOCs
773
774 config I2C_VERSATILE
775         tristate "ARM Versatile/Realview I2C bus support"
776         depends on ARCH_VERSATILE || ARCH_REALVIEW || ARCH_VEXPRESS
777         select I2C_ALGOBIT
778         help
779           Say yes if you want to support the I2C serial bus on ARMs Versatile
780           range of platforms.
781
782           This driver can also be built as a module.  If so, the module
783           will be called i2c-versatile.
784
785 config I2C_WMT
786         tristate "Wondermedia WM8xxx SoC I2C bus support"
787         depends on ARCH_VT8500
788         help
789           Say yes if you want to support the I2C bus on Wondermedia 8xxx-series
790           SoCs.
791
792           This driver can also be built as a module. If so, the module will be
793           called i2c-wmt.
794
795 config I2C_OCTEON
796         tristate "Cavium OCTEON I2C bus support"
797         depends on CAVIUM_OCTEON_SOC
798         help
799           Say yes if you want to support the I2C serial bus on Cavium
800           OCTEON SOC.
801
802           This driver can also be built as a module.  If so, the module
803           will be called i2c-octeon.
804
805 config I2C_XILINX
806         tristate "Xilinx I2C Controller"
807         depends on HAS_IOMEM
808         help
809           If you say yes to this option, support will be included for the
810           Xilinx I2C controller.
811
812           This driver can also be built as a module.  If so, the module
813           will be called xilinx_i2c.
814
815 config I2C_XLR
816         tristate "XLR I2C support"
817         depends on CPU_XLR
818         help
819           This driver enables support for the on-chip I2C interface of
820           the Netlogic XLR/XLS MIPS processors.
821
822           This driver can also be built as a module.  If so, the module
823           will be called i2c-xlr.
824
825 config I2C_RCAR
826         tristate "Renesas R-Car I2C Controller"
827         depends on ARCH_SHMOBILE || COMPILE_TEST
828         help
829           If you say yes to this option, support will be included for the
830           R-Car I2C controller.
831
832           This driver can also be built as a module.  If so, the module
833           will be called i2c-rcar.
834
835 comment "External I2C/SMBus adapter drivers"
836
837 config I2C_DIOLAN_U2C
838         tristate "Diolan U2C-12 USB adapter"
839         depends on USB
840         help
841           If you say yes to this option, support will be included for Diolan
842           U2C-12, a USB to I2C interface.
843
844           This driver can also be built as a module.  If so, the module
845           will be called i2c-diolan-u2c.
846
847 config I2C_PARPORT
848         tristate "Parallel port adapter"
849         depends on PARPORT
850         select I2C_ALGOBIT
851         select I2C_SMBUS
852         help
853           This supports parallel port I2C adapters such as the ones made by
854           Philips or Velleman, Analog Devices evaluation boards, and more.
855           Basically any adapter using the parallel port as an I2C bus with
856           no extra chipset is supported by this driver, or could be.
857
858           This driver is a replacement for (and was inspired by) an older
859           driver named i2c-philips-par.  The new driver supports more devices,
860           and makes it easier to add support for new devices.
861
862           An adapter type parameter is now mandatory.  Please read the file
863           Documentation/i2c/busses/i2c-parport for details.
864
865           Another driver exists, named i2c-parport-light, which doesn't depend
866           on the parport driver.  This is meant for embedded systems. Don't say
867           Y here if you intend to say Y or M there.
868
869           This support is also available as a module.  If so, the module
870           will be called i2c-parport.
871
872 config I2C_PARPORT_LIGHT
873         tristate "Parallel port adapter (light)"
874         select I2C_ALGOBIT
875         select I2C_SMBUS
876         help
877           This supports parallel port I2C adapters such as the ones made by
878           Philips or Velleman, Analog Devices evaluation boards, and more.
879           Basically any adapter using the parallel port as an I2C bus with
880           no extra chipset is supported by this driver, or could be.
881
882           This driver is a light version of i2c-parport.  It doesn't depend
883           on the parport driver, and uses direct I/O access instead.  This
884           might be preferred on embedded systems where wasting memory for
885           the clean but heavy parport handling is not an option.  The
886           drawback is a reduced portability and the impossibility to
887           daisy-chain other parallel port devices.
888
889           Don't say Y here if you said Y or M to i2c-parport.  Saying M to
890           both is possible but both modules should not be loaded at the same
891           time.
892
893           This support is also available as a module.  If so, the module
894           will be called i2c-parport-light.
895
896 config I2C_ROBOTFUZZ_OSIF
897         tristate "RobotFuzz Open Source InterFace USB adapter"
898         depends on USB
899         help
900           If you say yes to this option, support will be included for the
901           RobotFuzz Open Source InterFace USB to I2C interface.
902
903           This driver can also be built as a module.  If so, the module
904           will be called i2c-osif.
905
906 config I2C_TAOS_EVM
907         tristate "TAOS evaluation module"
908         depends on TTY
909         select SERIO
910         select SERIO_SERPORT
911         default n
912         help
913           This supports TAOS evaluation modules on serial port. In order to
914           use this driver, you will need the inputattach tool, which is part
915           of the input-utils package.
916
917           If unsure, say N.
918
919           This support is also available as a module.  If so, the module
920           will be called i2c-taos-evm.
921
922 config I2C_TINY_USB
923         tristate "Tiny-USB adapter"
924         depends on USB
925         help
926           If you say yes to this option, support will be included for the
927           i2c-tiny-usb, a simple do-it-yourself USB to I2C interface. See
928           http://www.harbaum.org/till/i2c_tiny_usb for hardware details.
929
930           This driver can also be built as a module.  If so, the module
931           will be called i2c-tiny-usb.
932
933 config I2C_VIPERBOARD
934         tristate "Viperboard I2C master support"
935         depends on MFD_VIPERBOARD && USB
936         help
937           Say yes here to access the I2C part of the Nano River
938           Technologies Viperboard as I2C master.
939           See viperboard API specification and Nano
940           River Tech's viperboard.h for detailed meaning
941           of the module parameters.
942
943 comment "Other I2C/SMBus bus drivers"
944
945 config I2C_ACORN
946         tristate "Acorn IOC/IOMD I2C bus support"
947         depends on ARCH_ACORN
948         default y
949         select I2C_ALGOBIT
950         help
951           Say yes if you want to support the I2C bus on Acorn platforms.
952
953           If you don't know, say Y.
954
955 config I2C_ELEKTOR
956         tristate "Elektor ISA card"
957         depends on ISA && HAS_IOPORT && BROKEN_ON_SMP
958         select I2C_ALGOPCF
959         help
960           This supports the PCF8584 ISA bus I2C adapter.  Say Y if you own
961           such an adapter.
962
963           This support is also available as a module.  If so, the module
964           will be called i2c-elektor.
965
966 config I2C_PCA_ISA
967         tristate "PCA9564/PCA9665 on an ISA bus"
968         depends on ISA
969         select I2C_ALGOPCA
970         default n
971         help
972           This driver supports ISA boards using the Philips PCA9564/PCA9665
973           parallel bus to I2C bus controller.
974
975           This driver can also be built as a module.  If so, the module
976           will be called i2c-pca-isa.
977
978           This device is almost undetectable and using this driver on a
979           system which doesn't have this device will result in long
980           delays when I2C/SMBus chip drivers are loaded (e.g. at boot
981           time).  If unsure, say N.
982
983 config I2C_SIBYTE
984         tristate "SiByte SMBus interface"
985         depends on SIBYTE_SB1xxx_SOC
986         help
987           Supports the SiByte SOC on-chip I2C interfaces (2 channels).
988
989 config SCx200_I2C
990         tristate "NatSemi SCx200 I2C using GPIO pins (DEPRECATED)"
991         depends on SCx200_GPIO
992         select I2C_ALGOBIT
993         help
994           Enable the use of two GPIO pins of a SCx200 processor as an I2C bus.
995
996           If you don't know what to do here, say N.
997
998           This support is also available as a module.  If so, the module
999           will be called scx200_i2c.
1000
1001           This driver is deprecated and will be dropped soon. Use i2c-gpio
1002           (or scx200_acb) instead.
1003
1004 config SCx200_I2C_SCL
1005         int "GPIO pin used for SCL"
1006         depends on SCx200_I2C
1007         default "12"
1008         help
1009           Enter the GPIO pin number used for the SCL signal.  This value can
1010           also be specified with a module parameter.
1011
1012 config SCx200_I2C_SDA
1013         int "GPIO pin used for SDA"
1014         depends on SCx200_I2C
1015         default "13"
1016         help
1017           Enter the GPIO pin number used for the SSA signal.  This value can
1018           also be specified with a module parameter.
1019
1020 config SCx200_ACB
1021         tristate "Geode ACCESS.bus support"
1022         depends on X86_32 && PCI
1023         help
1024           Enable the use of the ACCESS.bus controllers on the Geode SCx200 and
1025           SC1100 processors and the CS5535 and CS5536 Geode companion devices.
1026
1027           If you don't know what to do here, say N.
1028
1029           This support is also available as a module.  If so, the module
1030           will be called scx200_acb.
1031
1032 endmenu