Linux-libre 4.4.228-gnu
[librecmc/linux-libre.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_HIX5HD2
81         tristate "Hix5hd2 high-speed I2C driver"
82         depends on ARCH_HIX5HD2 || COMPILE_TEST
83         help
84           Say Y here to include support for high-speed I2C controller in the
85           Hisilicon based hix5hd2 SoCs.
86
87           This driver can also be built as a module.  If so, the module
88           will be called i2c-hix5hd2.
89
90 config I2C_I801
91         tristate "Intel 82801 (ICH/PCH)"
92         depends on PCI
93         select CHECK_SIGNATURE if X86 && DMI
94         help
95           If you say yes to this option, support will be included for the Intel
96           801 family of mainboard I2C interfaces.  Specifically, the following
97           versions of the chipset are supported:
98             82801AA
99             82801AB
100             82801BA
101             82801CA/CAM
102             82801DB
103             82801EB/ER (ICH5/ICH5R)
104             6300ESB
105             ICH6
106             ICH7
107             ESB2
108             ICH8
109             ICH9
110             EP80579 (Tolapai)
111             ICH10
112             5/3400 Series (PCH)
113             6 Series (PCH)
114             Patsburg (PCH)
115             DH89xxCC (PCH)
116             Panther Point (PCH)
117             Lynx Point (PCH)
118             Lynx Point-LP (PCH)
119             Avoton (SOC)
120             Wellsburg (PCH)
121             Coleto Creek (PCH)
122             Wildcat Point (PCH)
123             Wildcat Point-LP (PCH)
124             BayTrail (SOC)
125             Sunrise Point-H (PCH)
126             Sunrise Point-LP (PCH)
127             DNV (SOC)
128             Broxton (SOC)
129             Lewisburg (PCH)
130
131           This driver can also be built as a module.  If so, the module
132           will be called i2c-i801.
133
134 config I2C_ISCH
135         tristate "Intel SCH SMBus 1.0"
136         depends on PCI
137         select LPC_SCH
138         help
139           Say Y here if you want to use SMBus controller on the Intel SCH
140           based systems.
141
142           This driver can also be built as a module. If so, the module
143           will be called i2c-isch.
144
145 config I2C_ISMT
146         tristate "Intel iSMT SMBus Controller"
147         depends on PCI && X86
148         help
149           If you say yes to this option, support will be included for the Intel
150           iSMT SMBus host controller interface.
151
152           This driver can also be built as a module.  If so, the module will be
153           called i2c-ismt.
154
155 config I2C_PIIX4
156         tristate "Intel PIIX4 and compatible (ATI/AMD/Serverworks/Broadcom/SMSC)"
157         depends on PCI
158         help
159           If you say yes to this option, support will be included for the Intel
160           PIIX4 family of mainboard I2C interfaces.  Specifically, the following
161           versions of the chipset are supported (note that Serverworks is part
162           of Broadcom):
163             Intel PIIX4
164             Intel 440MX
165             ATI IXP200
166             ATI IXP300
167             ATI IXP400
168             ATI SB600
169             ATI SB700/SP5100
170             ATI SB800
171             AMD Hudson-2
172             AMD ML
173             AMD CZ
174             Serverworks OSB4
175             Serverworks CSB5
176             Serverworks CSB6
177             Serverworks HT-1000
178             Serverworks HT-1100
179             SMSC Victory66
180
181           Some AMD chipsets contain two PIIX4-compatible SMBus
182           controllers. This driver will attempt to use both controllers
183           on the SB700/SP5100, if they have been initialized by the BIOS.
184
185           This driver can also be built as a module.  If so, the module
186           will be called i2c-piix4.
187
188 config I2C_NFORCE2
189         tristate "Nvidia nForce2, nForce3 and nForce4"
190         depends on PCI
191         help
192           If you say yes to this option, support will be included for the Nvidia
193           nForce2, nForce3 and nForce4 families of mainboard I2C interfaces.
194
195           This driver can also be built as a module.  If so, the module
196           will be called i2c-nforce2.
197
198 config I2C_NFORCE2_S4985
199         tristate "SMBus multiplexing on the Tyan S4985"
200         depends on I2C_NFORCE2 && X86
201         help
202           Enabling this option will add specific SMBus support for the Tyan
203           S4985 motherboard.  On this 4-CPU board, the SMBus is multiplexed
204           over 4 different channels, where the various memory module EEPROMs
205           live.  Saying yes here will give you access to these in addition
206           to the trunk.
207
208           This driver can also be built as a module.  If so, the module
209           will be called i2c-nforce2-s4985.
210
211 config I2C_SIS5595
212         tristate "SiS 5595"
213         depends on PCI
214         help
215           If you say yes to this option, support will be included for the
216           SiS5595 SMBus (a subset of I2C) interface.
217
218           This driver can also be built as a module.  If so, the module
219           will be called i2c-sis5595.
220
221 config I2C_SIS630
222         tristate "SiS 630/730/964"
223         depends on PCI
224         help
225           If you say yes to this option, support will be included for the
226           SiS630, SiS730 and SiS964 SMBus (a subset of I2C) interface.
227
228           This driver can also be built as a module.  If so, the module
229           will be called i2c-sis630.
230
231 config I2C_SIS96X
232         tristate "SiS 96x"
233         depends on PCI
234         help
235           If you say yes to this option, support will be included for the SiS
236           96x SMBus (a subset of I2C) interfaces.  Specifically, the following
237           chipsets are supported:
238             645/961
239             645DX/961
240             645DX/962
241             648/961
242             650/961
243             735
244             745
245
246           This driver can also be built as a module.  If so, the module
247           will be called i2c-sis96x.
248
249 config I2C_VIA
250         tristate "VIA VT82C586B"
251         depends on PCI
252         select I2C_ALGOBIT
253         help
254           If you say yes to this option, support will be included for the VIA
255           82C586B I2C interface
256
257           This driver can also be built as a module.  If so, the module
258           will be called i2c-via.
259
260 config I2C_VIAPRO
261         tristate "VIA VT82C596/82C686/82xx and CX700/VX8xx/VX900"
262         depends on PCI
263         help
264           If you say yes to this option, support will be included for the VIA
265           VT82C596 and later SMBus interface.  Specifically, the following
266           chipsets are supported:
267             VT82C596A/B
268             VT82C686A/B
269             VT8231
270             VT8233/A
271             VT8235
272             VT8237R/A/S
273             VT8251
274             CX700
275             VX800/VX820
276             VX855/VX875
277             VX900
278
279           This driver can also be built as a module.  If so, the module
280           will be called i2c-viapro.
281
282 if ACPI
283
284 comment "ACPI drivers"
285
286 config I2C_SCMI
287         tristate "SMBus Control Method Interface"
288         help
289           This driver supports the SMBus Control Method Interface. It needs the
290           BIOS to declare ACPI control methods as described in the SMBus Control
291           Method Interface specification.
292
293           To compile this driver as a module, choose M here:
294           the module will be called i2c-scmi.
295
296 endif # ACPI
297
298 comment "Mac SMBus host controller drivers"
299         depends on PPC_CHRP || PPC_PMAC
300
301 config I2C_HYDRA
302         tristate "CHRP Apple Hydra Mac I/O I2C interface"
303         depends on PCI && PPC_CHRP
304         select I2C_ALGOBIT
305         help
306           This supports the use of the I2C interface in the Apple Hydra Mac
307           I/O chip on some CHRP machines (e.g. the LongTrail).  Say Y if you
308           have such a machine.
309
310           This support is also available as a module.  If so, the module
311           will be called i2c-hydra.
312
313 config I2C_POWERMAC
314         tristate "Powermac I2C interface"
315         depends on PPC_PMAC
316         default y
317         help
318           This exposes the various PowerMac i2c interfaces to the linux i2c
319           layer and to userland. It is used by various drivers on the PowerMac
320           platform, and should generally be enabled.
321
322           This support is also available as a module.  If so, the module
323           will be called i2c-powermac.
324
325 comment "I2C system bus drivers (mostly embedded / system-on-chip)"
326
327 config I2C_AT91
328         tristate "Atmel AT91 I2C Two-Wire interface (TWI)"
329         depends on ARCH_AT91
330         help
331           This supports the use of the I2C interface on Atmel AT91
332           processors.
333
334           A serious problem is that there is no documented way to issue
335           repeated START conditions for more than two messages, as needed
336           to support combined I2C messages.  Use the i2c-gpio driver
337           unless your system can cope with this limitation.
338
339           Caution! at91rm9200, at91sam9261, at91sam9260, at91sam9263 devices
340           don't have clock stretching in transmission mode. For that reason,
341           you can encounter underrun issues causing premature stop sendings if
342           the latency to fill the transmission register is too long. If you
343           are facing this situation, use the i2c-gpio driver.
344
345 config I2C_AU1550
346         tristate "Au1550/Au1200/Au1300 SMBus interface"
347         depends on MIPS_ALCHEMY
348         help
349           If you say yes to this option, support will be included for the
350           Au1550/Au1200/Au1300 SMBus interface.
351
352           This driver can also be built as a module.  If so, the module
353           will be called i2c-au1550.
354
355 config I2C_AXXIA
356         tristate "Axxia I2C controller"
357         depends on ARCH_AXXIA || COMPILE_TEST
358         default ARCH_AXXIA
359         help
360           Say yes if you want to support the I2C bus on Axxia platforms.
361
362           Please note that this controller is limited to transfers of maximum
363           255 bytes in length. Any attempt to to a larger transfer will return
364           an error.
365
366 config I2C_BCM2835
367         tristate "Broadcom BCM2835 I2C controller"
368         depends on ARCH_BCM2835
369         help
370           If you say yes to this option, support will be included for the
371           BCM2835 I2C controller.
372
373           If you don't know what to do here, say N.
374
375           This support is also available as a module.  If so, the module
376           will be called i2c-bcm2835.
377
378 config I2C_BCM_IPROC
379         tristate "Broadcom iProc I2C controller"
380         depends on ARCH_BCM_IPROC || COMPILE_TEST
381         default ARCH_BCM_IPROC
382         help
383           If you say yes to this option, support will be included for the
384           Broadcom iProc I2C controller.
385
386           If you don't know what to do here, say N.
387
388 config I2C_BCM_KONA
389         tristate "BCM Kona I2C adapter"
390         depends on ARCH_BCM_MOBILE
391         default y
392         help
393           If you say yes to this option, support will be included for the
394           I2C interface on the Broadcom Kona family of processors.
395
396           If you do not need KONA I2C interface, say N.
397
398 config I2C_BRCMSTB
399         tristate "BRCM Settop I2C controller"
400         depends on ARCH_BRCMSTB || COMPILE_TEST
401         default y
402         help
403           If you say yes to this option, support will be included for the
404           I2C interface on the Broadcom Settop SoCs.
405
406           If you do not need I2C interface, say N.
407
408 config I2C_BLACKFIN_TWI
409         tristate "Blackfin TWI I2C support"
410         depends on BLACKFIN
411         depends on !BF561 && !BF531 && !BF532 && !BF533
412         help
413           This is the I2C bus driver for Blackfin on-chip TWI interface.
414
415           This driver can also be built as a module.  If so, the module
416           will be called i2c-bfin-twi.
417
418 config I2C_BLACKFIN_TWI_CLK_KHZ
419         int "Blackfin TWI I2C clock (kHz)"
420         depends on I2C_BLACKFIN_TWI
421         range 21 400
422         default 50
423         help
424           The unit of the TWI clock is kHz.
425
426 config I2C_CADENCE
427         tristate "Cadence I2C Controller"
428         depends on ARCH_ZYNQ || ARM64
429         help
430           Say yes here to select Cadence I2C Host Controller. This controller is
431           e.g. used by Xilinx Zynq.
432
433 config I2C_CBUS_GPIO
434         tristate "CBUS I2C driver"
435         depends on GPIOLIB || COMPILE_TEST
436         help
437           Support for CBUS access using I2C API. Mostly relevant for Nokia
438           Internet Tablets (770, N800 and N810).
439
440           This driver can also be built as a module.  If so, the module
441           will be called i2c-cbus-gpio.
442
443 config I2C_CPM
444         tristate "Freescale CPM1 or CPM2 (MPC8xx/826x)"
445         depends on CPM1 || CPM2
446         help
447           This supports the use of the I2C interface on Freescale
448           processors with CPM1 or CPM2.
449
450           This driver can also be built as a module.  If so, the module
451           will be called i2c-cpm.
452
453 config I2C_DAVINCI
454         tristate "DaVinci I2C driver"
455         depends on ARCH_DAVINCI || ARCH_KEYSTONE
456         help
457           Support for TI DaVinci I2C controller driver.
458
459           This driver can also be built as a module.  If so, the module
460           will be called i2c-davinci.
461
462           Please note that this driver might be needed to bring up other
463           devices such as DaVinci NIC.
464           For details please see http://www.ti.com/davinci
465
466 config I2C_DESIGNWARE_CORE
467         tristate
468
469 config I2C_DESIGNWARE_PLATFORM
470         tristate "Synopsys DesignWare Platform"
471         select I2C_DESIGNWARE_CORE
472         depends on (ACPI && COMMON_CLK) || !ACPI
473         help
474           If you say yes to this option, support will be included for the
475           Synopsys DesignWare I2C adapter. Only master mode is supported.
476
477           This driver can also be built as a module.  If so, the module
478           will be called i2c-designware-platform.
479
480 config I2C_DESIGNWARE_PCI
481         tristate "Synopsys DesignWare PCI"
482         depends on PCI
483         select I2C_DESIGNWARE_CORE
484         help
485           If you say yes to this option, support will be included for the
486           Synopsys DesignWare I2C adapter. Only master mode is supported.
487
488           This driver can also be built as a module.  If so, the module
489           will be called i2c-designware-pci.
490
491 config I2C_DESIGNWARE_BAYTRAIL
492         bool "Intel Baytrail I2C semaphore support"
493         depends on I2C_DESIGNWARE_PLATFORM && IOSF_MBI=y && ACPI
494         help
495           This driver enables managed host access to the PMIC I2C bus on select
496           Intel BayTrail platforms using the X-Powers AXP288 PMIC. It allows
497           the host to request uninterrupted access to the PMIC's I2C bus from
498           the platform firmware controlling it. You should say Y if running on
499           a BayTrail system using the AXP288.
500
501 config I2C_DIGICOLOR
502         tristate "Conexant Digicolor I2C driver"
503         depends on ARCH_DIGICOLOR
504         help
505           Support for Conexant Digicolor SoCs (CX92755) I2C controller driver.
506
507           This driver can also be built as a module.  If so, the module
508           will be called i2c-digicolor.
509
510 config I2C_EFM32
511         tristate "EFM32 I2C controller"
512         depends on ARCH_EFM32 || COMPILE_TEST
513         help
514           This driver supports the i2c block found in Energy Micro's EFM32
515           SoCs.
516
517 config I2C_EG20T
518         tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) I2C"
519         depends on PCI && (X86_32 || COMPILE_TEST)
520         help
521           This driver is for PCH(Platform controller Hub) I2C of EG20T which
522           is an IOH(Input/Output Hub) for x86 embedded processor.
523           This driver can access PCH I2C bus device.
524
525           This driver also can be used for LAPIS Semiconductor IOH(Input/
526           Output Hub), ML7213, ML7223 and ML7831.
527           ML7213 IOH is for IVI(In-Vehicle Infotainment) use, ML7223 IOH is
528           for MP(Media Phone) use and ML7831 IOH is for general purpose use.
529           ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series.
530           ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH.
531
532 config I2C_EMEV2
533         tristate "EMMA Mobile series I2C adapter"
534         depends on HAVE_CLK
535         help
536           If you say yes to this option, support will be included for the
537           I2C interface on the Renesas Electronics EM/EV family of processors.
538
539 config I2C_EXYNOS5
540         tristate "Exynos5 high-speed I2C driver"
541         depends on ARCH_EXYNOS && OF
542         default y
543         help
544           High-speed I2C controller on Exynos5 based Samsung SoCs.
545
546 config I2C_GPIO
547         tristate "GPIO-based bitbanging I2C"
548         depends on GPIOLIB || COMPILE_TEST
549         select I2C_ALGOBIT
550         help
551           This is a very simple bitbanging I2C driver utilizing the
552           arch-neutral GPIO API to control the SCL and SDA lines.
553
554 config I2C_HIGHLANDER
555         tristate "Highlander FPGA SMBus interface"
556         depends on SH_HIGHLANDER
557         help
558           If you say yes to this option, support will be included for
559           the SMBus interface located in the FPGA on various Highlander
560           boards, particularly the R0P7780LC0011RL and R0P7785LC0011RL
561           FPGAs. This is wholly unrelated to the SoC I2C.
562
563           This driver can also be built as a module.  If so, the module
564           will be called i2c-highlander.
565
566 config I2C_IBM_IIC
567         tristate "IBM PPC 4xx on-chip I2C interface"
568         depends on 4xx
569         help
570           Say Y here if you want to use IIC peripheral found on
571           embedded IBM PPC 4xx based systems.
572
573           This driver can also be built as a module.  If so, the module
574           will be called i2c-ibm_iic.
575
576 config I2C_IMG
577         tristate "Imagination Technologies I2C SCB Controller"
578         depends on MIPS || METAG || COMPILE_TEST
579         help
580           Say Y here if you want to use the IMG I2C SCB controller,
581           available on the TZ1090 and other IMG SoCs.
582
583           This driver can also be built as a module.  If so, the module
584           will be called i2c-img-scb.
585
586 config I2C_IMX
587         tristate "IMX I2C interface"
588         depends on ARCH_MXC || ARCH_LAYERSCAPE
589         help
590           Say Y here if you want to use the IIC bus controller on
591           the Freescale i.MX/MXC or Layerscape processors.
592
593           This driver can also be built as a module.  If so, the module
594           will be called i2c-imx.
595
596 config I2C_IOP3XX
597         tristate "Intel IOPx3xx and IXP4xx on-chip I2C interface"
598         depends on ARCH_IOP32X || ARCH_IOP33X || ARCH_IXP4XX || ARCH_IOP13XX
599         help
600           Say Y here if you want to use the IIC bus controller on
601           the Intel IOPx3xx I/O Processors or IXP4xx Network Processors.
602
603           This driver can also be built as a module.  If so, the module
604           will be called i2c-iop3xx.
605
606 config I2C_JZ4780
607         tristate "JZ4780 I2C controller interface support"
608         depends on MACH_JZ4780 || COMPILE_TEST
609         help
610          If you say yes to this option, support will be included for the
611          Ingenic JZ4780 I2C controller.
612
613          If you don't know what to do here, say N.
614
615 config I2C_KEMPLD
616         tristate "Kontron COM I2C Controller"
617         depends on MFD_KEMPLD
618         help
619           This enables support for the I2C bus interface on some Kontron ETX
620           and COMexpress (ETXexpress) modules.
621
622           This driver can also be built as a module. If so, the module
623           will be called i2c-kempld.
624
625 config I2C_LPC2K
626         tristate "I2C bus support for NXP LPC2K/LPC178x/18xx/43xx"
627         depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
628         help
629           This driver supports the I2C interface found several NXP
630           devices including LPC2xxx, LPC178x/7x and LPC18xx/43xx.
631
632           This driver can also be built as a module.  If so, the module
633           will be called i2c-lpc2k.
634
635 config I2C_MESON
636         tristate "Amlogic Meson I2C controller"
637         depends on ARCH_MESON
638         help
639           If you say yes to this option, support will be included for the
640           I2C interface on the Amlogic Meson family of SoCs.
641
642 config I2C_MPC
643         tristate "MPC107/824x/85xx/512x/52xx/83xx/86xx"
644         depends on PPC
645         help
646           If you say yes to this option, support will be included for the
647           built-in I2C interface on the MPC107, Tsi107, MPC512x, MPC52xx,
648           MPC8240, MPC8245, MPC83xx, MPC85xx and MPC8641 family processors.
649
650           This driver can also be built as a module.  If so, the module
651           will be called i2c-mpc.
652
653 config I2C_MT65XX
654         tristate "MediaTek I2C adapter"
655         depends on ARCH_MEDIATEK || COMPILE_TEST
656         depends on HAS_DMA
657         help
658           This selects the MediaTek(R) Integrated Inter Circuit bus driver
659           for MT65xx and MT81xx.
660           If you want to use MediaTek(R) I2C interface, say Y or M here.
661           If unsure, say N.
662
663 config I2C_MV64XXX
664         tristate "Marvell mv64xxx I2C Controller"
665         depends on MV64X60 || PLAT_ORION || ARCH_SUNXI
666         help
667           If you say yes to this option, support will be included for the
668           built-in I2C interface on the Marvell 64xxx line of host bridges.
669           This driver is also used for Allwinner SoCs I2C controllers.
670
671           This driver can also be built as a module.  If so, the module
672           will be called i2c-mv64xxx.
673
674 config I2C_MXS
675         tristate "Freescale i.MX28 I2C interface"
676         depends on SOC_IMX28
677         select STMP_DEVICE
678         help
679           Say Y here if you want to use the I2C bus controller on
680           the Freescale i.MX28 processors.
681
682           This driver can also be built as a module.  If so, the module
683           will be called i2c-mxs.
684
685 config I2C_NOMADIK
686         tristate "ST-Ericsson Nomadik/Ux500 I2C Controller"
687         depends on ARM_AMBA
688         help
689           If you say yes to this option, support will be included for the
690           I2C interface from ST-Ericsson's Nomadik and Ux500 architectures,
691           as well as the STA2X11 PCIe I/O HUB.
692
693 config I2C_OCORES
694         tristate "OpenCores I2C Controller"
695         help
696           If you say yes to this option, support will be included for the
697           OpenCores I2C controller. For details see
698           http://www.opencores.org/projects.cgi/web/i2c/overview
699
700           This driver can also be built as a module.  If so, the module
701           will be called i2c-ocores.
702
703 config I2C_OMAP
704         tristate "OMAP I2C adapter"
705         depends on ARCH_OMAP
706         default y if MACH_OMAP_H3 || MACH_OMAP_OSK
707         help
708           If you say yes to this option, support will be included for the
709           I2C interface on the Texas Instruments OMAP1/2 family of processors.
710           Like OMAP1510/1610/1710/5912 and OMAP242x.
711           For details see http://www.ti.com/omap.
712
713 config I2C_PASEMI
714         tristate "PA Semi SMBus interface"
715         depends on PPC_PASEMI && PCI
716         help
717           Supports the PA Semi PWRficient on-chip SMBus interfaces.
718
719 config I2C_PCA_PLATFORM
720         tristate "PCA9564/PCA9665 as platform device"
721         select I2C_ALGOPCA
722         default n
723         help
724           This driver supports a memory mapped Philips PCA9564/PCA9665
725           parallel bus to I2C bus controller.
726
727           This driver can also be built as a module.  If so, the module
728           will be called i2c-pca-platform.
729
730 config I2C_PMCMSP
731         tristate "PMC MSP I2C TWI Controller"
732         depends on PMC_MSP
733         help
734           This driver supports the PMC TWI controller on MSP devices.
735
736           This driver can also be built as module. If so, the module
737           will be called i2c-pmcmsp.
738
739 config I2C_PNX
740         tristate "I2C bus support for Philips PNX and NXP LPC targets"
741         depends on ARCH_LPC32XX
742         help
743           This driver supports the Philips IP3204 I2C IP block master and/or
744           slave controller
745
746           This driver can also be built as a module.  If so, the module
747           will be called i2c-pnx.
748
749 config I2C_PUV3
750         tristate "PKUnity v3 I2C bus support"
751         depends on UNICORE32 && ARCH_PUV3
752         select I2C_ALGOBIT
753         help
754           This driver supports the I2C IP inside the PKUnity-v3 SoC.
755           This I2C bus controller is under AMBA/AXI bus.
756
757           This driver can also be built as a module.  If so, the module
758           will be called i2c-puv3.
759
760 config I2C_PXA
761         tristate "Intel PXA2XX I2C adapter"
762         depends on ARCH_PXA || ARCH_MMP || (X86_32 && PCI && OF)
763         help
764           If you have devices in the PXA I2C bus, say yes to this option.
765           This driver can also be built as a module.  If so, the module
766           will be called i2c-pxa.
767
768 config I2C_PXA_PCI
769         def_bool I2C_PXA && X86_32 && PCI && OF
770
771 config I2C_PXA_SLAVE
772         bool "Intel PXA2XX I2C Slave comms support"
773         depends on I2C_PXA && !X86_32
774         help
775           Support I2C slave mode communications on the PXA I2C bus.  This
776           is necessary for systems where the PXA may be a target on the
777           I2C bus.
778
779 config I2C_QUP
780         tristate "Qualcomm QUP based I2C controller"
781         depends on ARCH_QCOM
782         help
783           If you say yes to this option, support will be included for the
784           built-in I2C interface on the Qualcomm SoCs.
785
786           This driver can also be built as a module.  If so, the module
787           will be called i2c-qup.
788
789 config I2C_RIIC
790         tristate "Renesas RIIC adapter"
791         depends on ARCH_SHMOBILE || COMPILE_TEST
792         help
793           If you say yes to this option, support will be included for the
794           Renesas RIIC I2C interface.
795
796           This driver can also be built as a module.  If so, the module
797           will be called i2c-riic.
798
799 config I2C_RK3X
800         tristate "Rockchip RK3xxx I2C adapter"
801         depends on OF && COMMON_CLK
802         help
803           Say Y here to include support for the I2C adapter in Rockchip RK3xxx
804           SoCs.
805
806           This driver can also be built as a module. If so, the module will
807           be called i2c-rk3x.
808
809 config HAVE_S3C2410_I2C
810         bool
811         help
812           This will include I2C support for Samsung SoCs. If you want to
813           include I2C support for any machine, kindly select this in the
814           respective Kconfig file.
815
816 config I2C_S3C2410
817         tristate "S3C2410 I2C Driver"
818         depends on HAVE_S3C2410_I2C
819         help
820           Say Y here to include support for I2C controller in the
821           Samsung SoCs.
822
823 config I2C_SH7760
824         tristate "Renesas SH7760 I2C Controller"
825         depends on CPU_SUBTYPE_SH7760
826         help
827           This driver supports the 2 I2C interfaces on the Renesas SH7760.
828
829           This driver can also be built as a module.  If so, the module
830           will be called i2c-sh7760.
831
832 config I2C_SH_MOBILE
833         tristate "SuperH Mobile I2C Controller"
834         depends on HAS_DMA
835         depends on SUPERH || ARCH_SHMOBILE || COMPILE_TEST
836         help
837           If you say yes to this option, support will be included for the
838           built-in I2C interface on the Renesas SH-Mobile processor.
839
840           This driver can also be built as a module.  If so, the module
841           will be called i2c-sh_mobile.
842
843 config I2C_SIMTEC
844         tristate "Simtec Generic I2C interface"
845         select I2C_ALGOBIT
846         help
847           If you say yes to this option, support will be included for
848           the Simtec Generic I2C interface. This driver is for the
849           simple I2C bus used on newer Simtec products for general
850           I2C, such as DDC on the Simtec BBD2016A.
851
852           This driver can also be built as a module. If so, the module
853           will be called i2c-simtec.
854
855 config I2C_SIRF
856         tristate "CSR SiRFprimaII I2C interface"
857         depends on ARCH_SIRF
858         help
859           If you say yes to this option, support will be included for the
860           CSR SiRFprimaII I2C interface.
861
862           This driver can also be built as a module.  If so, the module
863           will be called i2c-sirf.
864
865 config I2C_ST
866         tristate "STMicroelectronics SSC I2C support"
867         depends on ARCH_STI
868         help
869           Enable this option to add support for STMicroelectronics SoCs
870           hardware SSC (Synchronous Serial Controller) as an I2C controller.
871
872           This driver can also be built as module. If so, the module
873           will be called i2c-st.
874
875 config I2C_STU300
876         tristate "ST Microelectronics DDC I2C interface"
877         depends on MACH_U300
878         default y if MACH_U300
879         help
880           If you say yes to this option, support will be included for the
881           I2C interface from ST Microelectronics simply called "DDC I2C"
882           supporting both I2C and DDC, used in e.g. the U300 series
883           mobile platforms.
884
885           This driver can also be built as a module. If so, the module
886           will be called i2c-stu300.
887
888 config I2C_SUN6I_P2WI
889         tristate "Allwinner sun6i internal P2WI controller"
890         depends on RESET_CONTROLLER
891         depends on MACH_SUN6I || COMPILE_TEST
892         help
893           If you say yes to this option, support will be included for the
894           P2WI (Push/Pull 2 Wire Interface) controller embedded in some sunxi
895           SOCs.
896           The P2WI looks like an SMBus controller (which supports only byte
897           accesses), except that it only supports one slave device.
898           This interface is used to connect to specific PMIC devices (like the
899           AXP221).
900
901 config I2C_TEGRA
902         tristate "NVIDIA Tegra internal I2C controller"
903         depends on ARCH_TEGRA
904         help
905           If you say yes to this option, support will be included for the
906           I2C controller embedded in NVIDIA Tegra SOCs
907
908 config I2C_UNIPHIER
909         tristate "UniPhier FIFO-less I2C controller"
910         depends on ARCH_UNIPHIER
911         help
912           If you say yes to this option, support will be included for
913           the UniPhier FIFO-less I2C interface embedded in PH1-LD4, PH1-sLD8,
914           or older UniPhier SoCs.
915
916 config I2C_UNIPHIER_F
917         tristate "UniPhier FIFO-builtin I2C controller"
918         depends on ARCH_UNIPHIER
919         help
920           If you say yes to this option, support will be included for
921           the UniPhier FIFO-builtin I2C interface embedded in PH1-Pro4,
922           PH1-Pro5, or newer UniPhier SoCs.
923
924 config I2C_VERSATILE
925         tristate "ARM Versatile/Realview I2C bus support"
926         depends on ARCH_VERSATILE || ARCH_REALVIEW || ARCH_VEXPRESS
927         select I2C_ALGOBIT
928         help
929           Say yes if you want to support the I2C serial bus on ARMs Versatile
930           range of platforms.
931
932           This driver can also be built as a module.  If so, the module
933           will be called i2c-versatile.
934
935 config I2C_WMT
936         tristate "Wondermedia WM8xxx SoC I2C bus support"
937         depends on ARCH_VT8500
938         help
939           Say yes if you want to support the I2C bus on Wondermedia 8xxx-series
940           SoCs.
941
942           This driver can also be built as a module. If so, the module will be
943           called i2c-wmt.
944
945 config I2C_OCTEON
946         tristate "Cavium OCTEON I2C bus support"
947         depends on CAVIUM_OCTEON_SOC
948         help
949           Say yes if you want to support the I2C serial bus on Cavium
950           OCTEON SOC.
951
952           This driver can also be built as a module.  If so, the module
953           will be called i2c-octeon.
954
955 config I2C_XILINX
956         tristate "Xilinx I2C Controller"
957         depends on HAS_IOMEM
958         help
959           If you say yes to this option, support will be included for the
960           Xilinx I2C controller.
961
962           This driver can also be built as a module.  If so, the module
963           will be called xilinx_i2c.
964
965 config I2C_XLR
966         tristate "XLR I2C support"
967         depends on CPU_XLR
968         help
969           This driver enables support for the on-chip I2C interface of
970           the Netlogic XLR/XLS MIPS processors.
971
972           This driver can also be built as a module.  If so, the module
973           will be called i2c-xlr.
974
975 config I2C_XLP9XX
976         tristate "XLP9XX I2C support"
977         depends on CPU_XLP || COMPILE_TEST
978         help
979           This driver enables support for the on-chip I2C interface of
980           the Broadcom XLP9xx/XLP5xx MIPS processors.
981
982           This driver can also be built as a module.  If so, the module will
983           be called i2c-xlp9xx.
984
985 config I2C_RCAR
986         tristate "Renesas R-Car I2C Controller"
987         depends on ARCH_SHMOBILE || COMPILE_TEST
988         select I2C_SLAVE
989         help
990           If you say yes to this option, support will be included for the
991           R-Car I2C controller.
992
993           This driver can also be built as a module.  If so, the module
994           will be called i2c-rcar.
995
996 comment "External I2C/SMBus adapter drivers"
997
998 config I2C_DIOLAN_U2C
999         tristate "Diolan U2C-12 USB adapter"
1000         depends on USB
1001         help
1002           If you say yes to this option, support will be included for Diolan
1003           U2C-12, a USB to I2C interface.
1004
1005           This driver can also be built as a module.  If so, the module
1006           will be called i2c-diolan-u2c.
1007
1008 config I2C_DLN2
1009        tristate "Diolan DLN-2 USB I2C adapter"
1010        depends on MFD_DLN2
1011        help
1012          If you say yes to this option, support will be included for Diolan
1013          DLN2, a USB to I2C interface.
1014
1015          This driver can also be built as a module.  If so, the module
1016          will be called i2c-dln2.
1017
1018 config I2C_PARPORT
1019         tristate "Parallel port adapter"
1020         depends on PARPORT
1021         select I2C_ALGOBIT
1022         select I2C_SMBUS
1023         help
1024           This supports parallel port I2C adapters such as the ones made by
1025           Philips or Velleman, Analog Devices evaluation boards, and more.
1026           Basically any adapter using the parallel port as an I2C bus with
1027           no extra chipset is supported by this driver, or could be.
1028
1029           This driver is a replacement for (and was inspired by) an older
1030           driver named i2c-philips-par.  The new driver supports more devices,
1031           and makes it easier to add support for new devices.
1032
1033           An adapter type parameter is now mandatory.  Please read the file
1034           Documentation/i2c/busses/i2c-parport for details.
1035
1036           Another driver exists, named i2c-parport-light, which doesn't depend
1037           on the parport driver.  This is meant for embedded systems. Don't say
1038           Y here if you intend to say Y or M there.
1039
1040           This support is also available as a module.  If so, the module
1041           will be called i2c-parport.
1042
1043 config I2C_PARPORT_LIGHT
1044         tristate "Parallel port adapter (light)"
1045         select I2C_ALGOBIT
1046         select I2C_SMBUS
1047         help
1048           This supports parallel port I2C adapters such as the ones made by
1049           Philips or Velleman, Analog Devices evaluation boards, and more.
1050           Basically any adapter using the parallel port as an I2C bus with
1051           no extra chipset is supported by this driver, or could be.
1052
1053           This driver is a light version of i2c-parport.  It doesn't depend
1054           on the parport driver, and uses direct I/O access instead.  This
1055           might be preferred on embedded systems where wasting memory for
1056           the clean but heavy parport handling is not an option.  The
1057           drawback is a reduced portability and the impossibility to
1058           daisy-chain other parallel port devices.
1059
1060           Don't say Y here if you said Y or M to i2c-parport.  Saying M to
1061           both is possible but both modules should not be loaded at the same
1062           time.
1063
1064           This support is also available as a module.  If so, the module
1065           will be called i2c-parport-light.
1066
1067 config I2C_ROBOTFUZZ_OSIF
1068         tristate "RobotFuzz Open Source InterFace USB adapter"
1069         depends on USB
1070         help
1071           If you say yes to this option, support will be included for the
1072           RobotFuzz Open Source InterFace USB to I2C interface.
1073
1074           This driver can also be built as a module.  If so, the module
1075           will be called i2c-osif.
1076
1077 config I2C_TAOS_EVM
1078         tristate "TAOS evaluation module"
1079         depends on TTY
1080         select SERIO
1081         select SERIO_SERPORT
1082         default n
1083         help
1084           This supports TAOS evaluation modules on serial port. In order to
1085           use this driver, you will need the inputattach tool, which is part
1086           of the input-utils package.
1087
1088           If unsure, say N.
1089
1090           This support is also available as a module.  If so, the module
1091           will be called i2c-taos-evm.
1092
1093 config I2C_TINY_USB
1094         tristate "Tiny-USB adapter"
1095         depends on USB
1096         help
1097           If you say yes to this option, support will be included for the
1098           i2c-tiny-usb, a simple do-it-yourself USB to I2C interface. See
1099           http://www.harbaum.org/till/i2c_tiny_usb for hardware details.
1100
1101           This driver can also be built as a module.  If so, the module
1102           will be called i2c-tiny-usb.
1103
1104 config I2C_VIPERBOARD
1105         tristate "Viperboard I2C master support"
1106         depends on MFD_VIPERBOARD && USB
1107         help
1108           Say yes here to access the I2C part of the Nano River
1109           Technologies Viperboard as I2C master.
1110           See viperboard API specification and Nano
1111           River Tech's viperboard.h for detailed meaning
1112           of the module parameters.
1113
1114 comment "Other I2C/SMBus bus drivers"
1115
1116 config I2C_ACORN
1117         tristate "Acorn IOC/IOMD I2C bus support"
1118         depends on ARCH_ACORN
1119         default y
1120         select I2C_ALGOBIT
1121         help
1122           Say yes if you want to support the I2C bus on Acorn platforms.
1123
1124           If you don't know, say Y.
1125
1126 config I2C_ELEKTOR
1127         tristate "Elektor ISA card"
1128         depends on ISA && HAS_IOPORT_MAP && BROKEN_ON_SMP
1129         select I2C_ALGOPCF
1130         help
1131           This supports the PCF8584 ISA bus I2C adapter.  Say Y if you own
1132           such an adapter.
1133
1134           This support is also available as a module.  If so, the module
1135           will be called i2c-elektor.
1136
1137 config I2C_PCA_ISA
1138         tristate "PCA9564/PCA9665 on an ISA bus"
1139         depends on ISA
1140         select I2C_ALGOPCA
1141         default n
1142         help
1143           This driver supports ISA boards using the Philips PCA9564/PCA9665
1144           parallel bus to I2C bus controller.
1145
1146           This driver can also be built as a module.  If so, the module
1147           will be called i2c-pca-isa.
1148
1149           This device is almost undetectable and using this driver on a
1150           system which doesn't have this device will result in long
1151           delays when I2C/SMBus chip drivers are loaded (e.g. at boot
1152           time).  If unsure, say N.
1153
1154 config I2C_SIBYTE
1155         tristate "SiByte SMBus interface"
1156         depends on SIBYTE_SB1xxx_SOC
1157         help
1158           Supports the SiByte SOC on-chip I2C interfaces (2 channels).
1159
1160 config I2C_CROS_EC_TUNNEL
1161         tristate "ChromeOS EC tunnel I2C bus"
1162         depends on MFD_CROS_EC
1163         help
1164           If you say yes here you get an I2C bus that will tunnel i2c commands
1165           through to the other side of the ChromeOS EC to the i2c bus
1166           connected there. This will work whatever the interface used to
1167           talk to the EC (SPI, I2C or LPC).
1168
1169 config I2C_XGENE_SLIMPRO
1170         tristate "APM X-Gene SoC I2C SLIMpro devices support"
1171         depends on ARCH_XGENE && MAILBOX
1172         help
1173           Enable I2C bus access using the APM X-Gene SoC SLIMpro
1174           co-processor. The I2C device access the I2C bus via the X-Gene
1175           to SLIMpro (On chip coprocessor) mailbox mechanism.
1176           If unsure, say N.
1177
1178 config SCx200_ACB
1179         tristate "Geode ACCESS.bus support"
1180         depends on X86_32 && PCI
1181         help
1182           Enable the use of the ACCESS.bus controllers on the Geode SCx200 and
1183           SC1100 processors and the CS5535 and CS5536 Geode companion devices.
1184
1185           If you don't know what to do here, say N.
1186
1187           This support is also available as a module.  If so, the module
1188           will be called scx200_acb.
1189
1190 config I2C_OPAL
1191         tristate "IBM OPAL I2C driver"
1192         depends on PPC_POWERNV
1193         default y
1194         help
1195           This exposes the PowerNV platform i2c busses to the linux i2c layer,
1196           the driver is based on the OPAL interfaces.
1197
1198           This driver can also be built as a module. If so, the module will be
1199           called as i2c-opal.
1200
1201 endmenu