xref: /openbmc/linux/drivers/i2c/busses/Kconfig (revision a1e58bbd)
1#
2# Sensor device configuration
3#
4
5menu "I2C Hardware Bus support"
6
7config I2C_ALI1535
8	tristate "ALI 1535"
9	depends on PCI
10	help
11	  If you say yes to this option, support will be included for the SMB
12	  Host controller on Acer Labs Inc. (ALI) M1535 South Bridges.  The SMB
13	  controller is part of the 7101 device, which is an ACPI-compliant
14	  Power Management Unit (PMU).
15
16	  This driver can also be built as a module.  If so, the module
17	  will be called i2c-ali1535.
18
19config I2C_ALI1563
20	tristate "ALI 1563"
21	depends on PCI && EXPERIMENTAL
22	help
23	  If you say yes to this option, support will be included for the SMB
24	  Host controller on Acer Labs Inc. (ALI) M1563 South Bridges.  The SMB
25	  controller is part of the 7101 device, which is an ACPI-compliant
26	  Power Management Unit (PMU).
27
28	  This driver can also be built as a module.  If so, the module
29	  will be called i2c-ali1563.
30
31config I2C_ALI15X3
32	tristate "ALI 15x3"
33	depends on PCI
34	help
35	  If you say yes to this option, support will be included for the
36	  Acer Labs Inc. (ALI) M1514 and M1543 motherboard I2C interfaces.
37
38	  This driver can also be built as a module.  If so, the module
39	  will be called i2c-ali15x3.
40
41config I2C_AMD756
42	tristate "AMD 756/766/768/8111 and nVidia nForce"
43	depends on PCI
44	help
45	  If you say yes to this option, support will be included for the AMD
46	  756/766/768 mainboard I2C interfaces.  The driver also includes
47	  support for the first (SMBus 1.0) I2C interface of the AMD 8111 and
48	  the nVidia nForce I2C interface.
49
50	  This driver can also be built as a module.  If so, the module
51	  will be called i2c-amd756.
52
53config I2C_AMD756_S4882
54	tristate "SMBus multiplexing on the Tyan S4882"
55	depends on I2C_AMD756 && EXPERIMENTAL
56	help
57	  Enabling this option will add specific SMBus support for the Tyan
58	  S4882 motherboard.  On this 4-CPU board, the SMBus is multiplexed
59	  over 8 different channels, where the various memory module EEPROMs
60	  and temperature sensors live.  Saying yes here will give you access
61	  to these in addition to the trunk.
62
63	  This driver can also be built as a module.  If so, the module
64	  will be called i2c-amd756-s4882.
65
66config I2C_AMD8111
67	tristate "AMD 8111"
68	depends on PCI
69	help
70	  If you say yes to this option, support will be included for the
71	  second (SMBus 2.0) AMD 8111 mainboard I2C interface.
72
73	  This driver can also be built as a module.  If so, the module
74	  will be called i2c-amd8111.
75
76config I2C_AT91
77	tristate "Atmel AT91 I2C Two-Wire interface (TWI)"
78	depends on ARCH_AT91 && EXPERIMENTAL && BROKEN
79	help
80	  This supports the use of the I2C interface on Atmel AT91
81	  processors.
82
83	  This driver is BROKEN because the controller which it uses
84	  will easily trigger RX overrun and TX underrun errors.  Using
85	  low I2C clock rates may partially work around those issues
86	  on some systems.  Another serious problem is that there is no
87	  documented way to issue repeated START conditions, as needed
88	  to support combined I2C messages.  Use the i2c-gpio driver
89	  unless your system can cope with those limitations.
90
91config I2C_AU1550
92	tristate "Au1550/Au1200 SMBus interface"
93	depends on SOC_AU1550 || SOC_AU1200
94	help
95	  If you say yes to this option, support will be included for the
96	  Au1550 and Au1200 SMBus interface.
97
98	  This driver can also be built as a module.  If so, the module
99	  will be called i2c-au1550.
100
101config I2C_BLACKFIN_TWI
102	tristate "Blackfin TWI I2C support"
103	depends on BF534 || BF536 || BF537
104	help
105	  This is the TWI I2C device driver for Blackfin 534/536/537/54x.
106	  This driver can also be built as a module.  If so, the module
107	  will be called i2c-bfin-twi.
108
109config I2C_BLACKFIN_TWI_CLK_KHZ
110	int "Blackfin TWI I2C clock (kHz)"
111	depends on I2C_BLACKFIN_TWI
112	range 10 400
113	default 50
114	help
115	  The unit of the TWI clock is kHz.
116
117config I2C_DAVINCI
118	tristate "DaVinci I2C driver"
119	depends on ARCH_DAVINCI
120	help
121	  Support for TI DaVinci I2C controller driver.
122
123	  This driver can also be built as a module.  If so, the module
124	  will be called i2c-davinci.
125
126	  Please note that this driver might be needed to bring up other
127	  devices such as DaVinci NIC.
128	  For details please see http://www.ti.com/davinci
129
130config I2C_ELEKTOR
131	tristate "Elektor ISA card"
132	depends on ISA && BROKEN_ON_SMP
133	select I2C_ALGOPCF
134	help
135	  This supports the PCF8584 ISA bus I2C adapter.  Say Y if you own
136	  such an adapter.
137
138	  This support is also available as a module.  If so, the module
139	  will be called i2c-elektor.
140
141config I2C_GPIO
142	tristate "GPIO-based bitbanging I2C"
143	depends on GENERIC_GPIO
144	select I2C_ALGOBIT
145	help
146	  This is a very simple bitbanging I2C driver utilizing the
147	  arch-neutral GPIO API to control the SCL and SDA lines.
148
149config I2C_HYDRA
150	tristate "CHRP Apple Hydra Mac I/O I2C interface"
151	depends on PCI && PPC_CHRP && EXPERIMENTAL
152	select I2C_ALGOBIT
153	help
154	  This supports the use of the I2C interface in the Apple Hydra Mac
155	  I/O chip on some CHRP machines (e.g. the LongTrail).  Say Y if you
156	  have such a machine.
157
158	  This support is also available as a module.  If so, the module
159	  will be called i2c-hydra.
160
161config I2C_I801
162	tristate "Intel 82801 (ICH)"
163	depends on PCI
164	help
165	  If you say yes to this option, support will be included for the Intel
166	  801 family of mainboard I2C interfaces.  Specifically, the following
167	  versions of the chipset are supported:
168	    82801AA
169	    82801AB
170	    82801BA
171	    82801CA/CAM
172	    82801DB
173	    82801EB/ER (ICH5/ICH5R)
174	    6300ESB
175	    ICH6
176	    ICH7
177	    ESB2
178	    ICH8
179	    ICH9
180	    Tolapai
181	    ICH10
182
183	  This driver can also be built as a module.  If so, the module
184	  will be called i2c-i801.
185
186config I2C_I810
187	tristate "Intel 810/815 (DEPRECATED)"
188	default n
189	depends on PCI
190	select I2C_ALGOBIT
191	help
192	  If you say yes to this option, support will be included for the Intel
193	  810/815 family of mainboard I2C interfaces.  Specifically, the
194	  following versions of the chipset are supported:
195	    i810AA
196	    i810AB
197	    i810E
198	    i815
199	    i845G
200
201	  This driver is deprecated in favor of the i810fb and intelfb drivers.
202
203	  This driver can also be built as a module.  If so, the module
204	  will be called i2c-i810.
205
206config I2C_PXA
207	tristate "Intel PXA2XX I2C adapter (EXPERIMENTAL)"
208	depends on EXPERIMENTAL && ARCH_PXA
209	help
210	  If you have devices in the PXA I2C bus, say yes to this option.
211	  This driver can also be built as a module.  If so, the module
212	  will be called i2c-pxa.
213
214config I2C_PXA_SLAVE
215	bool "Intel PXA2XX I2C Slave comms support"
216	depends on I2C_PXA
217	help
218	  Support I2C slave mode communications on the PXA I2C bus.  This
219	  is necessary for systems where the PXA may be a target on the
220	  I2C bus.
221
222config I2C_PIIX4
223	tristate "Intel PIIX4 and compatible (ATI/Serverworks/Broadcom/SMSC)"
224	depends on PCI
225	help
226	  If you say yes to this option, support will be included for the Intel
227	  PIIX4 family of mainboard I2C interfaces.  Specifically, the following
228	  versions of the chipset are supported (note that Serverworks is part
229	  of Broadcom):
230	    Intel PIIX4
231	    Intel 440MX
232	    ATI IXP200
233	    ATI IXP300
234	    ATI IXP400
235	    ATI SB600
236	    ATI SB700
237	    ATI SB800
238	    Serverworks OSB4
239	    Serverworks CSB5
240	    Serverworks CSB6
241	    Serverworks HT-1000
242	    SMSC Victory66
243
244	  This driver can also be built as a module.  If so, the module
245	  will be called i2c-piix4.
246
247config I2C_IBM_IIC
248	tristate "IBM PPC 4xx on-chip I2C interface"
249	depends on IBM_OCP
250	help
251	  Say Y here if you want to use IIC peripheral found on
252	  embedded IBM PPC 4xx based systems.
253
254	  This driver can also be built as a module.  If so, the module
255	  will be called i2c-ibm_iic.
256
257config I2C_IOP3XX
258	tristate "Intel IOPx3xx and IXP4xx on-chip I2C interface"
259	depends on ARCH_IOP32X || ARCH_IOP33X || ARCH_IXP4XX || ARCH_IOP13XX
260	help
261	  Say Y here if you want to use the IIC bus controller on
262	  the Intel IOPx3xx I/O Processors or IXP4xx Network Processors.
263
264	  This driver can also be built as a module.  If so, the module
265	  will be called i2c-iop3xx.
266
267config I2C_IXP2000
268	tristate "IXP2000 GPIO-Based I2C Interface (DEPRECATED)"
269	depends on ARCH_IXP2000
270	select I2C_ALGOBIT
271	help
272	  Say Y here if you have an Intel IXP2000 (2400, 2800, 2850) based
273	  system and are using GPIO lines for an I2C bus.
274
275	  This support is also available as a module. If so, the module
276	  will be called i2c-ixp2000.
277
278	  This driver is deprecated and will be dropped soon. Use i2c-gpio
279	  instead.
280
281config I2C_POWERMAC
282	tristate "Powermac I2C interface"
283	depends on PPC_PMAC
284	default y
285	help
286	  This exposes the various PowerMac i2c interfaces to the linux i2c
287	  layer and to userland. It is used by various drivers on the PowerMac
288	  platform, and should generally be enabled.
289
290	  This support is also available as a module.  If so, the module
291	  will be called i2c-powermac.
292
293config I2C_MPC
294	tristate "MPC107/824x/85xx/52xx/86xx"
295	depends on PPC32
296	help
297	  If you say yes to this option, support will be included for the
298	  built-in I2C interface on the MPC107/Tsi107/MPC8240/MPC8245 and
299	  MPC85xx/MPC8641 family processors. The driver may also work on 52xx
300	  family processors, though interrupts are known not to work.
301
302	  This driver can also be built as a module.  If so, the module
303	  will be called i2c-mpc.
304
305config I2C_NFORCE2
306	tristate "Nvidia nForce2, nForce3 and nForce4"
307	depends on PCI
308	help
309	  If you say yes to this option, support will be included for the Nvidia
310	  nForce2, nForce3 and nForce4 families of mainboard I2C interfaces.
311
312	  This driver can also be built as a module.  If so, the module
313	  will be called i2c-nforce2.
314
315config I2C_OCORES
316	tristate "OpenCores I2C Controller"
317	depends on EXPERIMENTAL
318	help
319	  If you say yes to this option, support will be included for the
320	  OpenCores I2C controller. For details see
321	  http://www.opencores.org/projects.cgi/web/i2c/overview
322
323	  This driver can also be built as a module.  If so, the module
324	  will be called i2c-ocores.
325
326config I2C_OMAP
327	tristate "OMAP I2C adapter"
328	depends on ARCH_OMAP
329	default y if MACH_OMAP_H3 || MACH_OMAP_OSK
330	help
331	  If you say yes to this option, support will be included for the
332	  I2C interface on the Texas Instruments OMAP1/2 family of processors.
333	  Like OMAP1510/1610/1710/5912 and OMAP242x.
334	  For details see http://www.ti.com/omap.
335
336config I2C_PARPORT
337	tristate "Parallel port adapter"
338	depends on PARPORT
339	select I2C_ALGOBIT
340	help
341	  This supports parallel port I2C adapters such as the ones made by
342	  Philips or Velleman, Analog Devices evaluation boards, and more.
343	  Basically any adapter using the parallel port as an I2C bus with
344	  no extra chipset is supported by this driver, or could be.
345
346	  This driver is a replacement for (and was inspired by) an older
347	  driver named i2c-philips-par.  The new driver supports more devices,
348	  and makes it easier to add support for new devices.
349
350	  An adapter type parameter is now mandatory.  Please read the file
351	  Documentation/i2c/busses/i2c-parport for details.
352
353	  Another driver exists, named i2c-parport-light, which doesn't depend
354	  on the parport driver.  This is meant for embedded systems. Don't say
355	  Y here if you intend to say Y or M there.
356
357	  This support is also available as a module.  If so, the module
358	  will be called i2c-parport.
359
360config I2C_PARPORT_LIGHT
361	tristate "Parallel port adapter (light)"
362	select I2C_ALGOBIT
363	help
364	  This supports parallel port I2C adapters such as the ones made by
365	  Philips or Velleman, Analog Devices evaluation boards, and more.
366	  Basically any adapter using the parallel port as an I2C bus with
367	  no extra chipset is supported by this driver, or could be.
368
369	  This driver is a light version of i2c-parport.  It doesn't depend
370	  on the parport driver, and uses direct I/O access instead.  This
371	  might be preferred on embedded systems where wasting memory for
372	  the clean but heavy parport handling is not an option.  The
373	  drawback is a reduced portability and the impossibility to
374	  daisy-chain other parallel port devices.
375
376	  Don't say Y here if you said Y or M to i2c-parport.  Saying M to
377	  both is possible but both modules should not be loaded at the same
378	  time.
379
380	  This support is also available as a module.  If so, the module
381	  will be called i2c-parport-light.
382
383config I2C_PASEMI
384	tristate "PA Semi SMBus interface"
385	depends on PPC_PASEMI && PCI
386	help
387	  Supports the PA Semi PWRficient on-chip SMBus interfaces.
388
389config I2C_PROSAVAGE
390	tristate "S3/VIA (Pro)Savage (DEPRECATED)"
391	default n
392	depends on PCI
393	select I2C_ALGOBIT
394	help
395	  If you say yes to this option, support will be included for the
396	  I2C bus and DDC bus of the S3VIA embedded Savage4 and ProSavage8
397	  graphics processors.
398	  chipsets supported:
399	    S3/VIA KM266/VT8375 aka ProSavage8
400	    S3/VIA KM133/VT8365 aka Savage4
401
402	  This driver is deprecated in favor of the savagefb driver.
403
404	  This support is also available as a module.  If so, the module
405	  will be called i2c-prosavage.
406
407config I2C_S3C2410
408	tristate "S3C2410 I2C Driver"
409	depends on ARCH_S3C2410
410	help
411	  Say Y here to include support for I2C controller in the
412	  Samsung S3C2410 based System-on-Chip devices.
413
414config I2C_SAVAGE4
415	tristate "S3 Savage 4 (DEPRECATED)"
416	default n
417	depends on PCI
418	select I2C_ALGOBIT
419	help
420	  If you say yes to this option, support will be included for the
421	  S3 Savage 4 I2C interface.
422
423	  This driver is deprecated in favor of the savagefb driver.
424
425	  This driver can also be built as a module.  If so, the module
426	  will be called i2c-savage4.
427
428config I2C_SIBYTE
429	tristate "SiByte SMBus interface"
430	depends on SIBYTE_SB1xxx_SOC
431	help
432	  Supports the SiByte SOC on-chip I2C interfaces (2 channels).
433
434config I2C_SIMTEC
435	tristate "Simtec Generic I2C interface"
436	select I2C_ALGOBIT
437	help
438	  If you say yes to this option, support will be included for
439	  the Simtec Generic I2C interface. This driver is for the
440	  simple I2C bus used on newer Simtec products for general
441	  I2C, such as DDC on the Simtec BBD2016A.
442
443	  This driver can also be built as a module. If so, the module
444	  will be called i2c-simtec.
445
446config SCx200_I2C
447	tristate "NatSemi SCx200 I2C using GPIO pins (DEPRECATED)"
448	depends on SCx200_GPIO
449	select I2C_ALGOBIT
450	help
451	  Enable the use of two GPIO pins of a SCx200 processor as an I2C bus.
452
453	  If you don't know what to do here, say N.
454
455	  This support is also available as a module.  If so, the module
456	  will be called scx200_i2c.
457
458	  This driver is deprecated and will be dropped soon. Use i2c-gpio
459	  (or scx200_acb) instead.
460
461config SCx200_I2C_SCL
462	int "GPIO pin used for SCL"
463	depends on SCx200_I2C
464	default "12"
465	help
466	  Enter the GPIO pin number used for the SCL signal.  This value can
467	  also be specified with a module parameter.
468
469config SCx200_I2C_SDA
470	int "GPIO pin used for SDA"
471	depends on SCx200_I2C
472	default "13"
473	help
474	  Enter the GPIO pin number used for the SSA signal.  This value can
475	  also be specified with a module parameter.
476
477config SCx200_ACB
478	tristate "Geode ACCESS.bus support"
479	depends on X86_32 && PCI
480	help
481	  Enable the use of the ACCESS.bus controllers on the Geode SCx200 and
482	  SC1100 processors and the CS5535 and CS5536 Geode companion devices.
483
484	  If you don't know what to do here, say N.
485
486	  This support is also available as a module.  If so, the module
487	  will be called scx200_acb.
488
489config I2C_SIS5595
490	tristate "SiS 5595"
491	depends on PCI
492	help
493	  If you say yes to this option, support will be included for the
494	  SiS5595 SMBus (a subset of I2C) interface.
495
496	  This driver can also be built as a module.  If so, the module
497	  will be called i2c-sis5595.
498
499config I2C_SIS630
500	tristate "SiS 630/730"
501	depends on PCI
502	help
503	  If you say yes to this option, support will be included for the
504	  SiS630 and SiS730 SMBus (a subset of I2C) interface.
505
506	  This driver can also be built as a module.  If so, the module
507	  will be called i2c-sis630.
508
509config I2C_SIS96X
510	tristate "SiS 96x"
511	depends on PCI
512	help
513	  If you say yes to this option, support will be included for the SiS
514	  96x SMBus (a subset of I2C) interfaces.  Specifically, the following
515	  chipsets are supported:
516	    645/961
517	    645DX/961
518	    645DX/962
519	    648/961
520	    650/961
521	    735
522	    745
523
524	  This driver can also be built as a module.  If so, the module
525	  will be called i2c-sis96x.
526
527config I2C_TAOS_EVM
528	tristate "TAOS evaluation module"
529	depends on EXPERIMENTAL
530	select SERIO
531	select SERIO_SERPORT
532	default n
533	help
534	  This supports TAOS evaluation modules on serial port. In order to
535	  use this driver, you will need the inputattach tool, which is part
536	  of the input-utils package.
537
538	  If unsure, say N.
539
540	  This support is also available as a module.  If so, the module
541	  will be called i2c-taos-evm.
542
543config I2C_STUB
544	tristate "I2C/SMBus Test Stub"
545	depends on EXPERIMENTAL && m
546	default 'n'
547	help
548	  This module may be useful to developers of SMBus client drivers,
549	  especially for certain kinds of sensor chips.
550
551	  If you do build this module, be sure to read the notes and warnings
552	  in <file:Documentation/i2c/i2c-stub>.
553
554	  If you don't know what to do here, definitely say N.
555
556config I2C_TINY_USB
557	tristate "I2C-Tiny-USB"
558	depends on USB
559	help
560	  If you say yes to this option, support will be included for the
561	  i2c-tiny-usb, a simple do-it-yourself USB to I2C interface. See
562	  http://www.harbaum.org/till/i2c_tiny_usb for hardware details.
563
564	  This driver can also be built as a module.  If so, the module
565	  will be called i2c-tiny-usb.
566
567config I2C_VERSATILE
568	tristate "ARM Versatile/Realview I2C bus support"
569	depends on ARCH_VERSATILE || ARCH_REALVIEW
570	select I2C_ALGOBIT
571	help
572	  Say yes if you want to support the I2C serial bus on ARMs Versatile
573	  range of platforms.
574
575	  This driver can also be built as a module.  If so, the module
576	  will be called i2c-versatile.
577
578config I2C_ACORN
579	tristate "Acorn IOC/IOMD I2C bus support"
580	depends on ARCH_ACORN
581	default y
582	select I2C_ALGOBIT
583	help
584	  Say yes if you want to support the I2C bus on Acorn platforms.
585
586	  If you don't know, say Y.
587
588config I2C_VIA
589	tristate "VIA 82C586B"
590	depends on PCI && EXPERIMENTAL
591	select I2C_ALGOBIT
592	help
593	  If you say yes to this option, support will be included for the VIA
594          82C586B I2C interface
595
596	  This driver can also be built as a module.  If so, the module
597	  will be called i2c-via.
598
599config I2C_VIAPRO
600	tristate "VIA VT82C596/82C686/82xx and CX700"
601	depends on PCI
602	help
603	  If you say yes to this option, support will be included for the VIA
604	  VT82C596 and later SMBus interface.  Specifically, the following
605	  chipsets are supported:
606	    VT82C596A/B
607	    VT82C686A/B
608	    VT8231
609	    VT8233/A
610	    VT8235
611	    VT8237R/A/S
612	    VT8251
613	    CX700
614
615	  This driver can also be built as a module.  If so, the module
616	  will be called i2c-viapro.
617
618config I2C_VOODOO3
619	tristate "Voodoo 3"
620	depends on PCI
621	select I2C_ALGOBIT
622	help
623	  If you say yes to this option, support will be included for the
624	  Voodoo 3 I2C interface.
625
626	  This driver can also be built as a module.  If so, the module
627	  will be called i2c-voodoo3.
628
629config I2C_PCA_ISA
630	tristate "PCA9564 on an ISA bus"
631	depends on ISA
632	select I2C_ALGOPCA
633	default n
634	help
635	  This driver supports ISA boards using the Philips PCA 9564
636	  Parallel bus to I2C bus controller
637
638	  This driver can also be built as a module.  If so, the module
639	  will be called i2c-pca-isa.
640
641	  This device is almost undetectable and using this driver on a
642	  system which doesn't have this device will result in long
643	  delays when I2C/SMBus chip drivers are loaded (e.g. at boot
644	  time).  If unsure, say N.
645
646config I2C_MV64XXX
647	tristate "Marvell mv64xxx I2C Controller"
648	depends on (MV64X60 || ARCH_ORION) && EXPERIMENTAL
649	help
650	  If you say yes to this option, support will be included for the
651	  built-in I2C interface on the Marvell 64xxx line of host bridges.
652
653	  This driver can also be built as a module.  If so, the module
654	  will be called i2c-mv64xxx.
655
656config I2C_PNX
657	tristate "I2C bus support for Philips PNX targets"
658	depends on ARCH_PNX4008
659	help
660	  This driver supports the Philips IP3204 I2C IP block master and/or
661	  slave controller
662
663	  This driver can also be built as a module.  If so, the module
664	  will be called i2c-pnx.
665
666config I2C_PMCMSP
667	tristate "PMC MSP I2C TWI Controller"
668	depends on PMC_MSP
669	help
670	  This driver supports the PMC TWI controller on MSP devices.
671
672	  This driver can also be built as module. If so, the module
673	  will be called i2c-pmcmsp.
674
675endmenu
676