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