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 "AMD MP2 PCIe"
82 depends on PCI && ACPI
84 If you say yes to this option, support will be included for the AMD
87 This driver can also be built as modules. If so, the modules will
88 be called i2c-amd-mp2-pci and i2c-amd-mp2-plat.
91 tristate "Hix5hd2 high-speed I2C driver"
92 depends on ARCH_HISI || ARCH_HIX5HD2 || COMPILE_TEST
94 Say Y here to include support for the high-speed I2C controller
95 used in HiSilicon hix5hd2 SoCs.
97 This driver can also be built as a module. If so, the module
98 will be called i2c-hix5hd2.
101 tristate "Intel 82801 (ICH/PCH)"
103 select CHECK_SIGNATURE if X86 && DMI
106 If you say yes to this option, support will be included for the Intel
107 801 family of mainboard I2C interfaces. Specifically, the following
108 versions of the chipset are supported:
114 82801EB/ER (ICH5/ICH5R)
134 Wildcat Point-LP (PCH)
136 Sunrise Point-H (PCH)
137 Sunrise Point-LP (PCH)
146 This driver can also be built as a module. If so, the module
147 will be called i2c-i801.
150 tristate "Intel SCH SMBus 1.0"
154 Say Y here if you want to use SMBus controller on the Intel SCH
157 This driver can also be built as a module. If so, the module
158 will be called i2c-isch.
161 tristate "Intel iSMT SMBus Controller"
162 depends on PCI && X86
164 If you say yes to this option, support will be included for the Intel
165 iSMT SMBus host controller interface.
167 This driver can also be built as a module. If so, the module will be
171 tristate "Intel PIIX4 and compatible (ATI/AMD/Serverworks/Broadcom/SMSC)"
174 If you say yes to this option, support will be included for the Intel
175 PIIX4 family of mainboard I2C interfaces. Specifically, the following
176 versions of the chipset are supported (note that Serverworks is part
196 Some AMD chipsets contain two PIIX4-compatible SMBus
197 controllers. This driver will attempt to use both controllers
198 on the SB700/SP5100, if they have been initialized by the BIOS.
200 This driver can also be built as a module. If so, the module
201 will be called i2c-piix4.
204 tristate "Intel Cherry Trail Whiskey Cove PMIC smbus controller"
205 depends on INTEL_SOC_PMIC_CHTWC
207 If you say yes to this option, support will be included for the
208 SMBus controller found in the Intel Cherry Trail Whiskey Cove PMIC
209 found on some Intel Cherry Trail systems.
211 Note this controller is hooked up to a TI bq24292i charger-IC,
212 combined with a FUSB302 Type-C port-controller as such it is advised
213 to also select CONFIG_CHARGER_BQ24190=m and CONFIG_TYPEC_FUSB302=m
214 (the fusb302 driver currently is in drivers/staging).
217 tristate "Nvidia nForce2, nForce3 and nForce4"
220 If you say yes to this option, support will be included for the Nvidia
221 nForce2, nForce3 and nForce4 families of mainboard I2C interfaces.
223 This driver can also be built as a module. If so, the module
224 will be called i2c-nforce2.
226 config I2C_NFORCE2_S4985
227 tristate "SMBus multiplexing on the Tyan S4985"
228 depends on I2C_NFORCE2 && X86
230 Enabling this option will add specific SMBus support for the Tyan
231 S4985 motherboard. On this 4-CPU board, the SMBus is multiplexed
232 over 4 different channels, where the various memory module EEPROMs
233 live. Saying yes here will give you access to these in addition
236 This driver can also be built as a module. If so, the module
237 will be called i2c-nforce2-s4985.
243 If you say yes to this option, support will be included for the
244 SiS5595 SMBus (a subset of I2C) interface.
246 This driver can also be built as a module. If so, the module
247 will be called i2c-sis5595.
250 tristate "SiS 630/730/964"
253 If you say yes to this option, support will be included for the
254 SiS630, SiS730 and SiS964 SMBus (a subset of I2C) interface.
256 This driver can also be built as a module. If so, the module
257 will be called i2c-sis630.
263 If you say yes to this option, support will be included for the SiS
264 96x SMBus (a subset of I2C) interfaces. Specifically, the following
265 chipsets are supported:
274 This driver can also be built as a module. If so, the module
275 will be called i2c-sis96x.
278 tristate "VIA VT82C586B"
282 If you say yes to this option, support will be included for the VIA
283 82C586B I2C interface
285 This driver can also be built as a module. If so, the module
286 will be called i2c-via.
289 tristate "VIA VT82C596/82C686/82xx and CX700/VX8xx/VX900"
292 If you say yes to this option, support will be included for the VIA
293 VT82C596 and later SMBus interface. Specifically, the following
294 chipsets are supported:
307 This driver can also be built as a module. If so, the module
308 will be called i2c-viapro.
312 comment "ACPI drivers"
315 tristate "SMBus Control Method Interface"
317 This driver supports the SMBus Control Method Interface. It needs the
318 BIOS to declare ACPI control methods as described in the SMBus Control
319 Method Interface specification.
321 To compile this driver as a module, choose M here:
322 the module will be called i2c-scmi.
326 comment "Mac SMBus host controller drivers"
327 depends on PPC_CHRP || PPC_PMAC
330 tristate "CHRP Apple Hydra Mac I/O I2C interface"
331 depends on PCI && PPC_CHRP
334 This supports the use of the I2C interface in the Apple Hydra Mac
335 I/O chip on some CHRP machines (e.g. the LongTrail). Say Y if you
338 This support is also available as a module. If so, the module
339 will be called i2c-hydra.
342 tristate "Powermac I2C interface"
346 This exposes the various PowerMac i2c interfaces to the linux i2c
347 layer and to userland. It is used by various drivers on the PowerMac
348 platform, and should generally be enabled.
350 This support is also available as a module. If so, the module
351 will be called i2c-powermac.
353 comment "I2C system bus drivers (mostly embedded / system-on-chip)"
356 tristate "Altera Soft IP I2C"
357 depends on (ARCH_SOCFPGA || NIOS2) && OF
359 If you say yes to this option, support will be included for the
360 Altera Soft IP I2C interfaces on SoCFPGA and Nios2 architectures.
362 This driver can also be built as a module. If so, the module
363 will be called i2c-altera.
366 tristate "Aspeed I2C Controller"
367 depends on ARCH_ASPEED || COMPILE_TEST
369 If you say yes to this option, support will be included for the
370 Aspeed I2C controller.
372 This driver can also be built as a module. If so, the module
373 will be called i2c-aspeed.
376 tristate "Atmel AT91 I2C Two-Wire interface (TWI)"
379 This supports the use of the I2C interface on Atmel AT91
382 A serious problem is that there is no documented way to issue
383 repeated START conditions for more than two messages, as needed
384 to support combined I2C messages. Use the i2c-gpio driver
385 unless your system can cope with this limitation.
387 Caution! at91rm9200, at91sam9261, at91sam9260, at91sam9263 devices
388 don't have clock stretching in transmission mode. For that reason,
389 you can encounter underrun issues causing premature stop sendings if
390 the latency to fill the transmission register is too long. If you
391 are facing this situation, use the i2c-gpio driver.
394 tristate "Au1550/Au1200/Au1300 SMBus interface"
395 depends on MIPS_ALCHEMY
397 If you say yes to this option, support will be included for the
398 Au1550/Au1200/Au1300 SMBus interface.
400 This driver can also be built as a module. If so, the module
401 will be called i2c-au1550.
404 tristate "Axxia I2C controller"
405 depends on ARCH_AXXIA || COMPILE_TEST
408 Say yes if you want to support the I2C bus on Axxia platforms.
410 Please note that this controller is limited to transfers of maximum
411 255 bytes in length. Any attempt to to a larger transfer will return
415 tristate "Broadcom BCM2835 I2C controller"
416 depends on ARCH_BCM2835
418 If you say yes to this option, support will be included for the
419 BCM2835 I2C controller.
421 If you don't know what to do here, say N.
423 This support is also available as a module. If so, the module
424 will be called i2c-bcm2835.
427 tristate "Broadcom iProc I2C controller"
428 depends on ARCH_BCM_IPROC || COMPILE_TEST
429 default ARCH_BCM_IPROC
431 If you say yes to this option, support will be included for the
432 Broadcom iProc I2C controller.
434 If you don't know what to do here, say N.
437 tristate "BCM Kona I2C adapter"
438 depends on ARCH_BCM_MOBILE
441 If you say yes to this option, support will be included for the
442 I2C interface on the Broadcom Kona family of processors.
444 If you do not need KONA I2C interface, say N.
447 tristate "BRCM Settop I2C controller"
448 depends on ARCH_BRCMSTB || BMIPS_GENERIC || COMPILE_TEST
451 If you say yes to this option, support will be included for the
452 I2C interface on the Broadcom Settop SoCs.
454 If you do not need I2C interface, say N.
456 config I2C_BLACKFIN_TWI
457 tristate "Blackfin TWI I2C support"
459 depends on !BF561 && !BF531 && !BF532 && !BF533
461 This is the I2C bus driver for Blackfin on-chip TWI interface.
463 This driver can also be built as a module. If so, the module
464 will be called i2c-bfin-twi.
466 config I2C_BLACKFIN_TWI_CLK_KHZ
467 int "Blackfin TWI I2C clock (kHz)"
468 depends on I2C_BLACKFIN_TWI
472 The unit of the TWI clock is kHz.
475 tristate "Cadence I2C Controller"
476 depends on ARCH_ZYNQ || ARM64 || XTENSA
478 Say yes here to select Cadence I2C Host Controller. This controller is
479 e.g. used by Xilinx Zynq.
482 tristate "CBUS I2C driver"
483 depends on GPIOLIB || COMPILE_TEST
485 Support for CBUS access using I2C API. Mostly relevant for Nokia
486 Internet Tablets (770, N800 and N810).
488 This driver can also be built as a module. If so, the module
489 will be called i2c-cbus-gpio.
492 tristate "Freescale CPM1 or CPM2 (MPC8xx/826x)"
493 depends on CPM1 || CPM2
495 This supports the use of the I2C interface on Freescale
496 processors with CPM1 or CPM2.
498 This driver can also be built as a module. If so, the module
499 will be called i2c-cpm.
502 tristate "DaVinci I2C driver"
503 depends on ARCH_DAVINCI || ARCH_KEYSTONE
505 Support for TI DaVinci I2C controller driver.
507 This driver can also be built as a module. If so, the module
508 will be called i2c-davinci.
510 Please note that this driver might be needed to bring up other
511 devices such as DaVinci NIC.
512 For details please see http://www.ti.com/davinci
514 config I2C_DESIGNWARE_CORE
517 config I2C_DESIGNWARE_PLATFORM
518 tristate "Synopsys DesignWare Platform"
519 select I2C_DESIGNWARE_CORE
520 depends on (ACPI && COMMON_CLK) || !ACPI
522 If you say yes to this option, support will be included for the
523 Synopsys DesignWare I2C adapter.
525 This driver can also be built as a module. If so, the module
526 will be called i2c-designware-platform.
528 config I2C_DESIGNWARE_SLAVE
529 bool "Synopsys DesignWare Slave"
531 depends on I2C_DESIGNWARE_PLATFORM
533 If you say yes to this option, support will be included for the
534 Synopsys DesignWare I2C slave adapter.
536 This is not a standalone module, this module compiles together with
539 config I2C_DESIGNWARE_PCI
540 tristate "Synopsys DesignWare PCI"
542 select I2C_DESIGNWARE_CORE
544 If you say yes to this option, support will be included for the
545 Synopsys DesignWare I2C adapter. Only master mode is supported.
547 This driver can also be built as a module. If so, the module
548 will be called i2c-designware-pci.
550 config I2C_DESIGNWARE_BAYTRAIL
551 bool "Intel Baytrail I2C semaphore support"
553 depends on (I2C_DESIGNWARE_PLATFORM=m && IOSF_MBI) || \
554 (I2C_DESIGNWARE_PLATFORM=y && IOSF_MBI=y)
556 This driver enables managed host access to the PMIC I2C bus on select
557 Intel BayTrail platforms using the X-Powers AXP288 PMIC. It allows
558 the host to request uninterrupted access to the PMIC's I2C bus from
559 the platform firmware controlling it. You should say Y if running on
560 a BayTrail system using the AXP288.
563 tristate "Conexant Digicolor I2C driver"
564 depends on ARCH_DIGICOLOR
566 Support for Conexant Digicolor SoCs (CX92755) I2C controller driver.
568 This driver can also be built as a module. If so, the module
569 will be called i2c-digicolor.
572 tristate "EFM32 I2C controller"
573 depends on ARCH_EFM32 || COMPILE_TEST
575 This driver supports the i2c block found in Energy Micro's EFM32
579 tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) I2C"
580 depends on PCI && (X86_32 || MIPS || COMPILE_TEST)
582 This driver is for PCH(Platform controller Hub) I2C of EG20T which
583 is an IOH(Input/Output Hub) for x86 embedded processor.
584 This driver can access PCH I2C bus device.
586 This driver also can be used for LAPIS Semiconductor IOH(Input/
587 Output Hub), ML7213, ML7223 and ML7831.
588 ML7213 IOH is for IVI(In-Vehicle Infotainment) use, ML7223 IOH is
589 for MP(Media Phone) use and ML7831 IOH is for general purpose use.
590 ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series.
591 ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH.
594 tristate "EMMA Mobile series I2C adapter"
598 If you say yes to this option, support will be included for the
599 I2C interface on the Renesas Electronics EM/EV family of processors.
602 tristate "Exynos5 high-speed I2C driver"
603 depends on ARCH_EXYNOS && OF
606 High-speed I2C controller on Exynos5 based Samsung SoCs.
609 tristate "GPIO-based bitbanging I2C"
610 depends on GPIOLIB || COMPILE_TEST
613 This is a very simple bitbanging I2C driver utilizing the
614 arch-neutral GPIO API to control the SCL and SDA lines.
616 config I2C_HIGHLANDER
617 tristate "Highlander FPGA SMBus interface"
618 depends on SH_HIGHLANDER
620 If you say yes to this option, support will be included for
621 the SMBus interface located in the FPGA on various Highlander
622 boards, particularly the R0P7780LC0011RL and R0P7785LC0011RL
623 FPGAs. This is wholly unrelated to the SoC I2C.
625 This driver can also be built as a module. If so, the module
626 will be called i2c-highlander.
629 tristate "IBM PPC 4xx on-chip I2C interface"
632 Say Y here if you want to use IIC peripheral found on
633 embedded IBM PPC 4xx based systems.
635 This driver can also be built as a module. If so, the module
636 will be called i2c-ibm_iic.
639 tristate "Imagination Technologies I2C SCB Controller"
640 depends on MIPS || METAG || COMPILE_TEST
642 Say Y here if you want to use the IMG I2C SCB controller,
643 available on the TZ1090 and other IMG SoCs.
645 This driver can also be built as a module. If so, the module
646 will be called i2c-img-scb.
649 tristate "IMX I2C interface"
650 depends on ARCH_MXC || ARCH_LAYERSCAPE || COLDFIRE
652 Say Y here if you want to use the IIC bus controller on
653 the Freescale i.MX/MXC, Layerscape or ColdFire processors.
655 This driver can also be built as a module. If so, the module
656 will be called i2c-imx.
659 tristate "IMX Low Power I2C interface"
660 depends on ARCH_MXC || COMPILE_TEST
662 Say Y here if you want to use the Low Power IIC bus controller
663 on the Freescale i.MX processors.
665 This driver can also be built as a module. If so, the module
666 will be called i2c-imx-lpi2c.
669 tristate "Intel IOPx3xx and IXP4xx on-chip I2C interface"
670 depends on ARCH_IOP32X || ARCH_IOP33X || ARCH_IXP4XX || ARCH_IOP13XX
672 Say Y here if you want to use the IIC bus controller on
673 the Intel IOPx3xx I/O Processors or IXP4xx Network Processors.
675 This driver can also be built as a module. If so, the module
676 will be called i2c-iop3xx.
679 tristate "JZ4780 I2C controller interface support"
680 depends on MACH_JZ4780 || COMPILE_TEST
682 If you say yes to this option, support will be included for the
683 Ingenic JZ4780 I2C controller.
685 If you don't know what to do here, say N.
688 tristate "Kontron COM I2C Controller"
689 depends on MFD_KEMPLD
691 This enables support for the I2C bus interface on some Kontron ETX
692 and COMexpress (ETXexpress) modules.
694 This driver can also be built as a module. If so, the module
695 will be called i2c-kempld.
698 tristate "I2C bus support for NXP LPC2K/LPC178x/18xx/43xx"
699 depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
701 This driver supports the I2C interface found several NXP
702 devices including LPC2xxx, LPC178x/7x and LPC18xx/43xx.
704 This driver can also be built as a module. If so, the module
705 will be called i2c-lpc2k.
708 tristate "Amlogic Meson I2C controller"
709 depends on ARCH_MESON || COMPILE_TEST
711 If you say yes to this option, support will be included for the
712 I2C interface on the Amlogic Meson family of SoCs.
715 tristate "MPC107/824x/85xx/512x/52xx/83xx/86xx"
718 If you say yes to this option, support will be included for the
719 built-in I2C interface on the MPC107, Tsi107, MPC512x, MPC52xx,
720 MPC8240, MPC8245, MPC83xx, MPC85xx and MPC8641 family processors.
722 This driver can also be built as a module. If so, the module
723 will be called i2c-mpc.
726 tristate "MediaTek I2C adapter"
727 depends on ARCH_MEDIATEK || COMPILE_TEST
730 This selects the MediaTek(R) Integrated Inter Circuit bus driver
731 for MT65xx and MT81xx.
732 If you want to use MediaTek(R) I2C interface, say Y or M here.
736 tristate "Marvell mv64xxx I2C Controller"
737 depends on MV64X60 || PLAT_ORION || ARCH_SUNXI || ARCH_MVEBU
739 If you say yes to this option, support will be included for the
740 built-in I2C interface on the Marvell 64xxx line of host bridges.
741 This driver is also used for Allwinner SoCs I2C controllers.
743 This driver can also be built as a module. If so, the module
744 will be called i2c-mv64xxx.
747 tristate "Freescale i.MX28 I2C interface"
751 Say Y here if you want to use the I2C bus controller on
752 the Freescale i.MX28 processors.
754 This driver can also be built as a module. If so, the module
755 will be called i2c-mxs.
758 tristate "ST-Ericsson Nomadik/Ux500 I2C Controller"
761 If you say yes to this option, support will be included for the
762 I2C interface from ST-Ericsson's Nomadik and Ux500 architectures,
763 as well as the STA2X11 PCIe I/O HUB.
766 tristate "OpenCores I2C Controller"
768 If you say yes to this option, support will be included for the
769 OpenCores I2C controller. For details see
770 http://www.opencores.org/projects.cgi/web/i2c/overview
772 This driver can also be built as a module. If so, the module
773 will be called i2c-ocores.
776 tristate "OMAP I2C adapter"
778 default y if MACH_OMAP_H3 || MACH_OMAP_OSK
780 If you say yes to this option, support will be included for the
781 I2C interface on the Texas Instruments OMAP1/2 family of processors.
782 Like OMAP1510/1610/1710/5912 and OMAP242x.
783 For details see http://www.ti.com/omap.
786 tristate "PA Semi SMBus interface"
787 depends on PPC_PASEMI && PCI
789 Supports the PA Semi PWRficient on-chip SMBus interfaces.
791 config I2C_PCA_PLATFORM
792 tristate "PCA9564/PCA9665 as platform device"
796 This driver supports a memory mapped Philips PCA9564/PCA9665
797 parallel bus to I2C bus controller.
799 This driver can also be built as a module. If so, the module
800 will be called i2c-pca-platform.
803 tristate "PMC MSP I2C TWI Controller"
806 This driver supports the PMC TWI controller on MSP devices.
808 This driver can also be built as module. If so, the module
809 will be called i2c-pmcmsp.
812 tristate "I2C bus support for Philips PNX and NXP LPC targets"
813 depends on ARCH_LPC32XX
815 This driver supports the Philips IP3204 I2C IP block master and/or
818 This driver can also be built as a module. If so, the module
819 will be called i2c-pnx.
822 tristate "PKUnity v3 I2C bus support"
823 depends on UNICORE32 && ARCH_PUV3
826 This driver supports the I2C IP inside the PKUnity-v3 SoC.
827 This I2C bus controller is under AMBA/AXI bus.
829 This driver can also be built as a module. If so, the module
830 will be called i2c-puv3.
833 tristate "Intel PXA2XX I2C adapter"
834 depends on ARCH_PXA || ARCH_MMP || ARCH_MVEBU || (X86_32 && PCI && OF)
836 If you have devices in the PXA I2C bus, say yes to this option.
837 This driver can also be built as a module. If so, the module
838 will be called i2c-pxa.
841 def_bool I2C_PXA && X86_32 && PCI && OF
844 bool "Intel PXA2XX I2C Slave comms support"
845 depends on I2C_PXA && !X86_32
847 Support I2C slave mode communications on the PXA I2C bus. This
848 is necessary for systems where the PXA may be a target on the
852 tristate "Qualcomm Camera Control Interface"
855 If you say yes to this option, support will be included for the
856 built-in camera control interface on the Qualcomm SoCs.
858 This driver can also be built as a module. If so, the module
859 will be called i2c-qcom-cci.
862 tristate "Qualcomm QUP based I2C controller"
865 If you say yes to this option, support will be included for the
866 built-in I2C interface on the Qualcomm SoCs.
868 This driver can also be built as a module. If so, the module
869 will be called i2c-qup.
872 tristate "Renesas RIIC adapter"
873 depends on ARCH_RENESAS || COMPILE_TEST
875 If you say yes to this option, support will be included for the
876 Renesas RIIC I2C interface.
878 This driver can also be built as a module. If so, the module
879 will be called i2c-riic.
882 tristate "Rockchip RK3xxx I2C adapter"
883 depends on OF && COMMON_CLK
885 Say Y here to include support for the I2C adapter in Rockchip RK3xxx
888 This driver can also be built as a module. If so, the module will
891 config HAVE_S3C2410_I2C
894 This will include I2C support for Samsung SoCs. If you want to
895 include I2C support for any machine, kindly select this in the
896 respective Kconfig file.
899 tristate "S3C2410 I2C Driver"
900 depends on HAVE_S3C2410_I2C
902 Say Y here to include support for I2C controller in the
906 tristate "Renesas SH7760 I2C Controller"
907 depends on CPU_SUBTYPE_SH7760
909 This driver supports the 2 I2C interfaces on the Renesas SH7760.
911 This driver can also be built as a module. If so, the module
912 will be called i2c-sh7760.
915 tristate "SuperH Mobile I2C Controller"
917 depends on ARCH_SHMOBILE || ARCH_RENESAS || COMPILE_TEST
919 If you say yes to this option, support will be included for the
920 built-in I2C interface on the Renesas SH-Mobile processor.
922 This driver can also be built as a module. If so, the module
923 will be called i2c-sh_mobile.
926 tristate "Simtec Generic I2C interface"
929 If you say yes to this option, support will be included for
930 the Simtec Generic I2C interface. This driver is for the
931 simple I2C bus used on newer Simtec products for general
932 I2C, such as DDC on the Simtec BBD2016A.
934 This driver can also be built as a module. If so, the module
935 will be called i2c-simtec.
938 tristate "CSR SiRFprimaII I2C interface"
941 If you say yes to this option, support will be included for the
942 CSR SiRFprimaII I2C interface.
944 This driver can also be built as a module. If so, the module
945 will be called i2c-sirf.
948 bool "Spreadtrum I2C interface"
949 depends on I2C=y && ARCH_SPRD
951 If you say yes to this option, support will be included for the
952 Spreadtrum I2C interface.
955 tristate "STMicroelectronics SSC I2C support"
958 Enable this option to add support for STMicroelectronics SoCs
959 hardware SSC (Synchronous Serial Controller) as an I2C controller.
961 This driver can also be built as module. If so, the module
962 will be called i2c-st.
965 tristate "STMicroelectronics STM32F4 I2C support"
966 depends on ARCH_STM32 || COMPILE_TEST
968 Enable this option to add support for STM32 I2C controller embedded
971 This driver can also be built as module. If so, the module
972 will be called i2c-stm32f4.
975 tristate "STMicroelectronics STM32F7 I2C support"
976 depends on ARCH_STM32 || COMPILE_TEST
978 Enable this option to add support for STM32 I2C controller embedded
981 This driver can also be built as module. If so, the module
982 will be called i2c-stm32f7.
985 tristate "ST Microelectronics DDC I2C interface"
987 default y if MACH_U300
989 If you say yes to this option, support will be included for the
990 I2C interface from ST Microelectronics simply called "DDC I2C"
991 supporting both I2C and DDC, used in e.g. the U300 series
994 This driver can also be built as a module. If so, the module
995 will be called i2c-stu300.
997 config I2C_SUN6I_P2WI
998 tristate "Allwinner sun6i internal P2WI controller"
999 depends on RESET_CONTROLLER
1000 depends on MACH_SUN6I || COMPILE_TEST
1002 If you say yes to this option, support will be included for the
1003 P2WI (Push/Pull 2 Wire Interface) controller embedded in some sunxi
1005 The P2WI looks like an SMBus controller (which supports only byte
1006 accesses), except that it only supports one slave device.
1007 This interface is used to connect to specific PMIC devices (like the
1011 tristate "NVIDIA Tegra internal I2C controller"
1012 depends on ARCH_TEGRA
1014 If you say yes to this option, support will be included for the
1015 I2C controller embedded in NVIDIA Tegra SOCs
1017 config I2C_TEGRA_BPMP
1018 tristate "NVIDIA Tegra BPMP I2C controller"
1019 depends on TEGRA_BPMP
1022 If you say yes to this option, support will be included for the I2C
1023 controller embedded in NVIDIA Tegra SoCs accessed via the BPMP.
1025 This I2C driver is a 'virtual' I2C driver. The real driver is part
1026 of the BPMP firmware, and this driver merely communicates with that
1030 tristate "UniPhier FIFO-less I2C controller"
1031 depends on ARCH_UNIPHIER || COMPILE_TEST
1033 If you say yes to this option, support will be included for
1034 the UniPhier FIFO-less I2C interface embedded in PH1-LD4, PH1-sLD8,
1035 or older UniPhier SoCs.
1037 config I2C_UNIPHIER_F
1038 tristate "UniPhier FIFO-builtin 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-builtin I2C interface embedded in PH1-Pro4,
1043 PH1-Pro5, or newer UniPhier SoCs.
1045 config I2C_VERSATILE
1046 tristate "ARM Versatile/Realview I2C bus support"
1047 depends on ARCH_MPS2 || ARCH_VERSATILE || ARCH_REALVIEW || ARCH_VEXPRESS || COMPILE_TEST
1050 Say yes if you want to support the I2C serial bus on ARMs Versatile
1053 This driver can also be built as a module. If so, the module
1054 will be called i2c-versatile.
1057 tristate "Wondermedia WM8xxx SoC I2C bus support"
1058 depends on ARCH_VT8500
1060 Say yes if you want to support the I2C bus on Wondermedia 8xxx-series
1063 This driver can also be built as a module. If so, the module will be
1067 tristate "Cavium OCTEON I2C bus support"
1068 depends on CAVIUM_OCTEON_SOC
1070 Say yes if you want to support the I2C serial bus on Cavium
1073 This driver can also be built as a module. If so, the module
1074 will be called i2c-octeon.
1077 tristate "Cavium ThunderX I2C bus support"
1078 depends on 64BIT && PCI && (ARM64 || COMPILE_TEST)
1081 Say yes if you want to support the I2C serial bus on Cavium
1084 This driver can also be built as a module. If so, the module
1085 will be called i2c-thunderx.
1088 tristate "Xilinx I2C Controller"
1089 depends on HAS_IOMEM
1091 If you say yes to this option, support will be included for the
1092 Xilinx I2C controller.
1094 This driver can also be built as a module. If so, the module
1095 will be called xilinx_i2c.
1098 tristate "Netlogic XLR and Sigma Designs I2C support"
1099 depends on CPU_XLR || ARCH_TANGO
1101 This driver enables support for the on-chip I2C interface of
1102 the Netlogic XLR/XLS MIPS processors and Sigma Designs SOCs.
1104 This driver can also be built as a module. If so, the module
1105 will be called i2c-xlr.
1108 tristate "XLP9XX I2C support"
1109 depends on CPU_XLP || ARCH_THUNDER2 || COMPILE_TEST
1111 This driver enables support for the on-chip I2C interface of
1112 the Broadcom XLP9xx/XLP5xx MIPS and Vulcan ARM64 processors.
1114 This driver can also be built as a module. If so, the module will
1115 be called i2c-xlp9xx.
1118 tristate "Renesas R-Car I2C Controller"
1120 depends on ARCH_RENESAS || COMPILE_TEST
1123 If you say yes to this option, support will be included for the
1124 R-Car I2C controller.
1126 This driver can also be built as a module. If so, the module
1127 will be called i2c-rcar.
1129 comment "External I2C/SMBus adapter drivers"
1131 config I2C_DIOLAN_U2C
1132 tristate "Diolan U2C-12 USB adapter"
1135 If you say yes to this option, support will be included for Diolan
1136 U2C-12, a USB to I2C interface.
1138 This driver can also be built as a module. If so, the module
1139 will be called i2c-diolan-u2c.
1142 tristate "Diolan DLN-2 USB I2C adapter"
1145 If you say yes to this option, support will be included for Diolan
1146 DLN2, a USB to I2C interface.
1148 This driver can also be built as a module. If so, the module
1149 will be called i2c-dln2.
1152 tristate "Parallel port adapter"
1157 This supports parallel port I2C adapters such as the ones made by
1158 Philips or Velleman, Analog Devices evaluation boards, and more.
1159 Basically any adapter using the parallel port as an I2C bus with
1160 no extra chipset is supported by this driver, or could be.
1162 This driver is a replacement for (and was inspired by) an older
1163 driver named i2c-philips-par. The new driver supports more devices,
1164 and makes it easier to add support for new devices.
1166 An adapter type parameter is now mandatory. Please read the file
1167 Documentation/i2c/busses/i2c-parport for details.
1169 Another driver exists, named i2c-parport-light, which doesn't depend
1170 on the parport driver. This is meant for embedded systems. Don't say
1171 Y here if you intend to say Y or M there.
1173 This support is also available as a module. If so, the module
1174 will be called i2c-parport.
1176 config I2C_PARPORT_LIGHT
1177 tristate "Parallel port adapter (light)"
1181 This supports parallel port I2C adapters such as the ones made by
1182 Philips or Velleman, Analog Devices evaluation boards, and more.
1183 Basically any adapter using the parallel port as an I2C bus with
1184 no extra chipset is supported by this driver, or could be.
1186 This driver is a light version of i2c-parport. It doesn't depend
1187 on the parport driver, and uses direct I/O access instead. This
1188 might be preferred on embedded systems where wasting memory for
1189 the clean but heavy parport handling is not an option. The
1190 drawback is a reduced portability and the impossibility to
1191 daisy-chain other parallel port devices.
1193 Don't say Y here if you said Y or M to i2c-parport. Saying M to
1194 both is possible but both modules should not be loaded at the same
1197 This support is also available as a module. If so, the module
1198 will be called i2c-parport-light.
1200 config I2C_ROBOTFUZZ_OSIF
1201 tristate "RobotFuzz Open Source InterFace USB adapter"
1204 If you say yes to this option, support will be included for the
1205 RobotFuzz Open Source InterFace USB to I2C interface.
1207 This driver can also be built as a module. If so, the module
1208 will be called i2c-osif.
1211 tristate "TAOS evaluation module"
1214 select SERIO_SERPORT
1217 This supports TAOS evaluation modules on serial port. In order to
1218 use this driver, you will need the inputattach tool, which is part
1219 of the input-utils package.
1223 This support is also available as a module. If so, the module
1224 will be called i2c-taos-evm.
1227 tristate "Tiny-USB adapter"
1230 If you say yes to this option, support will be included for the
1231 i2c-tiny-usb, a simple do-it-yourself USB to I2C interface. See
1232 http://www.harbaum.org/till/i2c_tiny_usb for hardware details.
1234 This driver can also be built as a module. If so, the module
1235 will be called i2c-tiny-usb.
1237 config I2C_VIPERBOARD
1238 tristate "Viperboard I2C master support"
1239 depends on MFD_VIPERBOARD && USB
1241 Say yes here to access the I2C part of the Nano River
1242 Technologies Viperboard as I2C master.
1243 See viperboard API specification and Nano
1244 River Tech's viperboard.h for detailed meaning
1245 of the module parameters.
1247 comment "Other I2C/SMBus bus drivers"
1250 tristate "Acorn IOC/IOMD I2C bus support"
1251 depends on ARCH_ACORN
1255 Say yes if you want to support the I2C bus on Acorn platforms.
1257 If you don't know, say Y.
1260 tristate "Elektor ISA card"
1261 depends on ISA && HAS_IOPORT_MAP && BROKEN_ON_SMP
1264 This supports the PCF8584 ISA bus I2C adapter. Say Y if you own
1267 This support is also available as a module. If so, the module
1268 will be called i2c-elektor.
1271 tristate "Mellanox I2C driver"
1274 This exposes the Mellanox platform I2C busses to the linux I2C layer
1275 for X86 based systems.
1276 Controller is implemented as CPLD logic.
1278 This driver can also be built as a module. If so, the module will be
1279 called as i2c-mlxcpld.
1282 tristate "PCA9564/PCA9665 on an ISA bus"
1287 This driver supports ISA boards using the Philips PCA9564/PCA9665
1288 parallel bus to I2C bus controller.
1290 This driver can also be built as a module. If so, the module
1291 will be called i2c-pca-isa.
1293 This device is almost undetectable and using this driver on a
1294 system which doesn't have this device will result in long
1295 delays when I2C/SMBus chip drivers are loaded (e.g. at boot
1296 time). If unsure, say N.
1299 tristate "SiByte SMBus interface"
1300 depends on SIBYTE_SB1xxx_SOC
1302 Supports the SiByte SOC on-chip I2C interfaces (2 channels).
1304 config I2C_CROS_EC_TUNNEL
1305 tristate "ChromeOS EC tunnel I2C bus"
1306 depends on MFD_CROS_EC
1308 If you say yes here you get an I2C bus that will tunnel i2c commands
1309 through to the other side of the ChromeOS EC to the i2c bus
1310 connected there. This will work whatever the interface used to
1311 talk to the EC (SPI, I2C or LPC).
1313 config I2C_XGENE_SLIMPRO
1314 tristate "APM X-Gene SoC I2C SLIMpro devices support"
1315 depends on ARCH_XGENE && MAILBOX
1317 Enable I2C bus access using the APM X-Gene SoC SLIMpro
1318 co-processor. The I2C device access the I2C bus via the X-Gene
1319 to SLIMpro (On chip coprocessor) mailbox mechanism.
1323 tristate "Geode ACCESS.bus support"
1324 depends on X86_32 && PCI
1326 Enable the use of the ACCESS.bus controllers on the Geode SCx200 and
1327 SC1100 processors and the CS5535 and CS5536 Geode companion devices.
1329 If you don't know what to do here, say N.
1331 This support is also available as a module. If so, the module
1332 will be called scx200_acb.
1335 tristate "IBM OPAL I2C driver"
1336 depends on PPC_POWERNV
1339 This exposes the PowerNV platform i2c busses to the linux i2c layer,
1340 the driver is based on the OPAL interfaces.
1342 This driver can also be built as a module. If so, the module will be
1346 tristate "ZTE ZX2967 I2C support"
1350 Selecting this option will add ZX2967 I2C driver.
1351 This driver can also be built as a module. If so, the module will be