| .. | .. |
|---|
| 1 | +# SPDX-License-Identifier: GPL-2.0-only |
|---|
| 1 | 2 | # |
|---|
| 2 | 3 | # Sensor device configuration |
|---|
| 3 | 4 | # |
|---|
| .. | .. |
|---|
| 77 | 78 | This driver can also be built as a module. If so, the module |
|---|
| 78 | 79 | will be called i2c-amd8111. |
|---|
| 79 | 80 | |
|---|
| 81 | +config I2C_AMD_MP2 |
|---|
| 82 | + tristate "AMD MP2 PCIe" |
|---|
| 83 | + depends on PCI && ACPI |
|---|
| 84 | + help |
|---|
| 85 | + If you say yes to this option, support will be included for the AMD |
|---|
| 86 | + MP2 PCIe I2C adapter. |
|---|
| 87 | + |
|---|
| 88 | + This driver can also be built as modules. If so, the modules will |
|---|
| 89 | + be called i2c-amd-mp2-pci and i2c-amd-mp2-plat. |
|---|
| 90 | + |
|---|
| 80 | 91 | config I2C_HIX5HD2 |
|---|
| 81 | 92 | tristate "Hix5hd2 high-speed I2C driver" |
|---|
| 82 | 93 | depends on ARCH_HISI || ARCH_HIX5HD2 || COMPILE_TEST |
|---|
| .. | .. |
|---|
| 132 | 143 | Cedar Fork (PCH) |
|---|
| 133 | 144 | Ice Lake (PCH) |
|---|
| 134 | 145 | Comet Lake (PCH) |
|---|
| 146 | + Elkhart Lake (PCH) |
|---|
| 147 | + Tiger Lake (PCH) |
|---|
| 148 | + Jasper Lake (SOC) |
|---|
| 149 | + Emmitsburg (PCH) |
|---|
| 150 | + Alder Lake (PCH) |
|---|
| 135 | 151 | |
|---|
| 136 | 152 | This driver can also be built as a module. If so, the module |
|---|
| 137 | 153 | will be called i2c-i801. |
|---|
| .. | .. |
|---|
| 176 | 192 | AMD Hudson-2 |
|---|
| 177 | 193 | AMD ML |
|---|
| 178 | 194 | AMD CZ |
|---|
| 195 | + Hygon CZ |
|---|
| 179 | 196 | Serverworks OSB4 |
|---|
| 180 | 197 | Serverworks CSB5 |
|---|
| 181 | 198 | Serverworks CSB6 |
|---|
| .. | .. |
|---|
| 225 | 242 | This driver can also be built as a module. If so, the module |
|---|
| 226 | 243 | will be called i2c-nforce2-s4985. |
|---|
| 227 | 244 | |
|---|
| 245 | +config I2C_NVIDIA_GPU |
|---|
| 246 | + tristate "NVIDIA GPU I2C controller" |
|---|
| 247 | + depends on PCI |
|---|
| 248 | + help |
|---|
| 249 | + If you say yes to this option, support will be included for the |
|---|
| 250 | + NVIDIA GPU I2C controller which is used to communicate with the GPU's |
|---|
| 251 | + Type-C controller. This driver can also be built as a module called |
|---|
| 252 | + i2c-nvidia-gpu. |
|---|
| 253 | + |
|---|
| 228 | 254 | config I2C_SIS5595 |
|---|
| 229 | 255 | tristate "SiS 5595" |
|---|
| 230 | 256 | depends on PCI |
|---|
| .. | .. |
|---|
| 269 | 295 | select I2C_ALGOBIT |
|---|
| 270 | 296 | help |
|---|
| 271 | 297 | If you say yes to this option, support will be included for the VIA |
|---|
| 272 | | - 82C586B I2C interface |
|---|
| 298 | + 82C586B I2C interface |
|---|
| 273 | 299 | |
|---|
| 274 | 300 | This driver can also be built as a module. If so, the module |
|---|
| 275 | 301 | will be called i2c-via. |
|---|
| .. | .. |
|---|
| 343 | 369 | |
|---|
| 344 | 370 | config I2C_ALTERA |
|---|
| 345 | 371 | tristate "Altera Soft IP I2C" |
|---|
| 346 | | - depends on (ARCH_SOCFPGA || NIOS2) && OF |
|---|
| 372 | + depends on ARCH_SOCFPGA || NIOS2 || COMPILE_TEST |
|---|
| 373 | + depends on OF |
|---|
| 347 | 374 | help |
|---|
| 348 | 375 | If you say yes to this option, support will be included for the |
|---|
| 349 | 376 | Altera Soft IP I2C interfaces on SoCFPGA and Nios2 architectures. |
|---|
| .. | .. |
|---|
| 363 | 390 | |
|---|
| 364 | 391 | config I2C_AT91 |
|---|
| 365 | 392 | tristate "Atmel AT91 I2C Two-Wire interface (TWI)" |
|---|
| 366 | | - depends on ARCH_AT91 |
|---|
| 393 | + depends on ARCH_AT91 || COMPILE_TEST |
|---|
| 367 | 394 | help |
|---|
| 368 | 395 | This supports the use of the I2C interface on Atmel AT91 |
|---|
| 369 | 396 | processors. |
|---|
| .. | .. |
|---|
| 379 | 406 | the latency to fill the transmission register is too long. If you |
|---|
| 380 | 407 | are facing this situation, use the i2c-gpio driver. |
|---|
| 381 | 408 | |
|---|
| 409 | +config I2C_AT91_SLAVE_EXPERIMENTAL |
|---|
| 410 | + tristate "Microchip AT91 I2C experimental slave mode" |
|---|
| 411 | + depends on I2C_AT91 |
|---|
| 412 | + select I2C_SLAVE |
|---|
| 413 | + help |
|---|
| 414 | + If you say yes to this option, support for the slave mode will be |
|---|
| 415 | + added. Caution: do not use it for production. This feature has not |
|---|
| 416 | + been tested in a heavy way, help wanted. |
|---|
| 417 | + There are known bugs: |
|---|
| 418 | + - It can hang, on a SAMA5D4, after several transfers. |
|---|
| 419 | + - There are some mismtaches with a SAMA5D4 as slave and a SAMA5D2 as |
|---|
| 420 | + master. |
|---|
| 421 | + |
|---|
| 382 | 422 | config I2C_AU1550 |
|---|
| 383 | 423 | tristate "Au1550/Au1200/Au1300 SMBus interface" |
|---|
| 384 | 424 | depends on MIPS_ALCHEMY |
|---|
| .. | .. |
|---|
| 393 | 433 | tristate "Axxia I2C controller" |
|---|
| 394 | 434 | depends on ARCH_AXXIA || COMPILE_TEST |
|---|
| 395 | 435 | default ARCH_AXXIA |
|---|
| 436 | + select I2C_SLAVE |
|---|
| 396 | 437 | help |
|---|
| 397 | 438 | Say yes if you want to support the I2C bus on Axxia platforms. |
|---|
| 398 | 439 | |
|---|
| .. | .. |
|---|
| 402 | 443 | |
|---|
| 403 | 444 | config I2C_BCM2835 |
|---|
| 404 | 445 | tristate "Broadcom BCM2835 I2C controller" |
|---|
| 405 | | - depends on ARCH_BCM2835 |
|---|
| 446 | + depends on ARCH_BCM2835 || ARCH_BRCMSTB || COMPILE_TEST |
|---|
| 447 | + depends on COMMON_CLK |
|---|
| 406 | 448 | help |
|---|
| 407 | 449 | If you say yes to this option, support will be included for the |
|---|
| 408 | 450 | BCM2835 I2C controller. |
|---|
| .. | .. |
|---|
| 416 | 458 | tristate "Broadcom iProc I2C controller" |
|---|
| 417 | 459 | depends on ARCH_BCM_IPROC || COMPILE_TEST |
|---|
| 418 | 460 | default ARCH_BCM_IPROC |
|---|
| 461 | + select I2C_SLAVE |
|---|
| 419 | 462 | help |
|---|
| 420 | 463 | If you say yes to this option, support will be included for the |
|---|
| 421 | 464 | Broadcom iProc I2C controller. |
|---|
| .. | .. |
|---|
| 424 | 467 | |
|---|
| 425 | 468 | config I2C_BCM_KONA |
|---|
| 426 | 469 | tristate "BCM Kona I2C adapter" |
|---|
| 427 | | - depends on ARCH_BCM_MOBILE |
|---|
| 428 | | - default y |
|---|
| 470 | + depends on ARCH_BCM_MOBILE || COMPILE_TEST |
|---|
| 471 | + default y if ARCH_BCM_MOBILE |
|---|
| 429 | 472 | help |
|---|
| 430 | 473 | If you say yes to this option, support will be included for the |
|---|
| 431 | 474 | I2C interface on the Broadcom Kona family of processors. |
|---|
| .. | .. |
|---|
| 434 | 477 | |
|---|
| 435 | 478 | config I2C_BRCMSTB |
|---|
| 436 | 479 | tristate "BRCM Settop/DSL I2C controller" |
|---|
| 437 | | - depends on ARCH_BRCMSTB || BMIPS_GENERIC || ARCH_BCM_63XX || \ |
|---|
| 438 | | - COMPILE_TEST |
|---|
| 480 | + depends on ARCH_BCM2835 || ARCH_BRCMSTB || BMIPS_GENERIC || \ |
|---|
| 481 | + ARCH_BCM_63XX || COMPILE_TEST |
|---|
| 439 | 482 | default y |
|---|
| 440 | 483 | help |
|---|
| 441 | 484 | If you say yes to this option, support will be included for the |
|---|
| .. | .. |
|---|
| 445 | 488 | |
|---|
| 446 | 489 | config I2C_CADENCE |
|---|
| 447 | 490 | tristate "Cadence I2C Controller" |
|---|
| 448 | | - depends on ARCH_ZYNQ || ARM64 || XTENSA |
|---|
| 491 | + depends on ARCH_ZYNQ || ARM64 || XTENSA || COMPILE_TEST |
|---|
| 449 | 492 | help |
|---|
| 450 | 493 | Say yes here to select Cadence I2C Host Controller. This controller is |
|---|
| 451 | 494 | e.g. used by Xilinx Zynq. |
|---|
| .. | .. |
|---|
| 472 | 515 | |
|---|
| 473 | 516 | config I2C_DAVINCI |
|---|
| 474 | 517 | tristate "DaVinci I2C driver" |
|---|
| 475 | | - depends on ARCH_DAVINCI || ARCH_KEYSTONE |
|---|
| 518 | + depends on ARCH_DAVINCI || ARCH_KEYSTONE || COMPILE_TEST |
|---|
| 476 | 519 | help |
|---|
| 477 | 520 | Support for TI DaVinci I2C controller driver. |
|---|
| 478 | 521 | |
|---|
| .. | .. |
|---|
| 485 | 528 | |
|---|
| 486 | 529 | config I2C_DESIGNWARE_CORE |
|---|
| 487 | 530 | tristate |
|---|
| 531 | + select REGMAP |
|---|
| 532 | + |
|---|
| 533 | +config I2C_DESIGNWARE_SLAVE |
|---|
| 534 | + bool "Synopsys DesignWare Slave" |
|---|
| 535 | + depends on I2C_DESIGNWARE_CORE |
|---|
| 536 | + select I2C_SLAVE |
|---|
| 537 | + help |
|---|
| 538 | + If you say yes to this option, support will be included for the |
|---|
| 539 | + Synopsys DesignWare I2C slave adapter. |
|---|
| 540 | + |
|---|
| 541 | + This is not a standalone module, this module compiles together with |
|---|
| 542 | + i2c-designware-core. |
|---|
| 488 | 543 | |
|---|
| 489 | 544 | config I2C_DESIGNWARE_PLATFORM |
|---|
| 490 | 545 | tristate "Synopsys DesignWare Platform" |
|---|
| 491 | | - select I2C_DESIGNWARE_CORE |
|---|
| 492 | 546 | depends on (ACPI && COMMON_CLK) || !ACPI |
|---|
| 547 | + select I2C_DESIGNWARE_CORE |
|---|
| 548 | + select MFD_SYSCON if MIPS_BAIKAL_T1 |
|---|
| 493 | 549 | help |
|---|
| 494 | 550 | If you say yes to this option, support will be included for the |
|---|
| 495 | 551 | Synopsys DesignWare I2C adapter. |
|---|
| .. | .. |
|---|
| 497 | 553 | This driver can also be built as a module. If so, the module |
|---|
| 498 | 554 | will be called i2c-designware-platform. |
|---|
| 499 | 555 | |
|---|
| 500 | | -config I2C_DESIGNWARE_SLAVE |
|---|
| 501 | | - bool "Synopsys DesignWare Slave" |
|---|
| 502 | | - select I2C_SLAVE |
|---|
| 556 | +config I2C_DESIGNWARE_BAYTRAIL |
|---|
| 557 | + bool "Intel Baytrail I2C semaphore support" |
|---|
| 558 | + depends on ACPI |
|---|
| 503 | 559 | depends on I2C_DESIGNWARE_PLATFORM |
|---|
| 560 | + depends on (I2C_DESIGNWARE_PLATFORM=m && IOSF_MBI) || \ |
|---|
| 561 | + (I2C_DESIGNWARE_PLATFORM=y && IOSF_MBI=y) |
|---|
| 504 | 562 | help |
|---|
| 505 | | - If you say yes to this option, support will be included for the |
|---|
| 506 | | - Synopsys DesignWare I2C slave adapter. |
|---|
| 507 | | - |
|---|
| 508 | | - This is not a standalone module, this module compiles together with |
|---|
| 509 | | - i2c-designware-core. |
|---|
| 563 | + This driver enables managed host access to the PMIC I2C bus on select |
|---|
| 564 | + Intel BayTrail platforms using the X-Powers AXP288 PMIC. It allows |
|---|
| 565 | + the host to request uninterrupted access to the PMIC's I2C bus from |
|---|
| 566 | + the platform firmware controlling it. You should say Y if running on |
|---|
| 567 | + a BayTrail system using the AXP288. |
|---|
| 510 | 568 | |
|---|
| 511 | 569 | config I2C_DESIGNWARE_PCI |
|---|
| 512 | 570 | tristate "Synopsys DesignWare PCI" |
|---|
| .. | .. |
|---|
| 519 | 577 | This driver can also be built as a module. If so, the module |
|---|
| 520 | 578 | will be called i2c-designware-pci. |
|---|
| 521 | 579 | |
|---|
| 522 | | -config I2C_DESIGNWARE_BAYTRAIL |
|---|
| 523 | | - bool "Intel Baytrail I2C semaphore support" |
|---|
| 524 | | - depends on ACPI |
|---|
| 525 | | - depends on (I2C_DESIGNWARE_PLATFORM=m && IOSF_MBI) || \ |
|---|
| 526 | | - (I2C_DESIGNWARE_PLATFORM=y && IOSF_MBI=y) |
|---|
| 527 | | - help |
|---|
| 528 | | - This driver enables managed host access to the PMIC I2C bus on select |
|---|
| 529 | | - Intel BayTrail platforms using the X-Powers AXP288 PMIC. It allows |
|---|
| 530 | | - the host to request uninterrupted access to the PMIC's I2C bus from |
|---|
| 531 | | - the platform firmware controlling it. You should say Y if running on |
|---|
| 532 | | - a BayTrail system using the AXP288. |
|---|
| 533 | | - |
|---|
| 534 | 580 | config I2C_DIGICOLOR |
|---|
| 535 | 581 | tristate "Conexant Digicolor I2C driver" |
|---|
| 536 | | - depends on ARCH_DIGICOLOR |
|---|
| 582 | + depends on ARCH_DIGICOLOR || COMPILE_TEST |
|---|
| 537 | 583 | help |
|---|
| 538 | 584 | Support for Conexant Digicolor SoCs (CX92755) I2C controller driver. |
|---|
| 539 | 585 | |
|---|
| .. | .. |
|---|
| 571 | 617 | I2C interface on the Renesas Electronics EM/EV family of processors. |
|---|
| 572 | 618 | |
|---|
| 573 | 619 | config I2C_EXYNOS5 |
|---|
| 574 | | - tristate "Exynos5 high-speed I2C driver" |
|---|
| 575 | | - depends on ARCH_EXYNOS && OF |
|---|
| 576 | | - default y |
|---|
| 620 | + tristate "Exynos high-speed I2C driver" |
|---|
| 621 | + depends on OF |
|---|
| 622 | + depends on ARCH_EXYNOS || COMPILE_TEST |
|---|
| 623 | + default y if ARCH_EXYNOS |
|---|
| 577 | 624 | help |
|---|
| 578 | | - High-speed I2C controller on Exynos5 based Samsung SoCs. |
|---|
| 625 | + High-speed I2C controller on Exynos5 and newer Samsung SoCs. |
|---|
| 579 | 626 | |
|---|
| 580 | 627 | config I2C_GPIO |
|---|
| 581 | 628 | tristate "GPIO-based bitbanging I2C" |
|---|
| .. | .. |
|---|
| 595 | 642 | |
|---|
| 596 | 643 | config I2C_HIGHLANDER |
|---|
| 597 | 644 | tristate "Highlander FPGA SMBus interface" |
|---|
| 598 | | - depends on SH_HIGHLANDER |
|---|
| 645 | + depends on SH_HIGHLANDER || COMPILE_TEST |
|---|
| 599 | 646 | help |
|---|
| 600 | 647 | If you say yes to this option, support will be included for |
|---|
| 601 | 648 | the SMBus interface located in the FPGA on various Highlander |
|---|
| .. | .. |
|---|
| 639 | 686 | tristate "IMX Low Power I2C interface" |
|---|
| 640 | 687 | depends on ARCH_MXC || COMPILE_TEST |
|---|
| 641 | 688 | help |
|---|
| 642 | | - Say Y here if you want to use the Low Power IIC bus controller |
|---|
| 643 | | - on the Freescale i.MX processors. |
|---|
| 689 | + Say Y here if you want to use the Low Power IIC bus controller |
|---|
| 690 | + on the Freescale i.MX processors. |
|---|
| 644 | 691 | |
|---|
| 645 | | - This driver can also be built as a module. If so, the module |
|---|
| 646 | | - will be called i2c-imx-lpi2c. |
|---|
| 692 | + This driver can also be built as a module. If so, the module |
|---|
| 693 | + will be called i2c-imx-lpi2c. |
|---|
| 647 | 694 | |
|---|
| 648 | 695 | config I2C_IOP3XX |
|---|
| 649 | 696 | tristate "Intel IOPx3xx and IXP4xx on-chip I2C interface" |
|---|
| 650 | | - depends on ARCH_IOP32X || ARCH_IOP33X || ARCH_IXP4XX || ARCH_IOP13XX |
|---|
| 697 | + depends on ARCH_IOP32X || ARCH_IXP4XX || COMPILE_TEST |
|---|
| 651 | 698 | help |
|---|
| 652 | 699 | Say Y here if you want to use the IIC bus controller on |
|---|
| 653 | 700 | the Intel IOPx3xx I/O Processors or IXP4xx Network Processors. |
|---|
| .. | .. |
|---|
| 657 | 704 | |
|---|
| 658 | 705 | config I2C_JZ4780 |
|---|
| 659 | 706 | tristate "JZ4780 I2C controller interface support" |
|---|
| 660 | | - depends on MACH_JZ4780 || COMPILE_TEST |
|---|
| 707 | + depends on MIPS || COMPILE_TEST |
|---|
| 661 | 708 | help |
|---|
| 662 | 709 | If you say yes to this option, support will be included for the |
|---|
| 663 | 710 | Ingenic JZ4780 I2C controller. |
|---|
| .. | .. |
|---|
| 684 | 731 | This driver can also be built as a module. If so, the module |
|---|
| 685 | 732 | will be called i2c-lpc2k. |
|---|
| 686 | 733 | |
|---|
| 734 | +config I2C_MLXBF |
|---|
| 735 | + tristate "Mellanox BlueField I2C controller" |
|---|
| 736 | + depends on MELLANOX_PLATFORM && ARM64 |
|---|
| 737 | + select I2C_SLAVE |
|---|
| 738 | + help |
|---|
| 739 | + Enabling this option will add I2C SMBus support for Mellanox BlueField |
|---|
| 740 | + system. |
|---|
| 741 | + |
|---|
| 742 | + This driver can also be built as a module. If so, the module will be |
|---|
| 743 | + called i2c-mlxbf. |
|---|
| 744 | + |
|---|
| 745 | + This driver implements an I2C SMBus host controller and enables both |
|---|
| 746 | + master and slave functions. |
|---|
| 747 | + |
|---|
| 687 | 748 | config I2C_MESON |
|---|
| 688 | 749 | tristate "Amlogic Meson I2C controller" |
|---|
| 689 | 750 | depends on ARCH_MESON || COMPILE_TEST |
|---|
| 751 | + depends on COMMON_CLK |
|---|
| 690 | 752 | help |
|---|
| 691 | 753 | If you say yes to this option, support will be included for the |
|---|
| 692 | 754 | I2C interface on the Amlogic Meson family of SoCs. |
|---|
| .. | .. |
|---|
| 711 | 773 | If you want to use MediaTek(R) I2C interface, say Y or M here. |
|---|
| 712 | 774 | If unsure, say N. |
|---|
| 713 | 775 | |
|---|
| 776 | +config I2C_MT7621 |
|---|
| 777 | + tristate "MT7621/MT7628 I2C Controller" |
|---|
| 778 | + depends on (RALINK && (SOC_MT7620 || SOC_MT7621)) || COMPILE_TEST |
|---|
| 779 | + help |
|---|
| 780 | + Say Y here to include support for I2C controller in the |
|---|
| 781 | + MediaTek MT7621/MT7628 SoCs. |
|---|
| 782 | + |
|---|
| 714 | 783 | config I2C_MV64XXX |
|---|
| 715 | 784 | tristate "Marvell mv64xxx I2C Controller" |
|---|
| 716 | | - depends on MV64X60 || PLAT_ORION || ARCH_SUNXI || ARCH_MVEBU |
|---|
| 785 | + depends on MV64X60 || PLAT_ORION || ARCH_SUNXI || ARCH_MVEBU || COMPILE_TEST |
|---|
| 717 | 786 | help |
|---|
| 718 | 787 | If you say yes to this option, support will be included for the |
|---|
| 719 | 788 | built-in I2C interface on the Marvell 64xxx line of host bridges. |
|---|
| .. | .. |
|---|
| 724 | 793 | |
|---|
| 725 | 794 | config I2C_MXS |
|---|
| 726 | 795 | tristate "Freescale i.MX28 I2C interface" |
|---|
| 727 | | - depends on SOC_IMX28 |
|---|
| 796 | + depends on SOC_IMX28 || COMPILE_TEST |
|---|
| 728 | 797 | select STMP_DEVICE |
|---|
| 729 | 798 | help |
|---|
| 730 | 799 | Say Y here if you want to use the I2C bus controller on |
|---|
| .. | .. |
|---|
| 741 | 810 | I2C interface from ST-Ericsson's Nomadik and Ux500 architectures, |
|---|
| 742 | 811 | as well as the STA2X11 PCIe I/O HUB. |
|---|
| 743 | 812 | |
|---|
| 813 | +config I2C_NPCM7XX |
|---|
| 814 | + tristate "Nuvoton I2C Controller" |
|---|
| 815 | + depends on ARCH_NPCM7XX || COMPILE_TEST |
|---|
| 816 | + help |
|---|
| 817 | + If you say yes to this option, support will be included for the |
|---|
| 818 | + Nuvoton I2C controller, which is available on the NPCM7xx BMC |
|---|
| 819 | + controller. |
|---|
| 820 | + Driver can also support slave mode (select I2C_SLAVE). |
|---|
| 821 | + |
|---|
| 744 | 822 | config I2C_OCORES |
|---|
| 745 | 823 | tristate "OpenCores I2C Controller" |
|---|
| 746 | 824 | help |
|---|
| .. | .. |
|---|
| 753 | 831 | |
|---|
| 754 | 832 | config I2C_OMAP |
|---|
| 755 | 833 | tristate "OMAP I2C adapter" |
|---|
| 756 | | - depends on ARCH_OMAP || ARCH_K3 |
|---|
| 834 | + depends on ARCH_OMAP || ARCH_K3 || COMPILE_TEST |
|---|
| 757 | 835 | default y if MACH_OMAP_H3 || MACH_OMAP_OSK |
|---|
| 758 | 836 | help |
|---|
| 759 | 837 | If you say yes to this option, support will be included for the |
|---|
| .. | .. |
|---|
| 777 | 855 | config I2C_PCA_PLATFORM |
|---|
| 778 | 856 | tristate "PCA9564/PCA9665 as platform device" |
|---|
| 779 | 857 | select I2C_ALGOPCA |
|---|
| 780 | | - default n |
|---|
| 781 | 858 | help |
|---|
| 782 | 859 | This driver supports a memory mapped Philips PCA9564/PCA9665 |
|---|
| 783 | 860 | parallel bus to I2C bus controller. |
|---|
| .. | .. |
|---|
| 787 | 864 | |
|---|
| 788 | 865 | config I2C_PMCMSP |
|---|
| 789 | 866 | tristate "PMC MSP I2C TWI Controller" |
|---|
| 790 | | - depends on PMC_MSP |
|---|
| 867 | + depends on PMC_MSP || COMPILE_TEST |
|---|
| 791 | 868 | help |
|---|
| 792 | 869 | This driver supports the PMC TWI controller on MSP devices. |
|---|
| 793 | 870 | |
|---|
| .. | .. |
|---|
| 796 | 873 | |
|---|
| 797 | 874 | config I2C_PNX |
|---|
| 798 | 875 | tristate "I2C bus support for Philips PNX and NXP LPC targets" |
|---|
| 799 | | - depends on ARCH_LPC32XX |
|---|
| 876 | + depends on ARCH_LPC32XX || COMPILE_TEST |
|---|
| 800 | 877 | help |
|---|
| 801 | 878 | This driver supports the Philips IP3204 I2C IP block master and/or |
|---|
| 802 | 879 | slave controller |
|---|
| .. | .. |
|---|
| 804 | 881 | This driver can also be built as a module. If so, the module |
|---|
| 805 | 882 | will be called i2c-pnx. |
|---|
| 806 | 883 | |
|---|
| 807 | | -config I2C_PUV3 |
|---|
| 808 | | - tristate "PKUnity v3 I2C bus support" |
|---|
| 809 | | - depends on UNICORE32 && ARCH_PUV3 |
|---|
| 810 | | - select I2C_ALGOBIT |
|---|
| 811 | | - help |
|---|
| 812 | | - This driver supports the I2C IP inside the PKUnity-v3 SoC. |
|---|
| 813 | | - This I2C bus controller is under AMBA/AXI bus. |
|---|
| 814 | | - |
|---|
| 815 | | - This driver can also be built as a module. If so, the module |
|---|
| 816 | | - will be called i2c-puv3. |
|---|
| 817 | | - |
|---|
| 818 | 884 | config I2C_PXA |
|---|
| 819 | 885 | tristate "Intel PXA2XX I2C adapter" |
|---|
| 820 | | - depends on ARCH_PXA || ARCH_MMP || ARCH_MVEBU || (X86_32 && PCI && OF) |
|---|
| 886 | + depends on ARCH_PXA || ARCH_MMP || ARCH_MVEBU || (X86_32 && PCI && OF) || COMPILE_TEST |
|---|
| 821 | 887 | help |
|---|
| 822 | 888 | If you have devices in the PXA I2C bus, say yes to this option. |
|---|
| 823 | 889 | This driver can also be built as a module. If so, the module |
|---|
| .. | .. |
|---|
| 829 | 895 | config I2C_PXA_SLAVE |
|---|
| 830 | 896 | bool "Intel PXA2XX I2C Slave comms support" |
|---|
| 831 | 897 | depends on I2C_PXA && !X86_32 |
|---|
| 898 | + select I2C_SLAVE |
|---|
| 832 | 899 | help |
|---|
| 833 | 900 | Support I2C slave mode communications on the PXA I2C bus. This |
|---|
| 834 | 901 | is necessary for systems where the PXA may be a target on the |
|---|
| 835 | 902 | I2C bus. |
|---|
| 903 | + |
|---|
| 904 | +config I2C_QCOM_CCI |
|---|
| 905 | + tristate "Qualcomm Camera Control Interface" |
|---|
| 906 | + depends on ARCH_QCOM || COMPILE_TEST |
|---|
| 907 | + help |
|---|
| 908 | + If you say yes to this option, support will be included for the |
|---|
| 909 | + built-in camera control interface on the Qualcomm SoCs. |
|---|
| 910 | + |
|---|
| 911 | + This driver can also be built as a module. If so, the module |
|---|
| 912 | + will be called i2c-qcom-cci. |
|---|
| 836 | 913 | |
|---|
| 837 | 914 | config I2C_QCOM_GENI |
|---|
| 838 | 915 | tristate "Qualcomm Technologies Inc.'s GENI based I2C controller" |
|---|
| .. | .. |
|---|
| 849 | 926 | |
|---|
| 850 | 927 | config I2C_QUP |
|---|
| 851 | 928 | tristate "Qualcomm QUP based I2C controller" |
|---|
| 852 | | - depends on ARCH_QCOM |
|---|
| 929 | + depends on ARCH_QCOM || COMPILE_TEST |
|---|
| 853 | 930 | help |
|---|
| 854 | 931 | If you say yes to this option, support will be included for the |
|---|
| 855 | 932 | built-in I2C interface on the Qualcomm SoCs. |
|---|
| .. | .. |
|---|
| 885 | 962 | respective Kconfig file. |
|---|
| 886 | 963 | |
|---|
| 887 | 964 | config I2C_S3C2410 |
|---|
| 888 | | - tristate "S3C2410 I2C Driver" |
|---|
| 889 | | - depends on HAVE_S3C2410_I2C |
|---|
| 965 | + tristate "S3C/Exynos I2C Driver" |
|---|
| 966 | + depends on HAVE_S3C2410_I2C || COMPILE_TEST |
|---|
| 890 | 967 | help |
|---|
| 891 | 968 | Say Y here to include support for I2C controller in the |
|---|
| 892 | | - Samsung SoCs. |
|---|
| 969 | + Samsung SoCs (S3C, S5Pv210, Exynos). |
|---|
| 893 | 970 | |
|---|
| 894 | 971 | config I2C_SH7760 |
|---|
| 895 | 972 | tristate "Renesas SH7760 I2C Controller" |
|---|
| .. | .. |
|---|
| 924 | 1001 | |
|---|
| 925 | 1002 | config I2C_SIRF |
|---|
| 926 | 1003 | tristate "CSR SiRFprimaII I2C interface" |
|---|
| 927 | | - depends on ARCH_SIRF |
|---|
| 1004 | + depends on ARCH_SIRF || COMPILE_TEST |
|---|
| 928 | 1005 | help |
|---|
| 929 | 1006 | If you say yes to this option, support will be included for the |
|---|
| 930 | 1007 | CSR SiRFprimaII I2C interface. |
|---|
| .. | .. |
|---|
| 933 | 1010 | will be called i2c-sirf. |
|---|
| 934 | 1011 | |
|---|
| 935 | 1012 | config I2C_SPRD |
|---|
| 936 | | - bool "Spreadtrum I2C interface" |
|---|
| 937 | | - depends on I2C=y && ARCH_SPRD |
|---|
| 1013 | + tristate "Spreadtrum I2C interface" |
|---|
| 1014 | + depends on I2C=y && (ARCH_SPRD || COMPILE_TEST) |
|---|
| 1015 | + depends on COMMON_CLK |
|---|
| 938 | 1016 | help |
|---|
| 939 | 1017 | If you say yes to this option, support will be included for the |
|---|
| 940 | 1018 | Spreadtrum I2C interface. |
|---|
| 941 | 1019 | |
|---|
| 942 | 1020 | config I2C_ST |
|---|
| 943 | 1021 | tristate "STMicroelectronics SSC I2C support" |
|---|
| 944 | | - depends on ARCH_STI |
|---|
| 1022 | + depends on ARCH_STI || COMPILE_TEST |
|---|
| 945 | 1023 | help |
|---|
| 946 | 1024 | Enable this option to add support for STMicroelectronics SoCs |
|---|
| 947 | 1025 | hardware SSC (Synchronous Serial Controller) as an I2C controller. |
|---|
| .. | .. |
|---|
| 963 | 1041 | tristate "STMicroelectronics STM32F7 I2C support" |
|---|
| 964 | 1042 | depends on ARCH_STM32 || COMPILE_TEST |
|---|
| 965 | 1043 | select I2C_SLAVE |
|---|
| 1044 | + select I2C_SMBUS |
|---|
| 966 | 1045 | help |
|---|
| 967 | 1046 | Enable this option to add support for STM32 I2C controller embedded |
|---|
| 968 | 1047 | in STM32F7 SoCs. |
|---|
| .. | .. |
|---|
| 972 | 1051 | |
|---|
| 973 | 1052 | config I2C_STU300 |
|---|
| 974 | 1053 | tristate "ST Microelectronics DDC I2C interface" |
|---|
| 975 | | - depends on MACH_U300 |
|---|
| 1054 | + depends on MACH_U300 || COMPILE_TEST |
|---|
| 976 | 1055 | default y if MACH_U300 |
|---|
| 977 | 1056 | help |
|---|
| 978 | 1057 | If you say yes to this option, support will be included for the |
|---|
| .. | .. |
|---|
| 1008 | 1087 | |
|---|
| 1009 | 1088 | config I2C_TEGRA |
|---|
| 1010 | 1089 | tristate "NVIDIA Tegra internal I2C controller" |
|---|
| 1011 | | - depends on ARCH_TEGRA |
|---|
| 1090 | + depends on ARCH_TEGRA || (COMPILE_TEST && (ARC || ARM || ARM64 || M68K || RISCV || SUPERH || SPARC)) |
|---|
| 1091 | + # COMPILE_TEST needs architectures with readsX()/writesX() primitives |
|---|
| 1012 | 1092 | help |
|---|
| 1013 | 1093 | If you say yes to this option, support will be included for the |
|---|
| 1014 | 1094 | I2C controller embedded in NVIDIA Tegra SOCs |
|---|
| 1015 | 1095 | |
|---|
| 1016 | 1096 | config I2C_TEGRA_BPMP |
|---|
| 1017 | 1097 | tristate "NVIDIA Tegra BPMP I2C controller" |
|---|
| 1018 | | - depends on TEGRA_BPMP |
|---|
| 1019 | | - default y |
|---|
| 1098 | + depends on TEGRA_BPMP || COMPILE_TEST |
|---|
| 1099 | + default y if TEGRA_BPMP |
|---|
| 1020 | 1100 | help |
|---|
| 1021 | 1101 | If you say yes to this option, support will be included for the I2C |
|---|
| 1022 | 1102 | controller embedded in NVIDIA Tegra SoCs accessed via the BPMP. |
|---|
| .. | .. |
|---|
| 1054 | 1134 | |
|---|
| 1055 | 1135 | config I2C_WMT |
|---|
| 1056 | 1136 | tristate "Wondermedia WM8xxx SoC I2C bus support" |
|---|
| 1057 | | - depends on ARCH_VT8500 |
|---|
| 1137 | + depends on ARCH_VT8500 || COMPILE_TEST |
|---|
| 1058 | 1138 | help |
|---|
| 1059 | 1139 | Say yes if you want to support the I2C bus on Wondermedia 8xxx-series |
|---|
| 1060 | 1140 | SoCs. |
|---|
| .. | .. |
|---|
| 1095 | 1175 | |
|---|
| 1096 | 1176 | config I2C_XLR |
|---|
| 1097 | 1177 | tristate "Netlogic XLR and Sigma Designs I2C support" |
|---|
| 1098 | | - depends on CPU_XLR || ARCH_TANGO |
|---|
| 1178 | + depends on CPU_XLR || ARCH_TANGO || COMPILE_TEST |
|---|
| 1099 | 1179 | help |
|---|
| 1100 | 1180 | This driver enables support for the on-chip I2C interface of |
|---|
| 1101 | 1181 | the Netlogic XLR/XLS MIPS processors and Sigma Designs SOCs. |
|---|
| .. | .. |
|---|
| 1117 | 1197 | tristate "Renesas R-Car I2C Controller" |
|---|
| 1118 | 1198 | depends on ARCH_RENESAS || COMPILE_TEST |
|---|
| 1119 | 1199 | select I2C_SLAVE |
|---|
| 1200 | + select I2C_SMBUS |
|---|
| 1120 | 1201 | select RESET_CONTROLLER if ARCH_RCAR_GEN3 |
|---|
| 1121 | 1202 | help |
|---|
| 1122 | 1203 | If you say yes to this option, support will be included for the |
|---|
| .. | .. |
|---|
| 1138 | 1219 | will be called i2c-diolan-u2c. |
|---|
| 1139 | 1220 | |
|---|
| 1140 | 1221 | config I2C_DLN2 |
|---|
| 1141 | | - tristate "Diolan DLN-2 USB I2C adapter" |
|---|
| 1142 | | - depends on MFD_DLN2 |
|---|
| 1143 | | - help |
|---|
| 1222 | + tristate "Diolan DLN-2 USB I2C adapter" |
|---|
| 1223 | + depends on MFD_DLN2 |
|---|
| 1224 | + help |
|---|
| 1144 | 1225 | If you say yes to this option, support will be included for Diolan |
|---|
| 1145 | 1226 | DLN2, a USB to I2C interface. |
|---|
| 1146 | 1227 | |
|---|
| .. | .. |
|---|
| 1156 | 1237 | This supports parallel port I2C adapters such as the ones made by |
|---|
| 1157 | 1238 | Philips or Velleman, Analog Devices evaluation boards, and more. |
|---|
| 1158 | 1239 | Basically any adapter using the parallel port as an I2C bus with |
|---|
| 1159 | | - no extra chipset is supported by this driver, or could be. |
|---|
| 1160 | | - |
|---|
| 1161 | | - This driver is a replacement for (and was inspired by) an older |
|---|
| 1162 | | - driver named i2c-philips-par. The new driver supports more devices, |
|---|
| 1163 | | - and makes it easier to add support for new devices. |
|---|
| 1164 | | - |
|---|
| 1165 | | - An adapter type parameter is now mandatory. Please read the file |
|---|
| 1166 | | - Documentation/i2c/busses/i2c-parport for details. |
|---|
| 1167 | | - |
|---|
| 1168 | | - Another driver exists, named i2c-parport-light, which doesn't depend |
|---|
| 1169 | | - on the parport driver. This is meant for embedded systems. Don't say |
|---|
| 1170 | | - Y here if you intend to say Y or M there. |
|---|
| 1240 | + no extra chipset is supported by this driver, or could be. Please |
|---|
| 1241 | + read the file Documentation/i2c/busses/i2c-parport.rst for details. |
|---|
| 1171 | 1242 | |
|---|
| 1172 | 1243 | This support is also available as a module. If so, the module |
|---|
| 1173 | 1244 | will be called i2c-parport. |
|---|
| 1174 | | - |
|---|
| 1175 | | -config I2C_PARPORT_LIGHT |
|---|
| 1176 | | - tristate "Parallel port adapter (light)" |
|---|
| 1177 | | - select I2C_ALGOBIT |
|---|
| 1178 | | - select I2C_SMBUS |
|---|
| 1179 | | - help |
|---|
| 1180 | | - This supports parallel port I2C adapters such as the ones made by |
|---|
| 1181 | | - Philips or Velleman, Analog Devices evaluation boards, and more. |
|---|
| 1182 | | - Basically any adapter using the parallel port as an I2C bus with |
|---|
| 1183 | | - no extra chipset is supported by this driver, or could be. |
|---|
| 1184 | | - |
|---|
| 1185 | | - This driver is a light version of i2c-parport. It doesn't depend |
|---|
| 1186 | | - on the parport driver, and uses direct I/O access instead. This |
|---|
| 1187 | | - might be preferred on embedded systems where wasting memory for |
|---|
| 1188 | | - the clean but heavy parport handling is not an option. The |
|---|
| 1189 | | - drawback is a reduced portability and the impossibility to |
|---|
| 1190 | | - daisy-chain other parallel port devices. |
|---|
| 1191 | | - |
|---|
| 1192 | | - Don't say Y here if you said Y or M to i2c-parport. Saying M to |
|---|
| 1193 | | - both is possible but both modules should not be loaded at the same |
|---|
| 1194 | | - time. |
|---|
| 1195 | | - |
|---|
| 1196 | | - This support is also available as a module. If so, the module |
|---|
| 1197 | | - will be called i2c-parport-light. |
|---|
| 1198 | 1245 | |
|---|
| 1199 | 1246 | config I2C_ROBOTFUZZ_OSIF |
|---|
| 1200 | 1247 | tristate "RobotFuzz Open Source InterFace USB adapter" |
|---|
| .. | .. |
|---|
| 1211 | 1258 | depends on TTY |
|---|
| 1212 | 1259 | select SERIO |
|---|
| 1213 | 1260 | select SERIO_SERPORT |
|---|
| 1214 | | - default n |
|---|
| 1215 | 1261 | help |
|---|
| 1216 | 1262 | This supports TAOS evaluation modules on serial port. In order to |
|---|
| 1217 | 1263 | use this driver, you will need the inputattach tool, which is part |
|---|
| .. | .. |
|---|
| 1239 | 1285 | help |
|---|
| 1240 | 1286 | Say yes here to access the I2C part of the Nano River |
|---|
| 1241 | 1287 | Technologies Viperboard as I2C master. |
|---|
| 1242 | | - See viperboard API specification and Nano |
|---|
| 1243 | | - River Tech's viperboard.h for detailed meaning |
|---|
| 1244 | | - of the module parameters. |
|---|
| 1288 | + See viperboard API specification and Nano |
|---|
| 1289 | + River Tech's viperboard.h for detailed meaning |
|---|
| 1290 | + of the module parameters. |
|---|
| 1245 | 1291 | |
|---|
| 1246 | 1292 | comment "Other I2C/SMBus bus drivers" |
|---|
| 1247 | 1293 | |
|---|
| .. | .. |
|---|
| 1266 | 1312 | This support is also available as a module. If so, the module |
|---|
| 1267 | 1313 | will be called i2c-elektor. |
|---|
| 1268 | 1314 | |
|---|
| 1315 | +config I2C_ICY |
|---|
| 1316 | + tristate "ICY Zorro card" |
|---|
| 1317 | + depends on ZORRO |
|---|
| 1318 | + select I2C_ALGOPCF |
|---|
| 1319 | + help |
|---|
| 1320 | + This supports the PCF8584 Zorro bus I2C adapter, known as ICY. |
|---|
| 1321 | + Say Y if you own such an adapter. |
|---|
| 1322 | + |
|---|
| 1323 | + This support is also available as a module. If so, the module |
|---|
| 1324 | + will be called i2c-icy. |
|---|
| 1325 | + |
|---|
| 1326 | + If you have a 2019 edition board with an LTC2990 sensor at address |
|---|
| 1327 | + 0x4c, loading the module 'ltc2990' is sufficient to enable it. |
|---|
| 1328 | + |
|---|
| 1269 | 1329 | config I2C_MLXCPLD |
|---|
| 1270 | 1330 | tristate "Mellanox I2C driver" |
|---|
| 1271 | | - depends on X86_64 |
|---|
| 1331 | + depends on X86_64 || COMPILE_TEST |
|---|
| 1272 | 1332 | help |
|---|
| 1273 | 1333 | This exposes the Mellanox platform I2C busses to the linux I2C layer |
|---|
| 1274 | 1334 | for X86 based systems. |
|---|
| .. | .. |
|---|
| 1281 | 1341 | tristate "PCA9564/PCA9665 on an ISA bus" |
|---|
| 1282 | 1342 | depends on ISA |
|---|
| 1283 | 1343 | select I2C_ALGOPCA |
|---|
| 1284 | | - default n |
|---|
| 1285 | 1344 | help |
|---|
| 1286 | 1345 | This driver supports ISA boards using the Philips PCA9564/PCA9665 |
|---|
| 1287 | 1346 | parallel bus to I2C bus controller. |
|---|
| .. | .. |
|---|
| 1302 | 1361 | |
|---|
| 1303 | 1362 | config I2C_CROS_EC_TUNNEL |
|---|
| 1304 | 1363 | tristate "ChromeOS EC tunnel I2C bus" |
|---|
| 1305 | | - depends on MFD_CROS_EC |
|---|
| 1364 | + depends on CROS_EC |
|---|
| 1306 | 1365 | help |
|---|
| 1307 | 1366 | If you say yes here you get an I2C bus that will tunnel i2c commands |
|---|
| 1308 | 1367 | through to the other side of the ChromeOS EC to the i2c bus |
|---|