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