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