aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean Delvare <khali@linux-fr.org>2008-07-14 16:38:23 -0400
committerJean Delvare <khali@mahadeva.delvare>2008-07-14 16:38:23 -0400
commitf5b728a164b22ec38a5657ebe038def36ffae98b (patch)
tree5148c61f481b7335dca733a764ed21dbeae2cdde
parent24a5bb7b1838dc4524dd353224e2aa09c22cac3b (diff)
i2c: Group bus drivers by type
The list of I2C/SMBus bus drivers is growing and it is sometimes difficult for the users to figure out what drivers they should enable. By grouping the drivers by type, I hope to make the selection easier. Signed-off-by: Jean Delvare <khali@linux-fr.org>
-rw-r--r--drivers/i2c/busses/Kconfig661
-rw-r--r--drivers/i2c/busses/Makefile53
2 files changed, 370 insertions, 344 deletions
diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig
index 37f5b84e0e9c..2b0874b0ad11 100644
--- a/drivers/i2c/busses/Kconfig
+++ b/drivers/i2c/busses/Kconfig
@@ -4,6 +4,9 @@
4 4
5menu "I2C Hardware Bus support" 5menu "I2C Hardware Bus support"
6 6
7comment "PC SMBus host controller drivers"
8 depends on PCI
9
7config I2C_ALI1535 10config I2C_ALI1535
8 tristate "ALI 1535" 11 tristate "ALI 1535"
9 depends on PCI 12 depends on PCI
@@ -73,6 +76,176 @@ config I2C_AMD8111
73 This driver can also be built as a module. If so, the module 76 This driver can also be built as a module. If so, the module
74 will be called i2c-amd8111. 77 will be called i2c-amd8111.
75 78
79config I2C_I801
80 tristate "Intel 82801 (ICH)"
81 depends on PCI
82 help
83 If you say yes to this option, support will be included for the Intel
84 801 family of mainboard I2C interfaces. Specifically, the following
85 versions of the chipset are supported:
86 82801AA
87 82801AB
88 82801BA
89 82801CA/CAM
90 82801DB
91 82801EB/ER (ICH5/ICH5R)
92 6300ESB
93 ICH6
94 ICH7
95 ESB2
96 ICH8
97 ICH9
98 Tolapai
99 ICH10
100
101 This driver can also be built as a module. If so, the module
102 will be called i2c-i801.
103
104config I2C_PIIX4
105 tristate "Intel PIIX4 and compatible (ATI/Serverworks/Broadcom/SMSC)"
106 depends on PCI
107 help
108 If you say yes to this option, support will be included for the Intel
109 PIIX4 family of mainboard I2C interfaces. Specifically, the following
110 versions of the chipset are supported (note that Serverworks is part
111 of Broadcom):
112 Intel PIIX4
113 Intel 440MX
114 ATI IXP200
115 ATI IXP300
116 ATI IXP400
117 ATI SB600
118 ATI SB700
119 ATI SB800
120 Serverworks OSB4
121 Serverworks CSB5
122 Serverworks CSB6
123 Serverworks HT-1000
124 SMSC Victory66
125
126 This driver can also be built as a module. If so, the module
127 will be called i2c-piix4.
128
129config I2C_NFORCE2
130 tristate "Nvidia nForce2, nForce3 and nForce4"
131 depends on PCI
132 help
133 If you say yes to this option, support will be included for the Nvidia
134 nForce2, nForce3 and nForce4 families of mainboard I2C interfaces.
135
136 This driver can also be built as a module. If so, the module
137 will be called i2c-nforce2.
138
139config I2C_NFORCE2_S4985
140 tristate "SMBus multiplexing on the Tyan S4985"
141 depends on I2C_NFORCE2 && EXPERIMENTAL
142 help
143 Enabling this option will add specific SMBus support for the Tyan
144 S4985 motherboard. On this 4-CPU board, the SMBus is multiplexed
145 over 4 different channels, where the various memory module EEPROMs
146 live. Saying yes here will give you access to these in addition
147 to the trunk.
148
149 This driver can also be built as a module. If so, the module
150 will be called i2c-nforce2-s4985.
151
152config I2C_SIS5595
153 tristate "SiS 5595"
154 depends on PCI
155 help
156 If you say yes to this option, support will be included for the
157 SiS5595 SMBus (a subset of I2C) interface.
158
159 This driver can also be built as a module. If so, the module
160 will be called i2c-sis5595.
161
162config I2C_SIS630
163 tristate "SiS 630/730"
164 depends on PCI
165 help
166 If you say yes to this option, support will be included for the
167 SiS630 and SiS730 SMBus (a subset of I2C) interface.
168
169 This driver can also be built as a module. If so, the module
170 will be called i2c-sis630.
171
172config I2C_SIS96X
173 tristate "SiS 96x"
174 depends on PCI
175 help
176 If you say yes to this option, support will be included for the SiS
177 96x SMBus (a subset of I2C) interfaces. Specifically, the following
178 chipsets are supported:
179 645/961
180 645DX/961
181 645DX/962
182 648/961
183 650/961
184 735
185 745
186
187 This driver can also be built as a module. If so, the module
188 will be called i2c-sis96x.
189
190config I2C_VIA
191 tristate "VIA VT82C586B"
192 depends on PCI && EXPERIMENTAL
193 select I2C_ALGOBIT
194 help
195 If you say yes to this option, support will be included for the VIA
196 82C586B I2C interface
197
198 This driver can also be built as a module. If so, the module
199 will be called i2c-via.
200
201config I2C_VIAPRO
202 tristate "VIA VT82C596/82C686/82xx and CX700"
203 depends on PCI
204 help
205 If you say yes to this option, support will be included for the VIA
206 VT82C596 and later SMBus interface. Specifically, the following
207 chipsets are supported:
208 VT82C596A/B
209 VT82C686A/B
210 VT8231
211 VT8233/A
212 VT8235
213 VT8237R/A/S
214 VT8251
215 CX700
216
217 This driver can also be built as a module. If so, the module
218 will be called i2c-viapro.
219
220comment "Mac SMBus host controller drivers"
221 depends on PPC_CHRP || PPC_PMAC
222
223config I2C_HYDRA
224 tristate "CHRP Apple Hydra Mac I/O I2C interface"
225 depends on PCI && PPC_CHRP && EXPERIMENTAL
226 select I2C_ALGOBIT
227 help
228 This supports the use of the I2C interface in the Apple Hydra Mac
229 I/O chip on some CHRP machines (e.g. the LongTrail). Say Y if you
230 have such a machine.
231
232 This support is also available as a module. If so, the module
233 will be called i2c-hydra.
234
235config I2C_POWERMAC
236 tristate "Powermac I2C interface"
237 depends on PPC_PMAC
238 default y
239 help
240 This exposes the various PowerMac i2c interfaces to the linux i2c
241 layer and to userland. It is used by various drivers on the PowerMac
242 platform, and should generally be enabled.
243
244 This support is also available as a module. If so, the module
245 will be called i2c-powermac.
246
247comment "I2C system bus drivers (mostly embedded / system-on-chip)"
248
76config I2C_AT91 249config I2C_AT91
77 tristate "Atmel AT91 I2C Two-Wire interface (TWI)" 250 tristate "Atmel AT91 I2C Two-Wire interface (TWI)"
78 depends on ARCH_AT91 && EXPERIMENTAL && BROKEN 251 depends on ARCH_AT91 && EXPERIMENTAL && BROKEN
@@ -129,17 +302,6 @@ config I2C_DAVINCI
129 devices such as DaVinci NIC. 302 devices such as DaVinci NIC.
130 For details please see http://www.ti.com/davinci 303 For details please see http://www.ti.com/davinci
131 304
132config I2C_ELEKTOR
133 tristate "Elektor ISA card"
134 depends on ISA && BROKEN_ON_SMP
135 select I2C_ALGOPCF
136 help
137 This supports the PCF8584 ISA bus I2C adapter. Say Y if you own
138 such an adapter.
139
140 This support is also available as a module. If so, the module
141 will be called i2c-elektor.
142
143config I2C_GPIO 305config I2C_GPIO
144 tristate "GPIO-based bitbanging I2C" 306 tristate "GPIO-based bitbanging I2C"
145 depends on GENERIC_GPIO 307 depends on GENERIC_GPIO
@@ -148,84 +310,6 @@ config I2C_GPIO
148 This is a very simple bitbanging I2C driver utilizing the 310 This is a very simple bitbanging I2C driver utilizing the
149 arch-neutral GPIO API to control the SCL and SDA lines. 311 arch-neutral GPIO API to control the SCL and SDA lines.
150 312
151config I2C_HYDRA
152 tristate "CHRP Apple Hydra Mac I/O I2C interface"
153 depends on PCI && PPC_CHRP && EXPERIMENTAL
154 select I2C_ALGOBIT
155 help
156 This supports the use of the I2C interface in the Apple Hydra Mac
157 I/O chip on some CHRP machines (e.g. the LongTrail). Say Y if you
158 have such a machine.
159
160 This support is also available as a module. If so, the module
161 will be called i2c-hydra.
162
163config I2C_I801
164 tristate "Intel 82801 (ICH)"
165 depends on PCI
166 help
167 If you say yes to this option, support will be included for the Intel
168 801 family of mainboard I2C interfaces. Specifically, the following
169 versions of the chipset are supported:
170 82801AA
171 82801AB
172 82801BA
173 82801CA/CAM
174 82801DB
175 82801EB/ER (ICH5/ICH5R)
176 6300ESB
177 ICH6
178 ICH7
179 ESB2
180 ICH8
181 ICH9
182 Tolapai
183 ICH10
184
185 This driver can also be built as a module. If so, the module
186 will be called i2c-i801.
187
188config I2C_PXA
189 tristate "Intel PXA2XX I2C adapter (EXPERIMENTAL)"
190 depends on EXPERIMENTAL && ARCH_PXA
191 help
192 If you have devices in the PXA I2C bus, say yes to this option.
193 This driver can also be built as a module. If so, the module
194 will be called i2c-pxa.
195
196config I2C_PXA_SLAVE
197 bool "Intel PXA2XX I2C Slave comms support"
198 depends on I2C_PXA
199 help
200 Support I2C slave mode communications on the PXA I2C bus. This
201 is necessary for systems where the PXA may be a target on the
202 I2C bus.
203
204config I2C_PIIX4
205 tristate "Intel PIIX4 and compatible (ATI/Serverworks/Broadcom/SMSC)"
206 depends on PCI
207 help
208 If you say yes to this option, support will be included for the Intel
209 PIIX4 family of mainboard I2C interfaces. Specifically, the following
210 versions of the chipset are supported (note that Serverworks is part
211 of Broadcom):
212 Intel PIIX4
213 Intel 440MX
214 ATI IXP200
215 ATI IXP300
216 ATI IXP400
217 ATI SB600
218 ATI SB700
219 ATI SB800
220 Serverworks OSB4
221 Serverworks CSB5
222 Serverworks CSB6
223 Serverworks HT-1000
224 SMSC Victory66
225
226 This driver can also be built as a module. If so, the module
227 will be called i2c-piix4.
228
229config I2C_IBM_IIC 313config I2C_IBM_IIC
230 tristate "IBM PPC 4xx on-chip I2C interface" 314 tristate "IBM PPC 4xx on-chip I2C interface"
231 depends on 4xx 315 depends on 4xx
@@ -260,18 +344,6 @@ config I2C_IXP2000
260 This driver is deprecated and will be dropped soon. Use i2c-gpio 344 This driver is deprecated and will be dropped soon. Use i2c-gpio
261 instead. 345 instead.
262 346
263config I2C_POWERMAC
264 tristate "Powermac I2C interface"
265 depends on PPC_PMAC
266 default y
267 help
268 This exposes the various PowerMac i2c interfaces to the linux i2c
269 layer and to userland. It is used by various drivers on the PowerMac
270 platform, and should generally be enabled.
271
272 This support is also available as a module. If so, the module
273 will be called i2c-powermac.
274
275config I2C_MPC 347config I2C_MPC
276 tristate "MPC107/824x/85xx/52xx/86xx" 348 tristate "MPC107/824x/85xx/52xx/86xx"
277 depends on PPC32 349 depends on PPC32
@@ -284,28 +356,15 @@ config I2C_MPC
284 This driver can also be built as a module. If so, the module 356 This driver can also be built as a module. If so, the module
285 will be called i2c-mpc. 357 will be called i2c-mpc.
286 358
287config I2C_NFORCE2 359config I2C_MV64XXX
288 tristate "Nvidia nForce2, nForce3 and nForce4" 360 tristate "Marvell mv64xxx I2C Controller"
289 depends on PCI 361 depends on (MV64X60 || PLAT_ORION) && EXPERIMENTAL
290 help
291 If you say yes to this option, support will be included for the Nvidia
292 nForce2, nForce3 and nForce4 families of mainboard I2C interfaces.
293
294 This driver can also be built as a module. If so, the module
295 will be called i2c-nforce2.
296
297config I2C_NFORCE2_S4985
298 tristate "SMBus multiplexing on the Tyan S4985"
299 depends on I2C_NFORCE2 && EXPERIMENTAL
300 help 362 help
301 Enabling this option will add specific SMBus support for the Tyan 363 If you say yes to this option, support will be included for the
302 S4985 motherboard. On this 4-CPU board, the SMBus is multiplexed 364 built-in I2C interface on the Marvell 64xxx line of host bridges.
303 over 4 different channels, where the various memory module EEPROMs
304 live. Saying yes here will give you access to these in addition
305 to the trunk.
306 365
307 This driver can also be built as a module. If so, the module 366 This driver can also be built as a module. If so, the module
308 will be called i2c-nforce2-s4985. 367 will be called i2c-mv64xxx.
309 368
310config I2C_OCORES 369config I2C_OCORES
311 tristate "OpenCores I2C Controller" 370 tristate "OpenCores I2C Controller"
@@ -328,6 +387,89 @@ config I2C_OMAP
328 Like OMAP1510/1610/1710/5912 and OMAP242x. 387 Like OMAP1510/1610/1710/5912 and OMAP242x.
329 For details see http://www.ti.com/omap. 388 For details see http://www.ti.com/omap.
330 389
390config I2C_PASEMI
391 tristate "PA Semi SMBus interface"
392 depends on PPC_PASEMI && PCI
393 help
394 Supports the PA Semi PWRficient on-chip SMBus interfaces.
395
396config I2C_PNX
397 tristate "I2C bus support for Philips PNX targets"
398 depends on ARCH_PNX4008
399 help
400 This driver supports the Philips IP3204 I2C IP block master and/or
401 slave controller
402
403 This driver can also be built as a module. If so, the module
404 will be called i2c-pnx.
405
406config I2C_PXA
407 tristate "Intel PXA2XX I2C adapter (EXPERIMENTAL)"
408 depends on EXPERIMENTAL && ARCH_PXA
409 help
410 If you have devices in the PXA I2C bus, say yes to this option.
411 This driver can also be built as a module. If so, the module
412 will be called i2c-pxa.
413
414config I2C_PXA_SLAVE
415 bool "Intel PXA2XX I2C Slave comms support"
416 depends on I2C_PXA
417 help
418 Support I2C slave mode communications on the PXA I2C bus. This
419 is necessary for systems where the PXA may be a target on the
420 I2C bus.
421
422config I2C_S3C2410
423 tristate "S3C2410 I2C Driver"
424 depends on ARCH_S3C2410
425 help
426 Say Y here to include support for I2C controller in the
427 Samsung S3C2410 based System-on-Chip devices.
428
429config I2C_SH7760
430 tristate "Renesas SH7760 I2C Controller"
431 depends on CPU_SUBTYPE_SH7760
432 help
433 This driver supports the 2 I2C interfaces on the Renesas SH7760.
434
435 This driver can also be built as a module. If so, the module
436 will be called i2c-sh7760.
437
438config I2C_SH_MOBILE
439 tristate "SuperH Mobile I2C Controller"
440 depends on SUPERH
441 help
442 If you say yes to this option, support will be included for the
443 built-in I2C interface on the Renesas SH-Mobile processor.
444
445 This driver can also be built as a module. If so, the module
446 will be called i2c-sh_mobile.
447
448config I2C_SIMTEC
449 tristate "Simtec Generic I2C interface"
450 select I2C_ALGOBIT
451 help
452 If you say yes to this option, support will be included for
453 the Simtec Generic I2C interface. This driver is for the
454 simple I2C bus used on newer Simtec products for general
455 I2C, such as DDC on the Simtec BBD2016A.
456
457 This driver can also be built as a module. If so, the module
458 will be called i2c-simtec.
459
460config I2C_VERSATILE
461 tristate "ARM Versatile/Realview I2C bus support"
462 depends on ARCH_VERSATILE || ARCH_REALVIEW
463 select I2C_ALGOBIT
464 help
465 Say yes if you want to support the I2C serial bus on ARMs Versatile
466 range of platforms.
467
468 This driver can also be built as a module. If so, the module
469 will be called i2c-versatile.
470
471comment "External I2C/SMBus adapter drivers"
472
331config I2C_PARPORT 473config I2C_PARPORT
332 tristate "Parallel port adapter" 474 tristate "Parallel port adapter"
333 depends on PARPORT 475 depends on PARPORT
@@ -375,118 +517,6 @@ config I2C_PARPORT_LIGHT
375 This support is also available as a module. If so, the module 517 This support is also available as a module. If so, the module
376 will be called i2c-parport-light. 518 will be called i2c-parport-light.
377 519
378config I2C_PASEMI
379 tristate "PA Semi SMBus interface"
380 depends on PPC_PASEMI && PCI
381 help
382 Supports the PA Semi PWRficient on-chip SMBus interfaces.
383
384config I2C_S3C2410
385 tristate "S3C2410 I2C Driver"
386 depends on ARCH_S3C2410
387 help
388 Say Y here to include support for I2C controller in the
389 Samsung S3C2410 based System-on-Chip devices.
390
391config I2C_SIBYTE
392 tristate "SiByte SMBus interface"
393 depends on SIBYTE_SB1xxx_SOC
394 help
395 Supports the SiByte SOC on-chip I2C interfaces (2 channels).
396
397config I2C_SIMTEC
398 tristate "Simtec Generic I2C interface"
399 select I2C_ALGOBIT
400 help
401 If you say yes to this option, support will be included for
402 the Simtec Generic I2C interface. This driver is for the
403 simple I2C bus used on newer Simtec products for general
404 I2C, such as DDC on the Simtec BBD2016A.
405
406 This driver can also be built as a module. If so, the module
407 will be called i2c-simtec.
408
409config SCx200_I2C
410 tristate "NatSemi SCx200 I2C using GPIO pins (DEPRECATED)"
411 depends on SCx200_GPIO
412 select I2C_ALGOBIT
413 help
414 Enable the use of two GPIO pins of a SCx200 processor as an I2C bus.
415
416 If you don't know what to do here, say N.
417
418 This support is also available as a module. If so, the module
419 will be called scx200_i2c.
420
421 This driver is deprecated and will be dropped soon. Use i2c-gpio
422 (or scx200_acb) instead.
423
424config SCx200_I2C_SCL
425 int "GPIO pin used for SCL"
426 depends on SCx200_I2C
427 default "12"
428 help
429 Enter the GPIO pin number used for the SCL signal. This value can
430 also be specified with a module parameter.
431
432config SCx200_I2C_SDA
433 int "GPIO pin used for SDA"
434 depends on SCx200_I2C
435 default "13"
436 help
437 Enter the GPIO pin number used for the SSA signal. This value can
438 also be specified with a module parameter.
439
440config SCx200_ACB
441 tristate "Geode ACCESS.bus support"
442 depends on X86_32 && PCI
443 help
444 Enable the use of the ACCESS.bus controllers on the Geode SCx200 and
445 SC1100 processors and the CS5535 and CS5536 Geode companion devices.
446
447 If you don't know what to do here, say N.
448
449 This support is also available as a module. If so, the module
450 will be called scx200_acb.
451
452config I2C_SIS5595
453 tristate "SiS 5595"
454 depends on PCI
455 help
456 If you say yes to this option, support will be included for the
457 SiS5595 SMBus (a subset of I2C) interface.
458
459 This driver can also be built as a module. If so, the module
460 will be called i2c-sis5595.
461
462config I2C_SIS630
463 tristate "SiS 630/730"
464 depends on PCI
465 help
466 If you say yes to this option, support will be included for the
467 SiS630 and SiS730 SMBus (a subset of I2C) interface.
468
469 This driver can also be built as a module. If so, the module
470 will be called i2c-sis630.
471
472config I2C_SIS96X
473 tristate "SiS 96x"
474 depends on PCI
475 help
476 If you say yes to this option, support will be included for the SiS
477 96x SMBus (a subset of I2C) interfaces. Specifically, the following
478 chipsets are supported:
479 645/961
480 645DX/961
481 645DX/962
482 648/961
483 650/961
484 735
485 745
486
487 This driver can also be built as a module. If so, the module
488 will be called i2c-sis96x.
489
490config I2C_TAOS_EVM 520config I2C_TAOS_EVM
491 tristate "TAOS evaluation module" 521 tristate "TAOS evaluation module"
492 depends on EXPERIMENTAL 522 depends on EXPERIMENTAL
@@ -503,21 +533,8 @@ config I2C_TAOS_EVM
503 This support is also available as a module. If so, the module 533 This support is also available as a module. If so, the module
504 will be called i2c-taos-evm. 534 will be called i2c-taos-evm.
505 535
506config I2C_STUB
507 tristate "I2C/SMBus Test Stub"
508 depends on EXPERIMENTAL && m
509 default 'n'
510 help
511 This module may be useful to developers of SMBus client drivers,
512 especially for certain kinds of sensor chips.
513
514 If you do build this module, be sure to read the notes and warnings
515 in <file:Documentation/i2c/i2c-stub>.
516
517 If you don't know what to do here, definitely say N.
518
519config I2C_TINY_USB 536config I2C_TINY_USB
520 tristate "I2C-Tiny-USB" 537 tristate "Tiny-USB adapter"
521 depends on USB 538 depends on USB
522 help 539 help
523 If you say yes to this option, support will be included for the 540 If you say yes to this option, support will be included for the
@@ -527,16 +544,21 @@ config I2C_TINY_USB
527 This driver can also be built as a module. If so, the module 544 This driver can also be built as a module. If so, the module
528 will be called i2c-tiny-usb. 545 will be called i2c-tiny-usb.
529 546
530config I2C_VERSATILE 547comment "Graphics adapter I2C/DDC channel drivers"
531 tristate "ARM Versatile/Realview I2C bus support" 548 depends on PCI
532 depends on ARCH_VERSATILE || ARCH_REALVIEW 549
550config I2C_VOODOO3
551 tristate "Voodoo 3"
552 depends on PCI
533 select I2C_ALGOBIT 553 select I2C_ALGOBIT
534 help 554 help
535 Say yes if you want to support the I2C serial bus on ARMs Versatile 555 If you say yes to this option, support will be included for the
536 range of platforms. 556 Voodoo 3 I2C interface.
537 557
538 This driver can also be built as a module. If so, the module 558 This driver can also be built as a module. If so, the module
539 will be called i2c-versatile. 559 will be called i2c-voodoo3.
560
561comment "Other I2C/SMBus bus drivers"
540 562
541config I2C_ACORN 563config I2C_ACORN
542 tristate "Acorn IOC/IOMD I2C bus support" 564 tristate "Acorn IOC/IOMD I2C bus support"
@@ -548,46 +570,16 @@ config I2C_ACORN
548 570
549 If you don't know, say Y. 571 If you don't know, say Y.
550 572
551config I2C_VIA 573config I2C_ELEKTOR
552 tristate "VIA 82C586B" 574 tristate "Elektor ISA card"
553 depends on PCI && EXPERIMENTAL 575 depends on ISA && BROKEN_ON_SMP
554 select I2C_ALGOBIT 576 select I2C_ALGOPCF
555 help
556 If you say yes to this option, support will be included for the VIA
557 82C586B I2C interface
558
559 This driver can also be built as a module. If so, the module
560 will be called i2c-via.
561
562config I2C_VIAPRO
563 tristate "VIA VT82C596/82C686/82xx and CX700"
564 depends on PCI
565 help
566 If you say yes to this option, support will be included for the VIA
567 VT82C596 and later SMBus interface. Specifically, the following
568 chipsets are supported:
569 VT82C596A/B
570 VT82C686A/B
571 VT8231
572 VT8233/A
573 VT8235
574 VT8237R/A/S
575 VT8251
576 CX700
577
578 This driver can also be built as a module. If so, the module
579 will be called i2c-viapro.
580
581config I2C_VOODOO3
582 tristate "Voodoo 3"
583 depends on PCI
584 select I2C_ALGOBIT
585 help 577 help
586 If you say yes to this option, support will be included for the 578 This supports the PCF8584 ISA bus I2C adapter. Say Y if you own
587 Voodoo 3 I2C interface. 579 such an adapter.
588 580
589 This driver can also be built as a module. If so, the module 581 This support is also available as a module. If so, the module
590 will be called i2c-voodoo3. 582 will be called i2c-elektor.
591 583
592config I2C_PCA_ISA 584config I2C_PCA_ISA
593 tristate "PCA9564 on an ISA bus" 585 tristate "PCA9564 on an ISA bus"
@@ -617,26 +609,6 @@ config I2C_PCA_PLATFORM
617 This driver can also be built as a module. If so, the module 609 This driver can also be built as a module. If so, the module
618 will be called i2c-pca-platform. 610 will be called i2c-pca-platform.
619 611
620config I2C_MV64XXX
621 tristate "Marvell mv64xxx I2C Controller"
622 depends on (MV64X60 || PLAT_ORION) && EXPERIMENTAL
623 help
624 If you say yes to this option, support will be included for the
625 built-in I2C interface on the Marvell 64xxx line of host bridges.
626
627 This driver can also be built as a module. If so, the module
628 will be called i2c-mv64xxx.
629
630config I2C_PNX
631 tristate "I2C bus support for Philips PNX targets"
632 depends on ARCH_PNX4008
633 help
634 This driver supports the Philips IP3204 I2C IP block master and/or
635 slave controller
636
637 This driver can also be built as a module. If so, the module
638 will be called i2c-pnx.
639
640config I2C_PMCMSP 612config I2C_PMCMSP
641 tristate "PMC MSP I2C TWI Controller" 613 tristate "PMC MSP I2C TWI Controller"
642 depends on PMC_MSP 614 depends on PMC_MSP
@@ -646,23 +618,66 @@ config I2C_PMCMSP
646 This driver can also be built as module. If so, the module 618 This driver can also be built as module. If so, the module
647 will be called i2c-pmcmsp. 619 will be called i2c-pmcmsp.
648 620
649config I2C_SH7760 621config I2C_SIBYTE
650 tristate "Renesas SH7760 I2C Controller" 622 tristate "SiByte SMBus interface"
651 depends on CPU_SUBTYPE_SH7760 623 depends on SIBYTE_SB1xxx_SOC
652 help 624 help
653 This driver supports the 2 I2C interfaces on the Renesas SH7760. 625 Supports the SiByte SOC on-chip I2C interfaces (2 channels).
654 626
655 This driver can also be built as a module. If so, the module 627config I2C_STUB
656 will be called i2c-sh7760. 628 tristate "I2C/SMBus Test Stub"
629 depends on EXPERIMENTAL && m
630 default 'n'
631 help
632 This module may be useful to developers of SMBus client drivers,
633 especially for certain kinds of sensor chips.
657 634
658config I2C_SH_MOBILE 635 If you do build this module, be sure to read the notes and warnings
659 tristate "SuperH Mobile I2C Controller" 636 in <file:Documentation/i2c/i2c-stub>.
660 depends on SUPERH 637
638 If you don't know what to do here, definitely say N.
639
640config SCx200_I2C
641 tristate "NatSemi SCx200 I2C using GPIO pins (DEPRECATED)"
642 depends on SCx200_GPIO
643 select I2C_ALGOBIT
661 help 644 help
662 If you say yes to this option, support will be included for the 645 Enable the use of two GPIO pins of a SCx200 processor as an I2C bus.
663 built-in I2C interface on the Renesas SH-Mobile processor.
664 646
665 This driver can also be built as a module. If so, the module 647 If you don't know what to do here, say N.
666 will be called i2c-sh_mobile. 648
649 This support is also available as a module. If so, the module
650 will be called scx200_i2c.
651
652 This driver is deprecated and will be dropped soon. Use i2c-gpio
653 (or scx200_acb) instead.
654
655config SCx200_I2C_SCL
656 int "GPIO pin used for SCL"
657 depends on SCx200_I2C
658 default "12"
659 help
660 Enter the GPIO pin number used for the SCL signal. This value can
661 also be specified with a module parameter.
662
663config SCx200_I2C_SDA
664 int "GPIO pin used for SDA"
665 depends on SCx200_I2C
666 default "13"
667 help
668 Enter the GPIO pin number used for the SSA signal. This value can
669 also be specified with a module parameter.
670
671config SCx200_ACB
672 tristate "Geode ACCESS.bus support"
673 depends on X86_32 && PCI
674 help
675 Enable the use of the ACCESS.bus controllers on the Geode SCx200 and
676 SC1100 processors and the CS5535 and CS5536 Geode companion devices.
677
678 If you don't know what to do here, say N.
679
680 This support is also available as a module. If so, the module
681 will be called scx200_acb.
667 682
668endmenu 683endmenu
diff --git a/drivers/i2c/busses/Makefile b/drivers/i2c/busses/Makefile
index 81bb407d24cc..48a6a5bddc5e 100644
--- a/drivers/i2c/busses/Makefile
+++ b/drivers/i2c/busses/Makefile
@@ -2,55 +2,66 @@
2# Makefile for the i2c bus drivers. 2# Makefile for the i2c bus drivers.
3# 3#
4 4
5# PC SMBus host controller drivers
5obj-$(CONFIG_I2C_ALI1535) += i2c-ali1535.o 6obj-$(CONFIG_I2C_ALI1535) += i2c-ali1535.o
6obj-$(CONFIG_I2C_ALI1563) += i2c-ali1563.o 7obj-$(CONFIG_I2C_ALI1563) += i2c-ali1563.o
7obj-$(CONFIG_I2C_ALI15X3) += i2c-ali15x3.o 8obj-$(CONFIG_I2C_ALI15X3) += i2c-ali15x3.o
8obj-$(CONFIG_I2C_AMD756) += i2c-amd756.o 9obj-$(CONFIG_I2C_AMD756) += i2c-amd756.o
9obj-$(CONFIG_I2C_AMD756_S4882) += i2c-amd756-s4882.o 10obj-$(CONFIG_I2C_AMD756_S4882) += i2c-amd756-s4882.o
10obj-$(CONFIG_I2C_AMD8111) += i2c-amd8111.o 11obj-$(CONFIG_I2C_AMD8111) += i2c-amd8111.o
12obj-$(CONFIG_I2C_I801) += i2c-i801.o
13obj-$(CONFIG_I2C_NFORCE2) += i2c-nforce2.o
14obj-$(CONFIG_I2C_NFORCE2_S4985) += i2c-nforce2-s4985.o
15obj-$(CONFIG_I2C_PIIX4) += i2c-piix4.o
16obj-$(CONFIG_I2C_SIS5595) += i2c-sis5595.o
17obj-$(CONFIG_I2C_SIS630) += i2c-sis630.o
18obj-$(CONFIG_I2C_SIS96X) += i2c-sis96x.o
19obj-$(CONFIG_I2C_VIA) += i2c-via.o
20obj-$(CONFIG_I2C_VIAPRO) += i2c-viapro.o
21
22# Mac SMBus host controller drivers
23obj-$(CONFIG_I2C_HYDRA) += i2c-hydra.o
24obj-$(CONFIG_I2C_POWERMAC) += i2c-powermac.o
25
26# Embebbed system I2C/SMBus host controller drivers
11obj-$(CONFIG_I2C_AT91) += i2c-at91.o 27obj-$(CONFIG_I2C_AT91) += i2c-at91.o
12obj-$(CONFIG_I2C_AU1550) += i2c-au1550.o 28obj-$(CONFIG_I2C_AU1550) += i2c-au1550.o
13obj-$(CONFIG_I2C_BLACKFIN_TWI) += i2c-bfin-twi.o 29obj-$(CONFIG_I2C_BLACKFIN_TWI) += i2c-bfin-twi.o
14obj-$(CONFIG_I2C_DAVINCI) += i2c-davinci.o 30obj-$(CONFIG_I2C_DAVINCI) += i2c-davinci.o
15obj-$(CONFIG_I2C_ELEKTOR) += i2c-elektor.o
16obj-$(CONFIG_I2C_GPIO) += i2c-gpio.o 31obj-$(CONFIG_I2C_GPIO) += i2c-gpio.o
17obj-$(CONFIG_I2C_HYDRA) += i2c-hydra.o
18obj-$(CONFIG_I2C_I801) += i2c-i801.o
19obj-$(CONFIG_I2C_IBM_IIC) += i2c-ibm_iic.o 32obj-$(CONFIG_I2C_IBM_IIC) += i2c-ibm_iic.o
20obj-$(CONFIG_I2C_IOP3XX) += i2c-iop3xx.o 33obj-$(CONFIG_I2C_IOP3XX) += i2c-iop3xx.o
21obj-$(CONFIG_I2C_IXP2000) += i2c-ixp2000.o 34obj-$(CONFIG_I2C_IXP2000) += i2c-ixp2000.o
22obj-$(CONFIG_I2C_POWERMAC) += i2c-powermac.o
23obj-$(CONFIG_I2C_MPC) += i2c-mpc.o 35obj-$(CONFIG_I2C_MPC) += i2c-mpc.o
24obj-$(CONFIG_I2C_MV64XXX) += i2c-mv64xxx.o 36obj-$(CONFIG_I2C_MV64XXX) += i2c-mv64xxx.o
25obj-$(CONFIG_I2C_NFORCE2) += i2c-nforce2.o
26obj-$(CONFIG_I2C_NFORCE2_S4985) += i2c-nforce2-s4985.o
27obj-$(CONFIG_I2C_OCORES) += i2c-ocores.o 37obj-$(CONFIG_I2C_OCORES) += i2c-ocores.o
28obj-$(CONFIG_I2C_OMAP) += i2c-omap.o 38obj-$(CONFIG_I2C_OMAP) += i2c-omap.o
29obj-$(CONFIG_I2C_PARPORT) += i2c-parport.o
30obj-$(CONFIG_I2C_PARPORT_LIGHT) += i2c-parport-light.o
31obj-$(CONFIG_I2C_PASEMI) += i2c-pasemi.o 39obj-$(CONFIG_I2C_PASEMI) += i2c-pasemi.o
32obj-$(CONFIG_I2C_PCA_ISA) += i2c-pca-isa.o
33obj-$(CONFIG_I2C_PCA_PLATFORM) += i2c-pca-platform.o
34obj-$(CONFIG_I2C_PIIX4) += i2c-piix4.o
35obj-$(CONFIG_I2C_PMCMSP) += i2c-pmcmsp.o
36obj-$(CONFIG_I2C_PNX) += i2c-pnx.o 40obj-$(CONFIG_I2C_PNX) += i2c-pnx.o
37obj-$(CONFIG_I2C_PXA) += i2c-pxa.o 41obj-$(CONFIG_I2C_PXA) += i2c-pxa.o
38obj-$(CONFIG_I2C_S3C2410) += i2c-s3c2410.o 42obj-$(CONFIG_I2C_S3C2410) += i2c-s3c2410.o
39obj-$(CONFIG_I2C_SH7760) += i2c-sh7760.o 43obj-$(CONFIG_I2C_SH7760) += i2c-sh7760.o
40obj-$(CONFIG_I2C_SH_MOBILE) += i2c-sh_mobile.o 44obj-$(CONFIG_I2C_SH_MOBILE) += i2c-sh_mobile.o
41obj-$(CONFIG_I2C_SIBYTE) += i2c-sibyte.o
42obj-$(CONFIG_I2C_SIMTEC) += i2c-simtec.o 45obj-$(CONFIG_I2C_SIMTEC) += i2c-simtec.o
43obj-$(CONFIG_I2C_SIS5595) += i2c-sis5595.o 46obj-$(CONFIG_I2C_VERSATILE) += i2c-versatile.o
44obj-$(CONFIG_I2C_SIS630) += i2c-sis630.o 47
45obj-$(CONFIG_I2C_SIS96X) += i2c-sis96x.o 48# External I2C/SMBus adapter drivers
46obj-$(CONFIG_I2C_STUB) += i2c-stub.o 49obj-$(CONFIG_I2C_PARPORT) += i2c-parport.o
50obj-$(CONFIG_I2C_PARPORT_LIGHT) += i2c-parport-light.o
47obj-$(CONFIG_I2C_TAOS_EVM) += i2c-taos-evm.o 51obj-$(CONFIG_I2C_TAOS_EVM) += i2c-taos-evm.o
48obj-$(CONFIG_I2C_TINY_USB) += i2c-tiny-usb.o 52obj-$(CONFIG_I2C_TINY_USB) += i2c-tiny-usb.o
49obj-$(CONFIG_I2C_VERSATILE) += i2c-versatile.o 53
50obj-$(CONFIG_I2C_ACORN) += i2c-acorn.o 54# Graphics adapter I2C/DDC channel drivers
51obj-$(CONFIG_I2C_VIA) += i2c-via.o
52obj-$(CONFIG_I2C_VIAPRO) += i2c-viapro.o
53obj-$(CONFIG_I2C_VOODOO3) += i2c-voodoo3.o 55obj-$(CONFIG_I2C_VOODOO3) += i2c-voodoo3.o
56
57# Other I2C/SMBus bus drivers
58obj-$(CONFIG_I2C_ACORN) += i2c-acorn.o
59obj-$(CONFIG_I2C_ELEKTOR) += i2c-elektor.o
60obj-$(CONFIG_I2C_PCA_ISA) += i2c-pca-isa.o
61obj-$(CONFIG_I2C_PCA_PLATFORM) += i2c-pca-platform.o
62obj-$(CONFIG_I2C_PMCMSP) += i2c-pmcmsp.o
63obj-$(CONFIG_I2C_SIBYTE) += i2c-sibyte.o
64obj-$(CONFIG_I2C_STUB) += i2c-stub.o
54obj-$(CONFIG_SCx200_ACB) += scx200_acb.o 65obj-$(CONFIG_SCx200_ACB) += scx200_acb.o
55obj-$(CONFIG_SCx200_I2C) += scx200_i2c.o 66obj-$(CONFIG_SCx200_I2C) += scx200_i2c.o
56 67