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