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