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