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