| # SPDX-License-Identifier: GPL-2.0-only | 
 | # | 
 | # Sensor device configuration | 
 | # | 
 |  | 
 | menu "I2C Hardware Bus support" | 
 | 	depends on HAS_IOMEM | 
 |  | 
 | comment "PC SMBus host controller drivers" | 
 | 	depends on PCI | 
 |  | 
 | config I2C_CCGX_UCSI | 
 | 	tristate | 
 | 	help | 
 | 	  A common module to provide an API to instantiate UCSI device | 
 | 	  for Cypress CCGx Type-C controller. Individual bus drivers | 
 | 	  need to select this one on demand. | 
 |  | 
 | config I2C_ALI1535 | 
 | 	tristate "ALI 1535" | 
 | 	depends on PCI && HAS_IOPORT | 
 | 	help | 
 | 	  If you say yes to this option, support will be included for the SMB | 
 | 	  Host controller on Acer Labs Inc. (ALI) M1535 South Bridges.  The SMB | 
 | 	  controller is part of the 7101 device, which is an ACPI-compliant | 
 | 	  Power Management Unit (PMU). | 
 |  | 
 | 	  This driver can also be built as a module.  If so, the module | 
 | 	  will be called i2c-ali1535. | 
 |  | 
 | config I2C_ALI1563 | 
 | 	tristate "ALI 1563" | 
 | 	depends on PCI && HAS_IOPORT | 
 | 	help | 
 | 	  If you say yes to this option, support will be included for the SMB | 
 | 	  Host controller on Acer Labs Inc. (ALI) M1563 South Bridges.  The SMB | 
 | 	  controller is part of the 7101 device, which is an ACPI-compliant | 
 | 	  Power Management Unit (PMU). | 
 |  | 
 | 	  This driver can also be built as a module.  If so, the module | 
 | 	  will be called i2c-ali1563. | 
 |  | 
 | config I2C_ALI15X3 | 
 | 	tristate "ALI 15x3" | 
 | 	depends on PCI && HAS_IOPORT | 
 | 	help | 
 | 	  If you say yes to this option, support will be included for the | 
 | 	  Acer Labs Inc. (ALI) M1514 and M1543 motherboard I2C interfaces. | 
 |  | 
 | 	  This driver can also be built as a module.  If so, the module | 
 | 	  will be called i2c-ali15x3. | 
 |  | 
 | config I2C_AMD756 | 
 | 	tristate "AMD 756/766/768/8111 and nVidia nForce" | 
 | 	depends on PCI && HAS_IOPORT | 
 | 	help | 
 | 	  If you say yes to this option, support will be included for the AMD | 
 | 	  756/766/768 mainboard I2C interfaces.  The driver also includes | 
 | 	  support for the first (SMBus 1.0) I2C interface of the AMD 8111 and | 
 | 	  the nVidia nForce I2C interface. | 
 |  | 
 | 	  This driver can also be built as a module.  If so, the module | 
 | 	  will be called i2c-amd756. | 
 |  | 
 | config I2C_AMD8111 | 
 | 	tristate "AMD 8111" | 
 | 	depends on PCI && HAS_IOPORT | 
 | 	help | 
 | 	  If you say yes to this option, support will be included for the | 
 | 	  second (SMBus 2.0) AMD 8111 mainboard I2C interface. | 
 |  | 
 | 	  This driver can also be built as a module.  If so, the module | 
 | 	  will be called i2c-amd8111. | 
 |  | 
 | config I2C_AMD_MP2 | 
 | 	tristate "AMD MP2 PCIe" | 
 | 	depends on PCI && ACPI | 
 | 	help | 
 | 	  If you say yes to this option, support will be included for the AMD | 
 | 	  MP2 PCIe I2C adapter. | 
 |  | 
 | 	  This driver can also be built as modules.  If so, the modules will | 
 | 	  be called i2c-amd-mp2-pci and i2c-amd-mp2-plat. | 
 |  | 
 | config I2C_AMD_ASF | 
 | 	tristate "AMD ASF I2C Controller Support" | 
 | 	depends on I2C_PIIX4 | 
 | 	select I2C_SLAVE | 
 | 	help | 
 | 	  This option enables support for the AMD ASF (Alert Standard Format) | 
 | 	  I2C controller. The AMD ASF controller is an SMBus controller with | 
 | 	  built-in ASF functionality, allowing it to issue generic SMBus | 
 | 	  packets and communicate with the DASH controller using MCTP over | 
 | 	  ASF. | 
 |  | 
 | 	  If you have an AMD system with ASF support and want to enable this | 
 | 	  functionality, say Y or M here. If unsure, say N. | 
 |  | 
 | 	  To compile this driver as a module, choose M here: the module will | 
 | 	  be called i2c_amd_asf_plat. | 
 |  | 
 | config I2C_HIX5HD2 | 
 | 	tristate "Hix5hd2 high-speed I2C driver" | 
 | 	depends on ARCH_HISI || ARCH_HIX5HD2 || COMPILE_TEST | 
 | 	help | 
 | 	  Say Y here to include support for the high-speed I2C controller | 
 | 	  used in HiSilicon hix5hd2 SoCs. | 
 |  | 
 | 	  This driver can also be built as a module. If so, the module | 
 | 	  will be called i2c-hix5hd2. | 
 |  | 
 | config I2C_I801 | 
 | 	tristate "Intel 82801 (ICH/PCH)" | 
 | 	depends on PCI && HAS_IOPORT | 
 | 	select P2SB if X86 | 
 | 	select CHECK_SIGNATURE if X86 && DMI | 
 | 	select I2C_SMBUS | 
 | 	help | 
 | 	  If you say yes to this option, support will be included for the Intel | 
 | 	  801 family of mainboard I2C interfaces.  Specifically, the following | 
 | 	  versions of the chipset are supported: | 
 | 	    82801AA | 
 | 	    82801AB | 
 | 	    82801BA | 
 | 	    82801CA/CAM | 
 | 	    82801DB | 
 | 	    82801EB/ER (ICH5/ICH5R) | 
 | 	    6300ESB | 
 | 	    ICH6 | 
 | 	    ICH7 | 
 | 	    ESB2 | 
 | 	    ICH8 | 
 | 	    ICH9 | 
 | 	    EP80579 (Tolapai) | 
 | 	    ICH10 | 
 | 	    5/3400 Series (PCH) | 
 | 	    6 Series (PCH) | 
 | 	    Patsburg (PCH) | 
 | 	    DH89xxCC (PCH) | 
 | 	    Panther Point (PCH) | 
 | 	    Lynx Point (PCH) | 
 | 	    Avoton (SOC) | 
 | 	    Wellsburg (PCH) | 
 | 	    Coleto Creek (PCH) | 
 | 	    Wildcat Point (PCH) | 
 | 	    BayTrail (SOC) | 
 | 	    Braswell (SOC) | 
 | 	    Sunrise Point (PCH) | 
 | 	    Kaby Lake (PCH) | 
 | 	    DNV (SOC) | 
 | 	    Broxton (SOC) | 
 | 	    Lewisburg (PCH) | 
 | 	    Gemini Lake (SOC) | 
 | 	    Cannon Lake (PCH) | 
 | 	    Cedar Fork (PCH) | 
 | 	    Ice Lake (PCH) | 
 | 	    Comet Lake (PCH) | 
 | 	    Elkhart Lake (PCH) | 
 | 	    Tiger Lake (PCH) | 
 | 	    Jasper Lake (SOC) | 
 | 	    Emmitsburg (PCH) | 
 | 	    Alder Lake (PCH) | 
 | 	    Raptor Lake (PCH) | 
 | 	    Meteor Lake (SOC and PCH) | 
 | 	    Birch Stream (SOC) | 
 | 	    Arrow Lake (SOC) | 
 | 	    Panther Lake (SOC) | 
 |  | 
 | 	  This driver can also be built as a module.  If so, the module | 
 | 	  will be called i2c-i801. | 
 |  | 
 | config I2C_I801_MUX | 
 | 	def_bool I2C_I801 | 
 | 	depends on DMI && I2C_MUX_GPIO | 
 | 	depends on !(I2C_I801=y && I2C_MUX=m) | 
 | 	help | 
 | 	  Optional support for multiplexed SMBUS on certain systems with | 
 | 	  more than 8 memory slots. | 
 |  | 
 | config I2C_ISCH | 
 | 	tristate "Intel SCH SMBus 1.0" | 
 | 	depends on PCI && HAS_IOPORT | 
 | 	select LPC_SCH | 
 | 	help | 
 | 	  Say Y here if you want to use SMBus controller on the Intel SCH | 
 | 	  based systems. | 
 |  | 
 | 	  This driver can also be built as a module. If so, the module | 
 | 	  will be called i2c-isch. | 
 |  | 
 | config I2C_ISMT | 
 | 	tristate "Intel iSMT SMBus Controller" | 
 | 	depends on PCI && X86 | 
 | 	help | 
 | 	  If you say yes to this option, support will be included for the Intel | 
 | 	  iSMT SMBus host controller interface. | 
 |  | 
 | 	  This driver can also be built as a module.  If so, the module will be | 
 | 	  called i2c-ismt. | 
 |  | 
 | config I2C_PIIX4 | 
 | 	tristate "Intel PIIX4 and compatible (ATI/AMD/Serverworks/Broadcom/SMSC)" | 
 | 	depends on PCI && HAS_IOPORT | 
 | 	select I2C_SMBUS | 
 | 	help | 
 | 	  If you say yes to this option, support will be included for the Intel | 
 | 	  PIIX4 family of mainboard I2C interfaces.  Specifically, the following | 
 | 	  versions of the chipset are supported (note that Serverworks is part | 
 | 	  of Broadcom): | 
 | 	    Intel PIIX4 | 
 | 	    Intel 440MX | 
 | 	    ATI IXP200 | 
 | 	    ATI IXP300 | 
 | 	    ATI IXP400 | 
 | 	    ATI SB600 | 
 | 	    ATI SB700/SP5100 | 
 | 	    ATI SB800 | 
 | 	    AMD Hudson-2 | 
 | 	    AMD ML | 
 | 	    AMD CZ | 
 | 	    Hygon CZ | 
 | 	    Serverworks OSB4 | 
 | 	    Serverworks CSB5 | 
 | 	    Serverworks CSB6 | 
 | 	    Serverworks HT-1000 | 
 | 	    Serverworks HT-1100 | 
 | 	    SMSC Victory66 | 
 |  | 
 | 	  Some AMD chipsets contain two PIIX4-compatible SMBus | 
 | 	  controllers. This driver will attempt to use both controllers | 
 | 	  on the SB700/SP5100, if they have been initialized by the BIOS. | 
 |  | 
 | 	  This driver can also be built as a module.  If so, the module | 
 | 	  will be called i2c-piix4. | 
 |  | 
 | config I2C_CHT_WC | 
 | 	tristate "Intel Cherry Trail Whiskey Cove PMIC smbus controller" | 
 | 	depends on INTEL_SOC_PMIC_CHTWC | 
 | 	help | 
 | 	  If you say yes to this option, support will be included for the | 
 | 	  SMBus controller found in the Intel Cherry Trail Whiskey Cove PMIC | 
 | 	  found on some Intel Cherry Trail systems. | 
 |  | 
 | 	  Note this controller is hooked up to a TI bq24292i charger-IC, | 
 | 	  combined with a FUSB302 Type-C port-controller as such it is advised | 
 | 	  to also select CONFIG_TYPEC_FUSB302=m. | 
 |  | 
 | config I2C_NFORCE2 | 
 | 	tristate "Nvidia nForce2, nForce3 and nForce4" | 
 | 	depends on PCI && HAS_IOPORT | 
 | 	help | 
 | 	  If you say yes to this option, support will be included for the Nvidia | 
 | 	  nForce2, nForce3 and nForce4 families of mainboard I2C interfaces. | 
 |  | 
 | 	  This driver can also be built as a module.  If so, the module | 
 | 	  will be called i2c-nforce2. | 
 |  | 
 | config I2C_NVIDIA_GPU | 
 | 	tristate "NVIDIA GPU I2C controller" | 
 | 	depends on PCI | 
 | 	select I2C_CCGX_UCSI | 
 | 	help | 
 | 	  If you say yes to this option, support will be included for the | 
 | 	  NVIDIA GPU I2C controller which is used to communicate with the GPU's | 
 | 	  Type-C controller. This driver can also be built as a module called | 
 | 	  i2c-nvidia-gpu. | 
 |  | 
 | config I2C_SIS5595 | 
 | 	tristate "SiS 5595" | 
 | 	depends on PCI && HAS_IOPORT | 
 | 	help | 
 | 	  If you say yes to this option, support will be included for the | 
 | 	  SiS5595 SMBus (a subset of I2C) interface. | 
 |  | 
 | 	  This driver can also be built as a module.  If so, the module | 
 | 	  will be called i2c-sis5595. | 
 |  | 
 | config I2C_SIS630 | 
 | 	tristate "SiS 630/730/964" | 
 | 	depends on PCI && HAS_IOPORT | 
 | 	help | 
 | 	  If you say yes to this option, support will be included for the | 
 | 	  SiS630, SiS730 and SiS964 SMBus (a subset of I2C) interface. | 
 |  | 
 | 	  This driver can also be built as a module.  If so, the module | 
 | 	  will be called i2c-sis630. | 
 |  | 
 | config I2C_SIS96X | 
 | 	tristate "SiS 96x" | 
 | 	depends on PCI && HAS_IOPORT | 
 | 	help | 
 | 	  If you say yes to this option, support will be included for the SiS | 
 | 	  96x SMBus (a subset of I2C) interfaces.  Specifically, the following | 
 | 	  chipsets are supported: | 
 | 	    645/961 | 
 | 	    645DX/961 | 
 | 	    645DX/962 | 
 | 	    648/961 | 
 | 	    650/961 | 
 | 	    735 | 
 | 	    745 | 
 |  | 
 | 	  This driver can also be built as a module.  If so, the module | 
 | 	  will be called i2c-sis96x. | 
 |  | 
 | config I2C_VIA | 
 | 	tristate "VIA VT82C586B" | 
 | 	depends on PCI && HAS_IOPORT | 
 | 	select I2C_ALGOBIT | 
 | 	help | 
 | 	  If you say yes to this option, support will be included for the VIA | 
 | 	  82C586B I2C interface | 
 |  | 
 | 	  This driver can also be built as a module.  If so, the module | 
 | 	  will be called i2c-via. | 
 |  | 
 | config I2C_VIAPRO | 
 | 	tristate "VIA VT82C596/82C686/82xx and CX700/VX8xx/VX900" | 
 | 	depends on PCI && HAS_IOPORT | 
 | 	help | 
 | 	  If you say yes to this option, support will be included for the VIA | 
 | 	  VT82C596 and later SMBus interface.  Specifically, the following | 
 | 	  chipsets are supported: | 
 | 	    VT82C596A/B | 
 | 	    VT82C686A/B | 
 | 	    VT8231 | 
 | 	    VT8233/A | 
 | 	    VT8235 | 
 | 	    VT8237R/A/S | 
 | 	    VT8251 | 
 | 	    CX700 | 
 | 	    VX800/VX820 | 
 | 	    VX855/VX875 | 
 | 	    VX900 | 
 |  | 
 | 	  This driver can also be built as a module.  If so, the module | 
 | 	  will be called i2c-viapro. | 
 |  | 
 | if ACPI | 
 |  | 
 | config I2C_ZHAOXIN | 
 | 	tristate "Zhaoxin I2C Interface" | 
 | 	depends on PCI || COMPILE_TEST | 
 | 	help | 
 | 	  If you say yes to this option, support will be included for the | 
 | 	  ZHAOXIN I2C interface | 
 |  | 
 | 	  This driver can also be built as a module. If so, the module | 
 | 	  will be called i2c-zhaoxin. | 
 |  | 
 | comment "ACPI drivers" | 
 |  | 
 | config I2C_SCMI | 
 | 	tristate "SMBus Control Method Interface" | 
 | 	help | 
 | 	  This driver supports the SMBus Control Method Interface. It needs the | 
 | 	  BIOS to declare ACPI control methods as described in the SMBus Control | 
 | 	  Method Interface specification. | 
 |  | 
 | 	  To compile this driver as a module, choose M here: | 
 | 	  the module will be called i2c-scmi. | 
 |  | 
 | endif # ACPI | 
 |  | 
 | comment "Mac SMBus host controller drivers" | 
 | 	depends on PPC_CHRP || PPC_PMAC | 
 |  | 
 | config I2C_HYDRA | 
 | 	tristate "CHRP Apple Hydra Mac I/O I2C interface" | 
 | 	depends on PCI && PPC_CHRP | 
 | 	select I2C_ALGOBIT | 
 | 	help | 
 | 	  This supports the use of the I2C interface in the Apple Hydra Mac | 
 | 	  I/O chip on some CHRP machines (e.g. the LongTrail).  Say Y if you | 
 | 	  have such a machine. | 
 |  | 
 | 	  This support is also available as a module.  If so, the module | 
 | 	  will be called i2c-hydra. | 
 |  | 
 | config I2C_POWERMAC | 
 | 	tristate "Powermac I2C interface" | 
 | 	depends on PPC_PMAC | 
 | 	default y | 
 | 	help | 
 | 	  This exposes the various PowerMac i2c interfaces to the linux i2c | 
 | 	  layer and to userland. It is used by various drivers on the PowerMac | 
 | 	  platform, and should generally be enabled. | 
 |  | 
 | 	  This support is also available as a module.  If so, the module | 
 | 	  will be called i2c-powermac. | 
 |  | 
 | comment "I2C system bus drivers (mostly embedded / system-on-chip)" | 
 |  | 
 | config I2C_ALTERA | 
 | 	tristate "Altera Soft IP I2C" | 
 | 	depends on ARCH_INTEL_SOCFPGA || NIOS2 || COMPILE_TEST | 
 | 	depends on OF | 
 | 	help | 
 | 	  If you say yes to this option, support will be included for the | 
 | 	  Altera Soft IP I2C interfaces on SoCFPGA and Nios2 architectures. | 
 |  | 
 | 	  This driver can also be built as a module.  If so, the module | 
 | 	  will be called i2c-altera. | 
 |  | 
 | config I2C_ASPEED | 
 | 	tristate "Aspeed I2C Controller" | 
 | 	depends on ARCH_ASPEED || COMPILE_TEST | 
 | 	help | 
 | 	  If you say yes to this option, support will be included for the | 
 | 	  Aspeed I2C controller. | 
 |  | 
 | 	  This driver can also be built as a module.  If so, the module | 
 | 	  will be called i2c-aspeed. | 
 |  | 
 | config I2C_AT91 | 
 | 	tristate "Atmel AT91 I2C Two-Wire interface (TWI)" | 
 | 	depends on ARCH_AT91 || COMPILE_TEST | 
 | 	help | 
 | 	  This supports the use of the I2C interface on Atmel AT91 | 
 | 	  processors. | 
 |  | 
 | 	  A serious problem is that there is no documented way to issue | 
 | 	  repeated START conditions for more than two messages, as needed | 
 | 	  to support combined I2C messages.  Use the i2c-gpio driver | 
 | 	  unless your system can cope with this limitation. | 
 |  | 
 | 	  Caution! at91rm9200, at91sam9261, at91sam9260, at91sam9263 devices | 
 | 	  don't have clock stretching in transmission mode. For that reason, | 
 | 	  you can encounter underrun issues causing premature stop sendings if | 
 | 	  the latency to fill the transmission register is too long. If you | 
 | 	  are facing this situation, use the i2c-gpio driver. | 
 |  | 
 | config I2C_AT91_SLAVE_EXPERIMENTAL | 
 | 	bool "Microchip AT91 I2C experimental slave mode" | 
 | 	depends on I2C_AT91 | 
 | 	select I2C_SLAVE | 
 | 	help | 
 | 	  If you say yes to this option, support for the slave mode will be | 
 | 	  added. Caution: do not use it for production. This feature has not | 
 | 	  been tested in a heavy way, help wanted. | 
 | 	  There are known bugs: | 
 | 	    - It can hang, on a SAMA5D4, after several transfers. | 
 | 	    - There are some mismatches with a SAMA5D4 as slave and a SAMA5D2 as | 
 | 	    master. | 
 |  | 
 | config I2C_AU1550 | 
 | 	tristate "Au1550/Au1200/Au1300 SMBus interface" | 
 | 	depends on MIPS_ALCHEMY | 
 | 	help | 
 | 	  If you say yes to this option, support will be included for the | 
 | 	  Au1550/Au1200/Au1300 SMBus interface. | 
 |  | 
 | 	  This driver can also be built as a module.  If so, the module | 
 | 	  will be called i2c-au1550. | 
 |  | 
 | config I2C_AXXIA | 
 | 	tristate "Axxia I2C controller" | 
 | 	depends on ARCH_AXXIA || COMPILE_TEST | 
 | 	default ARCH_AXXIA | 
 | 	select I2C_SLAVE | 
 | 	help | 
 | 	  Say yes if you want to support the I2C bus on Axxia platforms. | 
 |  | 
 | 	  Please note that this controller is limited to transfers of maximum | 
 | 	  255 bytes in length. Any attempt to to a larger transfer will return | 
 | 	  an error. | 
 |  | 
 | config I2C_BCM2835 | 
 | 	tristate "Broadcom BCM2835 I2C controller" | 
 | 	depends on ARCH_BCM2835 || ARCH_BRCMSTB || COMPILE_TEST | 
 | 	depends on COMMON_CLK | 
 | 	help | 
 | 	  If you say yes to this option, support will be included for the | 
 | 	  BCM2835 I2C controller. | 
 |  | 
 | 	  If you don't know what to do here, say N. | 
 |  | 
 | 	  This support is also available as a module.  If so, the module | 
 | 	  will be called i2c-bcm2835. | 
 |  | 
 | config I2C_BCM_IPROC | 
 | 	tristate "Broadcom iProc I2C controller" | 
 | 	depends on ARCH_BCM_IPROC || COMPILE_TEST | 
 | 	default ARCH_BCM_IPROC | 
 | 	select I2C_SLAVE | 
 | 	help | 
 | 	  If you say yes to this option, support will be included for the | 
 | 	  Broadcom iProc I2C controller. | 
 |  | 
 | 	  If you don't know what to do here, say N. | 
 |  | 
 | config I2C_BCM_KONA | 
 | 	tristate "BCM Kona I2C adapter" | 
 | 	depends on ARCH_BCM_MOBILE || COMPILE_TEST | 
 | 	default y if ARCH_BCM_MOBILE | 
 | 	help | 
 | 	  If you say yes to this option, support will be included for the | 
 | 	  I2C interface on the Broadcom Kona family of processors. | 
 |  | 
 | 	  If you do not need KONA I2C interface, say N. | 
 |  | 
 | config I2C_BRCMSTB | 
 | 	tristate "BRCM Settop/DSL I2C controller" | 
 | 	depends on ARCH_BCM2835 || ARCH_BCMBCA || ARCH_BRCMSTB || \ | 
 | 		   BMIPS_GENERIC || COMPILE_TEST | 
 | 	default ARCH_BCM2835 || ARCH_BCMBCA || ARCH_BRCMSTB || BMIPS_GENERIC | 
 | 	help | 
 | 	  If you say yes to this option, support will be included for the | 
 | 	  I2C interface on the Broadcom Settop/DSL SoCs. | 
 |  | 
 | 	  If you do not need I2C interface, say N. | 
 |  | 
 | config I2C_CADENCE | 
 | 	tristate "Cadence I2C Controller" | 
 | 	depends on ARCH_ZYNQ || ARM64 || XTENSA || RISCV || COMPILE_TEST | 
 | 	help | 
 | 	  Say yes here to select Cadence I2C Host Controller. This controller is | 
 | 	  e.g. used by Xilinx Zynq. | 
 |  | 
 | config I2C_CBUS_GPIO | 
 | 	tristate "CBUS I2C driver" | 
 | 	depends on GPIOLIB || COMPILE_TEST | 
 | 	help | 
 | 	  Support for CBUS access using I2C API. Mostly relevant for Nokia | 
 | 	  Internet Tablets (770, N800 and N810). | 
 |  | 
 | 	  This driver can also be built as a module.  If so, the module | 
 | 	  will be called i2c-cbus-gpio. | 
 |  | 
 | config I2C_CGBC | 
 | 	tristate "Congatec I2C Controller" | 
 | 	depends on MFD_CGBC | 
 | 	help | 
 | 	  This driver supports the 2 I2C interfaces on the Congatec Board | 
 | 	  Controller. | 
 |  | 
 | 	  This driver can also be built as a module. If so, the module will | 
 | 	  be called i2c-cgbc.ko. | 
 |  | 
 | config I2C_CPM | 
 | 	tristate "Freescale CPM1 or CPM2 (MPC8xx/826x)" | 
 | 	depends on CPM1 || CPM2 | 
 | 	help | 
 | 	  This supports the use of the I2C interface on Freescale | 
 | 	  processors with CPM1 or CPM2. | 
 |  | 
 | 	  This driver can also be built as a module.  If so, the module | 
 | 	  will be called i2c-cpm. | 
 |  | 
 | config I2C_DAVINCI | 
 | 	tristate "DaVinci I2C driver" | 
 | 	depends on ARCH_DAVINCI || ARCH_KEYSTONE || COMPILE_TEST | 
 | 	help | 
 | 	  Support for TI DaVinci I2C controller driver. | 
 |  | 
 | 	  This driver can also be built as a module.  If so, the module | 
 | 	  will be called i2c-davinci. | 
 |  | 
 | 	  Please note that this driver might be needed to bring up other | 
 | 	  devices such as DaVinci NIC. | 
 | 	  For details please see http://www.ti.com/davinci | 
 |  | 
 | config I2C_DESIGNWARE_CORE | 
 | 	tristate "Synopsys DesignWare I2C adapter" | 
 | 	select REGMAP | 
 | 	help | 
 | 	  This option enables support for the Synopsys DesignWare I2C adapter. | 
 | 	  This driver includes support for the I2C host on the Synopsys | 
 | 	  Designware I2C adapter. | 
 |  | 
 | 	  To compile the driver as a module, choose M here: the module will be | 
 | 	  called i2c-designware-core. | 
 |  | 
 | if I2C_DESIGNWARE_CORE | 
 |  | 
 | config I2C_DESIGNWARE_SLAVE | 
 | 	bool "Synopsys DesignWare Slave" | 
 | 	select I2C_SLAVE | 
 | 	help | 
 | 	  If you say yes to this option, support will be included for the | 
 | 	  Synopsys DesignWare I2C slave adapter. | 
 |  | 
 | config I2C_DESIGNWARE_PLATFORM | 
 | 	tristate "Synopsys DesignWare Platform driver" | 
 | 	depends on (ACPI && COMMON_CLK) || !ACPI | 
 | 	select MFD_SYSCON if MIPS_BAIKAL_T1 | 
 | 	default I2C_DESIGNWARE_CORE | 
 | 	help | 
 | 	  If you say yes to this option, support will be included for the | 
 | 	  Synopsys DesignWare I2C adapters on the platform bus. | 
 |  | 
 | 	  This driver can also be built as a module.  If so, the module | 
 | 	  will be called i2c-designware-platform. | 
 |  | 
 | config I2C_DESIGNWARE_AMDISP | 
 | 	tristate "Synopsys DesignWare Platform for AMDISP" | 
 | 	depends on DRM_AMD_ISP || COMPILE_TEST | 
 | 	depends on I2C_DESIGNWARE_CORE | 
 | 	help | 
 | 	  If you say yes to this option, support will be included for the | 
 | 	  AMDISP Synopsys DesignWare I2C adapter. | 
 |  | 
 | 	  This driver can also be built as a module.  If so, the module | 
 | 	  will be called amd_isp_i2c_designware. | 
 |  | 
 | config I2C_DESIGNWARE_AMDPSP | 
 | 	bool "AMD PSP I2C semaphore support" | 
 | 	depends on ACPI | 
 | 	depends on CRYPTO_DEV_SP_PSP | 
 | 	depends on PCI | 
 | 	depends on I2C_DESIGNWARE_PLATFORM | 
 | 	depends on (I2C_DESIGNWARE_PLATFORM=y && CRYPTO_DEV_CCP_DD=y) || \ | 
 | 		   (I2C_DESIGNWARE_PLATFORM=m && CRYPTO_DEV_CCP_DD) | 
 | 	help | 
 | 	  This driver enables managed host access to the selected I2C bus shared | 
 | 	  between AMD CPU and AMD PSP. | 
 |  | 
 | 	  You should say Y if running on an AMD system equipped with the PSP. | 
 |  | 
 | config I2C_DESIGNWARE_BAYTRAIL | 
 | 	bool "Intel Baytrail I2C semaphore support" | 
 | 	depends on ACPI | 
 | 	depends on I2C_DESIGNWARE_PLATFORM | 
 | 	depends on (I2C_DESIGNWARE_PLATFORM=m && IOSF_MBI) || \ | 
 | 		   (I2C_DESIGNWARE_PLATFORM=y && IOSF_MBI=y) | 
 | 	help | 
 | 	  This driver enables managed host access to the PMIC I2C bus on select | 
 | 	  Intel BayTrail platforms using the X-Powers AXP288 PMIC. It allows | 
 | 	  the host to request uninterrupted access to the PMIC's I2C bus from | 
 | 	  the platform firmware controlling it. You should say Y if running on | 
 | 	  a BayTrail system using the AXP288. | 
 |  | 
 | config I2C_DESIGNWARE_PCI | 
 | 	tristate "Synopsys DesignWare PCI driver" | 
 | 	depends on PCI | 
 | 	select I2C_CCGX_UCSI | 
 | 	help | 
 | 	  If you say yes to this option, support will be included for the | 
 | 	  Synopsys DesignWare I2C adapters on the PCI bus. Only master mode is | 
 | 	  supported. | 
 |  | 
 | 	  This driver can also be built as a module.  If so, the module | 
 | 	  will be called i2c-designware-pci. | 
 |  | 
 | endif | 
 |  | 
 | config I2C_DIGICOLOR | 
 | 	tristate "Conexant Digicolor I2C driver" | 
 | 	depends on ARCH_DIGICOLOR || COMPILE_TEST | 
 | 	help | 
 | 	  Support for Conexant Digicolor SoCs (CX92755) I2C controller driver. | 
 |  | 
 | 	  This driver can also be built as a module.  If so, the module | 
 | 	  will be called i2c-digicolor. | 
 |  | 
 | config I2C_EG20T | 
 | 	tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) I2C" | 
 | 	depends on PCI && (X86_32 || MIPS || COMPILE_TEST) | 
 | 	help | 
 | 	  This driver is for PCH(Platform controller Hub) I2C of EG20T which | 
 | 	  is an IOH(Input/Output Hub) for x86 embedded processor. | 
 | 	  This driver can access PCH I2C bus device. | 
 |  | 
 | 	  This driver also can be used for LAPIS Semiconductor IOH(Input/ | 
 | 	  Output Hub), ML7213, ML7223 and ML7831. | 
 | 	  ML7213 IOH is for IVI(In-Vehicle Infotainment) use, ML7223 IOH is | 
 | 	  for MP(Media Phone) use and ML7831 IOH is for general purpose use. | 
 | 	  ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series. | 
 | 	  ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH. | 
 |  | 
 | config I2C_EMEV2 | 
 | 	tristate "EMMA Mobile series I2C adapter" | 
 | 	depends on HAVE_CLK | 
 | 	select I2C_SLAVE | 
 | 	help | 
 | 	  If you say yes to this option, support will be included for the | 
 | 	  I2C interface on the Renesas Electronics EM/EV family of processors. | 
 |  | 
 | config I2C_EXYNOS5 | 
 | 	tristate "Exynos high-speed I2C driver" | 
 | 	depends on OF | 
 | 	depends on ARCH_EXYNOS || COMPILE_TEST | 
 | 	default y if ARCH_EXYNOS | 
 | 	help | 
 | 	  High-speed I2C controller on Samsung Exynos5 and newer Samsung SoCs: | 
 | 	  Exynos5250, Exynos5260, Exynos5410, Exynos542x, Exynos5800, | 
 | 	  Exynos5433, Exynos7, Exynos850 and ExynosAutoV9. | 
 | 	  Choose Y here only if you build for such Samsung SoC. | 
 |  | 
 | config I2C_GPIO | 
 | 	tristate "GPIO-based bitbanging I2C" | 
 | 	depends on GPIOLIB || COMPILE_TEST | 
 | 	select I2C_ALGOBIT | 
 | 	help | 
 | 	  This is a very simple bitbanging I2C driver utilizing the | 
 | 	  arch-neutral GPIO API to control the SCL and SDA lines. | 
 |  | 
 | config I2C_GPIO_FAULT_INJECTOR | 
 | 	bool "GPIO-based fault injector" | 
 | 	depends on I2C_GPIO | 
 | 	help | 
 | 	  This adds some functionality to the i2c-gpio driver which can inject | 
 | 	  faults to an I2C bus, so another bus master can be stress-tested. | 
 | 	  This is for debugging. If unsure, say 'no'. | 
 |  | 
 | config I2C_GXP | 
 | 	tristate "GXP I2C Interface" | 
 | 	depends on ARCH_HPE_GXP || COMPILE_TEST | 
 | 	help | 
 | 	  This enables support for GXP I2C interface. The I2C engines can be | 
 | 	  either I2C master or I2C slaves. | 
 |  | 
 | config I2C_HIGHLANDER | 
 | 	tristate "Highlander FPGA SMBus interface" | 
 | 	depends on SH_HIGHLANDER || COMPILE_TEST | 
 | 	help | 
 | 	  If you say yes to this option, support will be included for | 
 | 	  the SMBus interface located in the FPGA on various Highlander | 
 | 	  boards, particularly the R0P7780LC0011RL and R0P7785LC0011RL | 
 | 	  FPGAs. This is wholly unrelated to the SoC I2C. | 
 |  | 
 | 	  This driver can also be built as a module.  If so, the module | 
 | 	  will be called i2c-highlander. | 
 |  | 
 | config I2C_HISI | 
 | 	tristate "HiSilicon I2C controller" | 
 | 	depends on ARM64 || COMPILE_TEST | 
 | 	help | 
 | 	  Say Y here if you want to have Hisilicon I2C controller support | 
 | 	  available on the Kunpeng Server. | 
 |  | 
 | 	  This driver can also be built as a module. If so, the module | 
 | 	  will be called i2c-hisi. | 
 |  | 
 | config I2C_IBM_IIC | 
 | 	tristate "IBM PPC 4xx on-chip I2C interface" | 
 | 	depends on 4xx | 
 | 	help | 
 | 	  Say Y here if you want to use IIC peripheral found on | 
 | 	  embedded IBM PPC 4xx based systems. | 
 |  | 
 | 	  This driver can also be built as a module.  If so, the module | 
 | 	  will be called i2c-ibm_iic. | 
 |  | 
 | config I2C_IMG | 
 | 	tristate "Imagination Technologies I2C SCB Controller" | 
 | 	depends on MIPS || COMPILE_TEST | 
 | 	help | 
 | 	  Say Y here if you want to use the IMG I2C SCB controller, | 
 | 	  available on the TZ1090 and other IMG SoCs. | 
 |  | 
 | 	  This driver can also be built as a module.  If so, the module | 
 | 	  will be called i2c-img-scb. | 
 |  | 
 | config I2C_IMX | 
 | 	tristate "IMX I2C interface" | 
 | 	depends on ARCH_MXC || ARCH_LAYERSCAPE || ARCH_S32 || COLDFIRE \ | 
 | 		|| COMPILE_TEST | 
 | 	select I2C_SLAVE | 
 | 	help | 
 | 	  Say Y here if you want to use the IIC bus controller on | 
 | 	  the Freescale i.MX/MXC/S32G, Layerscape or ColdFire processors. | 
 |  | 
 | 	  This driver can also be built as a module. If so, the module | 
 | 	  will be called i2c-imx. | 
 |  | 
 | config I2C_IMX_LPI2C | 
 | 	tristate "IMX Low Power I2C interface" | 
 | 	depends on ARCH_MXC || COMPILE_TEST | 
 | 	select I2C_SLAVE | 
 | 	help | 
 | 	  Say Y here if you want to use the Low Power IIC bus controller | 
 | 	  on the Freescale i.MX processors. | 
 |  | 
 | 	  This driver can also be built as a module. If so, the module | 
 | 	  will be called i2c-imx-lpi2c. | 
 |  | 
 | config I2C_IOP3XX | 
 | 	tristate "Intel IXP4xx on-chip I2C interface" | 
 | 	depends on ARCH_IXP4XX || COMPILE_TEST | 
 | 	help | 
 | 	  Say Y here if you want to use the IIC bus controller on | 
 | 	  the Intel IXP4xx Network Processors. | 
 |  | 
 | 	  This driver can also be built as a module.  If so, the module | 
 | 	  will be called i2c-iop3xx. | 
 |  | 
 | config I2C_JZ4780 | 
 | 	tristate "JZ4780 I2C controller interface support" | 
 | 	depends on MIPS || COMPILE_TEST | 
 | 	help | 
 | 	 If you say yes to this option, support will be included for the | 
 | 	 Ingenic JZ4780 I2C controller. | 
 |  | 
 | 	 If you don't know what to do here, say N. | 
 |  | 
 | config I2C_K1 | 
 | 	tristate "SpacemiT K1 I2C adapter" | 
 | 	depends on ARCH_SPACEMIT || COMPILE_TEST | 
 | 	depends on OF | 
 | 	help | 
 | 	  This option enables support for the I2C interface on the SpacemiT K1 | 
 | 	  platform. | 
 |  | 
 | 	  If you enable this configuration, the kernel will include support for | 
 | 	  the I2C adapter specific to the SpacemiT K1 platform. This driver can | 
 | 	  be used to manage I2C bus transactions, which are necessary for | 
 | 	  interfacing with I2C peripherals such as sensors, EEPROMs, and other | 
 | 	  devices. | 
 |  | 
 | 	  This driver can also be built as a module.  If so, the | 
 | 	  module will be called `i2c-k1`. | 
 |  | 
 | config I2C_KEBA | 
 | 	tristate "KEBA I2C controller support" | 
 | 	depends on HAS_IOMEM | 
 | 	depends on KEBA_CP500 || COMPILE_TEST | 
 | 	select AUXILIARY_BUS | 
 | 	help | 
 | 	  This driver supports the I2C controller found in KEBA system FPGA | 
 | 	  devices. | 
 |  | 
 | 	  This driver can also be built as a module. If so, the module | 
 | 	  will be called i2c-keba. | 
 |  | 
 | config I2C_KEMPLD | 
 | 	tristate "Kontron COM I2C Controller" | 
 | 	depends on MFD_KEMPLD | 
 | 	help | 
 | 	  This enables support for the I2C bus interface on some Kontron ETX | 
 | 	  and COMexpress (ETXexpress) modules. | 
 |  | 
 | 	  This driver can also be built as a module. If so, the module | 
 | 	  will be called i2c-kempld. | 
 |  | 
 | config I2C_LPC2K | 
 | 	tristate "I2C bus support for NXP LPC2K/LPC178x/18xx/43xx" | 
 | 	depends on OF && (ARCH_LPC18XX || COMPILE_TEST) | 
 | 	help | 
 | 	  This driver supports the I2C interface found several NXP | 
 | 	  devices including LPC2xxx, LPC178x/7x and LPC18xx/43xx. | 
 |  | 
 | 	  This driver can also be built as a module.  If so, the module | 
 | 	  will be called i2c-lpc2k. | 
 |  | 
 | config I2C_LS2X | 
 | 	tristate "Loongson LS2X I2C adapter" | 
 | 	depends on MACH_LOONGSON64 || COMPILE_TEST | 
 | 	help | 
 | 	  If you say yes to this option, support will be included for the | 
 | 	  I2C interface on the Loongson-2K SoCs and Loongson LS7A bridge | 
 | 	  chip. | 
 |  | 
 | 	  This driver can also be built as a module. If so, the module | 
 | 	  will be called i2c-ls2x. | 
 |  | 
 | config I2C_MLXBF | 
 |         tristate "Mellanox BlueField I2C controller" | 
 |         depends on (MELLANOX_PLATFORM && ARM64) || COMPILE_TEST | 
 | 	depends on ACPI | 
 | 	select I2C_SLAVE | 
 |         help | 
 |           Enabling this option will add I2C SMBus support for Mellanox BlueField | 
 |           system. | 
 |  | 
 |           This driver can also be built as a module. If so, the module will be | 
 |           called i2c-mlxbf. | 
 |  | 
 |           This driver implements an I2C SMBus host controller and enables both | 
 |           master and slave functions. | 
 |  | 
 | config I2C_MESON | 
 | 	tristate "Amlogic Meson I2C controller" | 
 | 	depends on ARCH_MESON || COMPILE_TEST | 
 | 	depends on COMMON_CLK | 
 | 	help | 
 | 	  If you say yes to this option, support will be included for the | 
 | 	  I2C interface on the Amlogic Meson family of SoCs. | 
 |  | 
 | config I2C_MICROCHIP_CORE | 
 | 	tristate "Microchip FPGA I2C controller" | 
 | 	depends on ARCH_MICROCHIP_POLARFIRE || COMPILE_TEST | 
 | 	depends on OF | 
 | 	help | 
 | 	  If you say yes to this option, support will be included for the | 
 | 	  I2C interface on Microchip FPGAs. | 
 |  | 
 | 	  This driver can also be built as a module. If so, the module will be | 
 | 	  called i2c-microchip-core. | 
 |  | 
 | config I2C_MPC | 
 | 	tristate "MPC107/824x/85xx/512x/52xx/83xx/86xx" | 
 | 	depends on PPC | 
 | 	help | 
 | 	  If you say yes to this option, support will be included for the | 
 | 	  built-in I2C interface on the MPC107, Tsi107, MPC512x, MPC52xx, | 
 | 	  MPC8240, MPC8245, MPC83xx, MPC85xx and MPC8641 family processors. | 
 |  | 
 | 	  This driver can also be built as a module.  If so, the module | 
 | 	  will be called i2c-mpc. | 
 |  | 
 | config I2C_MT65XX | 
 | 	tristate "MediaTek I2C adapter" | 
 | 	depends on ARCH_MEDIATEK || COMPILE_TEST | 
 | 	help | 
 | 	  This selects the MediaTek(R) Integrated Inter Circuit bus driver | 
 | 	  for MT65xx and MT81xx. | 
 | 	  If you want to use MediaTek(R) I2C interface, say Y or M here. | 
 | 	  If unsure, say N. | 
 |  | 
 | config I2C_MT7621 | 
 | 	tristate "MT7621/MT7628 I2C Controller" | 
 | 	depends on (RALINK && (SOC_MT7620 || SOC_MT7621)) || ARCH_AIROHA || COMPILE_TEST | 
 | 	help | 
 | 	  Say Y here to include support for I2C controller in the | 
 | 	  MediaTek MT7621/MT7628 SoCs. | 
 |  | 
 | config I2C_MV64XXX | 
 | 	tristate "Marvell mv64xxx I2C Controller" | 
 | 	depends on PLAT_ORION || ARCH_SUNXI || ARCH_MVEBU || COMPILE_TEST | 
 | 	help | 
 | 	  If you say yes to this option, support will be included for the | 
 | 	  built-in I2C interface on the Marvell 64xxx line of host bridges. | 
 | 	  This driver is also used for Allwinner SoCs I2C controllers. | 
 |  | 
 | 	  This driver can also be built as a module.  If so, the module | 
 | 	  will be called i2c-mv64xxx. | 
 |  | 
 | config I2C_MXS | 
 | 	tristate "Freescale i.MX28 I2C interface" | 
 | 	depends on SOC_IMX28 || COMPILE_TEST | 
 | 	select STMP_DEVICE | 
 | 	help | 
 | 	  Say Y here if you want to use the I2C bus controller on | 
 | 	  the Freescale i.MX28 processors. | 
 |  | 
 | 	  This driver can also be built as a module.  If so, the module | 
 | 	  will be called i2c-mxs. | 
 |  | 
 | config I2C_NOMADIK | 
 | 	tristate "ST-Ericsson Nomadik/Ux500 I2C Controller" | 
 | 	depends on ARM_AMBA || COMPILE_TEST | 
 | 	help | 
 | 	  If you say yes to this option, support will be included for the | 
 | 	  I2C interface from ST-Ericsson's Nomadik and Ux500 architectures, | 
 | 	  as well as the STA2X11 PCIe I/O HUB. | 
 |  | 
 | config I2C_NPCM | 
 | 	tristate "Nuvoton I2C Controller" | 
 | 	depends on ARCH_NPCM || COMPILE_TEST | 
 | 	help | 
 | 	  If you say yes to this option, support will be included for the | 
 | 	  Nuvoton I2C controller, which is available on the NPCM BMC | 
 | 	  controllers. | 
 | 	  Driver can also support slave mode (select I2C_SLAVE). | 
 |  | 
 | config I2C_OCORES | 
 | 	tristate "OpenCores I2C Controller" | 
 | 	help | 
 | 	  If you say yes to this option, support will be included for the | 
 | 	  OpenCores I2C controller. For details see | 
 | 	  http://www.opencores.org/projects.cgi/web/i2c/overview | 
 |  | 
 | 	  This driver can also be built as a module.  If so, the module | 
 | 	  will be called i2c-ocores. | 
 |  | 
 | config I2C_OMAP | 
 | 	tristate "OMAP I2C adapter" | 
 | 	depends on ARCH_OMAP || ARCH_K3 || COMPILE_TEST | 
 | 	default MACH_OMAP_OSK | 
 | 	select MULTIPLEXER | 
 | 	help | 
 | 	  If you say yes to this option, support will be included for the | 
 | 	  I2C interface on the Texas Instruments OMAP1/2 family of processors. | 
 | 	  Like OMAP1510/1610/1710/5912 and OMAP242x. | 
 | 	  For details see http://www.ti.com/omap. | 
 |  | 
 | config I2C_OWL | 
 | 	tristate "Actions Semiconductor Owl I2C Controller" | 
 | 	depends on ARCH_ACTIONS || COMPILE_TEST | 
 | 	help | 
 | 	  Say Y here if you want to use the I2C bus controller on | 
 | 	  the Actions Semiconductor Owl SoC's. | 
 |  | 
 | config I2C_PASEMI | 
 | 	tristate "PA Semi SMBus interface" | 
 | 	depends on PPC_PASEMI && PCI | 
 | 	help | 
 | 	  Supports the PA Semi PWRficient on-chip SMBus interfaces. | 
 |  | 
 | config I2C_APPLE | 
 | 	tristate "Apple SMBus platform driver" | 
 | 	depends on !I2C_PASEMI | 
 | 	depends on ARCH_APPLE || COMPILE_TEST | 
 | 	default ARCH_APPLE | 
 | 	help | 
 | 	  Say Y here if you want to use the I2C controller present on Apple | 
 | 	  Silicon chips such as the M1. | 
 |  | 
 | 	  This driver can also be built as a module. If so, the module | 
 | 	  will be called i2c-apple. | 
 |  | 
 | config I2C_PCA_PLATFORM | 
 | 	tristate "PCA9564/PCA9665 as platform device" | 
 | 	select I2C_ALGOPCA | 
 | 	help | 
 | 	  This driver supports a memory mapped Philips PCA9564/PCA9665 | 
 | 	  parallel bus to I2C bus controller. | 
 |  | 
 | 	  This driver can also be built as a module.  If so, the module | 
 | 	  will be called i2c-pca-platform. | 
 |  | 
 | config I2C_PNX | 
 | 	tristate "I2C bus support for Philips PNX and NXP LPC targets" | 
 | 	depends on ARCH_LPC32XX || COMPILE_TEST | 
 | 	help | 
 | 	  This driver supports the Philips IP3204 I2C IP block master and/or | 
 | 	  slave controller | 
 |  | 
 | 	  This driver can also be built as a module.  If so, the module | 
 | 	  will be called i2c-pnx. | 
 |  | 
 | config I2C_PXA | 
 | 	tristate "Intel PXA2XX I2C adapter" | 
 | 	depends on ARCH_PXA || ARCH_MMP || ARCH_MVEBU || (X86_32 && PCI && OF) || COMPILE_TEST | 
 | 	help | 
 | 	  If you have devices in the PXA I2C bus, say yes to this option. | 
 | 	  This driver can also be built as a module.  If so, the module | 
 | 	  will be called i2c-pxa. | 
 |  | 
 | config I2C_PXA_PCI | 
 | 	def_bool I2C_PXA && X86_32 && PCI && OF | 
 |  | 
 | config I2C_PXA_SLAVE | 
 | 	bool "Intel PXA2XX I2C Slave comms support" | 
 | 	depends on I2C_PXA && !X86_32 | 
 | 	select I2C_SLAVE | 
 | 	help | 
 | 	  Support I2C slave mode communications on the PXA I2C bus.  This | 
 | 	  is necessary for systems where the PXA may be a target on the | 
 | 	  I2C bus. | 
 |  | 
 | config I2C_QCOM_CCI | 
 | 	tristate "Qualcomm Camera Control Interface" | 
 | 	depends on ARCH_QCOM || COMPILE_TEST | 
 | 	help | 
 | 	  If you say yes to this option, support will be included for the | 
 | 	  built-in camera control interface on the Qualcomm SoCs. | 
 |  | 
 | 	  This driver can also be built as a module.  If so, the module | 
 | 	  will be called i2c-qcom-cci. | 
 |  | 
 | config I2C_QCOM_GENI | 
 | 	tristate "Qualcomm Technologies Inc.'s GENI based I2C controller" | 
 | 	depends on ARCH_QCOM || COMPILE_TEST | 
 | 	depends on QCOM_GENI_SE | 
 | 	help | 
 | 	  This driver supports GENI serial engine based I2C controller in | 
 | 	  master mode on the Qualcomm Technologies Inc.'s SoCs. If you say | 
 | 	  yes to this option, support will be included for the built-in I2C | 
 | 	  interface on the Qualcomm Technologies Inc.'s SoCs. | 
 |  | 
 | 	  This driver can also be built as a module.  If so, the module | 
 | 	  will be called i2c-qcom-geni. | 
 |  | 
 | config I2C_QUP | 
 | 	tristate "Qualcomm QUP based I2C controller" | 
 | 	depends on ARCH_QCOM || COMPILE_TEST | 
 | 	help | 
 | 	  If you say yes to this option, support will be included for the | 
 | 	  built-in I2C interface on the Qualcomm SoCs. | 
 |  | 
 | 	  This driver can also be built as a module.  If so, the module | 
 | 	  will be called i2c-qup. | 
 |  | 
 | config I2C_RIIC | 
 | 	tristate "Renesas RIIC adapter" | 
 | 	depends on ARCH_RENESAS || COMPILE_TEST | 
 | 	help | 
 | 	  If you say yes to this option, support will be included for the | 
 | 	  Renesas RIIC I2C interface. | 
 |  | 
 | 	  This driver can also be built as a module.  If so, the module | 
 | 	  will be called i2c-riic. | 
 |  | 
 | config I2C_RK3X | 
 | 	tristate "Rockchip RK3xxx I2C adapter" | 
 | 	depends on OF && COMMON_CLK | 
 | 	help | 
 | 	  Say Y here to include support for the I2C adapter in Rockchip RK3xxx | 
 | 	  SoCs. | 
 |  | 
 | 	  This driver can also be built as a module. If so, the module will | 
 | 	  be called i2c-rk3x. | 
 |  | 
 | config I2C_RTL9300 | 
 | 	tristate "Realtek RTL9300 I2C controller" | 
 | 	depends on MACH_REALTEK_RTL || COMPILE_TEST | 
 | 	help | 
 | 	  Say Y here to include support for the I2C controller in Realtek | 
 | 	  RTL9300 SoCs. | 
 |  | 
 | 	  This driver can also be built as a module. If so, the module will | 
 | 	  be called i2c-rtl9300. | 
 |  | 
 | config I2C_RZV2M | 
 | 	tristate "Renesas RZ/V2M adapter" | 
 | 	depends on ARCH_RENESAS || COMPILE_TEST | 
 | 	help | 
 | 	  If you say yes to this option, support will be included for the | 
 | 	  Renesas RZ/V2M I2C interface. | 
 |  | 
 | 	  This driver can also be built as a module.  If so, the module | 
 | 	  will be called i2c-rzv2m. | 
 |  | 
 | config I2C_S3C2410 | 
 | 	tristate "S3C/Exynos I2C Driver" | 
 | 	depends on ARCH_EXYNOS || ARCH_S3C64XX || ARCH_S5PV210 || COMPILE_TEST | 
 | 	help | 
 | 	  Say Y here to include support for I2C controller in the | 
 | 	  Samsung SoCs (S3C, S5Pv210, Exynos). | 
 |  | 
 | config I2C_SH7760 | 
 | 	tristate "Renesas SH7760 I2C Controller" | 
 | 	depends on CPU_SUBTYPE_SH7760 | 
 | 	help | 
 | 	  This driver supports the 2 I2C interfaces on the Renesas SH7760. | 
 |  | 
 | 	  This driver can also be built as a module.  If so, the module | 
 | 	  will be called i2c-sh7760. | 
 |  | 
 | config I2C_SH_MOBILE | 
 | 	tristate "SuperH Mobile I2C Controller" | 
 | 	depends on ARCH_SHMOBILE || ARCH_RENESAS || COMPILE_TEST | 
 | 	help | 
 | 	  If you say yes to this option, support will be included for the | 
 | 	  built-in I2C interface on the Renesas SH-Mobile processor. | 
 |  | 
 | 	  This driver can also be built as a module.  If so, the module | 
 | 	  will be called i2c-sh_mobile. | 
 |  | 
 | config I2C_SIMTEC | 
 | 	tristate "Simtec Generic I2C interface" | 
 | 	select I2C_ALGOBIT | 
 | 	help | 
 | 	  If you say yes to this option, support will be included for | 
 | 	  the Simtec Generic I2C interface. This driver is for the | 
 | 	  simple I2C bus used on newer Simtec products for general | 
 | 	  I2C, such as DDC on the Simtec BBD2016A. | 
 |  | 
 | 	  This driver can also be built as a module. If so, the module | 
 | 	  will be called i2c-simtec. | 
 |  | 
 | config I2C_SPRD | 
 | 	tristate "Spreadtrum I2C interface" | 
 | 	depends on I2C=y && (ARCH_SPRD || COMPILE_TEST) | 
 | 	depends on COMMON_CLK | 
 | 	help | 
 | 	  If you say yes to this option, support will be included for the | 
 | 	  Spreadtrum I2C interface. | 
 |  | 
 | config I2C_ST | 
 | 	tristate "STMicroelectronics SSC I2C support" | 
 | 	depends on ARCH_STI || COMPILE_TEST | 
 | 	help | 
 | 	  Enable this option to add support for STMicroelectronics SoCs | 
 | 	  hardware SSC (Synchronous Serial Controller) as an I2C controller. | 
 |  | 
 | 	  This driver can also be built as module. If so, the module | 
 | 	  will be called i2c-st. | 
 |  | 
 | config I2C_STM32F4 | 
 | 	tristate "STMicroelectronics STM32F4 I2C support" | 
 | 	depends on ARCH_STM32 || COMPILE_TEST | 
 | 	help | 
 | 	  Enable this option to add support for STM32 I2C controller embedded | 
 | 	  in STM32F4 SoCs. | 
 |  | 
 | 	  This driver can also be built as module. If so, the module | 
 | 	  will be called i2c-stm32f4. | 
 |  | 
 | config I2C_STM32F7 | 
 | 	tristate "STMicroelectronics STM32F7 I2C support" | 
 | 	depends on ARCH_STM32 || COMPILE_TEST | 
 | 	select I2C_SLAVE | 
 | 	select I2C_SMBUS | 
 | 	help | 
 | 	  Enable this option to add support for STM32 I2C controller embedded | 
 | 	  in STM32F7 SoCs. | 
 |  | 
 | 	  This driver can also be built as module. If so, the module | 
 | 	  will be called i2c-stm32f7. | 
 |  | 
 | config I2C_SUN6I_P2WI | 
 | 	tristate "Allwinner sun6i internal P2WI controller" | 
 | 	depends on RESET_CONTROLLER | 
 | 	depends on MACH_SUN6I || COMPILE_TEST | 
 | 	help | 
 | 	  If you say yes to this option, support will be included for the | 
 | 	  P2WI (Push/Pull 2 Wire Interface) controller embedded in some sunxi | 
 | 	  SOCs. | 
 | 	  The P2WI looks like an SMBus controller (which supports only byte | 
 | 	  accesses), except that it only supports one slave device. | 
 | 	  This interface is used to connect to specific PMIC devices (like the | 
 | 	  AXP221). | 
 |  | 
 | config I2C_SYNQUACER | 
 | 	tristate "Socionext SynQuacer I2C controller" | 
 | 	depends on ARCH_SYNQUACER || COMPILE_TEST | 
 | 	help | 
 | 	  Say Y here to include support for the I2C controller used in some | 
 | 	  Fujitsu and Socionext SoCs. | 
 |  | 
 | 	  This driver can also be built as a module. If so, the module | 
 | 	  will be called i2c-synquacer. | 
 |  | 
 | config I2C_TEGRA | 
 | 	tristate "NVIDIA Tegra internal I2C controller" | 
 | 	depends on ARCH_TEGRA || (COMPILE_TEST && (ARC || ARM || ARM64 || M68K || RISCV || SUPERH || SPARC)) | 
 | 	# COMPILE_TEST needs architectures with readsX()/writesX() primitives | 
 | 	help | 
 | 	  If you say yes to this option, support will be included for the | 
 | 	  I2C controller embedded in NVIDIA Tegra SOCs | 
 |  | 
 | config I2C_TEGRA_BPMP | 
 | 	tristate "NVIDIA Tegra BPMP I2C controller" | 
 | 	depends on TEGRA_BPMP || COMPILE_TEST | 
 | 	default y if TEGRA_BPMP | 
 | 	help | 
 | 	  If you say yes to this option, support will be included for the I2C | 
 | 	  controller embedded in NVIDIA Tegra SoCs accessed via the BPMP. | 
 |  | 
 | 	  This I2C driver is a 'virtual' I2C driver. The real driver is part | 
 | 	  of the BPMP firmware, and this driver merely communicates with that | 
 | 	  real driver. | 
 |  | 
 | config I2C_UNIPHIER | 
 | 	tristate "UniPhier FIFO-less I2C controller" | 
 | 	depends on ARCH_UNIPHIER || COMPILE_TEST | 
 | 	help | 
 | 	  If you say yes to this option, support will be included for | 
 | 	  the UniPhier FIFO-less I2C interface embedded in PH1-LD4, PH1-sLD8, | 
 | 	  or older UniPhier SoCs. | 
 |  | 
 | config I2C_UNIPHIER_F | 
 | 	tristate "UniPhier FIFO-builtin I2C controller" | 
 | 	depends on ARCH_UNIPHIER || COMPILE_TEST | 
 | 	help | 
 | 	  If you say yes to this option, support will be included for | 
 | 	  the UniPhier FIFO-builtin I2C interface embedded in PH1-Pro4, | 
 | 	  PH1-Pro5, or newer UniPhier SoCs. | 
 |  | 
 | config I2C_VERSATILE | 
 | 	tristate "ARM Versatile/Realview I2C bus support" | 
 | 	depends on ARCH_MPS2 || ARCH_VERSATILE || ARCH_REALVIEW || ARCH_VEXPRESS || COMPILE_TEST | 
 | 	select I2C_ALGOBIT | 
 | 	help | 
 | 	  Say yes if you want to support the I2C serial bus on ARMs Versatile | 
 | 	  range of platforms. | 
 |  | 
 | 	  This driver can also be built as a module.  If so, the module | 
 | 	  will be called i2c-versatile. | 
 |  | 
 | config I2C_WMT | 
 | 	tristate "Wondermedia WM8xxx SoC I2C bus support" | 
 | 	depends on ARCH_VT8500 || COMPILE_TEST | 
 | 	help | 
 | 	  Say yes if you want to support the I2C bus on Wondermedia 8xxx-series | 
 | 	  SoCs. | 
 |  | 
 | 	  This driver can also be built as a module. If so, the module will be | 
 | 	  called i2c-wmt. | 
 |  | 
 | config I2C_OCTEON | 
 | 	tristate "Cavium OCTEON I2C bus support" | 
 | 	depends on CAVIUM_OCTEON_SOC | 
 | 	help | 
 | 	  Say yes if you want to support the I2C serial bus on Cavium | 
 | 	  OCTEON SOC. | 
 |  | 
 | 	  This driver can also be built as a module.  If so, the module | 
 | 	  will be called i2c-octeon. | 
 |  | 
 | config I2C_THUNDERX | 
 | 	tristate "Cavium ThunderX I2C bus support" | 
 | 	depends on 64BIT && PCI && (ARM64 || COMPILE_TEST) | 
 | 	select I2C_SMBUS | 
 | 	help | 
 | 	  Say yes if you want to support the I2C serial bus on Cavium | 
 | 	  ThunderX SOC. | 
 |  | 
 | 	  This driver can also be built as a module.  If so, the module | 
 | 	  will be called i2c-thunderx. | 
 |  | 
 | config I2C_XILINX | 
 | 	tristate "Xilinx I2C Controller" | 
 | 	depends on HAS_IOMEM | 
 | 	help | 
 | 	  If you say yes to this option, support will be included for the | 
 | 	  Xilinx I2C controller. | 
 |  | 
 | 	  This driver can also be built as a module.  If so, the module | 
 | 	  will be called xilinx_i2c. | 
 |  | 
 | config I2C_XLP9XX | 
 | 	tristate "Cavium ThunderX2 I2C support" | 
 | 	depends on ARCH_THUNDER2 || COMPILE_TEST | 
 | 	help | 
 | 	  This driver enables support for the on-chip I2C interface of | 
 | 	  the Cavium ThunderX2 processors. (Originally on Netlogic XLP SoCs.) | 
 |  | 
 | 	  This driver can also be built as a module.  If so, the module will | 
 | 	  be called i2c-xlp9xx. | 
 |  | 
 | config I2C_RCAR | 
 | 	tristate "Renesas R-Car I2C Controller" | 
 | 	depends on ARCH_RENESAS || COMPILE_TEST | 
 | 	select I2C_SLAVE | 
 | 	select I2C_SMBUS | 
 | 	select RESET_CONTROLLER if ARCH_RCAR_GEN3 || ARCH_RCAR_GEN4 | 
 | 	help | 
 | 	  If you say yes to this option, support will be included for the | 
 | 	  R-Car I2C controller. | 
 |  | 
 | 	  This driver can also be built as a module.  If so, the module | 
 | 	  will be called i2c-rcar. | 
 |  | 
 | comment "External I2C/SMBus adapter drivers" | 
 |  | 
 | config I2C_DIOLAN_U2C | 
 | 	tristate "Diolan U2C-12 USB adapter" | 
 | 	depends on USB | 
 | 	help | 
 | 	  If you say yes to this option, support will be included for Diolan | 
 | 	  U2C-12, a USB to I2C interface. | 
 |  | 
 | 	  This driver can also be built as a module.  If so, the module | 
 | 	  will be called i2c-diolan-u2c. | 
 |  | 
 | config I2C_DLN2 | 
 | 	tristate "Diolan DLN-2 USB I2C adapter" | 
 | 	depends on MFD_DLN2 | 
 | 	help | 
 | 	 If you say yes to this option, support will be included for Diolan | 
 | 	 DLN2, a USB to I2C interface. | 
 |  | 
 | 	 This driver can also be built as a module.  If so, the module | 
 | 	 will be called i2c-dln2. | 
 |  | 
 | config I2C_LJCA | 
 | 	tristate "I2C functionality of Intel La Jolla Cove Adapter" | 
 | 	depends on USB_LJCA | 
 | 	default USB_LJCA | 
 | 	help | 
 | 	  If you say yes to this option, I2C functionality support of Intel | 
 | 	  La Jolla Cove Adapter (LJCA) will be included. | 
 |  | 
 | 	  This driver can also be built as a module.  If so, the module | 
 | 	  will be called i2c-ljca. | 
 |  | 
 | config I2C_CP2615 | 
 | 	tristate "Silicon Labs CP2615 USB sound card and I2C adapter" | 
 | 	depends on USB | 
 | 	help | 
 | 	  If you say yes to this option, support will be included for Silicon | 
 | 	  Labs CP2615's I2C interface. | 
 |  | 
 | 	  This driver can also be built as a module.  If so, the module | 
 | 	  will be called i2c-cp2615. | 
 |  | 
 | config I2C_PARPORT | 
 | 	tristate "Parallel port adapter" | 
 | 	depends on PARPORT | 
 | 	select I2C_ALGOBIT | 
 | 	select I2C_SMBUS | 
 | 	help | 
 | 	  This supports parallel port I2C adapters such as the ones made by | 
 | 	  Philips or Velleman, Analog Devices evaluation boards, and more. | 
 | 	  Basically any adapter using the parallel port as an I2C bus with | 
 | 	  no extra chipset is supported by this driver, or could be. Please | 
 | 	  read the file Documentation/i2c/busses/i2c-parport.rst for details. | 
 |  | 
 | 	  This support is also available as a module.  If so, the module | 
 | 	  will be called i2c-parport. | 
 |  | 
 | config I2C_PCI1XXXX | 
 | 	tristate "PCI1XXXX I2C Host Adapter" | 
 | 	depends on PCI | 
 | 	help | 
 | 	  If you say yes to this option, support will be included for | 
 | 	  Microchip PCI1XXXX's I2C interface. | 
 |  | 
 | 	  This driver can also be built as a module. If so, the module will | 
 | 	  be called i2c-mchp-pci1xxxx. | 
 |  | 
 | config I2C_ROBOTFUZZ_OSIF | 
 | 	tristate "RobotFuzz Open Source InterFace USB adapter" | 
 | 	depends on USB | 
 | 	help | 
 | 	  If you say yes to this option, support will be included for the | 
 | 	  RobotFuzz Open Source InterFace USB to I2C interface. | 
 |  | 
 | 	  This driver can also be built as a module.  If so, the module | 
 | 	  will be called i2c-osif. | 
 |  | 
 | config I2C_TAOS_EVM | 
 | 	tristate "TAOS evaluation module" | 
 | 	depends on TTY | 
 | 	select SERIO | 
 | 	select SERIO_SERPORT | 
 | 	help | 
 | 	  This supports TAOS evaluation modules on serial port. In order to | 
 | 	  use this driver, you will need the inputattach tool, which is part | 
 | 	  of the input-utils package. | 
 |  | 
 | 	  If unsure, say N. | 
 |  | 
 | 	  This support is also available as a module.  If so, the module | 
 | 	  will be called i2c-taos-evm. | 
 |  | 
 | config I2C_TINY_USB | 
 | 	tristate "Tiny-USB adapter" | 
 | 	depends on USB | 
 | 	help | 
 | 	  If you say yes to this option, support will be included for the | 
 | 	  i2c-tiny-usb, a simple do-it-yourself USB to I2C interface. See | 
 | 	  http://www.harbaum.org/till/i2c_tiny_usb for hardware details. | 
 |  | 
 | 	  This driver can also be built as a module.  If so, the module | 
 | 	  will be called i2c-tiny-usb. | 
 |  | 
 | config I2C_VIPERBOARD | 
 | 	tristate "Viperboard I2C master support" | 
 | 	depends on MFD_VIPERBOARD && USB | 
 | 	help | 
 | 	  Say yes here to access the I2C part of the Nano River | 
 | 	  Technologies Viperboard as I2C master. | 
 | 	  See viperboard API specification and Nano | 
 | 	  River Tech's viperboard.h for detailed meaning | 
 | 	  of the module parameters. | 
 |  | 
 | comment "Other I2C/SMBus bus drivers" | 
 |  | 
 | config I2C_ACORN | 
 | 	tristate "Acorn IOC/IOMD I2C bus support" | 
 | 	depends on ARCH_ACORN | 
 | 	default y | 
 | 	select I2C_ALGOBIT | 
 | 	help | 
 | 	  Say yes if you want to support the I2C bus on Acorn platforms. | 
 |  | 
 | 	  If you don't know, say Y. | 
 |  | 
 | config I2C_ELEKTOR | 
 | 	tristate "Elektor ISA card" | 
 | 	depends on ISA && HAS_IOPORT_MAP && BROKEN_ON_SMP | 
 | 	select I2C_ALGOPCF | 
 | 	help | 
 | 	  This supports the PCF8584 ISA bus I2C adapter.  Say Y if you own | 
 | 	  such an adapter. | 
 |  | 
 | 	  This support is also available as a module.  If so, the module | 
 | 	  will be called i2c-elektor. | 
 |  | 
 | config I2C_ICY | 
 | 	tristate "ICY Zorro card" | 
 | 	depends on ZORRO | 
 | 	select I2C_ALGOPCF | 
 | 	help | 
 | 	  This supports the PCF8584 Zorro bus I2C adapter, known as ICY. | 
 | 	  Say Y if you own such an adapter. | 
 |  | 
 | 	  This support is also available as a module.  If so, the module | 
 | 	  will be called i2c-icy. | 
 |  | 
 | 	  If you have a 2019 edition board with an LTC2990 sensor at address | 
 | 	  0x4c, loading the module 'ltc2990' is sufficient to enable it. | 
 |  | 
 | config I2C_MLXCPLD | 
 | 	tristate "Mellanox I2C driver" | 
 | 	depends on X86_64 || (ARM64 && ACPI) || COMPILE_TEST | 
 | 	depends on HAS_IOPORT | 
 | 	help | 
 | 	  This exposes the Mellanox platform I2C busses to the linux I2C layer | 
 | 	  for X86 and ARM64/ACPI based systems. | 
 | 	  Controller is implemented as CPLD logic. | 
 |  | 
 | 	  This driver can also be built as a module. If so, the module will be | 
 | 	  called as i2c-mlxcpld. | 
 |  | 
 | config I2C_PCA_ISA | 
 | 	tristate "PCA9564/PCA9665 on an ISA bus" | 
 | 	depends on ISA | 
 | 	select I2C_ALGOPCA | 
 | 	help | 
 | 	  This driver supports ISA boards using the Philips PCA9564/PCA9665 | 
 | 	  parallel bus to I2C bus controller. | 
 |  | 
 | 	  This driver can also be built as a module.  If so, the module | 
 | 	  will be called i2c-pca-isa. | 
 |  | 
 | 	  This device is almost undetectable and using this driver on a | 
 | 	  system which doesn't have this device will result in long | 
 | 	  delays when I2C/SMBus chip drivers are loaded (e.g. at boot | 
 | 	  time).  If unsure, say N. | 
 |  | 
 | config I2C_SIBYTE | 
 | 	tristate "SiByte SMBus interface" | 
 | 	depends on SIBYTE_SB1xxx_SOC | 
 | 	help | 
 | 	  Supports the SiByte SOC on-chip I2C interfaces (2 channels). | 
 |  | 
 | config I2C_CROS_EC_TUNNEL | 
 | 	tristate "ChromeOS EC tunnel I2C bus" | 
 | 	depends on CROS_EC | 
 | 	help | 
 | 	  If you say yes here you get an I2C bus that will tunnel i2c commands | 
 | 	  through to the other side of the ChromeOS EC to the i2c bus | 
 | 	  connected there. This will work whatever the interface used to | 
 | 	  talk to the EC (SPI, I2C or LPC). | 
 |  | 
 | config I2C_XGENE_SLIMPRO | 
 | 	tristate "APM X-Gene SoC I2C SLIMpro devices support" | 
 | 	depends on ARCH_XGENE && MAILBOX | 
 | 	help | 
 | 	  Enable I2C bus access using the APM X-Gene SoC SLIMpro | 
 | 	  co-processor. The I2C device access the I2C bus via the X-Gene | 
 | 	  to SLIMpro (On chip coprocessor) mailbox mechanism. | 
 | 	  If unsure, say N. | 
 |  | 
 | config SCx200_ACB | 
 | 	tristate "Geode ACCESS.bus support" | 
 | 	depends on X86_32 && PCI && HAS_IOPORT | 
 | 	help | 
 | 	  Enable the use of the ACCESS.bus controllers on the Geode SCx200 and | 
 | 	  SC1100 processors and the CS5535 and CS5536 Geode companion devices. | 
 |  | 
 | 	  If you don't know what to do here, say N. | 
 |  | 
 | 	  This support is also available as a module.  If so, the module | 
 | 	  will be called scx200_acb. | 
 |  | 
 | config I2C_OPAL | 
 | 	tristate "IBM OPAL I2C driver" | 
 | 	depends on PPC_POWERNV | 
 | 	default y | 
 | 	help | 
 | 	  This exposes the PowerNV platform i2c busses to the linux i2c layer, | 
 | 	  the driver is based on the OPAL interfaces. | 
 |  | 
 | 	  This driver can also be built as a module. If so, the module will be | 
 | 	  called as i2c-opal. | 
 |  | 
 | config I2C_FSI | 
 | 	tristate "FSI I2C driver" | 
 | 	depends on FSI | 
 | 	help | 
 | 	  Driver for FSI bus attached I2C masters. These are I2C masters that | 
 | 	  are connected to the system over an FSI bus, instead of the more | 
 | 	  common PCI or MMIO interface. | 
 |  | 
 | 	  This driver can also be built as a module. If so, the module will be | 
 | 	  called as i2c-fsi. | 
 |  | 
 | config I2C_VIRTIO | 
 |         tristate "Virtio I2C Adapter" | 
 |         select VIRTIO | 
 |         help | 
 |           If you say yes to this option, support will be included for the virtio | 
 |           I2C adapter driver. The hardware can be emulated by any device model | 
 |           software according to the virtio protocol. | 
 |  | 
 |           This driver can also be built as a module. If so, the module | 
 |           will be called i2c-virtio. | 
 |  | 
 | endmenu |