xref: /linux/drivers/i2c/busses/Kconfig (revision b9ccfda293ee6fca9a89a1584f0900e0627b975e)
1#
2# Sensor device configuration
3#
4
5menu "I2C Hardware Bus support"
6
7comment "PC SMBus host controller drivers"
8	depends on PCI
9
10config I2C_ALI1535
11	tristate "ALI 1535"
12	depends on PCI
13	help
14	  If you say yes to this option, support will be included for the SMB
15	  Host controller on Acer Labs Inc. (ALI) M1535 South Bridges.  The SMB
16	  controller is part of the 7101 device, which is an ACPI-compliant
17	  Power Management Unit (PMU).
18
19	  This driver can also be built as a module.  If so, the module
20	  will be called i2c-ali1535.
21
22config I2C_ALI1563
23	tristate "ALI 1563"
24	depends on PCI && EXPERIMENTAL
25	help
26	  If you say yes to this option, support will be included for the SMB
27	  Host controller on Acer Labs Inc. (ALI) M1563 South Bridges.  The SMB
28	  controller is part of the 7101 device, which is an ACPI-compliant
29	  Power Management Unit (PMU).
30
31	  This driver can also be built as a module.  If so, the module
32	  will be called i2c-ali1563.
33
34config I2C_ALI15X3
35	tristate "ALI 15x3"
36	depends on PCI
37	help
38	  If you say yes to this option, support will be included for the
39	  Acer Labs Inc. (ALI) M1514 and M1543 motherboard I2C interfaces.
40
41	  This driver can also be built as a module.  If so, the module
42	  will be called i2c-ali15x3.
43
44config I2C_AMD756
45	tristate "AMD 756/766/768/8111 and nVidia nForce"
46	depends on PCI
47	help
48	  If you say yes to this option, support will be included for the AMD
49	  756/766/768 mainboard I2C interfaces.  The driver also includes
50	  support for the first (SMBus 1.0) I2C interface of the AMD 8111 and
51	  the nVidia nForce I2C interface.
52
53	  This driver can also be built as a module.  If so, the module
54	  will be called i2c-amd756.
55
56config I2C_AMD756_S4882
57	tristate "SMBus multiplexing on the Tyan S4882"
58	depends on I2C_AMD756 && X86 && EXPERIMENTAL
59	help
60	  Enabling this option will add specific SMBus support for the Tyan
61	  S4882 motherboard.  On this 4-CPU board, the SMBus is multiplexed
62	  over 8 different channels, where the various memory module EEPROMs
63	  and temperature sensors live.  Saying yes here will give you access
64	  to these in addition to the trunk.
65
66	  This driver can also be built as a module.  If so, the module
67	  will be called i2c-amd756-s4882.
68
69config I2C_AMD8111
70	tristate "AMD 8111"
71	depends on PCI
72	help
73	  If you say yes to this option, support will be included for the
74	  second (SMBus 2.0) AMD 8111 mainboard I2C interface.
75
76	  This driver can also be built as a module.  If so, the module
77	  will be called i2c-amd8111.
78
79config I2C_I801
80	tristate "Intel 82801 (ICH/PCH)"
81	depends on PCI
82	select CHECK_SIGNATURE if X86 && DMI
83	help
84	  If you say yes to this option, support will be included for the Intel
85	  801 family of mainboard I2C interfaces.  Specifically, the following
86	  versions of the chipset are supported:
87	    82801AA
88	    82801AB
89	    82801BA
90	    82801CA/CAM
91	    82801DB
92	    82801EB/ER (ICH5/ICH5R)
93	    6300ESB
94	    ICH6
95	    ICH7
96	    ESB2
97	    ICH8
98	    ICH9
99	    EP80579 (Tolapai)
100	    ICH10
101	    5/3400 Series (PCH)
102	    6 Series (PCH)
103	    Patsburg (PCH)
104	    DH89xxCC (PCH)
105	    Panther Point (PCH)
106	    Lynx Point (PCH)
107
108	  This driver can also be built as a module.  If so, the module
109	  will be called i2c-i801.
110
111config I2C_ISCH
112	tristate "Intel SCH SMBus 1.0"
113	depends on PCI
114	select LPC_SCH
115	help
116	  Say Y here if you want to use SMBus controller on the Intel SCH
117	  based systems.
118
119	  This driver can also be built as a module. If so, the module
120	  will be called i2c-isch.
121
122config I2C_PIIX4
123	tristate "Intel PIIX4 and compatible (ATI/AMD/Serverworks/Broadcom/SMSC)"
124	depends on PCI
125	help
126	  If you say yes to this option, support will be included for the Intel
127	  PIIX4 family of mainboard I2C interfaces.  Specifically, the following
128	  versions of the chipset are supported (note that Serverworks is part
129	  of Broadcom):
130	    Intel PIIX4
131	    Intel 440MX
132	    ATI IXP200
133	    ATI IXP300
134	    ATI IXP400
135	    ATI SB600
136	    ATI SB700/SP5100
137	    ATI SB800
138	    AMD Hudson-2
139	    Serverworks OSB4
140	    Serverworks CSB5
141	    Serverworks CSB6
142	    Serverworks HT-1000
143	    Serverworks HT-1100
144	    SMSC Victory66
145
146	  Some AMD chipsets contain two PIIX4-compatible SMBus
147	  controllers. This driver will attempt to use both controllers
148	  on the SB700/SP5100, if they have been initialized by the BIOS.
149
150	  This driver can also be built as a module.  If so, the module
151	  will be called i2c-piix4.
152
153config I2C_NFORCE2
154	tristate "Nvidia nForce2, nForce3 and nForce4"
155	depends on PCI
156	help
157	  If you say yes to this option, support will be included for the Nvidia
158	  nForce2, nForce3 and nForce4 families of mainboard I2C interfaces.
159
160	  This driver can also be built as a module.  If so, the module
161	  will be called i2c-nforce2.
162
163config I2C_NFORCE2_S4985
164	tristate "SMBus multiplexing on the Tyan S4985"
165	depends on I2C_NFORCE2 && X86 && EXPERIMENTAL
166	help
167	  Enabling this option will add specific SMBus support for the Tyan
168	  S4985 motherboard.  On this 4-CPU board, the SMBus is multiplexed
169	  over 4 different channels, where the various memory module EEPROMs
170	  live.  Saying yes here will give you access to these in addition
171	  to the trunk.
172
173	  This driver can also be built as a module.  If so, the module
174	  will be called i2c-nforce2-s4985.
175
176config I2C_SIS5595
177	tristate "SiS 5595"
178	depends on PCI
179	help
180	  If you say yes to this option, support will be included for the
181	  SiS5595 SMBus (a subset of I2C) interface.
182
183	  This driver can also be built as a module.  If so, the module
184	  will be called i2c-sis5595.
185
186config I2C_SIS630
187	tristate "SiS 630/730"
188	depends on PCI
189	help
190	  If you say yes to this option, support will be included for the
191	  SiS630 and SiS730 SMBus (a subset of I2C) interface.
192
193	  This driver can also be built as a module.  If so, the module
194	  will be called i2c-sis630.
195
196config I2C_SIS96X
197	tristate "SiS 96x"
198	depends on PCI
199	help
200	  If you say yes to this option, support will be included for the SiS
201	  96x SMBus (a subset of I2C) interfaces.  Specifically, the following
202	  chipsets are supported:
203	    645/961
204	    645DX/961
205	    645DX/962
206	    648/961
207	    650/961
208	    735
209	    745
210
211	  This driver can also be built as a module.  If so, the module
212	  will be called i2c-sis96x.
213
214config I2C_VIA
215	tristate "VIA VT82C586B"
216	depends on PCI && EXPERIMENTAL
217	select I2C_ALGOBIT
218	help
219	  If you say yes to this option, support will be included for the VIA
220          82C586B I2C interface
221
222	  This driver can also be built as a module.  If so, the module
223	  will be called i2c-via.
224
225config I2C_VIAPRO
226	tristate "VIA VT82C596/82C686/82xx and CX700/VX8xx"
227	depends on PCI
228	help
229	  If you say yes to this option, support will be included for the VIA
230	  VT82C596 and later SMBus interface.  Specifically, the following
231	  chipsets are supported:
232	    VT82C596A/B
233	    VT82C686A/B
234	    VT8231
235	    VT8233/A
236	    VT8235
237	    VT8237R/A/S
238	    VT8251
239	    CX700
240	    VX800/VX820
241	    VX855/VX875
242
243	  This driver can also be built as a module.  If so, the module
244	  will be called i2c-viapro.
245
246if ACPI
247
248comment "ACPI drivers"
249
250config I2C_SCMI
251	tristate "SMBus Control Method Interface"
252	help
253	  This driver supports the SMBus Control Method Interface. It needs the
254	  BIOS to declare ACPI control methods as described in the SMBus Control
255	  Method Interface specification.
256
257	  To compile this driver as a module, choose M here:
258	  the module will be called i2c-scmi.
259
260endif # ACPI
261
262comment "Mac SMBus host controller drivers"
263	depends on PPC_CHRP || PPC_PMAC
264
265config I2C_HYDRA
266	tristate "CHRP Apple Hydra Mac I/O I2C interface"
267	depends on PCI && PPC_CHRP && EXPERIMENTAL
268	select I2C_ALGOBIT
269	help
270	  This supports the use of the I2C interface in the Apple Hydra Mac
271	  I/O chip on some CHRP machines (e.g. the LongTrail).  Say Y if you
272	  have such a machine.
273
274	  This support is also available as a module.  If so, the module
275	  will be called i2c-hydra.
276
277config I2C_POWERMAC
278	tristate "Powermac I2C interface"
279	depends on PPC_PMAC
280	default y
281	help
282	  This exposes the various PowerMac i2c interfaces to the linux i2c
283	  layer and to userland. It is used by various drivers on the PowerMac
284	  platform, and should generally be enabled.
285
286	  This support is also available as a module.  If so, the module
287	  will be called i2c-powermac.
288
289comment "I2C system bus drivers (mostly embedded / system-on-chip)"
290
291config I2C_AT91
292	tristate "Atmel AT91 I2C Two-Wire interface (TWI)"
293	depends on ARCH_AT91 && EXPERIMENTAL && BROKEN
294	help
295	  This supports the use of the I2C interface on Atmel AT91
296	  processors.
297
298	  This driver is BROKEN because the controller which it uses
299	  will easily trigger RX overrun and TX underrun errors.  Using
300	  low I2C clock rates may partially work around those issues
301	  on some systems.  Another serious problem is that there is no
302	  documented way to issue repeated START conditions, as needed
303	  to support combined I2C messages.  Use the i2c-gpio driver
304	  unless your system can cope with those limitations.
305
306config I2C_AU1550
307	tristate "Au1550/Au1200/Au1300 SMBus interface"
308	depends on MIPS_ALCHEMY
309	help
310	  If you say yes to this option, support will be included for the
311	  Au1550/Au1200/Au1300 SMBus interface.
312
313	  This driver can also be built as a module.  If so, the module
314	  will be called i2c-au1550.
315
316config I2C_BLACKFIN_TWI
317	tristate "Blackfin TWI I2C support"
318	depends on BLACKFIN
319	depends on !BF561 && !BF531 && !BF532 && !BF533
320	help
321	  This is the I2C bus driver for Blackfin on-chip TWI interface.
322
323	  This driver can also be built as a module.  If so, the module
324	  will be called i2c-bfin-twi.
325
326config I2C_BLACKFIN_TWI_CLK_KHZ
327	int "Blackfin TWI I2C clock (kHz)"
328	depends on I2C_BLACKFIN_TWI
329	range 21 400
330	default 50
331	help
332	  The unit of the TWI clock is kHz.
333
334config I2C_CPM
335	tristate "Freescale CPM1 or CPM2 (MPC8xx/826x)"
336	depends on (CPM1 || CPM2) && OF_I2C
337	help
338	  This supports the use of the I2C interface on Freescale
339	  processors with CPM1 or CPM2.
340
341	  This driver can also be built as a module.  If so, the module
342	  will be called i2c-cpm.
343
344config I2C_DAVINCI
345	tristate "DaVinci I2C driver"
346	depends on ARCH_DAVINCI
347	help
348	  Support for TI DaVinci I2C controller driver.
349
350	  This driver can also be built as a module.  If so, the module
351	  will be called i2c-davinci.
352
353	  Please note that this driver might be needed to bring up other
354	  devices such as DaVinci NIC.
355	  For details please see http://www.ti.com/davinci
356
357config I2C_DESIGNWARE_PLATFORM
358	tristate "Synopsys DesignWare Platform"
359	depends on HAVE_CLK
360	help
361	  If you say yes to this option, support will be included for the
362	  Synopsys DesignWare I2C adapter. Only master mode is supported.
363
364	  This driver can also be built as a module.  If so, the module
365	  will be called i2c-designware-platform.
366
367config I2C_DESIGNWARE_PCI
368	tristate "Synopsys DesignWare PCI"
369	depends on PCI
370	help
371	  If you say yes to this option, support will be included for the
372	  Synopsys DesignWare I2C adapter. Only master mode is supported.
373
374	  This driver can also be built as a module.  If so, the module
375	  will be called i2c-designware-pci.
376
377config I2C_EG20T
378	tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) I2C"
379	depends on PCI
380	help
381	  This driver is for PCH(Platform controller Hub) I2C of EG20T which
382	  is an IOH(Input/Output Hub) for x86 embedded processor.
383	  This driver can access PCH I2C bus device.
384
385	  This driver also can be used for LAPIS Semiconductor IOH(Input/
386	  Output Hub), ML7213, ML7223 and ML7831.
387	  ML7213 IOH is for IVI(In-Vehicle Infotainment) use, ML7223 IOH is
388	  for MP(Media Phone) use and ML7831 IOH is for general purpose use.
389	  ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series.
390	  ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH.
391
392config I2C_GPIO
393	tristate "GPIO-based bitbanging I2C"
394	depends on GENERIC_GPIO
395	select I2C_ALGOBIT
396	help
397	  This is a very simple bitbanging I2C driver utilizing the
398	  arch-neutral GPIO API to control the SCL and SDA lines.
399
400config I2C_HIGHLANDER
401	tristate "Highlander FPGA SMBus interface"
402	depends on SH_HIGHLANDER
403	help
404	  If you say yes to this option, support will be included for
405	  the SMBus interface located in the FPGA on various Highlander
406	  boards, particularly the R0P7780LC0011RL and R0P7785LC0011RL
407	  FPGAs. This is wholly unrelated to the SoC I2C.
408
409	  This driver can also be built as a module.  If so, the module
410	  will be called i2c-highlander.
411
412config I2C_IBM_IIC
413	tristate "IBM PPC 4xx on-chip I2C interface"
414	depends on 4xx
415	help
416	  Say Y here if you want to use IIC peripheral found on
417	  embedded IBM PPC 4xx based systems.
418
419	  This driver can also be built as a module.  If so, the module
420	  will be called i2c-ibm_iic.
421
422config I2C_IMX
423	tristate "IMX I2C interface"
424	depends on ARCH_MXC
425	help
426	  Say Y here if you want to use the IIC bus controller on
427	  the Freescale i.MX/MXC processors.
428
429	  This driver can also be built as a module.  If so, the module
430	  will be called i2c-imx.
431
432config I2C_INTEL_MID
433	tristate "Intel Moorestown/Medfield Platform I2C controller"
434	depends on PCI
435	help
436	  Say Y here if you have an Intel Moorestown/Medfield platform I2C
437	  controller.
438
439	  This support is also available as a module. If so, the module
440	  will be called i2c-intel-mid.
441
442config I2C_IOP3XX
443	tristate "Intel IOPx3xx and IXP4xx on-chip I2C interface"
444	depends on ARCH_IOP32X || ARCH_IOP33X || ARCH_IXP4XX || ARCH_IOP13XX
445	help
446	  Say Y here if you want to use the IIC bus controller on
447	  the Intel IOPx3xx I/O Processors or IXP4xx Network Processors.
448
449	  This driver can also be built as a module.  If so, the module
450	  will be called i2c-iop3xx.
451
452config I2C_MPC
453	tristate "MPC107/824x/85xx/512x/52xx/83xx/86xx"
454	depends on PPC
455	help
456	  If you say yes to this option, support will be included for the
457	  built-in I2C interface on the MPC107, Tsi107, MPC512x, MPC52xx,
458	  MPC8240, MPC8245, MPC83xx, MPC85xx and MPC8641 family processors.
459
460	  This driver can also be built as a module.  If so, the module
461	  will be called i2c-mpc.
462
463config I2C_MV64XXX
464	tristate "Marvell mv64xxx I2C Controller"
465	depends on (MV64X60 || PLAT_ORION) && EXPERIMENTAL
466	help
467	  If you say yes to this option, support will be included for the
468	  built-in I2C interface on the Marvell 64xxx line of host bridges.
469
470	  This driver can also be built as a module.  If so, the module
471	  will be called i2c-mv64xxx.
472
473config I2C_MXS
474	tristate "Freescale i.MX28 I2C interface"
475	depends on SOC_IMX28
476	select STMP_DEVICE
477	help
478	  Say Y here if you want to use the I2C bus controller on
479	  the Freescale i.MX28 processors.
480
481	  This driver can also be built as a module.  If so, the module
482	  will be called i2c-mxs.
483
484config I2C_NOMADIK
485	tristate "ST-Ericsson Nomadik/Ux500 I2C Controller"
486	depends on PLAT_NOMADIK
487	help
488	  If you say yes to this option, support will be included for the
489	  I2C interface from ST-Ericsson's Nomadik and Ux500 architectures.
490
491config I2C_NUC900
492	tristate "NUC900 I2C Driver"
493	depends on ARCH_W90X900
494	help
495	  Say Y here to include support for I2C controller in the
496	  Winbond/Nuvoton NUC900 based System-on-Chip devices.
497
498config I2C_OCORES
499	tristate "OpenCores I2C Controller"
500	depends on EXPERIMENTAL
501	help
502	  If you say yes to this option, support will be included for the
503	  OpenCores I2C controller. For details see
504	  http://www.opencores.org/projects.cgi/web/i2c/overview
505
506	  This driver can also be built as a module.  If so, the module
507	  will be called i2c-ocores.
508
509config I2C_OMAP
510	tristate "OMAP I2C adapter"
511	depends on ARCH_OMAP
512	default y if MACH_OMAP_H3 || MACH_OMAP_OSK
513	help
514	  If you say yes to this option, support will be included for the
515	  I2C interface on the Texas Instruments OMAP1/2 family of processors.
516	  Like OMAP1510/1610/1710/5912 and OMAP242x.
517	  For details see http://www.ti.com/omap.
518
519config I2C_PASEMI
520	tristate "PA Semi SMBus interface"
521	depends on PPC_PASEMI && PCI
522	help
523	  Supports the PA Semi PWRficient on-chip SMBus interfaces.
524
525config I2C_PCA_PLATFORM
526	tristate "PCA9564/PCA9665 as platform device"
527	select I2C_ALGOPCA
528	default n
529	help
530	  This driver supports a memory mapped Philips PCA9564/PCA9665
531	  parallel bus to I2C bus controller.
532
533	  This driver can also be built as a module.  If so, the module
534	  will be called i2c-pca-platform.
535
536config I2C_PMCMSP
537	tristate "PMC MSP I2C TWI Controller"
538	depends on PMC_MSP
539	help
540	  This driver supports the PMC TWI controller on MSP devices.
541
542	  This driver can also be built as module. If so, the module
543	  will be called i2c-pmcmsp.
544
545config I2C_PNX
546	tristate "I2C bus support for Philips PNX and NXP LPC targets"
547	depends on ARCH_PNX4008 || ARCH_LPC32XX
548	help
549	  This driver supports the Philips IP3204 I2C IP block master and/or
550	  slave controller
551
552	  This driver can also be built as a module.  If so, the module
553	  will be called i2c-pnx.
554
555config I2C_PUV3
556	tristate "PKUnity v3 I2C bus support"
557	depends on UNICORE32 && ARCH_PUV3
558	select I2C_ALGOBIT
559	help
560	  This driver supports the I2C IP inside the PKUnity-v3 SoC.
561	  This I2C bus controller is under AMBA/AXI bus.
562
563	  This driver can also be built as a module.  If so, the module
564	  will be called i2c-puv3.
565
566config I2C_PXA
567	tristate "Intel PXA2XX I2C adapter"
568	depends on ARCH_PXA || ARCH_MMP || (X86_32 && PCI && OF)
569	help
570	  If you have devices in the PXA I2C bus, say yes to this option.
571	  This driver can also be built as a module.  If so, the module
572	  will be called i2c-pxa.
573
574config I2C_PXA_PCI
575	def_bool I2C_PXA && X86_32 && PCI && OF
576
577config I2C_PXA_SLAVE
578	bool "Intel PXA2XX I2C Slave comms support"
579	depends on I2C_PXA && !X86_32
580	help
581	  Support I2C slave mode communications on the PXA I2C bus.  This
582	  is necessary for systems where the PXA may be a target on the
583	  I2C bus.
584
585config HAVE_S3C2410_I2C
586	bool
587	help
588	  This will include I2C support for Samsung SoCs. If you want to
589	  include I2C support for any machine, kindly select this in the
590	  respective Kconfig file.
591
592config I2C_S3C2410
593	tristate "S3C2410 I2C Driver"
594	depends on HAVE_S3C2410_I2C
595	help
596	  Say Y here to include support for I2C controller in the
597	  Samsung SoCs.
598
599config I2C_S6000
600	tristate "S6000 I2C support"
601	depends on XTENSA_VARIANT_S6000
602	help
603	  This driver supports the on chip I2C device on the
604	  S6000 xtensa processor family.
605
606	  To compile this driver as a module, choose M here. The module
607	  will be called i2c-s6000.
608
609config I2C_SH7760
610	tristate "Renesas SH7760 I2C Controller"
611	depends on CPU_SUBTYPE_SH7760
612	help
613	  This driver supports the 2 I2C interfaces on the Renesas SH7760.
614
615	  This driver can also be built as a module.  If so, the module
616	  will be called i2c-sh7760.
617
618config I2C_SH_MOBILE
619	tristate "SuperH Mobile I2C Controller"
620	depends on SUPERH || ARCH_SHMOBILE
621	help
622	  If you say yes to this option, support will be included for the
623	  built-in I2C interface on the Renesas SH-Mobile processor.
624
625	  This driver can also be built as a module.  If so, the module
626	  will be called i2c-sh_mobile.
627
628config I2C_SIMTEC
629	tristate "Simtec Generic I2C interface"
630	select I2C_ALGOBIT
631	help
632	  If you say yes to this option, support will be included for
633	  the Simtec Generic I2C interface. This driver is for the
634	  simple I2C bus used on newer Simtec products for general
635	  I2C, such as DDC on the Simtec BBD2016A.
636
637	  This driver can also be built as a module. If so, the module
638	  will be called i2c-simtec.
639
640config I2C_SIRF
641	tristate "CSR SiRFprimaII I2C interface"
642	depends on ARCH_PRIMA2
643	help
644	  If you say yes to this option, support will be included for the
645	  CSR SiRFprimaII I2C interface.
646
647	  This driver can also be built as a module.  If so, the module
648	  will be called i2c-sirf.
649
650config I2C_STU300
651	tristate "ST Microelectronics DDC I2C interface"
652	depends on MACH_U300
653	default y if MACH_U300
654	help
655	  If you say yes to this option, support will be included for the
656	  I2C interface from ST Microelectronics simply called "DDC I2C"
657	  supporting both I2C and DDC, used in e.g. the U300 series
658	  mobile platforms.
659
660	  This driver can also be built as a module. If so, the module
661	  will be called i2c-stu300.
662
663config I2C_TEGRA
664	tristate "NVIDIA Tegra internal I2C controller"
665	depends on ARCH_TEGRA
666	help
667	  If you say yes to this option, support will be included for the
668	  I2C controller embedded in NVIDIA Tegra SOCs
669
670config I2C_VERSATILE
671	tristate "ARM Versatile/Realview I2C bus support"
672	depends on ARCH_VERSATILE || ARCH_REALVIEW || ARCH_VEXPRESS
673	select I2C_ALGOBIT
674	help
675	  Say yes if you want to support the I2C serial bus on ARMs Versatile
676	  range of platforms.
677
678	  This driver can also be built as a module.  If so, the module
679	  will be called i2c-versatile.
680
681config I2C_OCTEON
682	tristate "Cavium OCTEON I2C bus support"
683	depends on CPU_CAVIUM_OCTEON
684	help
685	  Say yes if you want to support the I2C serial bus on Cavium
686	  OCTEON SOC.
687
688	  This driver can also be built as a module.  If so, the module
689	  will be called i2c-octeon.
690
691config I2C_XILINX
692	tristate "Xilinx I2C Controller"
693	depends on EXPERIMENTAL && HAS_IOMEM
694	help
695	  If you say yes to this option, support will be included for the
696	  Xilinx I2C controller.
697
698	  This driver can also be built as a module.  If so, the module
699	  will be called xilinx_i2c.
700
701config I2C_XLR
702	tristate "XLR I2C support"
703	depends on CPU_XLR
704	help
705	  This driver enables support for the on-chip I2C interface of
706	  the Netlogic XLR/XLS MIPS processors.
707
708	  This driver can also be built as a module.  If so, the module
709	  will be called i2c-xlr.
710
711comment "External I2C/SMBus adapter drivers"
712
713config I2C_DIOLAN_U2C
714	tristate "Diolan U2C-12 USB adapter"
715	depends on USB
716	help
717	  If you say yes to this option, support will be included for Diolan
718	  U2C-12, a USB to I2C interface.
719
720	  This driver can also be built as a module.  If so, the module
721	  will be called i2c-diolan-u2c.
722
723config I2C_PARPORT
724	tristate "Parallel port adapter"
725	depends on PARPORT
726	select I2C_ALGOBIT
727	select I2C_SMBUS
728	help
729	  This supports parallel port I2C adapters such as the ones made by
730	  Philips or Velleman, Analog Devices evaluation boards, and more.
731	  Basically any adapter using the parallel port as an I2C bus with
732	  no extra chipset is supported by this driver, or could be.
733
734	  This driver is a replacement for (and was inspired by) an older
735	  driver named i2c-philips-par.  The new driver supports more devices,
736	  and makes it easier to add support for new devices.
737
738	  An adapter type parameter is now mandatory.  Please read the file
739	  Documentation/i2c/busses/i2c-parport for details.
740
741	  Another driver exists, named i2c-parport-light, which doesn't depend
742	  on the parport driver.  This is meant for embedded systems. Don't say
743	  Y here if you intend to say Y or M there.
744
745	  This support is also available as a module.  If so, the module
746	  will be called i2c-parport.
747
748config I2C_PARPORT_LIGHT
749	tristate "Parallel port adapter (light)"
750	select I2C_ALGOBIT
751	select I2C_SMBUS
752	help
753	  This supports parallel port I2C adapters such as the ones made by
754	  Philips or Velleman, Analog Devices evaluation boards, and more.
755	  Basically any adapter using the parallel port as an I2C bus with
756	  no extra chipset is supported by this driver, or could be.
757
758	  This driver is a light version of i2c-parport.  It doesn't depend
759	  on the parport driver, and uses direct I/O access instead.  This
760	  might be preferred on embedded systems where wasting memory for
761	  the clean but heavy parport handling is not an option.  The
762	  drawback is a reduced portability and the impossibility to
763	  daisy-chain other parallel port devices.
764
765	  Don't say Y here if you said Y or M to i2c-parport.  Saying M to
766	  both is possible but both modules should not be loaded at the same
767	  time.
768
769	  This support is also available as a module.  If so, the module
770	  will be called i2c-parport-light.
771
772config I2C_TAOS_EVM
773	tristate "TAOS evaluation module"
774	depends on EXPERIMENTAL
775	select SERIO
776	select SERIO_SERPORT
777	default n
778	help
779	  This supports TAOS evaluation modules on serial port. In order to
780	  use this driver, you will need the inputattach tool, which is part
781	  of the input-utils package.
782
783	  If unsure, say N.
784
785	  This support is also available as a module.  If so, the module
786	  will be called i2c-taos-evm.
787
788config I2C_TINY_USB
789	tristate "Tiny-USB adapter"
790	depends on USB
791	help
792	  If you say yes to this option, support will be included for the
793	  i2c-tiny-usb, a simple do-it-yourself USB to I2C interface. See
794	  http://www.harbaum.org/till/i2c_tiny_usb for hardware details.
795
796	  This driver can also be built as a module.  If so, the module
797	  will be called i2c-tiny-usb.
798
799comment "Other I2C/SMBus bus drivers"
800
801config I2C_ACORN
802	tristate "Acorn IOC/IOMD I2C bus support"
803	depends on ARCH_ACORN
804	default y
805	select I2C_ALGOBIT
806	help
807	  Say yes if you want to support the I2C bus on Acorn platforms.
808
809	  If you don't know, say Y.
810
811config I2C_ELEKTOR
812	tristate "Elektor ISA card"
813	depends on ISA && HAS_IOPORT && BROKEN_ON_SMP
814	select I2C_ALGOPCF
815	help
816	  This supports the PCF8584 ISA bus I2C adapter.  Say Y if you own
817	  such an adapter.
818
819	  This support is also available as a module.  If so, the module
820	  will be called i2c-elektor.
821
822config I2C_PCA_ISA
823	tristate "PCA9564/PCA9665 on an ISA bus"
824	depends on ISA
825	select I2C_ALGOPCA
826	default n
827	help
828	  This driver supports ISA boards using the Philips PCA9564/PCA9665
829	  parallel bus to I2C bus controller.
830
831	  This driver can also be built as a module.  If so, the module
832	  will be called i2c-pca-isa.
833
834	  This device is almost undetectable and using this driver on a
835	  system which doesn't have this device will result in long
836	  delays when I2C/SMBus chip drivers are loaded (e.g. at boot
837	  time).  If unsure, say N.
838
839config I2C_SIBYTE
840	tristate "SiByte SMBus interface"
841	depends on SIBYTE_SB1xxx_SOC
842	help
843	  Supports the SiByte SOC on-chip I2C interfaces (2 channels).
844
845config I2C_STUB
846	tristate "I2C/SMBus Test Stub"
847	depends on EXPERIMENTAL && m
848	default 'n'
849	help
850	  This module may be useful to developers of SMBus client drivers,
851	  especially for certain kinds of sensor chips.
852
853	  If you do build this module, be sure to read the notes and warnings
854	  in <file:Documentation/i2c/i2c-stub>.
855
856	  If you don't know what to do here, definitely say N.
857
858config SCx200_I2C
859	tristate "NatSemi SCx200 I2C using GPIO pins (DEPRECATED)"
860	depends on SCx200_GPIO
861	select I2C_ALGOBIT
862	help
863	  Enable the use of two GPIO pins of a SCx200 processor as an I2C bus.
864
865	  If you don't know what to do here, say N.
866
867	  This support is also available as a module.  If so, the module
868	  will be called scx200_i2c.
869
870	  This driver is deprecated and will be dropped soon. Use i2c-gpio
871	  (or scx200_acb) instead.
872
873config SCx200_I2C_SCL
874	int "GPIO pin used for SCL"
875	depends on SCx200_I2C
876	default "12"
877	help
878	  Enter the GPIO pin number used for the SCL signal.  This value can
879	  also be specified with a module parameter.
880
881config SCx200_I2C_SDA
882	int "GPIO pin used for SDA"
883	depends on SCx200_I2C
884	default "13"
885	help
886	  Enter the GPIO pin number used for the SSA signal.  This value can
887	  also be specified with a module parameter.
888
889config SCx200_ACB
890	tristate "Geode ACCESS.bus support"
891	depends on X86_32 && PCI
892	help
893	  Enable the use of the ACCESS.bus controllers on the Geode SCx200 and
894	  SC1100 processors and the CS5535 and CS5536 Geode companion devices.
895
896	  If you don't know what to do here, say N.
897
898	  This support is also available as a module.  If so, the module
899	  will be called scx200_acb.
900
901endmenu
902