xref: /linux/drivers/i2c/busses/Kconfig (revision 3e833490fae55633f6adc03a5e6172d47c01f3e4)
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_SUN6I_P2WI
778	tristate "Allwinner sun6i internal P2WI controller"
779	depends on RESET_CONTROLLER
780	depends on MACH_SUN6I || COMPILE_TEST
781	help
782	  If you say yes to this option, support will be included for the
783	  P2WI (Push/Pull 2 Wire Interface) controller embedded in some sunxi
784	  SOCs.
785	  The P2WI looks like an SMBus controller (which supports only byte
786	  accesses), except that it only supports one slave device.
787	  This interface is used to connect to specific PMIC devices (like the
788	  AXP221).
789
790config I2C_TEGRA
791	tristate "NVIDIA Tegra internal I2C controller"
792	depends on ARCH_TEGRA
793	help
794	  If you say yes to this option, support will be included for the
795	  I2C controller embedded in NVIDIA Tegra SOCs
796
797config I2C_VERSATILE
798	tristate "ARM Versatile/Realview I2C bus support"
799	depends on ARCH_VERSATILE || ARCH_REALVIEW || ARCH_VEXPRESS
800	select I2C_ALGOBIT
801	help
802	  Say yes if you want to support the I2C serial bus on ARMs Versatile
803	  range of platforms.
804
805	  This driver can also be built as a module.  If so, the module
806	  will be called i2c-versatile.
807
808config I2C_WMT
809	tristate "Wondermedia WM8xxx SoC I2C bus support"
810	depends on ARCH_VT8500
811	help
812	  Say yes if you want to support the I2C bus on Wondermedia 8xxx-series
813	  SoCs.
814
815	  This driver can also be built as a module. If so, the module will be
816	  called i2c-wmt.
817
818config I2C_OCTEON
819	tristate "Cavium OCTEON I2C bus support"
820	depends on CAVIUM_OCTEON_SOC
821	help
822	  Say yes if you want to support the I2C serial bus on Cavium
823	  OCTEON SOC.
824
825	  This driver can also be built as a module.  If so, the module
826	  will be called i2c-octeon.
827
828config I2C_XILINX
829	tristate "Xilinx I2C Controller"
830	depends on HAS_IOMEM
831	help
832	  If you say yes to this option, support will be included for the
833	  Xilinx I2C controller.
834
835	  This driver can also be built as a module.  If so, the module
836	  will be called xilinx_i2c.
837
838config I2C_XLR
839	tristate "XLR I2C support"
840	depends on CPU_XLR
841	help
842	  This driver enables support for the on-chip I2C interface of
843	  the Netlogic XLR/XLS MIPS processors.
844
845	  This driver can also be built as a module.  If so, the module
846	  will be called i2c-xlr.
847
848config I2C_RCAR
849	tristate "Renesas R-Car I2C Controller"
850	depends on ARCH_SHMOBILE || COMPILE_TEST
851	help
852	  If you say yes to this option, support will be included for the
853	  R-Car I2C controller.
854
855	  This driver can also be built as a module.  If so, the module
856	  will be called i2c-rcar.
857
858comment "External I2C/SMBus adapter drivers"
859
860config I2C_DIOLAN_U2C
861	tristate "Diolan U2C-12 USB adapter"
862	depends on USB
863	help
864	  If you say yes to this option, support will be included for Diolan
865	  U2C-12, a USB to I2C interface.
866
867	  This driver can also be built as a module.  If so, the module
868	  will be called i2c-diolan-u2c.
869
870config I2C_PARPORT
871	tristate "Parallel port adapter"
872	depends on PARPORT
873	select I2C_ALGOBIT
874	select I2C_SMBUS
875	help
876	  This supports parallel port I2C adapters such as the ones made by
877	  Philips or Velleman, Analog Devices evaluation boards, and more.
878	  Basically any adapter using the parallel port as an I2C bus with
879	  no extra chipset is supported by this driver, or could be.
880
881	  This driver is a replacement for (and was inspired by) an older
882	  driver named i2c-philips-par.  The new driver supports more devices,
883	  and makes it easier to add support for new devices.
884
885	  An adapter type parameter is now mandatory.  Please read the file
886	  Documentation/i2c/busses/i2c-parport for details.
887
888	  Another driver exists, named i2c-parport-light, which doesn't depend
889	  on the parport driver.  This is meant for embedded systems. Don't say
890	  Y here if you intend to say Y or M there.
891
892	  This support is also available as a module.  If so, the module
893	  will be called i2c-parport.
894
895config I2C_PARPORT_LIGHT
896	tristate "Parallel port adapter (light)"
897	select I2C_ALGOBIT
898	select I2C_SMBUS
899	help
900	  This supports parallel port I2C adapters such as the ones made by
901	  Philips or Velleman, Analog Devices evaluation boards, and more.
902	  Basically any adapter using the parallel port as an I2C bus with
903	  no extra chipset is supported by this driver, or could be.
904
905	  This driver is a light version of i2c-parport.  It doesn't depend
906	  on the parport driver, and uses direct I/O access instead.  This
907	  might be preferred on embedded systems where wasting memory for
908	  the clean but heavy parport handling is not an option.  The
909	  drawback is a reduced portability and the impossibility to
910	  daisy-chain other parallel port devices.
911
912	  Don't say Y here if you said Y or M to i2c-parport.  Saying M to
913	  both is possible but both modules should not be loaded at the same
914	  time.
915
916	  This support is also available as a module.  If so, the module
917	  will be called i2c-parport-light.
918
919config I2C_ROBOTFUZZ_OSIF
920	tristate "RobotFuzz Open Source InterFace USB adapter"
921	depends on USB
922	help
923	  If you say yes to this option, support will be included for the
924	  RobotFuzz Open Source InterFace USB to I2C interface.
925
926	  This driver can also be built as a module.  If so, the module
927	  will be called i2c-osif.
928
929config I2C_TAOS_EVM
930	tristate "TAOS evaluation module"
931	depends on TTY
932	select SERIO
933	select SERIO_SERPORT
934	default n
935	help
936	  This supports TAOS evaluation modules on serial port. In order to
937	  use this driver, you will need the inputattach tool, which is part
938	  of the input-utils package.
939
940	  If unsure, say N.
941
942	  This support is also available as a module.  If so, the module
943	  will be called i2c-taos-evm.
944
945config I2C_TINY_USB
946	tristate "Tiny-USB adapter"
947	depends on USB
948	help
949	  If you say yes to this option, support will be included for the
950	  i2c-tiny-usb, a simple do-it-yourself USB to I2C interface. See
951	  http://www.harbaum.org/till/i2c_tiny_usb for hardware details.
952
953	  This driver can also be built as a module.  If so, the module
954	  will be called i2c-tiny-usb.
955
956config I2C_VIPERBOARD
957	tristate "Viperboard I2C master support"
958	depends on MFD_VIPERBOARD && USB
959	help
960	  Say yes here to access the I2C part of the Nano River
961	  Technologies Viperboard as I2C master.
962          See viperboard API specification and Nano
963          River Tech's viperboard.h for detailed meaning
964          of the module parameters.
965
966comment "Other I2C/SMBus bus drivers"
967
968config I2C_ACORN
969	tristate "Acorn IOC/IOMD I2C bus support"
970	depends on ARCH_ACORN
971	default y
972	select I2C_ALGOBIT
973	help
974	  Say yes if you want to support the I2C bus on Acorn platforms.
975
976	  If you don't know, say Y.
977
978config I2C_ELEKTOR
979	tristate "Elektor ISA card"
980	depends on ISA && HAS_IOPORT_MAP && BROKEN_ON_SMP
981	select I2C_ALGOPCF
982	help
983	  This supports the PCF8584 ISA bus I2C adapter.  Say Y if you own
984	  such an adapter.
985
986	  This support is also available as a module.  If so, the module
987	  will be called i2c-elektor.
988
989config I2C_PCA_ISA
990	tristate "PCA9564/PCA9665 on an ISA bus"
991	depends on ISA
992	select I2C_ALGOPCA
993	default n
994	help
995	  This driver supports ISA boards using the Philips PCA9564/PCA9665
996	  parallel bus to I2C bus controller.
997
998	  This driver can also be built as a module.  If so, the module
999	  will be called i2c-pca-isa.
1000
1001	  This device is almost undetectable and using this driver on a
1002	  system which doesn't have this device will result in long
1003	  delays when I2C/SMBus chip drivers are loaded (e.g. at boot
1004	  time).  If unsure, say N.
1005
1006config I2C_SIBYTE
1007	tristate "SiByte SMBus interface"
1008	depends on SIBYTE_SB1xxx_SOC
1009	help
1010	  Supports the SiByte SOC on-chip I2C interfaces (2 channels).
1011
1012config I2C_CROS_EC_TUNNEL
1013	tristate "ChromeOS EC tunnel I2C bus"
1014	depends on MFD_CROS_EC
1015	help
1016	  If you say yes here you get an I2C bus that will tunnel i2c commands
1017	  through to the other side of the ChromeOS EC to the i2c bus
1018	  connected there. This will work whatever the interface used to
1019	  talk to the EC (SPI, I2C or LPC).
1020
1021config SCx200_I2C
1022	tristate "NatSemi SCx200 I2C using GPIO pins (DEPRECATED)"
1023	depends on SCx200_GPIO
1024	select I2C_ALGOBIT
1025	help
1026	  Enable the use of two GPIO pins of a SCx200 processor as an I2C bus.
1027
1028	  If you don't know what to do here, say N.
1029
1030	  This support is also available as a module.  If so, the module
1031	  will be called scx200_i2c.
1032
1033	  This driver is deprecated and will be dropped soon. Use i2c-gpio
1034	  (or scx200_acb) instead.
1035
1036config SCx200_I2C_SCL
1037	int "GPIO pin used for SCL"
1038	depends on SCx200_I2C
1039	default "12"
1040	help
1041	  Enter the GPIO pin number used for the SCL signal.  This value can
1042	  also be specified with a module parameter.
1043
1044config SCx200_I2C_SDA
1045	int "GPIO pin used for SDA"
1046	depends on SCx200_I2C
1047	default "13"
1048	help
1049	  Enter the GPIO pin number used for the SSA signal.  This value can
1050	  also be specified with a module parameter.
1051
1052config SCx200_ACB
1053	tristate "Geode ACCESS.bus support"
1054	depends on X86_32 && PCI
1055	help
1056	  Enable the use of the ACCESS.bus controllers on the Geode SCx200 and
1057	  SC1100 processors and the CS5535 and CS5536 Geode companion devices.
1058
1059	  If you don't know what to do here, say N.
1060
1061	  This support is also available as a module.  If so, the module
1062	  will be called scx200_acb.
1063
1064endmenu
1065