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