]> asedeno.scripts.mit.edu Git - linux.git/blob - drivers/i2c/busses/Kconfig
Linux 5.6-rc7
[linux.git] / drivers / i2c / busses / Kconfig
1 # SPDX-License-Identifier: GPL-2.0-only
2 #
3 # Sensor device configuration
4 #
5
6 menu "I2C Hardware Bus support"
7         depends on HAS_IOMEM
8
9 comment "PC SMBus host controller drivers"
10         depends on PCI
11
12 config I2C_ALI1535
13         tristate "ALI 1535"
14         depends on PCI
15         help
16           If you say yes to this option, support will be included for the SMB
17           Host controller on Acer Labs Inc. (ALI) M1535 South Bridges.  The SMB
18           controller is part of the 7101 device, which is an ACPI-compliant
19           Power Management Unit (PMU).
20
21           This driver can also be built as a module.  If so, the module
22           will be called i2c-ali1535.
23
24 config I2C_ALI1563
25         tristate "ALI 1563"
26         depends on PCI
27         help
28           If you say yes to this option, support will be included for the SMB
29           Host controller on Acer Labs Inc. (ALI) M1563 South Bridges.  The SMB
30           controller is part of the 7101 device, which is an ACPI-compliant
31           Power Management Unit (PMU).
32
33           This driver can also be built as a module.  If so, the module
34           will be called i2c-ali1563.
35
36 config I2C_ALI15X3
37         tristate "ALI 15x3"
38         depends on PCI
39         help
40           If you say yes to this option, support will be included for the
41           Acer Labs Inc. (ALI) M1514 and M1543 motherboard I2C interfaces.
42
43           This driver can also be built as a module.  If so, the module
44           will be called i2c-ali15x3.
45
46 config I2C_AMD756
47         tristate "AMD 756/766/768/8111 and nVidia nForce"
48         depends on PCI
49         help
50           If you say yes to this option, support will be included for the AMD
51           756/766/768 mainboard I2C interfaces.  The driver also includes
52           support for the first (SMBus 1.0) I2C interface of the AMD 8111 and
53           the nVidia nForce I2C interface.
54
55           This driver can also be built as a module.  If so, the module
56           will be called i2c-amd756.
57
58 config I2C_AMD756_S4882
59         tristate "SMBus multiplexing on the Tyan S4882"
60         depends on I2C_AMD756 && X86
61         help
62           Enabling this option will add specific SMBus support for the Tyan
63           S4882 motherboard.  On this 4-CPU board, the SMBus is multiplexed
64           over 8 different channels, where the various memory module EEPROMs
65           and temperature sensors live.  Saying yes here will give you access
66           to these in addition to the trunk.
67
68           This driver can also be built as a module.  If so, the module
69           will be called i2c-amd756-s4882.
70
71 config I2C_AMD8111
72         tristate "AMD 8111"
73         depends on PCI
74         help
75           If you say yes to this option, support will be included for the
76           second (SMBus 2.0) AMD 8111 mainboard I2C interface.
77
78           This driver can also be built as a module.  If so, the module
79           will be called i2c-amd8111.
80
81 config I2C_AMD_MP2
82         tristate "AMD MP2 PCIe"
83         depends on PCI && ACPI
84         help
85           If you say yes to this option, support will be included for the AMD
86           MP2 PCIe I2C adapter.
87
88           This driver can also be built as modules.  If so, the modules will
89           be called i2c-amd-mp2-pci and i2c-amd-mp2-plat.
90
91 config I2C_HIX5HD2
92         tristate "Hix5hd2 high-speed I2C driver"
93         depends on ARCH_HISI || ARCH_HIX5HD2 || COMPILE_TEST
94         help
95           Say Y here to include support for the high-speed I2C controller
96           used in HiSilicon hix5hd2 SoCs.
97
98           This driver can also be built as a module. If so, the module
99           will be called i2c-hix5hd2.
100
101 config I2C_I801
102         tristate "Intel 82801 (ICH/PCH)"
103         depends on PCI
104         select CHECK_SIGNATURE if X86 && DMI
105         select I2C_SMBUS
106         help
107           If you say yes to this option, support will be included for the Intel
108           801 family of mainboard I2C interfaces.  Specifically, the following
109           versions of the chipset are supported:
110             82801AA
111             82801AB
112             82801BA
113             82801CA/CAM
114             82801DB
115             82801EB/ER (ICH5/ICH5R)
116             6300ESB
117             ICH6
118             ICH7
119             ESB2
120             ICH8
121             ICH9
122             EP80579 (Tolapai)
123             ICH10
124             5/3400 Series (PCH)
125             6 Series (PCH)
126             Patsburg (PCH)
127             DH89xxCC (PCH)
128             Panther Point (PCH)
129             Lynx Point (PCH)
130             Avoton (SOC)
131             Wellsburg (PCH)
132             Coleto Creek (PCH)
133             Wildcat Point (PCH)
134             BayTrail (SOC)
135             Braswell (SOC)
136             Sunrise Point (PCH)
137             Kaby Lake (PCH)
138             DNV (SOC)
139             Broxton (SOC)
140             Lewisburg (PCH)
141             Gemini Lake (SOC)
142             Cannon Lake (PCH)
143             Cedar Fork (PCH)
144             Ice Lake (PCH)
145             Comet Lake (PCH)
146             Elkhart Lake (PCH)
147             Tiger Lake (PCH)
148             Jasper Lake (SOC)
149
150           This driver can also be built as a module.  If so, the module
151           will be called i2c-i801.
152
153 config I2C_ISCH
154         tristate "Intel SCH SMBus 1.0"
155         depends on PCI
156         select LPC_SCH
157         help
158           Say Y here if you want to use SMBus controller on the Intel SCH
159           based systems.
160
161           This driver can also be built as a module. If so, the module
162           will be called i2c-isch.
163
164 config I2C_ISMT
165         tristate "Intel iSMT SMBus Controller"
166         depends on PCI && X86
167         help
168           If you say yes to this option, support will be included for the Intel
169           iSMT SMBus host controller interface.
170
171           This driver can also be built as a module.  If so, the module will be
172           called i2c-ismt.
173
174 config I2C_PIIX4
175         tristate "Intel PIIX4 and compatible (ATI/AMD/Serverworks/Broadcom/SMSC)"
176         depends on PCI
177         help
178           If you say yes to this option, support will be included for the Intel
179           PIIX4 family of mainboard I2C interfaces.  Specifically, the following
180           versions of the chipset are supported (note that Serverworks is part
181           of Broadcom):
182             Intel PIIX4
183             Intel 440MX
184             ATI IXP200
185             ATI IXP300
186             ATI IXP400
187             ATI SB600
188             ATI SB700/SP5100
189             ATI SB800
190             AMD Hudson-2
191             AMD ML
192             AMD CZ
193             Hygon CZ
194             Serverworks OSB4
195             Serverworks CSB5
196             Serverworks CSB6
197             Serverworks HT-1000
198             Serverworks HT-1100
199             SMSC Victory66
200
201           Some AMD chipsets contain two PIIX4-compatible SMBus
202           controllers. This driver will attempt to use both controllers
203           on the SB700/SP5100, if they have been initialized by the BIOS.
204
205           This driver can also be built as a module.  If so, the module
206           will be called i2c-piix4.
207
208 config I2C_CHT_WC
209         tristate "Intel Cherry Trail Whiskey Cove PMIC smbus controller"
210         depends on INTEL_SOC_PMIC_CHTWC
211         help
212           If you say yes to this option, support will be included for the
213           SMBus controller found in the Intel Cherry Trail Whiskey Cove PMIC
214           found on some Intel Cherry Trail systems.
215
216           Note this controller is hooked up to a TI bq24292i charger-IC,
217           combined with a FUSB302 Type-C port-controller as such it is advised
218           to also select CONFIG_TYPEC_FUSB302=m.
219
220 config I2C_NFORCE2
221         tristate "Nvidia nForce2, nForce3 and nForce4"
222         depends on PCI
223         help
224           If you say yes to this option, support will be included for the Nvidia
225           nForce2, nForce3 and nForce4 families of mainboard I2C interfaces.
226
227           This driver can also be built as a module.  If so, the module
228           will be called i2c-nforce2.
229
230 config I2C_NFORCE2_S4985
231         tristate "SMBus multiplexing on the Tyan S4985"
232         depends on I2C_NFORCE2 && X86
233         help
234           Enabling this option will add specific SMBus support for the Tyan
235           S4985 motherboard.  On this 4-CPU board, the SMBus is multiplexed
236           over 4 different channels, where the various memory module EEPROMs
237           live.  Saying yes here will give you access to these in addition
238           to the trunk.
239
240           This driver can also be built as a module.  If so, the module
241           will be called i2c-nforce2-s4985.
242
243 config I2C_NVIDIA_GPU
244         tristate "NVIDIA GPU I2C controller"
245         depends on PCI
246         help
247           If you say yes to this option, support will be included for the
248           NVIDIA GPU I2C controller which is used to communicate with the GPU's
249           Type-C controller. This driver can also be built as a module called
250           i2c-nvidia-gpu.
251
252 config I2C_SIS5595
253         tristate "SiS 5595"
254         depends on PCI
255         help
256           If you say yes to this option, support will be included for the
257           SiS5595 SMBus (a subset of I2C) interface.
258
259           This driver can also be built as a module.  If so, the module
260           will be called i2c-sis5595.
261
262 config I2C_SIS630
263         tristate "SiS 630/730/964"
264         depends on PCI
265         help
266           If you say yes to this option, support will be included for the
267           SiS630, SiS730 and SiS964 SMBus (a subset of I2C) interface.
268
269           This driver can also be built as a module.  If so, the module
270           will be called i2c-sis630.
271
272 config I2C_SIS96X
273         tristate "SiS 96x"
274         depends on PCI
275         help
276           If you say yes to this option, support will be included for the SiS
277           96x SMBus (a subset of I2C) interfaces.  Specifically, the following
278           chipsets are supported:
279             645/961
280             645DX/961
281             645DX/962
282             648/961
283             650/961
284             735
285             745
286
287           This driver can also be built as a module.  If so, the module
288           will be called i2c-sis96x.
289
290 config I2C_VIA
291         tristate "VIA VT82C586B"
292         depends on PCI
293         select I2C_ALGOBIT
294         help
295           If you say yes to this option, support will be included for the VIA
296           82C586B I2C interface
297
298           This driver can also be built as a module.  If so, the module
299           will be called i2c-via.
300
301 config I2C_VIAPRO
302         tristate "VIA VT82C596/82C686/82xx and CX700/VX8xx/VX900"
303         depends on PCI
304         help
305           If you say yes to this option, support will be included for the VIA
306           VT82C596 and later SMBus interface.  Specifically, the following
307           chipsets are supported:
308             VT82C596A/B
309             VT82C686A/B
310             VT8231
311             VT8233/A
312             VT8235
313             VT8237R/A/S
314             VT8251
315             CX700
316             VX800/VX820
317             VX855/VX875
318             VX900
319
320           This driver can also be built as a module.  If so, the module
321           will be called i2c-viapro.
322
323 if ACPI
324
325 comment "ACPI drivers"
326
327 config I2C_SCMI
328         tristate "SMBus Control Method Interface"
329         help
330           This driver supports the SMBus Control Method Interface. It needs the
331           BIOS to declare ACPI control methods as described in the SMBus Control
332           Method Interface specification.
333
334           To compile this driver as a module, choose M here:
335           the module will be called i2c-scmi.
336
337 endif # ACPI
338
339 comment "Mac SMBus host controller drivers"
340         depends on PPC_CHRP || PPC_PMAC
341
342 config I2C_HYDRA
343         tristate "CHRP Apple Hydra Mac I/O I2C interface"
344         depends on PCI && PPC_CHRP
345         select I2C_ALGOBIT
346         help
347           This supports the use of the I2C interface in the Apple Hydra Mac
348           I/O chip on some CHRP machines (e.g. the LongTrail).  Say Y if you
349           have such a machine.
350
351           This support is also available as a module.  If so, the module
352           will be called i2c-hydra.
353
354 config I2C_POWERMAC
355         tristate "Powermac I2C interface"
356         depends on PPC_PMAC
357         default y
358         help
359           This exposes the various PowerMac i2c interfaces to the linux i2c
360           layer and to userland. It is used by various drivers on the PowerMac
361           platform, and should generally be enabled.
362
363           This support is also available as a module.  If so, the module
364           will be called i2c-powermac.
365
366 comment "I2C system bus drivers (mostly embedded / system-on-chip)"
367
368 config I2C_ALTERA
369         tristate "Altera Soft IP I2C"
370         depends on ARCH_SOCFPGA || NIOS2 || COMPILE_TEST
371         depends on OF
372         help
373           If you say yes to this option, support will be included for the
374           Altera Soft IP I2C interfaces on SoCFPGA and Nios2 architectures.
375
376           This driver can also be built as a module.  If so, the module
377           will be called i2c-altera.
378
379 config I2C_ASPEED
380         tristate "Aspeed I2C Controller"
381         depends on ARCH_ASPEED || COMPILE_TEST
382         help
383           If you say yes to this option, support will be included for the
384           Aspeed I2C controller.
385
386           This driver can also be built as a module.  If so, the module
387           will be called i2c-aspeed.
388
389 config I2C_AT91
390         tristate "Atmel AT91 I2C Two-Wire interface (TWI)"
391         depends on ARCH_AT91 || COMPILE_TEST
392         help
393           This supports the use of the I2C interface on Atmel AT91
394           processors.
395
396           A serious problem is that there is no documented way to issue
397           repeated START conditions for more than two messages, as needed
398           to support combined I2C messages.  Use the i2c-gpio driver
399           unless your system can cope with this limitation.
400
401           Caution! at91rm9200, at91sam9261, at91sam9260, at91sam9263 devices
402           don't have clock stretching in transmission mode. For that reason,
403           you can encounter underrun issues causing premature stop sendings if
404           the latency to fill the transmission register is too long. If you
405           are facing this situation, use the i2c-gpio driver.
406
407 config I2C_AT91_SLAVE_EXPERIMENTAL
408         tristate "Microchip AT91 I2C experimental slave mode"
409         depends on I2C_AT91
410         select I2C_SLAVE
411         help
412           If you say yes to this option, support for the slave mode will be
413           added. Caution: do not use it for production. This feature has not
414           been tested in a heavy way, help wanted.
415           There are known bugs:
416             - It can hang, on a SAMA5D4, after several transfers.
417             - There are some mismtaches with a SAMA5D4 as slave and a SAMA5D2 as
418             master.
419
420 config I2C_AU1550
421         tristate "Au1550/Au1200/Au1300 SMBus interface"
422         depends on MIPS_ALCHEMY
423         help
424           If you say yes to this option, support will be included for the
425           Au1550/Au1200/Au1300 SMBus interface.
426
427           This driver can also be built as a module.  If so, the module
428           will be called i2c-au1550.
429
430 config I2C_AXXIA
431         tristate "Axxia I2C controller"
432         depends on ARCH_AXXIA || COMPILE_TEST
433         default ARCH_AXXIA
434         select I2C_SLAVE
435         help
436           Say yes if you want to support the I2C bus on Axxia platforms.
437
438           Please note that this controller is limited to transfers of maximum
439           255 bytes in length. Any attempt to to a larger transfer will return
440           an error.
441
442 config I2C_BCM2835
443         tristate "Broadcom BCM2835 I2C controller"
444         depends on ARCH_BCM2835 || ARCH_BRCMSTB || COMPILE_TEST
445         depends on COMMON_CLK
446         help
447           If you say yes to this option, support will be included for the
448           BCM2835 I2C controller.
449
450           If you don't know what to do here, say N.
451
452           This support is also available as a module.  If so, the module
453           will be called i2c-bcm2835.
454
455 config I2C_BCM_IPROC
456         tristate "Broadcom iProc I2C controller"
457         depends on ARCH_BCM_IPROC || COMPILE_TEST
458         default ARCH_BCM_IPROC
459         select I2C_SLAVE
460         help
461           If you say yes to this option, support will be included for the
462           Broadcom iProc I2C controller.
463
464           If you don't know what to do here, say N.
465
466 config I2C_BCM_KONA
467         tristate "BCM Kona I2C adapter"
468         depends on ARCH_BCM_MOBILE || COMPILE_TEST
469         default y if ARCH_BCM_MOBILE
470         help
471           If you say yes to this option, support will be included for the
472           I2C interface on the Broadcom Kona family of processors.
473
474           If you do not need KONA I2C interface, say N.
475
476 config I2C_BRCMSTB
477         tristate "BRCM Settop/DSL I2C controller"
478         depends on ARCH_BRCMSTB || BMIPS_GENERIC || ARCH_BCM_63XX || \
479                    COMPILE_TEST
480         default y
481         help
482           If you say yes to this option, support will be included for the
483           I2C interface on the Broadcom Settop/DSL SoCs.
484
485           If you do not need I2C interface, say N.
486
487 config I2C_CADENCE
488         tristate "Cadence I2C Controller"
489         depends on ARCH_ZYNQ || ARM64 || XTENSA
490         help
491           Say yes here to select Cadence I2C Host Controller. This controller is
492           e.g. used by Xilinx Zynq.
493
494 config I2C_CBUS_GPIO
495         tristate "CBUS I2C driver"
496         depends on GPIOLIB || COMPILE_TEST
497         help
498           Support for CBUS access using I2C API. Mostly relevant for Nokia
499           Internet Tablets (770, N800 and N810).
500
501           This driver can also be built as a module.  If so, the module
502           will be called i2c-cbus-gpio.
503
504 config I2C_CPM
505         tristate "Freescale CPM1 or CPM2 (MPC8xx/826x)"
506         depends on CPM1 || CPM2
507         help
508           This supports the use of the I2C interface on Freescale
509           processors with CPM1 or CPM2.
510
511           This driver can also be built as a module.  If so, the module
512           will be called i2c-cpm.
513
514 config I2C_DAVINCI
515         tristate "DaVinci I2C driver"
516         depends on ARCH_DAVINCI || ARCH_KEYSTONE || COMPILE_TEST
517         help
518           Support for TI DaVinci I2C controller driver.
519
520           This driver can also be built as a module.  If so, the module
521           will be called i2c-davinci.
522
523           Please note that this driver might be needed to bring up other
524           devices such as DaVinci NIC.
525           For details please see http://www.ti.com/davinci
526
527 config I2C_DESIGNWARE_CORE
528         tristate
529
530 config I2C_DESIGNWARE_PLATFORM
531         tristate "Synopsys DesignWare Platform"
532         select I2C_DESIGNWARE_CORE
533         depends on (ACPI && COMMON_CLK) || !ACPI
534         help
535           If you say yes to this option, support will be included for the
536           Synopsys DesignWare I2C adapter.
537
538           This driver can also be built as a module.  If so, the module
539           will be called i2c-designware-platform.
540
541 config I2C_DESIGNWARE_SLAVE
542         bool "Synopsys DesignWare Slave"
543         select I2C_SLAVE
544         depends on I2C_DESIGNWARE_PLATFORM
545         help
546           If you say yes to this option, support will be included for the
547           Synopsys DesignWare I2C slave adapter.
548
549           This is not a standalone module, this module compiles together with
550           i2c-designware-core.
551
552 config I2C_DESIGNWARE_PCI
553         tristate "Synopsys DesignWare PCI"
554         depends on PCI
555         select I2C_DESIGNWARE_CORE
556         help
557           If you say yes to this option, support will be included for the
558           Synopsys DesignWare I2C adapter. Only master mode is supported.
559
560           This driver can also be built as a module.  If so, the module
561           will be called i2c-designware-pci.
562
563 config I2C_DESIGNWARE_BAYTRAIL
564         bool "Intel Baytrail I2C semaphore support"
565         depends on ACPI
566         depends on (I2C_DESIGNWARE_PLATFORM=m && IOSF_MBI) || \
567                    (I2C_DESIGNWARE_PLATFORM=y && IOSF_MBI=y)
568         help
569           This driver enables managed host access to the PMIC I2C bus on select
570           Intel BayTrail platforms using the X-Powers AXP288 PMIC. It allows
571           the host to request uninterrupted access to the PMIC's I2C bus from
572           the platform firmware controlling it. You should say Y if running on
573           a BayTrail system using the AXP288.
574
575 config I2C_DIGICOLOR
576         tristate "Conexant Digicolor I2C driver"
577         depends on ARCH_DIGICOLOR || COMPILE_TEST
578         help
579           Support for Conexant Digicolor SoCs (CX92755) I2C controller driver.
580
581           This driver can also be built as a module.  If so, the module
582           will be called i2c-digicolor.
583
584 config I2C_EFM32
585         tristate "EFM32 I2C controller"
586         depends on ARCH_EFM32 || COMPILE_TEST
587         help
588           This driver supports the i2c block found in Energy Micro's EFM32
589           SoCs.
590
591 config I2C_EG20T
592         tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) I2C"
593         depends on PCI && (X86_32 || MIPS || COMPILE_TEST)
594         help
595           This driver is for PCH(Platform controller Hub) I2C of EG20T which
596           is an IOH(Input/Output Hub) for x86 embedded processor.
597           This driver can access PCH I2C bus device.
598
599           This driver also can be used for LAPIS Semiconductor IOH(Input/
600           Output Hub), ML7213, ML7223 and ML7831.
601           ML7213 IOH is for IVI(In-Vehicle Infotainment) use, ML7223 IOH is
602           for MP(Media Phone) use and ML7831 IOH is for general purpose use.
603           ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series.
604           ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH.
605
606 config I2C_EMEV2
607         tristate "EMMA Mobile series I2C adapter"
608         depends on HAVE_CLK
609         select I2C_SLAVE
610         help
611           If you say yes to this option, support will be included for the
612           I2C interface on the Renesas Electronics EM/EV family of processors.
613
614 config I2C_EXYNOS5
615         tristate "Exynos high-speed I2C driver"
616         depends on OF
617         depends on ARCH_EXYNOS || COMPILE_TEST
618         default y if ARCH_EXYNOS
619         help
620           High-speed I2C controller on Exynos5 and newer Samsung SoCs.
621
622 config I2C_GPIO
623         tristate "GPIO-based bitbanging I2C"
624         depends on GPIOLIB || COMPILE_TEST
625         select I2C_ALGOBIT
626         help
627           This is a very simple bitbanging I2C driver utilizing the
628           arch-neutral GPIO API to control the SCL and SDA lines.
629
630 config I2C_GPIO_FAULT_INJECTOR
631         bool "GPIO-based fault injector"
632         depends on I2C_GPIO
633         help
634           This adds some functionality to the i2c-gpio driver which can inject
635           faults to an I2C bus, so another bus master can be stress-tested.
636           This is for debugging. If unsure, say 'no'.
637
638 config I2C_HIGHLANDER
639         tristate "Highlander FPGA SMBus interface"
640         depends on SH_HIGHLANDER || COMPILE_TEST
641         help
642           If you say yes to this option, support will be included for
643           the SMBus interface located in the FPGA on various Highlander
644           boards, particularly the R0P7780LC0011RL and R0P7785LC0011RL
645           FPGAs. This is wholly unrelated to the SoC I2C.
646
647           This driver can also be built as a module.  If so, the module
648           will be called i2c-highlander.
649
650 config I2C_IBM_IIC
651         tristate "IBM PPC 4xx on-chip I2C interface"
652         depends on 4xx
653         help
654           Say Y here if you want to use IIC peripheral found on
655           embedded IBM PPC 4xx based systems.
656
657           This driver can also be built as a module.  If so, the module
658           will be called i2c-ibm_iic.
659
660 config I2C_IMG
661         tristate "Imagination Technologies I2C SCB Controller"
662         depends on MIPS || COMPILE_TEST
663         help
664           Say Y here if you want to use the IMG I2C SCB controller,
665           available on the TZ1090 and other IMG SoCs.
666
667           This driver can also be built as a module.  If so, the module
668           will be called i2c-img-scb.
669
670 config I2C_IMX
671         tristate "IMX I2C interface"
672         depends on ARCH_MXC || ARCH_LAYERSCAPE || COLDFIRE
673         help
674           Say Y here if you want to use the IIC bus controller on
675           the Freescale i.MX/MXC, Layerscape or ColdFire processors.
676
677           This driver can also be built as a module.  If so, the module
678           will be called i2c-imx.
679
680 config I2C_IMX_LPI2C
681         tristate "IMX Low Power I2C interface"
682         depends on ARCH_MXC || COMPILE_TEST
683         help
684           Say Y here if you want to use the Low Power IIC bus controller
685           on the Freescale i.MX processors.
686
687           This driver can also be built as a module. If so, the module
688           will be called i2c-imx-lpi2c.
689
690 config I2C_IOP3XX
691         tristate "Intel IOPx3xx and IXP4xx on-chip I2C interface"
692         depends on ARCH_IOP32X || ARCH_IXP4XX || COMPILE_TEST
693         help
694           Say Y here if you want to use the IIC bus controller on
695           the Intel IOPx3xx I/O Processors or IXP4xx Network Processors.
696
697           This driver can also be built as a module.  If so, the module
698           will be called i2c-iop3xx.
699
700 config I2C_JZ4780
701         tristate "JZ4780 I2C controller interface support"
702         depends on MIPS || COMPILE_TEST
703         help
704          If you say yes to this option, support will be included for the
705          Ingenic JZ4780 I2C controller.
706
707          If you don't know what to do here, say N.
708
709 config I2C_KEMPLD
710         tristate "Kontron COM I2C Controller"
711         depends on MFD_KEMPLD
712         help
713           This enables support for the I2C bus interface on some Kontron ETX
714           and COMexpress (ETXexpress) modules.
715
716           This driver can also be built as a module. If so, the module
717           will be called i2c-kempld.
718
719 config I2C_LPC2K
720         tristate "I2C bus support for NXP LPC2K/LPC178x/18xx/43xx"
721         depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
722         help
723           This driver supports the I2C interface found several NXP
724           devices including LPC2xxx, LPC178x/7x and LPC18xx/43xx.
725
726           This driver can also be built as a module.  If so, the module
727           will be called i2c-lpc2k.
728
729 config I2C_MESON
730         tristate "Amlogic Meson I2C controller"
731         depends on ARCH_MESON || COMPILE_TEST
732         depends on COMMON_CLK
733         help
734           If you say yes to this option, support will be included for the
735           I2C interface on the Amlogic Meson family of SoCs.
736
737 config I2C_MPC
738         tristate "MPC107/824x/85xx/512x/52xx/83xx/86xx"
739         depends on PPC
740         help
741           If you say yes to this option, support will be included for the
742           built-in I2C interface on the MPC107, Tsi107, MPC512x, MPC52xx,
743           MPC8240, MPC8245, MPC83xx, MPC85xx and MPC8641 family processors.
744
745           This driver can also be built as a module.  If so, the module
746           will be called i2c-mpc.
747
748 config I2C_MT65XX
749         tristate "MediaTek I2C adapter"
750         depends on ARCH_MEDIATEK || COMPILE_TEST
751         help
752           This selects the MediaTek(R) Integrated Inter Circuit bus driver
753           for MT65xx and MT81xx.
754           If you want to use MediaTek(R) I2C interface, say Y or M here.
755           If unsure, say N.
756
757 config I2C_MT7621
758         tristate "MT7621/MT7628 I2C Controller"
759         depends on (RALINK && (SOC_MT7620 || SOC_MT7621)) || COMPILE_TEST
760         help
761           Say Y here to include support for I2C controller in the
762           MediaTek MT7621/MT7628 SoCs.
763
764 config I2C_MV64XXX
765         tristate "Marvell mv64xxx I2C Controller"
766         depends on MV64X60 || PLAT_ORION || ARCH_SUNXI || ARCH_MVEBU || COMPILE_TEST
767         help
768           If you say yes to this option, support will be included for the
769           built-in I2C interface on the Marvell 64xxx line of host bridges.
770           This driver is also used for Allwinner SoCs I2C controllers.
771
772           This driver can also be built as a module.  If so, the module
773           will be called i2c-mv64xxx.
774
775 config I2C_MXS
776         tristate "Freescale i.MX28 I2C interface"
777         depends on SOC_IMX28 || COMPILE_TEST
778         select STMP_DEVICE
779         help
780           Say Y here if you want to use the I2C bus controller on
781           the Freescale i.MX28 processors.
782
783           This driver can also be built as a module.  If so, the module
784           will be called i2c-mxs.
785
786 config I2C_NOMADIK
787         tristate "ST-Ericsson Nomadik/Ux500 I2C Controller"
788         depends on ARM_AMBA
789         help
790           If you say yes to this option, support will be included for the
791           I2C interface from ST-Ericsson's Nomadik and Ux500 architectures,
792           as well as the STA2X11 PCIe I/O HUB.
793
794 config I2C_OCORES
795         tristate "OpenCores I2C Controller"
796         help
797           If you say yes to this option, support will be included for the
798           OpenCores I2C controller. For details see
799           http://www.opencores.org/projects.cgi/web/i2c/overview
800
801           This driver can also be built as a module.  If so, the module
802           will be called i2c-ocores.
803
804 config I2C_OMAP
805         tristate "OMAP I2C adapter"
806         depends on ARCH_OMAP || ARCH_K3 || COMPILE_TEST
807         default y if MACH_OMAP_H3 || MACH_OMAP_OSK
808         help
809           If you say yes to this option, support will be included for the
810           I2C interface on the Texas Instruments OMAP1/2 family of processors.
811           Like OMAP1510/1610/1710/5912 and OMAP242x.
812           For details see http://www.ti.com/omap.
813
814 config I2C_OWL
815         tristate "Actions Semiconductor Owl I2C Controller"
816         depends on ARCH_ACTIONS || COMPILE_TEST
817         help
818           Say Y here if you want to use the I2C bus controller on
819           the Actions Semiconductor Owl SoC's.
820
821 config I2C_PASEMI
822         tristate "PA Semi SMBus interface"
823         depends on PPC_PASEMI && PCI
824         help
825           Supports the PA Semi PWRficient on-chip SMBus interfaces.
826
827 config I2C_PCA_PLATFORM
828         tristate "PCA9564/PCA9665 as platform device"
829         select I2C_ALGOPCA
830         default n
831         help
832           This driver supports a memory mapped Philips PCA9564/PCA9665
833           parallel bus to I2C bus controller.
834
835           This driver can also be built as a module.  If so, the module
836           will be called i2c-pca-platform.
837
838 config I2C_PMCMSP
839         tristate "PMC MSP I2C TWI Controller"
840         depends on PMC_MSP || COMPILE_TEST
841         help
842           This driver supports the PMC TWI controller on MSP devices.
843
844           This driver can also be built as module. If so, the module
845           will be called i2c-pmcmsp.
846
847 config I2C_PNX
848         tristate "I2C bus support for Philips PNX and NXP LPC targets"
849         depends on ARCH_LPC32XX || COMPILE_TEST
850         help
851           This driver supports the Philips IP3204 I2C IP block master and/or
852           slave controller
853
854           This driver can also be built as a module.  If so, the module
855           will be called i2c-pnx.
856
857 config I2C_PUV3
858         tristate "PKUnity v3 I2C bus support"
859         depends on UNICORE32 && ARCH_PUV3
860         select I2C_ALGOBIT
861         help
862           This driver supports the I2C IP inside the PKUnity-v3 SoC.
863           This I2C bus controller is under AMBA/AXI bus.
864
865           This driver can also be built as a module.  If so, the module
866           will be called i2c-puv3.
867
868 config I2C_PXA
869         tristate "Intel PXA2XX I2C adapter"
870         depends on ARCH_PXA || ARCH_MMP || ARCH_MVEBU || (X86_32 && PCI && OF) || COMPILE_TEST
871         help
872           If you have devices in the PXA I2C bus, say yes to this option.
873           This driver can also be built as a module.  If so, the module
874           will be called i2c-pxa.
875
876 config I2C_PXA_PCI
877         def_bool I2C_PXA && X86_32 && PCI && OF
878
879 config I2C_PXA_SLAVE
880         bool "Intel PXA2XX I2C Slave comms support"
881         depends on I2C_PXA && !X86_32
882         select I2C_SLAVE
883         help
884           Support I2C slave mode communications on the PXA I2C bus.  This
885           is necessary for systems where the PXA may be a target on the
886           I2C bus.
887
888 config I2C_QCOM_GENI
889         tristate "Qualcomm Technologies Inc.'s GENI based I2C controller"
890         depends on ARCH_QCOM || COMPILE_TEST
891         depends on QCOM_GENI_SE
892         help
893           This driver supports GENI serial engine based I2C controller in
894           master mode on the Qualcomm Technologies Inc.'s SoCs. If you say
895           yes to this option, support will be included for the built-in I2C
896           interface on the Qualcomm Technologies Inc.'s SoCs.
897
898           This driver can also be built as a module.  If so, the module
899           will be called i2c-qcom-geni.
900
901 config I2C_QUP
902         tristate "Qualcomm QUP based I2C controller"
903         depends on ARCH_QCOM
904         help
905           If you say yes to this option, support will be included for the
906           built-in I2C interface on the Qualcomm SoCs.
907
908           This driver can also be built as a module.  If so, the module
909           will be called i2c-qup.
910
911 config I2C_RIIC
912         tristate "Renesas RIIC adapter"
913         depends on ARCH_RENESAS || COMPILE_TEST
914         help
915           If you say yes to this option, support will be included for the
916           Renesas RIIC I2C interface.
917
918           This driver can also be built as a module.  If so, the module
919           will be called i2c-riic.
920
921 config I2C_RK3X
922         tristate "Rockchip RK3xxx I2C adapter"
923         depends on OF && COMMON_CLK
924         help
925           Say Y here to include support for the I2C adapter in Rockchip RK3xxx
926           SoCs.
927
928           This driver can also be built as a module. If so, the module will
929           be called i2c-rk3x.
930
931 config HAVE_S3C2410_I2C
932         bool
933         help
934           This will include I2C support for Samsung SoCs. If you want to
935           include I2C support for any machine, kindly select this in the
936           respective Kconfig file.
937
938 config I2C_S3C2410
939         tristate "S3C/Exynos I2C Driver"
940         depends on HAVE_S3C2410_I2C || COMPILE_TEST
941         help
942           Say Y here to include support for I2C controller in the
943           Samsung SoCs (S3C, S5Pv210, Exynos).
944
945 config I2C_SH7760
946         tristate "Renesas SH7760 I2C Controller"
947         depends on CPU_SUBTYPE_SH7760
948         help
949           This driver supports the 2 I2C interfaces on the Renesas SH7760.
950
951           This driver can also be built as a module.  If so, the module
952           will be called i2c-sh7760.
953
954 config I2C_SH_MOBILE
955         tristate "SuperH Mobile I2C Controller"
956         depends on ARCH_SHMOBILE || ARCH_RENESAS || COMPILE_TEST
957         help
958           If you say yes to this option, support will be included for the
959           built-in I2C interface on the Renesas SH-Mobile processor.
960
961           This driver can also be built as a module.  If so, the module
962           will be called i2c-sh_mobile.
963
964 config I2C_SIMTEC
965         tristate "Simtec Generic I2C interface"
966         select I2C_ALGOBIT
967         help
968           If you say yes to this option, support will be included for
969           the Simtec Generic I2C interface. This driver is for the
970           simple I2C bus used on newer Simtec products for general
971           I2C, such as DDC on the Simtec BBD2016A.
972
973           This driver can also be built as a module. If so, the module
974           will be called i2c-simtec.
975
976 config I2C_SIRF
977         tristate "CSR SiRFprimaII I2C interface"
978         depends on ARCH_SIRF || COMPILE_TEST
979         help
980           If you say yes to this option, support will be included for the
981           CSR SiRFprimaII I2C interface.
982
983           This driver can also be built as a module.  If so, the module
984           will be called i2c-sirf.
985
986 config I2C_SPRD
987         tristate "Spreadtrum I2C interface"
988         depends on I2C=y && (ARCH_SPRD || COMPILE_TEST)
989         help
990           If you say yes to this option, support will be included for the
991           Spreadtrum I2C interface.
992
993 config I2C_ST
994         tristate "STMicroelectronics SSC I2C support"
995         depends on ARCH_STI || COMPILE_TEST
996         help
997           Enable this option to add support for STMicroelectronics SoCs
998           hardware SSC (Synchronous Serial Controller) as an I2C controller.
999
1000           This driver can also be built as module. If so, the module
1001           will be called i2c-st.
1002
1003 config I2C_STM32F4
1004         tristate "STMicroelectronics STM32F4 I2C support"
1005         depends on ARCH_STM32 || COMPILE_TEST
1006         help
1007           Enable this option to add support for STM32 I2C controller embedded
1008           in STM32F4 SoCs.
1009
1010           This driver can also be built as module. If so, the module
1011           will be called i2c-stm32f4.
1012
1013 config I2C_STM32F7
1014         tristate "STMicroelectronics STM32F7 I2C support"
1015         depends on ARCH_STM32 || COMPILE_TEST
1016         select I2C_SLAVE
1017         help
1018           Enable this option to add support for STM32 I2C controller embedded
1019           in STM32F7 SoCs.
1020
1021           This driver can also be built as module. If so, the module
1022           will be called i2c-stm32f7.
1023
1024 config I2C_STU300
1025         tristate "ST Microelectronics DDC I2C interface"
1026         depends on MACH_U300 || COMPILE_TEST
1027         default y if MACH_U300
1028         help
1029           If you say yes to this option, support will be included for the
1030           I2C interface from ST Microelectronics simply called "DDC I2C"
1031           supporting both I2C and DDC, used in e.g. the U300 series
1032           mobile platforms.
1033
1034           This driver can also be built as a module. If so, the module
1035           will be called i2c-stu300.
1036
1037 config I2C_SUN6I_P2WI
1038         tristate "Allwinner sun6i internal P2WI controller"
1039         depends on RESET_CONTROLLER
1040         depends on MACH_SUN6I || COMPILE_TEST
1041         help
1042           If you say yes to this option, support will be included for the
1043           P2WI (Push/Pull 2 Wire Interface) controller embedded in some sunxi
1044           SOCs.
1045           The P2WI looks like an SMBus controller (which supports only byte
1046           accesses), except that it only supports one slave device.
1047           This interface is used to connect to specific PMIC devices (like the
1048           AXP221).
1049
1050 config I2C_SYNQUACER
1051         tristate "Socionext SynQuacer I2C controller"
1052         depends on ARCH_SYNQUACER || COMPILE_TEST
1053         help
1054           Say Y here to include support for the I2C controller used in some
1055           Fujitsu and Socionext SoCs.
1056
1057           This driver can also be built as a module. If so, the module
1058           will be called i2c-synquacer.
1059
1060 config I2C_TEGRA
1061         tristate "NVIDIA Tegra internal I2C controller"
1062         depends on ARCH_TEGRA || (COMPILE_TEST && (ARC || ARM || ARM64 || M68K || RISCV || SUPERH || SPARC))
1063         # COMPILE_TEST needs architectures with readsX()/writesX() primitives
1064         help
1065           If you say yes to this option, support will be included for the
1066           I2C controller embedded in NVIDIA Tegra SOCs
1067
1068 config I2C_TEGRA_BPMP
1069         tristate "NVIDIA Tegra BPMP I2C controller"
1070         depends on TEGRA_BPMP || COMPILE_TEST
1071         default y if TEGRA_BPMP
1072         help
1073           If you say yes to this option, support will be included for the I2C
1074           controller embedded in NVIDIA Tegra SoCs accessed via the BPMP.
1075
1076           This I2C driver is a 'virtual' I2C driver. The real driver is part
1077           of the BPMP firmware, and this driver merely communicates with that
1078           real driver.
1079
1080 config I2C_UNIPHIER
1081         tristate "UniPhier FIFO-less I2C controller"
1082         depends on ARCH_UNIPHIER || COMPILE_TEST
1083         help
1084           If you say yes to this option, support will be included for
1085           the UniPhier FIFO-less I2C interface embedded in PH1-LD4, PH1-sLD8,
1086           or older UniPhier SoCs.
1087
1088 config I2C_UNIPHIER_F
1089         tristate "UniPhier FIFO-builtin I2C controller"
1090         depends on ARCH_UNIPHIER || COMPILE_TEST
1091         help
1092           If you say yes to this option, support will be included for
1093           the UniPhier FIFO-builtin I2C interface embedded in PH1-Pro4,
1094           PH1-Pro5, or newer UniPhier SoCs.
1095
1096 config I2C_VERSATILE
1097         tristate "ARM Versatile/Realview I2C bus support"
1098         depends on ARCH_MPS2 || ARCH_VERSATILE || ARCH_REALVIEW || ARCH_VEXPRESS || COMPILE_TEST
1099         select I2C_ALGOBIT
1100         help
1101           Say yes if you want to support the I2C serial bus on ARMs Versatile
1102           range of platforms.
1103
1104           This driver can also be built as a module.  If so, the module
1105           will be called i2c-versatile.
1106
1107 config I2C_WMT
1108         tristate "Wondermedia WM8xxx SoC I2C bus support"
1109         depends on ARCH_VT8500 || COMPILE_TEST
1110         help
1111           Say yes if you want to support the I2C bus on Wondermedia 8xxx-series
1112           SoCs.
1113
1114           This driver can also be built as a module. If so, the module will be
1115           called i2c-wmt.
1116
1117 config I2C_OCTEON
1118         tristate "Cavium OCTEON I2C bus support"
1119         depends on CAVIUM_OCTEON_SOC
1120         help
1121           Say yes if you want to support the I2C serial bus on Cavium
1122           OCTEON SOC.
1123
1124           This driver can also be built as a module.  If so, the module
1125           will be called i2c-octeon.
1126
1127 config I2C_THUNDERX
1128         tristate "Cavium ThunderX I2C bus support"
1129         depends on 64BIT && PCI && (ARM64 || COMPILE_TEST)
1130         select I2C_SMBUS
1131         help
1132           Say yes if you want to support the I2C serial bus on Cavium
1133           ThunderX SOC.
1134
1135           This driver can also be built as a module.  If so, the module
1136           will be called i2c-thunderx.
1137
1138 config I2C_XILINX
1139         tristate "Xilinx I2C Controller"
1140         depends on HAS_IOMEM
1141         help
1142           If you say yes to this option, support will be included for the
1143           Xilinx I2C controller.
1144
1145           This driver can also be built as a module.  If so, the module
1146           will be called xilinx_i2c.
1147
1148 config I2C_XLR
1149         tristate "Netlogic XLR and Sigma Designs I2C support"
1150         depends on CPU_XLR || ARCH_TANGO || COMPILE_TEST
1151         help
1152           This driver enables support for the on-chip I2C interface of
1153           the Netlogic XLR/XLS MIPS processors and Sigma Designs SOCs.
1154
1155           This driver can also be built as a module.  If so, the module
1156           will be called i2c-xlr.
1157
1158 config I2C_XLP9XX
1159         tristate "XLP9XX I2C support"
1160         depends on CPU_XLP || ARCH_THUNDER2 || COMPILE_TEST
1161         help
1162           This driver enables support for the on-chip I2C interface of
1163           the Broadcom XLP9xx/XLP5xx MIPS and Vulcan ARM64 processors.
1164
1165           This driver can also be built as a module.  If so, the module will
1166           be called i2c-xlp9xx.
1167
1168 config I2C_RCAR
1169         tristate "Renesas R-Car I2C Controller"
1170         depends on ARCH_RENESAS || COMPILE_TEST
1171         select I2C_SLAVE
1172         help
1173           If you say yes to this option, support will be included for the
1174           R-Car I2C controller.
1175
1176           This driver can also be built as a module.  If so, the module
1177           will be called i2c-rcar.
1178
1179 comment "External I2C/SMBus adapter drivers"
1180
1181 config I2C_DIOLAN_U2C
1182         tristate "Diolan U2C-12 USB adapter"
1183         depends on USB
1184         help
1185           If you say yes to this option, support will be included for Diolan
1186           U2C-12, a USB to I2C interface.
1187
1188           This driver can also be built as a module.  If so, the module
1189           will be called i2c-diolan-u2c.
1190
1191 config I2C_DLN2
1192         tristate "Diolan DLN-2 USB I2C adapter"
1193         depends on MFD_DLN2
1194         help
1195          If you say yes to this option, support will be included for Diolan
1196          DLN2, a USB to I2C interface.
1197
1198          This driver can also be built as a module.  If so, the module
1199          will be called i2c-dln2.
1200
1201 config I2C_PARPORT
1202         tristate "Parallel port adapter"
1203         depends on PARPORT
1204         select I2C_ALGOBIT
1205         select I2C_SMBUS
1206         help
1207           This supports parallel port I2C adapters such as the ones made by
1208           Philips or Velleman, Analog Devices evaluation boards, and more.
1209           Basically any adapter using the parallel port as an I2C bus with
1210           no extra chipset is supported by this driver, or could be. Please
1211           read the file Documentation/i2c/busses/i2c-parport.rst for details.
1212
1213           This support is also available as a module.  If so, the module
1214           will be called i2c-parport.
1215
1216 config I2C_ROBOTFUZZ_OSIF
1217         tristate "RobotFuzz Open Source InterFace USB adapter"
1218         depends on USB
1219         help
1220           If you say yes to this option, support will be included for the
1221           RobotFuzz Open Source InterFace USB to I2C interface.
1222
1223           This driver can also be built as a module.  If so, the module
1224           will be called i2c-osif.
1225
1226 config I2C_TAOS_EVM
1227         tristate "TAOS evaluation module"
1228         depends on TTY
1229         select SERIO
1230         select SERIO_SERPORT
1231         default n
1232         help
1233           This supports TAOS evaluation modules on serial port. In order to
1234           use this driver, you will need the inputattach tool, which is part
1235           of the input-utils package.
1236
1237           If unsure, say N.
1238
1239           This support is also available as a module.  If so, the module
1240           will be called i2c-taos-evm.
1241
1242 config I2C_TINY_USB
1243         tristate "Tiny-USB adapter"
1244         depends on USB
1245         help
1246           If you say yes to this option, support will be included for the
1247           i2c-tiny-usb, a simple do-it-yourself USB to I2C interface. See
1248           http://www.harbaum.org/till/i2c_tiny_usb for hardware details.
1249
1250           This driver can also be built as a module.  If so, the module
1251           will be called i2c-tiny-usb.
1252
1253 config I2C_VIPERBOARD
1254         tristate "Viperboard I2C master support"
1255         depends on MFD_VIPERBOARD && USB
1256         help
1257           Say yes here to access the I2C part of the Nano River
1258           Technologies Viperboard as I2C master.
1259           See viperboard API specification and Nano
1260           River Tech's viperboard.h for detailed meaning
1261           of the module parameters.
1262
1263 comment "Other I2C/SMBus bus drivers"
1264
1265 config I2C_ACORN
1266         tristate "Acorn IOC/IOMD I2C bus support"
1267         depends on ARCH_ACORN
1268         default y
1269         select I2C_ALGOBIT
1270         help
1271           Say yes if you want to support the I2C bus on Acorn platforms.
1272
1273           If you don't know, say Y.
1274
1275 config I2C_ELEKTOR
1276         tristate "Elektor ISA card"
1277         depends on ISA && HAS_IOPORT_MAP && BROKEN_ON_SMP
1278         select I2C_ALGOPCF
1279         help
1280           This supports the PCF8584 ISA bus I2C adapter.  Say Y if you own
1281           such an adapter.
1282
1283           This support is also available as a module.  If so, the module
1284           will be called i2c-elektor.
1285
1286 config I2C_ICY
1287         tristate "ICY Zorro card"
1288         depends on ZORRO
1289         select I2C_ALGOPCF
1290         help
1291           This supports the PCF8584 Zorro bus I2C adapter, known as ICY.
1292           Say Y if you own such an adapter.
1293
1294           This support is also available as a module.  If so, the module
1295           will be called i2c-icy.
1296
1297           If you have a 2019 edition board with an LTC2990 sensor at address
1298           0x4c, loading the module 'ltc2990' is sufficient to enable it.
1299
1300 config I2C_MLXCPLD
1301         tristate "Mellanox I2C driver"
1302         depends on X86_64 || COMPILE_TEST
1303         help
1304           This exposes the Mellanox platform I2C busses to the linux I2C layer
1305           for X86 based systems.
1306           Controller is implemented as CPLD logic.
1307
1308           This driver can also be built as a module. If so, the module will be
1309           called as i2c-mlxcpld.
1310
1311 config I2C_PCA_ISA
1312         tristate "PCA9564/PCA9665 on an ISA bus"
1313         depends on ISA
1314         select I2C_ALGOPCA
1315         default n
1316         help
1317           This driver supports ISA boards using the Philips PCA9564/PCA9665
1318           parallel bus to I2C bus controller.
1319
1320           This driver can also be built as a module.  If so, the module
1321           will be called i2c-pca-isa.
1322
1323           This device is almost undetectable and using this driver on a
1324           system which doesn't have this device will result in long
1325           delays when I2C/SMBus chip drivers are loaded (e.g. at boot
1326           time).  If unsure, say N.
1327
1328 config I2C_SIBYTE
1329         tristate "SiByte SMBus interface"
1330         depends on SIBYTE_SB1xxx_SOC
1331         help
1332           Supports the SiByte SOC on-chip I2C interfaces (2 channels).
1333
1334 config I2C_CROS_EC_TUNNEL
1335         tristate "ChromeOS EC tunnel I2C bus"
1336         depends on CROS_EC
1337         help
1338           If you say yes here you get an I2C bus that will tunnel i2c commands
1339           through to the other side of the ChromeOS EC to the i2c bus
1340           connected there. This will work whatever the interface used to
1341           talk to the EC (SPI, I2C or LPC).
1342
1343 config I2C_XGENE_SLIMPRO
1344         tristate "APM X-Gene SoC I2C SLIMpro devices support"
1345         depends on ARCH_XGENE && MAILBOX
1346         help
1347           Enable I2C bus access using the APM X-Gene SoC SLIMpro
1348           co-processor. The I2C device access the I2C bus via the X-Gene
1349           to SLIMpro (On chip coprocessor) mailbox mechanism.
1350           If unsure, say N.
1351
1352 config SCx200_ACB
1353         tristate "Geode ACCESS.bus support"
1354         depends on X86_32 && PCI
1355         help
1356           Enable the use of the ACCESS.bus controllers on the Geode SCx200 and
1357           SC1100 processors and the CS5535 and CS5536 Geode companion devices.
1358
1359           If you don't know what to do here, say N.
1360
1361           This support is also available as a module.  If so, the module
1362           will be called scx200_acb.
1363
1364 config I2C_OPAL
1365         tristate "IBM OPAL I2C driver"
1366         depends on PPC_POWERNV
1367         default y
1368         help
1369           This exposes the PowerNV platform i2c busses to the linux i2c layer,
1370           the driver is based on the OPAL interfaces.
1371
1372           This driver can also be built as a module. If so, the module will be
1373           called as i2c-opal.
1374
1375 config I2C_ZX2967
1376         tristate "ZTE ZX2967 I2C support"
1377         depends on ARCH_ZX
1378         default y
1379         help
1380           Selecting this option will add ZX2967 I2C driver.
1381           This driver can also be built as a module. If so, the module will be
1382           called i2c-zx2967.
1383
1384 config I2C_FSI
1385         tristate "FSI I2C driver"
1386         depends on FSI
1387         help
1388           Driver for FSI bus attached I2C masters. These are I2C masters that
1389           are connected to the system over an FSI bus, instead of the more
1390           common PCI or MMIO interface.
1391
1392           This driver can also be built as a module. If so, the module will be
1393           called as i2c-fsi.
1394
1395 endmenu