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