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