1# 2# Sensor device configuration 3# 4 5menu "I2C Hardware Bus support" 6 7comment "PC SMBus host controller drivers" 8 depends on PCI 9 10config I2C_ALI1535 11 tristate "ALI 1535" 12 depends on PCI 13 help 14 If you say yes to this option, support will be included for the SMB 15 Host controller on Acer Labs Inc. (ALI) M1535 South Bridges. The SMB 16 controller is part of the 7101 device, which is an ACPI-compliant 17 Power Management Unit (PMU). 18 19 This driver can also be built as a module. If so, the module 20 will be called i2c-ali1535. 21 22config I2C_ALI1563 23 tristate "ALI 1563" 24 depends on PCI && EXPERIMENTAL 25 help 26 If you say yes to this option, support will be included for the SMB 27 Host controller on Acer Labs Inc. (ALI) M1563 South Bridges. The SMB 28 controller is part of the 7101 device, which is an ACPI-compliant 29 Power Management Unit (PMU). 30 31 This driver can also be built as a module. If so, the module 32 will be called i2c-ali1563. 33 34config I2C_ALI15X3 35 tristate "ALI 15x3" 36 depends on PCI 37 help 38 If you say yes to this option, support will be included for the 39 Acer Labs Inc. (ALI) M1514 and M1543 motherboard I2C interfaces. 40 41 This driver can also be built as a module. If so, the module 42 will be called i2c-ali15x3. 43 44config I2C_AMD756 45 tristate "AMD 756/766/768/8111 and nVidia nForce" 46 depends on PCI 47 help 48 If you say yes to this option, support will be included for the AMD 49 756/766/768 mainboard I2C interfaces. The driver also includes 50 support for the first (SMBus 1.0) I2C interface of the AMD 8111 and 51 the nVidia nForce I2C interface. 52 53 This driver can also be built as a module. If so, the module 54 will be called i2c-amd756. 55 56config I2C_AMD756_S4882 57 tristate "SMBus multiplexing on the Tyan S4882" 58 depends on I2C_AMD756 && X86 && EXPERIMENTAL 59 help 60 Enabling this option will add specific SMBus support for the Tyan 61 S4882 motherboard. On this 4-CPU board, the SMBus is multiplexed 62 over 8 different channels, where the various memory module EEPROMs 63 and temperature sensors live. Saying yes here will give you access 64 to these in addition to the trunk. 65 66 This driver can also be built as a module. If so, the module 67 will be called i2c-amd756-s4882. 68 69config I2C_AMD8111 70 tristate "AMD 8111" 71 depends on PCI 72 help 73 If you say yes to this option, support will be included for the 74 second (SMBus 2.0) AMD 8111 mainboard I2C interface. 75 76 This driver can also be built as a module. If so, the module 77 will be called i2c-amd8111. 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 PCH 101 102 This driver can also be built as a module. If so, the module 103 will be called i2c-i801. 104 105config I2C_ISCH 106 tristate "Intel SCH SMBus 1.0" 107 depends on PCI 108 help 109 Say Y here if you want to use SMBus controller on the Intel SCH 110 based systems. 111 112 This driver can also be built as a module. If so, the module 113 will be called i2c-isch. 114 115config I2C_PIIX4 116 tristate "Intel PIIX4 and compatible (ATI/Serverworks/Broadcom/SMSC)" 117 depends on PCI 118 help 119 If you say yes to this option, support will be included for the Intel 120 PIIX4 family of mainboard I2C interfaces. Specifically, the following 121 versions of the chipset are supported (note that Serverworks is part 122 of Broadcom): 123 Intel PIIX4 124 Intel 440MX 125 ATI IXP200 126 ATI IXP300 127 ATI IXP400 128 ATI SB600 129 ATI SB700 130 ATI SB800 131 Serverworks OSB4 132 Serverworks CSB5 133 Serverworks CSB6 134 Serverworks HT-1000 135 Serverworks HT-1100 136 SMSC Victory66 137 138 This driver can also be built as a module. If so, the module 139 will be called i2c-piix4. 140 141config I2C_NFORCE2 142 tristate "Nvidia nForce2, nForce3 and nForce4" 143 depends on PCI 144 help 145 If you say yes to this option, support will be included for the Nvidia 146 nForce2, nForce3 and nForce4 families of mainboard I2C interfaces. 147 148 This driver can also be built as a module. If so, the module 149 will be called i2c-nforce2. 150 151config I2C_NFORCE2_S4985 152 tristate "SMBus multiplexing on the Tyan S4985" 153 depends on I2C_NFORCE2 && X86 && EXPERIMENTAL 154 help 155 Enabling this option will add specific SMBus support for the Tyan 156 S4985 motherboard. On this 4-CPU board, the SMBus is multiplexed 157 over 4 different channels, where the various memory module EEPROMs 158 live. Saying yes here will give you access to these in addition 159 to the trunk. 160 161 This driver can also be built as a module. If so, the module 162 will be called i2c-nforce2-s4985. 163 164config I2C_SIS5595 165 tristate "SiS 5595" 166 depends on PCI 167 help 168 If you say yes to this option, support will be included for the 169 SiS5595 SMBus (a subset of I2C) interface. 170 171 This driver can also be built as a module. If so, the module 172 will be called i2c-sis5595. 173 174config I2C_SIS630 175 tristate "SiS 630/730" 176 depends on PCI 177 help 178 If you say yes to this option, support will be included for the 179 SiS630 and SiS730 SMBus (a subset of I2C) interface. 180 181 This driver can also be built as a module. If so, the module 182 will be called i2c-sis630. 183 184config I2C_SIS96X 185 tristate "SiS 96x" 186 depends on PCI 187 help 188 If you say yes to this option, support will be included for the SiS 189 96x SMBus (a subset of I2C) interfaces. Specifically, the following 190 chipsets are supported: 191 645/961 192 645DX/961 193 645DX/962 194 648/961 195 650/961 196 735 197 745 198 199 This driver can also be built as a module. If so, the module 200 will be called i2c-sis96x. 201 202config I2C_VIA 203 tristate "VIA VT82C586B" 204 depends on PCI && EXPERIMENTAL 205 select I2C_ALGOBIT 206 help 207 If you say yes to this option, support will be included for the VIA 208 82C586B I2C interface 209 210 This driver can also be built as a module. If so, the module 211 will be called i2c-via. 212 213config I2C_VIAPRO 214 tristate "VIA VT82C596/82C686/82xx and CX700/VX800/VX820" 215 depends on PCI 216 help 217 If you say yes to this option, support will be included for the VIA 218 VT82C596 and later SMBus interface. Specifically, the following 219 chipsets are supported: 220 VT82C596A/B 221 VT82C686A/B 222 VT8231 223 VT8233/A 224 VT8235 225 VT8237R/A/S 226 VT8251 227 CX700 228 VX800 229 VX820 230 231 This driver can also be built as a module. If so, the module 232 will be called i2c-viapro. 233 234comment "Mac SMBus host controller drivers" 235 depends on PPC_CHRP || PPC_PMAC 236 237config I2C_HYDRA 238 tristate "CHRP Apple Hydra Mac I/O I2C interface" 239 depends on PCI && PPC_CHRP && EXPERIMENTAL 240 select I2C_ALGOBIT 241 help 242 This supports the use of the I2C interface in the Apple Hydra Mac 243 I/O chip on some CHRP machines (e.g. the LongTrail). Say Y if you 244 have such a machine. 245 246 This support is also available as a module. If so, the module 247 will be called i2c-hydra. 248 249config I2C_POWERMAC 250 tristate "Powermac I2C interface" 251 depends on PPC_PMAC 252 default y 253 help 254 This exposes the various PowerMac i2c interfaces to the linux i2c 255 layer and to userland. It is used by various drivers on the PowerMac 256 platform, and should generally be enabled. 257 258 This support is also available as a module. If so, the module 259 will be called i2c-powermac. 260 261comment "I2C system bus drivers (mostly embedded / system-on-chip)" 262 263config I2C_AT91 264 tristate "Atmel AT91 I2C Two-Wire interface (TWI)" 265 depends on ARCH_AT91 && EXPERIMENTAL && BROKEN 266 help 267 This supports the use of the I2C interface on Atmel AT91 268 processors. 269 270 This driver is BROKEN because the controller which it uses 271 will easily trigger RX overrun and TX underrun errors. Using 272 low I2C clock rates may partially work around those issues 273 on some systems. Another serious problem is that there is no 274 documented way to issue repeated START conditions, as needed 275 to support combined I2C messages. Use the i2c-gpio driver 276 unless your system can cope with those limitations. 277 278config I2C_AU1550 279 tristate "Au1550/Au1200 SMBus interface" 280 depends on SOC_AU1550 || SOC_AU1200 281 help 282 If you say yes to this option, support will be included for the 283 Au1550 and Au1200 SMBus interface. 284 285 This driver can also be built as a module. If so, the module 286 will be called i2c-au1550. 287 288config I2C_BLACKFIN_TWI 289 tristate "Blackfin TWI I2C support" 290 depends on BLACKFIN 291 depends on !BF561 && !BF531 && !BF532 && !BF533 292 help 293 This is the I2C bus driver for Blackfin on-chip TWI interface. 294 295 This driver can also be built as a module. If so, the module 296 will be called i2c-bfin-twi. 297 298config I2C_BLACKFIN_TWI_CLK_KHZ 299 int "Blackfin TWI I2C clock (kHz)" 300 depends on I2C_BLACKFIN_TWI 301 range 10 400 302 default 50 303 help 304 The unit of the TWI clock is kHz. 305 306config I2C_CPM 307 tristate "Freescale CPM1 or CPM2 (MPC8xx/826x)" 308 depends on (CPM1 || CPM2) && OF_I2C 309 help 310 This supports the use of the I2C interface on Freescale 311 processors with CPM1 or CPM2. 312 313 This driver can also be built as a module. If so, the module 314 will be called i2c-cpm. 315 316config I2C_DAVINCI 317 tristate "DaVinci I2C driver" 318 depends on ARCH_DAVINCI 319 help 320 Support for TI DaVinci I2C controller driver. 321 322 This driver can also be built as a module. If so, the module 323 will be called i2c-davinci. 324 325 Please note that this driver might be needed to bring up other 326 devices such as DaVinci NIC. 327 For details please see http://www.ti.com/davinci 328 329config I2C_GPIO 330 tristate "GPIO-based bitbanging I2C" 331 depends on GENERIC_GPIO 332 select I2C_ALGOBIT 333 help 334 This is a very simple bitbanging I2C driver utilizing the 335 arch-neutral GPIO API to control the SCL and SDA lines. 336 337config I2C_HIGHLANDER 338 tristate "Highlander FPGA SMBus interface" 339 depends on SH_HIGHLANDER 340 help 341 If you say yes to this option, support will be included for 342 the SMBus interface located in the FPGA on various Highlander 343 boards, particularly the R0P7780LC0011RL and R0P7785LC0011RL 344 FPGAs. This is wholly unrelated to the SoC I2C. 345 346 This driver can also be built as a module. If so, the module 347 will be called i2c-highlander. 348 349config I2C_IBM_IIC 350 tristate "IBM PPC 4xx on-chip I2C interface" 351 depends on 4xx 352 help 353 Say Y here if you want to use IIC peripheral found on 354 embedded IBM PPC 4xx based systems. 355 356 This driver can also be built as a module. If so, the module 357 will be called i2c-ibm_iic. 358 359config I2C_IOP3XX 360 tristate "Intel IOPx3xx and IXP4xx on-chip I2C interface" 361 depends on ARCH_IOP32X || ARCH_IOP33X || ARCH_IXP4XX || ARCH_IOP13XX 362 help 363 Say Y here if you want to use the IIC bus controller on 364 the Intel IOPx3xx I/O Processors or IXP4xx Network Processors. 365 366 This driver can also be built as a module. If so, the module 367 will be called i2c-iop3xx. 368 369config I2C_IXP2000 370 tristate "IXP2000 GPIO-Based I2C Interface (DEPRECATED)" 371 depends on ARCH_IXP2000 372 select I2C_ALGOBIT 373 help 374 Say Y here if you have an Intel IXP2000 (2400, 2800, 2850) based 375 system and are using GPIO lines for an I2C bus. 376 377 This support is also available as a module. If so, the module 378 will be called i2c-ixp2000. 379 380 This driver is deprecated and will be dropped soon. Use i2c-gpio 381 instead. 382 383config I2C_MPC 384 tristate "MPC107/824x/85xx/52xx/86xx" 385 depends on PPC32 386 help 387 If you say yes to this option, support will be included for the 388 built-in I2C interface on the MPC107/Tsi107/MPC8240/MPC8245 and 389 MPC85xx/MPC8641 family processors. The driver may also work on 52xx 390 family processors, though interrupts are known not to work. 391 392 This driver can also be built as a module. If so, the module 393 will be called i2c-mpc. 394 395config I2C_MV64XXX 396 tristate "Marvell mv64xxx I2C Controller" 397 depends on (MV64X60 || PLAT_ORION) && EXPERIMENTAL 398 help 399 If you say yes to this option, support will be included for the 400 built-in I2C interface on the Marvell 64xxx line of host bridges. 401 402 This driver can also be built as a module. If so, the module 403 will be called i2c-mv64xxx. 404 405config I2C_OCORES 406 tristate "OpenCores I2C Controller" 407 depends on EXPERIMENTAL 408 help 409 If you say yes to this option, support will be included for the 410 OpenCores I2C controller. For details see 411 http://www.opencores.org/projects.cgi/web/i2c/overview 412 413 This driver can also be built as a module. If so, the module 414 will be called i2c-ocores. 415 416config I2C_OMAP 417 tristate "OMAP I2C adapter" 418 depends on ARCH_OMAP 419 default y if MACH_OMAP_H3 || MACH_OMAP_OSK 420 help 421 If you say yes to this option, support will be included for the 422 I2C interface on the Texas Instruments OMAP1/2 family of processors. 423 Like OMAP1510/1610/1710/5912 and OMAP242x. 424 For details see http://www.ti.com/omap. 425 426config I2C_PASEMI 427 tristate "PA Semi SMBus interface" 428 depends on PPC_PASEMI && PCI 429 help 430 Supports the PA Semi PWRficient on-chip SMBus interfaces. 431 432config I2C_PNX 433 tristate "I2C bus support for Philips PNX targets" 434 depends on ARCH_PNX4008 435 help 436 This driver supports the Philips IP3204 I2C IP block master and/or 437 slave controller 438 439 This driver can also be built as a module. If so, the module 440 will be called i2c-pnx. 441 442config I2C_PXA 443 tristate "Intel PXA2XX I2C adapter (EXPERIMENTAL)" 444 depends on EXPERIMENTAL && ARCH_PXA 445 help 446 If you have devices in the PXA I2C bus, say yes to this option. 447 This driver can also be built as a module. If so, the module 448 will be called i2c-pxa. 449 450config I2C_PXA_SLAVE 451 bool "Intel PXA2XX I2C Slave comms support" 452 depends on I2C_PXA 453 help 454 Support I2C slave mode communications on the PXA I2C bus. This 455 is necessary for systems where the PXA may be a target on the 456 I2C bus. 457 458config I2C_S3C2410 459 tristate "S3C2410 I2C Driver" 460 depends on ARCH_S3C2410 461 help 462 Say Y here to include support for I2C controller in the 463 Samsung S3C2410 based System-on-Chip devices. 464 465config I2C_SH7760 466 tristate "Renesas SH7760 I2C Controller" 467 depends on CPU_SUBTYPE_SH7760 468 help 469 This driver supports the 2 I2C interfaces on the Renesas SH7760. 470 471 This driver can also be built as a module. If so, the module 472 will be called i2c-sh7760. 473 474config I2C_SH_MOBILE 475 tristate "SuperH Mobile I2C Controller" 476 depends on SUPERH 477 help 478 If you say yes to this option, support will be included for the 479 built-in I2C interface on the Renesas SH-Mobile processor. 480 481 This driver can also be built as a module. If so, the module 482 will be called i2c-sh_mobile. 483 484config I2C_SIMTEC 485 tristate "Simtec Generic I2C interface" 486 select I2C_ALGOBIT 487 help 488 If you say yes to this option, support will be included for 489 the Simtec Generic I2C interface. This driver is for the 490 simple I2C bus used on newer Simtec products for general 491 I2C, such as DDC on the Simtec BBD2016A. 492 493 This driver can also be built as a module. If so, the module 494 will be called i2c-simtec. 495 496config I2C_VERSATILE 497 tristate "ARM Versatile/Realview I2C bus support" 498 depends on ARCH_VERSATILE || ARCH_REALVIEW 499 select I2C_ALGOBIT 500 help 501 Say yes if you want to support the I2C serial bus on ARMs Versatile 502 range of platforms. 503 504 This driver can also be built as a module. If so, the module 505 will be called i2c-versatile. 506 507comment "External I2C/SMBus adapter drivers" 508 509config I2C_PARPORT 510 tristate "Parallel port adapter" 511 depends on PARPORT 512 select I2C_ALGOBIT 513 help 514 This supports parallel port I2C adapters such as the ones made by 515 Philips or Velleman, Analog Devices evaluation boards, and more. 516 Basically any adapter using the parallel port as an I2C bus with 517 no extra chipset is supported by this driver, or could be. 518 519 This driver is a replacement for (and was inspired by) an older 520 driver named i2c-philips-par. The new driver supports more devices, 521 and makes it easier to add support for new devices. 522 523 An adapter type parameter is now mandatory. Please read the file 524 Documentation/i2c/busses/i2c-parport for details. 525 526 Another driver exists, named i2c-parport-light, which doesn't depend 527 on the parport driver. This is meant for embedded systems. Don't say 528 Y here if you intend to say Y or M there. 529 530 This support is also available as a module. If so, the module 531 will be called i2c-parport. 532 533config I2C_PARPORT_LIGHT 534 tristate "Parallel port adapter (light)" 535 select I2C_ALGOBIT 536 help 537 This supports parallel port I2C adapters such as the ones made by 538 Philips or Velleman, Analog Devices evaluation boards, and more. 539 Basically any adapter using the parallel port as an I2C bus with 540 no extra chipset is supported by this driver, or could be. 541 542 This driver is a light version of i2c-parport. It doesn't depend 543 on the parport driver, and uses direct I/O access instead. This 544 might be preferred on embedded systems where wasting memory for 545 the clean but heavy parport handling is not an option. The 546 drawback is a reduced portability and the impossibility to 547 daisy-chain other parallel port devices. 548 549 Don't say Y here if you said Y or M to i2c-parport. Saying M to 550 both is possible but both modules should not be loaded at the same 551 time. 552 553 This support is also available as a module. If so, the module 554 will be called i2c-parport-light. 555 556config I2C_TAOS_EVM 557 tristate "TAOS evaluation module" 558 depends on EXPERIMENTAL 559 select SERIO 560 select SERIO_SERPORT 561 default n 562 help 563 This supports TAOS evaluation modules on serial port. In order to 564 use this driver, you will need the inputattach tool, which is part 565 of the input-utils package. 566 567 If unsure, say N. 568 569 This support is also available as a module. If so, the module 570 will be called i2c-taos-evm. 571 572config I2C_TINY_USB 573 tristate "Tiny-USB adapter" 574 depends on USB 575 help 576 If you say yes to this option, support will be included for the 577 i2c-tiny-usb, a simple do-it-yourself USB to I2C interface. See 578 http://www.harbaum.org/till/i2c_tiny_usb for hardware details. 579 580 This driver can also be built as a module. If so, the module 581 will be called i2c-tiny-usb. 582 583comment "Graphics adapter I2C/DDC channel drivers" 584 depends on PCI 585 586config I2C_VOODOO3 587 tristate "Voodoo 3" 588 depends on PCI 589 select I2C_ALGOBIT 590 help 591 If you say yes to this option, support will be included for the 592 Voodoo 3 I2C interface. 593 594 This driver can also be built as a module. If so, the module 595 will be called i2c-voodoo3. 596 597comment "Other I2C/SMBus bus drivers" 598 599config I2C_ACORN 600 tristate "Acorn IOC/IOMD I2C bus support" 601 depends on ARCH_ACORN 602 default y 603 select I2C_ALGOBIT 604 help 605 Say yes if you want to support the I2C bus on Acorn platforms. 606 607 If you don't know, say Y. 608 609config I2C_ELEKTOR 610 tristate "Elektor ISA card" 611 depends on ISA && BROKEN_ON_SMP 612 select I2C_ALGOPCF 613 help 614 This supports the PCF8584 ISA bus I2C adapter. Say Y if you own 615 such an adapter. 616 617 This support is also available as a module. If so, the module 618 will be called i2c-elektor. 619 620config I2C_PCA_ISA 621 tristate "PCA9564/PCA9665 on an ISA bus" 622 depends on ISA 623 select I2C_ALGOPCA 624 default n 625 help 626 This driver supports ISA boards using the Philips PCA9564/PCA9665 627 parallel bus to I2C bus controller. 628 629 This driver can also be built as a module. If so, the module 630 will be called i2c-pca-isa. 631 632 This device is almost undetectable and using this driver on a 633 system which doesn't have this device will result in long 634 delays when I2C/SMBus chip drivers are loaded (e.g. at boot 635 time). If unsure, say N. 636 637config I2C_PCA_PLATFORM 638 tristate "PCA9564/PCA9665 as platform device" 639 select I2C_ALGOPCA 640 default n 641 help 642 This driver supports a memory mapped Philips PCA9564/PCA9665 643 parallel bus to I2C bus controller. 644 645 This driver can also be built as a module. If so, the module 646 will be called i2c-pca-platform. 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 657config I2C_SIBYTE 658 tristate "SiByte SMBus interface" 659 depends on SIBYTE_SB1xxx_SOC 660 help 661 Supports the SiByte SOC on-chip I2C interfaces (2 channels). 662 663config I2C_STUB 664 tristate "I2C/SMBus Test Stub" 665 depends on EXPERIMENTAL && m 666 default 'n' 667 help 668 This module may be useful to developers of SMBus client drivers, 669 especially for certain kinds of sensor chips. 670 671 If you do build this module, be sure to read the notes and warnings 672 in <file:Documentation/i2c/i2c-stub>. 673 674 If you don't know what to do here, definitely say N. 675 676config SCx200_I2C 677 tristate "NatSemi SCx200 I2C using GPIO pins (DEPRECATED)" 678 depends on SCx200_GPIO 679 select I2C_ALGOBIT 680 help 681 Enable the use of two GPIO pins of a SCx200 processor as an I2C bus. 682 683 If you don't know what to do here, say N. 684 685 This support is also available as a module. If so, the module 686 will be called scx200_i2c. 687 688 This driver is deprecated and will be dropped soon. Use i2c-gpio 689 (or scx200_acb) instead. 690 691config SCx200_I2C_SCL 692 int "GPIO pin used for SCL" 693 depends on SCx200_I2C 694 default "12" 695 help 696 Enter the GPIO pin number used for the SCL signal. This value can 697 also be specified with a module parameter. 698 699config SCx200_I2C_SDA 700 int "GPIO pin used for SDA" 701 depends on SCx200_I2C 702 default "13" 703 help 704 Enter the GPIO pin number used for the SSA signal. This value can 705 also be specified with a module parameter. 706 707config SCx200_ACB 708 tristate "Geode ACCESS.bus support" 709 depends on X86_32 && PCI 710 help 711 Enable the use of the ACCESS.bus controllers on the Geode SCx200 and 712 SC1100 processors and the CS5535 and CS5536 Geode companion devices. 713 714 If you don't know what to do here, say N. 715 716 This support is also available as a module. If so, the module 717 will be called scx200_acb. 718 719endmenu 720