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