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