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