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 default y 937 help 938 If you say yes to this option, support will be included for the I2C 939 controller embedded in NVIDIA Tegra SoCs accessed via the BPMP. 940 941 This I2C driver is a 'virtual' I2C driver. The real driver is part 942 of the BPMP firmware, and this driver merely communicates with that 943 real driver. 944 945config I2C_UNIPHIER 946 tristate "UniPhier FIFO-less I2C controller" 947 depends on ARCH_UNIPHIER || COMPILE_TEST 948 help 949 If you say yes to this option, support will be included for 950 the UniPhier FIFO-less I2C interface embedded in PH1-LD4, PH1-sLD8, 951 or older UniPhier SoCs. 952 953config I2C_UNIPHIER_F 954 tristate "UniPhier FIFO-builtin I2C controller" 955 depends on ARCH_UNIPHIER || COMPILE_TEST 956 help 957 If you say yes to this option, support will be included for 958 the UniPhier FIFO-builtin I2C interface embedded in PH1-Pro4, 959 PH1-Pro5, or newer UniPhier SoCs. 960 961config I2C_VERSATILE 962 tristate "ARM Versatile/Realview I2C bus support" 963 depends on ARCH_VERSATILE || ARCH_REALVIEW || ARCH_VEXPRESS || COMPILE_TEST 964 select I2C_ALGOBIT 965 help 966 Say yes if you want to support the I2C serial bus on ARMs Versatile 967 range of platforms. 968 969 This driver can also be built as a module. If so, the module 970 will be called i2c-versatile. 971 972config I2C_WMT 973 tristate "Wondermedia WM8xxx SoC I2C bus support" 974 depends on ARCH_VT8500 975 help 976 Say yes if you want to support the I2C bus on Wondermedia 8xxx-series 977 SoCs. 978 979 This driver can also be built as a module. If so, the module will be 980 called i2c-wmt. 981 982config I2C_OCTEON 983 tristate "Cavium OCTEON I2C bus support" 984 depends on CAVIUM_OCTEON_SOC 985 help 986 Say yes if you want to support the I2C serial bus on Cavium 987 OCTEON SOC. 988 989 This driver can also be built as a module. If so, the module 990 will be called i2c-octeon. 991 992config I2C_THUNDERX 993 tristate "Cavium ThunderX I2C bus support" 994 depends on 64BIT && PCI && (ARM64 || COMPILE_TEST) 995 select I2C_SMBUS 996 help 997 Say yes if you want to support the I2C serial bus on Cavium 998 ThunderX SOC. 999 1000 This driver can also be built as a module. If so, the module 1001 will be called i2c-thunderx. 1002 1003config I2C_XILINX 1004 tristate "Xilinx I2C Controller" 1005 depends on HAS_IOMEM 1006 help 1007 If you say yes to this option, support will be included for the 1008 Xilinx I2C controller. 1009 1010 This driver can also be built as a module. If so, the module 1011 will be called xilinx_i2c. 1012 1013config I2C_XLR 1014 tristate "Netlogic XLR and Sigma Designs I2C support" 1015 depends on CPU_XLR || ARCH_TANGO 1016 help 1017 This driver enables support for the on-chip I2C interface of 1018 the Netlogic XLR/XLS MIPS processors and Sigma Designs SOCs. 1019 1020 This driver can also be built as a module. If so, the module 1021 will be called i2c-xlr. 1022 1023config I2C_XLP9XX 1024 tristate "XLP9XX I2C support" 1025 depends on CPU_XLP || ARCH_THUNDER2 || COMPILE_TEST 1026 help 1027 This driver enables support for the on-chip I2C interface of 1028 the Broadcom XLP9xx/XLP5xx MIPS and Vulcan ARM64 processors. 1029 1030 This driver can also be built as a module. If so, the module will 1031 be called i2c-xlp9xx. 1032 1033config I2C_RCAR 1034 tristate "Renesas R-Car I2C Controller" 1035 depends on HAS_DMA 1036 depends on ARCH_RENESAS || COMPILE_TEST 1037 select I2C_SLAVE 1038 help 1039 If you say yes to this option, support will be included for the 1040 R-Car I2C controller. 1041 1042 This driver can also be built as a module. If so, the module 1043 will be called i2c-rcar. 1044 1045comment "External I2C/SMBus adapter drivers" 1046 1047config I2C_DIOLAN_U2C 1048 tristate "Diolan U2C-12 USB adapter" 1049 depends on USB 1050 help 1051 If you say yes to this option, support will be included for Diolan 1052 U2C-12, a USB to I2C interface. 1053 1054 This driver can also be built as a module. If so, the module 1055 will be called i2c-diolan-u2c. 1056 1057config I2C_DLN2 1058 tristate "Diolan DLN-2 USB I2C adapter" 1059 depends on MFD_DLN2 1060 help 1061 If you say yes to this option, support will be included for Diolan 1062 DLN2, a USB to I2C interface. 1063 1064 This driver can also be built as a module. If so, the module 1065 will be called i2c-dln2. 1066 1067config I2C_PARPORT 1068 tristate "Parallel port adapter" 1069 depends on PARPORT 1070 select I2C_ALGOBIT 1071 select I2C_SMBUS 1072 help 1073 This supports parallel port I2C adapters such as the ones made by 1074 Philips or Velleman, Analog Devices evaluation boards, and more. 1075 Basically any adapter using the parallel port as an I2C bus with 1076 no extra chipset is supported by this driver, or could be. 1077 1078 This driver is a replacement for (and was inspired by) an older 1079 driver named i2c-philips-par. The new driver supports more devices, 1080 and makes it easier to add support for new devices. 1081 1082 An adapter type parameter is now mandatory. Please read the file 1083 Documentation/i2c/busses/i2c-parport for details. 1084 1085 Another driver exists, named i2c-parport-light, which doesn't depend 1086 on the parport driver. This is meant for embedded systems. Don't say 1087 Y here if you intend to say Y or M there. 1088 1089 This support is also available as a module. If so, the module 1090 will be called i2c-parport. 1091 1092config I2C_PARPORT_LIGHT 1093 tristate "Parallel port adapter (light)" 1094 select I2C_ALGOBIT 1095 select I2C_SMBUS 1096 help 1097 This supports parallel port I2C adapters such as the ones made by 1098 Philips or Velleman, Analog Devices evaluation boards, and more. 1099 Basically any adapter using the parallel port as an I2C bus with 1100 no extra chipset is supported by this driver, or could be. 1101 1102 This driver is a light version of i2c-parport. It doesn't depend 1103 on the parport driver, and uses direct I/O access instead. This 1104 might be preferred on embedded systems where wasting memory for 1105 the clean but heavy parport handling is not an option. The 1106 drawback is a reduced portability and the impossibility to 1107 daisy-chain other parallel port devices. 1108 1109 Don't say Y here if you said Y or M to i2c-parport. Saying M to 1110 both is possible but both modules should not be loaded at the same 1111 time. 1112 1113 This support is also available as a module. If so, the module 1114 will be called i2c-parport-light. 1115 1116config I2C_ROBOTFUZZ_OSIF 1117 tristate "RobotFuzz Open Source InterFace USB adapter" 1118 depends on USB 1119 help 1120 If you say yes to this option, support will be included for the 1121 RobotFuzz Open Source InterFace USB to I2C interface. 1122 1123 This driver can also be built as a module. If so, the module 1124 will be called i2c-osif. 1125 1126config I2C_TAOS_EVM 1127 tristate "TAOS evaluation module" 1128 depends on TTY 1129 select SERIO 1130 select SERIO_SERPORT 1131 default n 1132 help 1133 This supports TAOS evaluation modules on serial port. In order to 1134 use this driver, you will need the inputattach tool, which is part 1135 of the input-utils package. 1136 1137 If unsure, say N. 1138 1139 This support is also available as a module. If so, the module 1140 will be called i2c-taos-evm. 1141 1142config I2C_TINY_USB 1143 tristate "Tiny-USB adapter" 1144 depends on USB 1145 help 1146 If you say yes to this option, support will be included for the 1147 i2c-tiny-usb, a simple do-it-yourself USB to I2C interface. See 1148 http://www.harbaum.org/till/i2c_tiny_usb for hardware details. 1149 1150 This driver can also be built as a module. If so, the module 1151 will be called i2c-tiny-usb. 1152 1153config I2C_VIPERBOARD 1154 tristate "Viperboard I2C master support" 1155 depends on MFD_VIPERBOARD && USB 1156 help 1157 Say yes here to access the I2C part of the Nano River 1158 Technologies Viperboard as I2C master. 1159 See viperboard API specification and Nano 1160 River Tech's viperboard.h for detailed meaning 1161 of the module parameters. 1162 1163comment "Other I2C/SMBus bus drivers" 1164 1165config I2C_ACORN 1166 tristate "Acorn IOC/IOMD I2C bus support" 1167 depends on ARCH_ACORN 1168 default y 1169 select I2C_ALGOBIT 1170 help 1171 Say yes if you want to support the I2C bus on Acorn platforms. 1172 1173 If you don't know, say Y. 1174 1175config I2C_ELEKTOR 1176 tristate "Elektor ISA card" 1177 depends on ISA && HAS_IOPORT_MAP && BROKEN_ON_SMP 1178 select I2C_ALGOPCF 1179 help 1180 This supports the PCF8584 ISA bus I2C adapter. Say Y if you own 1181 such an adapter. 1182 1183 This support is also available as a module. If so, the module 1184 will be called i2c-elektor. 1185 1186config I2C_MLXCPLD 1187 tristate "Mellanox I2C driver" 1188 depends on X86_64 1189 help 1190 This exposes the Mellanox platform I2C busses to the linux I2C layer 1191 for X86 based systems. 1192 Controller is implemented as CPLD logic. 1193 1194 This driver can also be built as a module. If so, the module will be 1195 called as i2c-mlxcpld. 1196 1197config I2C_PCA_ISA 1198 tristate "PCA9564/PCA9665 on an ISA bus" 1199 depends on ISA 1200 select I2C_ALGOPCA 1201 default n 1202 help 1203 This driver supports ISA boards using the Philips PCA9564/PCA9665 1204 parallel bus to I2C bus controller. 1205 1206 This driver can also be built as a module. If so, the module 1207 will be called i2c-pca-isa. 1208 1209 This device is almost undetectable and using this driver on a 1210 system which doesn't have this device will result in long 1211 delays when I2C/SMBus chip drivers are loaded (e.g. at boot 1212 time). If unsure, say N. 1213 1214config I2C_SIBYTE 1215 tristate "SiByte SMBus interface" 1216 depends on SIBYTE_SB1xxx_SOC 1217 help 1218 Supports the SiByte SOC on-chip I2C interfaces (2 channels). 1219 1220config I2C_CROS_EC_TUNNEL 1221 tristate "ChromeOS EC tunnel I2C bus" 1222 depends on MFD_CROS_EC 1223 help 1224 If you say yes here you get an I2C bus that will tunnel i2c commands 1225 through to the other side of the ChromeOS EC to the i2c bus 1226 connected there. This will work whatever the interface used to 1227 talk to the EC (SPI, I2C or LPC). 1228 1229config I2C_XGENE_SLIMPRO 1230 tristate "APM X-Gene SoC I2C SLIMpro devices support" 1231 depends on ARCH_XGENE && MAILBOX 1232 help 1233 Enable I2C bus access using the APM X-Gene SoC SLIMpro 1234 co-processor. The I2C device access the I2C bus via the X-Gene 1235 to SLIMpro (On chip coprocessor) mailbox mechanism. 1236 If unsure, say N. 1237 1238config SCx200_ACB 1239 tristate "Geode ACCESS.bus support" 1240 depends on X86_32 && PCI 1241 help 1242 Enable the use of the ACCESS.bus controllers on the Geode SCx200 and 1243 SC1100 processors and the CS5535 and CS5536 Geode companion devices. 1244 1245 If you don't know what to do here, say N. 1246 1247 This support is also available as a module. If so, the module 1248 will be called scx200_acb. 1249 1250config I2C_OPAL 1251 tristate "IBM OPAL I2C driver" 1252 depends on PPC_POWERNV 1253 default y 1254 help 1255 This exposes the PowerNV platform i2c busses to the linux i2c layer, 1256 the driver is based on the OPAL interfaces. 1257 1258 This driver can also be built as a module. If so, the module will be 1259 called as i2c-opal. 1260 1261endmenu 1262