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