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