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)
147 This driver can also be built as a module. If so, the module
148 will be called i2c-i801.
151 tristate "Intel SCH SMBus 1.0"
155 Say Y here if you want to use SMBus controller on the Intel SCH
158 This driver can also be built as a module. If so, the module
159 will be called i2c-isch.
162 tristate "Intel iSMT SMBus Controller"
163 depends on PCI && X86
165 If you say yes to this option, support will be included for the Intel
166 iSMT SMBus host controller interface.
168 This driver can also be built as a module. If so, the module will be
172 tristate "Intel PIIX4 and compatible (ATI/AMD/Serverworks/Broadcom/SMSC)"
175 If you say yes to this option, support will be included for the Intel
176 PIIX4 family of mainboard I2C interfaces. Specifically, the following
177 versions of the chipset are supported (note that Serverworks is part
197 Some AMD chipsets contain two PIIX4-compatible SMBus
198 controllers. This driver will attempt to use both controllers
199 on the SB700/SP5100, if they have been initialized by the BIOS.
201 This driver can also be built as a module. If so, the module
202 will be called i2c-piix4.
205 tristate "Intel Cherry Trail Whiskey Cove PMIC smbus controller"
206 depends on INTEL_SOC_PMIC_CHTWC
208 If you say yes to this option, support will be included for the
209 SMBus controller found in the Intel Cherry Trail Whiskey Cove PMIC
210 found on some Intel Cherry Trail systems.
212 Note this controller is hooked up to a TI bq24292i charger-IC,
213 combined with a FUSB302 Type-C port-controller as such it is advised
214 to also select CONFIG_CHARGER_BQ24190=m and CONFIG_TYPEC_FUSB302=m
215 (the fusb302 driver currently is in drivers/staging).
218 tristate "Nvidia nForce2, nForce3 and nForce4"
221 If you say yes to this option, support will be included for the Nvidia
222 nForce2, nForce3 and nForce4 families of mainboard I2C interfaces.
224 This driver can also be built as a module. If so, the module
225 will be called i2c-nforce2.
227 config I2C_NFORCE2_S4985
228 tristate "SMBus multiplexing on the Tyan S4985"
229 depends on I2C_NFORCE2 && X86
231 Enabling this option will add specific SMBus support for the Tyan
232 S4985 motherboard. On this 4-CPU board, the SMBus is multiplexed
233 over 4 different channels, where the various memory module EEPROMs
234 live. Saying yes here will give you access to these in addition
237 This driver can also be built as a module. If so, the module
238 will be called i2c-nforce2-s4985.
244 If you say yes to this option, support will be included for the
245 SiS5595 SMBus (a subset of I2C) interface.
247 This driver can also be built as a module. If so, the module
248 will be called i2c-sis5595.
251 tristate "SiS 630/730/964"
254 If you say yes to this option, support will be included for the
255 SiS630, SiS730 and SiS964 SMBus (a subset of I2C) interface.
257 This driver can also be built as a module. If so, the module
258 will be called i2c-sis630.
264 If you say yes to this option, support will be included for the SiS
265 96x SMBus (a subset of I2C) interfaces. Specifically, the following
266 chipsets are supported:
275 This driver can also be built as a module. If so, the module
276 will be called i2c-sis96x.
279 tristate "VIA VT82C586B"
283 If you say yes to this option, support will be included for the VIA
284 82C586B I2C interface
286 This driver can also be built as a module. If so, the module
287 will be called i2c-via.
290 tristate "VIA VT82C596/82C686/82xx and CX700/VX8xx/VX900"
293 If you say yes to this option, support will be included for the VIA
294 VT82C596 and later SMBus interface. Specifically, the following
295 chipsets are supported:
308 This driver can also be built as a module. If so, the module
309 will be called i2c-viapro.
313 comment "ACPI drivers"
316 tristate "SMBus Control Method Interface"
318 This driver supports the SMBus Control Method Interface. It needs the
319 BIOS to declare ACPI control methods as described in the SMBus Control
320 Method Interface specification.
322 To compile this driver as a module, choose M here:
323 the module will be called i2c-scmi.
327 comment "Mac SMBus host controller drivers"
328 depends on PPC_CHRP || PPC_PMAC
331 tristate "CHRP Apple Hydra Mac I/O I2C interface"
332 depends on PCI && PPC_CHRP
335 This supports the use of the I2C interface in the Apple Hydra Mac
336 I/O chip on some CHRP machines (e.g. the LongTrail). Say Y if you
339 This support is also available as a module. If so, the module
340 will be called i2c-hydra.
343 tristate "Powermac I2C interface"
347 This exposes the various PowerMac i2c interfaces to the linux i2c
348 layer and to userland. It is used by various drivers on the PowerMac
349 platform, and should generally be enabled.
351 This support is also available as a module. If so, the module
352 will be called i2c-powermac.
354 comment "I2C system bus drivers (mostly embedded / system-on-chip)"
357 tristate "Altera Soft IP I2C"
358 depends on (ARCH_SOCFPGA || NIOS2) && OF
360 If you say yes to this option, support will be included for the
361 Altera Soft IP I2C interfaces on SoCFPGA and Nios2 architectures.
363 This driver can also be built as a module. If so, the module
364 will be called i2c-altera.
367 tristate "Aspeed I2C Controller"
368 depends on ARCH_ASPEED || COMPILE_TEST
370 If you say yes to this option, support will be included for the
371 Aspeed I2C controller.
373 This driver can also be built as a module. If so, the module
374 will be called i2c-aspeed.
377 tristate "Atmel AT91 I2C Two-Wire interface (TWI)"
380 This supports the use of the I2C interface on Atmel AT91
383 A serious problem is that there is no documented way to issue
384 repeated START conditions for more than two messages, as needed
385 to support combined I2C messages. Use the i2c-gpio driver
386 unless your system can cope with this limitation.
388 Caution! at91rm9200, at91sam9261, at91sam9260, at91sam9263 devices
389 don't have clock stretching in transmission mode. For that reason,
390 you can encounter underrun issues causing premature stop sendings if
391 the latency to fill the transmission register is too long. If you
392 are facing this situation, use the i2c-gpio driver.
395 tristate "Au1550/Au1200/Au1300 SMBus interface"
396 depends on MIPS_ALCHEMY
398 If you say yes to this option, support will be included for the
399 Au1550/Au1200/Au1300 SMBus interface.
401 This driver can also be built as a module. If so, the module
402 will be called i2c-au1550.
405 tristate "Axxia I2C controller"
406 depends on ARCH_AXXIA || COMPILE_TEST
409 Say yes if you want to support the I2C bus on Axxia platforms.
411 Please note that this controller is limited to transfers of maximum
412 255 bytes in length. Any attempt to to a larger transfer will return
416 tristate "Broadcom BCM2835 I2C controller"
417 depends on ARCH_BCM2835
419 If you say yes to this option, support will be included for the
420 BCM2835 I2C controller.
422 If you don't know what to do here, say N.
424 This support is also available as a module. If so, the module
425 will be called i2c-bcm2835.
428 tristate "Broadcom iProc I2C controller"
429 depends on ARCH_BCM_IPROC || COMPILE_TEST
430 default ARCH_BCM_IPROC
432 If you say yes to this option, support will be included for the
433 Broadcom iProc I2C controller.
435 If you don't know what to do here, say N.
438 tristate "BCM Kona I2C adapter"
439 depends on ARCH_BCM_MOBILE
442 If you say yes to this option, support will be included for the
443 I2C interface on the Broadcom Kona family of processors.
445 If you do not need KONA I2C interface, say N.
448 tristate "BRCM Settop/DSL I2C controller"
449 depends on ARCH_BRCMSTB || BMIPS_GENERIC || ARCH_BCM_63XX || \
453 If you say yes to this option, support will be included for the
454 I2C interface on the Broadcom Settop/DSL SoCs.
456 If you do not need I2C interface, say N.
458 config I2C_BLACKFIN_TWI
459 tristate "Blackfin TWI I2C support"
461 depends on !BF561 && !BF531 && !BF532 && !BF533
463 This is the I2C bus driver for Blackfin on-chip TWI interface.
465 This driver can also be built as a module. If so, the module
466 will be called i2c-bfin-twi.
468 config I2C_BLACKFIN_TWI_CLK_KHZ
469 int "Blackfin TWI I2C clock (kHz)"
470 depends on I2C_BLACKFIN_TWI
474 The unit of the TWI clock is kHz.
477 tristate "Cadence I2C Controller"
478 depends on ARCH_ZYNQ || ARM64 || XTENSA
480 Say yes here to select Cadence I2C Host Controller. This controller is
481 e.g. used by Xilinx Zynq.
484 tristate "CBUS I2C driver"
485 depends on GPIOLIB || COMPILE_TEST
487 Support for CBUS access using I2C API. Mostly relevant for Nokia
488 Internet Tablets (770, N800 and N810).
490 This driver can also be built as a module. If so, the module
491 will be called i2c-cbus-gpio.
494 tristate "Freescale CPM1 or CPM2 (MPC8xx/826x)"
495 depends on CPM1 || CPM2
497 This supports the use of the I2C interface on Freescale
498 processors with CPM1 or CPM2.
500 This driver can also be built as a module. If so, the module
501 will be called i2c-cpm.
504 tristate "DaVinci I2C driver"
505 depends on ARCH_DAVINCI || ARCH_KEYSTONE
507 Support for TI DaVinci I2C controller driver.
509 This driver can also be built as a module. If so, the module
510 will be called i2c-davinci.
512 Please note that this driver might be needed to bring up other
513 devices such as DaVinci NIC.
514 For details please see http://www.ti.com/davinci
516 config I2C_DESIGNWARE_CORE
519 config I2C_DESIGNWARE_PLATFORM
520 tristate "Synopsys DesignWare Platform"
521 select I2C_DESIGNWARE_CORE
522 depends on (ACPI && COMMON_CLK) || !ACPI
524 If you say yes to this option, support will be included for the
525 Synopsys DesignWare I2C adapter.
527 This driver can also be built as a module. If so, the module
528 will be called i2c-designware-platform.
530 config I2C_DESIGNWARE_SLAVE
531 bool "Synopsys DesignWare Slave"
533 depends on I2C_DESIGNWARE_PLATFORM
535 If you say yes to this option, support will be included for the
536 Synopsys DesignWare I2C slave adapter.
538 This is not a standalone module, this module compiles together with
541 config I2C_DESIGNWARE_PCI
542 tristate "Synopsys DesignWare PCI"
544 select I2C_DESIGNWARE_CORE
546 If you say yes to this option, support will be included for the
547 Synopsys DesignWare I2C adapter. Only master mode is supported.
549 This driver can also be built as a module. If so, the module
550 will be called i2c-designware-pci.
552 config I2C_DESIGNWARE_BAYTRAIL
553 bool "Intel Baytrail I2C semaphore support"
555 depends on (I2C_DESIGNWARE_PLATFORM=m && IOSF_MBI) || \
556 (I2C_DESIGNWARE_PLATFORM=y && IOSF_MBI=y)
558 This driver enables managed host access to the PMIC I2C bus on select
559 Intel BayTrail platforms using the X-Powers AXP288 PMIC. It allows
560 the host to request uninterrupted access to the PMIC's I2C bus from
561 the platform firmware controlling it. You should say Y if running on
562 a BayTrail system using the AXP288.
565 tristate "Conexant Digicolor I2C driver"
566 depends on ARCH_DIGICOLOR
568 Support for Conexant Digicolor SoCs (CX92755) I2C controller driver.
570 This driver can also be built as a module. If so, the module
571 will be called i2c-digicolor.
574 tristate "EFM32 I2C controller"
575 depends on ARCH_EFM32 || COMPILE_TEST
577 This driver supports the i2c block found in Energy Micro's EFM32
581 tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) I2C"
582 depends on PCI && (X86_32 || MIPS || COMPILE_TEST)
584 This driver is for PCH(Platform controller Hub) I2C of EG20T which
585 is an IOH(Input/Output Hub) for x86 embedded processor.
586 This driver can access PCH I2C bus device.
588 This driver also can be used for LAPIS Semiconductor IOH(Input/
589 Output Hub), ML7213, ML7223 and ML7831.
590 ML7213 IOH is for IVI(In-Vehicle Infotainment) use, ML7223 IOH is
591 for MP(Media Phone) use and ML7831 IOH is for general purpose use.
592 ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series.
593 ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH.
596 tristate "EMMA Mobile series I2C adapter"
600 If you say yes to this option, support will be included for the
601 I2C interface on the Renesas Electronics EM/EV family of processors.
604 tristate "Exynos5 high-speed I2C driver"
605 depends on ARCH_EXYNOS && OF
608 High-speed I2C controller on Exynos5 based Samsung SoCs.
611 tristate "GPIO-based bitbanging I2C"
612 depends on GPIOLIB || COMPILE_TEST
615 This is a very simple bitbanging I2C driver utilizing the
616 arch-neutral GPIO API to control the SCL and SDA lines.
618 config I2C_HIGHLANDER
619 tristate "Highlander FPGA SMBus interface"
620 depends on SH_HIGHLANDER
622 If you say yes to this option, support will be included for
623 the SMBus interface located in the FPGA on various Highlander
624 boards, particularly the R0P7780LC0011RL and R0P7785LC0011RL
625 FPGAs. This is wholly unrelated to the SoC I2C.
627 This driver can also be built as a module. If so, the module
628 will be called i2c-highlander.
631 tristate "IBM PPC 4xx on-chip I2C interface"
634 Say Y here if you want to use IIC peripheral found on
635 embedded IBM PPC 4xx based systems.
637 This driver can also be built as a module. If so, the module
638 will be called i2c-ibm_iic.
641 tristate "Imagination Technologies I2C SCB Controller"
642 depends on MIPS || METAG || COMPILE_TEST
644 Say Y here if you want to use the IMG I2C SCB controller,
645 available on the TZ1090 and other IMG SoCs.
647 This driver can also be built as a module. If so, the module
648 will be called i2c-img-scb.
651 tristate "IMX I2C interface"
652 depends on ARCH_MXC || ARCH_LAYERSCAPE || COLDFIRE
654 Say Y here if you want to use the IIC bus controller on
655 the Freescale i.MX/MXC, Layerscape or ColdFire processors.
657 This driver can also be built as a module. If so, the module
658 will be called i2c-imx.
661 tristate "IMX Low Power I2C interface"
662 depends on ARCH_MXC || COMPILE_TEST
664 Say Y here if you want to use the Low Power IIC bus controller
665 on the Freescale i.MX processors.
667 This driver can also be built as a module. If so, the module
668 will be called i2c-imx-lpi2c.
671 tristate "Intel IOPx3xx and IXP4xx on-chip I2C interface"
672 depends on ARCH_IOP32X || ARCH_IOP33X || ARCH_IXP4XX || ARCH_IOP13XX
674 Say Y here if you want to use the IIC bus controller on
675 the Intel IOPx3xx I/O Processors or IXP4xx Network Processors.
677 This driver can also be built as a module. If so, the module
678 will be called i2c-iop3xx.
681 tristate "JZ4780 I2C controller interface support"
682 depends on MACH_JZ4780 || COMPILE_TEST
684 If you say yes to this option, support will be included for the
685 Ingenic JZ4780 I2C controller.
687 If you don't know what to do here, say N.
690 tristate "Kontron COM I2C Controller"
691 depends on MFD_KEMPLD
693 This enables support for the I2C bus interface on some Kontron ETX
694 and COMexpress (ETXexpress) modules.
696 This driver can also be built as a module. If so, the module
697 will be called i2c-kempld.
700 tristate "I2C bus support for NXP LPC2K/LPC178x/18xx/43xx"
701 depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
703 This driver supports the I2C interface found several NXP
704 devices including LPC2xxx, LPC178x/7x and LPC18xx/43xx.
706 This driver can also be built as a module. If so, the module
707 will be called i2c-lpc2k.
710 tristate "Amlogic Meson I2C controller"
711 depends on ARCH_MESON || COMPILE_TEST
713 If you say yes to this option, support will be included for the
714 I2C interface on the Amlogic Meson family of SoCs.
717 tristate "MPC107/824x/85xx/512x/52xx/83xx/86xx"
720 If you say yes to this option, support will be included for the
721 built-in I2C interface on the MPC107, Tsi107, MPC512x, MPC52xx,
722 MPC8240, MPC8245, MPC83xx, MPC85xx and MPC8641 family processors.
724 This driver can also be built as a module. If so, the module
725 will be called i2c-mpc.
728 tristate "MediaTek I2C adapter"
729 depends on ARCH_MEDIATEK || COMPILE_TEST
732 This selects the MediaTek(R) Integrated Inter Circuit bus driver
733 for MT65xx and MT81xx.
734 If you want to use MediaTek(R) I2C interface, say Y or M here.
738 tristate "Marvell mv64xxx I2C Controller"
739 depends on MV64X60 || PLAT_ORION || ARCH_SUNXI || ARCH_MVEBU
741 If you say yes to this option, support will be included for the
742 built-in I2C interface on the Marvell 64xxx line of host bridges.
743 This driver is also used for Allwinner SoCs I2C controllers.
745 This driver can also be built as a module. If so, the module
746 will be called i2c-mv64xxx.
749 tristate "Freescale i.MX28 I2C interface"
753 Say Y here if you want to use the I2C bus controller on
754 the Freescale i.MX28 processors.
756 This driver can also be built as a module. If so, the module
757 will be called i2c-mxs.
760 tristate "ST-Ericsson Nomadik/Ux500 I2C Controller"
763 If you say yes to this option, support will be included for the
764 I2C interface from ST-Ericsson's Nomadik and Ux500 architectures,
765 as well as the STA2X11 PCIe I/O HUB.
768 tristate "OpenCores I2C Controller"
770 If you say yes to this option, support will be included for the
771 OpenCores I2C controller. For details see
772 http://www.opencores.org/projects.cgi/web/i2c/overview
774 This driver can also be built as a module. If so, the module
775 will be called i2c-ocores.
778 tristate "OMAP I2C adapter"
779 depends on ARCH_OMAP || ARCH_K3
780 default y if MACH_OMAP_H3 || MACH_OMAP_OSK
782 If you say yes to this option, support will be included for the
783 I2C interface on the Texas Instruments OMAP1/2 family of processors.
784 Like OMAP1510/1610/1710/5912 and OMAP242x.
785 For details see http://www.ti.com/omap.
788 tristate "PA Semi SMBus interface"
789 depends on PPC_PASEMI && PCI
791 Supports the PA Semi PWRficient on-chip SMBus interfaces.
793 config I2C_PCA_PLATFORM
794 tristate "PCA9564/PCA9665 as platform device"
798 This driver supports a memory mapped Philips PCA9564/PCA9665
799 parallel bus to I2C bus controller.
801 This driver can also be built as a module. If so, the module
802 will be called i2c-pca-platform.
805 tristate "PMC MSP I2C TWI Controller"
808 This driver supports the PMC TWI controller on MSP devices.
810 This driver can also be built as module. If so, the module
811 will be called i2c-pmcmsp.
814 tristate "I2C bus support for Philips PNX and NXP LPC targets"
815 depends on ARCH_LPC32XX
817 This driver supports the Philips IP3204 I2C IP block master and/or
820 This driver can also be built as a module. If so, the module
821 will be called i2c-pnx.
824 tristate "PKUnity v3 I2C bus support"
825 depends on UNICORE32 && ARCH_PUV3
828 This driver supports the I2C IP inside the PKUnity-v3 SoC.
829 This I2C bus controller is under AMBA/AXI bus.
831 This driver can also be built as a module. If so, the module
832 will be called i2c-puv3.
835 tristate "Intel PXA2XX I2C adapter"
836 depends on ARCH_PXA || ARCH_MMP || ARCH_MVEBU || (X86_32 && PCI && OF)
838 If you have devices in the PXA I2C bus, say yes to this option.
839 This driver can also be built as a module. If so, the module
840 will be called i2c-pxa.
843 def_bool I2C_PXA && X86_32 && PCI && OF
846 bool "Intel PXA2XX I2C Slave comms support"
847 depends on I2C_PXA && !X86_32
849 Support I2C slave mode communications on the PXA I2C bus. This
850 is necessary for systems where the PXA may be a target on the
854 tristate "Qualcomm Camera Control Interface"
857 If you say yes to this option, support will be included for the
858 built-in camera control interface on the Qualcomm SoCs.
860 This driver can also be built as a module. If so, the module
861 will be called i2c-qcom-cci.
864 tristate "Qualcomm QUP based I2C controller"
867 If you say yes to this option, support will be included for the
868 built-in I2C interface on the Qualcomm SoCs.
870 This driver can also be built as a module. If so, the module
871 will be called i2c-qup.
874 tristate "Renesas RIIC adapter"
875 depends on ARCH_RENESAS || COMPILE_TEST
877 If you say yes to this option, support will be included for the
878 Renesas RIIC I2C interface.
880 This driver can also be built as a module. If so, the module
881 will be called i2c-riic.
884 tristate "Rockchip RK3xxx I2C adapter"
885 depends on OF && COMMON_CLK
887 Say Y here to include support for the I2C adapter in Rockchip RK3xxx
890 This driver can also be built as a module. If so, the module will
893 config HAVE_S3C2410_I2C
896 This will include I2C support for Samsung SoCs. If you want to
897 include I2C support for any machine, kindly select this in the
898 respective Kconfig file.
901 tristate "S3C2410 I2C Driver"
902 depends on HAVE_S3C2410_I2C
904 Say Y here to include support for I2C controller in the
908 tristate "Renesas SH7760 I2C Controller"
909 depends on CPU_SUBTYPE_SH7760
911 This driver supports the 2 I2C interfaces on the Renesas SH7760.
913 This driver can also be built as a module. If so, the module
914 will be called i2c-sh7760.
917 tristate "SuperH Mobile I2C Controller"
919 depends on ARCH_SHMOBILE || ARCH_RENESAS || COMPILE_TEST
921 If you say yes to this option, support will be included for the
922 built-in I2C interface on the Renesas SH-Mobile processor.
924 This driver can also be built as a module. If so, the module
925 will be called i2c-sh_mobile.
928 tristate "Simtec Generic I2C interface"
931 If you say yes to this option, support will be included for
932 the Simtec Generic I2C interface. This driver is for the
933 simple I2C bus used on newer Simtec products for general
934 I2C, such as DDC on the Simtec BBD2016A.
936 This driver can also be built as a module. If so, the module
937 will be called i2c-simtec.
940 tristate "CSR SiRFprimaII I2C interface"
943 If you say yes to this option, support will be included for the
944 CSR SiRFprimaII I2C interface.
946 This driver can also be built as a module. If so, the module
947 will be called i2c-sirf.
950 bool "Spreadtrum I2C interface"
951 depends on I2C=y && ARCH_SPRD
953 If you say yes to this option, support will be included for the
954 Spreadtrum I2C interface.
957 tristate "STMicroelectronics SSC I2C support"
960 Enable this option to add support for STMicroelectronics SoCs
961 hardware SSC (Synchronous Serial Controller) as an I2C controller.
963 This driver can also be built as module. If so, the module
964 will be called i2c-st.
967 tristate "STMicroelectronics STM32F4 I2C support"
968 depends on ARCH_STM32 || COMPILE_TEST
970 Enable this option to add support for STM32 I2C controller embedded
973 This driver can also be built as module. If so, the module
974 will be called i2c-stm32f4.
977 tristate "STMicroelectronics STM32F7 I2C support"
978 depends on ARCH_STM32 || COMPILE_TEST
980 Enable this option to add support for STM32 I2C controller embedded
983 This driver can also be built as module. If so, the module
984 will be called i2c-stm32f7.
987 tristate "ST Microelectronics DDC I2C interface"
989 default y if MACH_U300
991 If you say yes to this option, support will be included for the
992 I2C interface from ST Microelectronics simply called "DDC I2C"
993 supporting both I2C and DDC, used in e.g. the U300 series
996 This driver can also be built as a module. If so, the module
997 will be called i2c-stu300.
999 config I2C_SUN6I_P2WI
1000 tristate "Allwinner sun6i internal P2WI controller"
1001 depends on RESET_CONTROLLER
1002 depends on MACH_SUN6I || COMPILE_TEST
1004 If you say yes to this option, support will be included for the
1005 P2WI (Push/Pull 2 Wire Interface) controller embedded in some sunxi
1007 The P2WI looks like an SMBus controller (which supports only byte
1008 accesses), except that it only supports one slave device.
1009 This interface is used to connect to specific PMIC devices (like the
1013 tristate "NVIDIA Tegra internal I2C controller"
1014 depends on ARCH_TEGRA
1016 If you say yes to this option, support will be included for the
1017 I2C controller embedded in NVIDIA Tegra SOCs
1019 config I2C_TEGRA_BPMP
1020 tristate "NVIDIA Tegra BPMP I2C controller"
1021 depends on TEGRA_BPMP
1024 If you say yes to this option, support will be included for the I2C
1025 controller embedded in NVIDIA Tegra SoCs accessed via the BPMP.
1027 This I2C driver is a 'virtual' I2C driver. The real driver is part
1028 of the BPMP firmware, and this driver merely communicates with that
1032 tristate "UniPhier FIFO-less I2C controller"
1033 depends on ARCH_UNIPHIER || COMPILE_TEST
1035 If you say yes to this option, support will be included for
1036 the UniPhier FIFO-less I2C interface embedded in PH1-LD4, PH1-sLD8,
1037 or older UniPhier SoCs.
1039 config I2C_UNIPHIER_F
1040 tristate "UniPhier FIFO-builtin I2C controller"
1041 depends on ARCH_UNIPHIER || COMPILE_TEST
1043 If you say yes to this option, support will be included for
1044 the UniPhier FIFO-builtin I2C interface embedded in PH1-Pro4,
1045 PH1-Pro5, or newer UniPhier SoCs.
1047 config I2C_VERSATILE
1048 tristate "ARM Versatile/Realview I2C bus support"
1049 depends on ARCH_MPS2 || ARCH_VERSATILE || ARCH_REALVIEW || ARCH_VEXPRESS || COMPILE_TEST
1052 Say yes if you want to support the I2C serial bus on ARMs Versatile
1055 This driver can also be built as a module. If so, the module
1056 will be called i2c-versatile.
1059 tristate "Wondermedia WM8xxx SoC I2C bus support"
1060 depends on ARCH_VT8500
1062 Say yes if you want to support the I2C bus on Wondermedia 8xxx-series
1065 This driver can also be built as a module. If so, the module will be
1069 tristate "Cavium OCTEON I2C bus support"
1070 depends on CAVIUM_OCTEON_SOC
1072 Say yes if you want to support the I2C serial bus on Cavium
1075 This driver can also be built as a module. If so, the module
1076 will be called i2c-octeon.
1079 tristate "Cavium ThunderX I2C bus support"
1080 depends on 64BIT && PCI && (ARM64 || COMPILE_TEST)
1083 Say yes if you want to support the I2C serial bus on Cavium
1086 This driver can also be built as a module. If so, the module
1087 will be called i2c-thunderx.
1090 tristate "Xilinx I2C Controller"
1091 depends on HAS_IOMEM
1093 If you say yes to this option, support will be included for the
1094 Xilinx I2C controller.
1096 This driver can also be built as a module. If so, the module
1097 will be called xilinx_i2c.
1100 tristate "Netlogic XLR and Sigma Designs I2C support"
1101 depends on CPU_XLR || ARCH_TANGO
1103 This driver enables support for the on-chip I2C interface of
1104 the Netlogic XLR/XLS MIPS processors and Sigma Designs SOCs.
1106 This driver can also be built as a module. If so, the module
1107 will be called i2c-xlr.
1110 tristate "XLP9XX I2C support"
1111 depends on CPU_XLP || ARCH_THUNDER2 || COMPILE_TEST
1113 This driver enables support for the on-chip I2C interface of
1114 the Broadcom XLP9xx/XLP5xx MIPS and Vulcan ARM64 processors.
1116 This driver can also be built as a module. If so, the module will
1117 be called i2c-xlp9xx.
1120 tristate "Renesas R-Car I2C Controller"
1122 depends on ARCH_RENESAS || COMPILE_TEST
1125 If you say yes to this option, support will be included for the
1126 R-Car I2C controller.
1128 This driver can also be built as a module. If so, the module
1129 will be called i2c-rcar.
1131 comment "External I2C/SMBus adapter drivers"
1133 config I2C_DIOLAN_U2C
1134 tristate "Diolan U2C-12 USB adapter"
1137 If you say yes to this option, support will be included for Diolan
1138 U2C-12, a USB to I2C interface.
1140 This driver can also be built as a module. If so, the module
1141 will be called i2c-diolan-u2c.
1144 tristate "Diolan DLN-2 USB I2C adapter"
1147 If you say yes to this option, support will be included for Diolan
1148 DLN2, a USB to I2C interface.
1150 This driver can also be built as a module. If so, the module
1151 will be called i2c-dln2.
1154 tristate "Parallel port adapter"
1159 This supports parallel port I2C adapters such as the ones made by
1160 Philips or Velleman, Analog Devices evaluation boards, and more.
1161 Basically any adapter using the parallel port as an I2C bus with
1162 no extra chipset is supported by this driver, or could be.
1164 This driver is a replacement for (and was inspired by) an older
1165 driver named i2c-philips-par. The new driver supports more devices,
1166 and makes it easier to add support for new devices.
1168 An adapter type parameter is now mandatory. Please read the file
1169 Documentation/i2c/busses/i2c-parport for details.
1171 Another driver exists, named i2c-parport-light, which doesn't depend
1172 on the parport driver. This is meant for embedded systems. Don't say
1173 Y here if you intend to say Y or M there.
1175 This support is also available as a module. If so, the module
1176 will be called i2c-parport.
1178 config I2C_PARPORT_LIGHT
1179 tristate "Parallel port adapter (light)"
1183 This supports parallel port I2C adapters such as the ones made by
1184 Philips or Velleman, Analog Devices evaluation boards, and more.
1185 Basically any adapter using the parallel port as an I2C bus with
1186 no extra chipset is supported by this driver, or could be.
1188 This driver is a light version of i2c-parport. It doesn't depend
1189 on the parport driver, and uses direct I/O access instead. This
1190 might be preferred on embedded systems where wasting memory for
1191 the clean but heavy parport handling is not an option. The
1192 drawback is a reduced portability and the impossibility to
1193 daisy-chain other parallel port devices.
1195 Don't say Y here if you said Y or M to i2c-parport. Saying M to
1196 both is possible but both modules should not be loaded at the same
1199 This support is also available as a module. If so, the module
1200 will be called i2c-parport-light.
1202 config I2C_ROBOTFUZZ_OSIF
1203 tristate "RobotFuzz Open Source InterFace USB adapter"
1206 If you say yes to this option, support will be included for the
1207 RobotFuzz Open Source InterFace USB to I2C interface.
1209 This driver can also be built as a module. If so, the module
1210 will be called i2c-osif.
1213 tristate "TAOS evaluation module"
1216 select SERIO_SERPORT
1219 This supports TAOS evaluation modules on serial port. In order to
1220 use this driver, you will need the inputattach tool, which is part
1221 of the input-utils package.
1225 This support is also available as a module. If so, the module
1226 will be called i2c-taos-evm.
1229 tristate "Tiny-USB adapter"
1232 If you say yes to this option, support will be included for the
1233 i2c-tiny-usb, a simple do-it-yourself USB to I2C interface. See
1234 http://www.harbaum.org/till/i2c_tiny_usb for hardware details.
1236 This driver can also be built as a module. If so, the module
1237 will be called i2c-tiny-usb.
1239 config I2C_VIPERBOARD
1240 tristate "Viperboard I2C master support"
1241 depends on MFD_VIPERBOARD && USB
1243 Say yes here to access the I2C part of the Nano River
1244 Technologies Viperboard as I2C master.
1245 See viperboard API specification and Nano
1246 River Tech's viperboard.h for detailed meaning
1247 of the module parameters.
1249 comment "Other I2C/SMBus bus drivers"
1252 tristate "Acorn IOC/IOMD I2C bus support"
1253 depends on ARCH_ACORN
1257 Say yes if you want to support the I2C bus on Acorn platforms.
1259 If you don't know, say Y.
1262 tristate "Elektor ISA card"
1263 depends on ISA && HAS_IOPORT_MAP && BROKEN_ON_SMP
1266 This supports the PCF8584 ISA bus I2C adapter. Say Y if you own
1269 This support is also available as a module. If so, the module
1270 will be called i2c-elektor.
1273 tristate "Mellanox I2C driver"
1276 This exposes the Mellanox platform I2C busses to the linux I2C layer
1277 for X86 based systems.
1278 Controller is implemented as CPLD logic.
1280 This driver can also be built as a module. If so, the module will be
1281 called as i2c-mlxcpld.
1284 tristate "PCA9564/PCA9665 on an ISA bus"
1289 This driver supports ISA boards using the Philips PCA9564/PCA9665
1290 parallel bus to I2C bus controller.
1292 This driver can also be built as a module. If so, the module
1293 will be called i2c-pca-isa.
1295 This device is almost undetectable and using this driver on a
1296 system which doesn't have this device will result in long
1297 delays when I2C/SMBus chip drivers are loaded (e.g. at boot
1298 time). If unsure, say N.
1301 tristate "SiByte SMBus interface"
1302 depends on SIBYTE_SB1xxx_SOC
1304 Supports the SiByte SOC on-chip I2C interfaces (2 channels).
1306 config I2C_CROS_EC_TUNNEL
1307 tristate "ChromeOS EC tunnel I2C bus"
1308 depends on MFD_CROS_EC
1310 If you say yes here you get an I2C bus that will tunnel i2c commands
1311 through to the other side of the ChromeOS EC to the i2c bus
1312 connected there. This will work whatever the interface used to
1313 talk to the EC (SPI, I2C or LPC).
1315 config I2C_XGENE_SLIMPRO
1316 tristate "APM X-Gene SoC I2C SLIMpro devices support"
1317 depends on ARCH_XGENE && MAILBOX
1319 Enable I2C bus access using the APM X-Gene SoC SLIMpro
1320 co-processor. The I2C device access the I2C bus via the X-Gene
1321 to SLIMpro (On chip coprocessor) mailbox mechanism.
1325 tristate "Geode ACCESS.bus support"
1326 depends on X86_32 && PCI
1328 Enable the use of the ACCESS.bus controllers on the Geode SCx200 and
1329 SC1100 processors and the CS5535 and CS5536 Geode companion devices.
1331 If you don't know what to do here, say N.
1333 This support is also available as a module. If so, the module
1334 will be called scx200_acb.
1337 tristate "IBM OPAL I2C driver"
1338 depends on PPC_POWERNV
1341 This exposes the PowerNV platform i2c busses to the linux i2c layer,
1342 the driver is based on the OPAL interfaces.
1344 This driver can also be built as a module. If so, the module will be
1348 tristate "ZTE ZX2967 I2C support"
1352 Selecting this option will add ZX2967 I2C driver.
1353 This driver can also be built as a module. If so, the module will be