1# 2# Sensor device configuration 3# 4 5menu "I2C Hardware Bus support" 6 depends on HAS_IOMEM 7 8comment "PC SMBus host controller drivers" 9 depends on PCI 10 11config I2C_ALI1535 12 tristate "ALI 1535" 13 depends on PCI 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" 25 depends on PCI 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" 37 depends on PCI 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" 47 depends on PCI 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" 59 depends on I2C_AMD756 && X86 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" 72 depends on PCI 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 80config I2C_HIX5HD2 81 tristate "Hix5hd2 high-speed I2C driver" 82 depends on ARCH_HISI || ARCH_HIX5HD2 || COMPILE_TEST 83 help 84 Say Y here to include support for the high-speed I2C controller 85 used in HiSilicon hix5hd2 SoCs. 86 87 This driver can also be built as a module. If so, the module 88 will be called i2c-hix5hd2. 89 90config I2C_I801 91 tristate "Intel 82801 (ICH/PCH)" 92 depends on PCI 93 select CHECK_SIGNATURE if X86 && DMI 94 select I2C_SMBUS 95 help 96 If you say yes to this option, support will be included for the Intel 97 801 family of mainboard I2C interfaces. Specifically, the following 98 versions of the chipset are supported: 99 82801AA 100 82801AB 101 82801BA 102 82801CA/CAM 103 82801DB 104 82801EB/ER (ICH5/ICH5R) 105 6300ESB 106 ICH6 107 ICH7 108 ESB2 109 ICH8 110 ICH9 111 EP80579 (Tolapai) 112 ICH10 113 5/3400 Series (PCH) 114 6 Series (PCH) 115 Patsburg (PCH) 116 DH89xxCC (PCH) 117 Panther Point (PCH) 118 Lynx Point (PCH) 119 Lynx Point-LP (PCH) 120 Avoton (SOC) 121 Wellsburg (PCH) 122 Coleto Creek (PCH) 123 Wildcat Point (PCH) 124 Wildcat Point-LP (PCH) 125 BayTrail (SOC) 126 Sunrise Point-H (PCH) 127 Sunrise Point-LP (PCH) 128 DNV (SOC) 129 Broxton (SOC) 130 Lewisburg (PCH) 131 Gemini Lake (SOC) 132 Cannon Lake-H (PCH) 133 Cannon Lake-LP (PCH) 134 135 This driver can also be built as a module. If so, the module 136 will be called i2c-i801. 137 138config I2C_ISCH 139 tristate "Intel SCH SMBus 1.0" 140 depends on PCI 141 select LPC_SCH 142 help 143 Say Y here if you want to use SMBus controller on the Intel SCH 144 based systems. 145 146 This driver can also be built as a module. If so, the module 147 will be called i2c-isch. 148 149config I2C_ISMT 150 tristate "Intel iSMT SMBus Controller" 151 depends on PCI && X86 152 help 153 If you say yes to this option, support will be included for the Intel 154 iSMT SMBus host controller interface. 155 156 This driver can also be built as a module. If so, the module will be 157 called i2c-ismt. 158 159config I2C_PIIX4 160 tristate "Intel PIIX4 and compatible (ATI/AMD/Serverworks/Broadcom/SMSC)" 161 depends on PCI 162 help 163 If you say yes to this option, support will be included for the Intel 164 PIIX4 family of mainboard I2C interfaces. Specifically, the following 165 versions of the chipset are supported (note that Serverworks is part 166 of Broadcom): 167 Intel PIIX4 168 Intel 440MX 169 ATI IXP200 170 ATI IXP300 171 ATI IXP400 172 ATI SB600 173 ATI SB700/SP5100 174 ATI SB800 175 AMD Hudson-2 176 AMD ML 177 AMD CZ 178 Serverworks OSB4 179 Serverworks CSB5 180 Serverworks CSB6 181 Serverworks HT-1000 182 Serverworks HT-1100 183 SMSC Victory66 184 185 Some AMD chipsets contain two PIIX4-compatible SMBus 186 controllers. This driver will attempt to use both controllers 187 on the SB700/SP5100, if they have been initialized by the BIOS. 188 189 This driver can also be built as a module. If so, the module 190 will be called i2c-piix4. 191 192config I2C_NFORCE2 193 tristate "Nvidia nForce2, nForce3 and nForce4" 194 depends on PCI 195 help 196 If you say yes to this option, support will be included for the Nvidia 197 nForce2, nForce3 and nForce4 families of mainboard I2C interfaces. 198 199 This driver can also be built as a module. If so, the module 200 will be called i2c-nforce2. 201 202config I2C_NFORCE2_S4985 203 tristate "SMBus multiplexing on the Tyan S4985" 204 depends on I2C_NFORCE2 && X86 205 help 206 Enabling this option will add specific SMBus support for the Tyan 207 S4985 motherboard. On this 4-CPU board, the SMBus is multiplexed 208 over 4 different channels, where the various memory module EEPROMs 209 live. Saying yes here will give you access to these in addition 210 to the trunk. 211 212 This driver can also be built as a module. If so, the module 213 will be called i2c-nforce2-s4985. 214 215config I2C_SIS5595 216 tristate "SiS 5595" 217 depends on PCI 218 help 219 If you say yes to this option, support will be included for the 220 SiS5595 SMBus (a subset of I2C) interface. 221 222 This driver can also be built as a module. If so, the module 223 will be called i2c-sis5595. 224 225config I2C_SIS630 226 tristate "SiS 630/730/964" 227 depends on PCI 228 help 229 If you say yes to this option, support will be included for the 230 SiS630, SiS730 and SiS964 SMBus (a subset of I2C) interface. 231 232 This driver can also be built as a module. If so, the module 233 will be called i2c-sis630. 234 235config I2C_SIS96X 236 tristate "SiS 96x" 237 depends on PCI 238 help 239 If you say yes to this option, support will be included for the SiS 240 96x SMBus (a subset of I2C) interfaces. Specifically, the following 241 chipsets are supported: 242 645/961 243 645DX/961 244 645DX/962 245 648/961 246 650/961 247 735 248 745 249 250 This driver can also be built as a module. If so, the module 251 will be called i2c-sis96x. 252 253config I2C_VIA 254 tristate "VIA VT82C586B" 255 depends on PCI 256 select I2C_ALGOBIT 257 help 258 If you say yes to this option, support will be included for the VIA 259 82C586B I2C interface 260 261 This driver can also be built as a module. If so, the module 262 will be called i2c-via. 263 264config I2C_VIAPRO 265 tristate "VIA VT82C596/82C686/82xx and CX700/VX8xx/VX900" 266 depends on PCI 267 help 268 If you say yes to this option, support will be included for the VIA 269 VT82C596 and later SMBus interface. Specifically, the following 270 chipsets are supported: 271 VT82C596A/B 272 VT82C686A/B 273 VT8231 274 VT8233/A 275 VT8235 276 VT8237R/A/S 277 VT8251 278 CX700 279 VX800/VX820 280 VX855/VX875 281 VX900 282 283 This driver can also be built as a module. If so, the module 284 will be called i2c-viapro. 285 286if ACPI 287 288comment "ACPI drivers" 289 290config I2C_SCMI 291 tristate "SMBus Control Method Interface" 292 help 293 This driver supports the SMBus Control Method Interface. It needs the 294 BIOS to declare ACPI control methods as described in the SMBus Control 295 Method Interface specification. 296 297 To compile this driver as a module, choose M here: 298 the module will be called i2c-scmi. 299 300endif # ACPI 301 302comment "Mac SMBus host controller drivers" 303 depends on PPC_CHRP || PPC_PMAC 304 305config I2C_HYDRA 306 tristate "CHRP Apple Hydra Mac I/O I2C interface" 307 depends on PCI && PPC_CHRP 308 select I2C_ALGOBIT 309 help 310 This supports the use of the I2C interface in the Apple Hydra Mac 311 I/O chip on some CHRP machines (e.g. the LongTrail). Say Y if you 312 have such a machine. 313 314 This support is also available as a module. If so, the module 315 will be called i2c-hydra. 316 317config I2C_POWERMAC 318 tristate "Powermac I2C interface" 319 depends on PPC_PMAC 320 default y 321 help 322 This exposes the various PowerMac i2c interfaces to the linux i2c 323 layer and to userland. It is used by various drivers on the PowerMac 324 platform, and should generally be enabled. 325 326 This support is also available as a module. If so, the module 327 will be called i2c-powermac. 328 329comment "I2C system bus drivers (mostly embedded / system-on-chip)" 330 331config I2C_ASPEED 332 tristate "Aspeed I2C Controller" 333 depends on ARCH_ASPEED || COMPILE_TEST 334 help 335 If you say yes to this option, support will be included for the 336 Aspeed I2C controller. 337 338 This driver can also be built as a module. If so, the module 339 will be called i2c-aspeed. 340 341config I2C_AT91 342 tristate "Atmel AT91 I2C Two-Wire interface (TWI)" 343 depends on ARCH_AT91 344 help 345 This supports the use of the I2C interface on Atmel AT91 346 processors. 347 348 A serious problem is that there is no documented way to issue 349 repeated START conditions for more than two messages, as needed 350 to support combined I2C messages. Use the i2c-gpio driver 351 unless your system can cope with this limitation. 352 353 Caution! at91rm9200, at91sam9261, at91sam9260, at91sam9263 devices 354 don't have clock stretching in transmission mode. For that reason, 355 you can encounter underrun issues causing premature stop sendings if 356 the latency to fill the transmission register is too long. If you 357 are facing this situation, use the i2c-gpio driver. 358 359config I2C_AU1550 360 tristate "Au1550/Au1200/Au1300 SMBus interface" 361 depends on MIPS_ALCHEMY 362 help 363 If you say yes to this option, support will be included for the 364 Au1550/Au1200/Au1300 SMBus interface. 365 366 This driver can also be built as a module. If so, the module 367 will be called i2c-au1550. 368 369config I2C_AXXIA 370 tristate "Axxia I2C controller" 371 depends on ARCH_AXXIA || COMPILE_TEST 372 default ARCH_AXXIA 373 help 374 Say yes if you want to support the I2C bus on Axxia platforms. 375 376 Please note that this controller is limited to transfers of maximum 377 255 bytes in length. Any attempt to to a larger transfer will return 378 an error. 379 380config I2C_BCM2835 381 tristate "Broadcom BCM2835 I2C controller" 382 depends on ARCH_BCM2835 383 help 384 If you say yes to this option, support will be included for the 385 BCM2835 I2C controller. 386 387 If you don't know what to do here, say N. 388 389 This support is also available as a module. If so, the module 390 will be called i2c-bcm2835. 391 392config I2C_BCM_IPROC 393 tristate "Broadcom iProc I2C controller" 394 depends on ARCH_BCM_IPROC || COMPILE_TEST 395 default ARCH_BCM_IPROC 396 help 397 If you say yes to this option, support will be included for the 398 Broadcom iProc I2C controller. 399 400 If you don't know what to do here, say N. 401 402config I2C_BCM_KONA 403 tristate "BCM Kona I2C adapter" 404 depends on ARCH_BCM_MOBILE 405 default y 406 help 407 If you say yes to this option, support will be included for the 408 I2C interface on the Broadcom Kona family of processors. 409 410 If you do not need KONA I2C interface, say N. 411 412config I2C_BRCMSTB 413 tristate "BRCM Settop I2C controller" 414 depends on ARCH_BRCMSTB || BMIPS_GENERIC || COMPILE_TEST 415 default y 416 help 417 If you say yes to this option, support will be included for the 418 I2C interface on the Broadcom Settop SoCs. 419 420 If you do not need I2C interface, say N. 421 422config I2C_BLACKFIN_TWI 423 tristate "Blackfin TWI I2C support" 424 depends on BLACKFIN 425 depends on !BF561 && !BF531 && !BF532 && !BF533 426 help 427 This is the I2C bus driver for Blackfin on-chip TWI interface. 428 429 This driver can also be built as a module. If so, the module 430 will be called i2c-bfin-twi. 431 432config I2C_BLACKFIN_TWI_CLK_KHZ 433 int "Blackfin TWI I2C clock (kHz)" 434 depends on I2C_BLACKFIN_TWI 435 range 21 400 436 default 50 437 help 438 The unit of the TWI clock is kHz. 439 440config I2C_CADENCE 441 tristate "Cadence I2C Controller" 442 depends on ARCH_ZYNQ || ARM64 || XTENSA 443 help 444 Say yes here to select Cadence I2C Host Controller. This controller is 445 e.g. used by Xilinx Zynq. 446 447config I2C_CBUS_GPIO 448 tristate "CBUS I2C driver" 449 depends on GPIOLIB || COMPILE_TEST 450 help 451 Support for CBUS access using I2C API. Mostly relevant for Nokia 452 Internet Tablets (770, N800 and N810). 453 454 This driver can also be built as a module. If so, the module 455 will be called i2c-cbus-gpio. 456 457config I2C_CPM 458 tristate "Freescale CPM1 or CPM2 (MPC8xx/826x)" 459 depends on CPM1 || CPM2 460 help 461 This supports the use of the I2C interface on Freescale 462 processors with CPM1 or CPM2. 463 464 This driver can also be built as a module. If so, the module 465 will be called i2c-cpm. 466 467config I2C_DAVINCI 468 tristate "DaVinci I2C driver" 469 depends on ARCH_DAVINCI || ARCH_KEYSTONE 470 help 471 Support for TI DaVinci I2C controller driver. 472 473 This driver can also be built as a module. If so, the module 474 will be called i2c-davinci. 475 476 Please note that this driver might be needed to bring up other 477 devices such as DaVinci NIC. 478 For details please see http://www.ti.com/davinci 479 480config I2C_DESIGNWARE_CORE 481 tristate 482 483config I2C_DESIGNWARE_PLATFORM 484 tristate "Synopsys DesignWare Platform" 485 select I2C_DESIGNWARE_CORE 486 depends on (ACPI && COMMON_CLK) || !ACPI 487 help 488 If you say yes to this option, support will be included for the 489 Synopsys DesignWare I2C adapter. 490 491 This driver can also be built as a module. If so, the module 492 will be called i2c-designware-platform. 493 494config I2C_DESIGNWARE_SLAVE 495 bool "Synopsys DesignWare Slave" 496 select I2C_SLAVE 497 depends on I2C_DESIGNWARE_PLATFORM 498 help 499 If you say yes to this option, support will be included for the 500 Synopsys DesignWare I2C slave adapter. 501 502 This is not a standalone module, this module compiles together with 503 i2c-designware-core. 504 505config I2C_DESIGNWARE_PCI 506 tristate "Synopsys DesignWare PCI" 507 depends on PCI 508 select I2C_DESIGNWARE_CORE 509 help 510 If you say yes to this option, support will be included for the 511 Synopsys DesignWare I2C adapter. Only master mode is supported. 512 513 This driver can also be built as a module. If so, the module 514 will be called i2c-designware-pci. 515 516config I2C_DESIGNWARE_BAYTRAIL 517 bool "Intel Baytrail I2C semaphore support" 518 depends on ACPI 519 depends on (I2C_DESIGNWARE_PLATFORM=m && IOSF_MBI) || \ 520 (I2C_DESIGNWARE_PLATFORM=y && IOSF_MBI=y) 521 help 522 This driver enables managed host access to the PMIC I2C bus on select 523 Intel BayTrail platforms using the X-Powers AXP288 PMIC. It allows 524 the host to request uninterrupted access to the PMIC's I2C bus from 525 the platform firmware controlling it. You should say Y if running on 526 a BayTrail system using the AXP288. 527 528config I2C_DIGICOLOR 529 tristate "Conexant Digicolor I2C driver" 530 depends on ARCH_DIGICOLOR 531 help 532 Support for Conexant Digicolor SoCs (CX92755) I2C controller driver. 533 534 This driver can also be built as a module. If so, the module 535 will be called i2c-digicolor. 536 537config I2C_EFM32 538 tristate "EFM32 I2C controller" 539 depends on ARCH_EFM32 || COMPILE_TEST 540 help 541 This driver supports the i2c block found in Energy Micro's EFM32 542 SoCs. 543 544config I2C_EG20T 545 tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) I2C" 546 depends on PCI && (X86_32 || MIPS || COMPILE_TEST) 547 help 548 This driver is for PCH(Platform controller Hub) I2C of EG20T which 549 is an IOH(Input/Output Hub) for x86 embedded processor. 550 This driver can access PCH I2C bus device. 551 552 This driver also can be used for LAPIS Semiconductor IOH(Input/ 553 Output Hub), ML7213, ML7223 and ML7831. 554 ML7213 IOH is for IVI(In-Vehicle Infotainment) use, ML7223 IOH is 555 for MP(Media Phone) use and ML7831 IOH is for general purpose use. 556 ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series. 557 ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH. 558 559config I2C_EMEV2 560 tristate "EMMA Mobile series I2C adapter" 561 depends on HAVE_CLK 562 select I2C_SLAVE 563 help 564 If you say yes to this option, support will be included for the 565 I2C interface on the Renesas Electronics EM/EV family of processors. 566 567config I2C_EXYNOS5 568 tristate "Exynos5 high-speed I2C driver" 569 depends on ARCH_EXYNOS && OF 570 default y 571 help 572 High-speed I2C controller on Exynos5 based Samsung SoCs. 573 574config I2C_GPIO 575 tristate "GPIO-based bitbanging I2C" 576 depends on GPIOLIB || COMPILE_TEST 577 select I2C_ALGOBIT 578 help 579 This is a very simple bitbanging I2C driver utilizing the 580 arch-neutral GPIO API to control the SCL and SDA lines. 581 582config I2C_HIGHLANDER 583 tristate "Highlander FPGA SMBus interface" 584 depends on SH_HIGHLANDER 585 help 586 If you say yes to this option, support will be included for 587 the SMBus interface located in the FPGA on various Highlander 588 boards, particularly the R0P7780LC0011RL and R0P7785LC0011RL 589 FPGAs. This is wholly unrelated to the SoC I2C. 590 591 This driver can also be built as a module. If so, the module 592 will be called i2c-highlander. 593 594config I2C_IBM_IIC 595 tristate "IBM PPC 4xx on-chip I2C interface" 596 depends on 4xx 597 help 598 Say Y here if you want to use IIC peripheral found on 599 embedded IBM PPC 4xx based systems. 600 601 This driver can also be built as a module. If so, the module 602 will be called i2c-ibm_iic. 603 604config I2C_IMG 605 tristate "Imagination Technologies I2C SCB Controller" 606 depends on MIPS || METAG || COMPILE_TEST 607 help 608 Say Y here if you want to use the IMG I2C SCB controller, 609 available on the TZ1090 and other IMG SoCs. 610 611 This driver can also be built as a module. If so, the module 612 will be called i2c-img-scb. 613 614config I2C_IMX 615 tristate "IMX I2C interface" 616 depends on ARCH_MXC || ARCH_LAYERSCAPE || COLDFIRE 617 help 618 Say Y here if you want to use the IIC bus controller on 619 the Freescale i.MX/MXC, Layerscape or ColdFire processors. 620 621 This driver can also be built as a module. If so, the module 622 will be called i2c-imx. 623 624config I2C_IMX_LPI2C 625 tristate "IMX Low Power I2C interface" 626 depends on ARCH_MXC || COMPILE_TEST 627 help 628 Say Y here if you want to use the Low Power IIC bus controller 629 on the Freescale i.MX processors. 630 631 This driver can also be built as a module. If so, the module 632 will be called i2c-imx-lpi2c. 633 634config I2C_IOP3XX 635 tristate "Intel IOPx3xx and IXP4xx on-chip I2C interface" 636 depends on ARCH_IOP32X || ARCH_IOP33X || ARCH_IXP4XX || ARCH_IOP13XX 637 help 638 Say Y here if you want to use the IIC bus controller on 639 the Intel IOPx3xx I/O Processors or IXP4xx Network Processors. 640 641 This driver can also be built as a module. If so, the module 642 will be called i2c-iop3xx. 643 644config I2C_JZ4780 645 tristate "JZ4780 I2C controller interface support" 646 depends on MACH_JZ4780 || COMPILE_TEST 647 help 648 If you say yes to this option, support will be included for the 649 Ingenic JZ4780 I2C controller. 650 651 If you don't know what to do here, say N. 652 653config I2C_KEMPLD 654 tristate "Kontron COM I2C Controller" 655 depends on MFD_KEMPLD 656 help 657 This enables support for the I2C bus interface on some Kontron ETX 658 and COMexpress (ETXexpress) modules. 659 660 This driver can also be built as a module. If so, the module 661 will be called i2c-kempld. 662 663config I2C_LPC2K 664 tristate "I2C bus support for NXP LPC2K/LPC178x/18xx/43xx" 665 depends on OF && (ARCH_LPC18XX || COMPILE_TEST) 666 help 667 This driver supports the I2C interface found several NXP 668 devices including LPC2xxx, LPC178x/7x and LPC18xx/43xx. 669 670 This driver can also be built as a module. If so, the module 671 will be called i2c-lpc2k. 672 673config I2C_MESON 674 tristate "Amlogic Meson I2C controller" 675 depends on ARCH_MESON || COMPILE_TEST 676 help 677 If you say yes to this option, support will be included for the 678 I2C interface on the Amlogic Meson family of SoCs. 679 680config I2C_MPC 681 tristate "MPC107/824x/85xx/512x/52xx/83xx/86xx" 682 depends on PPC 683 help 684 If you say yes to this option, support will be included for the 685 built-in I2C interface on the MPC107, Tsi107, MPC512x, MPC52xx, 686 MPC8240, MPC8245, MPC83xx, MPC85xx and MPC8641 family processors. 687 688 This driver can also be built as a module. If so, the module 689 will be called i2c-mpc. 690 691config I2C_MT65XX 692 tristate "MediaTek I2C adapter" 693 depends on ARCH_MEDIATEK || COMPILE_TEST 694 depends on HAS_DMA 695 help 696 This selects the MediaTek(R) Integrated Inter Circuit bus driver 697 for MT65xx and MT81xx. 698 If you want to use MediaTek(R) I2C interface, say Y or M here. 699 If unsure, say N. 700 701config I2C_MV64XXX 702 tristate "Marvell mv64xxx I2C Controller" 703 depends on MV64X60 || PLAT_ORION || ARCH_SUNXI || ARCH_MVEBU 704 help 705 If you say yes to this option, support will be included for the 706 built-in I2C interface on the Marvell 64xxx line of host bridges. 707 This driver is also used for Allwinner SoCs I2C controllers. 708 709 This driver can also be built as a module. If so, the module 710 will be called i2c-mv64xxx. 711 712config I2C_MXS 713 tristate "Freescale i.MX28 I2C interface" 714 depends on SOC_IMX28 715 select STMP_DEVICE 716 help 717 Say Y here if you want to use the I2C bus controller on 718 the Freescale i.MX28 processors. 719 720 This driver can also be built as a module. If so, the module 721 will be called i2c-mxs. 722 723config I2C_NOMADIK 724 tristate "ST-Ericsson Nomadik/Ux500 I2C Controller" 725 depends on ARM_AMBA 726 help 727 If you say yes to this option, support will be included for the 728 I2C interface from ST-Ericsson's Nomadik and Ux500 architectures, 729 as well as the STA2X11 PCIe I/O HUB. 730 731config I2C_OCORES 732 tristate "OpenCores I2C Controller" 733 help 734 If you say yes to this option, support will be included for the 735 OpenCores I2C controller. For details see 736 http://www.opencores.org/projects.cgi/web/i2c/overview 737 738 This driver can also be built as a module. If so, the module 739 will be called i2c-ocores. 740 741config I2C_OMAP 742 tristate "OMAP I2C adapter" 743 depends on ARCH_OMAP 744 default y if MACH_OMAP_H3 || MACH_OMAP_OSK 745 help 746 If you say yes to this option, support will be included for the 747 I2C interface on the Texas Instruments OMAP1/2 family of processors. 748 Like OMAP1510/1610/1710/5912 and OMAP242x. 749 For details see http://www.ti.com/omap. 750 751config I2C_PASEMI 752 tristate "PA Semi SMBus interface" 753 depends on PPC_PASEMI && PCI 754 help 755 Supports the PA Semi PWRficient on-chip SMBus interfaces. 756 757config I2C_PCA_PLATFORM 758 tristate "PCA9564/PCA9665 as platform device" 759 select I2C_ALGOPCA 760 default n 761 help 762 This driver supports a memory mapped Philips PCA9564/PCA9665 763 parallel bus to I2C bus controller. 764 765 This driver can also be built as a module. If so, the module 766 will be called i2c-pca-platform. 767 768config I2C_PMCMSP 769 tristate "PMC MSP I2C TWI Controller" 770 depends on PMC_MSP 771 help 772 This driver supports the PMC TWI controller on MSP devices. 773 774 This driver can also be built as module. If so, the module 775 will be called i2c-pmcmsp. 776 777config I2C_PNX 778 tristate "I2C bus support for Philips PNX and NXP LPC targets" 779 depends on ARCH_LPC32XX 780 help 781 This driver supports the Philips IP3204 I2C IP block master and/or 782 slave controller 783 784 This driver can also be built as a module. If so, the module 785 will be called i2c-pnx. 786 787config I2C_PUV3 788 tristate "PKUnity v3 I2C bus support" 789 depends on UNICORE32 && ARCH_PUV3 790 select I2C_ALGOBIT 791 help 792 This driver supports the I2C IP inside the PKUnity-v3 SoC. 793 This I2C bus controller is under AMBA/AXI bus. 794 795 This driver can also be built as a module. If so, the module 796 will be called i2c-puv3. 797 798config I2C_PXA 799 tristate "Intel PXA2XX I2C adapter" 800 depends on ARCH_PXA || ARCH_MMP || ARCH_MVEBU || (X86_32 && PCI && OF) 801 help 802 If you have devices in the PXA I2C bus, say yes to this option. 803 This driver can also be built as a module. If so, the module 804 will be called i2c-pxa. 805 806config I2C_PXA_PCI 807 def_bool I2C_PXA && X86_32 && PCI && OF 808 809config I2C_PXA_SLAVE 810 bool "Intel PXA2XX I2C Slave comms support" 811 depends on I2C_PXA && !X86_32 812 help 813 Support I2C slave mode communications on the PXA I2C bus. This 814 is necessary for systems where the PXA may be a target on the 815 I2C bus. 816 817config I2C_QUP 818 tristate "Qualcomm QUP based I2C controller" 819 depends on ARCH_QCOM 820 help 821 If you say yes to this option, support will be included for the 822 built-in I2C interface on the Qualcomm SoCs. 823 824 This driver can also be built as a module. If so, the module 825 will be called i2c-qup. 826 827config I2C_RIIC 828 tristate "Renesas RIIC adapter" 829 depends on ARCH_RENESAS || COMPILE_TEST 830 help 831 If you say yes to this option, support will be included for the 832 Renesas RIIC I2C interface. 833 834 This driver can also be built as a module. If so, the module 835 will be called i2c-riic. 836 837config I2C_RK3X 838 tristate "Rockchip RK3xxx I2C adapter" 839 depends on OF && COMMON_CLK 840 help 841 Say Y here to include support for the I2C adapter in Rockchip RK3xxx 842 SoCs. 843 844 This driver can also be built as a module. If so, the module will 845 be called i2c-rk3x. 846 847config HAVE_S3C2410_I2C 848 bool 849 help 850 This will include I2C support for Samsung SoCs. If you want to 851 include I2C support for any machine, kindly select this in the 852 respective Kconfig file. 853 854config I2C_S3C2410 855 tristate "S3C2410 I2C Driver" 856 depends on HAVE_S3C2410_I2C 857 help 858 Say Y here to include support for I2C controller in the 859 Samsung SoCs. 860 861config I2C_SH7760 862 tristate "Renesas SH7760 I2C Controller" 863 depends on CPU_SUBTYPE_SH7760 864 help 865 This driver supports the 2 I2C interfaces on the Renesas SH7760. 866 867 This driver can also be built as a module. If so, the module 868 will be called i2c-sh7760. 869 870config I2C_SH_MOBILE 871 tristate "SuperH Mobile I2C Controller" 872 depends on HAS_DMA 873 depends on ARCH_SHMOBILE || ARCH_RENESAS || COMPILE_TEST 874 help 875 If you say yes to this option, support will be included for the 876 built-in I2C interface on the Renesas SH-Mobile processor. 877 878 This driver can also be built as a module. If so, the module 879 will be called i2c-sh_mobile. 880 881config I2C_SIMTEC 882 tristate "Simtec Generic I2C interface" 883 select I2C_ALGOBIT 884 help 885 If you say yes to this option, support will be included for 886 the Simtec Generic I2C interface. This driver is for the 887 simple I2C bus used on newer Simtec products for general 888 I2C, such as DDC on the Simtec BBD2016A. 889 890 This driver can also be built as a module. If so, the module 891 will be called i2c-simtec. 892 893config I2C_SIRF 894 tristate "CSR SiRFprimaII I2C interface" 895 depends on ARCH_SIRF 896 help 897 If you say yes to this option, support will be included for the 898 CSR SiRFprimaII I2C interface. 899 900 This driver can also be built as a module. If so, the module 901 will be called i2c-sirf. 902 903config I2C_ST 904 tristate "STMicroelectronics SSC I2C support" 905 depends on ARCH_STI 906 help 907 Enable this option to add support for STMicroelectronics SoCs 908 hardware SSC (Synchronous Serial Controller) as an I2C controller. 909 910 This driver can also be built as module. If so, the module 911 will be called i2c-st. 912 913config I2C_STM32F4 914 tristate "STMicroelectronics STM32F4 I2C support" 915 depends on ARCH_STM32 || COMPILE_TEST 916 help 917 Enable this option to add support for STM32 I2C controller embedded 918 in STM32F4 SoCs. 919 920 This driver can also be built as module. If so, the module 921 will be called i2c-stm32f4. 922 923config I2C_STU300 924 tristate "ST Microelectronics DDC I2C interface" 925 depends on MACH_U300 926 default y if MACH_U300 927 help 928 If you say yes to this option, support will be included for the 929 I2C interface from ST Microelectronics simply called "DDC I2C" 930 supporting both I2C and DDC, used in e.g. the U300 series 931 mobile platforms. 932 933 This driver can also be built as a module. If so, the module 934 will be called i2c-stu300. 935 936config I2C_SUN6I_P2WI 937 tristate "Allwinner sun6i internal P2WI controller" 938 depends on RESET_CONTROLLER 939 depends on MACH_SUN6I || COMPILE_TEST 940 help 941 If you say yes to this option, support will be included for the 942 P2WI (Push/Pull 2 Wire Interface) controller embedded in some sunxi 943 SOCs. 944 The P2WI looks like an SMBus controller (which supports only byte 945 accesses), except that it only supports one slave device. 946 This interface is used to connect to specific PMIC devices (like the 947 AXP221). 948 949config I2C_TEGRA 950 tristate "NVIDIA Tegra internal I2C controller" 951 depends on ARCH_TEGRA 952 help 953 If you say yes to this option, support will be included for the 954 I2C controller embedded in NVIDIA Tegra SOCs 955 956config I2C_TEGRA_BPMP 957 tristate "NVIDIA Tegra BPMP I2C controller" 958 depends on TEGRA_BPMP 959 default y 960 help 961 If you say yes to this option, support will be included for the I2C 962 controller embedded in NVIDIA Tegra SoCs accessed via the BPMP. 963 964 This I2C driver is a 'virtual' I2C driver. The real driver is part 965 of the BPMP firmware, and this driver merely communicates with that 966 real driver. 967 968config I2C_UNIPHIER 969 tristate "UniPhier FIFO-less I2C controller" 970 depends on ARCH_UNIPHIER || COMPILE_TEST 971 help 972 If you say yes to this option, support will be included for 973 the UniPhier FIFO-less I2C interface embedded in PH1-LD4, PH1-sLD8, 974 or older UniPhier SoCs. 975 976config I2C_UNIPHIER_F 977 tristate "UniPhier FIFO-builtin I2C controller" 978 depends on ARCH_UNIPHIER || COMPILE_TEST 979 help 980 If you say yes to this option, support will be included for 981 the UniPhier FIFO-builtin I2C interface embedded in PH1-Pro4, 982 PH1-Pro5, or newer UniPhier SoCs. 983 984config I2C_VERSATILE 985 tristate "ARM Versatile/Realview I2C bus support" 986 depends on ARCH_MPS2 || ARCH_VERSATILE || ARCH_REALVIEW || ARCH_VEXPRESS || COMPILE_TEST 987 select I2C_ALGOBIT 988 help 989 Say yes if you want to support the I2C serial bus on ARMs Versatile 990 range of platforms. 991 992 This driver can also be built as a module. If so, the module 993 will be called i2c-versatile. 994 995config I2C_WMT 996 tristate "Wondermedia WM8xxx SoC I2C bus support" 997 depends on ARCH_VT8500 998 help 999 Say yes if you want to support the I2C bus on Wondermedia 8xxx-series 1000 SoCs. 1001 1002 This driver can also be built as a module. If so, the module will be 1003 called i2c-wmt. 1004 1005config I2C_OCTEON 1006 tristate "Cavium OCTEON I2C bus support" 1007 depends on CAVIUM_OCTEON_SOC 1008 help 1009 Say yes if you want to support the I2C serial bus on Cavium 1010 OCTEON SOC. 1011 1012 This driver can also be built as a module. If so, the module 1013 will be called i2c-octeon. 1014 1015config I2C_THUNDERX 1016 tristate "Cavium ThunderX I2C bus support" 1017 depends on 64BIT && PCI && (ARM64 || COMPILE_TEST) 1018 select I2C_SMBUS 1019 help 1020 Say yes if you want to support the I2C serial bus on Cavium 1021 ThunderX SOC. 1022 1023 This driver can also be built as a module. If so, the module 1024 will be called i2c-thunderx. 1025 1026config I2C_XILINX 1027 tristate "Xilinx I2C Controller" 1028 depends on HAS_IOMEM 1029 help 1030 If you say yes to this option, support will be included for the 1031 Xilinx I2C controller. 1032 1033 This driver can also be built as a module. If so, the module 1034 will be called xilinx_i2c. 1035 1036config I2C_XLR 1037 tristate "Netlogic XLR and Sigma Designs I2C support" 1038 depends on CPU_XLR || ARCH_TANGO 1039 help 1040 This driver enables support for the on-chip I2C interface of 1041 the Netlogic XLR/XLS MIPS processors and Sigma Designs SOCs. 1042 1043 This driver can also be built as a module. If so, the module 1044 will be called i2c-xlr. 1045 1046config I2C_XLP9XX 1047 tristate "XLP9XX I2C support" 1048 depends on CPU_XLP || ARCH_THUNDER2 || COMPILE_TEST 1049 help 1050 This driver enables support for the on-chip I2C interface of 1051 the Broadcom XLP9xx/XLP5xx MIPS and Vulcan ARM64 processors. 1052 1053 This driver can also be built as a module. If so, the module will 1054 be called i2c-xlp9xx. 1055 1056config I2C_RCAR 1057 tristate "Renesas R-Car I2C Controller" 1058 depends on HAS_DMA 1059 depends on ARCH_RENESAS || COMPILE_TEST 1060 select I2C_SLAVE 1061 help 1062 If you say yes to this option, support will be included for the 1063 R-Car I2C controller. 1064 1065 This driver can also be built as a module. If so, the module 1066 will be called i2c-rcar. 1067 1068comment "External I2C/SMBus adapter drivers" 1069 1070config I2C_DIOLAN_U2C 1071 tristate "Diolan U2C-12 USB adapter" 1072 depends on USB 1073 help 1074 If you say yes to this option, support will be included for Diolan 1075 U2C-12, a USB to I2C interface. 1076 1077 This driver can also be built as a module. If so, the module 1078 will be called i2c-diolan-u2c. 1079 1080config I2C_DLN2 1081 tristate "Diolan DLN-2 USB I2C adapter" 1082 depends on MFD_DLN2 1083 help 1084 If you say yes to this option, support will be included for Diolan 1085 DLN2, a USB to I2C interface. 1086 1087 This driver can also be built as a module. If so, the module 1088 will be called i2c-dln2. 1089 1090config I2C_PARPORT 1091 tristate "Parallel port adapter" 1092 depends on PARPORT 1093 select I2C_ALGOBIT 1094 select I2C_SMBUS 1095 help 1096 This supports parallel port I2C adapters such as the ones made by 1097 Philips or Velleman, Analog Devices evaluation boards, and more. 1098 Basically any adapter using the parallel port as an I2C bus with 1099 no extra chipset is supported by this driver, or could be. 1100 1101 This driver is a replacement for (and was inspired by) an older 1102 driver named i2c-philips-par. The new driver supports more devices, 1103 and makes it easier to add support for new devices. 1104 1105 An adapter type parameter is now mandatory. Please read the file 1106 Documentation/i2c/busses/i2c-parport for details. 1107 1108 Another driver exists, named i2c-parport-light, which doesn't depend 1109 on the parport driver. This is meant for embedded systems. Don't say 1110 Y here if you intend to say Y or M there. 1111 1112 This support is also available as a module. If so, the module 1113 will be called i2c-parport. 1114 1115config I2C_PARPORT_LIGHT 1116 tristate "Parallel port adapter (light)" 1117 select I2C_ALGOBIT 1118 select I2C_SMBUS 1119 help 1120 This supports parallel port I2C adapters such as the ones made by 1121 Philips or Velleman, Analog Devices evaluation boards, and more. 1122 Basically any adapter using the parallel port as an I2C bus with 1123 no extra chipset is supported by this driver, or could be. 1124 1125 This driver is a light version of i2c-parport. It doesn't depend 1126 on the parport driver, and uses direct I/O access instead. This 1127 might be preferred on embedded systems where wasting memory for 1128 the clean but heavy parport handling is not an option. The 1129 drawback is a reduced portability and the impossibility to 1130 daisy-chain other parallel port devices. 1131 1132 Don't say Y here if you said Y or M to i2c-parport. Saying M to 1133 both is possible but both modules should not be loaded at the same 1134 time. 1135 1136 This support is also available as a module. If so, the module 1137 will be called i2c-parport-light. 1138 1139config I2C_ROBOTFUZZ_OSIF 1140 tristate "RobotFuzz Open Source InterFace USB adapter" 1141 depends on USB 1142 help 1143 If you say yes to this option, support will be included for the 1144 RobotFuzz Open Source InterFace USB to I2C interface. 1145 1146 This driver can also be built as a module. If so, the module 1147 will be called i2c-osif. 1148 1149config I2C_TAOS_EVM 1150 tristate "TAOS evaluation module" 1151 depends on TTY 1152 select SERIO 1153 select SERIO_SERPORT 1154 default n 1155 help 1156 This supports TAOS evaluation modules on serial port. In order to 1157 use this driver, you will need the inputattach tool, which is part 1158 of the input-utils package. 1159 1160 If unsure, say N. 1161 1162 This support is also available as a module. If so, the module 1163 will be called i2c-taos-evm. 1164 1165config I2C_TINY_USB 1166 tristate "Tiny-USB adapter" 1167 depends on USB 1168 help 1169 If you say yes to this option, support will be included for the 1170 i2c-tiny-usb, a simple do-it-yourself USB to I2C interface. See 1171 http://www.harbaum.org/till/i2c_tiny_usb for hardware details. 1172 1173 This driver can also be built as a module. If so, the module 1174 will be called i2c-tiny-usb. 1175 1176config I2C_VIPERBOARD 1177 tristate "Viperboard I2C master support" 1178 depends on MFD_VIPERBOARD && USB 1179 help 1180 Say yes here to access the I2C part of the Nano River 1181 Technologies Viperboard as I2C master. 1182 See viperboard API specification and Nano 1183 River Tech's viperboard.h for detailed meaning 1184 of the module parameters. 1185 1186comment "Other I2C/SMBus bus drivers" 1187 1188config I2C_ACORN 1189 tristate "Acorn IOC/IOMD I2C bus support" 1190 depends on ARCH_ACORN 1191 default y 1192 select I2C_ALGOBIT 1193 help 1194 Say yes if you want to support the I2C bus on Acorn platforms. 1195 1196 If you don't know, say Y. 1197 1198config I2C_ELEKTOR 1199 tristate "Elektor ISA card" 1200 depends on ISA && HAS_IOPORT_MAP && BROKEN_ON_SMP 1201 select I2C_ALGOPCF 1202 help 1203 This supports the PCF8584 ISA bus I2C adapter. Say Y if you own 1204 such an adapter. 1205 1206 This support is also available as a module. If so, the module 1207 will be called i2c-elektor. 1208 1209config I2C_MLXCPLD 1210 tristate "Mellanox I2C driver" 1211 depends on X86_64 1212 help 1213 This exposes the Mellanox platform I2C busses to the linux I2C layer 1214 for X86 based systems. 1215 Controller is implemented as CPLD logic. 1216 1217 This driver can also be built as a module. If so, the module will be 1218 called as i2c-mlxcpld. 1219 1220config I2C_PCA_ISA 1221 tristate "PCA9564/PCA9665 on an ISA bus" 1222 depends on ISA 1223 select I2C_ALGOPCA 1224 default n 1225 help 1226 This driver supports ISA boards using the Philips PCA9564/PCA9665 1227 parallel bus to I2C bus controller. 1228 1229 This driver can also be built as a module. If so, the module 1230 will be called i2c-pca-isa. 1231 1232 This device is almost undetectable and using this driver on a 1233 system which doesn't have this device will result in long 1234 delays when I2C/SMBus chip drivers are loaded (e.g. at boot 1235 time). If unsure, say N. 1236 1237config I2C_SIBYTE 1238 tristate "SiByte SMBus interface" 1239 depends on SIBYTE_SB1xxx_SOC 1240 help 1241 Supports the SiByte SOC on-chip I2C interfaces (2 channels). 1242 1243config I2C_CROS_EC_TUNNEL 1244 tristate "ChromeOS EC tunnel I2C bus" 1245 depends on MFD_CROS_EC 1246 help 1247 If you say yes here you get an I2C bus that will tunnel i2c commands 1248 through to the other side of the ChromeOS EC to the i2c bus 1249 connected there. This will work whatever the interface used to 1250 talk to the EC (SPI, I2C or LPC). 1251 1252config I2C_XGENE_SLIMPRO 1253 tristate "APM X-Gene SoC I2C SLIMpro devices support" 1254 depends on ARCH_XGENE && MAILBOX 1255 help 1256 Enable I2C bus access using the APM X-Gene SoC SLIMpro 1257 co-processor. The I2C device access the I2C bus via the X-Gene 1258 to SLIMpro (On chip coprocessor) mailbox mechanism. 1259 If unsure, say N. 1260 1261config SCx200_ACB 1262 tristate "Geode ACCESS.bus support" 1263 depends on X86_32 && PCI 1264 help 1265 Enable the use of the ACCESS.bus controllers on the Geode SCx200 and 1266 SC1100 processors and the CS5535 and CS5536 Geode companion devices. 1267 1268 If you don't know what to do here, say N. 1269 1270 This support is also available as a module. If so, the module 1271 will be called scx200_acb. 1272 1273config I2C_OPAL 1274 tristate "IBM OPAL I2C driver" 1275 depends on PPC_POWERNV 1276 default y 1277 help 1278 This exposes the PowerNV platform i2c busses to the linux i2c layer, 1279 the driver is based on the OPAL interfaces. 1280 1281 This driver can also be built as a module. If so, the module will be 1282 called as i2c-opal. 1283 1284config I2C_ZX2967 1285 tristate "ZTE ZX2967 I2C support" 1286 depends on ARCH_ZX 1287 default y 1288 help 1289 Selecting this option will add ZX2967 I2C driver. 1290 This driver can also be built as a module. If so, the module will be 1291 called i2c-zx2967. 1292 1293endmenu 1294