1# SPDX-License-Identifier: GPL-2.0-only 2# 3# Sensor device configuration 4# 5 6menu "I2C Hardware Bus support" 7 depends on HAS_IOMEM 8 9comment "PC SMBus host controller drivers" 10 depends on PCI 11 12config I2C_CCGX_UCSI 13 tristate 14 help 15 A common module to provide an API to instantiate UCSI device 16 for Cypress CCGx Type-C controller. Individual bus drivers 17 need to select this one on demand. 18 19config I2C_ALI1535 20 tristate "ALI 1535" 21 depends on PCI && HAS_IOPORT 22 help 23 If you say yes to this option, support will be included for the SMB 24 Host controller on Acer Labs Inc. (ALI) M1535 South Bridges. The SMB 25 controller is part of the 7101 device, which is an ACPI-compliant 26 Power Management Unit (PMU). 27 28 This driver can also be built as a module. If so, the module 29 will be called i2c-ali1535. 30 31config I2C_ALI1563 32 tristate "ALI 1563" 33 depends on PCI && HAS_IOPORT 34 help 35 If you say yes to this option, support will be included for the SMB 36 Host controller on Acer Labs Inc. (ALI) M1563 South Bridges. The SMB 37 controller is part of the 7101 device, which is an ACPI-compliant 38 Power Management Unit (PMU). 39 40 This driver can also be built as a module. If so, the module 41 will be called i2c-ali1563. 42 43config I2C_ALI15X3 44 tristate "ALI 15x3" 45 depends on PCI && HAS_IOPORT 46 help 47 If you say yes to this option, support will be included for the 48 Acer Labs Inc. (ALI) M1514 and M1543 motherboard I2C interfaces. 49 50 This driver can also be built as a module. If so, the module 51 will be called i2c-ali15x3. 52 53config I2C_AMD756 54 tristate "AMD 756/766/768/8111 and nVidia nForce" 55 depends on PCI && HAS_IOPORT 56 help 57 If you say yes to this option, support will be included for the AMD 58 756/766/768 mainboard I2C interfaces. The driver also includes 59 support for the first (SMBus 1.0) I2C interface of the AMD 8111 and 60 the nVidia nForce I2C interface. 61 62 This driver can also be built as a module. If so, the module 63 will be called i2c-amd756. 64 65config I2C_AMD756_S4882 66 tristate "SMBus multiplexing on the Tyan S4882" 67 depends on I2C_AMD756 && X86 68 help 69 Enabling this option will add specific SMBus support for the Tyan 70 S4882 motherboard. On this 4-CPU board, the SMBus is multiplexed 71 over 8 different channels, where the various memory module EEPROMs 72 and temperature sensors live. Saying yes here will give you access 73 to these in addition to the trunk. 74 75 This driver can also be built as a module. If so, the module 76 will be called i2c-amd756-s4882. 77 78config I2C_AMD8111 79 tristate "AMD 8111" 80 depends on PCI && HAS_IOPORT 81 help 82 If you say yes to this option, support will be included for the 83 second (SMBus 2.0) AMD 8111 mainboard I2C interface. 84 85 This driver can also be built as a module. If so, the module 86 will be called i2c-amd8111. 87 88config I2C_AMD_MP2 89 tristate "AMD MP2 PCIe" 90 depends on PCI && ACPI 91 help 92 If you say yes to this option, support will be included for the AMD 93 MP2 PCIe I2C adapter. 94 95 This driver can also be built as modules. If so, the modules will 96 be called i2c-amd-mp2-pci and i2c-amd-mp2-plat. 97 98config I2C_HIX5HD2 99 tristate "Hix5hd2 high-speed I2C driver" 100 depends on ARCH_HISI || ARCH_HIX5HD2 || COMPILE_TEST 101 help 102 Say Y here to include support for the high-speed I2C controller 103 used in HiSilicon hix5hd2 SoCs. 104 105 This driver can also be built as a module. If so, the module 106 will be called i2c-hix5hd2. 107 108config I2C_I801 109 tristate "Intel 82801 (ICH/PCH)" 110 depends on PCI && HAS_IOPORT 111 select P2SB if X86 112 select CHECK_SIGNATURE if X86 && DMI 113 select I2C_SMBUS 114 help 115 If you say yes to this option, support will be included for the Intel 116 801 family of mainboard I2C interfaces. Specifically, the following 117 versions of the chipset are supported: 118 82801AA 119 82801AB 120 82801BA 121 82801CA/CAM 122 82801DB 123 82801EB/ER (ICH5/ICH5R) 124 6300ESB 125 ICH6 126 ICH7 127 ESB2 128 ICH8 129 ICH9 130 EP80579 (Tolapai) 131 ICH10 132 5/3400 Series (PCH) 133 6 Series (PCH) 134 Patsburg (PCH) 135 DH89xxCC (PCH) 136 Panther Point (PCH) 137 Lynx Point (PCH) 138 Avoton (SOC) 139 Wellsburg (PCH) 140 Coleto Creek (PCH) 141 Wildcat Point (PCH) 142 BayTrail (SOC) 143 Braswell (SOC) 144 Sunrise Point (PCH) 145 Kaby Lake (PCH) 146 DNV (SOC) 147 Broxton (SOC) 148 Lewisburg (PCH) 149 Gemini Lake (SOC) 150 Cannon Lake (PCH) 151 Cedar Fork (PCH) 152 Ice Lake (PCH) 153 Comet Lake (PCH) 154 Elkhart Lake (PCH) 155 Tiger Lake (PCH) 156 Jasper Lake (SOC) 157 Emmitsburg (PCH) 158 Alder Lake (PCH) 159 Raptor Lake (PCH) 160 Meteor Lake (SOC and PCH) 161 Birch Stream (SOC) 162 163 This driver can also be built as a module. If so, the module 164 will be called i2c-i801. 165 166config I2C_I801_MUX 167 def_bool I2C_I801 168 depends on DMI && I2C_MUX_GPIO 169 depends on !(I2C_I801=y && I2C_MUX=m) 170 help 171 Optional support for multiplexed SMBUS on certain systems with 172 more than 8 memory slots. 173 174config I2C_ISCH 175 tristate "Intel SCH SMBus 1.0" 176 depends on PCI && HAS_IOPORT 177 select LPC_SCH 178 help 179 Say Y here if you want to use SMBus controller on the Intel SCH 180 based systems. 181 182 This driver can also be built as a module. If so, the module 183 will be called i2c-isch. 184 185config I2C_ISMT 186 tristate "Intel iSMT SMBus Controller" 187 depends on PCI && X86 188 help 189 If you say yes to this option, support will be included for the Intel 190 iSMT SMBus host controller interface. 191 192 This driver can also be built as a module. If so, the module will be 193 called i2c-ismt. 194 195config I2C_PIIX4 196 tristate "Intel PIIX4 and compatible (ATI/AMD/Serverworks/Broadcom/SMSC)" 197 depends on PCI && HAS_IOPORT 198 help 199 If you say yes to this option, support will be included for the Intel 200 PIIX4 family of mainboard I2C interfaces. Specifically, the following 201 versions of the chipset are supported (note that Serverworks is part 202 of Broadcom): 203 Intel PIIX4 204 Intel 440MX 205 ATI IXP200 206 ATI IXP300 207 ATI IXP400 208 ATI SB600 209 ATI SB700/SP5100 210 ATI SB800 211 AMD Hudson-2 212 AMD ML 213 AMD CZ 214 Hygon CZ 215 Serverworks OSB4 216 Serverworks CSB5 217 Serverworks CSB6 218 Serverworks HT-1000 219 Serverworks HT-1100 220 SMSC Victory66 221 222 Some AMD chipsets contain two PIIX4-compatible SMBus 223 controllers. This driver will attempt to use both controllers 224 on the SB700/SP5100, if they have been initialized by the BIOS. 225 226 This driver can also be built as a module. If so, the module 227 will be called i2c-piix4. 228 229config I2C_CHT_WC 230 tristate "Intel Cherry Trail Whiskey Cove PMIC smbus controller" 231 depends on INTEL_SOC_PMIC_CHTWC 232 help 233 If you say yes to this option, support will be included for the 234 SMBus controller found in the Intel Cherry Trail Whiskey Cove PMIC 235 found on some Intel Cherry Trail systems. 236 237 Note this controller is hooked up to a TI bq24292i charger-IC, 238 combined with a FUSB302 Type-C port-controller as such it is advised 239 to also select CONFIG_TYPEC_FUSB302=m. 240 241config I2C_NFORCE2 242 tristate "Nvidia nForce2, nForce3 and nForce4" 243 depends on PCI && HAS_IOPORT 244 help 245 If you say yes to this option, support will be included for the Nvidia 246 nForce2, nForce3 and nForce4 families of mainboard I2C interfaces. 247 248 This driver can also be built as a module. If so, the module 249 will be called i2c-nforce2. 250 251config I2C_NFORCE2_S4985 252 tristate "SMBus multiplexing on the Tyan S4985" 253 depends on I2C_NFORCE2 && X86 254 help 255 Enabling this option will add specific SMBus support for the Tyan 256 S4985 motherboard. On this 4-CPU board, the SMBus is multiplexed 257 over 4 different channels, where the various memory module EEPROMs 258 live. Saying yes here will give you access to these in addition 259 to the trunk. 260 261 This driver can also be built as a module. If so, the module 262 will be called i2c-nforce2-s4985. 263 264config I2C_NVIDIA_GPU 265 tristate "NVIDIA GPU I2C controller" 266 depends on PCI 267 select I2C_CCGX_UCSI 268 help 269 If you say yes to this option, support will be included for the 270 NVIDIA GPU I2C controller which is used to communicate with the GPU's 271 Type-C controller. This driver can also be built as a module called 272 i2c-nvidia-gpu. 273 274config I2C_SIS5595 275 tristate "SiS 5595" 276 depends on PCI && HAS_IOPORT 277 help 278 If you say yes to this option, support will be included for the 279 SiS5595 SMBus (a subset of I2C) interface. 280 281 This driver can also be built as a module. If so, the module 282 will be called i2c-sis5595. 283 284config I2C_SIS630 285 tristate "SiS 630/730/964" 286 depends on PCI && HAS_IOPORT 287 help 288 If you say yes to this option, support will be included for the 289 SiS630, SiS730 and SiS964 SMBus (a subset of I2C) interface. 290 291 This driver can also be built as a module. If so, the module 292 will be called i2c-sis630. 293 294config I2C_SIS96X 295 tristate "SiS 96x" 296 depends on PCI && HAS_IOPORT 297 help 298 If you say yes to this option, support will be included for the SiS 299 96x SMBus (a subset of I2C) interfaces. Specifically, the following 300 chipsets are supported: 301 645/961 302 645DX/961 303 645DX/962 304 648/961 305 650/961 306 735 307 745 308 309 This driver can also be built as a module. If so, the module 310 will be called i2c-sis96x. 311 312config I2C_VIA 313 tristate "VIA VT82C586B" 314 depends on PCI && HAS_IOPORT 315 select I2C_ALGOBIT 316 help 317 If you say yes to this option, support will be included for the VIA 318 82C586B I2C interface 319 320 This driver can also be built as a module. If so, the module 321 will be called i2c-via. 322 323config I2C_VIAPRO 324 tristate "VIA VT82C596/82C686/82xx and CX700/VX8xx/VX900" 325 depends on PCI && HAS_IOPORT 326 help 327 If you say yes to this option, support will be included for the VIA 328 VT82C596 and later SMBus interface. Specifically, the following 329 chipsets are supported: 330 VT82C596A/B 331 VT82C686A/B 332 VT8231 333 VT8233/A 334 VT8235 335 VT8237R/A/S 336 VT8251 337 CX700 338 VX800/VX820 339 VX855/VX875 340 VX900 341 342 This driver can also be built as a module. If so, the module 343 will be called i2c-viapro. 344 345if ACPI 346 347config I2C_ZHAOXIN 348 tristate "Zhaoxin I2C Interface" 349 depends on PCI || COMPILE_TEST 350 help 351 If you say yes to this option, support will be included for the 352 ZHAOXIN I2C interface 353 354 This driver can also be built as a module. If so, the module 355 will be called i2c-zhaoxin. 356 357comment "ACPI drivers" 358 359config I2C_SCMI 360 tristate "SMBus Control Method Interface" 361 help 362 This driver supports the SMBus Control Method Interface. It needs the 363 BIOS to declare ACPI control methods as described in the SMBus Control 364 Method Interface specification. 365 366 To compile this driver as a module, choose M here: 367 the module will be called i2c-scmi. 368 369endif # ACPI 370 371comment "Mac SMBus host controller drivers" 372 depends on PPC_CHRP || PPC_PMAC 373 374config I2C_HYDRA 375 tristate "CHRP Apple Hydra Mac I/O I2C interface" 376 depends on PCI && PPC_CHRP 377 select I2C_ALGOBIT 378 help 379 This supports the use of the I2C interface in the Apple Hydra Mac 380 I/O chip on some CHRP machines (e.g. the LongTrail). Say Y if you 381 have such a machine. 382 383 This support is also available as a module. If so, the module 384 will be called i2c-hydra. 385 386config I2C_POWERMAC 387 tristate "Powermac I2C interface" 388 depends on PPC_PMAC 389 default y 390 help 391 This exposes the various PowerMac i2c interfaces to the linux i2c 392 layer and to userland. It is used by various drivers on the PowerMac 393 platform, and should generally be enabled. 394 395 This support is also available as a module. If so, the module 396 will be called i2c-powermac. 397 398comment "I2C system bus drivers (mostly embedded / system-on-chip)" 399 400config I2C_ALTERA 401 tristate "Altera Soft IP I2C" 402 depends on ARCH_INTEL_SOCFPGA || NIOS2 || COMPILE_TEST 403 depends on OF 404 help 405 If you say yes to this option, support will be included for the 406 Altera Soft IP I2C interfaces on SoCFPGA and Nios2 architectures. 407 408 This driver can also be built as a module. If so, the module 409 will be called i2c-altera. 410 411config I2C_ASPEED 412 tristate "Aspeed I2C Controller" 413 depends on ARCH_ASPEED || COMPILE_TEST 414 help 415 If you say yes to this option, support will be included for the 416 Aspeed I2C controller. 417 418 This driver can also be built as a module. If so, the module 419 will be called i2c-aspeed. 420 421config I2C_AT91 422 tristate "Atmel AT91 I2C Two-Wire interface (TWI)" 423 depends on ARCH_AT91 || COMPILE_TEST 424 help 425 This supports the use of the I2C interface on Atmel AT91 426 processors. 427 428 A serious problem is that there is no documented way to issue 429 repeated START conditions for more than two messages, as needed 430 to support combined I2C messages. Use the i2c-gpio driver 431 unless your system can cope with this limitation. 432 433 Caution! at91rm9200, at91sam9261, at91sam9260, at91sam9263 devices 434 don't have clock stretching in transmission mode. For that reason, 435 you can encounter underrun issues causing premature stop sendings if 436 the latency to fill the transmission register is too long. If you 437 are facing this situation, use the i2c-gpio driver. 438 439config I2C_AT91_SLAVE_EXPERIMENTAL 440 tristate "Microchip AT91 I2C experimental slave mode" 441 depends on I2C_AT91 442 select I2C_SLAVE 443 help 444 If you say yes to this option, support for the slave mode will be 445 added. Caution: do not use it for production. This feature has not 446 been tested in a heavy way, help wanted. 447 There are known bugs: 448 - It can hang, on a SAMA5D4, after several transfers. 449 - There are some mismtaches with a SAMA5D4 as slave and a SAMA5D2 as 450 master. 451 452config I2C_AU1550 453 tristate "Au1550/Au1200/Au1300 SMBus interface" 454 depends on MIPS_ALCHEMY 455 help 456 If you say yes to this option, support will be included for the 457 Au1550/Au1200/Au1300 SMBus interface. 458 459 This driver can also be built as a module. If so, the module 460 will be called i2c-au1550. 461 462config I2C_AXXIA 463 tristate "Axxia I2C controller" 464 depends on ARCH_AXXIA || COMPILE_TEST 465 default ARCH_AXXIA 466 select I2C_SLAVE 467 help 468 Say yes if you want to support the I2C bus on Axxia platforms. 469 470 Please note that this controller is limited to transfers of maximum 471 255 bytes in length. Any attempt to to a larger transfer will return 472 an error. 473 474config I2C_BCM2835 475 tristate "Broadcom BCM2835 I2C controller" 476 depends on ARCH_BCM2835 || ARCH_BRCMSTB || COMPILE_TEST 477 depends on COMMON_CLK 478 help 479 If you say yes to this option, support will be included for the 480 BCM2835 I2C controller. 481 482 If you don't know what to do here, say N. 483 484 This support is also available as a module. If so, the module 485 will be called i2c-bcm2835. 486 487config I2C_BCM_IPROC 488 tristate "Broadcom iProc I2C controller" 489 depends on ARCH_BCM_IPROC || COMPILE_TEST 490 default ARCH_BCM_IPROC 491 select I2C_SLAVE 492 help 493 If you say yes to this option, support will be included for the 494 Broadcom iProc I2C controller. 495 496 If you don't know what to do here, say N. 497 498config I2C_BCM_KONA 499 tristate "BCM Kona I2C adapter" 500 depends on ARCH_BCM_MOBILE || COMPILE_TEST 501 default y if ARCH_BCM_MOBILE 502 help 503 If you say yes to this option, support will be included for the 504 I2C interface on the Broadcom Kona family of processors. 505 506 If you do not need KONA I2C interface, say N. 507 508config I2C_BRCMSTB 509 tristate "BRCM Settop/DSL I2C controller" 510 depends on ARCH_BCM2835 || ARCH_BCMBCA || ARCH_BRCMSTB || \ 511 BMIPS_GENERIC || COMPILE_TEST 512 default y 513 help 514 If you say yes to this option, support will be included for the 515 I2C interface on the Broadcom Settop/DSL SoCs. 516 517 If you do not need I2C interface, say N. 518 519config I2C_CADENCE 520 tristate "Cadence I2C Controller" 521 depends on ARCH_ZYNQ || ARM64 || XTENSA || RISCV || COMPILE_TEST 522 help 523 Say yes here to select Cadence I2C Host Controller. This controller is 524 e.g. used by Xilinx Zynq. 525 526config I2C_CBUS_GPIO 527 tristate "CBUS I2C driver" 528 depends on GPIOLIB || COMPILE_TEST 529 help 530 Support for CBUS access using I2C API. Mostly relevant for Nokia 531 Internet Tablets (770, N800 and N810). 532 533 This driver can also be built as a module. If so, the module 534 will be called i2c-cbus-gpio. 535 536config I2C_CPM 537 tristate "Freescale CPM1 or CPM2 (MPC8xx/826x)" 538 depends on CPM1 || CPM2 539 help 540 This supports the use of the I2C interface on Freescale 541 processors with CPM1 or CPM2. 542 543 This driver can also be built as a module. If so, the module 544 will be called i2c-cpm. 545 546config I2C_DAVINCI 547 tristate "DaVinci I2C driver" 548 depends on ARCH_DAVINCI || ARCH_KEYSTONE || COMPILE_TEST 549 help 550 Support for TI DaVinci I2C controller driver. 551 552 This driver can also be built as a module. If so, the module 553 will be called i2c-davinci. 554 555 Please note that this driver might be needed to bring up other 556 devices such as DaVinci NIC. 557 For details please see http://www.ti.com/davinci 558 559config I2C_DESIGNWARE_CORE 560 tristate 561 select REGMAP 562 563config I2C_DESIGNWARE_SLAVE 564 bool "Synopsys DesignWare Slave" 565 depends on I2C_DESIGNWARE_CORE 566 select I2C_SLAVE 567 help 568 If you say yes to this option, support will be included for the 569 Synopsys DesignWare I2C slave adapter. 570 571 This is not a standalone module, this module compiles together with 572 i2c-designware-core. 573 574config I2C_DESIGNWARE_PLATFORM 575 tristate "Synopsys DesignWare Platform" 576 depends on (ACPI && COMMON_CLK) || !ACPI 577 select I2C_DESIGNWARE_CORE 578 select MFD_SYSCON if MIPS_BAIKAL_T1 579 help 580 If you say yes to this option, support will be included for the 581 Synopsys DesignWare I2C adapter. 582 583 This driver can also be built as a module. If so, the module 584 will be called i2c-designware-platform. 585 586config I2C_DESIGNWARE_AMDPSP 587 bool "AMD PSP I2C semaphore support" 588 depends on ACPI 589 depends on CRYPTO_DEV_SP_PSP 590 depends on PCI 591 depends on I2C_DESIGNWARE_PLATFORM 592 depends on (I2C_DESIGNWARE_PLATFORM=y && CRYPTO_DEV_CCP_DD=y) || \ 593 (I2C_DESIGNWARE_PLATFORM=m && CRYPTO_DEV_CCP_DD) 594 help 595 This driver enables managed host access to the selected I2C bus shared 596 between AMD CPU and AMD PSP. 597 598 You should say Y if running on an AMD system equipped with the PSP. 599 600config I2C_DESIGNWARE_BAYTRAIL 601 bool "Intel Baytrail I2C semaphore support" 602 depends on ACPI 603 depends on I2C_DESIGNWARE_PLATFORM 604 depends on (I2C_DESIGNWARE_PLATFORM=m && IOSF_MBI) || \ 605 (I2C_DESIGNWARE_PLATFORM=y && IOSF_MBI=y) 606 help 607 This driver enables managed host access to the PMIC I2C bus on select 608 Intel BayTrail platforms using the X-Powers AXP288 PMIC. It allows 609 the host to request uninterrupted access to the PMIC's I2C bus from 610 the platform firmware controlling it. You should say Y if running on 611 a BayTrail system using the AXP288. 612 613config I2C_DESIGNWARE_PCI 614 tristate "Synopsys DesignWare PCI" 615 depends on PCI 616 select I2C_DESIGNWARE_CORE 617 select I2C_CCGX_UCSI 618 help 619 If you say yes to this option, support will be included for the 620 Synopsys DesignWare I2C adapter. Only master mode is supported. 621 622 This driver can also be built as a module. If so, the module 623 will be called i2c-designware-pci. 624 625config I2C_DIGICOLOR 626 tristate "Conexant Digicolor I2C driver" 627 depends on ARCH_DIGICOLOR || COMPILE_TEST 628 help 629 Support for Conexant Digicolor SoCs (CX92755) I2C controller driver. 630 631 This driver can also be built as a module. If so, the module 632 will be called i2c-digicolor. 633 634config I2C_EG20T 635 tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) I2C" 636 depends on PCI && (X86_32 || MIPS || COMPILE_TEST) 637 help 638 This driver is for PCH(Platform controller Hub) I2C of EG20T which 639 is an IOH(Input/Output Hub) for x86 embedded processor. 640 This driver can access PCH I2C bus device. 641 642 This driver also can be used for LAPIS Semiconductor IOH(Input/ 643 Output Hub), ML7213, ML7223 and ML7831. 644 ML7213 IOH is for IVI(In-Vehicle Infotainment) use, ML7223 IOH is 645 for MP(Media Phone) use and ML7831 IOH is for general purpose use. 646 ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series. 647 ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH. 648 649config I2C_EMEV2 650 tristate "EMMA Mobile series I2C adapter" 651 depends on HAVE_CLK 652 select I2C_SLAVE 653 help 654 If you say yes to this option, support will be included for the 655 I2C interface on the Renesas Electronics EM/EV family of processors. 656 657config I2C_EXYNOS5 658 tristate "Exynos high-speed I2C driver" 659 depends on OF 660 depends on ARCH_EXYNOS || COMPILE_TEST 661 default y if ARCH_EXYNOS 662 help 663 High-speed I2C controller on Samsung Exynos5 and newer Samsung SoCs: 664 Exynos5250, Exynos5260, Exynos5410, Exynos542x, Exynos5800, 665 Exynos5433, Exynos7, Exynos850 and ExynosAutoV9. 666 Choose Y here only if you build for such Samsung SoC. 667 668config I2C_GPIO 669 tristate "GPIO-based bitbanging I2C" 670 depends on GPIOLIB || COMPILE_TEST 671 select I2C_ALGOBIT 672 help 673 This is a very simple bitbanging I2C driver utilizing the 674 arch-neutral GPIO API to control the SCL and SDA lines. 675 676config I2C_GPIO_FAULT_INJECTOR 677 bool "GPIO-based fault injector" 678 depends on I2C_GPIO 679 help 680 This adds some functionality to the i2c-gpio driver which can inject 681 faults to an I2C bus, so another bus master can be stress-tested. 682 This is for debugging. If unsure, say 'no'. 683 684config I2C_GXP 685 tristate "GXP I2C Interface" 686 depends on ARCH_HPE_GXP || COMPILE_TEST 687 help 688 This enables support for GXP I2C interface. The I2C engines can be 689 either I2C master or I2C slaves. 690 691config I2C_HIGHLANDER 692 tristate "Highlander FPGA SMBus interface" 693 depends on SH_HIGHLANDER || COMPILE_TEST 694 help 695 If you say yes to this option, support will be included for 696 the SMBus interface located in the FPGA on various Highlander 697 boards, particularly the R0P7780LC0011RL and R0P7785LC0011RL 698 FPGAs. This is wholly unrelated to the SoC I2C. 699 700 This driver can also be built as a module. If so, the module 701 will be called i2c-highlander. 702 703config I2C_HISI 704 tristate "HiSilicon I2C controller" 705 depends on ARM64 || COMPILE_TEST 706 help 707 Say Y here if you want to have Hisilicon I2C controller support 708 available on the Kunpeng Server. 709 710 This driver can also be built as a module. If so, the module 711 will be called i2c-hisi. 712 713config I2C_IBM_IIC 714 tristate "IBM PPC 4xx on-chip I2C interface" 715 depends on 4xx 716 help 717 Say Y here if you want to use IIC peripheral found on 718 embedded IBM PPC 4xx based systems. 719 720 This driver can also be built as a module. If so, the module 721 will be called i2c-ibm_iic. 722 723config I2C_IMG 724 tristate "Imagination Technologies I2C SCB Controller" 725 depends on MIPS || COMPILE_TEST 726 help 727 Say Y here if you want to use the IMG I2C SCB controller, 728 available on the TZ1090 and other IMG SoCs. 729 730 This driver can also be built as a module. If so, the module 731 will be called i2c-img-scb. 732 733config I2C_IMX 734 tristate "IMX I2C interface" 735 depends on ARCH_MXC || ARCH_LAYERSCAPE || COLDFIRE || COMPILE_TEST 736 select I2C_SLAVE 737 help 738 Say Y here if you want to use the IIC bus controller on 739 the Freescale i.MX/MXC, Layerscape or ColdFire processors. 740 741 This driver can also be built as a module. If so, the module 742 will be called i2c-imx. 743 744config I2C_IMX_LPI2C 745 tristate "IMX Low Power I2C interface" 746 depends on ARCH_MXC || COMPILE_TEST 747 help 748 Say Y here if you want to use the Low Power IIC bus controller 749 on the Freescale i.MX processors. 750 751 This driver can also be built as a module. If so, the module 752 will be called i2c-imx-lpi2c. 753 754config I2C_IOP3XX 755 tristate "Intel IXP4xx on-chip I2C interface" 756 depends on ARCH_IXP4XX || COMPILE_TEST 757 help 758 Say Y here if you want to use the IIC bus controller on 759 the Intel IXP4xx Network Processors. 760 761 This driver can also be built as a module. If so, the module 762 will be called i2c-iop3xx. 763 764config I2C_JZ4780 765 tristate "JZ4780 I2C controller interface support" 766 depends on MIPS || COMPILE_TEST 767 help 768 If you say yes to this option, support will be included for the 769 Ingenic JZ4780 I2C controller. 770 771 If you don't know what to do here, say N. 772 773config I2C_KEMPLD 774 tristate "Kontron COM I2C Controller" 775 depends on MFD_KEMPLD 776 help 777 This enables support for the I2C bus interface on some Kontron ETX 778 and COMexpress (ETXexpress) modules. 779 780 This driver can also be built as a module. If so, the module 781 will be called i2c-kempld. 782 783config I2C_LPC2K 784 tristate "I2C bus support for NXP LPC2K/LPC178x/18xx/43xx" 785 depends on OF && (ARCH_LPC18XX || COMPILE_TEST) 786 help 787 This driver supports the I2C interface found several NXP 788 devices including LPC2xxx, LPC178x/7x and LPC18xx/43xx. 789 790 This driver can also be built as a module. If so, the module 791 will be called i2c-lpc2k. 792 793config I2C_LS2X 794 tristate "Loongson LS2X I2C adapter" 795 depends on MACH_LOONGSON64 || COMPILE_TEST 796 help 797 If you say yes to this option, support will be included for the 798 I2C interface on the Loongson-2K SoCs and Loongson LS7A bridge 799 chip. 800 801 This driver can also be built as a module. If so, the module 802 will be called i2c-ls2x. 803 804config I2C_MLXBF 805 tristate "Mellanox BlueField I2C controller" 806 depends on MELLANOX_PLATFORM && ARM64 807 depends on ACPI 808 select I2C_SLAVE 809 help 810 Enabling this option will add I2C SMBus support for Mellanox BlueField 811 system. 812 813 This driver can also be built as a module. If so, the module will be 814 called i2c-mlxbf. 815 816 This driver implements an I2C SMBus host controller and enables both 817 master and slave functions. 818 819config I2C_MESON 820 tristate "Amlogic Meson I2C controller" 821 depends on ARCH_MESON || COMPILE_TEST 822 depends on COMMON_CLK 823 help 824 If you say yes to this option, support will be included for the 825 I2C interface on the Amlogic Meson family of SoCs. 826 827config I2C_MICROCHIP_CORE 828 tristate "Microchip FPGA I2C controller" 829 depends on ARCH_MICROCHIP_POLARFIRE || COMPILE_TEST 830 depends on OF 831 help 832 If you say yes to this option, support will be included for the 833 I2C interface on Microchip FPGAs. 834 835 This driver can also be built as a module. If so, the module will be 836 called i2c-microchip-core. 837 838config I2C_MPC 839 tristate "MPC107/824x/85xx/512x/52xx/83xx/86xx" 840 depends on PPC 841 help 842 If you say yes to this option, support will be included for the 843 built-in I2C interface on the MPC107, Tsi107, MPC512x, MPC52xx, 844 MPC8240, MPC8245, MPC83xx, MPC85xx and MPC8641 family processors. 845 846 This driver can also be built as a module. If so, the module 847 will be called i2c-mpc. 848 849config I2C_MT65XX 850 tristate "MediaTek I2C adapter" 851 depends on ARCH_MEDIATEK || COMPILE_TEST 852 help 853 This selects the MediaTek(R) Integrated Inter Circuit bus driver 854 for MT65xx and MT81xx. 855 If you want to use MediaTek(R) I2C interface, say Y or M here. 856 If unsure, say N. 857 858config I2C_MT7621 859 tristate "MT7621/MT7628 I2C Controller" 860 depends on (RALINK && (SOC_MT7620 || SOC_MT7621)) || COMPILE_TEST 861 help 862 Say Y here to include support for I2C controller in the 863 MediaTek MT7621/MT7628 SoCs. 864 865config I2C_MV64XXX 866 tristate "Marvell mv64xxx I2C Controller" 867 depends on PLAT_ORION || ARCH_SUNXI || ARCH_MVEBU || COMPILE_TEST 868 help 869 If you say yes to this option, support will be included for the 870 built-in I2C interface on the Marvell 64xxx line of host bridges. 871 This driver is also used for Allwinner SoCs I2C controllers. 872 873 This driver can also be built as a module. If so, the module 874 will be called i2c-mv64xxx. 875 876config I2C_MXS 877 tristate "Freescale i.MX28 I2C interface" 878 depends on SOC_IMX28 || COMPILE_TEST 879 select STMP_DEVICE 880 help 881 Say Y here if you want to use the I2C bus controller on 882 the Freescale i.MX28 processors. 883 884 This driver can also be built as a module. If so, the module 885 will be called i2c-mxs. 886 887config I2C_NOMADIK 888 tristate "ST-Ericsson Nomadik/Ux500 I2C Controller" 889 depends on ARM_AMBA 890 help 891 If you say yes to this option, support will be included for the 892 I2C interface from ST-Ericsson's Nomadik and Ux500 architectures, 893 as well as the STA2X11 PCIe I/O HUB. 894 895config I2C_NPCM 896 tristate "Nuvoton I2C Controller" 897 depends on ARCH_NPCM || COMPILE_TEST 898 help 899 If you say yes to this option, support will be included for the 900 Nuvoton I2C controller, which is available on the NPCM BMC 901 controllers. 902 Driver can also support slave mode (select I2C_SLAVE). 903 904config I2C_OCORES 905 tristate "OpenCores I2C Controller" 906 help 907 If you say yes to this option, support will be included for the 908 OpenCores I2C controller. For details see 909 http://www.opencores.org/projects.cgi/web/i2c/overview 910 911 This driver can also be built as a module. If so, the module 912 will be called i2c-ocores. 913 914config I2C_OMAP 915 tristate "OMAP I2C adapter" 916 depends on ARCH_OMAP || ARCH_K3 || COMPILE_TEST 917 default MACH_OMAP_OSK 918 help 919 If you say yes to this option, support will be included for the 920 I2C interface on the Texas Instruments OMAP1/2 family of processors. 921 Like OMAP1510/1610/1710/5912 and OMAP242x. 922 For details see http://www.ti.com/omap. 923 924config I2C_OWL 925 tristate "Actions Semiconductor Owl I2C Controller" 926 depends on ARCH_ACTIONS || COMPILE_TEST 927 help 928 Say Y here if you want to use the I2C bus controller on 929 the Actions Semiconductor Owl SoC's. 930 931config I2C_PASEMI 932 tristate "PA Semi SMBus interface" 933 depends on PPC_PASEMI && PCI 934 help 935 Supports the PA Semi PWRficient on-chip SMBus interfaces. 936 937config I2C_APPLE 938 tristate "Apple SMBus platform driver" 939 depends on !I2C_PASEMI 940 depends on ARCH_APPLE || COMPILE_TEST 941 default ARCH_APPLE 942 help 943 Say Y here if you want to use the I2C controller present on Apple 944 Silicon chips such as the M1. 945 946 This driver can also be built as a module. If so, the module 947 will be called i2c-apple. 948 949config I2C_PCA_PLATFORM 950 tristate "PCA9564/PCA9665 as platform device" 951 select I2C_ALGOPCA 952 help 953 This driver supports a memory mapped Philips PCA9564/PCA9665 954 parallel bus to I2C bus controller. 955 956 This driver can also be built as a module. If so, the module 957 will be called i2c-pca-platform. 958 959config I2C_PNX 960 tristate "I2C bus support for Philips PNX and NXP LPC targets" 961 depends on ARCH_LPC32XX || COMPILE_TEST 962 help 963 This driver supports the Philips IP3204 I2C IP block master and/or 964 slave controller 965 966 This driver can also be built as a module. If so, the module 967 will be called i2c-pnx. 968 969config I2C_PXA 970 tristate "Intel PXA2XX I2C adapter" 971 depends on ARCH_PXA || ARCH_MMP || ARCH_MVEBU || (X86_32 && PCI && OF) || COMPILE_TEST 972 help 973 If you have devices in the PXA I2C bus, say yes to this option. 974 This driver can also be built as a module. If so, the module 975 will be called i2c-pxa. 976 977config I2C_PXA_PCI 978 def_bool I2C_PXA && X86_32 && PCI && OF 979 980config I2C_PXA_SLAVE 981 bool "Intel PXA2XX I2C Slave comms support" 982 depends on I2C_PXA && !X86_32 983 select I2C_SLAVE 984 help 985 Support I2C slave mode communications on the PXA I2C bus. This 986 is necessary for systems where the PXA may be a target on the 987 I2C bus. 988 989config I2C_QCOM_CCI 990 tristate "Qualcomm Camera Control Interface" 991 depends on ARCH_QCOM || COMPILE_TEST 992 help 993 If you say yes to this option, support will be included for the 994 built-in camera control interface on the Qualcomm SoCs. 995 996 This driver can also be built as a module. If so, the module 997 will be called i2c-qcom-cci. 998 999config I2C_QCOM_GENI 1000 tristate "Qualcomm Technologies Inc.'s GENI based I2C controller" 1001 depends on ARCH_QCOM || COMPILE_TEST 1002 depends on QCOM_GENI_SE 1003 help 1004 This driver supports GENI serial engine based I2C controller in 1005 master mode on the Qualcomm Technologies Inc.'s SoCs. If you say 1006 yes to this option, support will be included for the built-in I2C 1007 interface on the Qualcomm Technologies Inc.'s SoCs. 1008 1009 This driver can also be built as a module. If so, the module 1010 will be called i2c-qcom-geni. 1011 1012config I2C_QUP 1013 tristate "Qualcomm QUP based I2C controller" 1014 depends on ARCH_QCOM || COMPILE_TEST 1015 help 1016 If you say yes to this option, support will be included for the 1017 built-in I2C interface on the Qualcomm SoCs. 1018 1019 This driver can also be built as a module. If so, the module 1020 will be called i2c-qup. 1021 1022config I2C_RIIC 1023 tristate "Renesas RIIC adapter" 1024 depends on ARCH_RENESAS || COMPILE_TEST 1025 help 1026 If you say yes to this option, support will be included for the 1027 Renesas RIIC I2C interface. 1028 1029 This driver can also be built as a module. If so, the module 1030 will be called i2c-riic. 1031 1032config I2C_RK3X 1033 tristate "Rockchip RK3xxx I2C adapter" 1034 depends on OF && COMMON_CLK 1035 help 1036 Say Y here to include support for the I2C adapter in Rockchip RK3xxx 1037 SoCs. 1038 1039 This driver can also be built as a module. If so, the module will 1040 be called i2c-rk3x. 1041 1042config I2C_RZV2M 1043 tristate "Renesas RZ/V2M adapter" 1044 depends on ARCH_RENESAS || COMPILE_TEST 1045 help 1046 If you say yes to this option, support will be included for the 1047 Renesas RZ/V2M I2C interface. 1048 1049 This driver can also be built as a module. If so, the module 1050 will be called i2c-rzv2m. 1051 1052config I2C_S3C2410 1053 tristate "S3C/Exynos I2C Driver" 1054 depends on ARCH_EXYNOS || ARCH_S3C64XX || ARCH_S5PV210 || COMPILE_TEST 1055 help 1056 Say Y here to include support for I2C controller in the 1057 Samsung SoCs (S3C, S5Pv210, Exynos). 1058 1059config I2C_SH7760 1060 tristate "Renesas SH7760 I2C Controller" 1061 depends on CPU_SUBTYPE_SH7760 1062 help 1063 This driver supports the 2 I2C interfaces on the Renesas SH7760. 1064 1065 This driver can also be built as a module. If so, the module 1066 will be called i2c-sh7760. 1067 1068config I2C_SH_MOBILE 1069 tristate "SuperH Mobile I2C Controller" 1070 depends on ARCH_SHMOBILE || ARCH_RENESAS || COMPILE_TEST 1071 help 1072 If you say yes to this option, support will be included for the 1073 built-in I2C interface on the Renesas SH-Mobile processor. 1074 1075 This driver can also be built as a module. If so, the module 1076 will be called i2c-sh_mobile. 1077 1078config I2C_SIMTEC 1079 tristate "Simtec Generic I2C interface" 1080 select I2C_ALGOBIT 1081 help 1082 If you say yes to this option, support will be included for 1083 the Simtec Generic I2C interface. This driver is for the 1084 simple I2C bus used on newer Simtec products for general 1085 I2C, such as DDC on the Simtec BBD2016A. 1086 1087 This driver can also be built as a module. If so, the module 1088 will be called i2c-simtec. 1089 1090config I2C_SPRD 1091 tristate "Spreadtrum I2C interface" 1092 depends on I2C=y && (ARCH_SPRD || COMPILE_TEST) 1093 depends on COMMON_CLK 1094 help 1095 If you say yes to this option, support will be included for the 1096 Spreadtrum I2C interface. 1097 1098config I2C_ST 1099 tristate "STMicroelectronics SSC I2C support" 1100 depends on ARCH_STI || COMPILE_TEST 1101 help 1102 Enable this option to add support for STMicroelectronics SoCs 1103 hardware SSC (Synchronous Serial Controller) as an I2C controller. 1104 1105 This driver can also be built as module. If so, the module 1106 will be called i2c-st. 1107 1108config I2C_STM32F4 1109 tristate "STMicroelectronics STM32F4 I2C support" 1110 depends on ARCH_STM32 || COMPILE_TEST 1111 help 1112 Enable this option to add support for STM32 I2C controller embedded 1113 in STM32F4 SoCs. 1114 1115 This driver can also be built as module. If so, the module 1116 will be called i2c-stm32f4. 1117 1118config I2C_STM32F7 1119 tristate "STMicroelectronics STM32F7 I2C support" 1120 depends on ARCH_STM32 || COMPILE_TEST 1121 select I2C_SLAVE 1122 select I2C_SMBUS 1123 help 1124 Enable this option to add support for STM32 I2C controller embedded 1125 in STM32F7 SoCs. 1126 1127 This driver can also be built as module. If so, the module 1128 will be called i2c-stm32f7. 1129 1130config I2C_SUN6I_P2WI 1131 tristate "Allwinner sun6i internal P2WI controller" 1132 depends on RESET_CONTROLLER 1133 depends on MACH_SUN6I || COMPILE_TEST 1134 help 1135 If you say yes to this option, support will be included for the 1136 P2WI (Push/Pull 2 Wire Interface) controller embedded in some sunxi 1137 SOCs. 1138 The P2WI looks like an SMBus controller (which supports only byte 1139 accesses), except that it only supports one slave device. 1140 This interface is used to connect to specific PMIC devices (like the 1141 AXP221). 1142 1143config I2C_SYNQUACER 1144 tristate "Socionext SynQuacer I2C controller" 1145 depends on ARCH_SYNQUACER || COMPILE_TEST 1146 help 1147 Say Y here to include support for the I2C controller used in some 1148 Fujitsu and Socionext SoCs. 1149 1150 This driver can also be built as a module. If so, the module 1151 will be called i2c-synquacer. 1152 1153config I2C_TEGRA 1154 tristate "NVIDIA Tegra internal I2C controller" 1155 depends on ARCH_TEGRA || (COMPILE_TEST && (ARC || ARM || ARM64 || M68K || RISCV || SUPERH || SPARC)) 1156 # COMPILE_TEST needs architectures with readsX()/writesX() primitives 1157 help 1158 If you say yes to this option, support will be included for the 1159 I2C controller embedded in NVIDIA Tegra SOCs 1160 1161config I2C_TEGRA_BPMP 1162 tristate "NVIDIA Tegra BPMP I2C controller" 1163 depends on TEGRA_BPMP || COMPILE_TEST 1164 default y if TEGRA_BPMP 1165 help 1166 If you say yes to this option, support will be included for the I2C 1167 controller embedded in NVIDIA Tegra SoCs accessed via the BPMP. 1168 1169 This I2C driver is a 'virtual' I2C driver. The real driver is part 1170 of the BPMP firmware, and this driver merely communicates with that 1171 real driver. 1172 1173config I2C_UNIPHIER 1174 tristate "UniPhier FIFO-less I2C controller" 1175 depends on ARCH_UNIPHIER || COMPILE_TEST 1176 help 1177 If you say yes to this option, support will be included for 1178 the UniPhier FIFO-less I2C interface embedded in PH1-LD4, PH1-sLD8, 1179 or older UniPhier SoCs. 1180 1181config I2C_UNIPHIER_F 1182 tristate "UniPhier FIFO-builtin I2C controller" 1183 depends on ARCH_UNIPHIER || COMPILE_TEST 1184 help 1185 If you say yes to this option, support will be included for 1186 the UniPhier FIFO-builtin I2C interface embedded in PH1-Pro4, 1187 PH1-Pro5, or newer UniPhier SoCs. 1188 1189config I2C_VERSATILE 1190 tristate "ARM Versatile/Realview I2C bus support" 1191 depends on ARCH_MPS2 || ARCH_VERSATILE || ARCH_REALVIEW || ARCH_VEXPRESS || COMPILE_TEST 1192 select I2C_ALGOBIT 1193 help 1194 Say yes if you want to support the I2C serial bus on ARMs Versatile 1195 range of platforms. 1196 1197 This driver can also be built as a module. If so, the module 1198 will be called i2c-versatile. 1199 1200config I2C_WMT 1201 tristate "Wondermedia WM8xxx SoC I2C bus support" 1202 depends on ARCH_VT8500 || COMPILE_TEST 1203 help 1204 Say yes if you want to support the I2C bus on Wondermedia 8xxx-series 1205 SoCs. 1206 1207 This driver can also be built as a module. If so, the module will be 1208 called i2c-wmt. 1209 1210config I2C_OCTEON 1211 tristate "Cavium OCTEON I2C bus support" 1212 depends on CAVIUM_OCTEON_SOC 1213 help 1214 Say yes if you want to support the I2C serial bus on Cavium 1215 OCTEON SOC. 1216 1217 This driver can also be built as a module. If so, the module 1218 will be called i2c-octeon. 1219 1220config I2C_THUNDERX 1221 tristate "Cavium ThunderX I2C bus support" 1222 depends on 64BIT && PCI && (ARM64 || COMPILE_TEST) 1223 select I2C_SMBUS 1224 help 1225 Say yes if you want to support the I2C serial bus on Cavium 1226 ThunderX SOC. 1227 1228 This driver can also be built as a module. If so, the module 1229 will be called i2c-thunderx. 1230 1231config I2C_XILINX 1232 tristate "Xilinx I2C Controller" 1233 depends on HAS_IOMEM 1234 help 1235 If you say yes to this option, support will be included for the 1236 Xilinx I2C controller. 1237 1238 This driver can also be built as a module. If so, the module 1239 will be called xilinx_i2c. 1240 1241config I2C_XLP9XX 1242 tristate "Cavium ThunderX2 I2C support" 1243 depends on ARCH_THUNDER2 || COMPILE_TEST 1244 help 1245 This driver enables support for the on-chip I2C interface of 1246 the Cavium ThunderX2 processors. (Originally on Netlogic XLP SoCs.) 1247 1248 This driver can also be built as a module. If so, the module will 1249 be called i2c-xlp9xx. 1250 1251config I2C_RCAR 1252 tristate "Renesas R-Car I2C Controller" 1253 depends on ARCH_RENESAS || COMPILE_TEST 1254 select I2C_SLAVE 1255 select I2C_SMBUS 1256 select RESET_CONTROLLER if ARCH_RCAR_GEN3 || ARCH_RCAR_GEN4 1257 help 1258 If you say yes to this option, support will be included for the 1259 R-Car I2C controller. 1260 1261 This driver can also be built as a module. If so, the module 1262 will be called i2c-rcar. 1263 1264comment "External I2C/SMBus adapter drivers" 1265 1266config I2C_DIOLAN_U2C 1267 tristate "Diolan U2C-12 USB adapter" 1268 depends on USB 1269 help 1270 If you say yes to this option, support will be included for Diolan 1271 U2C-12, a USB to I2C interface. 1272 1273 This driver can also be built as a module. If so, the module 1274 will be called i2c-diolan-u2c. 1275 1276config I2C_DLN2 1277 tristate "Diolan DLN-2 USB I2C adapter" 1278 depends on MFD_DLN2 1279 help 1280 If you say yes to this option, support will be included for Diolan 1281 DLN2, a USB to I2C interface. 1282 1283 This driver can also be built as a module. If so, the module 1284 will be called i2c-dln2. 1285 1286config I2C_LJCA 1287 tristate "I2C functionality of Intel La Jolla Cove Adapter" 1288 depends on USB_LJCA 1289 default USB_LJCA 1290 help 1291 If you say yes to this option, I2C functionality support of Intel 1292 La Jolla Cove Adapter (LJCA) will be included. 1293 1294 This driver can also be built as a module. If so, the module 1295 will be called i2c-ljca. 1296 1297config I2C_CP2615 1298 tristate "Silicon Labs CP2615 USB sound card and I2C adapter" 1299 depends on USB 1300 help 1301 If you say yes to this option, support will be included for Silicon 1302 Labs CP2615's I2C interface. 1303 1304 This driver can also be built as a module. If so, the module 1305 will be called i2c-cp2615. 1306 1307config I2C_PARPORT 1308 tristate "Parallel port adapter" 1309 depends on PARPORT 1310 select I2C_ALGOBIT 1311 select I2C_SMBUS 1312 help 1313 This supports parallel port I2C adapters such as the ones made by 1314 Philips or Velleman, Analog Devices evaluation boards, and more. 1315 Basically any adapter using the parallel port as an I2C bus with 1316 no extra chipset is supported by this driver, or could be. Please 1317 read the file Documentation/i2c/busses/i2c-parport.rst for details. 1318 1319 This support is also available as a module. If so, the module 1320 will be called i2c-parport. 1321 1322config I2C_PCI1XXXX 1323 tristate "PCI1XXXX I2C Host Adapter" 1324 depends on PCI 1325 help 1326 If you say yes to this option, support will be included for 1327 Microchip PCI1XXXX's I2C interface. 1328 1329 This driver can also be built as a module. If so, the module will 1330 be called i2c-mchp-pci1xxxx. 1331 1332config I2C_ROBOTFUZZ_OSIF 1333 tristate "RobotFuzz Open Source InterFace USB adapter" 1334 depends on USB 1335 help 1336 If you say yes to this option, support will be included for the 1337 RobotFuzz Open Source InterFace USB to I2C interface. 1338 1339 This driver can also be built as a module. If so, the module 1340 will be called i2c-osif. 1341 1342config I2C_TAOS_EVM 1343 tristate "TAOS evaluation module" 1344 depends on TTY 1345 select SERIO 1346 select SERIO_SERPORT 1347 help 1348 This supports TAOS evaluation modules on serial port. In order to 1349 use this driver, you will need the inputattach tool, which is part 1350 of the input-utils package. 1351 1352 If unsure, say N. 1353 1354 This support is also available as a module. If so, the module 1355 will be called i2c-taos-evm. 1356 1357config I2C_TINY_USB 1358 tristate "Tiny-USB adapter" 1359 depends on USB 1360 help 1361 If you say yes to this option, support will be included for the 1362 i2c-tiny-usb, a simple do-it-yourself USB to I2C interface. See 1363 http://www.harbaum.org/till/i2c_tiny_usb for hardware details. 1364 1365 This driver can also be built as a module. If so, the module 1366 will be called i2c-tiny-usb. 1367 1368config I2C_VIPERBOARD 1369 tristate "Viperboard I2C master support" 1370 depends on MFD_VIPERBOARD && USB 1371 help 1372 Say yes here to access the I2C part of the Nano River 1373 Technologies Viperboard as I2C master. 1374 See viperboard API specification and Nano 1375 River Tech's viperboard.h for detailed meaning 1376 of the module parameters. 1377 1378comment "Other I2C/SMBus bus drivers" 1379 1380config I2C_ACORN 1381 tristate "Acorn IOC/IOMD I2C bus support" 1382 depends on ARCH_ACORN 1383 default y 1384 select I2C_ALGOBIT 1385 help 1386 Say yes if you want to support the I2C bus on Acorn platforms. 1387 1388 If you don't know, say Y. 1389 1390config I2C_ELEKTOR 1391 tristate "Elektor ISA card" 1392 depends on ISA && HAS_IOPORT_MAP && BROKEN_ON_SMP 1393 select I2C_ALGOPCF 1394 help 1395 This supports the PCF8584 ISA bus I2C adapter. Say Y if you own 1396 such an adapter. 1397 1398 This support is also available as a module. If so, the module 1399 will be called i2c-elektor. 1400 1401config I2C_ICY 1402 tristate "ICY Zorro card" 1403 depends on ZORRO 1404 select I2C_ALGOPCF 1405 help 1406 This supports the PCF8584 Zorro bus I2C adapter, known as ICY. 1407 Say Y if you own such an adapter. 1408 1409 This support is also available as a module. If so, the module 1410 will be called i2c-icy. 1411 1412 If you have a 2019 edition board with an LTC2990 sensor at address 1413 0x4c, loading the module 'ltc2990' is sufficient to enable it. 1414 1415config I2C_MLXCPLD 1416 tristate "Mellanox I2C driver" 1417 depends on X86_64 || (ARM64 && ACPI) || COMPILE_TEST 1418 depends on HAS_IOPORT 1419 help 1420 This exposes the Mellanox platform I2C busses to the linux I2C layer 1421 for X86 and ARM64/ACPI based systems. 1422 Controller is implemented as CPLD logic. 1423 1424 This driver can also be built as a module. If so, the module will be 1425 called as i2c-mlxcpld. 1426 1427config I2C_PCA_ISA 1428 tristate "PCA9564/PCA9665 on an ISA bus" 1429 depends on ISA 1430 select I2C_ALGOPCA 1431 help 1432 This driver supports ISA boards using the Philips PCA9564/PCA9665 1433 parallel bus to I2C bus controller. 1434 1435 This driver can also be built as a module. If so, the module 1436 will be called i2c-pca-isa. 1437 1438 This device is almost undetectable and using this driver on a 1439 system which doesn't have this device will result in long 1440 delays when I2C/SMBus chip drivers are loaded (e.g. at boot 1441 time). If unsure, say N. 1442 1443config I2C_SIBYTE 1444 tristate "SiByte SMBus interface" 1445 depends on SIBYTE_SB1xxx_SOC 1446 help 1447 Supports the SiByte SOC on-chip I2C interfaces (2 channels). 1448 1449config I2C_CROS_EC_TUNNEL 1450 tristate "ChromeOS EC tunnel I2C bus" 1451 depends on CROS_EC 1452 help 1453 If you say yes here you get an I2C bus that will tunnel i2c commands 1454 through to the other side of the ChromeOS EC to the i2c bus 1455 connected there. This will work whatever the interface used to 1456 talk to the EC (SPI, I2C or LPC). 1457 1458config I2C_XGENE_SLIMPRO 1459 tristate "APM X-Gene SoC I2C SLIMpro devices support" 1460 depends on ARCH_XGENE && MAILBOX 1461 help 1462 Enable I2C bus access using the APM X-Gene SoC SLIMpro 1463 co-processor. The I2C device access the I2C bus via the X-Gene 1464 to SLIMpro (On chip coprocessor) mailbox mechanism. 1465 If unsure, say N. 1466 1467config SCx200_ACB 1468 tristate "Geode ACCESS.bus support" 1469 depends on X86_32 && PCI 1470 help 1471 Enable the use of the ACCESS.bus controllers on the Geode SCx200 and 1472 SC1100 processors and the CS5535 and CS5536 Geode companion devices. 1473 1474 If you don't know what to do here, say N. 1475 1476 This support is also available as a module. If so, the module 1477 will be called scx200_acb. 1478 1479config I2C_OPAL 1480 tristate "IBM OPAL I2C driver" 1481 depends on PPC_POWERNV 1482 default y 1483 help 1484 This exposes the PowerNV platform i2c busses to the linux i2c layer, 1485 the driver is based on the OPAL interfaces. 1486 1487 This driver can also be built as a module. If so, the module will be 1488 called as i2c-opal. 1489 1490config I2C_FSI 1491 tristate "FSI I2C driver" 1492 depends on FSI 1493 help 1494 Driver for FSI bus attached I2C masters. These are I2C masters that 1495 are connected to the system over an FSI bus, instead of the more 1496 common PCI or MMIO interface. 1497 1498 This driver can also be built as a module. If so, the module will be 1499 called as i2c-fsi. 1500 1501config I2C_VIRTIO 1502 tristate "Virtio I2C Adapter" 1503 select VIRTIO 1504 help 1505 If you say yes to this option, support will be included for the virtio 1506 I2C adapter driver. The hardware can be emulated by any device model 1507 software according to the virtio protocol. 1508 1509 This driver can also be built as a module. If so, the module 1510 will be called i2c-virtio. 1511 1512endmenu 1513