i2c: designware: Allow slave mode for PCI enumerated devices
[linux-2.6-microblaze.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_BCM2835 || ARCH_BRCMSTB || BMIPS_GENERIC || \
479                    ARCH_BCM_63XX || 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_SLAVE
531         bool "Synopsys DesignWare Slave"
532         select I2C_SLAVE
533         help
534           If you say yes to this option, support will be included for the
535           Synopsys DesignWare I2C slave adapter.
536
537           This is not a standalone module, this module compiles together with
538           i2c-designware-core.
539
540 config I2C_DESIGNWARE_PLATFORM
541         tristate "Synopsys DesignWare Platform"
542         select I2C_DESIGNWARE_CORE
543         depends on (ACPI && COMMON_CLK) || !ACPI
544         help
545           If you say yes to this option, support will be included for the
546           Synopsys DesignWare I2C adapter.
547
548           This driver can also be built as a module.  If so, the module
549           will be called i2c-designware-platform.
550
551 config I2C_DESIGNWARE_PCI
552         tristate "Synopsys DesignWare PCI"
553         depends on PCI
554         select I2C_DESIGNWARE_CORE
555         help
556           If you say yes to this option, support will be included for the
557           Synopsys DesignWare I2C adapter. Only master mode is supported.
558
559           This driver can also be built as a module.  If so, the module
560           will be called i2c-designware-pci.
561
562 config I2C_DESIGNWARE_BAYTRAIL
563         bool "Intel Baytrail I2C semaphore support"
564         depends on ACPI
565         depends on (I2C_DESIGNWARE_PLATFORM=m && IOSF_MBI) || \
566                    (I2C_DESIGNWARE_PLATFORM=y && IOSF_MBI=y)
567         help
568           This driver enables managed host access to the PMIC I2C bus on select
569           Intel BayTrail platforms using the X-Powers AXP288 PMIC. It allows
570           the host to request uninterrupted access to the PMIC's I2C bus from
571           the platform firmware controlling it. You should say Y if running on
572           a BayTrail system using the AXP288.
573
574 config I2C_DIGICOLOR
575         tristate "Conexant Digicolor I2C driver"
576         depends on ARCH_DIGICOLOR || COMPILE_TEST
577         help
578           Support for Conexant Digicolor SoCs (CX92755) I2C controller driver.
579
580           This driver can also be built as a module.  If so, the module
581           will be called i2c-digicolor.
582
583 config I2C_EFM32
584         tristate "EFM32 I2C controller"
585         depends on ARCH_EFM32 || COMPILE_TEST
586         help
587           This driver supports the i2c block found in Energy Micro's EFM32
588           SoCs.
589
590 config I2C_EG20T
591         tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) I2C"
592         depends on PCI && (X86_32 || MIPS || COMPILE_TEST)
593         help
594           This driver is for PCH(Platform controller Hub) I2C of EG20T which
595           is an IOH(Input/Output Hub) for x86 embedded processor.
596           This driver can access PCH I2C bus device.
597
598           This driver also can be used for LAPIS Semiconductor IOH(Input/
599           Output Hub), ML7213, ML7223 and ML7831.
600           ML7213 IOH is for IVI(In-Vehicle Infotainment) use, ML7223 IOH is
601           for MP(Media Phone) use and ML7831 IOH is for general purpose use.
602           ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series.
603           ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH.
604
605 config I2C_EMEV2
606         tristate "EMMA Mobile series I2C adapter"
607         depends on HAVE_CLK
608         select I2C_SLAVE
609         help
610           If you say yes to this option, support will be included for the
611           I2C interface on the Renesas Electronics EM/EV family of processors.
612
613 config I2C_EXYNOS5
614         tristate "Exynos high-speed I2C driver"
615         depends on OF
616         depends on ARCH_EXYNOS || COMPILE_TEST
617         default y if ARCH_EXYNOS
618         help
619           High-speed I2C controller on Exynos5 and newer Samsung SoCs.
620
621 config I2C_GPIO
622         tristate "GPIO-based bitbanging I2C"
623         depends on GPIOLIB || COMPILE_TEST
624         select I2C_ALGOBIT
625         help
626           This is a very simple bitbanging I2C driver utilizing the
627           arch-neutral GPIO API to control the SCL and SDA lines.
628
629 config I2C_GPIO_FAULT_INJECTOR
630         bool "GPIO-based fault injector"
631         depends on I2C_GPIO
632         help
633           This adds some functionality to the i2c-gpio driver which can inject
634           faults to an I2C bus, so another bus master can be stress-tested.
635           This is for debugging. If unsure, say 'no'.
636
637 config I2C_HIGHLANDER
638         tristate "Highlander FPGA SMBus interface"
639         depends on SH_HIGHLANDER || COMPILE_TEST
640         help
641           If you say yes to this option, support will be included for
642           the SMBus interface located in the FPGA on various Highlander
643           boards, particularly the R0P7780LC0011RL and R0P7785LC0011RL
644           FPGAs. This is wholly unrelated to the SoC I2C.
645
646           This driver can also be built as a module.  If so, the module
647           will be called i2c-highlander.
648
649 config I2C_IBM_IIC
650         tristate "IBM PPC 4xx on-chip I2C interface"
651         depends on 4xx
652         help
653           Say Y here if you want to use IIC peripheral found on
654           embedded IBM PPC 4xx based systems.
655
656           This driver can also be built as a module.  If so, the module
657           will be called i2c-ibm_iic.
658
659 config I2C_IMG
660         tristate "Imagination Technologies I2C SCB Controller"
661         depends on MIPS || COMPILE_TEST
662         help
663           Say Y here if you want to use the IMG I2C SCB controller,
664           available on the TZ1090 and other IMG SoCs.
665
666           This driver can also be built as a module.  If so, the module
667           will be called i2c-img-scb.
668
669 config I2C_IMX
670         tristate "IMX I2C interface"
671         depends on ARCH_MXC || ARCH_LAYERSCAPE || COLDFIRE
672         help
673           Say Y here if you want to use the IIC bus controller on
674           the Freescale i.MX/MXC, Layerscape or ColdFire processors.
675
676           This driver can also be built as a module.  If so, the module
677           will be called i2c-imx.
678
679 config I2C_IMX_LPI2C
680         tristate "IMX Low Power I2C interface"
681         depends on ARCH_MXC || COMPILE_TEST
682         help
683           Say Y here if you want to use the Low Power IIC bus controller
684           on the Freescale i.MX processors.
685
686           This driver can also be built as a module. If so, the module
687           will be called i2c-imx-lpi2c.
688
689 config I2C_IOP3XX
690         tristate "Intel IOPx3xx and IXP4xx on-chip I2C interface"
691         depends on ARCH_IOP32X || ARCH_IXP4XX || COMPILE_TEST
692         help
693           Say Y here if you want to use the IIC bus controller on
694           the Intel IOPx3xx I/O Processors or IXP4xx Network Processors.
695
696           This driver can also be built as a module.  If so, the module
697           will be called i2c-iop3xx.
698
699 config I2C_JZ4780
700         tristate "JZ4780 I2C controller interface support"
701         depends on MIPS || COMPILE_TEST
702         help
703          If you say yes to this option, support will be included for the
704          Ingenic JZ4780 I2C controller.
705
706          If you don't know what to do here, say N.
707
708 config I2C_KEMPLD
709         tristate "Kontron COM I2C Controller"
710         depends on MFD_KEMPLD
711         help
712           This enables support for the I2C bus interface on some Kontron ETX
713           and COMexpress (ETXexpress) modules.
714
715           This driver can also be built as a module. If so, the module
716           will be called i2c-kempld.
717
718 config I2C_LPC2K
719         tristate "I2C bus support for NXP LPC2K/LPC178x/18xx/43xx"
720         depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
721         help
722           This driver supports the I2C interface found several NXP
723           devices including LPC2xxx, LPC178x/7x and LPC18xx/43xx.
724
725           This driver can also be built as a module.  If so, the module
726           will be called i2c-lpc2k.
727
728 config I2C_MESON
729         tristate "Amlogic Meson I2C controller"
730         depends on ARCH_MESON || COMPILE_TEST
731         depends on COMMON_CLK
732         help
733           If you say yes to this option, support will be included for the
734           I2C interface on the Amlogic Meson family of SoCs.
735
736 config I2C_MPC
737         tristate "MPC107/824x/85xx/512x/52xx/83xx/86xx"
738         depends on PPC
739         help
740           If you say yes to this option, support will be included for the
741           built-in I2C interface on the MPC107, Tsi107, MPC512x, MPC52xx,
742           MPC8240, MPC8245, MPC83xx, MPC85xx and MPC8641 family processors.
743
744           This driver can also be built as a module.  If so, the module
745           will be called i2c-mpc.
746
747 config I2C_MT65XX
748         tristate "MediaTek I2C adapter"
749         depends on ARCH_MEDIATEK || COMPILE_TEST
750         help
751           This selects the MediaTek(R) Integrated Inter Circuit bus driver
752           for MT65xx and MT81xx.
753           If you want to use MediaTek(R) I2C interface, say Y or M here.
754           If unsure, say N.
755
756 config I2C_MT7621
757         tristate "MT7621/MT7628 I2C Controller"
758         depends on (RALINK && (SOC_MT7620 || SOC_MT7621)) || COMPILE_TEST
759         help
760           Say Y here to include support for I2C controller in the
761           MediaTek MT7621/MT7628 SoCs.
762
763 config I2C_MV64XXX
764         tristate "Marvell mv64xxx I2C Controller"
765         depends on MV64X60 || PLAT_ORION || ARCH_SUNXI || ARCH_MVEBU || COMPILE_TEST
766         help
767           If you say yes to this option, support will be included for the
768           built-in I2C interface on the Marvell 64xxx line of host bridges.
769           This driver is also used for Allwinner SoCs I2C controllers.
770
771           This driver can also be built as a module.  If so, the module
772           will be called i2c-mv64xxx.
773
774 config I2C_MXS
775         tristate "Freescale i.MX28 I2C interface"
776         depends on SOC_IMX28 || COMPILE_TEST
777         select STMP_DEVICE
778         help
779           Say Y here if you want to use the I2C bus controller on
780           the Freescale i.MX28 processors.
781
782           This driver can also be built as a module.  If so, the module
783           will be called i2c-mxs.
784
785 config I2C_NOMADIK
786         tristate "ST-Ericsson Nomadik/Ux500 I2C Controller"
787         depends on ARM_AMBA
788         help
789           If you say yes to this option, support will be included for the
790           I2C interface from ST-Ericsson's Nomadik and Ux500 architectures,
791           as well as the STA2X11 PCIe I/O HUB.
792
793 config I2C_OCORES
794         tristate "OpenCores I2C Controller"
795         help
796           If you say yes to this option, support will be included for the
797           OpenCores I2C controller. For details see
798           http://www.opencores.org/projects.cgi/web/i2c/overview
799
800           This driver can also be built as a module.  If so, the module
801           will be called i2c-ocores.
802
803 config I2C_OMAP
804         tristate "OMAP I2C adapter"
805         depends on ARCH_OMAP || ARCH_K3 || COMPILE_TEST
806         default y if MACH_OMAP_H3 || MACH_OMAP_OSK
807         help
808           If you say yes to this option, support will be included for the
809           I2C interface on the Texas Instruments OMAP1/2 family of processors.
810           Like OMAP1510/1610/1710/5912 and OMAP242x.
811           For details see http://www.ti.com/omap.
812
813 config I2C_OWL
814         tristate "Actions Semiconductor Owl I2C Controller"
815         depends on ARCH_ACTIONS || COMPILE_TEST
816         help
817           Say Y here if you want to use the I2C bus controller on
818           the Actions Semiconductor Owl SoC's.
819
820 config I2C_PASEMI
821         tristate "PA Semi SMBus interface"
822         depends on PPC_PASEMI && PCI
823         help
824           Supports the PA Semi PWRficient on-chip SMBus interfaces.
825
826 config I2C_PCA_PLATFORM
827         tristate "PCA9564/PCA9665 as platform device"
828         select I2C_ALGOPCA
829         default n
830         help
831           This driver supports a memory mapped Philips PCA9564/PCA9665
832           parallel bus to I2C bus controller.
833
834           This driver can also be built as a module.  If so, the module
835           will be called i2c-pca-platform.
836
837 config I2C_PMCMSP
838         tristate "PMC MSP I2C TWI Controller"
839         depends on PMC_MSP || COMPILE_TEST
840         help
841           This driver supports the PMC TWI controller on MSP devices.
842
843           This driver can also be built as module. If so, the module
844           will be called i2c-pmcmsp.
845
846 config I2C_PNX
847         tristate "I2C bus support for Philips PNX and NXP LPC targets"
848         depends on ARCH_LPC32XX || COMPILE_TEST
849         help
850           This driver supports the Philips IP3204 I2C IP block master and/or
851           slave controller
852
853           This driver can also be built as a module.  If so, the module
854           will be called i2c-pnx.
855
856 config I2C_PUV3
857         tristate "PKUnity v3 I2C bus support"
858         depends on UNICORE32 && ARCH_PUV3
859         select I2C_ALGOBIT
860         help
861           This driver supports the I2C IP inside the PKUnity-v3 SoC.
862           This I2C bus controller is under AMBA/AXI bus.
863
864           This driver can also be built as a module.  If so, the module
865           will be called i2c-puv3.
866
867 config I2C_PXA
868         tristate "Intel PXA2XX I2C adapter"
869         depends on ARCH_PXA || ARCH_MMP || ARCH_MVEBU || (X86_32 && PCI && OF) || COMPILE_TEST
870         help
871           If you have devices in the PXA I2C bus, say yes to this option.
872           This driver can also be built as a module.  If so, the module
873           will be called i2c-pxa.
874
875 config I2C_PXA_PCI
876         def_bool I2C_PXA && X86_32 && PCI && OF
877
878 config I2C_PXA_SLAVE
879         bool "Intel PXA2XX I2C Slave comms support"
880         depends on I2C_PXA && !X86_32
881         select I2C_SLAVE
882         help
883           Support I2C slave mode communications on the PXA I2C bus.  This
884           is necessary for systems where the PXA may be a target on the
885           I2C bus.
886
887 config I2C_QCOM_CCI
888         tristate "Qualcomm Camera Control Interface"
889         depends on ARCH_QCOM || COMPILE_TEST
890         help
891           If you say yes to this option, support will be included for the
892           built-in camera control interface on the Qualcomm SoCs.
893
894           This driver can also be built as a module.  If so, the module
895           will be called i2c-qcom-cci.
896
897 config I2C_QCOM_GENI
898         tristate "Qualcomm Technologies Inc.'s GENI based I2C controller"
899         depends on ARCH_QCOM || COMPILE_TEST
900         depends on QCOM_GENI_SE
901         help
902           This driver supports GENI serial engine based I2C controller in
903           master mode on the Qualcomm Technologies Inc.'s SoCs. If you say
904           yes to this option, support will be included for the built-in I2C
905           interface on the Qualcomm Technologies Inc.'s SoCs.
906
907           This driver can also be built as a module.  If so, the module
908           will be called i2c-qcom-geni.
909
910 config I2C_QUP
911         tristate "Qualcomm QUP based I2C controller"
912         depends on ARCH_QCOM
913         help
914           If you say yes to this option, support will be included for the
915           built-in I2C interface on the Qualcomm SoCs.
916
917           This driver can also be built as a module.  If so, the module
918           will be called i2c-qup.
919
920 config I2C_RIIC
921         tristate "Renesas RIIC adapter"
922         depends on ARCH_RENESAS || COMPILE_TEST
923         help
924           If you say yes to this option, support will be included for the
925           Renesas RIIC I2C interface.
926
927           This driver can also be built as a module.  If so, the module
928           will be called i2c-riic.
929
930 config I2C_RK3X
931         tristate "Rockchip RK3xxx I2C adapter"
932         depends on OF && COMMON_CLK
933         help
934           Say Y here to include support for the I2C adapter in Rockchip RK3xxx
935           SoCs.
936
937           This driver can also be built as a module. If so, the module will
938           be called i2c-rk3x.
939
940 config HAVE_S3C2410_I2C
941         bool
942         help
943           This will include I2C support for Samsung SoCs. If you want to
944           include I2C support for any machine, kindly select this in the
945           respective Kconfig file.
946
947 config I2C_S3C2410
948         tristate "S3C/Exynos I2C Driver"
949         depends on HAVE_S3C2410_I2C || COMPILE_TEST
950         help
951           Say Y here to include support for I2C controller in the
952           Samsung SoCs (S3C, S5Pv210, Exynos).
953
954 config I2C_SH7760
955         tristate "Renesas SH7760 I2C Controller"
956         depends on CPU_SUBTYPE_SH7760
957         help
958           This driver supports the 2 I2C interfaces on the Renesas SH7760.
959
960           This driver can also be built as a module.  If so, the module
961           will be called i2c-sh7760.
962
963 config I2C_SH_MOBILE
964         tristate "SuperH Mobile I2C Controller"
965         depends on ARCH_SHMOBILE || ARCH_RENESAS || COMPILE_TEST
966         help
967           If you say yes to this option, support will be included for the
968           built-in I2C interface on the Renesas SH-Mobile processor.
969
970           This driver can also be built as a module.  If so, the module
971           will be called i2c-sh_mobile.
972
973 config I2C_SIMTEC
974         tristate "Simtec Generic I2C interface"
975         select I2C_ALGOBIT
976         help
977           If you say yes to this option, support will be included for
978           the Simtec Generic I2C interface. This driver is for the
979           simple I2C bus used on newer Simtec products for general
980           I2C, such as DDC on the Simtec BBD2016A.
981
982           This driver can also be built as a module. If so, the module
983           will be called i2c-simtec.
984
985 config I2C_SIRF
986         tristate "CSR SiRFprimaII I2C interface"
987         depends on ARCH_SIRF || COMPILE_TEST
988         help
989           If you say yes to this option, support will be included for the
990           CSR SiRFprimaII I2C interface.
991
992           This driver can also be built as a module.  If so, the module
993           will be called i2c-sirf.
994
995 config I2C_SPRD
996         tristate "Spreadtrum I2C interface"
997         depends on I2C=y && (ARCH_SPRD || COMPILE_TEST)
998         help
999           If you say yes to this option, support will be included for the
1000           Spreadtrum I2C interface.
1001
1002 config I2C_ST
1003         tristate "STMicroelectronics SSC I2C support"
1004         depends on ARCH_STI || COMPILE_TEST
1005         help
1006           Enable this option to add support for STMicroelectronics SoCs
1007           hardware SSC (Synchronous Serial Controller) as an I2C controller.
1008
1009           This driver can also be built as module. If so, the module
1010           will be called i2c-st.
1011
1012 config I2C_STM32F4
1013         tristate "STMicroelectronics STM32F4 I2C support"
1014         depends on ARCH_STM32 || COMPILE_TEST
1015         help
1016           Enable this option to add support for STM32 I2C controller embedded
1017           in STM32F4 SoCs.
1018
1019           This driver can also be built as module. If so, the module
1020           will be called i2c-stm32f4.
1021
1022 config I2C_STM32F7
1023         tristate "STMicroelectronics STM32F7 I2C support"
1024         depends on ARCH_STM32 || COMPILE_TEST
1025         select I2C_SLAVE
1026         help
1027           Enable this option to add support for STM32 I2C controller embedded
1028           in STM32F7 SoCs.
1029
1030           This driver can also be built as module. If so, the module
1031           will be called i2c-stm32f7.
1032
1033 config I2C_STU300
1034         tristate "ST Microelectronics DDC I2C interface"
1035         depends on MACH_U300 || COMPILE_TEST
1036         default y if MACH_U300
1037         help
1038           If you say yes to this option, support will be included for the
1039           I2C interface from ST Microelectronics simply called "DDC I2C"
1040           supporting both I2C and DDC, used in e.g. the U300 series
1041           mobile platforms.
1042
1043           This driver can also be built as a module. If so, the module
1044           will be called i2c-stu300.
1045
1046 config I2C_SUN6I_P2WI
1047         tristate "Allwinner sun6i internal P2WI controller"
1048         depends on RESET_CONTROLLER
1049         depends on MACH_SUN6I || COMPILE_TEST
1050         help
1051           If you say yes to this option, support will be included for the
1052           P2WI (Push/Pull 2 Wire Interface) controller embedded in some sunxi
1053           SOCs.
1054           The P2WI looks like an SMBus controller (which supports only byte
1055           accesses), except that it only supports one slave device.
1056           This interface is used to connect to specific PMIC devices (like the
1057           AXP221).
1058
1059 config I2C_SYNQUACER
1060         tristate "Socionext SynQuacer I2C controller"
1061         depends on ARCH_SYNQUACER || COMPILE_TEST
1062         help
1063           Say Y here to include support for the I2C controller used in some
1064           Fujitsu and Socionext SoCs.
1065
1066           This driver can also be built as a module. If so, the module
1067           will be called i2c-synquacer.
1068
1069 config I2C_TEGRA
1070         tristate "NVIDIA Tegra internal I2C controller"
1071         depends on ARCH_TEGRA || (COMPILE_TEST && (ARC || ARM || ARM64 || M68K || RISCV || SUPERH || SPARC))
1072         # COMPILE_TEST needs architectures with readsX()/writesX() primitives
1073         help
1074           If you say yes to this option, support will be included for the
1075           I2C controller embedded in NVIDIA Tegra SOCs
1076
1077 config I2C_TEGRA_BPMP
1078         tristate "NVIDIA Tegra BPMP I2C controller"
1079         depends on TEGRA_BPMP || COMPILE_TEST
1080         default y if TEGRA_BPMP
1081         help
1082           If you say yes to this option, support will be included for the I2C
1083           controller embedded in NVIDIA Tegra SoCs accessed via the BPMP.
1084
1085           This I2C driver is a 'virtual' I2C driver. The real driver is part
1086           of the BPMP firmware, and this driver merely communicates with that
1087           real driver.
1088
1089 config I2C_UNIPHIER
1090         tristate "UniPhier FIFO-less I2C controller"
1091         depends on ARCH_UNIPHIER || COMPILE_TEST
1092         help
1093           If you say yes to this option, support will be included for
1094           the UniPhier FIFO-less I2C interface embedded in PH1-LD4, PH1-sLD8,
1095           or older UniPhier SoCs.
1096
1097 config I2C_UNIPHIER_F
1098         tristate "UniPhier FIFO-builtin I2C controller"
1099         depends on ARCH_UNIPHIER || COMPILE_TEST
1100         help
1101           If you say yes to this option, support will be included for
1102           the UniPhier FIFO-builtin I2C interface embedded in PH1-Pro4,
1103           PH1-Pro5, or newer UniPhier SoCs.
1104
1105 config I2C_VERSATILE
1106         tristate "ARM Versatile/Realview I2C bus support"
1107         depends on ARCH_MPS2 || ARCH_VERSATILE || ARCH_REALVIEW || ARCH_VEXPRESS || COMPILE_TEST
1108         select I2C_ALGOBIT
1109         help
1110           Say yes if you want to support the I2C serial bus on ARMs Versatile
1111           range of platforms.
1112
1113           This driver can also be built as a module.  If so, the module
1114           will be called i2c-versatile.
1115
1116 config I2C_WMT
1117         tristate "Wondermedia WM8xxx SoC I2C bus support"
1118         depends on ARCH_VT8500 || COMPILE_TEST
1119         help
1120           Say yes if you want to support the I2C bus on Wondermedia 8xxx-series
1121           SoCs.
1122
1123           This driver can also be built as a module. If so, the module will be
1124           called i2c-wmt.
1125
1126 config I2C_OCTEON
1127         tristate "Cavium OCTEON I2C bus support"
1128         depends on CAVIUM_OCTEON_SOC
1129         help
1130           Say yes if you want to support the I2C serial bus on Cavium
1131           OCTEON SOC.
1132
1133           This driver can also be built as a module.  If so, the module
1134           will be called i2c-octeon.
1135
1136 config I2C_THUNDERX
1137         tristate "Cavium ThunderX I2C bus support"
1138         depends on 64BIT && PCI && (ARM64 || COMPILE_TEST)
1139         select I2C_SMBUS
1140         help
1141           Say yes if you want to support the I2C serial bus on Cavium
1142           ThunderX SOC.
1143
1144           This driver can also be built as a module.  If so, the module
1145           will be called i2c-thunderx.
1146
1147 config I2C_XILINX
1148         tristate "Xilinx I2C Controller"
1149         depends on HAS_IOMEM
1150         help
1151           If you say yes to this option, support will be included for the
1152           Xilinx I2C controller.
1153
1154           This driver can also be built as a module.  If so, the module
1155           will be called xilinx_i2c.
1156
1157 config I2C_XLR
1158         tristate "Netlogic XLR and Sigma Designs I2C support"
1159         depends on CPU_XLR || ARCH_TANGO || COMPILE_TEST
1160         help
1161           This driver enables support for the on-chip I2C interface of
1162           the Netlogic XLR/XLS MIPS processors and Sigma Designs SOCs.
1163
1164           This driver can also be built as a module.  If so, the module
1165           will be called i2c-xlr.
1166
1167 config I2C_XLP9XX
1168         tristate "XLP9XX I2C support"
1169         depends on CPU_XLP || ARCH_THUNDER2 || COMPILE_TEST
1170         help
1171           This driver enables support for the on-chip I2C interface of
1172           the Broadcom XLP9xx/XLP5xx MIPS and Vulcan ARM64 processors.
1173
1174           This driver can also be built as a module.  If so, the module will
1175           be called i2c-xlp9xx.
1176
1177 config I2C_RCAR
1178         tristate "Renesas R-Car I2C Controller"
1179         depends on ARCH_RENESAS || COMPILE_TEST
1180         select I2C_SLAVE
1181         help
1182           If you say yes to this option, support will be included for the
1183           R-Car I2C controller.
1184
1185           This driver can also be built as a module.  If so, the module
1186           will be called i2c-rcar.
1187
1188 comment "External I2C/SMBus adapter drivers"
1189
1190 config I2C_DIOLAN_U2C
1191         tristate "Diolan U2C-12 USB adapter"
1192         depends on USB
1193         help
1194           If you say yes to this option, support will be included for Diolan
1195           U2C-12, a USB to I2C interface.
1196
1197           This driver can also be built as a module.  If so, the module
1198           will be called i2c-diolan-u2c.
1199
1200 config I2C_DLN2
1201         tristate "Diolan DLN-2 USB I2C adapter"
1202         depends on MFD_DLN2
1203         help
1204          If you say yes to this option, support will be included for Diolan
1205          DLN2, a USB to I2C interface.
1206
1207          This driver can also be built as a module.  If so, the module
1208          will be called i2c-dln2.
1209
1210 config I2C_PARPORT
1211         tristate "Parallel port adapter"
1212         depends on PARPORT
1213         select I2C_ALGOBIT
1214         select I2C_SMBUS
1215         help
1216           This supports parallel port I2C adapters such as the ones made by
1217           Philips or Velleman, Analog Devices evaluation boards, and more.
1218           Basically any adapter using the parallel port as an I2C bus with
1219           no extra chipset is supported by this driver, or could be. Please
1220           read the file Documentation/i2c/busses/i2c-parport.rst for details.
1221
1222           This support is also available as a module.  If so, the module
1223           will be called i2c-parport.
1224
1225 config I2C_ROBOTFUZZ_OSIF
1226         tristate "RobotFuzz Open Source InterFace USB adapter"
1227         depends on USB
1228         help
1229           If you say yes to this option, support will be included for the
1230           RobotFuzz Open Source InterFace USB to I2C interface.
1231
1232           This driver can also be built as a module.  If so, the module
1233           will be called i2c-osif.
1234
1235 config I2C_TAOS_EVM
1236         tristate "TAOS evaluation module"
1237         depends on TTY
1238         select SERIO
1239         select SERIO_SERPORT
1240         default n
1241         help
1242           This supports TAOS evaluation modules on serial port. In order to
1243           use this driver, you will need the inputattach tool, which is part
1244           of the input-utils package.
1245
1246           If unsure, say N.
1247
1248           This support is also available as a module.  If so, the module
1249           will be called i2c-taos-evm.
1250
1251 config I2C_TINY_USB
1252         tristate "Tiny-USB adapter"
1253         depends on USB
1254         help
1255           If you say yes to this option, support will be included for the
1256           i2c-tiny-usb, a simple do-it-yourself USB to I2C interface. See
1257           http://www.harbaum.org/till/i2c_tiny_usb for hardware details.
1258
1259           This driver can also be built as a module.  If so, the module
1260           will be called i2c-tiny-usb.
1261
1262 config I2C_VIPERBOARD
1263         tristate "Viperboard I2C master support"
1264         depends on MFD_VIPERBOARD && USB
1265         help
1266           Say yes here to access the I2C part of the Nano River
1267           Technologies Viperboard as I2C master.
1268           See viperboard API specification and Nano
1269           River Tech's viperboard.h for detailed meaning
1270           of the module parameters.
1271
1272 comment "Other I2C/SMBus bus drivers"
1273
1274 config I2C_ACORN
1275         tristate "Acorn IOC/IOMD I2C bus support"
1276         depends on ARCH_ACORN
1277         default y
1278         select I2C_ALGOBIT
1279         help
1280           Say yes if you want to support the I2C bus on Acorn platforms.
1281
1282           If you don't know, say Y.
1283
1284 config I2C_ELEKTOR
1285         tristate "Elektor ISA card"
1286         depends on ISA && HAS_IOPORT_MAP && BROKEN_ON_SMP
1287         select I2C_ALGOPCF
1288         help
1289           This supports the PCF8584 ISA bus I2C adapter.  Say Y if you own
1290           such an adapter.
1291
1292           This support is also available as a module.  If so, the module
1293           will be called i2c-elektor.
1294
1295 config I2C_ICY
1296         tristate "ICY Zorro card"
1297         depends on ZORRO
1298         select I2C_ALGOPCF
1299         help
1300           This supports the PCF8584 Zorro bus I2C adapter, known as ICY.
1301           Say Y if you own such an adapter.
1302
1303           This support is also available as a module.  If so, the module
1304           will be called i2c-icy.
1305
1306           If you have a 2019 edition board with an LTC2990 sensor at address
1307           0x4c, loading the module 'ltc2990' is sufficient to enable it.
1308
1309 config I2C_MLXCPLD
1310         tristate "Mellanox I2C driver"
1311         depends on X86_64 || COMPILE_TEST
1312         help
1313           This exposes the Mellanox platform I2C busses to the linux I2C layer
1314           for X86 based systems.
1315           Controller is implemented as CPLD logic.
1316
1317           This driver can also be built as a module. If so, the module will be
1318           called as i2c-mlxcpld.
1319
1320 config I2C_PCA_ISA
1321         tristate "PCA9564/PCA9665 on an ISA bus"
1322         depends on ISA
1323         select I2C_ALGOPCA
1324         default n
1325         help
1326           This driver supports ISA boards using the Philips PCA9564/PCA9665
1327           parallel bus to I2C bus controller.
1328
1329           This driver can also be built as a module.  If so, the module
1330           will be called i2c-pca-isa.
1331
1332           This device is almost undetectable and using this driver on a
1333           system which doesn't have this device will result in long
1334           delays when I2C/SMBus chip drivers are loaded (e.g. at boot
1335           time).  If unsure, say N.
1336
1337 config I2C_SIBYTE
1338         tristate "SiByte SMBus interface"
1339         depends on SIBYTE_SB1xxx_SOC
1340         help
1341           Supports the SiByte SOC on-chip I2C interfaces (2 channels).
1342
1343 config I2C_CROS_EC_TUNNEL
1344         tristate "ChromeOS EC tunnel I2C bus"
1345         depends on CROS_EC
1346         help
1347           If you say yes here you get an I2C bus that will tunnel i2c commands
1348           through to the other side of the ChromeOS EC to the i2c bus
1349           connected there. This will work whatever the interface used to
1350           talk to the EC (SPI, I2C or LPC).
1351
1352 config I2C_XGENE_SLIMPRO
1353         tristate "APM X-Gene SoC I2C SLIMpro devices support"
1354         depends on ARCH_XGENE && MAILBOX
1355         help
1356           Enable I2C bus access using the APM X-Gene SoC SLIMpro
1357           co-processor. The I2C device access the I2C bus via the X-Gene
1358           to SLIMpro (On chip coprocessor) mailbox mechanism.
1359           If unsure, say N.
1360
1361 config SCx200_ACB
1362         tristate "Geode ACCESS.bus support"
1363         depends on X86_32 && PCI
1364         help
1365           Enable the use of the ACCESS.bus controllers on the Geode SCx200 and
1366           SC1100 processors and the CS5535 and CS5536 Geode companion devices.
1367
1368           If you don't know what to do here, say N.
1369
1370           This support is also available as a module.  If so, the module
1371           will be called scx200_acb.
1372
1373 config I2C_OPAL
1374         tristate "IBM OPAL I2C driver"
1375         depends on PPC_POWERNV
1376         default y
1377         help
1378           This exposes the PowerNV platform i2c busses to the linux i2c layer,
1379           the driver is based on the OPAL interfaces.
1380
1381           This driver can also be built as a module. If so, the module will be
1382           called as i2c-opal.
1383
1384 config I2C_ZX2967
1385         tristate "ZTE ZX2967 I2C support"
1386         depends on ARCH_ZX
1387         default y
1388         help
1389           Selecting this option will add ZX2967 I2C driver.
1390           This driver can also be built as a module. If so, the module will be
1391           called i2c-zx2967.
1392
1393 config I2C_FSI
1394         tristate "FSI I2C driver"
1395         depends on FSI
1396         help
1397           Driver for FSI bus attached I2C masters. These are I2C masters that
1398           are connected to the system over an FSI bus, instead of the more
1399           common PCI or MMIO interface.
1400
1401           This driver can also be built as a module. If so, the module will be
1402           called as i2c-fsi.
1403
1404 endmenu