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