xref: /openbmc/linux/drivers/i2c/busses/Kconfig (revision 275876e2)
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_I801
81	tristate "Intel 82801 (ICH/PCH)"
82	depends on PCI
83	select CHECK_SIGNATURE if X86 && DMI
84	help
85	  If you say yes to this option, support will be included for the Intel
86	  801 family of mainboard I2C interfaces.  Specifically, the following
87	  versions of the chipset are supported:
88	    82801AA
89	    82801AB
90	    82801BA
91	    82801CA/CAM
92	    82801DB
93	    82801EB/ER (ICH5/ICH5R)
94	    6300ESB
95	    ICH6
96	    ICH7
97	    ESB2
98	    ICH8
99	    ICH9
100	    EP80579 (Tolapai)
101	    ICH10
102	    5/3400 Series (PCH)
103	    6 Series (PCH)
104	    Patsburg (PCH)
105	    DH89xxCC (PCH)
106	    Panther Point (PCH)
107	    Lynx Point (PCH)
108	    Lynx Point-LP (PCH)
109	    Avoton (SOC)
110	    Wellsburg (PCH)
111	    Coleto Creek (PCH)
112	    Wildcat Point (PCH)
113	    Wildcat Point-LP (PCH)
114	    BayTrail (SOC)
115
116	  This driver can also be built as a module.  If so, the module
117	  will be called i2c-i801.
118
119config I2C_ISCH
120	tristate "Intel SCH SMBus 1.0"
121	depends on PCI
122	select LPC_SCH
123	help
124	  Say Y here if you want to use SMBus controller on the Intel SCH
125	  based systems.
126
127	  This driver can also be built as a module. If so, the module
128	  will be called i2c-isch.
129
130config I2C_ISMT
131	tristate "Intel iSMT SMBus Controller"
132	depends on PCI && X86
133	help
134	  If you say yes to this option, support will be included for the Intel
135	  iSMT SMBus host controller interface.
136
137	  This driver can also be built as a module.  If so, the module will be
138	  called i2c-ismt.
139
140config I2C_PIIX4
141	tristate "Intel PIIX4 and compatible (ATI/AMD/Serverworks/Broadcom/SMSC)"
142	depends on PCI
143	help
144	  If you say yes to this option, support will be included for the Intel
145	  PIIX4 family of mainboard I2C interfaces.  Specifically, the following
146	  versions of the chipset are supported (note that Serverworks is part
147	  of Broadcom):
148	    Intel PIIX4
149	    Intel 440MX
150	    ATI IXP200
151	    ATI IXP300
152	    ATI IXP400
153	    ATI SB600
154	    ATI SB700/SP5100
155	    ATI SB800
156	    AMD Hudson-2
157	    AMD ML
158	    AMD CZ
159	    Serverworks OSB4
160	    Serverworks CSB5
161	    Serverworks CSB6
162	    Serverworks HT-1000
163	    Serverworks HT-1100
164	    SMSC Victory66
165
166	  Some AMD chipsets contain two PIIX4-compatible SMBus
167	  controllers. This driver will attempt to use both controllers
168	  on the SB700/SP5100, if they have been initialized by the BIOS.
169
170	  This driver can also be built as a module.  If so, the module
171	  will be called i2c-piix4.
172
173config I2C_NFORCE2
174	tristate "Nvidia nForce2, nForce3 and nForce4"
175	depends on PCI
176	help
177	  If you say yes to this option, support will be included for the Nvidia
178	  nForce2, nForce3 and nForce4 families of mainboard I2C interfaces.
179
180	  This driver can also be built as a module.  If so, the module
181	  will be called i2c-nforce2.
182
183config I2C_NFORCE2_S4985
184	tristate "SMBus multiplexing on the Tyan S4985"
185	depends on I2C_NFORCE2 && X86
186	help
187	  Enabling this option will add specific SMBus support for the Tyan
188	  S4985 motherboard.  On this 4-CPU board, the SMBus is multiplexed
189	  over 4 different channels, where the various memory module EEPROMs
190	  live.  Saying yes here will give you access to these in addition
191	  to the trunk.
192
193	  This driver can also be built as a module.  If so, the module
194	  will be called i2c-nforce2-s4985.
195
196config I2C_SIS5595
197	tristate "SiS 5595"
198	depends on PCI
199	help
200	  If you say yes to this option, support will be included for the
201	  SiS5595 SMBus (a subset of I2C) interface.
202
203	  This driver can also be built as a module.  If so, the module
204	  will be called i2c-sis5595.
205
206config I2C_SIS630
207	tristate "SiS 630/730/964"
208	depends on PCI
209	help
210	  If you say yes to this option, support will be included for the
211	  SiS630, SiS730 and SiS964 SMBus (a subset of I2C) interface.
212
213	  This driver can also be built as a module.  If so, the module
214	  will be called i2c-sis630.
215
216config I2C_SIS96X
217	tristate "SiS 96x"
218	depends on PCI
219	help
220	  If you say yes to this option, support will be included for the SiS
221	  96x SMBus (a subset of I2C) interfaces.  Specifically, the following
222	  chipsets are supported:
223	    645/961
224	    645DX/961
225	    645DX/962
226	    648/961
227	    650/961
228	    735
229	    745
230
231	  This driver can also be built as a module.  If so, the module
232	  will be called i2c-sis96x.
233
234config I2C_VIA
235	tristate "VIA VT82C586B"
236	depends on PCI
237	select I2C_ALGOBIT
238	help
239	  If you say yes to this option, support will be included for the VIA
240          82C586B I2C interface
241
242	  This driver can also be built as a module.  If so, the module
243	  will be called i2c-via.
244
245config I2C_VIAPRO
246	tristate "VIA VT82C596/82C686/82xx and CX700/VX8xx/VX900"
247	depends on PCI
248	help
249	  If you say yes to this option, support will be included for the VIA
250	  VT82C596 and later SMBus interface.  Specifically, the following
251	  chipsets are supported:
252	    VT82C596A/B
253	    VT82C686A/B
254	    VT8231
255	    VT8233/A
256	    VT8235
257	    VT8237R/A/S
258	    VT8251
259	    CX700
260	    VX800/VX820
261	    VX855/VX875
262	    VX900
263
264	  This driver can also be built as a module.  If so, the module
265	  will be called i2c-viapro.
266
267if ACPI
268
269comment "ACPI drivers"
270
271config I2C_SCMI
272	tristate "SMBus Control Method Interface"
273	help
274	  This driver supports the SMBus Control Method Interface. It needs the
275	  BIOS to declare ACPI control methods as described in the SMBus Control
276	  Method Interface specification.
277
278	  To compile this driver as a module, choose M here:
279	  the module will be called i2c-scmi.
280
281endif # ACPI
282
283comment "Mac SMBus host controller drivers"
284	depends on PPC_CHRP || PPC_PMAC
285
286config I2C_HYDRA
287	tristate "CHRP Apple Hydra Mac I/O I2C interface"
288	depends on PCI && PPC_CHRP
289	select I2C_ALGOBIT
290	help
291	  This supports the use of the I2C interface in the Apple Hydra Mac
292	  I/O chip on some CHRP machines (e.g. the LongTrail).  Say Y if you
293	  have such a machine.
294
295	  This support is also available as a module.  If so, the module
296	  will be called i2c-hydra.
297
298config I2C_POWERMAC
299	tristate "Powermac I2C interface"
300	depends on PPC_PMAC
301	default y
302	help
303	  This exposes the various PowerMac i2c interfaces to the linux i2c
304	  layer and to userland. It is used by various drivers on the PowerMac
305	  platform, and should generally be enabled.
306
307	  This support is also available as a module.  If so, the module
308	  will be called i2c-powermac.
309
310comment "I2C system bus drivers (mostly embedded / system-on-chip)"
311
312config I2C_AT91
313	tristate "Atmel AT91 I2C Two-Wire interface (TWI)"
314	depends on ARCH_AT91
315	help
316	  This supports the use of the I2C interface on Atmel AT91
317	  processors.
318
319	  A serious problem is that there is no documented way to issue
320	  repeated START conditions for more than two messages, as needed
321	  to support combined I2C messages.  Use the i2c-gpio driver
322	  unless your system can cope with this limitation.
323
324	  Caution! at91rm9200, at91sam9261, at91sam9260, at91sam9263 devices
325	  don't have clock stretching in transmission mode. For that reason,
326	  you can encounter underrun issues causing premature stop sendings if
327	  the latency to fill the transmission register is too long. If you
328	  are facing this situation, use the i2c-gpio driver.
329
330config I2C_AU1550
331	tristate "Au1550/Au1200/Au1300 SMBus interface"
332	depends on MIPS_ALCHEMY
333	help
334	  If you say yes to this option, support will be included for the
335	  Au1550/Au1200/Au1300 SMBus interface.
336
337	  This driver can also be built as a module.  If so, the module
338	  will be called i2c-au1550.
339
340config I2C_BCM2835
341	tristate "Broadcom BCM2835 I2C controller"
342	depends on ARCH_BCM2835
343	help
344	  If you say yes to this option, support will be included for the
345	  BCM2835 I2C controller.
346
347	  If you don't know what to do here, say N.
348
349	  This support is also available as a module.  If so, the module
350	  will be called i2c-bcm2835.
351
352config I2C_BCM_KONA
353	tristate "BCM Kona I2C adapter"
354	depends on ARCH_BCM_MOBILE
355	default y
356	help
357	  If you say yes to this option, support will be included for the
358	  I2C interface on the Broadcom Kona family of processors.
359
360	  If you do not need KONA I2C inteface, say N.
361
362config I2C_BLACKFIN_TWI
363	tristate "Blackfin TWI I2C support"
364	depends on BLACKFIN
365	depends on !BF561 && !BF531 && !BF532 && !BF533
366	help
367	  This is the I2C bus driver for Blackfin on-chip TWI interface.
368
369	  This driver can also be built as a module.  If so, the module
370	  will be called i2c-bfin-twi.
371
372config I2C_BLACKFIN_TWI_CLK_KHZ
373	int "Blackfin TWI I2C clock (kHz)"
374	depends on I2C_BLACKFIN_TWI
375	range 21 400
376	default 50
377	help
378	  The unit of the TWI clock is kHz.
379
380config I2C_CADENCE
381	tristate "Cadence I2C Controller"
382	depends on ARCH_ZYNQ
383	help
384	  Say yes here to select Cadence I2C Host Controller. This controller is
385	  e.g. used by Xilinx Zynq.
386
387config I2C_CBUS_GPIO
388	tristate "CBUS I2C driver"
389	depends on GPIOLIB
390	help
391	  Support for CBUS access using I2C API. Mostly relevant for Nokia
392	  Internet Tablets (770, N800 and N810).
393
394	  This driver can also be built as a module.  If so, the module
395	  will be called i2c-cbus-gpio.
396
397config I2C_CPM
398	tristate "Freescale CPM1 or CPM2 (MPC8xx/826x)"
399	depends on CPM1 || CPM2
400	help
401	  This supports the use of the I2C interface on Freescale
402	  processors with CPM1 or CPM2.
403
404	  This driver can also be built as a module.  If so, the module
405	  will be called i2c-cpm.
406
407config I2C_DAVINCI
408	tristate "DaVinci I2C driver"
409	depends on ARCH_DAVINCI || ARCH_KEYSTONE
410	help
411	  Support for TI DaVinci I2C controller driver.
412
413	  This driver can also be built as a module.  If so, the module
414	  will be called i2c-davinci.
415
416	  Please note that this driver might be needed to bring up other
417	  devices such as DaVinci NIC.
418	  For details please see http://www.ti.com/davinci
419
420config I2C_DESIGNWARE_CORE
421	tristate
422
423config I2C_DESIGNWARE_PLATFORM
424	tristate "Synopsys DesignWare Platform"
425	select I2C_DESIGNWARE_CORE
426	help
427	  If you say yes to this option, support will be included for the
428	  Synopsys DesignWare I2C adapter. Only master mode is supported.
429
430	  This driver can also be built as a module.  If so, the module
431	  will be called i2c-designware-platform.
432
433config I2C_DESIGNWARE_PCI
434	tristate "Synopsys DesignWare PCI"
435	depends on PCI
436	select I2C_DESIGNWARE_CORE
437	help
438	  If you say yes to this option, support will be included for the
439	  Synopsys DesignWare I2C adapter. Only master mode is supported.
440
441	  This driver can also be built as a module.  If so, the module
442	  will be called i2c-designware-pci.
443
444config I2C_EFM32
445	tristate "EFM32 I2C controller"
446	depends on ARCH_EFM32 || COMPILE_TEST
447	help
448	  This driver supports the i2c block found in Energy Micro's EFM32
449	  SoCs.
450
451config I2C_EG20T
452	tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) I2C"
453	depends on PCI && (X86_32 || COMPILE_TEST)
454	help
455	  This driver is for PCH(Platform controller Hub) I2C of EG20T which
456	  is an IOH(Input/Output Hub) for x86 embedded processor.
457	  This driver can access PCH I2C bus device.
458
459	  This driver also can be used for LAPIS Semiconductor IOH(Input/
460	  Output Hub), ML7213, ML7223 and ML7831.
461	  ML7213 IOH is for IVI(In-Vehicle Infotainment) use, ML7223 IOH is
462	  for MP(Media Phone) use and ML7831 IOH is for general purpose use.
463	  ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series.
464	  ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH.
465
466config I2C_EXYNOS5
467	tristate "Exynos5 high-speed I2C driver"
468	depends on ARCH_EXYNOS5 && OF
469	default y
470	help
471	  High-speed I2C controller on Exynos5 based Samsung SoCs.
472
473config I2C_GPIO
474	tristate "GPIO-based bitbanging I2C"
475	depends on GPIOLIB
476	select I2C_ALGOBIT
477	help
478	  This is a very simple bitbanging I2C driver utilizing the
479	  arch-neutral GPIO API to control the SCL and SDA lines.
480
481config I2C_HIGHLANDER
482	tristate "Highlander FPGA SMBus interface"
483	depends on SH_HIGHLANDER
484	help
485	  If you say yes to this option, support will be included for
486	  the SMBus interface located in the FPGA on various Highlander
487	  boards, particularly the R0P7780LC0011RL and R0P7785LC0011RL
488	  FPGAs. This is wholly unrelated to the SoC I2C.
489
490	  This driver can also be built as a module.  If so, the module
491	  will be called i2c-highlander.
492
493config I2C_IBM_IIC
494	tristate "IBM PPC 4xx on-chip I2C interface"
495	depends on 4xx
496	help
497	  Say Y here if you want to use IIC peripheral found on
498	  embedded IBM PPC 4xx based systems.
499
500	  This driver can also be built as a module.  If so, the module
501	  will be called i2c-ibm_iic.
502
503config I2C_IMX
504	tristate "IMX I2C interface"
505	depends on ARCH_MXC
506	help
507	  Say Y here if you want to use the IIC bus controller on
508	  the Freescale i.MX/MXC processors.
509
510	  This driver can also be built as a module.  If so, the module
511	  will be called i2c-imx.
512
513config I2C_IOP3XX
514	tristate "Intel IOPx3xx and IXP4xx on-chip I2C interface"
515	depends on ARCH_IOP32X || ARCH_IOP33X || ARCH_IXP4XX || ARCH_IOP13XX
516	help
517	  Say Y here if you want to use the IIC bus controller on
518	  the Intel IOPx3xx I/O Processors or IXP4xx Network Processors.
519
520	  This driver can also be built as a module.  If so, the module
521	  will be called i2c-iop3xx.
522
523config I2C_KEMPLD
524	tristate "Kontron COM I2C Controller"
525	depends on MFD_KEMPLD
526	help
527	  This enables support for the I2C bus interface on some Kontron ETX
528	  and COMexpress (ETXexpress) modules.
529
530	  This driver can also be built as a module. If so, the module
531	  will be called i2c-kempld.
532
533config I2C_MPC
534	tristate "MPC107/824x/85xx/512x/52xx/83xx/86xx"
535	depends on PPC
536	help
537	  If you say yes to this option, support will be included for the
538	  built-in I2C interface on the MPC107, Tsi107, MPC512x, MPC52xx,
539	  MPC8240, MPC8245, MPC83xx, MPC85xx and MPC8641 family processors.
540
541	  This driver can also be built as a module.  If so, the module
542	  will be called i2c-mpc.
543
544config I2C_MV64XXX
545	tristate "Marvell mv64xxx I2C Controller"
546	depends on MV64X60 || PLAT_ORION || ARCH_SUNXI
547	help
548	  If you say yes to this option, support will be included for the
549	  built-in I2C interface on the Marvell 64xxx line of host bridges.
550	  This driver is also used for Allwinner SoCs I2C controllers.
551
552	  This driver can also be built as a module.  If so, the module
553	  will be called i2c-mv64xxx.
554
555config I2C_MXS
556	tristate "Freescale i.MX28 I2C interface"
557	depends on SOC_IMX28
558	select STMP_DEVICE
559	help
560	  Say Y here if you want to use the I2C bus controller on
561	  the Freescale i.MX28 processors.
562
563	  This driver can also be built as a module.  If so, the module
564	  will be called i2c-mxs.
565
566config I2C_NOMADIK
567	tristate "ST-Ericsson Nomadik/Ux500 I2C Controller"
568	depends on ARM_AMBA
569	help
570	  If you say yes to this option, support will be included for the
571	  I2C interface from ST-Ericsson's Nomadik and Ux500 architectures,
572	  as well as the STA2X11 PCIe I/O HUB.
573
574config I2C_OCORES
575	tristate "OpenCores I2C Controller"
576	help
577	  If you say yes to this option, support will be included for the
578	  OpenCores I2C controller. For details see
579	  http://www.opencores.org/projects.cgi/web/i2c/overview
580
581	  This driver can also be built as a module.  If so, the module
582	  will be called i2c-ocores.
583
584config I2C_OMAP
585	tristate "OMAP I2C adapter"
586	depends on ARCH_OMAP
587	default y if MACH_OMAP_H3 || MACH_OMAP_OSK
588	help
589	  If you say yes to this option, support will be included for the
590	  I2C interface on the Texas Instruments OMAP1/2 family of processors.
591	  Like OMAP1510/1610/1710/5912 and OMAP242x.
592	  For details see http://www.ti.com/omap.
593
594config I2C_PASEMI
595	tristate "PA Semi SMBus interface"
596	depends on PPC_PASEMI && PCI
597	help
598	  Supports the PA Semi PWRficient on-chip SMBus interfaces.
599
600config I2C_PCA_PLATFORM
601	tristate "PCA9564/PCA9665 as platform device"
602	select I2C_ALGOPCA
603	default n
604	help
605	  This driver supports a memory mapped Philips PCA9564/PCA9665
606	  parallel bus to I2C bus controller.
607
608	  This driver can also be built as a module.  If so, the module
609	  will be called i2c-pca-platform.
610
611config I2C_PMCMSP
612	tristate "PMC MSP I2C TWI Controller"
613	depends on PMC_MSP
614	help
615	  This driver supports the PMC TWI controller on MSP devices.
616
617	  This driver can also be built as module. If so, the module
618	  will be called i2c-pmcmsp.
619
620config I2C_PNX
621	tristate "I2C bus support for Philips PNX and NXP LPC targets"
622	depends on ARCH_LPC32XX
623	help
624	  This driver supports the Philips IP3204 I2C IP block master and/or
625	  slave controller
626
627	  This driver can also be built as a module.  If so, the module
628	  will be called i2c-pnx.
629
630config I2C_PUV3
631	tristate "PKUnity v3 I2C bus support"
632	depends on UNICORE32 && ARCH_PUV3
633	select I2C_ALGOBIT
634	help
635	  This driver supports the I2C IP inside the PKUnity-v3 SoC.
636	  This I2C bus controller is under AMBA/AXI bus.
637
638	  This driver can also be built as a module.  If so, the module
639	  will be called i2c-puv3.
640
641config I2C_PXA
642	tristate "Intel PXA2XX I2C adapter"
643	depends on ARCH_PXA || ARCH_MMP || (X86_32 && PCI && OF)
644	help
645	  If you have devices in the PXA I2C bus, say yes to this option.
646	  This driver can also be built as a module.  If so, the module
647	  will be called i2c-pxa.
648
649config I2C_PXA_PCI
650	def_bool I2C_PXA && X86_32 && PCI && OF
651
652config I2C_PXA_SLAVE
653	bool "Intel PXA2XX I2C Slave comms support"
654	depends on I2C_PXA && !X86_32
655	help
656	  Support I2C slave mode communications on the PXA I2C bus.  This
657	  is necessary for systems where the PXA may be a target on the
658	  I2C bus.
659
660config I2C_QUP
661	tristate "Qualcomm QUP based I2C controller"
662	depends on ARCH_QCOM
663	help
664	  If you say yes to this option, support will be included for the
665	  built-in I2C interface on the Qualcomm SoCs.
666
667	  This driver can also be built as a module.  If so, the module
668	  will be called i2c-qup.
669
670config I2C_RIIC
671	tristate "Renesas RIIC adapter"
672	depends on ARCH_SHMOBILE || COMPILE_TEST
673	help
674	  If you say yes to this option, support will be included for the
675	  Renesas RIIC I2C interface.
676
677	  This driver can also be built as a module.  If so, the module
678	  will be called i2c-riic.
679
680config I2C_RK3X
681	tristate "Rockchip RK3xxx I2C adapter"
682	depends on OF
683	help
684	  Say Y here to include support for the I2C adapter in Rockchip RK3xxx
685	  SoCs.
686
687	  This driver can also be built as a module. If so, the module will
688	  be called i2c-rk3x.
689
690config HAVE_S3C2410_I2C
691	bool
692	help
693	  This will include I2C support for Samsung SoCs. If you want to
694	  include I2C support for any machine, kindly select this in the
695	  respective Kconfig file.
696
697config I2C_S3C2410
698	tristate "S3C2410 I2C Driver"
699	depends on HAVE_S3C2410_I2C
700	help
701	  Say Y here to include support for I2C controller in the
702	  Samsung SoCs.
703
704config I2C_SH7760
705	tristate "Renesas SH7760 I2C Controller"
706	depends on CPU_SUBTYPE_SH7760
707	help
708	  This driver supports the 2 I2C interfaces on the Renesas SH7760.
709
710	  This driver can also be built as a module.  If so, the module
711	  will be called i2c-sh7760.
712
713config I2C_SH_MOBILE
714	tristate "SuperH Mobile I2C Controller"
715	depends on SUPERH || ARCH_SHMOBILE || COMPILE_TEST
716	help
717	  If you say yes to this option, support will be included for the
718	  built-in I2C interface on the Renesas SH-Mobile processor.
719
720	  This driver can also be built as a module.  If so, the module
721	  will be called i2c-sh_mobile.
722
723config I2C_SIMTEC
724	tristate "Simtec Generic I2C interface"
725	select I2C_ALGOBIT
726	help
727	  If you say yes to this option, support will be included for
728	  the Simtec Generic I2C interface. This driver is for the
729	  simple I2C bus used on newer Simtec products for general
730	  I2C, such as DDC on the Simtec BBD2016A.
731
732	  This driver can also be built as a module. If so, the module
733	  will be called i2c-simtec.
734
735config I2C_SIRF
736	tristate "CSR SiRFprimaII I2C interface"
737	depends on ARCH_SIRF
738	help
739	  If you say yes to this option, support will be included for the
740	  CSR SiRFprimaII I2C interface.
741
742	  This driver can also be built as a module.  If so, the module
743	  will be called i2c-sirf.
744
745config I2C_ST
746	tristate "STMicroelectronics SSC I2C support"
747	depends on ARCH_STI
748	help
749	  Enable this option to add support for STMicroelectronics SoCs
750	  hardware SSC (Synchronous Serial Controller) as an I2C controller.
751
752	  This driver can also be built as module. If so, the module
753	  will be called i2c-st.
754
755config I2C_STU300
756	tristate "ST Microelectronics DDC I2C interface"
757	depends on MACH_U300
758	default y if MACH_U300
759	help
760	  If you say yes to this option, support will be included for the
761	  I2C interface from ST Microelectronics simply called "DDC I2C"
762	  supporting both I2C and DDC, used in e.g. the U300 series
763	  mobile platforms.
764
765	  This driver can also be built as a module. If so, the module
766	  will be called i2c-stu300.
767
768config I2C_SUN6I_P2WI
769	tristate "Allwinner sun6i internal P2WI controller"
770	depends on RESET_CONTROLLER
771	depends on MACH_SUN6I || COMPILE_TEST
772	help
773	  If you say yes to this option, support will be included for the
774	  P2WI (Push/Pull 2 Wire Interface) controller embedded in some sunxi
775	  SOCs.
776	  The P2WI looks like an SMBus controller (which supports only byte
777	  accesses), except that it only supports one slave device.
778	  This interface is used to connect to specific PMIC devices (like the
779	  AXP221).
780
781config I2C_TEGRA
782	tristate "NVIDIA Tegra internal I2C controller"
783	depends on ARCH_TEGRA
784	help
785	  If you say yes to this option, support will be included for the
786	  I2C controller embedded in NVIDIA Tegra SOCs
787
788config I2C_VERSATILE
789	tristate "ARM Versatile/Realview I2C bus support"
790	depends on ARCH_VERSATILE || ARCH_REALVIEW || ARCH_VEXPRESS
791	select I2C_ALGOBIT
792	help
793	  Say yes if you want to support the I2C serial bus on ARMs Versatile
794	  range of platforms.
795
796	  This driver can also be built as a module.  If so, the module
797	  will be called i2c-versatile.
798
799config I2C_WMT
800	tristate "Wondermedia WM8xxx SoC I2C bus support"
801	depends on ARCH_VT8500
802	help
803	  Say yes if you want to support the I2C bus on Wondermedia 8xxx-series
804	  SoCs.
805
806	  This driver can also be built as a module. If so, the module will be
807	  called i2c-wmt.
808
809config I2C_OCTEON
810	tristate "Cavium OCTEON I2C bus support"
811	depends on CAVIUM_OCTEON_SOC
812	help
813	  Say yes if you want to support the I2C serial bus on Cavium
814	  OCTEON SOC.
815
816	  This driver can also be built as a module.  If so, the module
817	  will be called i2c-octeon.
818
819config I2C_XILINX
820	tristate "Xilinx I2C Controller"
821	depends on HAS_IOMEM
822	help
823	  If you say yes to this option, support will be included for the
824	  Xilinx I2C controller.
825
826	  This driver can also be built as a module.  If so, the module
827	  will be called xilinx_i2c.
828
829config I2C_XLR
830	tristate "XLR I2C support"
831	depends on CPU_XLR
832	help
833	  This driver enables support for the on-chip I2C interface of
834	  the Netlogic XLR/XLS MIPS processors.
835
836	  This driver can also be built as a module.  If so, the module
837	  will be called i2c-xlr.
838
839config I2C_RCAR
840	tristate "Renesas R-Car I2C Controller"
841	depends on ARCH_SHMOBILE || COMPILE_TEST
842	help
843	  If you say yes to this option, support will be included for the
844	  R-Car I2C controller.
845
846	  This driver can also be built as a module.  If so, the module
847	  will be called i2c-rcar.
848
849comment "External I2C/SMBus adapter drivers"
850
851config I2C_DIOLAN_U2C
852	tristate "Diolan U2C-12 USB adapter"
853	depends on USB
854	help
855	  If you say yes to this option, support will be included for Diolan
856	  U2C-12, a USB to I2C interface.
857
858	  This driver can also be built as a module.  If so, the module
859	  will be called i2c-diolan-u2c.
860
861config I2C_PARPORT
862	tristate "Parallel port adapter"
863	depends on PARPORT
864	select I2C_ALGOBIT
865	select I2C_SMBUS
866	help
867	  This supports parallel port I2C adapters such as the ones made by
868	  Philips or Velleman, Analog Devices evaluation boards, and more.
869	  Basically any adapter using the parallel port as an I2C bus with
870	  no extra chipset is supported by this driver, or could be.
871
872	  This driver is a replacement for (and was inspired by) an older
873	  driver named i2c-philips-par.  The new driver supports more devices,
874	  and makes it easier to add support for new devices.
875
876	  An adapter type parameter is now mandatory.  Please read the file
877	  Documentation/i2c/busses/i2c-parport for details.
878
879	  Another driver exists, named i2c-parport-light, which doesn't depend
880	  on the parport driver.  This is meant for embedded systems. Don't say
881	  Y here if you intend to say Y or M there.
882
883	  This support is also available as a module.  If so, the module
884	  will be called i2c-parport.
885
886config I2C_PARPORT_LIGHT
887	tristate "Parallel port adapter (light)"
888	select I2C_ALGOBIT
889	select I2C_SMBUS
890	help
891	  This supports parallel port I2C adapters such as the ones made by
892	  Philips or Velleman, Analog Devices evaluation boards, and more.
893	  Basically any adapter using the parallel port as an I2C bus with
894	  no extra chipset is supported by this driver, or could be.
895
896	  This driver is a light version of i2c-parport.  It doesn't depend
897	  on the parport driver, and uses direct I/O access instead.  This
898	  might be preferred on embedded systems where wasting memory for
899	  the clean but heavy parport handling is not an option.  The
900	  drawback is a reduced portability and the impossibility to
901	  daisy-chain other parallel port devices.
902
903	  Don't say Y here if you said Y or M to i2c-parport.  Saying M to
904	  both is possible but both modules should not be loaded at the same
905	  time.
906
907	  This support is also available as a module.  If so, the module
908	  will be called i2c-parport-light.
909
910config I2C_ROBOTFUZZ_OSIF
911	tristate "RobotFuzz Open Source InterFace USB adapter"
912	depends on USB
913	help
914	  If you say yes to this option, support will be included for the
915	  RobotFuzz Open Source InterFace USB to I2C interface.
916
917	  This driver can also be built as a module.  If so, the module
918	  will be called i2c-osif.
919
920config I2C_TAOS_EVM
921	tristate "TAOS evaluation module"
922	depends on TTY
923	select SERIO
924	select SERIO_SERPORT
925	default n
926	help
927	  This supports TAOS evaluation modules on serial port. In order to
928	  use this driver, you will need the inputattach tool, which is part
929	  of the input-utils package.
930
931	  If unsure, say N.
932
933	  This support is also available as a module.  If so, the module
934	  will be called i2c-taos-evm.
935
936config I2C_TINY_USB
937	tristate "Tiny-USB adapter"
938	depends on USB
939	help
940	  If you say yes to this option, support will be included for the
941	  i2c-tiny-usb, a simple do-it-yourself USB to I2C interface. See
942	  http://www.harbaum.org/till/i2c_tiny_usb for hardware details.
943
944	  This driver can also be built as a module.  If so, the module
945	  will be called i2c-tiny-usb.
946
947config I2C_VIPERBOARD
948	tristate "Viperboard I2C master support"
949	depends on MFD_VIPERBOARD && USB
950	help
951	  Say yes here to access the I2C part of the Nano River
952	  Technologies Viperboard as I2C master.
953          See viperboard API specification and Nano
954          River Tech's viperboard.h for detailed meaning
955          of the module parameters.
956
957comment "Other I2C/SMBus bus drivers"
958
959config I2C_ACORN
960	tristate "Acorn IOC/IOMD I2C bus support"
961	depends on ARCH_ACORN
962	default y
963	select I2C_ALGOBIT
964	help
965	  Say yes if you want to support the I2C bus on Acorn platforms.
966
967	  If you don't know, say Y.
968
969config I2C_ELEKTOR
970	tristate "Elektor ISA card"
971	depends on ISA && HAS_IOPORT_MAP && BROKEN_ON_SMP
972	select I2C_ALGOPCF
973	help
974	  This supports the PCF8584 ISA bus I2C adapter.  Say Y if you own
975	  such an adapter.
976
977	  This support is also available as a module.  If so, the module
978	  will be called i2c-elektor.
979
980config I2C_PCA_ISA
981	tristate "PCA9564/PCA9665 on an ISA bus"
982	depends on ISA
983	select I2C_ALGOPCA
984	default n
985	help
986	  This driver supports ISA boards using the Philips PCA9564/PCA9665
987	  parallel bus to I2C bus controller.
988
989	  This driver can also be built as a module.  If so, the module
990	  will be called i2c-pca-isa.
991
992	  This device is almost undetectable and using this driver on a
993	  system which doesn't have this device will result in long
994	  delays when I2C/SMBus chip drivers are loaded (e.g. at boot
995	  time).  If unsure, say N.
996
997config I2C_SIBYTE
998	tristate "SiByte SMBus interface"
999	depends on SIBYTE_SB1xxx_SOC
1000	help
1001	  Supports the SiByte SOC on-chip I2C interfaces (2 channels).
1002
1003config I2C_CROS_EC_TUNNEL
1004	tristate "ChromeOS EC tunnel I2C bus"
1005	depends on MFD_CROS_EC
1006	help
1007	  If you say yes here you get an I2C bus that will tunnel i2c commands
1008	  through to the other side of the ChromeOS EC to the i2c bus
1009	  connected there. This will work whatever the interface used to
1010	  talk to the EC (SPI, I2C or LPC).
1011
1012config SCx200_ACB
1013	tristate "Geode ACCESS.bus support"
1014	depends on X86_32 && PCI
1015	help
1016	  Enable the use of the ACCESS.bus controllers on the Geode SCx200 and
1017	  SC1100 processors and the CS5535 and CS5536 Geode companion devices.
1018
1019	  If you don't know what to do here, say N.
1020
1021	  This support is also available as a module.  If so, the module
1022	  will be called scx200_acb.
1023
1024endmenu
1025