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