Merge tag 'pci-v3.17-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaa...
[sfrench/cifs-2.6.git] / drivers / i2c / busses / Kconfig
1 #
2 # Sensor device configuration
3 #
4
5 menu "I2C Hardware Bus support"
6         depends on HAS_IOMEM
7
8 comment "PC SMBus host controller drivers"
9         depends on PCI
10
11 config I2C_ALI1535
12         tristate "ALI 1535"
13         depends on PCI
14         help
15           If you say yes to this option, support will be included for the SMB
16           Host controller on Acer Labs Inc. (ALI) M1535 South Bridges.  The SMB
17           controller is part of the 7101 device, which is an ACPI-compliant
18           Power Management Unit (PMU).
19
20           This driver can also be built as a module.  If so, the module
21           will be called i2c-ali1535.
22
23 config I2C_ALI1563
24         tristate "ALI 1563"
25         depends on PCI
26         help
27           If you say yes to this option, support will be included for the SMB
28           Host controller on Acer Labs Inc. (ALI) M1563 South Bridges.  The SMB
29           controller is part of the 7101 device, which is an ACPI-compliant
30           Power Management Unit (PMU).
31
32           This driver can also be built as a module.  If so, the module
33           will be called i2c-ali1563.
34
35 config I2C_ALI15X3
36         tristate "ALI 15x3"
37         depends on PCI
38         help
39           If you say yes to this option, support will be included for the
40           Acer Labs Inc. (ALI) M1514 and M1543 motherboard I2C interfaces.
41
42           This driver can also be built as a module.  If so, the module
43           will be called i2c-ali15x3.
44
45 config I2C_AMD756
46         tristate "AMD 756/766/768/8111 and nVidia nForce"
47         depends on PCI
48         help
49           If you say yes to this option, support will be included for the AMD
50           756/766/768 mainboard I2C interfaces.  The driver also includes
51           support for the first (SMBus 1.0) I2C interface of the AMD 8111 and
52           the nVidia nForce I2C interface.
53
54           This driver can also be built as a module.  If so, the module
55           will be called i2c-amd756.
56
57 config I2C_AMD756_S4882
58         tristate "SMBus multiplexing on the Tyan S4882"
59         depends on I2C_AMD756 && X86
60         help
61           Enabling this option will add specific SMBus support for the Tyan
62           S4882 motherboard.  On this 4-CPU board, the SMBus is multiplexed
63           over 8 different channels, where the various memory module EEPROMs
64           and temperature sensors live.  Saying yes here will give you access
65           to these in addition to the trunk.
66
67           This driver can also be built as a module.  If so, the module
68           will be called i2c-amd756-s4882.
69
70 config I2C_AMD8111
71         tristate "AMD 8111"
72         depends on PCI
73         help
74           If you say yes to this option, support will be included for the
75           second (SMBus 2.0) AMD 8111 mainboard I2C interface.
76
77           This driver can also be built as a module.  If so, the module
78           will be called i2c-amd8111.
79
80 config I2C_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 ARCH_ZYNQ
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
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 && (X86_32 || COMPILE_TEST)
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_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 I2C_RK3X
680         tristate "Rockchip RK3xxx I2C adapter"
681         depends on OF
682         help
683           Say Y here to include support for the I2C adapter in Rockchip RK3xxx
684           SoCs.
685
686           This driver can also be built as a module. If so, the module will
687           be called i2c-rk3x.
688
689 config HAVE_S3C2410_I2C
690         bool
691         help
692           This will include I2C support for Samsung SoCs. If you want to
693           include I2C support for any machine, kindly select this in the
694           respective Kconfig file.
695
696 config I2C_S3C2410
697         tristate "S3C2410 I2C Driver"
698         depends on HAVE_S3C2410_I2C
699         help
700           Say Y here to include support for I2C controller in the
701           Samsung SoCs.
702
703 config I2C_S6000
704         tristate "S6000 I2C support"
705         depends on XTENSA_VARIANT_S6000
706         help
707           This driver supports the on chip I2C device on the
708           S6000 xtensa processor family.
709
710           To compile this driver as a module, choose M here. The module
711           will be called i2c-s6000.
712
713 config I2C_SH7760
714         tristate "Renesas SH7760 I2C Controller"
715         depends on CPU_SUBTYPE_SH7760
716         help
717           This driver supports the 2 I2C interfaces on the Renesas SH7760.
718
719           This driver can also be built as a module.  If so, the module
720           will be called i2c-sh7760.
721
722 config I2C_SH_MOBILE
723         tristate "SuperH Mobile I2C Controller"
724         depends on SUPERH || ARCH_SHMOBILE || COMPILE_TEST
725         help
726           If you say yes to this option, support will be included for the
727           built-in I2C interface on the Renesas SH-Mobile processor.
728
729           This driver can also be built as a module.  If so, the module
730           will be called i2c-sh_mobile.
731
732 config I2C_SIMTEC
733         tristate "Simtec Generic I2C interface"
734         select I2C_ALGOBIT
735         help
736           If you say yes to this option, support will be included for
737           the Simtec Generic I2C interface. This driver is for the
738           simple I2C bus used on newer Simtec products for general
739           I2C, such as DDC on the Simtec BBD2016A.
740
741           This driver can also be built as a module. If so, the module
742           will be called i2c-simtec.
743
744 config I2C_SIRF
745         tristate "CSR SiRFprimaII I2C interface"
746         depends on ARCH_SIRF
747         help
748           If you say yes to this option, support will be included for the
749           CSR SiRFprimaII I2C interface.
750
751           This driver can also be built as a module.  If so, the module
752           will be called i2c-sirf.
753
754 config I2C_ST
755         tristate "STMicroelectronics SSC I2C support"
756         depends on ARCH_STI
757         help
758           Enable this option to add support for STMicroelectronics SoCs
759           hardware SSC (Synchronous Serial Controller) as an I2C controller.
760
761           This driver can also be built as module. If so, the module
762           will be called i2c-st.
763
764 config I2C_STU300
765         tristate "ST Microelectronics DDC I2C interface"
766         depends on MACH_U300
767         default y if MACH_U300
768         help
769           If you say yes to this option, support will be included for the
770           I2C interface from ST Microelectronics simply called "DDC I2C"
771           supporting both I2C and DDC, used in e.g. the U300 series
772           mobile platforms.
773
774           This driver can also be built as a module. If so, the module
775           will be called i2c-stu300.
776
777 config I2C_SUN6I_P2WI
778         tristate "Allwinner sun6i internal P2WI controller"
779         depends on RESET_CONTROLLER
780         depends on MACH_SUN6I || COMPILE_TEST
781         help
782           If you say yes to this option, support will be included for the
783           P2WI (Push/Pull 2 Wire Interface) controller embedded in some sunxi
784           SOCs.
785           The P2WI looks like an SMBus controller (which supports only byte
786           accesses), except that it only supports one slave device.
787           This interface is used to connect to specific PMIC devices (like the
788           AXP221).
789
790 config I2C_TEGRA
791         tristate "NVIDIA Tegra internal I2C controller"
792         depends on ARCH_TEGRA
793         help
794           If you say yes to this option, support will be included for the
795           I2C controller embedded in NVIDIA Tegra SOCs
796
797 config I2C_VERSATILE
798         tristate "ARM Versatile/Realview I2C bus support"
799         depends on ARCH_VERSATILE || ARCH_REALVIEW || ARCH_VEXPRESS
800         select I2C_ALGOBIT
801         help
802           Say yes if you want to support the I2C serial bus on ARMs Versatile
803           range of platforms.
804
805           This driver can also be built as a module.  If so, the module
806           will be called i2c-versatile.
807
808 config I2C_WMT
809         tristate "Wondermedia WM8xxx SoC I2C bus support"
810         depends on ARCH_VT8500
811         help
812           Say yes if you want to support the I2C bus on Wondermedia 8xxx-series
813           SoCs.
814
815           This driver can also be built as a module. If so, the module will be
816           called i2c-wmt.
817
818 config I2C_OCTEON
819         tristate "Cavium OCTEON I2C bus support"
820         depends on CAVIUM_OCTEON_SOC
821         help
822           Say yes if you want to support the I2C serial bus on Cavium
823           OCTEON SOC.
824
825           This driver can also be built as a module.  If so, the module
826           will be called i2c-octeon.
827
828 config I2C_XILINX
829         tristate "Xilinx I2C Controller"
830         depends on HAS_IOMEM
831         help
832           If you say yes to this option, support will be included for the
833           Xilinx I2C controller.
834
835           This driver can also be built as a module.  If so, the module
836           will be called xilinx_i2c.
837
838 config I2C_XLR
839         tristate "XLR I2C support"
840         depends on CPU_XLR
841         help
842           This driver enables support for the on-chip I2C interface of
843           the Netlogic XLR/XLS MIPS processors.
844
845           This driver can also be built as a module.  If so, the module
846           will be called i2c-xlr.
847
848 config I2C_RCAR
849         tristate "Renesas R-Car I2C Controller"
850         depends on ARCH_SHMOBILE || COMPILE_TEST
851         help
852           If you say yes to this option, support will be included for the
853           R-Car I2C controller.
854
855           This driver can also be built as a module.  If so, the module
856           will be called i2c-rcar.
857
858 comment "External I2C/SMBus adapter drivers"
859
860 config I2C_DIOLAN_U2C
861         tristate "Diolan U2C-12 USB adapter"
862         depends on USB
863         help
864           If you say yes to this option, support will be included for Diolan
865           U2C-12, a USB to I2C interface.
866
867           This driver can also be built as a module.  If so, the module
868           will be called i2c-diolan-u2c.
869
870 config I2C_PARPORT
871         tristate "Parallel port adapter"
872         depends on PARPORT
873         select I2C_ALGOBIT
874         select I2C_SMBUS
875         help
876           This supports parallel port I2C adapters such as the ones made by
877           Philips or Velleman, Analog Devices evaluation boards, and more.
878           Basically any adapter using the parallel port as an I2C bus with
879           no extra chipset is supported by this driver, or could be.
880
881           This driver is a replacement for (and was inspired by) an older
882           driver named i2c-philips-par.  The new driver supports more devices,
883           and makes it easier to add support for new devices.
884
885           An adapter type parameter is now mandatory.  Please read the file
886           Documentation/i2c/busses/i2c-parport for details.
887
888           Another driver exists, named i2c-parport-light, which doesn't depend
889           on the parport driver.  This is meant for embedded systems. Don't say
890           Y here if you intend to say Y or M there.
891
892           This support is also available as a module.  If so, the module
893           will be called i2c-parport.
894
895 config I2C_PARPORT_LIGHT
896         tristate "Parallel port adapter (light)"
897         select I2C_ALGOBIT
898         select I2C_SMBUS
899         help
900           This supports parallel port I2C adapters such as the ones made by
901           Philips or Velleman, Analog Devices evaluation boards, and more.
902           Basically any adapter using the parallel port as an I2C bus with
903           no extra chipset is supported by this driver, or could be.
904
905           This driver is a light version of i2c-parport.  It doesn't depend
906           on the parport driver, and uses direct I/O access instead.  This
907           might be preferred on embedded systems where wasting memory for
908           the clean but heavy parport handling is not an option.  The
909           drawback is a reduced portability and the impossibility to
910           daisy-chain other parallel port devices.
911
912           Don't say Y here if you said Y or M to i2c-parport.  Saying M to
913           both is possible but both modules should not be loaded at the same
914           time.
915
916           This support is also available as a module.  If so, the module
917           will be called i2c-parport-light.
918
919 config I2C_ROBOTFUZZ_OSIF
920         tristate "RobotFuzz Open Source InterFace USB adapter"
921         depends on USB
922         help
923           If you say yes to this option, support will be included for the
924           RobotFuzz Open Source InterFace USB to I2C interface.
925
926           This driver can also be built as a module.  If so, the module
927           will be called i2c-osif.
928
929 config I2C_TAOS_EVM
930         tristate "TAOS evaluation module"
931         depends on TTY
932         select SERIO
933         select SERIO_SERPORT
934         default n
935         help
936           This supports TAOS evaluation modules on serial port. In order to
937           use this driver, you will need the inputattach tool, which is part
938           of the input-utils package.
939
940           If unsure, say N.
941
942           This support is also available as a module.  If so, the module
943           will be called i2c-taos-evm.
944
945 config I2C_TINY_USB
946         tristate "Tiny-USB adapter"
947         depends on USB
948         help
949           If you say yes to this option, support will be included for the
950           i2c-tiny-usb, a simple do-it-yourself USB to I2C interface. See
951           http://www.harbaum.org/till/i2c_tiny_usb for hardware details.
952
953           This driver can also be built as a module.  If so, the module
954           will be called i2c-tiny-usb.
955
956 config I2C_VIPERBOARD
957         tristate "Viperboard I2C master support"
958         depends on MFD_VIPERBOARD && USB
959         help
960           Say yes here to access the I2C part of the Nano River
961           Technologies Viperboard as I2C master.
962           See viperboard API specification and Nano
963           River Tech's viperboard.h for detailed meaning
964           of the module parameters.
965
966 comment "Other I2C/SMBus bus drivers"
967
968 config I2C_ACORN
969         tristate "Acorn IOC/IOMD I2C bus support"
970         depends on ARCH_ACORN
971         default y
972         select I2C_ALGOBIT
973         help
974           Say yes if you want to support the I2C bus on Acorn platforms.
975
976           If you don't know, say Y.
977
978 config I2C_ELEKTOR
979         tristate "Elektor ISA card"
980         depends on ISA && HAS_IOPORT_MAP && BROKEN_ON_SMP
981         select I2C_ALGOPCF
982         help
983           This supports the PCF8584 ISA bus I2C adapter.  Say Y if you own
984           such an adapter.
985
986           This support is also available as a module.  If so, the module
987           will be called i2c-elektor.
988
989 config I2C_PCA_ISA
990         tristate "PCA9564/PCA9665 on an ISA bus"
991         depends on ISA
992         select I2C_ALGOPCA
993         default n
994         help
995           This driver supports ISA boards using the Philips PCA9564/PCA9665
996           parallel bus to I2C bus controller.
997
998           This driver can also be built as a module.  If so, the module
999           will be called i2c-pca-isa.
1000
1001           This device is almost undetectable and using this driver on a
1002           system which doesn't have this device will result in long
1003           delays when I2C/SMBus chip drivers are loaded (e.g. at boot
1004           time).  If unsure, say N.
1005
1006 config I2C_SIBYTE
1007         tristate "SiByte SMBus interface"
1008         depends on SIBYTE_SB1xxx_SOC
1009         help
1010           Supports the SiByte SOC on-chip I2C interfaces (2 channels).
1011
1012 config I2C_CROS_EC_TUNNEL
1013         tristate "ChromeOS EC tunnel I2C bus"
1014         depends on MFD_CROS_EC
1015         help
1016           If you say yes here you get an I2C bus that will tunnel i2c commands
1017           through to the other side of the ChromeOS EC to the i2c bus
1018           connected there. This will work whatever the interface used to
1019           talk to the EC (SPI, I2C or LPC).
1020
1021 config SCx200_I2C
1022         tristate "NatSemi SCx200 I2C using GPIO pins (DEPRECATED)"
1023         depends on SCx200_GPIO
1024         select I2C_ALGOBIT
1025         help
1026           Enable the use of two GPIO pins of a SCx200 processor as an I2C bus.
1027
1028           If you don't know what to do here, say N.
1029
1030           This support is also available as a module.  If so, the module
1031           will be called scx200_i2c.
1032
1033           This driver is deprecated and will be dropped soon. Use i2c-gpio
1034           (or scx200_acb) instead.
1035
1036 config SCx200_I2C_SCL
1037         int "GPIO pin used for SCL"
1038         depends on SCx200_I2C
1039         default "12"
1040         help
1041           Enter the GPIO pin number used for the SCL signal.  This value can
1042           also be specified with a module parameter.
1043
1044 config SCx200_I2C_SDA
1045         int "GPIO pin used for SDA"
1046         depends on SCx200_I2C
1047         default "13"
1048         help
1049           Enter the GPIO pin number used for the SSA signal.  This value can
1050           also be specified with a module parameter.
1051
1052 config SCx200_ACB
1053         tristate "Geode ACCESS.bus support"
1054         depends on X86_32 && PCI
1055         help
1056           Enable the use of the ACCESS.bus controllers on the Geode SCx200 and
1057           SC1100 processors and the CS5535 and CS5536 Geode companion devices.
1058
1059           If you don't know what to do here, say N.
1060
1061           This support is also available as a module.  If so, the module
1062           will be called scx200_acb.
1063
1064 endmenu