2 # Sensor device configuration
5 menu "I2C Hardware Bus support"
8 comment "PC SMBus host controller drivers"
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).
20 This driver can also be built as a module. If so, the module
21 will be called i2c-ali1535.
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).
32 This driver can also be built as a module. If so, the module
33 will be called i2c-ali1563.
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.
42 This driver can also be built as a module. If so, the module
43 will be called i2c-ali15x3.
46 tristate "AMD 756/766/768/8111 and nVidia nForce"
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.
54 This driver can also be built as a module. If so, the module
55 will be called i2c-amd756.
57 config I2C_AMD756_S4882
58 tristate "SMBus multiplexing on the Tyan S4882"
59 depends on I2C_AMD756 && X86
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.
67 This driver can also be built as a module. If so, the module
68 will be called i2c-amd756-s4882.
74 If you say yes to this option, support will be included for the
75 second (SMBus 2.0) AMD 8111 mainboard I2C interface.
77 This driver can also be built as a module. If so, the module
78 will be called i2c-amd8111.
81 tristate "Hix5hd2 high-speed I2C driver"
82 depends on ARCH_HISI || ARCH_HIX5HD2 || COMPILE_TEST
84 Say Y here to include support for the high-speed I2C controller
85 used in HiSilicon hix5hd2 SoCs.
87 This driver can also be built as a module. If so, the module
88 will be called i2c-hix5hd2.
91 tristate "Intel 82801 (ICH/PCH)"
93 select CHECK_SIGNATURE if X86 && DMI
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:
104 82801EB/ER (ICH5/ICH5R)
136 This driver can also be built as a module. If so, the module
137 will be called i2c-i801.
140 tristate "Intel SCH SMBus 1.0"
144 Say Y here if you want to use SMBus controller on the Intel SCH
147 This driver can also be built as a module. If so, the module
148 will be called i2c-isch.
151 tristate "Intel iSMT SMBus Controller"
152 depends on PCI && X86
154 If you say yes to this option, support will be included for the Intel
155 iSMT SMBus host controller interface.
157 This driver can also be built as a module. If so, the module will be
161 tristate "Intel PIIX4 and compatible (ATI/AMD/Serverworks/Broadcom/SMSC)"
164 If you say yes to this option, support will be included for the Intel
165 PIIX4 family of mainboard I2C interfaces. Specifically, the following
166 versions of the chipset are supported (note that Serverworks is part
186 Some AMD chipsets contain two PIIX4-compatible SMBus
187 controllers. This driver will attempt to use both controllers
188 on the SB700/SP5100, if they have been initialized by the BIOS.
190 This driver can also be built as a module. If so, the module
191 will be called i2c-piix4.
194 tristate "Intel Cherry Trail Whiskey Cove PMIC smbus controller"
195 depends on INTEL_SOC_PMIC_CHTWC
197 If you say yes to this option, support will be included for the
198 SMBus controller found in the Intel Cherry Trail Whiskey Cove PMIC
199 found on some Intel Cherry Trail systems.
201 Note this controller is hooked up to a TI bq24292i charger-IC,
202 combined with a FUSB302 Type-C port-controller as such it is advised
203 to also select CONFIG_TYPEC_FUSB302=m.
206 tristate "Nvidia nForce2, nForce3 and nForce4"
209 If you say yes to this option, support will be included for the Nvidia
210 nForce2, nForce3 and nForce4 families of mainboard I2C interfaces.
212 This driver can also be built as a module. If so, the module
213 will be called i2c-nforce2.
215 config I2C_NFORCE2_S4985
216 tristate "SMBus multiplexing on the Tyan S4985"
217 depends on I2C_NFORCE2 && X86
219 Enabling this option will add specific SMBus support for the Tyan
220 S4985 motherboard. On this 4-CPU board, the SMBus is multiplexed
221 over 4 different channels, where the various memory module EEPROMs
222 live. Saying yes here will give you access to these in addition
225 This driver can also be built as a module. If so, the module
226 will be called i2c-nforce2-s4985.
228 config I2C_NVIDIA_GPU
229 tristate "NVIDIA GPU I2C controller"
232 If you say yes to this option, support will be included for the
233 NVIDIA GPU I2C controller which is used to communicate with the GPU's
234 Type-C controller. This driver can also be built as a module called
241 If you say yes to this option, support will be included for the
242 SiS5595 SMBus (a subset of I2C) interface.
244 This driver can also be built as a module. If so, the module
245 will be called i2c-sis5595.
248 tristate "SiS 630/730/964"
251 If you say yes to this option, support will be included for the
252 SiS630, SiS730 and SiS964 SMBus (a subset of I2C) interface.
254 This driver can also be built as a module. If so, the module
255 will be called i2c-sis630.
261 If you say yes to this option, support will be included for the SiS
262 96x SMBus (a subset of I2C) interfaces. Specifically, the following
263 chipsets are supported:
272 This driver can also be built as a module. If so, the module
273 will be called i2c-sis96x.
276 tristate "VIA VT82C586B"
280 If you say yes to this option, support will be included for the VIA
281 82C586B I2C interface
283 This driver can also be built as a module. If so, the module
284 will be called i2c-via.
287 tristate "VIA VT82C596/82C686/82xx and CX700/VX8xx/VX900"
290 If you say yes to this option, support will be included for the VIA
291 VT82C596 and later SMBus interface. Specifically, the following
292 chipsets are supported:
305 This driver can also be built as a module. If so, the module
306 will be called i2c-viapro.
310 comment "ACPI drivers"
313 tristate "SMBus Control Method Interface"
315 This driver supports the SMBus Control Method Interface. It needs the
316 BIOS to declare ACPI control methods as described in the SMBus Control
317 Method Interface specification.
319 To compile this driver as a module, choose M here:
320 the module will be called i2c-scmi.
324 comment "Mac SMBus host controller drivers"
325 depends on PPC_CHRP || PPC_PMAC
328 tristate "CHRP Apple Hydra Mac I/O I2C interface"
329 depends on PCI && PPC_CHRP
332 This supports the use of the I2C interface in the Apple Hydra Mac
333 I/O chip on some CHRP machines (e.g. the LongTrail). Say Y if you
336 This support is also available as a module. If so, the module
337 will be called i2c-hydra.
340 tristate "Powermac I2C interface"
344 This exposes the various PowerMac i2c interfaces to the linux i2c
345 layer and to userland. It is used by various drivers on the PowerMac
346 platform, and should generally be enabled.
348 This support is also available as a module. If so, the module
349 will be called i2c-powermac.
351 comment "I2C system bus drivers (mostly embedded / system-on-chip)"
354 tristate "Altera Soft IP I2C"
355 depends on (ARCH_SOCFPGA || NIOS2) && OF
357 If you say yes to this option, support will be included for the
358 Altera Soft IP I2C interfaces on SoCFPGA and Nios2 architectures.
360 This driver can also be built as a module. If so, the module
361 will be called i2c-altera.
364 tristate "Aspeed I2C Controller"
365 depends on ARCH_ASPEED || COMPILE_TEST
367 If you say yes to this option, support will be included for the
368 Aspeed I2C controller.
370 This driver can also be built as a module. If so, the module
371 will be called i2c-aspeed.
374 tristate "Atmel AT91 I2C Two-Wire interface (TWI)"
377 This supports the use of the I2C interface on Atmel AT91
380 A serious problem is that there is no documented way to issue
381 repeated START conditions for more than two messages, as needed
382 to support combined I2C messages. Use the i2c-gpio driver
383 unless your system can cope with this limitation.
385 Caution! at91rm9200, at91sam9261, at91sam9260, at91sam9263 devices
386 don't have clock stretching in transmission mode. For that reason,
387 you can encounter underrun issues causing premature stop sendings if
388 the latency to fill the transmission register is too long. If you
389 are facing this situation, use the i2c-gpio driver.
392 tristate "Au1550/Au1200/Au1300 SMBus interface"
393 depends on MIPS_ALCHEMY
395 If you say yes to this option, support will be included for the
396 Au1550/Au1200/Au1300 SMBus interface.
398 This driver can also be built as a module. If so, the module
399 will be called i2c-au1550.
402 tristate "Axxia I2C controller"
403 depends on ARCH_AXXIA || COMPILE_TEST
406 Say yes if you want to support the I2C bus on Axxia platforms.
408 Please note that this controller is limited to transfers of maximum
409 255 bytes in length. Any attempt to to a larger transfer will return
413 tristate "Broadcom BCM2835 I2C controller"
414 depends on ARCH_BCM2835
416 If you say yes to this option, support will be included for the
417 BCM2835 I2C controller.
419 If you don't know what to do here, say N.
421 This support is also available as a module. If so, the module
422 will be called i2c-bcm2835.
425 tristate "Broadcom iProc I2C controller"
426 depends on ARCH_BCM_IPROC || COMPILE_TEST
427 default ARCH_BCM_IPROC
429 If you say yes to this option, support will be included for the
430 Broadcom iProc I2C controller.
432 If you don't know what to do here, say N.
435 tristate "BCM Kona I2C adapter"
436 depends on ARCH_BCM_MOBILE
439 If you say yes to this option, support will be included for the
440 I2C interface on the Broadcom Kona family of processors.
442 If you do not need KONA I2C interface, say N.
445 tristate "BRCM Settop/DSL I2C controller"
446 depends on ARCH_BRCMSTB || BMIPS_GENERIC || ARCH_BCM_63XX || \
450 If you say yes to this option, support will be included for the
451 I2C interface on the Broadcom Settop/DSL SoCs.
453 If you do not need I2C interface, say N.
456 tristate "Cadence I2C Controller"
457 depends on ARCH_ZYNQ || ARM64 || XTENSA
459 Say yes here to select Cadence I2C Host Controller. This controller is
460 e.g. used by Xilinx Zynq.
463 tristate "CBUS I2C driver"
464 depends on GPIOLIB || COMPILE_TEST
466 Support for CBUS access using I2C API. Mostly relevant for Nokia
467 Internet Tablets (770, N800 and N810).
469 This driver can also be built as a module. If so, the module
470 will be called i2c-cbus-gpio.
473 tristate "Freescale CPM1 or CPM2 (MPC8xx/826x)"
474 depends on CPM1 || CPM2
476 This supports the use of the I2C interface on Freescale
477 processors with CPM1 or CPM2.
479 This driver can also be built as a module. If so, the module
480 will be called i2c-cpm.
483 tristate "DaVinci I2C driver"
484 depends on ARCH_DAVINCI || ARCH_KEYSTONE
486 Support for TI DaVinci I2C controller driver.
488 This driver can also be built as a module. If so, the module
489 will be called i2c-davinci.
491 Please note that this driver might be needed to bring up other
492 devices such as DaVinci NIC.
493 For details please see http://www.ti.com/davinci
495 config I2C_DESIGNWARE_CORE
498 config I2C_DESIGNWARE_PLATFORM
499 tristate "Synopsys DesignWare Platform"
500 select I2C_DESIGNWARE_CORE
501 depends on (ACPI && COMMON_CLK) || !ACPI
503 If you say yes to this option, support will be included for the
504 Synopsys DesignWare I2C adapter.
506 This driver can also be built as a module. If so, the module
507 will be called i2c-designware-platform.
509 config I2C_DESIGNWARE_SLAVE
510 bool "Synopsys DesignWare Slave"
512 depends on I2C_DESIGNWARE_PLATFORM
514 If you say yes to this option, support will be included for the
515 Synopsys DesignWare I2C slave adapter.
517 This is not a standalone module, this module compiles together with
520 config I2C_DESIGNWARE_PCI
521 tristate "Synopsys DesignWare PCI"
523 select I2C_DESIGNWARE_CORE
525 If you say yes to this option, support will be included for the
526 Synopsys DesignWare I2C adapter. Only master mode is supported.
528 This driver can also be built as a module. If so, the module
529 will be called i2c-designware-pci.
531 config I2C_DESIGNWARE_BAYTRAIL
532 bool "Intel Baytrail I2C semaphore support"
534 depends on (I2C_DESIGNWARE_PLATFORM=m && IOSF_MBI) || \
535 (I2C_DESIGNWARE_PLATFORM=y && IOSF_MBI=y)
537 This driver enables managed host access to the PMIC I2C bus on select
538 Intel BayTrail platforms using the X-Powers AXP288 PMIC. It allows
539 the host to request uninterrupted access to the PMIC's I2C bus from
540 the platform firmware controlling it. You should say Y if running on
541 a BayTrail system using the AXP288.
544 tristate "Conexant Digicolor I2C driver"
545 depends on ARCH_DIGICOLOR
547 Support for Conexant Digicolor SoCs (CX92755) I2C controller driver.
549 This driver can also be built as a module. If so, the module
550 will be called i2c-digicolor.
553 tristate "EFM32 I2C controller"
554 depends on ARCH_EFM32 || COMPILE_TEST
556 This driver supports the i2c block found in Energy Micro's EFM32
560 tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) I2C"
561 depends on PCI && (X86_32 || MIPS || COMPILE_TEST)
563 This driver is for PCH(Platform controller Hub) I2C of EG20T which
564 is an IOH(Input/Output Hub) for x86 embedded processor.
565 This driver can access PCH I2C bus device.
567 This driver also can be used for LAPIS Semiconductor IOH(Input/
568 Output Hub), ML7213, ML7223 and ML7831.
569 ML7213 IOH is for IVI(In-Vehicle Infotainment) use, ML7223 IOH is
570 for MP(Media Phone) use and ML7831 IOH is for general purpose use.
571 ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series.
572 ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH.
575 tristate "EMMA Mobile series I2C adapter"
579 If you say yes to this option, support will be included for the
580 I2C interface on the Renesas Electronics EM/EV family of processors.
583 tristate "Exynos5 high-speed I2C driver"
584 depends on ARCH_EXYNOS && OF
587 High-speed I2C controller on Exynos5 based Samsung SoCs.
590 tristate "GPIO-based bitbanging I2C"
591 depends on GPIOLIB || COMPILE_TEST
594 This is a very simple bitbanging I2C driver utilizing the
595 arch-neutral GPIO API to control the SCL and SDA lines.
597 config I2C_GPIO_FAULT_INJECTOR
598 bool "GPIO-based fault injector"
601 This adds some functionality to the i2c-gpio driver which can inject
602 faults to an I2C bus, so another bus master can be stress-tested.
603 This is for debugging. If unsure, say 'no'.
605 config I2C_HIGHLANDER
606 tristate "Highlander FPGA SMBus interface"
607 depends on SH_HIGHLANDER
609 If you say yes to this option, support will be included for
610 the SMBus interface located in the FPGA on various Highlander
611 boards, particularly the R0P7780LC0011RL and R0P7785LC0011RL
612 FPGAs. This is wholly unrelated to the SoC I2C.
614 This driver can also be built as a module. If so, the module
615 will be called i2c-highlander.
618 tristate "IBM PPC 4xx on-chip I2C interface"
621 Say Y here if you want to use IIC peripheral found on
622 embedded IBM PPC 4xx based systems.
624 This driver can also be built as a module. If so, the module
625 will be called i2c-ibm_iic.
628 tristate "Imagination Technologies I2C SCB Controller"
629 depends on MIPS || COMPILE_TEST
631 Say Y here if you want to use the IMG I2C SCB controller,
632 available on the TZ1090 and other IMG SoCs.
634 This driver can also be built as a module. If so, the module
635 will be called i2c-img-scb.
638 tristate "IMX I2C interface"
639 depends on ARCH_MXC || ARCH_LAYERSCAPE || COLDFIRE
641 Say Y here if you want to use the IIC bus controller on
642 the Freescale i.MX/MXC, Layerscape or ColdFire processors.
644 This driver can also be built as a module. If so, the module
645 will be called i2c-imx.
648 tristate "IMX Low Power I2C interface"
649 depends on ARCH_MXC || COMPILE_TEST
651 Say Y here if you want to use the Low Power IIC bus controller
652 on the Freescale i.MX processors.
654 This driver can also be built as a module. If so, the module
655 will be called i2c-imx-lpi2c.
658 tristate "Intel IOPx3xx and IXP4xx on-chip I2C interface"
659 depends on ARCH_IOP32X || ARCH_IOP33X || ARCH_IXP4XX || ARCH_IOP13XX
661 Say Y here if you want to use the IIC bus controller on
662 the Intel IOPx3xx I/O Processors or IXP4xx Network Processors.
664 This driver can also be built as a module. If so, the module
665 will be called i2c-iop3xx.
668 tristate "JZ4780 I2C controller interface support"
669 depends on MACH_JZ4780 || COMPILE_TEST
671 If you say yes to this option, support will be included for the
672 Ingenic JZ4780 I2C controller.
674 If you don't know what to do here, say N.
677 tristate "Kontron COM I2C Controller"
678 depends on MFD_KEMPLD
680 This enables support for the I2C bus interface on some Kontron ETX
681 and COMexpress (ETXexpress) modules.
683 This driver can also be built as a module. If so, the module
684 will be called i2c-kempld.
687 tristate "I2C bus support for NXP LPC2K/LPC178x/18xx/43xx"
688 depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
690 This driver supports the I2C interface found several NXP
691 devices including LPC2xxx, LPC178x/7x and LPC18xx/43xx.
693 This driver can also be built as a module. If so, the module
694 will be called i2c-lpc2k.
697 tristate "Amlogic Meson I2C controller"
698 depends on ARCH_MESON || COMPILE_TEST
700 If you say yes to this option, support will be included for the
701 I2C interface on the Amlogic Meson family of SoCs.
704 tristate "MPC107/824x/85xx/512x/52xx/83xx/86xx"
707 If you say yes to this option, support will be included for the
708 built-in I2C interface on the MPC107, Tsi107, MPC512x, MPC52xx,
709 MPC8240, MPC8245, MPC83xx, MPC85xx and MPC8641 family processors.
711 This driver can also be built as a module. If so, the module
712 will be called i2c-mpc.
715 tristate "MediaTek I2C adapter"
716 depends on ARCH_MEDIATEK || COMPILE_TEST
718 This selects the MediaTek(R) Integrated Inter Circuit bus driver
719 for MT65xx and MT81xx.
720 If you want to use MediaTek(R) I2C interface, say Y or M here.
724 tristate "Marvell mv64xxx I2C Controller"
725 depends on MV64X60 || PLAT_ORION || ARCH_SUNXI || ARCH_MVEBU
727 If you say yes to this option, support will be included for the
728 built-in I2C interface on the Marvell 64xxx line of host bridges.
729 This driver is also used for Allwinner SoCs I2C controllers.
731 This driver can also be built as a module. If so, the module
732 will be called i2c-mv64xxx.
735 tristate "Freescale i.MX28 I2C interface"
739 Say Y here if you want to use the I2C bus controller on
740 the Freescale i.MX28 processors.
742 This driver can also be built as a module. If so, the module
743 will be called i2c-mxs.
746 tristate "ST-Ericsson Nomadik/Ux500 I2C Controller"
749 If you say yes to this option, support will be included for the
750 I2C interface from ST-Ericsson's Nomadik and Ux500 architectures,
751 as well as the STA2X11 PCIe I/O HUB.
754 tristate "OpenCores I2C Controller"
756 If you say yes to this option, support will be included for the
757 OpenCores I2C controller. For details see
758 http://www.opencores.org/projects.cgi/web/i2c/overview
760 This driver can also be built as a module. If so, the module
761 will be called i2c-ocores.
764 tristate "OMAP I2C adapter"
765 depends on ARCH_OMAP || ARCH_K3
766 default y if MACH_OMAP_H3 || MACH_OMAP_OSK
768 If you say yes to this option, support will be included for the
769 I2C interface on the Texas Instruments OMAP1/2 family of processors.
770 Like OMAP1510/1610/1710/5912 and OMAP242x.
771 For details see http://www.ti.com/omap.
774 tristate "Actions Semiconductor Owl I2C Controller"
775 depends on ARCH_ACTIONS || COMPILE_TEST
777 Say Y here if you want to use the I2C bus controller on
778 the Actions Semiconductor Owl SoC's.
781 tristate "PA Semi SMBus interface"
782 depends on PPC_PASEMI && PCI
784 Supports the PA Semi PWRficient on-chip SMBus interfaces.
786 config I2C_PCA_PLATFORM
787 tristate "PCA9564/PCA9665 as platform device"
791 This driver supports a memory mapped Philips PCA9564/PCA9665
792 parallel bus to I2C bus controller.
794 This driver can also be built as a module. If so, the module
795 will be called i2c-pca-platform.
798 tristate "PMC MSP I2C TWI Controller"
801 This driver supports the PMC TWI controller on MSP devices.
803 This driver can also be built as module. If so, the module
804 will be called i2c-pmcmsp.
807 tristate "I2C bus support for Philips PNX and NXP LPC targets"
808 depends on ARCH_LPC32XX
810 This driver supports the Philips IP3204 I2C IP block master and/or
813 This driver can also be built as a module. If so, the module
814 will be called i2c-pnx.
817 tristate "PKUnity v3 I2C bus support"
818 depends on UNICORE32 && ARCH_PUV3
821 This driver supports the I2C IP inside the PKUnity-v3 SoC.
822 This I2C bus controller is under AMBA/AXI bus.
824 This driver can also be built as a module. If so, the module
825 will be called i2c-puv3.
828 tristate "Intel PXA2XX I2C adapter"
829 depends on ARCH_PXA || ARCH_MMP || ARCH_MVEBU || (X86_32 && PCI && OF)
831 If you have devices in the PXA I2C bus, say yes to this option.
832 This driver can also be built as a module. If so, the module
833 will be called i2c-pxa.
836 def_bool I2C_PXA && X86_32 && PCI && OF
839 bool "Intel PXA2XX I2C Slave comms support"
840 depends on I2C_PXA && !X86_32
842 Support I2C slave mode communications on the PXA I2C bus. This
843 is necessary for systems where the PXA may be a target on the
847 tristate "Qualcomm Technologies Inc.'s GENI based I2C controller"
848 depends on ARCH_QCOM || COMPILE_TEST
849 depends on QCOM_GENI_SE
851 This driver supports GENI serial engine based I2C controller in
852 master mode on the Qualcomm Technologies Inc.'s SoCs. If you say
853 yes to this option, support will be included for the built-in I2C
854 interface on the Qualcomm Technologies Inc.'s SoCs.
856 This driver can also be built as a module. If so, the module
857 will be called i2c-qcom-geni.
860 tristate "Qualcomm QUP based I2C controller"
863 If you say yes to this option, support will be included for the
864 built-in I2C interface on the Qualcomm SoCs.
866 This driver can also be built as a module. If so, the module
867 will be called i2c-qup.
870 tristate "Renesas RIIC adapter"
871 depends on ARCH_RENESAS || COMPILE_TEST
873 If you say yes to this option, support will be included for the
874 Renesas RIIC I2C interface.
876 This driver can also be built as a module. If so, the module
877 will be called i2c-riic.
880 tristate "Rockchip RK3xxx I2C adapter"
881 depends on OF && COMMON_CLK
883 Say Y here to include support for the I2C adapter in Rockchip RK3xxx
886 This driver can also be built as a module. If so, the module will
889 config HAVE_S3C2410_I2C
892 This will include I2C support for Samsung SoCs. If you want to
893 include I2C support for any machine, kindly select this in the
894 respective Kconfig file.
897 tristate "S3C2410 I2C Driver"
898 depends on HAVE_S3C2410_I2C
900 Say Y here to include support for I2C controller in the
904 tristate "Renesas SH7760 I2C Controller"
905 depends on CPU_SUBTYPE_SH7760
907 This driver supports the 2 I2C interfaces on the Renesas SH7760.
909 This driver can also be built as a module. If so, the module
910 will be called i2c-sh7760.
913 tristate "SuperH Mobile I2C Controller"
914 depends on ARCH_SHMOBILE || ARCH_RENESAS || COMPILE_TEST
916 If you say yes to this option, support will be included for the
917 built-in I2C interface on the Renesas SH-Mobile processor.
919 This driver can also be built as a module. If so, the module
920 will be called i2c-sh_mobile.
923 tristate "Simtec Generic I2C interface"
926 If you say yes to this option, support will be included for
927 the Simtec Generic I2C interface. This driver is for the
928 simple I2C bus used on newer Simtec products for general
929 I2C, such as DDC on the Simtec BBD2016A.
931 This driver can also be built as a module. If so, the module
932 will be called i2c-simtec.
935 tristate "CSR SiRFprimaII I2C interface"
938 If you say yes to this option, support will be included for the
939 CSR SiRFprimaII I2C interface.
941 This driver can also be built as a module. If so, the module
942 will be called i2c-sirf.
945 bool "Spreadtrum I2C interface"
946 depends on I2C=y && ARCH_SPRD
948 If you say yes to this option, support will be included for the
949 Spreadtrum I2C interface.
952 tristate "STMicroelectronics SSC I2C support"
955 Enable this option to add support for STMicroelectronics SoCs
956 hardware SSC (Synchronous Serial Controller) as an I2C controller.
958 This driver can also be built as module. If so, the module
959 will be called i2c-st.
962 tristate "STMicroelectronics STM32F4 I2C support"
963 depends on ARCH_STM32 || COMPILE_TEST
965 Enable this option to add support for STM32 I2C controller embedded
968 This driver can also be built as module. If so, the module
969 will be called i2c-stm32f4.
972 tristate "STMicroelectronics STM32F7 I2C support"
973 depends on ARCH_STM32 || COMPILE_TEST
976 Enable this option to add support for STM32 I2C controller embedded
979 This driver can also be built as module. If so, the module
980 will be called i2c-stm32f7.
983 tristate "ST Microelectronics DDC I2C interface"
985 default y if MACH_U300
987 If you say yes to this option, support will be included for the
988 I2C interface from ST Microelectronics simply called "DDC I2C"
989 supporting both I2C and DDC, used in e.g. the U300 series
992 This driver can also be built as a module. If so, the module
993 will be called i2c-stu300.
995 config I2C_SUN6I_P2WI
996 tristate "Allwinner sun6i internal P2WI controller"
997 depends on RESET_CONTROLLER
998 depends on MACH_SUN6I || COMPILE_TEST
1000 If you say yes to this option, support will be included for the
1001 P2WI (Push/Pull 2 Wire Interface) controller embedded in some sunxi
1003 The P2WI looks like an SMBus controller (which supports only byte
1004 accesses), except that it only supports one slave device.
1005 This interface is used to connect to specific PMIC devices (like the
1008 config I2C_SYNQUACER
1009 tristate "Socionext SynQuacer I2C controller"
1010 depends on ARCH_SYNQUACER || COMPILE_TEST
1012 Say Y here to include support for the I2C controller used in some
1013 Fujitsu and Socionext SoCs.
1015 This driver can also be built as a module. If so, the module
1016 will be called i2c-synquacer.
1019 tristate "NVIDIA Tegra internal I2C controller"
1020 depends on ARCH_TEGRA
1022 If you say yes to this option, support will be included for the
1023 I2C controller embedded in NVIDIA Tegra SOCs
1025 config I2C_TEGRA_BPMP
1026 tristate "NVIDIA Tegra BPMP I2C controller"
1027 depends on TEGRA_BPMP
1030 If you say yes to this option, support will be included for the I2C
1031 controller embedded in NVIDIA Tegra SoCs accessed via the BPMP.
1033 This I2C driver is a 'virtual' I2C driver. The real driver is part
1034 of the BPMP firmware, and this driver merely communicates with that
1038 tristate "UniPhier FIFO-less I2C controller"
1039 depends on ARCH_UNIPHIER || COMPILE_TEST
1041 If you say yes to this option, support will be included for
1042 the UniPhier FIFO-less I2C interface embedded in PH1-LD4, PH1-sLD8,
1043 or older UniPhier SoCs.
1045 config I2C_UNIPHIER_F
1046 tristate "UniPhier FIFO-builtin I2C controller"
1047 depends on ARCH_UNIPHIER || COMPILE_TEST
1049 If you say yes to this option, support will be included for
1050 the UniPhier FIFO-builtin I2C interface embedded in PH1-Pro4,
1051 PH1-Pro5, or newer UniPhier SoCs.
1053 config I2C_VERSATILE
1054 tristate "ARM Versatile/Realview I2C bus support"
1055 depends on ARCH_MPS2 || ARCH_VERSATILE || ARCH_REALVIEW || ARCH_VEXPRESS || COMPILE_TEST
1058 Say yes if you want to support the I2C serial bus on ARMs Versatile
1061 This driver can also be built as a module. If so, the module
1062 will be called i2c-versatile.
1065 tristate "Wondermedia WM8xxx SoC I2C bus support"
1066 depends on ARCH_VT8500
1068 Say yes if you want to support the I2C bus on Wondermedia 8xxx-series
1071 This driver can also be built as a module. If so, the module will be
1075 tristate "Cavium OCTEON I2C bus support"
1076 depends on CAVIUM_OCTEON_SOC
1078 Say yes if you want to support the I2C serial bus on Cavium
1081 This driver can also be built as a module. If so, the module
1082 will be called i2c-octeon.
1085 tristate "Cavium ThunderX I2C bus support"
1086 depends on 64BIT && PCI && (ARM64 || COMPILE_TEST)
1089 Say yes if you want to support the I2C serial bus on Cavium
1092 This driver can also be built as a module. If so, the module
1093 will be called i2c-thunderx.
1096 tristate "Xilinx I2C Controller"
1097 depends on HAS_IOMEM
1099 If you say yes to this option, support will be included for the
1100 Xilinx I2C controller.
1102 This driver can also be built as a module. If so, the module
1103 will be called xilinx_i2c.
1106 tristate "Netlogic XLR and Sigma Designs I2C support"
1107 depends on CPU_XLR || ARCH_TANGO
1109 This driver enables support for the on-chip I2C interface of
1110 the Netlogic XLR/XLS MIPS processors and Sigma Designs SOCs.
1112 This driver can also be built as a module. If so, the module
1113 will be called i2c-xlr.
1116 tristate "XLP9XX I2C support"
1117 depends on CPU_XLP || ARCH_THUNDER2 || COMPILE_TEST
1119 This driver enables support for the on-chip I2C interface of
1120 the Broadcom XLP9xx/XLP5xx MIPS and Vulcan ARM64 processors.
1122 This driver can also be built as a module. If so, the module will
1123 be called i2c-xlp9xx.
1126 tristate "Renesas R-Car I2C Controller"
1127 depends on ARCH_RENESAS || COMPILE_TEST
1130 If you say yes to this option, support will be included for the
1131 R-Car I2C controller.
1133 This driver can also be built as a module. If so, the module
1134 will be called i2c-rcar.
1136 comment "External I2C/SMBus adapter drivers"
1138 config I2C_DIOLAN_U2C
1139 tristate "Diolan U2C-12 USB adapter"
1142 If you say yes to this option, support will be included for Diolan
1143 U2C-12, a USB to I2C interface.
1145 This driver can also be built as a module. If so, the module
1146 will be called i2c-diolan-u2c.
1149 tristate "Diolan DLN-2 USB I2C adapter"
1152 If you say yes to this option, support will be included for Diolan
1153 DLN2, a USB to I2C interface.
1155 This driver can also be built as a module. If so, the module
1156 will be called i2c-dln2.
1159 tristate "Parallel port adapter"
1164 This supports parallel port I2C adapters such as the ones made by
1165 Philips or Velleman, Analog Devices evaluation boards, and more.
1166 Basically any adapter using the parallel port as an I2C bus with
1167 no extra chipset is supported by this driver, or could be.
1169 This driver is a replacement for (and was inspired by) an older
1170 driver named i2c-philips-par. The new driver supports more devices,
1171 and makes it easier to add support for new devices.
1173 An adapter type parameter is now mandatory. Please read the file
1174 Documentation/i2c/busses/i2c-parport for details.
1176 Another driver exists, named i2c-parport-light, which doesn't depend
1177 on the parport driver. This is meant for embedded systems. Don't say
1178 Y here if you intend to say Y or M there.
1180 This support is also available as a module. If so, the module
1181 will be called i2c-parport.
1183 config I2C_PARPORT_LIGHT
1184 tristate "Parallel port adapter (light)"
1188 This supports parallel port I2C adapters such as the ones made by
1189 Philips or Velleman, Analog Devices evaluation boards, and more.
1190 Basically any adapter using the parallel port as an I2C bus with
1191 no extra chipset is supported by this driver, or could be.
1193 This driver is a light version of i2c-parport. It doesn't depend
1194 on the parport driver, and uses direct I/O access instead. This
1195 might be preferred on embedded systems where wasting memory for
1196 the clean but heavy parport handling is not an option. The
1197 drawback is a reduced portability and the impossibility to
1198 daisy-chain other parallel port devices.
1200 Don't say Y here if you said Y or M to i2c-parport. Saying M to
1201 both is possible but both modules should not be loaded at the same
1204 This support is also available as a module. If so, the module
1205 will be called i2c-parport-light.
1207 config I2C_ROBOTFUZZ_OSIF
1208 tristate "RobotFuzz Open Source InterFace USB adapter"
1211 If you say yes to this option, support will be included for the
1212 RobotFuzz Open Source InterFace USB to I2C interface.
1214 This driver can also be built as a module. If so, the module
1215 will be called i2c-osif.
1218 tristate "TAOS evaluation module"
1221 select SERIO_SERPORT
1224 This supports TAOS evaluation modules on serial port. In order to
1225 use this driver, you will need the inputattach tool, which is part
1226 of the input-utils package.
1230 This support is also available as a module. If so, the module
1231 will be called i2c-taos-evm.
1234 tristate "Tiny-USB adapter"
1237 If you say yes to this option, support will be included for the
1238 i2c-tiny-usb, a simple do-it-yourself USB to I2C interface. See
1239 http://www.harbaum.org/till/i2c_tiny_usb for hardware details.
1241 This driver can also be built as a module. If so, the module
1242 will be called i2c-tiny-usb.
1244 config I2C_VIPERBOARD
1245 tristate "Viperboard I2C master support"
1246 depends on MFD_VIPERBOARD && USB
1248 Say yes here to access the I2C part of the Nano River
1249 Technologies Viperboard as I2C master.
1250 See viperboard API specification and Nano
1251 River Tech's viperboard.h for detailed meaning
1252 of the module parameters.
1254 comment "Other I2C/SMBus bus drivers"
1257 tristate "Acorn IOC/IOMD I2C bus support"
1258 depends on ARCH_ACORN
1262 Say yes if you want to support the I2C bus on Acorn platforms.
1264 If you don't know, say Y.
1267 tristate "Elektor ISA card"
1268 depends on ISA && HAS_IOPORT_MAP && BROKEN_ON_SMP
1271 This supports the PCF8584 ISA bus I2C adapter. Say Y if you own
1274 This support is also available as a module. If so, the module
1275 will be called i2c-elektor.
1278 tristate "Mellanox I2C driver"
1281 This exposes the Mellanox platform I2C busses to the linux I2C layer
1282 for X86 based systems.
1283 Controller is implemented as CPLD logic.
1285 This driver can also be built as a module. If so, the module will be
1286 called as i2c-mlxcpld.
1289 tristate "PCA9564/PCA9665 on an ISA bus"
1294 This driver supports ISA boards using the Philips PCA9564/PCA9665
1295 parallel bus to I2C bus controller.
1297 This driver can also be built as a module. If so, the module
1298 will be called i2c-pca-isa.
1300 This device is almost undetectable and using this driver on a
1301 system which doesn't have this device will result in long
1302 delays when I2C/SMBus chip drivers are loaded (e.g. at boot
1303 time). If unsure, say N.
1306 tristate "SiByte SMBus interface"
1307 depends on SIBYTE_SB1xxx_SOC
1309 Supports the SiByte SOC on-chip I2C interfaces (2 channels).
1311 config I2C_CROS_EC_TUNNEL
1312 tristate "ChromeOS EC tunnel I2C bus"
1313 depends on MFD_CROS_EC
1315 If you say yes here you get an I2C bus that will tunnel i2c commands
1316 through to the other side of the ChromeOS EC to the i2c bus
1317 connected there. This will work whatever the interface used to
1318 talk to the EC (SPI, I2C or LPC).
1320 config I2C_XGENE_SLIMPRO
1321 tristate "APM X-Gene SoC I2C SLIMpro devices support"
1322 depends on ARCH_XGENE && MAILBOX
1324 Enable I2C bus access using the APM X-Gene SoC SLIMpro
1325 co-processor. The I2C device access the I2C bus via the X-Gene
1326 to SLIMpro (On chip coprocessor) mailbox mechanism.
1330 tristate "Geode ACCESS.bus support"
1331 depends on X86_32 && PCI
1333 Enable the use of the ACCESS.bus controllers on the Geode SCx200 and
1334 SC1100 processors and the CS5535 and CS5536 Geode companion devices.
1336 If you don't know what to do here, say N.
1338 This support is also available as a module. If so, the module
1339 will be called scx200_acb.
1342 tristate "IBM OPAL I2C driver"
1343 depends on PPC_POWERNV
1346 This exposes the PowerNV platform i2c busses to the linux i2c layer,
1347 the driver is based on the OPAL interfaces.
1349 This driver can also be built as a module. If so, the module will be
1353 tristate "ZTE ZX2967 I2C support"
1357 Selecting this option will add ZX2967 I2C driver.
1358 This driver can also be built as a module. If so, the module will be
1362 tristate "FSI I2C driver"
1365 Driver for FSI bus attached I2C masters. These are I2C masters that
1366 are connected to the system over an FSI bus, instead of the more
1367 common PCI or MMIO interface.
1369 This driver can also be built as a module. If so, the module will be