i2c: iop3xxx: fix build failure after waitqueue changes
[linux-2.6-block.git] / drivers / i2c / busses / Kconfig
CommitLineData
1da177e4
LT
1#
2# Sensor device configuration
3#
4
5menu "I2C Hardware Bus support"
3ddb59d4 6 depends on HAS_IOMEM
1da177e4 7
f5b728a1
JD
8comment "PC SMBus host controller drivers"
9 depends on PCI
10
1da177e4
LT
11config I2C_ALI1535
12 tristate "ALI 1535"
16538e6b 13 depends on PCI
1da177e4
LT
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"
417e86ce 25 depends on PCI
1da177e4
LT
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"
16538e6b 37 depends on PCI
1da177e4
LT
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"
16538e6b 47 depends on PCI
1da177e4
LT
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"
417e86ce 59 depends on I2C_AMD756 && X86
1da177e4
LT
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"
16538e6b 72 depends on PCI
1da177e4
LT
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
1da177e4 80config I2C_I801
39376434 81 tristate "Intel 82801 (ICH/PCH)"
16538e6b 82 depends on PCI
8eacfceb 83 select CHECK_SIGNATURE if X86 && DMI
1da177e4
LT
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
b0a70b57 97 ESB2
8254fc4a 98 ICH8
adbc2a10 99 ICH9
cb04e95b 100 EP80579 (Tolapai)
d28dc711 101 ICH10
cb04e95b 102 5/3400 Series (PCH)
662cda8a 103 6 Series (PCH)
e30d9859 104 Patsburg (PCH)
662cda8a 105 DH89xxCC (PCH)
6e2a851e 106 Panther Point (PCH)
062737fb 107 Lynx Point (PCH)
4a8f1ddd 108 Lynx Point-LP (PCH)
c2db409c 109 Avoton (SOC)
a3fc0ff0 110 Wellsburg (PCH)
f39901c1 111 Coleto Creek (PCH)
1da177e4
LT
112
113 This driver can also be built as a module. If so, the module
114 will be called i2c-i801.
115
5bc12008
AD
116config I2C_ISCH
117 tristate "Intel SCH SMBus 1.0"
aaaf9cf7 118 depends on PCI && GENERIC_HARDIRQS
fd46a006 119 select LPC_SCH
5bc12008
AD
120 help
121 Say Y here if you want to use SMBus controller on the Intel SCH
122 based systems.
123
124 This driver can also be built as a module. If so, the module
125 will be called i2c-isch.
126
13f35ac1
NH
127config I2C_ISMT
128 tristate "Intel iSMT SMBus Controller"
129 depends on PCI && X86
130 help
131 If you say yes to this option, support will be included for the Intel
132 iSMT SMBus host controller interface.
133
134 This driver can also be built as a module. If so, the module will be
135 called i2c-ismt.
136
1da177e4 137config I2C_PIIX4
76b3e28f 138 tristate "Intel PIIX4 and compatible (ATI/AMD/Serverworks/Broadcom/SMSC)"
16538e6b 139 depends on PCI
1da177e4
LT
140 help
141 If you say yes to this option, support will be included for the Intel
142 PIIX4 family of mainboard I2C interfaces. Specifically, the following
5f7ea3c5
MD
143 versions of the chipset are supported (note that Serverworks is part
144 of Broadcom):
1da177e4
LT
145 Intel PIIX4
146 Intel 440MX
02e0c5d5
RM
147 ATI IXP200
148 ATI IXP300
149 ATI IXP400
4e6697fc 150 ATI SB600
2a2f7404 151 ATI SB700/SP5100
60693e5a 152 ATI SB800
3806e94b 153 AMD Hudson-2
1da177e4
LT
154 Serverworks OSB4
155 Serverworks CSB5
156 Serverworks CSB6
5f7ea3c5 157 Serverworks HT-1000
506a8b6c 158 Serverworks HT-1100
1da177e4
LT
159 SMSC Victory66
160
2a2f7404
AA
161 Some AMD chipsets contain two PIIX4-compatible SMBus
162 controllers. This driver will attempt to use both controllers
163 on the SB700/SP5100, if they have been initialized by the BIOS.
164
1da177e4
LT
165 This driver can also be built as a module. If so, the module
166 will be called i2c-piix4.
167
1da177e4 168config I2C_NFORCE2
5d740fe9 169 tristate "Nvidia nForce2, nForce3 and nForce4"
16538e6b 170 depends on PCI
1da177e4
LT
171 help
172 If you say yes to this option, support will be included for the Nvidia
5d740fe9 173 nForce2, nForce3 and nForce4 families of mainboard I2C interfaces.
1da177e4
LT
174
175 This driver can also be built as a module. If so, the module
176 will be called i2c-nforce2.
177
279e9024
JD
178config I2C_NFORCE2_S4985
179 tristate "SMBus multiplexing on the Tyan S4985"
417e86ce 180 depends on I2C_NFORCE2 && X86
279e9024
JD
181 help
182 Enabling this option will add specific SMBus support for the Tyan
183 S4985 motherboard. On this 4-CPU board, the SMBus is multiplexed
184 over 4 different channels, where the various memory module EEPROMs
185 live. Saying yes here will give you access to these in addition
186 to the trunk.
187
188 This driver can also be built as a module. If so, the module
189 will be called i2c-nforce2-s4985.
190
f5b728a1
JD
191config I2C_SIS5595
192 tristate "SiS 5595"
193 depends on PCI
18f98b1e
PK
194 help
195 If you say yes to this option, support will be included for the
f5b728a1 196 SiS5595 SMBus (a subset of I2C) interface.
18f98b1e
PK
197
198 This driver can also be built as a module. If so, the module
f5b728a1 199 will be called i2c-sis5595.
18f98b1e 200
f5b728a1 201config I2C_SIS630
974d6a37 202 tristate "SiS 630/730/964"
f5b728a1 203 depends on PCI
010d442c
KS
204 help
205 If you say yes to this option, support will be included for the
974d6a37 206 SiS630, SiS730 and SiS964 SMBus (a subset of I2C) interface.
010d442c 207
f5b728a1
JD
208 This driver can also be built as a module. If so, the module
209 will be called i2c-sis630.
210
211config I2C_SIS96X
212 tristate "SiS 96x"
213 depends on PCI
214 help
215 If you say yes to this option, support will be included for the SiS
216 96x SMBus (a subset of I2C) interfaces. Specifically, the following
217 chipsets are supported:
218 645/961
219 645DX/961
220 645DX/962
221 648/961
222 650/961
223 735
224 745
225
226 This driver can also be built as a module. If so, the module
227 will be called i2c-sis96x.
228
229config I2C_VIA
230 tristate "VIA VT82C586B"
417e86ce 231 depends on PCI
1da177e4
LT
232 select I2C_ALGOBIT
233 help
f5b728a1
JD
234 If you say yes to this option, support will be included for the VIA
235 82C586B I2C interface
1da177e4 236
f5b728a1
JD
237 This driver can also be built as a module. If so, the module
238 will be called i2c-via.
e97b81dd 239
f5b728a1 240config I2C_VIAPRO
01d56a6a 241 tristate "VIA VT82C596/82C686/82xx and CX700/VX8xx/VX900"
f5b728a1
JD
242 depends on PCI
243 help
244 If you say yes to this option, support will be included for the VIA
245 VT82C596 and later SMBus interface. Specifically, the following
246 chipsets are supported:
247 VT82C596A/B
248 VT82C686A/B
249 VT8231
250 VT8233/A
251 VT8235
252 VT8237R/A/S
253 VT8251
254 CX700
a231591f
HW
255 VX800/VX820
256 VX855/VX875
01d56a6a 257 VX900
e97b81dd 258
f5b728a1
JD
259 This driver can also be built as a module. If so, the module
260 will be called i2c-viapro.
1da177e4 261
cfd550ed
JD
262if ACPI
263
264comment "ACPI drivers"
265
266config I2C_SCMI
267 tristate "SMBus Control Method Interface"
268 help
269 This driver supports the SMBus Control Method Interface. It needs the
270 BIOS to declare ACPI control methods as described in the SMBus Control
271 Method Interface specification.
272
273 To compile this driver as a module, choose M here:
274 the module will be called i2c-scmi.
275
276endif # ACPI
277
f5b728a1
JD
278comment "Mac SMBus host controller drivers"
279 depends on PPC_CHRP || PPC_PMAC
1da177e4 280
f5b728a1
JD
281config I2C_HYDRA
282 tristate "CHRP Apple Hydra Mac I/O I2C interface"
417e86ce 283 depends on PCI && PPC_CHRP
1da177e4
LT
284 select I2C_ALGOBIT
285 help
f5b728a1
JD
286 This supports the use of the I2C interface in the Apple Hydra Mac
287 I/O chip on some CHRP machines (e.g. the LongTrail). Say Y if you
288 have such a machine.
4c03f68f 289
f5b728a1
JD
290 This support is also available as a module. If so, the module
291 will be called i2c-hydra.
292
293config I2C_POWERMAC
294 tristate "Powermac I2C interface"
295 depends on PPC_PMAC
296 default y
297 help
298 This exposes the various PowerMac i2c interfaces to the linux i2c
299 layer and to userland. It is used by various drivers on the PowerMac
300 platform, and should generally be enabled.
1da177e4 301
4c03f68f 302 This support is also available as a module. If so, the module
f5b728a1
JD
303 will be called i2c-powermac.
304
305comment "I2C system bus drivers (mostly embedded / system-on-chip)"
306
307config I2C_AT91
308 tristate "Atmel AT91 I2C Two-Wire interface (TWI)"
417e86ce 309 depends on ARCH_AT91
f5b728a1
JD
310 help
311 This supports the use of the I2C interface on Atmel AT91
312 processors.
313
fac368a0
NV
314 A serious problem is that there is no documented way to issue
315 repeated START conditions for more than two messages, as needed
f5b728a1 316 to support combined I2C messages. Use the i2c-gpio driver
fac368a0
NV
317 unless your system can cope with this limitation.
318
319 Caution! at91rm9200, at91sam9261, at91sam9260, at91sam9263 devices
320 don't have clock stretching in transmission mode. For that reason,
321 you can encounter underrun issues causing premature stop sendings if
322 the latency to fill the transmission register is too long. If you
323 are facing this situation, use the i2c-gpio driver.
f5b728a1
JD
324
325config I2C_AU1550
809f36c6 326 tristate "Au1550/Au1200/Au1300 SMBus interface"
37663860 327 depends on MIPS_ALCHEMY
f5b728a1
JD
328 help
329 If you say yes to this option, support will be included for the
809f36c6 330 Au1550/Au1200/Au1300 SMBus interface.
f5b728a1
JD
331
332 This driver can also be built as a module. If so, the module
333 will be called i2c-au1550.
334
f3b54b9a
SW
335config I2C_BCM2835
336 tristate "Broadcom BCM2835 I2C controller"
337 depends on ARCH_BCM2835
338 help
339 If you say yes to this option, support will be included for the
340 BCM2835 I2C controller.
341
342 If you don't know what to do here, say N.
343
344 This support is also available as a module. If so, the module
345 will be called i2c-bcm2835.
346
f5b728a1
JD
347config I2C_BLACKFIN_TWI
348 tristate "Blackfin TWI I2C support"
349 depends on BLACKFIN
350 depends on !BF561 && !BF531 && !BF532 && !BF533
351 help
352 This is the I2C bus driver for Blackfin on-chip TWI interface.
353
354 This driver can also be built as a module. If so, the module
355 will be called i2c-bfin-twi.
356
357config I2C_BLACKFIN_TWI_CLK_KHZ
358 int "Blackfin TWI I2C clock (kHz)"
359 depends on I2C_BLACKFIN_TWI
9528d1c7 360 range 21 400
f5b728a1
JD
361 default 50
362 help
363 The unit of the TWI clock is kHz.
364
0857ba3c
AK
365config I2C_CBUS_GPIO
366 tristate "CBUS I2C driver"
76ec9d18 367 depends on GPIOLIB
0857ba3c
AK
368 help
369 Support for CBUS access using I2C API. Mostly relevant for Nokia
370 Internet Tablets (770, N800 and N810).
371
372 This driver can also be built as a module. If so, the module
373 will be called i2c-cbus-gpio.
374
61045dbe
JF
375config I2C_CPM
376 tristate "Freescale CPM1 or CPM2 (MPC8xx/826x)"
377 depends on (CPM1 || CPM2) && OF_I2C
378 help
379 This supports the use of the I2C interface on Freescale
380 processors with CPM1 or CPM2.
381
382 This driver can also be built as a module. If so, the module
383 will be called i2c-cpm.
384
f5b728a1
JD
385config I2C_DAVINCI
386 tristate "DaVinci I2C driver"
387 depends on ARCH_DAVINCI
388 help
389 Support for TI DaVinci I2C controller driver.
390
391 This driver can also be built as a module. If so, the module
392 will be called i2c-davinci.
393
394 Please note that this driver might be needed to bring up other
395 devices such as DaVinci NIC.
396 For details please see http://www.ti.com/davinci
397
e68bb91b
AL
398config I2C_DESIGNWARE_CORE
399 tristate
400
2373f6b9 401config I2C_DESIGNWARE_PLATFORM
6b2aac42 402 tristate "Synopsys DesignWare Platform"
47749b14 403 depends on HAVE_CLK
e68bb91b 404 select I2C_DESIGNWARE_CORE
1ab52cf9
BS
405 help
406 If you say yes to this option, support will be included for the
407 Synopsys DesignWare I2C adapter. Only master mode is supported.
408
409 This driver can also be built as a module. If so, the module
2373f6b9 410 will be called i2c-designware-platform.
1ab52cf9 411
fe20ff5c
DB
412config I2C_DESIGNWARE_PCI
413 tristate "Synopsys DesignWare PCI"
414 depends on PCI
e68bb91b 415 select I2C_DESIGNWARE_CORE
fe20ff5c
DB
416 help
417 If you say yes to this option, support will be included for the
418 Synopsys DesignWare I2C adapter. Only master mode is supported.
419
420 This driver can also be built as a module. If so, the module
421 will be called i2c-designware-pci.
1ab52cf9 422
3e1b76be
J
423config I2C_EG20T
424 tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) I2C"
425 depends on PCI
426 help
427 This driver is for PCH(Platform controller Hub) I2C of EG20T which
428 is an IOH(Input/Output Hub) for x86 embedded processor.
429 This driver can access PCH I2C bus device.
430
431 This driver also can be used for LAPIS Semiconductor IOH(Input/
432 Output Hub), ML7213, ML7223 and ML7831.
433 ML7213 IOH is for IVI(In-Vehicle Infotainment) use, ML7223 IOH is
434 for MP(Media Phone) use and ML7831 IOH is for general purpose use.
435 ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series.
436 ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH.
437
f5b728a1
JD
438config I2C_GPIO
439 tristate "GPIO-based bitbanging I2C"
76ec9d18 440 depends on GPIOLIB
f5b728a1
JD
441 select I2C_ALGOBIT
442 help
443 This is a very simple bitbanging I2C driver utilizing the
444 arch-neutral GPIO API to control the SCL and SDA lines.
445
4ad48e6a
PM
446config I2C_HIGHLANDER
447 tristate "Highlander FPGA SMBus interface"
448 depends on SH_HIGHLANDER
449 help
450 If you say yes to this option, support will be included for
451 the SMBus interface located in the FPGA on various Highlander
452 boards, particularly the R0P7780LC0011RL and R0P7785LC0011RL
453 FPGAs. This is wholly unrelated to the SoC I2C.
454
455 This driver can also be built as a module. If so, the module
456 will be called i2c-highlander.
457
f5b728a1
JD
458config I2C_IBM_IIC
459 tristate "IBM PPC 4xx on-chip I2C interface"
460 depends on 4xx
461 help
462 Say Y here if you want to use IIC peripheral found on
463 embedded IBM PPC 4xx based systems.
464
465 This driver can also be built as a module. If so, the module
466 will be called i2c-ibm_iic.
467
aa11e38c
DA
468config I2C_IMX
469 tristate "IMX I2C interface"
470 depends on ARCH_MXC
471 help
472 Say Y here if you want to use the IIC bus controller on
473 the Freescale i.MX/MXC processors.
474
475 This driver can also be built as a module. If so, the module
476 will be called i2c-imx.
477
f5b728a1
JD
478config I2C_IOP3XX
479 tristate "Intel IOPx3xx and IXP4xx on-chip I2C interface"
480 depends on ARCH_IOP32X || ARCH_IOP33X || ARCH_IXP4XX || ARCH_IOP13XX
481 help
482 Say Y here if you want to use the IIC bus controller on
483 the Intel IOPx3xx I/O Processors or IXP4xx Network Processors.
484
485 This driver can also be built as a module. If so, the module
486 will be called i2c-iop3xx.
487
f5b728a1 488config I2C_MPC
f00d738f 489 tristate "MPC107/824x/85xx/512x/52xx/83xx/86xx"
0724d464 490 depends on PPC
f5b728a1
JD
491 help
492 If you say yes to this option, support will be included for the
f00d738f
WG
493 built-in I2C interface on the MPC107, Tsi107, MPC512x, MPC52xx,
494 MPC8240, MPC8245, MPC83xx, MPC85xx and MPC8641 family processors.
f5b728a1
JD
495
496 This driver can also be built as a module. If so, the module
497 will be called i2c-mpc.
498
499config I2C_MV64XXX
500 tristate "Marvell mv64xxx I2C Controller"
3d66ac7d 501 depends on (MV64X60 || PLAT_ORION || ARCH_SUNXI)
f5b728a1
JD
502 help
503 If you say yes to this option, support will be included for the
504 built-in I2C interface on the Marvell 64xxx line of host bridges.
3d66ac7d 505 This driver is also used for Allwinner SoCs I2C controllers.
f5b728a1
JD
506
507 This driver can also be built as a module. If so, the module
508 will be called i2c-mv64xxx.
509
a8da7fec
WS
510config I2C_MXS
511 tristate "Freescale i.MX28 I2C interface"
512 depends on SOC_IMX28
6b866c15 513 select STMP_DEVICE
a8da7fec
WS
514 help
515 Say Y here if you want to use the I2C bus controller on
516 the Freescale i.MX28 processors.
517
518 This driver can also be built as a module. If so, the module
519 will be called i2c-mxs.
520
3f9900f1 521config I2C_NOMADIK
522 tristate "ST-Ericsson Nomadik/Ux500 I2C Controller"
419408ed 523 depends on ARM_AMBA
3f9900f1 524 help
525 If you say yes to this option, support will be included for the
419408ed
AR
526 I2C interface from ST-Ericsson's Nomadik and Ux500 architectures,
527 as well as the STA2X11 PCIe I/O HUB.
3f9900f1 528
ededad3e
WZ
529config I2C_NUC900
530 tristate "NUC900 I2C Driver"
531 depends on ARCH_W90X900
532 help
533 Say Y here to include support for I2C controller in the
534 Winbond/Nuvoton NUC900 based System-on-Chip devices.
535
f5b728a1
JD
536config I2C_OCORES
537 tristate "OpenCores I2C Controller"
aaaf9cf7 538 depends on GENERIC_HARDIRQS
f5b728a1
JD
539 help
540 If you say yes to this option, support will be included for the
541 OpenCores I2C controller. For details see
542 http://www.opencores.org/projects.cgi/web/i2c/overview
543
544 This driver can also be built as a module. If so, the module
545 will be called i2c-ocores.
546
547config I2C_OMAP
548 tristate "OMAP I2C adapter"
549 depends on ARCH_OMAP
550 default y if MACH_OMAP_H3 || MACH_OMAP_OSK
551 help
552 If you say yes to this option, support will be included for the
553 I2C interface on the Texas Instruments OMAP1/2 family of processors.
554 Like OMAP1510/1610/1710/5912 and OMAP242x.
555 For details see http://www.ti.com/omap.
1da177e4 556
beb58aa3
OJ
557config I2C_PASEMI
558 tristate "PA Semi SMBus interface"
16538e6b 559 depends on PPC_PASEMI && PCI
beb58aa3
OJ
560 help
561 Supports the PA Semi PWRficient on-chip SMBus interfaces.
562
35bfc353
WS
563config I2C_PCA_PLATFORM
564 tristate "PCA9564/PCA9665 as platform device"
565 select I2C_ALGOPCA
566 default n
567 help
568 This driver supports a memory mapped Philips PCA9564/PCA9665
569 parallel bus to I2C bus controller.
570
571 This driver can also be built as a module. If so, the module
572 will be called i2c-pca-platform.
573
574config I2C_PMCMSP
575 tristate "PMC MSP I2C TWI Controller"
576 depends on PMC_MSP
577 help
578 This driver supports the PMC TWI controller on MSP devices.
579
580 This driver can also be built as module. If so, the module
581 will be called i2c-pmcmsp.
582
f5b728a1 583config I2C_PNX
c115167a 584 tristate "I2C bus support for Philips PNX and NXP LPC targets"
d684f05f 585 depends on ARCH_LPC32XX
f5b728a1
JD
586 help
587 This driver supports the Philips IP3204 I2C IP block master and/or
588 slave controller
589
590 This driver can also be built as a module. If so, the module
591 will be called i2c-pnx.
592
d10e4a66
G
593config I2C_PUV3
594 tristate "PKUnity v3 I2C bus support"
595 depends on UNICORE32 && ARCH_PUV3
596 select I2C_ALGOBIT
597 help
598 This driver supports the I2C IP inside the PKUnity-v3 SoC.
599 This I2C bus controller is under AMBA/AXI bus.
600
601 This driver can also be built as a module. If so, the module
602 will be called i2c-puv3.
603
f5b728a1 604config I2C_PXA
d7c46ddd 605 tristate "Intel PXA2XX I2C adapter"
7e94dd15 606 depends on ARCH_PXA || ARCH_MMP || (X86_32 && PCI && OF)
f5b728a1
JD
607 help
608 If you have devices in the PXA I2C bus, say yes to this option.
609 This driver can also be built as a module. If so, the module
610 will be called i2c-pxa.
611
7e94dd15
SAS
612config I2C_PXA_PCI
613 def_bool I2C_PXA && X86_32 && PCI && OF
614
f5b728a1
JD
615config I2C_PXA_SLAVE
616 bool "Intel PXA2XX I2C Slave comms support"
7e94dd15 617 depends on I2C_PXA && !X86_32
f5b728a1
JD
618 help
619 Support I2C slave mode communications on the PXA I2C bus. This
620 is necessary for systems where the PXA may be a target on the
621 I2C bus.
622
4b623926
NKC
623config HAVE_S3C2410_I2C
624 bool
625 help
626 This will include I2C support for Samsung SoCs. If you want to
627 include I2C support for any machine, kindly select this in the
628 respective Kconfig file.
629
1da177e4
LT
630config I2C_S3C2410
631 tristate "S3C2410 I2C Driver"
4b623926 632 depends on HAVE_S3C2410_I2C
1da177e4
LT
633 help
634 Say Y here to include support for I2C controller in the
4b623926 635 Samsung SoCs.
1da177e4 636
b486ddbc
OS
637config I2C_S6000
638 tristate "S6000 I2C support"
639 depends on XTENSA_VARIANT_S6000
640 help
641 This driver supports the on chip I2C device on the
642 S6000 xtensa processor family.
643
644 To compile this driver as a module, choose M here. The module
645 will be called i2c-s6000.
646
f5b728a1
JD
647config I2C_SH7760
648 tristate "Renesas SH7760 I2C Controller"
649 depends on CPU_SUBTYPE_SH7760
1da177e4 650 help
f5b728a1
JD
651 This driver supports the 2 I2C interfaces on the Renesas SH7760.
652
653 This driver can also be built as a module. If so, the module
654 will be called i2c-sh7760.
655
656config I2C_SH_MOBILE
657 tristate "SuperH Mobile I2C Controller"
0924fada 658 depends on SUPERH || ARCH_SHMOBILE
f5b728a1
JD
659 help
660 If you say yes to this option, support will be included for the
661 built-in I2C interface on the Renesas SH-Mobile processor.
662
663 This driver can also be built as a module. If so, the module
664 will be called i2c-sh_mobile.
1da177e4 665
bcda9f1e
BD
666config I2C_SIMTEC
667 tristate "Simtec Generic I2C interface"
668 select I2C_ALGOBIT
669 help
01dd2fbf 670 If you say yes to this option, support will be included for
bcda9f1e
BD
671 the Simtec Generic I2C interface. This driver is for the
672 simple I2C bus used on newer Simtec products for general
673 I2C, such as DDC on the Simtec BBD2016A.
674
01dd2fbf 675 This driver can also be built as a module. If so, the module
bcda9f1e
BD
676 will be called i2c-simtec.
677
979b907f
ZS
678config I2C_SIRF
679 tristate "CSR SiRFprimaII I2C interface"
680 depends on ARCH_PRIMA2
681 help
682 If you say yes to this option, support will be included for the
683 CSR SiRFprimaII I2C interface.
684
685 This driver can also be built as a module. If so, the module
686 will be called i2c-sirf.
687
18904c0e
LW
688config I2C_STU300
689 tristate "ST Microelectronics DDC I2C interface"
4eaad8ad 690 depends on MACH_U300
18904c0e
LW
691 default y if MACH_U300
692 help
693 If you say yes to this option, support will be included for the
694 I2C interface from ST Microelectronics simply called "DDC I2C"
695 supporting both I2C and DDC, used in e.g. the U300 series
696 mobile platforms.
697
698 This driver can also be built as a module. If so, the module
699 will be called i2c-stu300.
700
db811ca0
CC
701config I2C_TEGRA
702 tristate "NVIDIA Tegra internal I2C controller"
703 depends on ARCH_TEGRA
704 help
705 If you say yes to this option, support will be included for the
706 I2C controller embedded in NVIDIA Tegra SOCs
707
f5b728a1
JD
708config I2C_VERSATILE
709 tristate "ARM Versatile/Realview I2C bus support"
ceade897 710 depends on ARCH_VERSATILE || ARCH_REALVIEW || ARCH_VEXPRESS
1da177e4
LT
711 select I2C_ALGOBIT
712 help
f5b728a1
JD
713 Say yes if you want to support the I2C serial bus on ARMs Versatile
714 range of platforms.
1da177e4 715
f5b728a1
JD
716 This driver can also be built as a module. If so, the module
717 will be called i2c-versatile.
1da177e4 718
560746eb
TP
719config I2C_WMT
720 tristate "Wondermedia WM8xxx SoC I2C bus support"
721 depends on ARCH_VT8500
722 help
723 Say yes if you want to support the I2C bus on Wondermedia 8xxx-series
724 SoCs.
725
726 This driver can also be built as a module. If so, the module will be
727 called i2c-wmt.
728
85660f43
RB
729config I2C_OCTEON
730 tristate "Cavium OCTEON I2C bus support"
731 depends on CPU_CAVIUM_OCTEON
732 help
733 Say yes if you want to support the I2C serial bus on Cavium
734 OCTEON SOC.
735
736 This driver can also be built as a module. If so, the module
737 will be called i2c-octeon.
738
e1d5b659
RR
739config I2C_XILINX
740 tristate "Xilinx I2C Controller"
417e86ce 741 depends on HAS_IOMEM
e1d5b659
RR
742 help
743 If you say yes to this option, support will be included for the
744 Xilinx I2C controller.
745
746 This driver can also be built as a module. If so, the module
747 will be called xilinx_i2c.
748
401c3434
GR
749config I2C_XLR
750 tristate "XLR I2C support"
751 depends on CPU_XLR
752 help
753 This driver enables support for the on-chip I2C interface of
754 the Netlogic XLR/XLS MIPS processors.
755
756 This driver can also be built as a module. If so, the module
757 will be called i2c-xlr.
758
6ccbe607
KM
759config I2C_RCAR
760 tristate "Renesas R-Car I2C Controller"
761 depends on ARCH_SHMOBILE && I2C
762 help
763 If you say yes to this option, support will be included for the
764 R-Car I2C controller.
765
766 This driver can also be built as a module. If so, the module
767 will be called i2c-rcar.
768
f5b728a1 769comment "External I2C/SMBus adapter drivers"
11de70bd 770
335d7c58
GR
771config I2C_DIOLAN_U2C
772 tristate "Diolan U2C-12 USB adapter"
773 depends on USB
774 help
775 If you say yes to this option, support will be included for Diolan
776 U2C-12, a USB to I2C interface.
777
778 This driver can also be built as a module. If so, the module
779 will be called i2c-diolan-u2c.
780
f5b728a1
JD
781config I2C_PARPORT
782 tristate "Parallel port adapter"
aaaf9cf7 783 depends on PARPORT && GENERIC_HARDIRQS
f5b728a1 784 select I2C_ALGOBIT
35859254 785 select I2C_SMBUS
1da177e4 786 help
f5b728a1
JD
787 This supports parallel port I2C adapters such as the ones made by
788 Philips or Velleman, Analog Devices evaluation boards, and more.
789 Basically any adapter using the parallel port as an I2C bus with
790 no extra chipset is supported by this driver, or could be.
1da177e4 791
f5b728a1
JD
792 This driver is a replacement for (and was inspired by) an older
793 driver named i2c-philips-par. The new driver supports more devices,
794 and makes it easier to add support for new devices.
1da177e4 795
f5b728a1
JD
796 An adapter type parameter is now mandatory. Please read the file
797 Documentation/i2c/busses/i2c-parport for details.
1da177e4 798
f5b728a1
JD
799 Another driver exists, named i2c-parport-light, which doesn't depend
800 on the parport driver. This is meant for embedded systems. Don't say
801 Y here if you intend to say Y or M there.
1da177e4 802
4c03f68f 803 This support is also available as a module. If so, the module
f5b728a1 804 will be called i2c-parport.
1da177e4 805
f5b728a1
JD
806config I2C_PARPORT_LIGHT
807 tristate "Parallel port adapter (light)"
aaaf9cf7 808 depends on GENERIC_HARDIRQS
f5b728a1 809 select I2C_ALGOBIT
927ab2f8 810 select I2C_SMBUS
1da177e4 811 help
f5b728a1
JD
812 This supports parallel port I2C adapters such as the ones made by
813 Philips or Velleman, Analog Devices evaluation boards, and more.
814 Basically any adapter using the parallel port as an I2C bus with
815 no extra chipset is supported by this driver, or could be.
1da177e4 816
f5b728a1
JD
817 This driver is a light version of i2c-parport. It doesn't depend
818 on the parport driver, and uses direct I/O access instead. This
819 might be preferred on embedded systems where wasting memory for
820 the clean but heavy parport handling is not an option. The
821 drawback is a reduced portability and the impossibility to
822 daisy-chain other parallel port devices.
1da177e4 823
f5b728a1
JD
824 Don't say Y here if you said Y or M to i2c-parport. Saying M to
825 both is possible but both modules should not be loaded at the same
826 time.
1da177e4 827
f5b728a1
JD
828 This support is also available as a module. If so, the module
829 will be called i2c-parport-light.
1da177e4 830
b9cdad74
JD
831config I2C_TAOS_EVM
832 tristate "TAOS evaluation module"
21eaab6d 833 depends on TTY
b9cdad74
JD
834 select SERIO
835 select SERIO_SERPORT
836 default n
837 help
838 This supports TAOS evaluation modules on serial port. In order to
839 use this driver, you will need the inputattach tool, which is part
840 of the input-utils package.
841
842 If unsure, say N.
843
844 This support is also available as a module. If so, the module
845 will be called i2c-taos-evm.
846
e8c76eed 847config I2C_TINY_USB
f5b728a1 848 tristate "Tiny-USB adapter"
e8c76eed
TH
849 depends on USB
850 help
851 If you say yes to this option, support will be included for the
852 i2c-tiny-usb, a simple do-it-yourself USB to I2C interface. See
853 http://www.harbaum.org/till/i2c_tiny_usb for hardware details.
854
855 This driver can also be built as a module. If so, the module
856 will be called i2c-tiny-usb.
857
174a13aa
LP
858config I2C_VIPERBOARD
859 tristate "Viperboard I2C master support"
860 depends on MFD_VIPERBOARD && USB
861 help
862 Say yes here to access the I2C part of the Nano River
863 Technologies Viperboard as I2C master.
864 See viperboard API specification and Nano
865 River Tech's viperboard.h for detailed meaning
866 of the module parameters.
867
f5b728a1 868comment "Other I2C/SMBus bus drivers"
6b65cd74 869
8d91cbad 870config I2C_ACORN
2a9915c8 871 tristate "Acorn IOC/IOMD I2C bus support"
16538e6b 872 depends on ARCH_ACORN
8d91cbad
RK
873 default y
874 select I2C_ALGOBIT
875 help
876 Say yes if you want to support the I2C bus on Acorn platforms.
877
878 If you don't know, say Y.
879
f5b728a1
JD
880config I2C_ELEKTOR
881 tristate "Elektor ISA card"
9519282a 882 depends on ISA && HAS_IOPORT && BROKEN_ON_SMP
f5b728a1 883 select I2C_ALGOPCF
1da177e4 884 help
f5b728a1
JD
885 This supports the PCF8584 ISA bus I2C adapter. Say Y if you own
886 such an adapter.
1da177e4 887
f5b728a1
JD
888 This support is also available as a module. If so, the module
889 will be called i2c-elektor.
1da177e4
LT
890
891config I2C_PCA_ISA
eff9ec95 892 tristate "PCA9564/PCA9665 on an ISA bus"
16538e6b 893 depends on ISA
1da177e4 894 select I2C_ALGOPCA
aee62305 895 default n
1da177e4 896 help
eff9ec95 897 This driver supports ISA boards using the Philips PCA9564/PCA9665
244fbbb8 898 parallel bus to I2C bus controller.
4c03f68f 899
1da177e4
LT
900 This driver can also be built as a module. If so, the module
901 will be called i2c-pca-isa.
902
aee62305
JD
903 This device is almost undetectable and using this driver on a
904 system which doesn't have this device will result in long
905 delays when I2C/SMBus chip drivers are loaded (e.g. at boot
906 time). If unsure, say N.
907
f5b728a1
JD
908config I2C_SIBYTE
909 tristate "SiByte SMBus interface"
910 depends on SIBYTE_SB1xxx_SOC
a26c20b1 911 help
f5b728a1 912 Supports the SiByte SOC on-chip I2C interfaces (2 channels).
a26c20b1 913
f5b728a1
JD
914config SCx200_I2C
915 tristate "NatSemi SCx200 I2C using GPIO pins (DEPRECATED)"
916 depends on SCx200_GPIO
917 select I2C_ALGOBIT
da672773 918 help
f5b728a1 919 Enable the use of two GPIO pins of a SCx200 processor as an I2C bus.
da672773 920
f5b728a1
JD
921 If you don't know what to do here, say N.
922
923 This support is also available as a module. If so, the module
924 will be called scx200_i2c.
925
926 This driver is deprecated and will be dropped soon. Use i2c-gpio
927 (or scx200_acb) instead.
928
929config SCx200_I2C_SCL
930 int "GPIO pin used for SCL"
931 depends on SCx200_I2C
932 default "12"
933 help
934 Enter the GPIO pin number used for the SCL signal. This value can
935 also be specified with a module parameter.
936
937config SCx200_I2C_SDA
938 int "GPIO pin used for SDA"
939 depends on SCx200_I2C
940 default "13"
941 help
942 Enter the GPIO pin number used for the SSA signal. This value can
943 also be specified with a module parameter.
944
945config SCx200_ACB
946 tristate "Geode ACCESS.bus support"
947 depends on X86_32 && PCI
948 help
949 Enable the use of the ACCESS.bus controllers on the Geode SCx200 and
950 SC1100 processors and the CS5535 and CS5536 Geode companion devices.
951
952 If you don't know what to do here, say N.
953
954 This support is also available as a module. If so, the module
955 will be called scx200_acb.
da672773 956
1da177e4 957endmenu