linux/drivers/i2c/busses/Kconfig
<<
>>
Prefs
   1#
   2# Sensor device configuration
   3#
   4
   5menu "I2C Hardware Bus support"
   6        depends on HAS_IOMEM
   7
   8comment "PC SMBus host controller drivers"
   9        depends on PCI
  10
  11config I2C_ALI1535
  12        tristate "ALI 1535"
  13        depends on PCI
  14        help
  15          If you say yes to this option, support will be included for the SMB
  16          Host controller on Acer Labs Inc. (ALI) M1535 South Bridges.  The SMB
  17          controller is part of the 7101 device, which is an ACPI-compliant
  18          Power Management Unit (PMU).
  19
  20          This driver can also be built as a module.  If so, the module
  21          will be called i2c-ali1535.
  22
  23config I2C_ALI1563
  24        tristate "ALI 1563"
  25        depends on PCI
  26        help
  27          If you say yes to this option, support will be included for the SMB
  28          Host controller on Acer Labs Inc. (ALI) M1563 South Bridges.  The SMB
  29          controller is part of the 7101 device, which is an ACPI-compliant
  30          Power Management Unit (PMU).
  31
  32          This driver can also be built as a module.  If so, the module
  33          will be called i2c-ali1563.
  34
  35config I2C_ALI15X3
  36        tristate "ALI 15x3"
  37        depends on PCI
  38        help
  39          If you say yes to this option, support will be included for the
  40          Acer Labs Inc. (ALI) M1514 and M1543 motherboard I2C interfaces.
  41
  42          This driver can also be built as a module.  If so, the module
  43          will be called i2c-ali15x3.
  44
  45config I2C_AMD756
  46        tristate "AMD 756/766/768/8111 and nVidia nForce"
  47        depends on PCI
  48        help
  49          If you say yes to this option, support will be included for the AMD
  50          756/766/768 mainboard I2C interfaces.  The driver also includes
  51          support for the first (SMBus 1.0) I2C interface of the AMD 8111 and
  52          the nVidia nForce I2C interface.
  53
  54          This driver can also be built as a module.  If so, the module
  55          will be called i2c-amd756.
  56
  57config I2C_AMD756_S4882
  58        tristate "SMBus multiplexing on the Tyan S4882"
  59        depends on I2C_AMD756 && X86
  60        help
  61          Enabling this option will add specific SMBus support for the Tyan
  62          S4882 motherboard.  On this 4-CPU board, the SMBus is multiplexed
  63          over 8 different channels, where the various memory module EEPROMs
  64          and temperature sensors live.  Saying yes here will give you access
  65          to these in addition to the trunk.
  66
  67          This driver can also be built as a module.  If so, the module
  68          will be called i2c-amd756-s4882.
  69
  70config I2C_AMD8111
  71        tristate "AMD 8111"
  72        depends on PCI
  73        help
  74          If you say yes to this option, support will be included for the
  75          second (SMBus 2.0) AMD 8111 mainboard I2C interface.
  76
  77          This driver can also be built as a module.  If so, the module
  78          will be called i2c-amd8111.
  79
  80config I2C_HIX5HD2
  81        tristate "Hix5hd2 high-speed I2C driver"
  82        depends on ARCH_HIX5HD2 || COMPILE_TEST
  83        help
  84          Say Y here to include support for high-speed I2C controller in the
  85          Hisilicon based hix5hd2 SoCs.
  86
  87          This driver can also be built as a module.  If so, the module
  88          will be called i2c-hix5hd2.
  89
  90config I2C_I801
  91        tristate "Intel 82801 (ICH/PCH)"
  92        depends on PCI
  93        select CHECK_SIGNATURE if X86 && DMI
  94        help
  95          If you say yes to this option, support will be included for the Intel
  96          801 family of mainboard I2C interfaces.  Specifically, the following
  97          versions of the chipset are supported:
  98            82801AA
  99            82801AB
 100            82801BA
 101            82801CA/CAM
 102            82801DB
 103            82801EB/ER (ICH5/ICH5R)
 104            6300ESB
 105            ICH6
 106            ICH7
 107            ESB2
 108            ICH8
 109            ICH9
 110            EP80579 (Tolapai)
 111            ICH10
 112            5/3400 Series (PCH)
 113            6 Series (PCH)
 114            Patsburg (PCH)
 115            DH89xxCC (PCH)
 116            Panther Point (PCH)
 117            Lynx Point (PCH)
 118            Lynx Point-LP (PCH)
 119            Avoton (SOC)
 120            Wellsburg (PCH)
 121            Coleto Creek (PCH)
 122            Wildcat Point (PCH)
 123            Wildcat Point-LP (PCH)
 124            BayTrail (SOC)
 125            Sunrise Point-H (PCH)
 126            Sunrise Point-LP (PCH)
 127
 128          This driver can also be built as a module.  If so, the module
 129          will be called i2c-i801.
 130
 131config I2C_ISCH
 132        tristate "Intel SCH SMBus 1.0"
 133        depends on PCI
 134        select LPC_SCH
 135        help
 136          Say Y here if you want to use SMBus controller on the Intel SCH
 137          based systems.
 138
 139          This driver can also be built as a module. If so, the module
 140          will be called i2c-isch.
 141
 142config I2C_ISMT
 143        tristate "Intel iSMT SMBus Controller"
 144        depends on PCI && X86
 145        help
 146          If you say yes to this option, support will be included for the Intel
 147          iSMT SMBus host controller interface.
 148
 149          This driver can also be built as a module.  If so, the module will be
 150          called i2c-ismt.
 151
 152config I2C_PIIX4
 153        tristate "Intel PIIX4 and compatible (ATI/AMD/Serverworks/Broadcom/SMSC)"
 154        depends on PCI
 155        help
 156          If you say yes to this option, support will be included for the Intel
 157          PIIX4 family of mainboard I2C interfaces.  Specifically, the following
 158          versions of the chipset are supported (note that Serverworks is part
 159          of Broadcom):
 160            Intel PIIX4
 161            Intel 440MX
 162            ATI IXP200
 163            ATI IXP300
 164            ATI IXP400
 165            ATI SB600
 166            ATI SB700/SP5100
 167            ATI SB800
 168            AMD Hudson-2
 169            AMD ML
 170            AMD CZ
 171            Serverworks OSB4
 172            Serverworks CSB5
 173            Serverworks CSB6
 174            Serverworks HT-1000
 175            Serverworks HT-1100
 176            SMSC Victory66
 177
 178          Some AMD chipsets contain two PIIX4-compatible SMBus
 179          controllers. This driver will attempt to use both controllers
 180          on the SB700/SP5100, if they have been initialized by the BIOS.
 181
 182          This driver can also be built as a module.  If so, the module
 183          will be called i2c-piix4.
 184
 185config I2C_NFORCE2
 186        tristate "Nvidia nForce2, nForce3 and nForce4"
 187        depends on PCI
 188        help
 189          If you say yes to this option, support will be included for the Nvidia
 190          nForce2, nForce3 and nForce4 families of mainboard I2C interfaces.
 191
 192          This driver can also be built as a module.  If so, the module
 193          will be called i2c-nforce2.
 194
 195config I2C_NFORCE2_S4985
 196        tristate "SMBus multiplexing on the Tyan S4985"
 197        depends on I2C_NFORCE2 && X86
 198        help
 199          Enabling this option will add specific SMBus support for the Tyan
 200          S4985 motherboard.  On this 4-CPU board, the SMBus is multiplexed
 201          over 4 different channels, where the various memory module EEPROMs
 202          live.  Saying yes here will give you access to these in addition
 203          to the trunk.
 204
 205          This driver can also be built as a module.  If so, the module
 206          will be called i2c-nforce2-s4985.
 207
 208config I2C_SIS5595
 209        tristate "SiS 5595"
 210        depends on PCI
 211        help
 212          If you say yes to this option, support will be included for the
 213          SiS5595 SMBus (a subset of I2C) interface.
 214
 215          This driver can also be built as a module.  If so, the module
 216          will be called i2c-sis5595.
 217
 218config I2C_SIS630
 219        tristate "SiS 630/730/964"
 220        depends on PCI
 221        help
 222          If you say yes to this option, support will be included for the
 223          SiS630, SiS730 and SiS964 SMBus (a subset of I2C) interface.
 224
 225          This driver can also be built as a module.  If so, the module
 226          will be called i2c-sis630.
 227
 228config I2C_SIS96X
 229        tristate "SiS 96x"
 230        depends on PCI
 231        help
 232          If you say yes to this option, support will be included for the SiS
 233          96x SMBus (a subset of I2C) interfaces.  Specifically, the following
 234          chipsets are supported:
 235            645/961
 236            645DX/961
 237            645DX/962
 238            648/961
 239            650/961
 240            735
 241            745
 242
 243          This driver can also be built as a module.  If so, the module
 244          will be called i2c-sis96x.
 245
 246config I2C_VIA
 247        tristate "VIA VT82C586B"
 248        depends on PCI
 249        select I2C_ALGOBIT
 250        help
 251          If you say yes to this option, support will be included for the VIA
 252          82C586B I2C interface
 253
 254          This driver can also be built as a module.  If so, the module
 255          will be called i2c-via.
 256
 257config I2C_VIAPRO
 258        tristate "VIA VT82C596/82C686/82xx and CX700/VX8xx/VX900"
 259        depends on PCI
 260        help
 261          If you say yes to this option, support will be included for the VIA
 262          VT82C596 and later SMBus interface.  Specifically, the following
 263          chipsets are supported:
 264            VT82C596A/B
 265            VT82C686A/B
 266            VT8231
 267            VT8233/A
 268            VT8235
 269            VT8237R/A/S
 270            VT8251
 271            CX700
 272            VX800/VX820
 273            VX855/VX875
 274            VX900
 275
 276          This driver can also be built as a module.  If so, the module
 277          will be called i2c-viapro.
 278
 279if ACPI
 280
 281comment "ACPI drivers"
 282
 283config I2C_SCMI
 284        tristate "SMBus Control Method Interface"
 285        help
 286          This driver supports the SMBus Control Method Interface. It needs the
 287          BIOS to declare ACPI control methods as described in the SMBus Control
 288          Method Interface specification.
 289
 290          To compile this driver as a module, choose M here:
 291          the module will be called i2c-scmi.
 292
 293endif # ACPI
 294
 295comment "Mac SMBus host controller drivers"
 296        depends on PPC_CHRP || PPC_PMAC
 297
 298config I2C_HYDRA
 299        tristate "CHRP Apple Hydra Mac I/O I2C interface"
 300        depends on PCI && PPC_CHRP
 301        select I2C_ALGOBIT
 302        help
 303          This supports the use of the I2C interface in the Apple Hydra Mac
 304          I/O chip on some CHRP machines (e.g. the LongTrail).  Say Y if you
 305          have such a machine.
 306
 307          This support is also available as a module.  If so, the module
 308          will be called i2c-hydra.
 309
 310config I2C_POWERMAC
 311        tristate "Powermac I2C interface"
 312        depends on PPC_PMAC
 313        default y
 314        help
 315          This exposes the various PowerMac i2c interfaces to the linux i2c
 316          layer and to userland. It is used by various drivers on the PowerMac
 317          platform, and should generally be enabled.
 318
 319          This support is also available as a module.  If so, the module
 320          will be called i2c-powermac.
 321
 322comment "I2C system bus drivers (mostly embedded / system-on-chip)"
 323
 324config I2C_AT91
 325        tristate "Atmel AT91 I2C Two-Wire interface (TWI)"
 326        depends on ARCH_AT91
 327        help
 328          This supports the use of the I2C interface on Atmel AT91
 329          processors.
 330
 331          A serious problem is that there is no documented way to issue
 332          repeated START conditions for more than two messages, as needed
 333          to support combined I2C messages.  Use the i2c-gpio driver
 334          unless your system can cope with this limitation.
 335
 336          Caution! at91rm9200, at91sam9261, at91sam9260, at91sam9263 devices
 337          don't have clock stretching in transmission mode. For that reason,
 338          you can encounter underrun issues causing premature stop sendings if
 339          the latency to fill the transmission register is too long. If you
 340          are facing this situation, use the i2c-gpio driver.
 341
 342config I2C_AU1550
 343        tristate "Au1550/Au1200/Au1300 SMBus interface"
 344        depends on MIPS_ALCHEMY
 345        help
 346          If you say yes to this option, support will be included for the
 347          Au1550/Au1200/Au1300 SMBus interface.
 348
 349          This driver can also be built as a module.  If so, the module
 350          will be called i2c-au1550.
 351
 352config I2C_AXXIA
 353        tristate "Axxia I2C controller"
 354        depends on ARCH_AXXIA || COMPILE_TEST
 355        default ARCH_AXXIA
 356        help
 357          Say yes if you want to support the I2C bus on Axxia platforms.
 358
 359          Please note that this controller is limited to transfers of maximum
 360          255 bytes in length. Any attempt to to a larger transfer will return
 361          an error.
 362
 363config I2C_BCM2835
 364        tristate "Broadcom BCM2835 I2C controller"
 365        depends on ARCH_BCM2835
 366        help
 367          If you say yes to this option, support will be included for the
 368          BCM2835 I2C controller.
 369
 370          If you don't know what to do here, say N.
 371
 372          This support is also available as a module.  If so, the module
 373          will be called i2c-bcm2835.
 374
 375config I2C_BCM_IPROC
 376        tristate "Broadcom iProc I2C controller"
 377        depends on ARCH_BCM_IPROC || COMPILE_TEST
 378        default ARCH_BCM_IPROC
 379        help
 380          If you say yes to this option, support will be included for the
 381          Broadcom iProc I2C controller.
 382
 383          If you don't know what to do here, say N.
 384
 385config I2C_BCM_KONA
 386        tristate "BCM Kona I2C adapter"
 387        depends on ARCH_BCM_MOBILE
 388        default y
 389        help
 390          If you say yes to this option, support will be included for the
 391          I2C interface on the Broadcom Kona family of processors.
 392
 393          If you do not need KONA I2C interface, say N.
 394
 395config I2C_BRCMSTB
 396        tristate "BRCM Settop I2C controller"
 397        depends on ARCH_BRCMSTB || COMPILE_TEST
 398        default y
 399        help
 400          If you say yes to this option, support will be included for the
 401          I2C interface on the Broadcom Settop SoCs.
 402
 403          If you do not need I2C interface, say N.
 404
 405config I2C_BLACKFIN_TWI
 406        tristate "Blackfin TWI I2C support"
 407        depends on BLACKFIN
 408        depends on !BF561 && !BF531 && !BF532 && !BF533
 409        help
 410          This is the I2C bus driver for Blackfin on-chip TWI interface.
 411
 412          This driver can also be built as a module.  If so, the module
 413          will be called i2c-bfin-twi.
 414
 415config I2C_BLACKFIN_TWI_CLK_KHZ
 416        int "Blackfin TWI I2C clock (kHz)"
 417        depends on I2C_BLACKFIN_TWI
 418        range 21 400
 419        default 50
 420        help
 421          The unit of the TWI clock is kHz.
 422
 423config I2C_CADENCE
 424        tristate "Cadence I2C Controller"
 425        depends on ARCH_ZYNQ
 426        help
 427          Say yes here to select Cadence I2C Host Controller. This controller is
 428          e.g. used by Xilinx Zynq.
 429
 430config I2C_CBUS_GPIO
 431        tristate "CBUS I2C driver"
 432        depends on GPIOLIB || COMPILE_TEST
 433        help
 434          Support for CBUS access using I2C API. Mostly relevant for Nokia
 435          Internet Tablets (770, N800 and N810).
 436
 437          This driver can also be built as a module.  If so, the module
 438          will be called i2c-cbus-gpio.
 439
 440config I2C_CPM
 441        tristate "Freescale CPM1 or CPM2 (MPC8xx/826x)"
 442        depends on CPM1 || CPM2
 443        help
 444          This supports the use of the I2C interface on Freescale
 445          processors with CPM1 or CPM2.
 446
 447          This driver can also be built as a module.  If so, the module
 448          will be called i2c-cpm.
 449
 450config I2C_DAVINCI
 451        tristate "DaVinci I2C driver"
 452        depends on ARCH_DAVINCI || ARCH_KEYSTONE
 453        help
 454          Support for TI DaVinci I2C controller driver.
 455
 456          This driver can also be built as a module.  If so, the module
 457          will be called i2c-davinci.
 458
 459          Please note that this driver might be needed to bring up other
 460          devices such as DaVinci NIC.
 461          For details please see http://www.ti.com/davinci
 462
 463config I2C_DESIGNWARE_CORE
 464        tristate
 465
 466config I2C_DESIGNWARE_PLATFORM
 467        tristate "Synopsys DesignWare Platform"
 468        select I2C_DESIGNWARE_CORE
 469        depends on (ACPI && COMMON_CLK) || !ACPI
 470        help
 471          If you say yes to this option, support will be included for the
 472          Synopsys DesignWare I2C adapter. Only master mode is supported.
 473
 474          This driver can also be built as a module.  If so, the module
 475          will be called i2c-designware-platform.
 476
 477config I2C_DESIGNWARE_PCI
 478        tristate "Synopsys DesignWare PCI"
 479        depends on PCI
 480        select I2C_DESIGNWARE_CORE
 481        help
 482          If you say yes to this option, support will be included for the
 483          Synopsys DesignWare I2C adapter. Only master mode is supported.
 484
 485          This driver can also be built as a module.  If so, the module
 486          will be called i2c-designware-pci.
 487
 488config I2C_DESIGNWARE_BAYTRAIL
 489        bool "Intel Baytrail I2C semaphore support"
 490        depends on I2C_DESIGNWARE_PLATFORM && IOSF_MBI=y && ACPI
 491        help
 492          This driver enables managed host access to the PMIC I2C bus on select
 493          Intel BayTrail platforms using the X-Powers AXP288 PMIC. It allows
 494          the host to request uninterrupted access to the PMIC's I2C bus from
 495          the platform firmware controlling it. You should say Y if running on
 496          a BayTrail system using the AXP288.
 497
 498config I2C_DIGICOLOR
 499        tristate "Conexant Digicolor I2C driver"
 500        depends on ARCH_DIGICOLOR
 501        help
 502          Support for Conexant Digicolor SoCs (CX92755) I2C controller driver.
 503
 504          This driver can also be built as a module.  If so, the module
 505          will be called i2c-digicolor.
 506
 507config I2C_EFM32
 508        tristate "EFM32 I2C controller"
 509        depends on ARCH_EFM32 || COMPILE_TEST
 510        help
 511          This driver supports the i2c block found in Energy Micro's EFM32
 512          SoCs.
 513
 514config I2C_EG20T
 515        tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) I2C"
 516        depends on PCI && (X86_32 || COMPILE_TEST)
 517        help
 518          This driver is for PCH(Platform controller Hub) I2C of EG20T which
 519          is an IOH(Input/Output Hub) for x86 embedded processor.
 520          This driver can access PCH I2C bus device.
 521
 522          This driver also can be used for LAPIS Semiconductor IOH(Input/
 523          Output Hub), ML7213, ML7223 and ML7831.
 524          ML7213 IOH is for IVI(In-Vehicle Infotainment) use, ML7223 IOH is
 525          for MP(Media Phone) use and ML7831 IOH is for general purpose use.
 526          ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series.
 527          ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH.
 528
 529config I2C_EMEV2
 530        tristate "EMMA Mobile series I2C adapter"
 531        depends on HAVE_CLK
 532        help
 533          If you say yes to this option, support will be included for the
 534          I2C interface on the Renesas Electronics EM/EV family of processors.
 535
 536config I2C_EXYNOS5
 537        tristate "Exynos5 high-speed I2C driver"
 538        depends on ARCH_EXYNOS && OF
 539        default y
 540        help
 541          High-speed I2C controller on Exynos5 based Samsung SoCs.
 542
 543config I2C_GPIO
 544        tristate "GPIO-based bitbanging I2C"
 545        depends on GPIOLIB || COMPILE_TEST
 546        select I2C_ALGOBIT
 547        help
 548          This is a very simple bitbanging I2C driver utilizing the
 549          arch-neutral GPIO API to control the SCL and SDA lines.
 550
 551config I2C_HIGHLANDER
 552        tristate "Highlander FPGA SMBus interface"
 553        depends on SH_HIGHLANDER
 554        help
 555          If you say yes to this option, support will be included for
 556          the SMBus interface located in the FPGA on various Highlander
 557          boards, particularly the R0P7780LC0011RL and R0P7785LC0011RL
 558          FPGAs. This is wholly unrelated to the SoC I2C.
 559
 560          This driver can also be built as a module.  If so, the module
 561          will be called i2c-highlander.
 562
 563config I2C_IBM_IIC
 564        tristate "IBM PPC 4xx on-chip I2C interface"
 565        depends on 4xx
 566        help
 567          Say Y here if you want to use IIC peripheral found on
 568          embedded IBM PPC 4xx based systems.
 569
 570          This driver can also be built as a module.  If so, the module
 571          will be called i2c-ibm_iic.
 572
 573config I2C_IMG
 574        tristate "Imagination Technologies I2C SCB Controller"
 575        depends on MIPS || METAG || COMPILE_TEST
 576        help
 577          Say Y here if you want to use the IMG I2C SCB controller,
 578          available on the TZ1090 and other IMG SoCs.
 579
 580          This driver can also be built as a module.  If so, the module
 581          will be called i2c-img-scb.
 582
 583config I2C_IMX
 584        tristate "IMX I2C interface"
 585        depends on ARCH_MXC
 586        help
 587          Say Y here if you want to use the IIC bus controller on
 588          the Freescale i.MX/MXC processors.
 589
 590          This driver can also be built as a module.  If so, the module
 591          will be called i2c-imx.
 592
 593config I2C_IOP3XX
 594        tristate "Intel IOPx3xx and IXP4xx on-chip I2C interface"
 595        depends on ARCH_IOP32X || ARCH_IOP33X || ARCH_IXP4XX || ARCH_IOP13XX
 596        help
 597          Say Y here if you want to use the IIC bus controller on
 598          the Intel IOPx3xx I/O Processors or IXP4xx Network Processors.
 599
 600          This driver can also be built as a module.  If so, the module
 601          will be called i2c-iop3xx.
 602
 603config I2C_JZ4780
 604        tristate "JZ4780 I2C controller interface support"
 605        depends on MACH_JZ4780 || COMPILE_TEST
 606        help
 607         If you say yes to this option, support will be included for the
 608         Ingenic JZ4780 I2C controller.
 609
 610         If you don't know what to do here, say N.
 611
 612config I2C_KEMPLD
 613        tristate "Kontron COM I2C Controller"
 614        depends on MFD_KEMPLD
 615        help
 616          This enables support for the I2C bus interface on some Kontron ETX
 617          and COMexpress (ETXexpress) modules.
 618
 619          This driver can also be built as a module. If so, the module
 620          will be called i2c-kempld.
 621
 622config I2C_LPC2K
 623        tristate "I2C bus support for NXP LPC2K/LPC178x/18xx/43xx"
 624        depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
 625        help
 626          This driver supports the I2C interface found several NXP
 627          devices including LPC2xxx, LPC178x/7x and LPC18xx/43xx.
 628
 629          This driver can also be built as a module.  If so, the module
 630          will be called i2c-lpc2k.
 631
 632config I2C_MESON
 633        tristate "Amlogic Meson I2C controller"
 634        depends on ARCH_MESON
 635        help
 636          If you say yes to this option, support will be included for the
 637          I2C interface on the Amlogic Meson family of SoCs.
 638
 639config I2C_MPC
 640        tristate "MPC107/824x/85xx/512x/52xx/83xx/86xx"
 641        depends on PPC
 642        help
 643          If you say yes to this option, support will be included for the
 644          built-in I2C interface on the MPC107, Tsi107, MPC512x, MPC52xx,
 645          MPC8240, MPC8245, MPC83xx, MPC85xx and MPC8641 family processors.
 646
 647          This driver can also be built as a module.  If so, the module
 648          will be called i2c-mpc.
 649
 650config I2C_MT65XX
 651        tristate "MediaTek I2C adapter"
 652        depends on ARCH_MEDIATEK || COMPILE_TEST
 653        depends on HAS_DMA
 654        help
 655          This selects the MediaTek(R) Integrated Inter Circuit bus driver
 656          for MT65xx and MT81xx.
 657          If you want to use MediaTek(R) I2C interface, say Y or M here.
 658          If unsure, say N.
 659
 660config I2C_MV64XXX
 661        tristate "Marvell mv64xxx I2C Controller"
 662        depends on MV64X60 || PLAT_ORION || ARCH_SUNXI
 663        help
 664          If you say yes to this option, support will be included for the
 665          built-in I2C interface on the Marvell 64xxx line of host bridges.
 666          This driver is also used for Allwinner SoCs I2C controllers.
 667
 668          This driver can also be built as a module.  If so, the module
 669          will be called i2c-mv64xxx.
 670
 671config I2C_MXS
 672        tristate "Freescale i.MX28 I2C interface"
 673        depends on SOC_IMX28
 674        select STMP_DEVICE
 675        help
 676          Say Y here if you want to use the I2C bus controller on
 677          the Freescale i.MX28 processors.
 678
 679          This driver can also be built as a module.  If so, the module
 680          will be called i2c-mxs.
 681
 682config I2C_NOMADIK
 683        tristate "ST-Ericsson Nomadik/Ux500 I2C Controller"
 684        depends on ARM_AMBA
 685        help
 686          If you say yes to this option, support will be included for the
 687          I2C interface from ST-Ericsson's Nomadik and Ux500 architectures,
 688          as well as the STA2X11 PCIe I/O HUB.
 689
 690config I2C_OCORES
 691        tristate "OpenCores I2C Controller"
 692        help
 693          If you say yes to this option, support will be included for the
 694          OpenCores I2C controller. For details see
 695          http://www.opencores.org/projects.cgi/web/i2c/overview
 696
 697          This driver can also be built as a module.  If so, the module
 698          will be called i2c-ocores.
 699
 700config I2C_OMAP
 701        tristate "OMAP I2C adapter"
 702        depends on ARCH_OMAP
 703        default y if MACH_OMAP_H3 || MACH_OMAP_OSK
 704        help
 705          If you say yes to this option, support will be included for the
 706          I2C interface on the Texas Instruments OMAP1/2 family of processors.
 707          Like OMAP1510/1610/1710/5912 and OMAP242x.
 708          For details see http://www.ti.com/omap.
 709
 710config I2C_PASEMI
 711        tristate "PA Semi SMBus interface"
 712        depends on PPC_PASEMI && PCI
 713        help
 714          Supports the PA Semi PWRficient on-chip SMBus interfaces.
 715
 716config I2C_PCA_PLATFORM
 717        tristate "PCA9564/PCA9665 as platform device"
 718        select I2C_ALGOPCA
 719        default n
 720        help
 721          This driver supports a memory mapped Philips PCA9564/PCA9665
 722          parallel bus to I2C bus controller.
 723
 724          This driver can also be built as a module.  If so, the module
 725          will be called i2c-pca-platform.
 726
 727config I2C_PMCMSP
 728        tristate "PMC MSP I2C TWI Controller"
 729        depends on PMC_MSP
 730        help
 731          This driver supports the PMC TWI controller on MSP devices.
 732
 733          This driver can also be built as module. If so, the module
 734          will be called i2c-pmcmsp.
 735
 736config I2C_PNX
 737        tristate "I2C bus support for Philips PNX and NXP LPC targets"
 738        depends on ARCH_LPC32XX
 739        help
 740          This driver supports the Philips IP3204 I2C IP block master and/or
 741          slave controller
 742
 743          This driver can also be built as a module.  If so, the module
 744          will be called i2c-pnx.
 745
 746config I2C_PUV3
 747        tristate "PKUnity v3 I2C bus support"
 748        depends on UNICORE32 && ARCH_PUV3
 749        select I2C_ALGOBIT
 750        help
 751          This driver supports the I2C IP inside the PKUnity-v3 SoC.
 752          This I2C bus controller is under AMBA/AXI bus.
 753
 754          This driver can also be built as a module.  If so, the module
 755          will be called i2c-puv3.
 756
 757config I2C_PXA
 758        tristate "Intel PXA2XX I2C adapter"
 759        depends on ARCH_PXA || ARCH_MMP || (X86_32 && PCI && OF)
 760        help
 761          If you have devices in the PXA I2C bus, say yes to this option.
 762          This driver can also be built as a module.  If so, the module
 763          will be called i2c-pxa.
 764
 765config I2C_PXA_PCI
 766        def_bool I2C_PXA && X86_32 && PCI && OF
 767
 768config I2C_PXA_SLAVE
 769        bool "Intel PXA2XX I2C Slave comms support"
 770        depends on I2C_PXA && !X86_32
 771        help
 772          Support I2C slave mode communications on the PXA I2C bus.  This
 773          is necessary for systems where the PXA may be a target on the
 774          I2C bus.
 775
 776config I2C_QUP
 777        tristate "Qualcomm QUP based I2C controller"
 778        depends on ARCH_QCOM
 779        help
 780          If you say yes to this option, support will be included for the
 781          built-in I2C interface on the Qualcomm SoCs.
 782
 783          This driver can also be built as a module.  If so, the module
 784          will be called i2c-qup.
 785
 786config I2C_RIIC
 787        tristate "Renesas RIIC adapter"
 788        depends on ARCH_SHMOBILE || COMPILE_TEST
 789        help
 790          If you say yes to this option, support will be included for the
 791          Renesas RIIC I2C interface.
 792
 793          This driver can also be built as a module.  If so, the module
 794          will be called i2c-riic.
 795
 796config I2C_RK3X
 797        tristate "Rockchip RK3xxx I2C adapter"
 798        depends on OF && COMMON_CLK
 799        help
 800          Say Y here to include support for the I2C adapter in Rockchip RK3xxx
 801          SoCs.
 802
 803          This driver can also be built as a module. If so, the module will
 804          be called i2c-rk3x.
 805
 806config HAVE_S3C2410_I2C
 807        bool
 808        help
 809          This will include I2C support for Samsung SoCs. If you want to
 810          include I2C support for any machine, kindly select this in the
 811          respective Kconfig file.
 812
 813config I2C_S3C2410
 814        tristate "S3C2410 I2C Driver"
 815        depends on HAVE_S3C2410_I2C
 816        help
 817          Say Y here to include support for I2C controller in the
 818          Samsung SoCs.
 819
 820config I2C_SH7760
 821        tristate "Renesas SH7760 I2C Controller"
 822        depends on CPU_SUBTYPE_SH7760
 823        help
 824          This driver supports the 2 I2C interfaces on the Renesas SH7760.
 825
 826          This driver can also be built as a module.  If so, the module
 827          will be called i2c-sh7760.
 828
 829config I2C_SH_MOBILE
 830        tristate "SuperH Mobile I2C Controller"
 831        depends on HAS_DMA
 832        depends on SUPERH || ARCH_SHMOBILE || COMPILE_TEST
 833        help
 834          If you say yes to this option, support will be included for the
 835          built-in I2C interface on the Renesas SH-Mobile processor.
 836
 837          This driver can also be built as a module.  If so, the module
 838          will be called i2c-sh_mobile.
 839
 840config I2C_SIMTEC
 841        tristate "Simtec Generic I2C interface"
 842        select I2C_ALGOBIT
 843        help
 844          If you say yes to this option, support will be included for
 845          the Simtec Generic I2C interface. This driver is for the
 846          simple I2C bus used on newer Simtec products for general
 847          I2C, such as DDC on the Simtec BBD2016A.
 848
 849          This driver can also be built as a module. If so, the module
 850          will be called i2c-simtec.
 851
 852config I2C_SIRF
 853        tristate "CSR SiRFprimaII I2C interface"
 854        depends on ARCH_SIRF
 855        help
 856          If you say yes to this option, support will be included for the
 857          CSR SiRFprimaII I2C interface.
 858
 859          This driver can also be built as a module.  If so, the module
 860          will be called i2c-sirf.
 861
 862config I2C_ST
 863        tristate "STMicroelectronics SSC I2C support"
 864        depends on ARCH_STI
 865        help
 866          Enable this option to add support for STMicroelectronics SoCs
 867          hardware SSC (Synchronous Serial Controller) as an I2C controller.
 868
 869          This driver can also be built as module. If so, the module
 870          will be called i2c-st.
 871
 872config I2C_STU300
 873        tristate "ST Microelectronics DDC I2C interface"
 874        depends on MACH_U300
 875        default y if MACH_U300
 876        help
 877          If you say yes to this option, support will be included for the
 878          I2C interface from ST Microelectronics simply called "DDC I2C"
 879          supporting both I2C and DDC, used in e.g. the U300 series
 880          mobile platforms.
 881
 882          This driver can also be built as a module. If so, the module
 883          will be called i2c-stu300.
 884
 885config I2C_SUN6I_P2WI
 886        tristate "Allwinner sun6i internal P2WI controller"
 887        depends on RESET_CONTROLLER
 888        depends on MACH_SUN6I || COMPILE_TEST
 889        help
 890          If you say yes to this option, support will be included for the
 891          P2WI (Push/Pull 2 Wire Interface) controller embedded in some sunxi
 892          SOCs.
 893          The P2WI looks like an SMBus controller (which supports only byte
 894          accesses), except that it only supports one slave device.
 895          This interface is used to connect to specific PMIC devices (like the
 896          AXP221).
 897
 898config I2C_TEGRA
 899        tristate "NVIDIA Tegra internal I2C controller"
 900        depends on ARCH_TEGRA
 901        help
 902          If you say yes to this option, support will be included for the
 903          I2C controller embedded in NVIDIA Tegra SOCs
 904
 905config I2C_VERSATILE
 906        tristate "ARM Versatile/Realview I2C bus support"
 907        depends on ARCH_VERSATILE || ARCH_REALVIEW || ARCH_VEXPRESS
 908        select I2C_ALGOBIT
 909        help
 910          Say yes if you want to support the I2C serial bus on ARMs Versatile
 911          range of platforms.
 912
 913          This driver can also be built as a module.  If so, the module
 914          will be called i2c-versatile.
 915
 916config I2C_WMT
 917        tristate "Wondermedia WM8xxx SoC I2C bus support"
 918        depends on ARCH_VT8500
 919        help
 920          Say yes if you want to support the I2C bus on Wondermedia 8xxx-series
 921          SoCs.
 922
 923          This driver can also be built as a module. If so, the module will be
 924          called i2c-wmt.
 925
 926config I2C_OCTEON
 927        tristate "Cavium OCTEON I2C bus support"
 928        depends on CAVIUM_OCTEON_SOC
 929        help
 930          Say yes if you want to support the I2C serial bus on Cavium
 931          OCTEON SOC.
 932
 933          This driver can also be built as a module.  If so, the module
 934          will be called i2c-octeon.
 935
 936config I2C_XILINX
 937        tristate "Xilinx I2C Controller"
 938        depends on HAS_IOMEM
 939        help
 940          If you say yes to this option, support will be included for the
 941          Xilinx I2C controller.
 942
 943          This driver can also be built as a module.  If so, the module
 944          will be called xilinx_i2c.
 945
 946config I2C_XLR
 947        tristate "XLR I2C support"
 948        depends on CPU_XLR
 949        help
 950          This driver enables support for the on-chip I2C interface of
 951          the Netlogic XLR/XLS MIPS processors.
 952
 953          This driver can also be built as a module.  If so, the module
 954          will be called i2c-xlr.
 955
 956config I2C_XLP9XX
 957        tristate "XLP9XX I2C support"
 958        depends on CPU_XLP || COMPILE_TEST
 959        help
 960          This driver enables support for the on-chip I2C interface of
 961          the Broadcom XLP9xx/XLP5xx MIPS processors.
 962
 963          This driver can also be built as a module.  If so, the module will
 964          be called i2c-xlp9xx.
 965
 966config I2C_RCAR
 967        tristate "Renesas R-Car I2C Controller"
 968        depends on ARCH_SHMOBILE || COMPILE_TEST
 969        select I2C_SLAVE
 970        help
 971          If you say yes to this option, support will be included for the
 972          R-Car I2C controller.
 973
 974          This driver can also be built as a module.  If so, the module
 975          will be called i2c-rcar.
 976
 977comment "External I2C/SMBus adapter drivers"
 978
 979config I2C_DIOLAN_U2C
 980        tristate "Diolan U2C-12 USB adapter"
 981        depends on USB
 982        help
 983          If you say yes to this option, support will be included for Diolan
 984          U2C-12, a USB to I2C interface.
 985
 986          This driver can also be built as a module.  If so, the module
 987          will be called i2c-diolan-u2c.
 988
 989config I2C_DLN2
 990       tristate "Diolan DLN-2 USB I2C adapter"
 991       depends on MFD_DLN2
 992       help
 993         If you say yes to this option, support will be included for Diolan
 994         DLN2, a USB to I2C interface.
 995
 996         This driver can also be built as a module.  If so, the module
 997         will be called i2c-dln2.
 998
 999config I2C_PARPORT
1000        tristate "Parallel port adapter"
1001        depends on PARPORT
1002        select I2C_ALGOBIT
1003        select I2C_SMBUS
1004        help
1005          This supports parallel port I2C adapters such as the ones made by
1006          Philips or Velleman, Analog Devices evaluation boards, and more.
1007          Basically any adapter using the parallel port as an I2C bus with
1008          no extra chipset is supported by this driver, or could be.
1009
1010          This driver is a replacement for (and was inspired by) an older
1011          driver named i2c-philips-par.  The new driver supports more devices,
1012          and makes it easier to add support for new devices.
1013
1014          An adapter type parameter is now mandatory.  Please read the file
1015          Documentation/i2c/busses/i2c-parport for details.
1016
1017          Another driver exists, named i2c-parport-light, which doesn't depend
1018          on the parport driver.  This is meant for embedded systems. Don't say
1019          Y here if you intend to say Y or M there.
1020
1021          This support is also available as a module.  If so, the module
1022          will be called i2c-parport.
1023
1024config I2C_PARPORT_LIGHT
1025        tristate "Parallel port adapter (light)"
1026        select I2C_ALGOBIT
1027        select I2C_SMBUS
1028        help
1029          This supports parallel port I2C adapters such as the ones made by
1030          Philips or Velleman, Analog Devices evaluation boards, and more.
1031          Basically any adapter using the parallel port as an I2C bus with
1032          no extra chipset is supported by this driver, or could be.
1033
1034          This driver is a light version of i2c-parport.  It doesn't depend
1035          on the parport driver, and uses direct I/O access instead.  This
1036          might be preferred on embedded systems where wasting memory for
1037          the clean but heavy parport handling is not an option.  The
1038          drawback is a reduced portability and the impossibility to
1039          daisy-chain other parallel port devices.
1040
1041          Don't say Y here if you said Y or M to i2c-parport.  Saying M to
1042          both is possible but both modules should not be loaded at the same
1043          time.
1044
1045          This support is also available as a module.  If so, the module
1046          will be called i2c-parport-light.
1047
1048config I2C_ROBOTFUZZ_OSIF
1049        tristate "RobotFuzz Open Source InterFace USB adapter"
1050        depends on USB
1051        help
1052          If you say yes to this option, support will be included for the
1053          RobotFuzz Open Source InterFace USB to I2C interface.
1054
1055          This driver can also be built as a module.  If so, the module
1056          will be called i2c-osif.
1057
1058config I2C_TAOS_EVM
1059        tristate "TAOS evaluation module"
1060        depends on TTY
1061        select SERIO
1062        select SERIO_SERPORT
1063        default n
1064        help
1065          This supports TAOS evaluation modules on serial port. In order to
1066          use this driver, you will need the inputattach tool, which is part
1067          of the input-utils package.
1068
1069          If unsure, say N.
1070
1071          This support is also available as a module.  If so, the module
1072          will be called i2c-taos-evm.
1073
1074config I2C_TINY_USB
1075        tristate "Tiny-USB adapter"
1076        depends on USB
1077        help
1078          If you say yes to this option, support will be included for the
1079          i2c-tiny-usb, a simple do-it-yourself USB to I2C interface. See
1080          http://www.harbaum.org/till/i2c_tiny_usb for hardware details.
1081
1082          This driver can also be built as a module.  If so, the module
1083          will be called i2c-tiny-usb.
1084
1085config I2C_VIPERBOARD
1086        tristate "Viperboard I2C master support"
1087        depends on MFD_VIPERBOARD && USB
1088        help
1089          Say yes here to access the I2C part of the Nano River
1090          Technologies Viperboard as I2C master.
1091          See viperboard API specification and Nano
1092          River Tech's viperboard.h for detailed meaning
1093          of the module parameters.
1094
1095comment "Other I2C/SMBus bus drivers"
1096
1097config I2C_ACORN
1098        tristate "Acorn IOC/IOMD I2C bus support"
1099        depends on ARCH_ACORN
1100        default y
1101        select I2C_ALGOBIT
1102        help
1103          Say yes if you want to support the I2C bus on Acorn platforms.
1104
1105          If you don't know, say Y.
1106
1107config I2C_ELEKTOR
1108        tristate "Elektor ISA card"
1109        depends on ISA && HAS_IOPORT_MAP && BROKEN_ON_SMP
1110        select I2C_ALGOPCF
1111        help
1112          This supports the PCF8584 ISA bus I2C adapter.  Say Y if you own
1113          such an adapter.
1114
1115          This support is also available as a module.  If so, the module
1116          will be called i2c-elektor.
1117
1118config I2C_PCA_ISA
1119        tristate "PCA9564/PCA9665 on an ISA bus"
1120        depends on ISA
1121        select I2C_ALGOPCA
1122        default n
1123        help
1124          This driver supports ISA boards using the Philips PCA9564/PCA9665
1125          parallel bus to I2C bus controller.
1126
1127          This driver can also be built as a module.  If so, the module
1128          will be called i2c-pca-isa.
1129
1130          This device is almost undetectable and using this driver on a
1131          system which doesn't have this device will result in long
1132          delays when I2C/SMBus chip drivers are loaded (e.g. at boot
1133          time).  If unsure, say N.
1134
1135config I2C_SIBYTE
1136        tristate "SiByte SMBus interface"
1137        depends on SIBYTE_SB1xxx_SOC
1138        help
1139          Supports the SiByte SOC on-chip I2C interfaces (2 channels).
1140
1141config I2C_CROS_EC_TUNNEL
1142        tristate "ChromeOS EC tunnel I2C bus"
1143        depends on MFD_CROS_EC
1144        help
1145          If you say yes here you get an I2C bus that will tunnel i2c commands
1146          through to the other side of the ChromeOS EC to the i2c bus
1147          connected there. This will work whatever the interface used to
1148          talk to the EC (SPI, I2C or LPC).
1149
1150config I2C_XGENE_SLIMPRO
1151        tristate "APM X-Gene SoC I2C SLIMpro devices support"
1152        depends on ARCH_XGENE && MAILBOX
1153        help
1154          Enable I2C bus access using the APM X-Gene SoC SLIMpro
1155          co-processor. The I2C device access the I2C bus via the X-Gene
1156          to SLIMpro (On chip coprocessor) mailbox mechanism.
1157          If unsure, say N.
1158
1159config SCx200_ACB
1160        tristate "Geode ACCESS.bus support"
1161        depends on X86_32 && PCI
1162        help
1163          Enable the use of the ACCESS.bus controllers on the Geode SCx200 and
1164          SC1100 processors and the CS5535 and CS5536 Geode companion devices.
1165
1166          If you don't know what to do here, say N.
1167
1168          This support is also available as a module.  If so, the module
1169          will be called scx200_acb.
1170
1171config I2C_OPAL
1172        tristate "IBM OPAL I2C driver"
1173        depends on PPC_POWERNV
1174        default y
1175        help
1176          This exposes the PowerNV platform i2c busses to the linux i2c layer,
1177          the driver is based on the OPAL interfaces.
1178
1179          This driver can also be built as a module. If so, the module will be
1180          called as i2c-opal.
1181
1182endmenu
1183