linux/drivers/i2c/busses/Kconfig
<<
>>
Prefs
   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_ALI1535
  13        tristate "ALI 1535"
  14        depends on PCI
  15        help
  16          If you say yes to this option, support will be included for the SMB
  17          Host controller on Acer Labs Inc. (ALI) M1535 South Bridges.  The SMB
  18          controller is part of the 7101 device, which is an ACPI-compliant
  19          Power Management Unit (PMU).
  20
  21          This driver can also be built as a module.  If so, the module
  22          will be called i2c-ali1535.
  23
  24config I2C_ALI1563
  25        tristate "ALI 1563"
  26        depends on PCI
  27        help
  28          If you say yes to this option, support will be included for the SMB
  29          Host controller on Acer Labs Inc. (ALI) M1563 South Bridges.  The SMB
  30          controller is part of the 7101 device, which is an ACPI-compliant
  31          Power Management Unit (PMU).
  32
  33          This driver can also be built as a module.  If so, the module
  34          will be called i2c-ali1563.
  35
  36config I2C_ALI15X3
  37        tristate "ALI 15x3"
  38        depends on PCI
  39        help
  40          If you say yes to this option, support will be included for the
  41          Acer Labs Inc. (ALI) M1514 and M1543 motherboard I2C interfaces.
  42
  43          This driver can also be built as a module.  If so, the module
  44          will be called i2c-ali15x3.
  45
  46config I2C_AMD756
  47        tristate "AMD 756/766/768/8111 and nVidia nForce"
  48        depends on PCI
  49        help
  50          If you say yes to this option, support will be included for the AMD
  51          756/766/768 mainboard I2C interfaces.  The driver also includes
  52          support for the first (SMBus 1.0) I2C interface of the AMD 8111 and
  53          the nVidia nForce I2C interface.
  54
  55          This driver can also be built as a module.  If so, the module
  56          will be called i2c-amd756.
  57
  58config I2C_AMD756_S4882
  59        tristate "SMBus multiplexing on the Tyan S4882"
  60        depends on I2C_AMD756 && X86
  61        help
  62          Enabling this option will add specific SMBus support for the Tyan
  63          S4882 motherboard.  On this 4-CPU board, the SMBus is multiplexed
  64          over 8 different channels, where the various memory module EEPROMs
  65          and temperature sensors live.  Saying yes here will give you access
  66          to these in addition to the trunk.
  67
  68          This driver can also be built as a module.  If so, the module
  69          will be called i2c-amd756-s4882.
  70
  71config I2C_AMD8111
  72        tristate "AMD 8111"
  73        depends on PCI
  74        help
  75          If you say yes to this option, support will be included for the
  76          second (SMBus 2.0) AMD 8111 mainboard I2C interface.
  77
  78          This driver can also be built as a module.  If so, the module
  79          will be called i2c-amd8111.
  80
  81config 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
  91config I2C_HIX5HD2
  92        tristate "Hix5hd2 high-speed I2C driver"
  93        depends on ARCH_HISI || ARCH_HIX5HD2 || COMPILE_TEST
  94        help
  95          Say Y here to include support for the high-speed I2C controller
  96          used in HiSilicon hix5hd2 SoCs.
  97
  98          This driver can also be built as a module. If so, the module
  99          will be called i2c-hix5hd2.
 100
 101config I2C_I801
 102        tristate "Intel 82801 (ICH/PCH)"
 103        depends on PCI
 104        select CHECK_SIGNATURE if X86 && DMI
 105        select I2C_SMBUS
 106        help
 107          If you say yes to this option, support will be included for the Intel
 108          801 family of mainboard I2C interfaces.  Specifically, the following
 109          versions of the chipset are supported:
 110            82801AA
 111            82801AB
 112            82801BA
 113            82801CA/CAM
 114            82801DB
 115            82801EB/ER (ICH5/ICH5R)
 116            6300ESB
 117            ICH6
 118            ICH7
 119            ESB2
 120            ICH8
 121            ICH9
 122            EP80579 (Tolapai)
 123            ICH10
 124            5/3400 Series (PCH)
 125            6 Series (PCH)
 126            Patsburg (PCH)
 127            DH89xxCC (PCH)
 128            Panther Point (PCH)
 129            Lynx Point (PCH)
 130            Avoton (SOC)
 131            Wellsburg (PCH)
 132            Coleto Creek (PCH)
 133            Wildcat Point (PCH)
 134            BayTrail (SOC)
 135            Braswell (SOC)
 136            Sunrise Point (PCH)
 137            Kaby Lake (PCH)
 138            DNV (SOC)
 139            Broxton (SOC)
 140            Lewisburg (PCH)
 141            Gemini Lake (SOC)
 142            Cannon Lake (PCH)
 143            Cedar Fork (PCH)
 144            Ice Lake (PCH)
 145            Comet Lake (PCH)
 146            Elkhart Lake (PCH)
 147            Tiger Lake (PCH)
 148            Jasper Lake (SOC)
 149            Emmitsburg (PCH)
 150            Alder Lake (PCH)
 151
 152          This driver can also be built as a module.  If so, the module
 153          will be called i2c-i801.
 154
 155config I2C_ISCH
 156        tristate "Intel SCH SMBus 1.0"
 157        depends on PCI
 158        select LPC_SCH
 159        help
 160          Say Y here if you want to use SMBus controller on the Intel SCH
 161          based systems.
 162
 163          This driver can also be built as a module. If so, the module
 164          will be called i2c-isch.
 165
 166config I2C_ISMT
 167        tristate "Intel iSMT SMBus Controller"
 168        depends on PCI && X86
 169        help
 170          If you say yes to this option, support will be included for the Intel
 171          iSMT SMBus host controller interface.
 172
 173          This driver can also be built as a module.  If so, the module will be
 174          called i2c-ismt.
 175
 176config I2C_PIIX4
 177        tristate "Intel PIIX4 and compatible (ATI/AMD/Serverworks/Broadcom/SMSC)"
 178        depends on PCI
 179        help
 180          If you say yes to this option, support will be included for the Intel
 181          PIIX4 family of mainboard I2C interfaces.  Specifically, the following
 182          versions of the chipset are supported (note that Serverworks is part
 183          of Broadcom):
 184            Intel PIIX4
 185            Intel 440MX
 186            ATI IXP200
 187            ATI IXP300
 188            ATI IXP400
 189            ATI SB600
 190            ATI SB700/SP5100
 191            ATI SB800
 192            AMD Hudson-2
 193            AMD ML
 194            AMD CZ
 195            Hygon CZ
 196            Serverworks OSB4
 197            Serverworks CSB5
 198            Serverworks CSB6
 199            Serverworks HT-1000
 200            Serverworks HT-1100
 201            SMSC Victory66
 202
 203          Some AMD chipsets contain two PIIX4-compatible SMBus
 204          controllers. This driver will attempt to use both controllers
 205          on the SB700/SP5100, if they have been initialized by the BIOS.
 206
 207          This driver can also be built as a module.  If so, the module
 208          will be called i2c-piix4.
 209
 210config I2C_CHT_WC
 211        tristate "Intel Cherry Trail Whiskey Cove PMIC smbus controller"
 212        depends on INTEL_SOC_PMIC_CHTWC
 213        help
 214          If you say yes to this option, support will be included for the
 215          SMBus controller found in the Intel Cherry Trail Whiskey Cove PMIC
 216          found on some Intel Cherry Trail systems.
 217
 218          Note this controller is hooked up to a TI bq24292i charger-IC,
 219          combined with a FUSB302 Type-C port-controller as such it is advised
 220          to also select CONFIG_TYPEC_FUSB302=m.
 221
 222config I2C_NFORCE2
 223        tristate "Nvidia nForce2, nForce3 and nForce4"
 224        depends on PCI
 225        help
 226          If you say yes to this option, support will be included for the Nvidia
 227          nForce2, nForce3 and nForce4 families of mainboard I2C interfaces.
 228
 229          This driver can also be built as a module.  If so, the module
 230          will be called i2c-nforce2.
 231
 232config I2C_NFORCE2_S4985
 233        tristate "SMBus multiplexing on the Tyan S4985"
 234        depends on I2C_NFORCE2 && X86
 235        help
 236          Enabling this option will add specific SMBus support for the Tyan
 237          S4985 motherboard.  On this 4-CPU board, the SMBus is multiplexed
 238          over 4 different channels, where the various memory module EEPROMs
 239          live.  Saying yes here will give you access to these in addition
 240          to the trunk.
 241
 242          This driver can also be built as a module.  If so, the module
 243          will be called i2c-nforce2-s4985.
 244
 245config 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
 254config I2C_SIS5595
 255        tristate "SiS 5595"
 256        depends on PCI
 257        help
 258          If you say yes to this option, support will be included for the
 259          SiS5595 SMBus (a subset of I2C) interface.
 260
 261          This driver can also be built as a module.  If so, the module
 262          will be called i2c-sis5595.
 263
 264config I2C_SIS630
 265        tristate "SiS 630/730/964"
 266        depends on PCI
 267        help
 268          If you say yes to this option, support will be included for the
 269          SiS630, SiS730 and SiS964 SMBus (a subset of I2C) interface.
 270
 271          This driver can also be built as a module.  If so, the module
 272          will be called i2c-sis630.
 273
 274config I2C_SIS96X
 275        tristate "SiS 96x"
 276        depends on PCI
 277        help
 278          If you say yes to this option, support will be included for the SiS
 279          96x SMBus (a subset of I2C) interfaces.  Specifically, the following
 280          chipsets are supported:
 281            645/961
 282            645DX/961
 283            645DX/962
 284            648/961
 285            650/961
 286            735
 287            745
 288
 289          This driver can also be built as a module.  If so, the module
 290          will be called i2c-sis96x.
 291
 292config I2C_VIA
 293        tristate "VIA VT82C586B"
 294        depends on PCI
 295        select I2C_ALGOBIT
 296        help
 297          If you say yes to this option, support will be included for the VIA
 298          82C586B I2C interface
 299
 300          This driver can also be built as a module.  If so, the module
 301          will be called i2c-via.
 302
 303config I2C_VIAPRO
 304        tristate "VIA VT82C596/82C686/82xx and CX700/VX8xx/VX900"
 305        depends on PCI
 306        help
 307          If you say yes to this option, support will be included for the VIA
 308          VT82C596 and later SMBus interface.  Specifically, the following
 309          chipsets are supported:
 310            VT82C596A/B
 311            VT82C686A/B
 312            VT8231
 313            VT8233/A
 314            VT8235
 315            VT8237R/A/S
 316            VT8251
 317            CX700
 318            VX800/VX820
 319            VX855/VX875
 320            VX900
 321
 322          This driver can also be built as a module.  If so, the module
 323          will be called i2c-viapro.
 324
 325if ACPI
 326
 327comment "ACPI drivers"
 328
 329config I2C_SCMI
 330        tristate "SMBus Control Method Interface"
 331        help
 332          This driver supports the SMBus Control Method Interface. It needs the
 333          BIOS to declare ACPI control methods as described in the SMBus Control
 334          Method Interface specification.
 335
 336          To compile this driver as a module, choose M here:
 337          the module will be called i2c-scmi.
 338
 339endif # ACPI
 340
 341comment "Mac SMBus host controller drivers"
 342        depends on PPC_CHRP || PPC_PMAC
 343
 344config I2C_HYDRA
 345        tristate "CHRP Apple Hydra Mac I/O I2C interface"
 346        depends on PCI && PPC_CHRP
 347        select I2C_ALGOBIT
 348        help
 349          This supports the use of the I2C interface in the Apple Hydra Mac
 350          I/O chip on some CHRP machines (e.g. the LongTrail).  Say Y if you
 351          have such a machine.
 352
 353          This support is also available as a module.  If so, the module
 354          will be called i2c-hydra.
 355
 356config I2C_POWERMAC
 357        tristate "Powermac I2C interface"
 358        depends on PPC_PMAC
 359        default y
 360        help
 361          This exposes the various PowerMac i2c interfaces to the linux i2c
 362          layer and to userland. It is used by various drivers on the PowerMac
 363          platform, and should generally be enabled.
 364
 365          This support is also available as a module.  If so, the module
 366          will be called i2c-powermac.
 367
 368comment "I2C system bus drivers (mostly embedded / system-on-chip)"
 369
 370config I2C_ALTERA
 371        tristate "Altera Soft IP I2C"
 372        depends on ARCH_SOCFPGA || NIOS2 || COMPILE_TEST
 373        depends on OF
 374        help
 375          If you say yes to this option, support will be included for the
 376          Altera Soft IP I2C interfaces on SoCFPGA and Nios2 architectures.
 377
 378          This driver can also be built as a module.  If so, the module
 379          will be called i2c-altera.
 380
 381config I2C_ASPEED
 382        tristate "Aspeed I2C Controller"
 383        depends on ARCH_ASPEED || COMPILE_TEST
 384        help
 385          If you say yes to this option, support will be included for the
 386          Aspeed I2C controller.
 387
 388          This driver can also be built as a module.  If so, the module
 389          will be called i2c-aspeed.
 390
 391config I2C_AT91
 392        tristate "Atmel AT91 I2C Two-Wire interface (TWI)"
 393        depends on ARCH_AT91 || COMPILE_TEST
 394        help
 395          This supports the use of the I2C interface on Atmel AT91
 396          processors.
 397
 398          A serious problem is that there is no documented way to issue
 399          repeated START conditions for more than two messages, as needed
 400          to support combined I2C messages.  Use the i2c-gpio driver
 401          unless your system can cope with this limitation.
 402
 403          Caution! at91rm9200, at91sam9261, at91sam9260, at91sam9263 devices
 404          don't have clock stretching in transmission mode. For that reason,
 405          you can encounter underrun issues causing premature stop sendings if
 406          the latency to fill the transmission register is too long. If you
 407          are facing this situation, use the i2c-gpio driver.
 408
 409config 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
 422config I2C_AU1550
 423        tristate "Au1550/Au1200/Au1300 SMBus interface"
 424        depends on MIPS_ALCHEMY
 425        help
 426          If you say yes to this option, support will be included for the
 427          Au1550/Au1200/Au1300 SMBus interface.
 428
 429          This driver can also be built as a module.  If so, the module
 430          will be called i2c-au1550.
 431
 432config I2C_AXXIA
 433        tristate "Axxia I2C controller"
 434        depends on ARCH_AXXIA || COMPILE_TEST
 435        default ARCH_AXXIA
 436        select I2C_SLAVE
 437        help
 438          Say yes if you want to support the I2C bus on Axxia platforms.
 439
 440          Please note that this controller is limited to transfers of maximum
 441          255 bytes in length. Any attempt to to a larger transfer will return
 442          an error.
 443
 444config I2C_BCM2835
 445        tristate "Broadcom BCM2835 I2C controller"
 446        depends on ARCH_BCM2835 || ARCH_BRCMSTB || COMPILE_TEST
 447        depends on COMMON_CLK
 448        help
 449          If you say yes to this option, support will be included for the
 450          BCM2835 I2C controller.
 451
 452          If you don't know what to do here, say N.
 453
 454          This support is also available as a module.  If so, the module
 455          will be called i2c-bcm2835.
 456
 457config I2C_BCM_IPROC
 458        tristate "Broadcom iProc I2C controller"
 459        depends on ARCH_BCM_IPROC || COMPILE_TEST
 460        default ARCH_BCM_IPROC
 461        select I2C_SLAVE
 462        help
 463          If you say yes to this option, support will be included for the
 464          Broadcom iProc I2C controller.
 465
 466          If you don't know what to do here, say N.
 467
 468config I2C_BCM_KONA
 469        tristate "BCM Kona I2C adapter"
 470        depends on ARCH_BCM_MOBILE || COMPILE_TEST
 471        default y if ARCH_BCM_MOBILE
 472        help
 473          If you say yes to this option, support will be included for the
 474          I2C interface on the Broadcom Kona family of processors.
 475
 476          If you do not need KONA I2C interface, say N.
 477
 478config I2C_BRCMSTB
 479        tristate "BRCM Settop/DSL I2C controller"
 480        depends on ARCH_BCM2835 || ARCH_BRCMSTB || BMIPS_GENERIC || \
 481                   ARCH_BCM_63XX || COMPILE_TEST
 482        default y
 483        help
 484          If you say yes to this option, support will be included for the
 485          I2C interface on the Broadcom Settop/DSL SoCs.
 486
 487          If you do not need I2C interface, say N.
 488
 489config I2C_CADENCE
 490        tristate "Cadence I2C Controller"
 491        depends on ARCH_ZYNQ || ARM64 || XTENSA
 492        help
 493          Say yes here to select Cadence I2C Host Controller. This controller is
 494          e.g. used by Xilinx Zynq.
 495
 496config I2C_CBUS_GPIO
 497        tristate "CBUS I2C driver"
 498        depends on GPIOLIB || COMPILE_TEST
 499        help
 500          Support for CBUS access using I2C API. Mostly relevant for Nokia
 501          Internet Tablets (770, N800 and N810).
 502
 503          This driver can also be built as a module.  If so, the module
 504          will be called i2c-cbus-gpio.
 505
 506config I2C_CPM
 507        tristate "Freescale CPM1 or CPM2 (MPC8xx/826x)"
 508        depends on CPM1 || CPM2
 509        help
 510          This supports the use of the I2C interface on Freescale
 511          processors with CPM1 or CPM2.
 512
 513          This driver can also be built as a module.  If so, the module
 514          will be called i2c-cpm.
 515
 516config I2C_DAVINCI
 517        tristate "DaVinci I2C driver"
 518        depends on ARCH_DAVINCI || ARCH_KEYSTONE || COMPILE_TEST
 519        help
 520          Support for TI DaVinci I2C controller driver.
 521
 522          This driver can also be built as a module.  If so, the module
 523          will be called i2c-davinci.
 524
 525          Please note that this driver might be needed to bring up other
 526          devices such as DaVinci NIC.
 527          For details please see http://www.ti.com/davinci
 528
 529config I2C_DESIGNWARE_CORE
 530        tristate
 531        select REGMAP
 532
 533config 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.
 543
 544config I2C_DESIGNWARE_PLATFORM
 545        tristate "Synopsys DesignWare Platform"
 546        depends on (ACPI && COMMON_CLK) || !ACPI
 547        select I2C_DESIGNWARE_CORE
 548        select MFD_SYSCON if MIPS_BAIKAL_T1
 549        help
 550          If you say yes to this option, support will be included for the
 551          Synopsys DesignWare I2C adapter.
 552
 553          This driver can also be built as a module.  If so, the module
 554          will be called i2c-designware-platform.
 555
 556config I2C_DESIGNWARE_BAYTRAIL
 557        bool "Intel Baytrail I2C semaphore support"
 558        depends on ACPI
 559        depends on I2C_DESIGNWARE_PLATFORM
 560        depends on (I2C_DESIGNWARE_PLATFORM=m && IOSF_MBI) || \
 561                   (I2C_DESIGNWARE_PLATFORM=y && IOSF_MBI=y)
 562        help
 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.
 568
 569config I2C_DESIGNWARE_PCI
 570        tristate "Synopsys DesignWare PCI"
 571        depends on PCI
 572        select I2C_DESIGNWARE_CORE
 573        help
 574          If you say yes to this option, support will be included for the
 575          Synopsys DesignWare I2C adapter. Only master mode is supported.
 576
 577          This driver can also be built as a module.  If so, the module
 578          will be called i2c-designware-pci.
 579
 580config I2C_DIGICOLOR
 581        tristate "Conexant Digicolor I2C driver"
 582        depends on ARCH_DIGICOLOR || COMPILE_TEST
 583        help
 584          Support for Conexant Digicolor SoCs (CX92755) I2C controller driver.
 585
 586          This driver can also be built as a module.  If so, the module
 587          will be called i2c-digicolor.
 588
 589config I2C_EFM32
 590        tristate "EFM32 I2C controller"
 591        depends on ARCH_EFM32 || COMPILE_TEST
 592        help
 593          This driver supports the i2c block found in Energy Micro's EFM32
 594          SoCs.
 595
 596config I2C_EG20T
 597        tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) I2C"
 598        depends on PCI && (X86_32 || MIPS || COMPILE_TEST)
 599        help
 600          This driver is for PCH(Platform controller Hub) I2C of EG20T which
 601          is an IOH(Input/Output Hub) for x86 embedded processor.
 602          This driver can access PCH I2C bus device.
 603
 604          This driver also can be used for LAPIS Semiconductor IOH(Input/
 605          Output Hub), ML7213, ML7223 and ML7831.
 606          ML7213 IOH is for IVI(In-Vehicle Infotainment) use, ML7223 IOH is
 607          for MP(Media Phone) use and ML7831 IOH is for general purpose use.
 608          ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series.
 609          ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH.
 610
 611config I2C_EMEV2
 612        tristate "EMMA Mobile series I2C adapter"
 613        depends on HAVE_CLK
 614        select I2C_SLAVE
 615        help
 616          If you say yes to this option, support will be included for the
 617          I2C interface on the Renesas Electronics EM/EV family of processors.
 618
 619config I2C_EXYNOS5
 620        tristate "Exynos high-speed I2C driver"
 621        depends on OF
 622        depends on ARCH_EXYNOS || COMPILE_TEST
 623        default y if ARCH_EXYNOS
 624        help
 625          High-speed I2C controller on Exynos5 and newer Samsung SoCs.
 626
 627config I2C_GPIO
 628        tristate "GPIO-based bitbanging I2C"
 629        depends on GPIOLIB || COMPILE_TEST
 630        select I2C_ALGOBIT
 631        help
 632          This is a very simple bitbanging I2C driver utilizing the
 633          arch-neutral GPIO API to control the SCL and SDA lines.
 634
 635config I2C_GPIO_FAULT_INJECTOR
 636        bool "GPIO-based fault injector"
 637        depends on I2C_GPIO
 638        help
 639          This adds some functionality to the i2c-gpio driver which can inject
 640          faults to an I2C bus, so another bus master can be stress-tested.
 641          This is for debugging. If unsure, say 'no'.
 642
 643config I2C_HIGHLANDER
 644        tristate "Highlander FPGA SMBus interface"
 645        depends on SH_HIGHLANDER || COMPILE_TEST
 646        help
 647          If you say yes to this option, support will be included for
 648          the SMBus interface located in the FPGA on various Highlander
 649          boards, particularly the R0P7780LC0011RL and R0P7785LC0011RL
 650          FPGAs. This is wholly unrelated to the SoC I2C.
 651
 652          This driver can also be built as a module.  If so, the module
 653          will be called i2c-highlander.
 654
 655config I2C_IBM_IIC
 656        tristate "IBM PPC 4xx on-chip I2C interface"
 657        depends on 4xx
 658        help
 659          Say Y here if you want to use IIC peripheral found on
 660          embedded IBM PPC 4xx based systems.
 661
 662          This driver can also be built as a module.  If so, the module
 663          will be called i2c-ibm_iic.
 664
 665config I2C_IMG
 666        tristate "Imagination Technologies I2C SCB Controller"
 667        depends on MIPS || COMPILE_TEST
 668        help
 669          Say Y here if you want to use the IMG I2C SCB controller,
 670          available on the TZ1090 and other IMG SoCs.
 671
 672          This driver can also be built as a module.  If so, the module
 673          will be called i2c-img-scb.
 674
 675config I2C_IMX
 676        tristate "IMX I2C interface"
 677        depends on ARCH_MXC || ARCH_LAYERSCAPE || COLDFIRE
 678        select I2C_SLAVE
 679        help
 680          Say Y here if you want to use the IIC bus controller on
 681          the Freescale i.MX/MXC, Layerscape or ColdFire processors.
 682
 683          This driver can also be built as a module.  If so, the module
 684          will be called i2c-imx.
 685
 686config I2C_IMX_LPI2C
 687        tristate "IMX Low Power I2C interface"
 688        depends on ARCH_MXC || COMPILE_TEST
 689        help
 690          Say Y here if you want to use the Low Power IIC bus controller
 691          on the Freescale i.MX processors.
 692
 693          This driver can also be built as a module. If so, the module
 694          will be called i2c-imx-lpi2c.
 695
 696config I2C_IOP3XX
 697        tristate "Intel IOPx3xx and IXP4xx on-chip I2C interface"
 698        depends on ARCH_IOP32X || ARCH_IXP4XX || COMPILE_TEST
 699        help
 700          Say Y here if you want to use the IIC bus controller on
 701          the Intel IOPx3xx I/O Processors or IXP4xx Network Processors.
 702
 703          This driver can also be built as a module.  If so, the module
 704          will be called i2c-iop3xx.
 705
 706config I2C_JZ4780
 707        tristate "JZ4780 I2C controller interface support"
 708        depends on MIPS || COMPILE_TEST
 709        help
 710         If you say yes to this option, support will be included for the
 711         Ingenic JZ4780 I2C controller.
 712
 713         If you don't know what to do here, say N.
 714
 715config I2C_KEMPLD
 716        tristate "Kontron COM I2C Controller"
 717        depends on MFD_KEMPLD
 718        help
 719          This enables support for the I2C bus interface on some Kontron ETX
 720          and COMexpress (ETXexpress) modules.
 721
 722          This driver can also be built as a module. If so, the module
 723          will be called i2c-kempld.
 724
 725config I2C_LPC2K
 726        tristate "I2C bus support for NXP LPC2K/LPC178x/18xx/43xx"
 727        depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
 728        help
 729          This driver supports the I2C interface found several NXP
 730          devices including LPC2xxx, LPC178x/7x and LPC18xx/43xx.
 731
 732          This driver can also be built as a module.  If so, the module
 733          will be called i2c-lpc2k.
 734
 735config I2C_MLXBF
 736        tristate "Mellanox BlueField I2C controller"
 737        depends on MELLANOX_PLATFORM && ARM64
 738        select I2C_SLAVE
 739        help
 740          Enabling this option will add I2C SMBus support for Mellanox BlueField
 741          system.
 742
 743          This driver can also be built as a module. If so, the module will be
 744          called i2c-mlxbf.
 745
 746          This driver implements an I2C SMBus host controller and enables both
 747          master and slave functions.
 748
 749config I2C_MESON
 750        tristate "Amlogic Meson I2C controller"
 751        depends on ARCH_MESON || COMPILE_TEST
 752        depends on COMMON_CLK
 753        help
 754          If you say yes to this option, support will be included for the
 755          I2C interface on the Amlogic Meson family of SoCs.
 756
 757config I2C_MPC
 758        tristate "MPC107/824x/85xx/512x/52xx/83xx/86xx"
 759        depends on PPC
 760        help
 761          If you say yes to this option, support will be included for the
 762          built-in I2C interface on the MPC107, Tsi107, MPC512x, MPC52xx,
 763          MPC8240, MPC8245, MPC83xx, MPC85xx and MPC8641 family processors.
 764
 765          This driver can also be built as a module.  If so, the module
 766          will be called i2c-mpc.
 767
 768config I2C_MT65XX
 769        tristate "MediaTek I2C adapter"
 770        depends on ARCH_MEDIATEK || COMPILE_TEST
 771        help
 772          This selects the MediaTek(R) Integrated Inter Circuit bus driver
 773          for MT65xx and MT81xx.
 774          If you want to use MediaTek(R) I2C interface, say Y or M here.
 775          If unsure, say N.
 776
 777config I2C_MT7621
 778        tristate "MT7621/MT7628 I2C Controller"
 779        depends on (RALINK && (SOC_MT7620 || SOC_MT7621)) || COMPILE_TEST
 780        help
 781          Say Y here to include support for I2C controller in the
 782          MediaTek MT7621/MT7628 SoCs.
 783
 784config I2C_MV64XXX
 785        tristate "Marvell mv64xxx I2C Controller"
 786        depends on MV64X60 || PLAT_ORION || ARCH_SUNXI || ARCH_MVEBU || COMPILE_TEST
 787        help
 788          If you say yes to this option, support will be included for the
 789          built-in I2C interface on the Marvell 64xxx line of host bridges.
 790          This driver is also used for Allwinner SoCs I2C controllers.
 791
 792          This driver can also be built as a module.  If so, the module
 793          will be called i2c-mv64xxx.
 794
 795config I2C_MXS
 796        tristate "Freescale i.MX28 I2C interface"
 797        depends on SOC_IMX28 || COMPILE_TEST
 798        select STMP_DEVICE
 799        help
 800          Say Y here if you want to use the I2C bus controller on
 801          the Freescale i.MX28 processors.
 802
 803          This driver can also be built as a module.  If so, the module
 804          will be called i2c-mxs.
 805
 806config I2C_NOMADIK
 807        tristate "ST-Ericsson Nomadik/Ux500 I2C Controller"
 808        depends on ARM_AMBA
 809        help
 810          If you say yes to this option, support will be included for the
 811          I2C interface from ST-Ericsson's Nomadik and Ux500 architectures,
 812          as well as the STA2X11 PCIe I/O HUB.
 813
 814config I2C_NPCM7XX
 815        tristate "Nuvoton I2C Controller"
 816        depends on ARCH_NPCM7XX || COMPILE_TEST
 817        help
 818          If you say yes to this option, support will be included for the
 819          Nuvoton I2C controller, which is available on the NPCM7xx BMC
 820          controller.
 821          Driver can also support slave mode (select I2C_SLAVE).
 822
 823config I2C_OCORES
 824        tristate "OpenCores I2C Controller"
 825        help
 826          If you say yes to this option, support will be included for the
 827          OpenCores I2C controller. For details see
 828          http://www.opencores.org/projects.cgi/web/i2c/overview
 829
 830          This driver can also be built as a module.  If so, the module
 831          will be called i2c-ocores.
 832
 833config I2C_OMAP
 834        tristate "OMAP I2C adapter"
 835        depends on ARCH_OMAP || ARCH_K3 || COMPILE_TEST
 836        default y if MACH_OMAP_H3 || MACH_OMAP_OSK
 837        help
 838          If you say yes to this option, support will be included for the
 839          I2C interface on the Texas Instruments OMAP1/2 family of processors.
 840          Like OMAP1510/1610/1710/5912 and OMAP242x.
 841          For details see http://www.ti.com/omap.
 842
 843config I2C_OWL
 844        tristate "Actions Semiconductor Owl I2C Controller"
 845        depends on ARCH_ACTIONS || COMPILE_TEST
 846        help
 847          Say Y here if you want to use the I2C bus controller on
 848          the Actions Semiconductor Owl SoC's.
 849
 850config I2C_PASEMI
 851        tristate "PA Semi SMBus interface"
 852        depends on PPC_PASEMI && PCI
 853        help
 854          Supports the PA Semi PWRficient on-chip SMBus interfaces.
 855
 856config I2C_PCA_PLATFORM
 857        tristate "PCA9564/PCA9665 as platform device"
 858        select I2C_ALGOPCA
 859        help
 860          This driver supports a memory mapped Philips PCA9564/PCA9665
 861          parallel bus to I2C bus controller.
 862
 863          This driver can also be built as a module.  If so, the module
 864          will be called i2c-pca-platform.
 865
 866config I2C_PMCMSP
 867        tristate "PMC MSP I2C TWI Controller"
 868        depends on PMC_MSP || COMPILE_TEST
 869        help
 870          This driver supports the PMC TWI controller on MSP devices.
 871
 872          This driver can also be built as module. If so, the module
 873          will be called i2c-pmcmsp.
 874
 875config I2C_PNX
 876        tristate "I2C bus support for Philips PNX and NXP LPC targets"
 877        depends on ARCH_LPC32XX || COMPILE_TEST
 878        help
 879          This driver supports the Philips IP3204 I2C IP block master and/or
 880          slave controller
 881
 882          This driver can also be built as a module.  If so, the module
 883          will be called i2c-pnx.
 884
 885config I2C_PXA
 886        tristate "Intel PXA2XX I2C adapter"
 887        depends on ARCH_PXA || ARCH_MMP || ARCH_MVEBU || (X86_32 && PCI && OF) || COMPILE_TEST
 888        help
 889          If you have devices in the PXA I2C bus, say yes to this option.
 890          This driver can also be built as a module.  If so, the module
 891          will be called i2c-pxa.
 892
 893config I2C_PXA_PCI
 894        def_bool I2C_PXA && X86_32 && PCI && OF
 895
 896config I2C_PXA_SLAVE
 897        bool "Intel PXA2XX I2C Slave comms support"
 898        depends on I2C_PXA && !X86_32
 899        select I2C_SLAVE
 900        help
 901          Support I2C slave mode communications on the PXA I2C bus.  This
 902          is necessary for systems where the PXA may be a target on the
 903          I2C bus.
 904
 905config I2C_QCOM_CCI
 906        tristate "Qualcomm Camera Control Interface"
 907        depends on ARCH_QCOM || COMPILE_TEST
 908        help
 909          If you say yes to this option, support will be included for the
 910          built-in camera control interface on the Qualcomm SoCs.
 911
 912          This driver can also be built as a module.  If so, the module
 913          will be called i2c-qcom-cci.
 914
 915config I2C_QCOM_GENI
 916        tristate "Qualcomm Technologies Inc.'s GENI based I2C controller"
 917        depends on ARCH_QCOM || COMPILE_TEST
 918        depends on QCOM_GENI_SE
 919        help
 920          This driver supports GENI serial engine based I2C controller in
 921          master mode on the Qualcomm Technologies Inc.'s SoCs. If you say
 922          yes to this option, support will be included for the built-in I2C
 923          interface on the Qualcomm Technologies Inc.'s SoCs.
 924
 925          This driver can also be built as a module.  If so, the module
 926          will be called i2c-qcom-geni.
 927
 928config I2C_QUP
 929        tristate "Qualcomm QUP based I2C controller"
 930        depends on ARCH_QCOM
 931        help
 932          If you say yes to this option, support will be included for the
 933          built-in I2C interface on the Qualcomm SoCs.
 934
 935          This driver can also be built as a module.  If so, the module
 936          will be called i2c-qup.
 937
 938config I2C_RIIC
 939        tristate "Renesas RIIC adapter"
 940        depends on ARCH_RENESAS || COMPILE_TEST
 941        help
 942          If you say yes to this option, support will be included for the
 943          Renesas RIIC I2C interface.
 944
 945          This driver can also be built as a module.  If so, the module
 946          will be called i2c-riic.
 947
 948config I2C_RK3X
 949        tristate "Rockchip RK3xxx I2C adapter"
 950        depends on OF && COMMON_CLK
 951        help
 952          Say Y here to include support for the I2C adapter in Rockchip RK3xxx
 953          SoCs.
 954
 955          This driver can also be built as a module. If so, the module will
 956          be called i2c-rk3x.
 957
 958config HAVE_S3C2410_I2C
 959        bool
 960        help
 961          This will include I2C support for Samsung SoCs. If you want to
 962          include I2C support for any machine, kindly select this in the
 963          respective Kconfig file.
 964
 965config I2C_S3C2410
 966        tristate "S3C/Exynos I2C Driver"
 967        depends on HAVE_S3C2410_I2C || COMPILE_TEST
 968        help
 969          Say Y here to include support for I2C controller in the
 970          Samsung SoCs (S3C, S5Pv210, Exynos).
 971
 972config I2C_SH7760
 973        tristate "Renesas SH7760 I2C Controller"
 974        depends on CPU_SUBTYPE_SH7760
 975        help
 976          This driver supports the 2 I2C interfaces on the Renesas SH7760.
 977
 978          This driver can also be built as a module.  If so, the module
 979          will be called i2c-sh7760.
 980
 981config I2C_SH_MOBILE
 982        tristate "SuperH Mobile I2C Controller"
 983        depends on ARCH_SHMOBILE || ARCH_RENESAS || COMPILE_TEST
 984        help
 985          If you say yes to this option, support will be included for the
 986          built-in I2C interface on the Renesas SH-Mobile processor.
 987
 988          This driver can also be built as a module.  If so, the module
 989          will be called i2c-sh_mobile.
 990
 991config I2C_SIMTEC
 992        tristate "Simtec Generic I2C interface"
 993        select I2C_ALGOBIT
 994        help
 995          If you say yes to this option, support will be included for
 996          the Simtec Generic I2C interface. This driver is for the
 997          simple I2C bus used on newer Simtec products for general
 998          I2C, such as DDC on the Simtec BBD2016A.
 999
1000          This driver can also be built as a module. If so, the module
1001          will be called i2c-simtec.
1002
1003config I2C_SIRF
1004        tristate "CSR SiRFprimaII I2C interface"
1005        depends on ARCH_SIRF || COMPILE_TEST
1006        help
1007          If you say yes to this option, support will be included for the
1008          CSR SiRFprimaII I2C interface.
1009
1010          This driver can also be built as a module.  If so, the module
1011          will be called i2c-sirf.
1012
1013config I2C_SPRD
1014        tristate "Spreadtrum I2C interface"
1015        depends on I2C=y && (ARCH_SPRD || COMPILE_TEST)
1016        depends on COMMON_CLK
1017        help
1018          If you say yes to this option, support will be included for the
1019          Spreadtrum I2C interface.
1020
1021config I2C_ST
1022        tristate "STMicroelectronics SSC I2C support"
1023        depends on ARCH_STI || COMPILE_TEST
1024        help
1025          Enable this option to add support for STMicroelectronics SoCs
1026          hardware SSC (Synchronous Serial Controller) as an I2C controller.
1027
1028          This driver can also be built as module. If so, the module
1029          will be called i2c-st.
1030
1031config I2C_STM32F4
1032        tristate "STMicroelectronics STM32F4 I2C support"
1033        depends on ARCH_STM32 || COMPILE_TEST
1034        help
1035          Enable this option to add support for STM32 I2C controller embedded
1036          in STM32F4 SoCs.
1037
1038          This driver can also be built as module. If so, the module
1039          will be called i2c-stm32f4.
1040
1041config I2C_STM32F7
1042        tristate "STMicroelectronics STM32F7 I2C support"
1043        depends on ARCH_STM32 || COMPILE_TEST
1044        select I2C_SLAVE
1045        select I2C_SMBUS
1046        help
1047          Enable this option to add support for STM32 I2C controller embedded
1048          in STM32F7 SoCs.
1049
1050          This driver can also be built as module. If so, the module
1051          will be called i2c-stm32f7.
1052
1053config I2C_STU300
1054        tristate "ST Microelectronics DDC I2C interface"
1055        depends on MACH_U300 || COMPILE_TEST
1056        default y if MACH_U300
1057        help
1058          If you say yes to this option, support will be included for the
1059          I2C interface from ST Microelectronics simply called "DDC I2C"
1060          supporting both I2C and DDC, used in e.g. the U300 series
1061          mobile platforms.
1062
1063          This driver can also be built as a module. If so, the module
1064          will be called i2c-stu300.
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_XLR
1178        tristate "Netlogic XLR and Sigma Designs I2C support"
1179        depends on CPU_XLR || ARCH_TANGO || COMPILE_TEST
1180        help
1181          This driver enables support for the on-chip I2C interface of
1182          the Netlogic XLR/XLS MIPS processors and Sigma Designs SOCs.
1183
1184          This driver can also be built as a module.  If so, the module
1185          will be called i2c-xlr.
1186
1187config I2C_XLP9XX
1188        tristate "XLP9XX I2C support"
1189        depends on CPU_XLP || ARCH_THUNDER2 || COMPILE_TEST
1190        help
1191          This driver enables support for the on-chip I2C interface of
1192          the Broadcom XLP9xx/XLP5xx MIPS and Vulcan ARM64 processors.
1193
1194          This driver can also be built as a module.  If so, the module will
1195          be called i2c-xlp9xx.
1196
1197config I2C_RCAR
1198        tristate "Renesas R-Car I2C Controller"
1199        depends on ARCH_RENESAS || COMPILE_TEST
1200        select I2C_SLAVE
1201        select I2C_SMBUS
1202        select RESET_CONTROLLER if ARCH_RCAR_GEN3
1203        help
1204          If you say yes to this option, support will be included for the
1205          R-Car I2C controller.
1206
1207          This driver can also be built as a module.  If so, the module
1208          will be called i2c-rcar.
1209
1210comment "External I2C/SMBus adapter drivers"
1211
1212config I2C_DIOLAN_U2C
1213        tristate "Diolan U2C-12 USB adapter"
1214        depends on USB
1215        help
1216          If you say yes to this option, support will be included for Diolan
1217          U2C-12, 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-diolan-u2c.
1221
1222config I2C_DLN2
1223        tristate "Diolan DLN-2 USB I2C adapter"
1224        depends on MFD_DLN2
1225        help
1226         If you say yes to this option, support will be included for Diolan
1227         DLN2, a USB to I2C interface.
1228
1229         This driver can also be built as a module.  If so, the module
1230         will be called i2c-dln2.
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_ZX2967
1405        tristate "ZTE ZX2967 I2C support"
1406        depends on ARCH_ZX
1407        default y
1408        help
1409          Selecting this option will add ZX2967 I2C driver.
1410          This driver can also be built as a module. If so, the module will be
1411          called i2c-zx2967.
1412
1413config I2C_FSI
1414        tristate "FSI I2C driver"
1415        depends on FSI
1416        help
1417          Driver for FSI bus attached I2C masters. These are I2C masters that
1418          are connected to the system over an FSI bus, instead of the more
1419          common PCI or MMIO interface.
1420
1421          This driver can also be built as a module. If so, the module will be
1422          called as i2c-fsi.
1423
1424endmenu
1425