xref: /linux/drivers/i2c/busses/Kconfig (revision c41aa3ce938b684d853f1004072b6116a41bb1ce)
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 && (X86_32 || COMPILE_TEST)
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_OCORES
574	tristate "OpenCores I2C Controller"
575	help
576	  If you say yes to this option, support will be included for the
577	  OpenCores I2C controller. For details see
578	  http://www.opencores.org/projects.cgi/web/i2c/overview
579
580	  This driver can also be built as a module.  If so, the module
581	  will be called i2c-ocores.
582
583config I2C_OMAP
584	tristate "OMAP I2C adapter"
585	depends on ARCH_OMAP
586	default y if MACH_OMAP_H3 || MACH_OMAP_OSK
587	help
588	  If you say yes to this option, support will be included for the
589	  I2C interface on the Texas Instruments OMAP1/2 family of processors.
590	  Like OMAP1510/1610/1710/5912 and OMAP242x.
591	  For details see http://www.ti.com/omap.
592
593config I2C_PASEMI
594	tristate "PA Semi SMBus interface"
595	depends on PPC_PASEMI && PCI
596	help
597	  Supports the PA Semi PWRficient on-chip SMBus interfaces.
598
599config I2C_PCA_PLATFORM
600	tristate "PCA9564/PCA9665 as platform device"
601	select I2C_ALGOPCA
602	default n
603	help
604	  This driver supports a memory mapped Philips PCA9564/PCA9665
605	  parallel bus to I2C bus controller.
606
607	  This driver can also be built as a module.  If so, the module
608	  will be called i2c-pca-platform.
609
610config I2C_PMCMSP
611	tristate "PMC MSP I2C TWI Controller"
612	depends on PMC_MSP
613	help
614	  This driver supports the PMC TWI controller on MSP devices.
615
616	  This driver can also be built as module. If so, the module
617	  will be called i2c-pmcmsp.
618
619config I2C_PNX
620	tristate "I2C bus support for Philips PNX and NXP LPC targets"
621	depends on ARCH_LPC32XX
622	help
623	  This driver supports the Philips IP3204 I2C IP block master and/or
624	  slave controller
625
626	  This driver can also be built as a module.  If so, the module
627	  will be called i2c-pnx.
628
629config I2C_PUV3
630	tristate "PKUnity v3 I2C bus support"
631	depends on UNICORE32 && ARCH_PUV3
632	select I2C_ALGOBIT
633	help
634	  This driver supports the I2C IP inside the PKUnity-v3 SoC.
635	  This I2C bus controller is under AMBA/AXI bus.
636
637	  This driver can also be built as a module.  If so, the module
638	  will be called i2c-puv3.
639
640config I2C_PXA
641	tristate "Intel PXA2XX I2C adapter"
642	depends on ARCH_PXA || ARCH_MMP || (X86_32 && PCI && OF)
643	help
644	  If you have devices in the PXA I2C bus, say yes to this option.
645	  This driver can also be built as a module.  If so, the module
646	  will be called i2c-pxa.
647
648config I2C_PXA_PCI
649	def_bool I2C_PXA && X86_32 && PCI && OF
650
651config I2C_PXA_SLAVE
652	bool "Intel PXA2XX I2C Slave comms support"
653	depends on I2C_PXA && !X86_32
654	help
655	  Support I2C slave mode communications on the PXA I2C bus.  This
656	  is necessary for systems where the PXA may be a target on the
657	  I2C bus.
658
659config I2C_QUP
660	tristate "Qualcomm QUP based I2C controller"
661	depends on ARCH_QCOM
662	help
663	  If you say yes to this option, support will be included for the
664	  built-in I2C interface on the Qualcomm SoCs.
665
666	  This driver can also be built as a module.  If so, the module
667	  will be called i2c-qup.
668
669config I2C_RIIC
670	tristate "Renesas RIIC adapter"
671	depends on ARCH_SHMOBILE || COMPILE_TEST
672	help
673	  If you say yes to this option, support will be included for the
674	  Renesas RIIC I2C interface.
675
676	  This driver can also be built as a module.  If so, the module
677	  will be called i2c-riic.
678
679config I2C_RK3X
680	tristate "Rockchip RK3xxx I2C adapter"
681	depends on OF
682	help
683	  Say Y here to include support for the I2C adapter in Rockchip RK3xxx
684	  SoCs.
685
686	  This driver can also be built as a module. If so, the module will
687	  be called i2c-rk3x.
688
689config HAVE_S3C2410_I2C
690	bool
691	help
692	  This will include I2C support for Samsung SoCs. If you want to
693	  include I2C support for any machine, kindly select this in the
694	  respective Kconfig file.
695
696config I2C_S3C2410
697	tristate "S3C2410 I2C Driver"
698	depends on HAVE_S3C2410_I2C
699	help
700	  Say Y here to include support for I2C controller in the
701	  Samsung SoCs.
702
703config I2C_S6000
704	tristate "S6000 I2C support"
705	depends on XTENSA_VARIANT_S6000
706	help
707	  This driver supports the on chip I2C device on the
708	  S6000 xtensa processor family.
709
710	  To compile this driver as a module, choose M here. The module
711	  will be called i2c-s6000.
712
713config I2C_SH7760
714	tristate "Renesas SH7760 I2C Controller"
715	depends on CPU_SUBTYPE_SH7760
716	help
717	  This driver supports the 2 I2C interfaces on the Renesas SH7760.
718
719	  This driver can also be built as a module.  If so, the module
720	  will be called i2c-sh7760.
721
722config I2C_SH_MOBILE
723	tristate "SuperH Mobile I2C Controller"
724	depends on SUPERH || ARCH_SHMOBILE || COMPILE_TEST
725	help
726	  If you say yes to this option, support will be included for the
727	  built-in I2C interface on the Renesas SH-Mobile processor.
728
729	  This driver can also be built as a module.  If so, the module
730	  will be called i2c-sh_mobile.
731
732config I2C_SIMTEC
733	tristate "Simtec Generic I2C interface"
734	select I2C_ALGOBIT
735	help
736	  If you say yes to this option, support will be included for
737	  the Simtec Generic I2C interface. This driver is for the
738	  simple I2C bus used on newer Simtec products for general
739	  I2C, such as DDC on the Simtec BBD2016A.
740
741	  This driver can also be built as a module. If so, the module
742	  will be called i2c-simtec.
743
744config I2C_SIRF
745	tristate "CSR SiRFprimaII I2C interface"
746	depends on ARCH_SIRF
747	help
748	  If you say yes to this option, support will be included for the
749	  CSR SiRFprimaII I2C interface.
750
751	  This driver can also be built as a module.  If so, the module
752	  will be called i2c-sirf.
753
754config I2C_ST
755	tristate "STMicroelectronics SSC I2C support"
756	depends on ARCH_STI
757	help
758	  Enable this option to add support for STMicroelectronics SoCs
759	  hardware SSC (Synchronous Serial Controller) as an I2C controller.
760
761	  This driver can also be built as module. If so, the module
762	  will be called i2c-st.
763
764config I2C_STU300
765	tristate "ST Microelectronics DDC I2C interface"
766	depends on MACH_U300
767	default y if MACH_U300
768	help
769	  If you say yes to this option, support will be included for the
770	  I2C interface from ST Microelectronics simply called "DDC I2C"
771	  supporting both I2C and DDC, used in e.g. the U300 series
772	  mobile platforms.
773
774	  This driver can also be built as a module. If so, the module
775	  will be called i2c-stu300.
776
777config I2C_TEGRA
778	tristate "NVIDIA Tegra internal I2C controller"
779	depends on ARCH_TEGRA
780	help
781	  If you say yes to this option, support will be included for the
782	  I2C controller embedded in NVIDIA Tegra SOCs
783
784config I2C_VERSATILE
785	tristate "ARM Versatile/Realview I2C bus support"
786	depends on ARCH_VERSATILE || ARCH_REALVIEW || ARCH_VEXPRESS
787	select I2C_ALGOBIT
788	help
789	  Say yes if you want to support the I2C serial bus on ARMs Versatile
790	  range of platforms.
791
792	  This driver can also be built as a module.  If so, the module
793	  will be called i2c-versatile.
794
795config I2C_WMT
796	tristate "Wondermedia WM8xxx SoC I2C bus support"
797	depends on ARCH_VT8500
798	help
799	  Say yes if you want to support the I2C bus on Wondermedia 8xxx-series
800	  SoCs.
801
802	  This driver can also be built as a module. If so, the module will be
803	  called i2c-wmt.
804
805config I2C_OCTEON
806	tristate "Cavium OCTEON I2C bus support"
807	depends on CAVIUM_OCTEON_SOC
808	help
809	  Say yes if you want to support the I2C serial bus on Cavium
810	  OCTEON SOC.
811
812	  This driver can also be built as a module.  If so, the module
813	  will be called i2c-octeon.
814
815config I2C_XILINX
816	tristate "Xilinx I2C Controller"
817	depends on HAS_IOMEM
818	help
819	  If you say yes to this option, support will be included for the
820	  Xilinx I2C controller.
821
822	  This driver can also be built as a module.  If so, the module
823	  will be called xilinx_i2c.
824
825config I2C_XLR
826	tristate "XLR I2C support"
827	depends on CPU_XLR
828	help
829	  This driver enables support for the on-chip I2C interface of
830	  the Netlogic XLR/XLS MIPS processors.
831
832	  This driver can also be built as a module.  If so, the module
833	  will be called i2c-xlr.
834
835config I2C_RCAR
836	tristate "Renesas R-Car I2C Controller"
837	depends on ARCH_SHMOBILE || COMPILE_TEST
838	help
839	  If you say yes to this option, support will be included for the
840	  R-Car I2C controller.
841
842	  This driver can also be built as a module.  If so, the module
843	  will be called i2c-rcar.
844
845comment "External I2C/SMBus adapter drivers"
846
847config I2C_DIOLAN_U2C
848	tristate "Diolan U2C-12 USB adapter"
849	depends on USB
850	help
851	  If you say yes to this option, support will be included for Diolan
852	  U2C-12, a USB to I2C interface.
853
854	  This driver can also be built as a module.  If so, the module
855	  will be called i2c-diolan-u2c.
856
857config I2C_PARPORT
858	tristate "Parallel port adapter"
859	depends on PARPORT
860	select I2C_ALGOBIT
861	select I2C_SMBUS
862	help
863	  This supports parallel port I2C adapters such as the ones made by
864	  Philips or Velleman, Analog Devices evaluation boards, and more.
865	  Basically any adapter using the parallel port as an I2C bus with
866	  no extra chipset is supported by this driver, or could be.
867
868	  This driver is a replacement for (and was inspired by) an older
869	  driver named i2c-philips-par.  The new driver supports more devices,
870	  and makes it easier to add support for new devices.
871
872	  An adapter type parameter is now mandatory.  Please read the file
873	  Documentation/i2c/busses/i2c-parport for details.
874
875	  Another driver exists, named i2c-parport-light, which doesn't depend
876	  on the parport driver.  This is meant for embedded systems. Don't say
877	  Y here if you intend to say Y or M there.
878
879	  This support is also available as a module.  If so, the module
880	  will be called i2c-parport.
881
882config I2C_PARPORT_LIGHT
883	tristate "Parallel port adapter (light)"
884	select I2C_ALGOBIT
885	select I2C_SMBUS
886	help
887	  This supports parallel port I2C adapters such as the ones made by
888	  Philips or Velleman, Analog Devices evaluation boards, and more.
889	  Basically any adapter using the parallel port as an I2C bus with
890	  no extra chipset is supported by this driver, or could be.
891
892	  This driver is a light version of i2c-parport.  It doesn't depend
893	  on the parport driver, and uses direct I/O access instead.  This
894	  might be preferred on embedded systems where wasting memory for
895	  the clean but heavy parport handling is not an option.  The
896	  drawback is a reduced portability and the impossibility to
897	  daisy-chain other parallel port devices.
898
899	  Don't say Y here if you said Y or M to i2c-parport.  Saying M to
900	  both is possible but both modules should not be loaded at the same
901	  time.
902
903	  This support is also available as a module.  If so, the module
904	  will be called i2c-parport-light.
905
906config I2C_ROBOTFUZZ_OSIF
907	tristate "RobotFuzz Open Source InterFace USB adapter"
908	depends on USB
909	help
910	  If you say yes to this option, support will be included for the
911	  RobotFuzz Open Source InterFace USB to I2C interface.
912
913	  This driver can also be built as a module.  If so, the module
914	  will be called i2c-osif.
915
916config I2C_TAOS_EVM
917	tristate "TAOS evaluation module"
918	depends on TTY
919	select SERIO
920	select SERIO_SERPORT
921	default n
922	help
923	  This supports TAOS evaluation modules on serial port. In order to
924	  use this driver, you will need the inputattach tool, which is part
925	  of the input-utils package.
926
927	  If unsure, say N.
928
929	  This support is also available as a module.  If so, the module
930	  will be called i2c-taos-evm.
931
932config I2C_TINY_USB
933	tristate "Tiny-USB adapter"
934	depends on USB
935	help
936	  If you say yes to this option, support will be included for the
937	  i2c-tiny-usb, a simple do-it-yourself USB to I2C interface. See
938	  http://www.harbaum.org/till/i2c_tiny_usb for hardware details.
939
940	  This driver can also be built as a module.  If so, the module
941	  will be called i2c-tiny-usb.
942
943config I2C_VIPERBOARD
944	tristate "Viperboard I2C master support"
945	depends on MFD_VIPERBOARD && USB
946	help
947	  Say yes here to access the I2C part of the Nano River
948	  Technologies Viperboard as I2C master.
949          See viperboard API specification and Nano
950          River Tech's viperboard.h for detailed meaning
951          of the module parameters.
952
953comment "Other I2C/SMBus bus drivers"
954
955config I2C_ACORN
956	tristate "Acorn IOC/IOMD I2C bus support"
957	depends on ARCH_ACORN
958	default y
959	select I2C_ALGOBIT
960	help
961	  Say yes if you want to support the I2C bus on Acorn platforms.
962
963	  If you don't know, say Y.
964
965config I2C_ELEKTOR
966	tristate "Elektor ISA card"
967	depends on ISA && HAS_IOPORT_MAP && BROKEN_ON_SMP
968	select I2C_ALGOPCF
969	help
970	  This supports the PCF8584 ISA bus I2C adapter.  Say Y if you own
971	  such an adapter.
972
973	  This support is also available as a module.  If so, the module
974	  will be called i2c-elektor.
975
976config I2C_PCA_ISA
977	tristate "PCA9564/PCA9665 on an ISA bus"
978	depends on ISA
979	select I2C_ALGOPCA
980	default n
981	help
982	  This driver supports ISA boards using the Philips PCA9564/PCA9665
983	  parallel bus to I2C bus controller.
984
985	  This driver can also be built as a module.  If so, the module
986	  will be called i2c-pca-isa.
987
988	  This device is almost undetectable and using this driver on a
989	  system which doesn't have this device will result in long
990	  delays when I2C/SMBus chip drivers are loaded (e.g. at boot
991	  time).  If unsure, say N.
992
993config I2C_SIBYTE
994	tristate "SiByte SMBus interface"
995	depends on SIBYTE_SB1xxx_SOC
996	help
997	  Supports the SiByte SOC on-chip I2C interfaces (2 channels).
998
999config I2C_CROS_EC_TUNNEL
1000	tristate "ChromeOS EC tunnel I2C bus"
1001	depends on MFD_CROS_EC
1002	help
1003	  If you say yes here you get an I2C bus that will tunnel i2c commands
1004	  through to the other side of the ChromeOS EC to the i2c bus
1005	  connected there. This will work whatever the interface used to
1006	  talk to the EC (SPI, I2C or LPC).
1007
1008config SCx200_I2C
1009	tristate "NatSemi SCx200 I2C using GPIO pins (DEPRECATED)"
1010	depends on SCx200_GPIO
1011	select I2C_ALGOBIT
1012	help
1013	  Enable the use of two GPIO pins of a SCx200 processor as an I2C bus.
1014
1015	  If you don't know what to do here, say N.
1016
1017	  This support is also available as a module.  If so, the module
1018	  will be called scx200_i2c.
1019
1020	  This driver is deprecated and will be dropped soon. Use i2c-gpio
1021	  (or scx200_acb) instead.
1022
1023config SCx200_I2C_SCL
1024	int "GPIO pin used for SCL"
1025	depends on SCx200_I2C
1026	default "12"
1027	help
1028	  Enter the GPIO pin number used for the SCL signal.  This value can
1029	  also be specified with a module parameter.
1030
1031config SCx200_I2C_SDA
1032	int "GPIO pin used for SDA"
1033	depends on SCx200_I2C
1034	default "13"
1035	help
1036	  Enter the GPIO pin number used for the SSA signal.  This value can
1037	  also be specified with a module parameter.
1038
1039config SCx200_ACB
1040	tristate "Geode ACCESS.bus support"
1041	depends on X86_32 && PCI
1042	help
1043	  Enable the use of the ACCESS.bus controllers on the Geode SCx200 and
1044	  SC1100 processors and the CS5535 and CS5536 Geode companion devices.
1045
1046	  If you don't know what to do here, say N.
1047
1048	  This support is also available as a module.  If so, the module
1049	  will be called scx200_acb.
1050
1051endmenu
1052