162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ci#
362306a36Sopenharmony_ci# Sensor device configuration
462306a36Sopenharmony_ci#
562306a36Sopenharmony_ci
662306a36Sopenharmony_cimenu "I2C Hardware Bus support"
762306a36Sopenharmony_ci	depends on HAS_IOMEM
862306a36Sopenharmony_ci
962306a36Sopenharmony_cicomment "PC SMBus host controller drivers"
1062306a36Sopenharmony_ci	depends on PCI
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ciconfig I2C_CCGX_UCSI
1362306a36Sopenharmony_ci	tristate
1462306a36Sopenharmony_ci	help
1562306a36Sopenharmony_ci	  A common module to provide an API to instantiate UCSI device
1662306a36Sopenharmony_ci	  for Cypress CCGx Type-C controller. Individual bus drivers
1762306a36Sopenharmony_ci	  need to select this one on demand.
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ciconfig I2C_ALI1535
2062306a36Sopenharmony_ci	tristate "ALI 1535"
2162306a36Sopenharmony_ci	depends on PCI
2262306a36Sopenharmony_ci	help
2362306a36Sopenharmony_ci	  If you say yes to this option, support will be included for the SMB
2462306a36Sopenharmony_ci	  Host controller on Acer Labs Inc. (ALI) M1535 South Bridges.  The SMB
2562306a36Sopenharmony_ci	  controller is part of the 7101 device, which is an ACPI-compliant
2662306a36Sopenharmony_ci	  Power Management Unit (PMU).
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ci	  This driver can also be built as a module.  If so, the module
2962306a36Sopenharmony_ci	  will be called i2c-ali1535.
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ciconfig I2C_ALI1563
3262306a36Sopenharmony_ci	tristate "ALI 1563"
3362306a36Sopenharmony_ci	depends on PCI
3462306a36Sopenharmony_ci	help
3562306a36Sopenharmony_ci	  If you say yes to this option, support will be included for the SMB
3662306a36Sopenharmony_ci	  Host controller on Acer Labs Inc. (ALI) M1563 South Bridges.  The SMB
3762306a36Sopenharmony_ci	  controller is part of the 7101 device, which is an ACPI-compliant
3862306a36Sopenharmony_ci	  Power Management Unit (PMU).
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ci	  This driver can also be built as a module.  If so, the module
4162306a36Sopenharmony_ci	  will be called i2c-ali1563.
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_ciconfig I2C_ALI15X3
4462306a36Sopenharmony_ci	tristate "ALI 15x3"
4562306a36Sopenharmony_ci	depends on PCI
4662306a36Sopenharmony_ci	help
4762306a36Sopenharmony_ci	  If you say yes to this option, support will be included for the
4862306a36Sopenharmony_ci	  Acer Labs Inc. (ALI) M1514 and M1543 motherboard I2C interfaces.
4962306a36Sopenharmony_ci
5062306a36Sopenharmony_ci	  This driver can also be built as a module.  If so, the module
5162306a36Sopenharmony_ci	  will be called i2c-ali15x3.
5262306a36Sopenharmony_ci
5362306a36Sopenharmony_ciconfig I2C_AMD756
5462306a36Sopenharmony_ci	tristate "AMD 756/766/768/8111 and nVidia nForce"
5562306a36Sopenharmony_ci	depends on PCI
5662306a36Sopenharmony_ci	help
5762306a36Sopenharmony_ci	  If you say yes to this option, support will be included for the AMD
5862306a36Sopenharmony_ci	  756/766/768 mainboard I2C interfaces.  The driver also includes
5962306a36Sopenharmony_ci	  support for the first (SMBus 1.0) I2C interface of the AMD 8111 and
6062306a36Sopenharmony_ci	  the nVidia nForce I2C interface.
6162306a36Sopenharmony_ci
6262306a36Sopenharmony_ci	  This driver can also be built as a module.  If so, the module
6362306a36Sopenharmony_ci	  will be called i2c-amd756.
6462306a36Sopenharmony_ci
6562306a36Sopenharmony_ciconfig I2C_AMD756_S4882
6662306a36Sopenharmony_ci	tristate "SMBus multiplexing on the Tyan S4882"
6762306a36Sopenharmony_ci	depends on I2C_AMD756 && X86
6862306a36Sopenharmony_ci	help
6962306a36Sopenharmony_ci	  Enabling this option will add specific SMBus support for the Tyan
7062306a36Sopenharmony_ci	  S4882 motherboard.  On this 4-CPU board, the SMBus is multiplexed
7162306a36Sopenharmony_ci	  over 8 different channels, where the various memory module EEPROMs
7262306a36Sopenharmony_ci	  and temperature sensors live.  Saying yes here will give you access
7362306a36Sopenharmony_ci	  to these in addition to the trunk.
7462306a36Sopenharmony_ci
7562306a36Sopenharmony_ci	  This driver can also be built as a module.  If so, the module
7662306a36Sopenharmony_ci	  will be called i2c-amd756-s4882.
7762306a36Sopenharmony_ci
7862306a36Sopenharmony_ciconfig I2C_AMD8111
7962306a36Sopenharmony_ci	tristate "AMD 8111"
8062306a36Sopenharmony_ci	depends on PCI
8162306a36Sopenharmony_ci	help
8262306a36Sopenharmony_ci	  If you say yes to this option, support will be included for the
8362306a36Sopenharmony_ci	  second (SMBus 2.0) AMD 8111 mainboard I2C interface.
8462306a36Sopenharmony_ci
8562306a36Sopenharmony_ci	  This driver can also be built as a module.  If so, the module
8662306a36Sopenharmony_ci	  will be called i2c-amd8111.
8762306a36Sopenharmony_ci
8862306a36Sopenharmony_ciconfig I2C_AMD_MP2
8962306a36Sopenharmony_ci	tristate "AMD MP2 PCIe"
9062306a36Sopenharmony_ci	depends on PCI && ACPI
9162306a36Sopenharmony_ci	help
9262306a36Sopenharmony_ci	  If you say yes to this option, support will be included for the AMD
9362306a36Sopenharmony_ci	  MP2 PCIe I2C adapter.
9462306a36Sopenharmony_ci
9562306a36Sopenharmony_ci	  This driver can also be built as modules.  If so, the modules will
9662306a36Sopenharmony_ci	  be called i2c-amd-mp2-pci and i2c-amd-mp2-plat.
9762306a36Sopenharmony_ci
9862306a36Sopenharmony_ciconfig I2C_HIX5HD2
9962306a36Sopenharmony_ci	tristate "Hix5hd2 high-speed I2C driver"
10062306a36Sopenharmony_ci	depends on ARCH_HISI || ARCH_HIX5HD2 || COMPILE_TEST
10162306a36Sopenharmony_ci	help
10262306a36Sopenharmony_ci	  Say Y here to include support for the high-speed I2C controller
10362306a36Sopenharmony_ci	  used in HiSilicon hix5hd2 SoCs.
10462306a36Sopenharmony_ci
10562306a36Sopenharmony_ci	  This driver can also be built as a module. If so, the module
10662306a36Sopenharmony_ci	  will be called i2c-hix5hd2.
10762306a36Sopenharmony_ci
10862306a36Sopenharmony_ciconfig I2C_I801
10962306a36Sopenharmony_ci	tristate "Intel 82801 (ICH/PCH)"
11062306a36Sopenharmony_ci	depends on PCI
11162306a36Sopenharmony_ci	select P2SB if X86
11262306a36Sopenharmony_ci	select CHECK_SIGNATURE if X86 && DMI
11362306a36Sopenharmony_ci	select I2C_SMBUS
11462306a36Sopenharmony_ci	help
11562306a36Sopenharmony_ci	  If you say yes to this option, support will be included for the Intel
11662306a36Sopenharmony_ci	  801 family of mainboard I2C interfaces.  Specifically, the following
11762306a36Sopenharmony_ci	  versions of the chipset are supported:
11862306a36Sopenharmony_ci	    82801AA
11962306a36Sopenharmony_ci	    82801AB
12062306a36Sopenharmony_ci	    82801BA
12162306a36Sopenharmony_ci	    82801CA/CAM
12262306a36Sopenharmony_ci	    82801DB
12362306a36Sopenharmony_ci	    82801EB/ER (ICH5/ICH5R)
12462306a36Sopenharmony_ci	    6300ESB
12562306a36Sopenharmony_ci	    ICH6
12662306a36Sopenharmony_ci	    ICH7
12762306a36Sopenharmony_ci	    ESB2
12862306a36Sopenharmony_ci	    ICH8
12962306a36Sopenharmony_ci	    ICH9
13062306a36Sopenharmony_ci	    EP80579 (Tolapai)
13162306a36Sopenharmony_ci	    ICH10
13262306a36Sopenharmony_ci	    5/3400 Series (PCH)
13362306a36Sopenharmony_ci	    6 Series (PCH)
13462306a36Sopenharmony_ci	    Patsburg (PCH)
13562306a36Sopenharmony_ci	    DH89xxCC (PCH)
13662306a36Sopenharmony_ci	    Panther Point (PCH)
13762306a36Sopenharmony_ci	    Lynx Point (PCH)
13862306a36Sopenharmony_ci	    Avoton (SOC)
13962306a36Sopenharmony_ci	    Wellsburg (PCH)
14062306a36Sopenharmony_ci	    Coleto Creek (PCH)
14162306a36Sopenharmony_ci	    Wildcat Point (PCH)
14262306a36Sopenharmony_ci	    BayTrail (SOC)
14362306a36Sopenharmony_ci	    Braswell (SOC)
14462306a36Sopenharmony_ci	    Sunrise Point (PCH)
14562306a36Sopenharmony_ci	    Kaby Lake (PCH)
14662306a36Sopenharmony_ci	    DNV (SOC)
14762306a36Sopenharmony_ci	    Broxton (SOC)
14862306a36Sopenharmony_ci	    Lewisburg (PCH)
14962306a36Sopenharmony_ci	    Gemini Lake (SOC)
15062306a36Sopenharmony_ci	    Cannon Lake (PCH)
15162306a36Sopenharmony_ci	    Cedar Fork (PCH)
15262306a36Sopenharmony_ci	    Ice Lake (PCH)
15362306a36Sopenharmony_ci	    Comet Lake (PCH)
15462306a36Sopenharmony_ci	    Elkhart Lake (PCH)
15562306a36Sopenharmony_ci	    Tiger Lake (PCH)
15662306a36Sopenharmony_ci	    Jasper Lake (SOC)
15762306a36Sopenharmony_ci	    Emmitsburg (PCH)
15862306a36Sopenharmony_ci	    Alder Lake (PCH)
15962306a36Sopenharmony_ci	    Raptor Lake (PCH)
16062306a36Sopenharmony_ci	    Meteor Lake (SOC and PCH)
16162306a36Sopenharmony_ci	    Birch Stream (SOC)
16262306a36Sopenharmony_ci
16362306a36Sopenharmony_ci	  This driver can also be built as a module.  If so, the module
16462306a36Sopenharmony_ci	  will be called i2c-i801.
16562306a36Sopenharmony_ci
16662306a36Sopenharmony_ciconfig I2C_ISCH
16762306a36Sopenharmony_ci	tristate "Intel SCH SMBus 1.0"
16862306a36Sopenharmony_ci	depends on PCI
16962306a36Sopenharmony_ci	select LPC_SCH
17062306a36Sopenharmony_ci	help
17162306a36Sopenharmony_ci	  Say Y here if you want to use SMBus controller on the Intel SCH
17262306a36Sopenharmony_ci	  based systems.
17362306a36Sopenharmony_ci
17462306a36Sopenharmony_ci	  This driver can also be built as a module. If so, the module
17562306a36Sopenharmony_ci	  will be called i2c-isch.
17662306a36Sopenharmony_ci
17762306a36Sopenharmony_ciconfig I2C_ISMT
17862306a36Sopenharmony_ci	tristate "Intel iSMT SMBus Controller"
17962306a36Sopenharmony_ci	depends on PCI && X86
18062306a36Sopenharmony_ci	help
18162306a36Sopenharmony_ci	  If you say yes to this option, support will be included for the Intel
18262306a36Sopenharmony_ci	  iSMT SMBus host controller interface.
18362306a36Sopenharmony_ci
18462306a36Sopenharmony_ci	  This driver can also be built as a module.  If so, the module will be
18562306a36Sopenharmony_ci	  called i2c-ismt.
18662306a36Sopenharmony_ci
18762306a36Sopenharmony_ciconfig I2C_PIIX4
18862306a36Sopenharmony_ci	tristate "Intel PIIX4 and compatible (ATI/AMD/Serverworks/Broadcom/SMSC)"
18962306a36Sopenharmony_ci	depends on PCI
19062306a36Sopenharmony_ci	help
19162306a36Sopenharmony_ci	  If you say yes to this option, support will be included for the Intel
19262306a36Sopenharmony_ci	  PIIX4 family of mainboard I2C interfaces.  Specifically, the following
19362306a36Sopenharmony_ci	  versions of the chipset are supported (note that Serverworks is part
19462306a36Sopenharmony_ci	  of Broadcom):
19562306a36Sopenharmony_ci	    Intel PIIX4
19662306a36Sopenharmony_ci	    Intel 440MX
19762306a36Sopenharmony_ci	    ATI IXP200
19862306a36Sopenharmony_ci	    ATI IXP300
19962306a36Sopenharmony_ci	    ATI IXP400
20062306a36Sopenharmony_ci	    ATI SB600
20162306a36Sopenharmony_ci	    ATI SB700/SP5100
20262306a36Sopenharmony_ci	    ATI SB800
20362306a36Sopenharmony_ci	    AMD Hudson-2
20462306a36Sopenharmony_ci	    AMD ML
20562306a36Sopenharmony_ci	    AMD CZ
20662306a36Sopenharmony_ci	    Hygon CZ
20762306a36Sopenharmony_ci	    Serverworks OSB4
20862306a36Sopenharmony_ci	    Serverworks CSB5
20962306a36Sopenharmony_ci	    Serverworks CSB6
21062306a36Sopenharmony_ci	    Serverworks HT-1000
21162306a36Sopenharmony_ci	    Serverworks HT-1100
21262306a36Sopenharmony_ci	    SMSC Victory66
21362306a36Sopenharmony_ci
21462306a36Sopenharmony_ci	  Some AMD chipsets contain two PIIX4-compatible SMBus
21562306a36Sopenharmony_ci	  controllers. This driver will attempt to use both controllers
21662306a36Sopenharmony_ci	  on the SB700/SP5100, if they have been initialized by the BIOS.
21762306a36Sopenharmony_ci
21862306a36Sopenharmony_ci	  This driver can also be built as a module.  If so, the module
21962306a36Sopenharmony_ci	  will be called i2c-piix4.
22062306a36Sopenharmony_ci
22162306a36Sopenharmony_ciconfig I2C_CHT_WC
22262306a36Sopenharmony_ci	tristate "Intel Cherry Trail Whiskey Cove PMIC smbus controller"
22362306a36Sopenharmony_ci	depends on INTEL_SOC_PMIC_CHTWC
22462306a36Sopenharmony_ci	help
22562306a36Sopenharmony_ci	  If you say yes to this option, support will be included for the
22662306a36Sopenharmony_ci	  SMBus controller found in the Intel Cherry Trail Whiskey Cove PMIC
22762306a36Sopenharmony_ci	  found on some Intel Cherry Trail systems.
22862306a36Sopenharmony_ci
22962306a36Sopenharmony_ci	  Note this controller is hooked up to a TI bq24292i charger-IC,
23062306a36Sopenharmony_ci	  combined with a FUSB302 Type-C port-controller as such it is advised
23162306a36Sopenharmony_ci	  to also select CONFIG_TYPEC_FUSB302=m.
23262306a36Sopenharmony_ci
23362306a36Sopenharmony_ciconfig I2C_NFORCE2
23462306a36Sopenharmony_ci	tristate "Nvidia nForce2, nForce3 and nForce4"
23562306a36Sopenharmony_ci	depends on PCI
23662306a36Sopenharmony_ci	help
23762306a36Sopenharmony_ci	  If you say yes to this option, support will be included for the Nvidia
23862306a36Sopenharmony_ci	  nForce2, nForce3 and nForce4 families of mainboard I2C interfaces.
23962306a36Sopenharmony_ci
24062306a36Sopenharmony_ci	  This driver can also be built as a module.  If so, the module
24162306a36Sopenharmony_ci	  will be called i2c-nforce2.
24262306a36Sopenharmony_ci
24362306a36Sopenharmony_ciconfig I2C_NFORCE2_S4985
24462306a36Sopenharmony_ci	tristate "SMBus multiplexing on the Tyan S4985"
24562306a36Sopenharmony_ci	depends on I2C_NFORCE2 && X86
24662306a36Sopenharmony_ci	help
24762306a36Sopenharmony_ci	  Enabling this option will add specific SMBus support for the Tyan
24862306a36Sopenharmony_ci	  S4985 motherboard.  On this 4-CPU board, the SMBus is multiplexed
24962306a36Sopenharmony_ci	  over 4 different channels, where the various memory module EEPROMs
25062306a36Sopenharmony_ci	  live.  Saying yes here will give you access to these in addition
25162306a36Sopenharmony_ci	  to the trunk.
25262306a36Sopenharmony_ci
25362306a36Sopenharmony_ci	  This driver can also be built as a module.  If so, the module
25462306a36Sopenharmony_ci	  will be called i2c-nforce2-s4985.
25562306a36Sopenharmony_ci
25662306a36Sopenharmony_ciconfig I2C_NVIDIA_GPU
25762306a36Sopenharmony_ci	tristate "NVIDIA GPU I2C controller"
25862306a36Sopenharmony_ci	depends on PCI
25962306a36Sopenharmony_ci	select I2C_CCGX_UCSI
26062306a36Sopenharmony_ci	help
26162306a36Sopenharmony_ci	  If you say yes to this option, support will be included for the
26262306a36Sopenharmony_ci	  NVIDIA GPU I2C controller which is used to communicate with the GPU's
26362306a36Sopenharmony_ci	  Type-C controller. This driver can also be built as a module called
26462306a36Sopenharmony_ci	  i2c-nvidia-gpu.
26562306a36Sopenharmony_ci
26662306a36Sopenharmony_ciconfig I2C_SIS5595
26762306a36Sopenharmony_ci	tristate "SiS 5595"
26862306a36Sopenharmony_ci	depends on PCI
26962306a36Sopenharmony_ci	help
27062306a36Sopenharmony_ci	  If you say yes to this option, support will be included for the
27162306a36Sopenharmony_ci	  SiS5595 SMBus (a subset of I2C) interface.
27262306a36Sopenharmony_ci
27362306a36Sopenharmony_ci	  This driver can also be built as a module.  If so, the module
27462306a36Sopenharmony_ci	  will be called i2c-sis5595.
27562306a36Sopenharmony_ci
27662306a36Sopenharmony_ciconfig I2C_SIS630
27762306a36Sopenharmony_ci	tristate "SiS 630/730/964"
27862306a36Sopenharmony_ci	depends on PCI
27962306a36Sopenharmony_ci	help
28062306a36Sopenharmony_ci	  If you say yes to this option, support will be included for the
28162306a36Sopenharmony_ci	  SiS630, SiS730 and SiS964 SMBus (a subset of I2C) interface.
28262306a36Sopenharmony_ci
28362306a36Sopenharmony_ci	  This driver can also be built as a module.  If so, the module
28462306a36Sopenharmony_ci	  will be called i2c-sis630.
28562306a36Sopenharmony_ci
28662306a36Sopenharmony_ciconfig I2C_SIS96X
28762306a36Sopenharmony_ci	tristate "SiS 96x"
28862306a36Sopenharmony_ci	depends on PCI
28962306a36Sopenharmony_ci	help
29062306a36Sopenharmony_ci	  If you say yes to this option, support will be included for the SiS
29162306a36Sopenharmony_ci	  96x SMBus (a subset of I2C) interfaces.  Specifically, the following
29262306a36Sopenharmony_ci	  chipsets are supported:
29362306a36Sopenharmony_ci	    645/961
29462306a36Sopenharmony_ci	    645DX/961
29562306a36Sopenharmony_ci	    645DX/962
29662306a36Sopenharmony_ci	    648/961
29762306a36Sopenharmony_ci	    650/961
29862306a36Sopenharmony_ci	    735
29962306a36Sopenharmony_ci	    745
30062306a36Sopenharmony_ci
30162306a36Sopenharmony_ci	  This driver can also be built as a module.  If so, the module
30262306a36Sopenharmony_ci	  will be called i2c-sis96x.
30362306a36Sopenharmony_ci
30462306a36Sopenharmony_ciconfig I2C_VIA
30562306a36Sopenharmony_ci	tristate "VIA VT82C586B"
30662306a36Sopenharmony_ci	depends on PCI
30762306a36Sopenharmony_ci	select I2C_ALGOBIT
30862306a36Sopenharmony_ci	help
30962306a36Sopenharmony_ci	  If you say yes to this option, support will be included for the VIA
31062306a36Sopenharmony_ci	  82C586B I2C interface
31162306a36Sopenharmony_ci
31262306a36Sopenharmony_ci	  This driver can also be built as a module.  If so, the module
31362306a36Sopenharmony_ci	  will be called i2c-via.
31462306a36Sopenharmony_ci
31562306a36Sopenharmony_ciconfig I2C_VIAPRO
31662306a36Sopenharmony_ci	tristate "VIA VT82C596/82C686/82xx and CX700/VX8xx/VX900"
31762306a36Sopenharmony_ci	depends on PCI
31862306a36Sopenharmony_ci	help
31962306a36Sopenharmony_ci	  If you say yes to this option, support will be included for the VIA
32062306a36Sopenharmony_ci	  VT82C596 and later SMBus interface.  Specifically, the following
32162306a36Sopenharmony_ci	  chipsets are supported:
32262306a36Sopenharmony_ci	    VT82C596A/B
32362306a36Sopenharmony_ci	    VT82C686A/B
32462306a36Sopenharmony_ci	    VT8231
32562306a36Sopenharmony_ci	    VT8233/A
32662306a36Sopenharmony_ci	    VT8235
32762306a36Sopenharmony_ci	    VT8237R/A/S
32862306a36Sopenharmony_ci	    VT8251
32962306a36Sopenharmony_ci	    CX700
33062306a36Sopenharmony_ci	    VX800/VX820
33162306a36Sopenharmony_ci	    VX855/VX875
33262306a36Sopenharmony_ci	    VX900
33362306a36Sopenharmony_ci
33462306a36Sopenharmony_ci	  This driver can also be built as a module.  If so, the module
33562306a36Sopenharmony_ci	  will be called i2c-viapro.
33662306a36Sopenharmony_ci
33762306a36Sopenharmony_ciif ACPI
33862306a36Sopenharmony_ci
33962306a36Sopenharmony_cicomment "ACPI drivers"
34062306a36Sopenharmony_ci
34162306a36Sopenharmony_ciconfig I2C_SCMI
34262306a36Sopenharmony_ci	tristate "SMBus Control Method Interface"
34362306a36Sopenharmony_ci	help
34462306a36Sopenharmony_ci	  This driver supports the SMBus Control Method Interface. It needs the
34562306a36Sopenharmony_ci	  BIOS to declare ACPI control methods as described in the SMBus Control
34662306a36Sopenharmony_ci	  Method Interface specification.
34762306a36Sopenharmony_ci
34862306a36Sopenharmony_ci	  To compile this driver as a module, choose M here:
34962306a36Sopenharmony_ci	  the module will be called i2c-scmi.
35062306a36Sopenharmony_ci
35162306a36Sopenharmony_ciendif # ACPI
35262306a36Sopenharmony_ci
35362306a36Sopenharmony_cicomment "Mac SMBus host controller drivers"
35462306a36Sopenharmony_ci	depends on PPC_CHRP || PPC_PMAC
35562306a36Sopenharmony_ci
35662306a36Sopenharmony_ciconfig I2C_HYDRA
35762306a36Sopenharmony_ci	tristate "CHRP Apple Hydra Mac I/O I2C interface"
35862306a36Sopenharmony_ci	depends on PCI && PPC_CHRP
35962306a36Sopenharmony_ci	select I2C_ALGOBIT
36062306a36Sopenharmony_ci	help
36162306a36Sopenharmony_ci	  This supports the use of the I2C interface in the Apple Hydra Mac
36262306a36Sopenharmony_ci	  I/O chip on some CHRP machines (e.g. the LongTrail).  Say Y if you
36362306a36Sopenharmony_ci	  have such a machine.
36462306a36Sopenharmony_ci
36562306a36Sopenharmony_ci	  This support is also available as a module.  If so, the module
36662306a36Sopenharmony_ci	  will be called i2c-hydra.
36762306a36Sopenharmony_ci
36862306a36Sopenharmony_ciconfig I2C_POWERMAC
36962306a36Sopenharmony_ci	tristate "Powermac I2C interface"
37062306a36Sopenharmony_ci	depends on PPC_PMAC
37162306a36Sopenharmony_ci	default y
37262306a36Sopenharmony_ci	help
37362306a36Sopenharmony_ci	  This exposes the various PowerMac i2c interfaces to the linux i2c
37462306a36Sopenharmony_ci	  layer and to userland. It is used by various drivers on the PowerMac
37562306a36Sopenharmony_ci	  platform, and should generally be enabled.
37662306a36Sopenharmony_ci
37762306a36Sopenharmony_ci	  This support is also available as a module.  If so, the module
37862306a36Sopenharmony_ci	  will be called i2c-powermac.
37962306a36Sopenharmony_ci
38062306a36Sopenharmony_cicomment "I2C system bus drivers (mostly embedded / system-on-chip)"
38162306a36Sopenharmony_ci
38262306a36Sopenharmony_ciconfig I2C_ALTERA
38362306a36Sopenharmony_ci	tristate "Altera Soft IP I2C"
38462306a36Sopenharmony_ci	depends on ARCH_INTEL_SOCFPGA || NIOS2 || COMPILE_TEST
38562306a36Sopenharmony_ci	depends on OF
38662306a36Sopenharmony_ci	help
38762306a36Sopenharmony_ci	  If you say yes to this option, support will be included for the
38862306a36Sopenharmony_ci	  Altera Soft IP I2C interfaces on SoCFPGA and Nios2 architectures.
38962306a36Sopenharmony_ci
39062306a36Sopenharmony_ci	  This driver can also be built as a module.  If so, the module
39162306a36Sopenharmony_ci	  will be called i2c-altera.
39262306a36Sopenharmony_ci
39362306a36Sopenharmony_ciconfig I2C_ASPEED
39462306a36Sopenharmony_ci	tristate "Aspeed I2C Controller"
39562306a36Sopenharmony_ci	depends on ARCH_ASPEED || COMPILE_TEST
39662306a36Sopenharmony_ci	help
39762306a36Sopenharmony_ci	  If you say yes to this option, support will be included for the
39862306a36Sopenharmony_ci	  Aspeed I2C controller.
39962306a36Sopenharmony_ci
40062306a36Sopenharmony_ci	  This driver can also be built as a module.  If so, the module
40162306a36Sopenharmony_ci	  will be called i2c-aspeed.
40262306a36Sopenharmony_ci
40362306a36Sopenharmony_ciconfig I2C_AT91
40462306a36Sopenharmony_ci	tristate "Atmel AT91 I2C Two-Wire interface (TWI)"
40562306a36Sopenharmony_ci	depends on ARCH_AT91 || COMPILE_TEST
40662306a36Sopenharmony_ci	help
40762306a36Sopenharmony_ci	  This supports the use of the I2C interface on Atmel AT91
40862306a36Sopenharmony_ci	  processors.
40962306a36Sopenharmony_ci
41062306a36Sopenharmony_ci	  A serious problem is that there is no documented way to issue
41162306a36Sopenharmony_ci	  repeated START conditions for more than two messages, as needed
41262306a36Sopenharmony_ci	  to support combined I2C messages.  Use the i2c-gpio driver
41362306a36Sopenharmony_ci	  unless your system can cope with this limitation.
41462306a36Sopenharmony_ci
41562306a36Sopenharmony_ci	  Caution! at91rm9200, at91sam9261, at91sam9260, at91sam9263 devices
41662306a36Sopenharmony_ci	  don't have clock stretching in transmission mode. For that reason,
41762306a36Sopenharmony_ci	  you can encounter underrun issues causing premature stop sendings if
41862306a36Sopenharmony_ci	  the latency to fill the transmission register is too long. If you
41962306a36Sopenharmony_ci	  are facing this situation, use the i2c-gpio driver.
42062306a36Sopenharmony_ci
42162306a36Sopenharmony_ciconfig I2C_AT91_SLAVE_EXPERIMENTAL
42262306a36Sopenharmony_ci	tristate "Microchip AT91 I2C experimental slave mode"
42362306a36Sopenharmony_ci	depends on I2C_AT91
42462306a36Sopenharmony_ci	select I2C_SLAVE
42562306a36Sopenharmony_ci	help
42662306a36Sopenharmony_ci	  If you say yes to this option, support for the slave mode will be
42762306a36Sopenharmony_ci	  added. Caution: do not use it for production. This feature has not
42862306a36Sopenharmony_ci	  been tested in a heavy way, help wanted.
42962306a36Sopenharmony_ci	  There are known bugs:
43062306a36Sopenharmony_ci	    - It can hang, on a SAMA5D4, after several transfers.
43162306a36Sopenharmony_ci	    - There are some mismtaches with a SAMA5D4 as slave and a SAMA5D2 as
43262306a36Sopenharmony_ci	    master.
43362306a36Sopenharmony_ci
43462306a36Sopenharmony_ciconfig I2C_AU1550
43562306a36Sopenharmony_ci	tristate "Au1550/Au1200/Au1300 SMBus interface"
43662306a36Sopenharmony_ci	depends on MIPS_ALCHEMY
43762306a36Sopenharmony_ci	help
43862306a36Sopenharmony_ci	  If you say yes to this option, support will be included for the
43962306a36Sopenharmony_ci	  Au1550/Au1200/Au1300 SMBus interface.
44062306a36Sopenharmony_ci
44162306a36Sopenharmony_ci	  This driver can also be built as a module.  If so, the module
44262306a36Sopenharmony_ci	  will be called i2c-au1550.
44362306a36Sopenharmony_ci
44462306a36Sopenharmony_ciconfig I2C_AXXIA
44562306a36Sopenharmony_ci	tristate "Axxia I2C controller"
44662306a36Sopenharmony_ci	depends on ARCH_AXXIA || COMPILE_TEST
44762306a36Sopenharmony_ci	default ARCH_AXXIA
44862306a36Sopenharmony_ci	select I2C_SLAVE
44962306a36Sopenharmony_ci	help
45062306a36Sopenharmony_ci	  Say yes if you want to support the I2C bus on Axxia platforms.
45162306a36Sopenharmony_ci
45262306a36Sopenharmony_ci	  Please note that this controller is limited to transfers of maximum
45362306a36Sopenharmony_ci	  255 bytes in length. Any attempt to to a larger transfer will return
45462306a36Sopenharmony_ci	  an error.
45562306a36Sopenharmony_ci
45662306a36Sopenharmony_ciconfig I2C_BCM2835
45762306a36Sopenharmony_ci	tristate "Broadcom BCM2835 I2C controller"
45862306a36Sopenharmony_ci	depends on ARCH_BCM2835 || ARCH_BRCMSTB || COMPILE_TEST
45962306a36Sopenharmony_ci	depends on COMMON_CLK
46062306a36Sopenharmony_ci	help
46162306a36Sopenharmony_ci	  If you say yes to this option, support will be included for the
46262306a36Sopenharmony_ci	  BCM2835 I2C controller.
46362306a36Sopenharmony_ci
46462306a36Sopenharmony_ci	  If you don't know what to do here, say N.
46562306a36Sopenharmony_ci
46662306a36Sopenharmony_ci	  This support is also available as a module.  If so, the module
46762306a36Sopenharmony_ci	  will be called i2c-bcm2835.
46862306a36Sopenharmony_ci
46962306a36Sopenharmony_ciconfig I2C_BCM_IPROC
47062306a36Sopenharmony_ci	tristate "Broadcom iProc I2C controller"
47162306a36Sopenharmony_ci	depends on ARCH_BCM_IPROC || COMPILE_TEST
47262306a36Sopenharmony_ci	default ARCH_BCM_IPROC
47362306a36Sopenharmony_ci	select I2C_SLAVE
47462306a36Sopenharmony_ci	help
47562306a36Sopenharmony_ci	  If you say yes to this option, support will be included for the
47662306a36Sopenharmony_ci	  Broadcom iProc I2C controller.
47762306a36Sopenharmony_ci
47862306a36Sopenharmony_ci	  If you don't know what to do here, say N.
47962306a36Sopenharmony_ci
48062306a36Sopenharmony_ciconfig I2C_BCM_KONA
48162306a36Sopenharmony_ci	tristate "BCM Kona I2C adapter"
48262306a36Sopenharmony_ci	depends on ARCH_BCM_MOBILE || COMPILE_TEST
48362306a36Sopenharmony_ci	default y if ARCH_BCM_MOBILE
48462306a36Sopenharmony_ci	help
48562306a36Sopenharmony_ci	  If you say yes to this option, support will be included for the
48662306a36Sopenharmony_ci	  I2C interface on the Broadcom Kona family of processors.
48762306a36Sopenharmony_ci
48862306a36Sopenharmony_ci	  If you do not need KONA I2C interface, say N.
48962306a36Sopenharmony_ci
49062306a36Sopenharmony_ciconfig I2C_BRCMSTB
49162306a36Sopenharmony_ci	tristate "BRCM Settop/DSL I2C controller"
49262306a36Sopenharmony_ci	depends on ARCH_BCM2835 || ARCH_BCMBCA || ARCH_BRCMSTB || \
49362306a36Sopenharmony_ci		   BMIPS_GENERIC || COMPILE_TEST
49462306a36Sopenharmony_ci	default y
49562306a36Sopenharmony_ci	help
49662306a36Sopenharmony_ci	  If you say yes to this option, support will be included for the
49762306a36Sopenharmony_ci	  I2C interface on the Broadcom Settop/DSL SoCs.
49862306a36Sopenharmony_ci
49962306a36Sopenharmony_ci	  If you do not need I2C interface, say N.
50062306a36Sopenharmony_ci
50162306a36Sopenharmony_ciconfig I2C_CADENCE
50262306a36Sopenharmony_ci	tristate "Cadence I2C Controller"
50362306a36Sopenharmony_ci	depends on ARCH_ZYNQ || ARM64 || XTENSA || COMPILE_TEST
50462306a36Sopenharmony_ci	help
50562306a36Sopenharmony_ci	  Say yes here to select Cadence I2C Host Controller. This controller is
50662306a36Sopenharmony_ci	  e.g. used by Xilinx Zynq.
50762306a36Sopenharmony_ci
50862306a36Sopenharmony_ciconfig I2C_CBUS_GPIO
50962306a36Sopenharmony_ci	tristate "CBUS I2C driver"
51062306a36Sopenharmony_ci	depends on GPIOLIB || COMPILE_TEST
51162306a36Sopenharmony_ci	help
51262306a36Sopenharmony_ci	  Support for CBUS access using I2C API. Mostly relevant for Nokia
51362306a36Sopenharmony_ci	  Internet Tablets (770, N800 and N810).
51462306a36Sopenharmony_ci
51562306a36Sopenharmony_ci	  This driver can also be built as a module.  If so, the module
51662306a36Sopenharmony_ci	  will be called i2c-cbus-gpio.
51762306a36Sopenharmony_ci
51862306a36Sopenharmony_ciconfig I2C_CPM
51962306a36Sopenharmony_ci	tristate "Freescale CPM1 or CPM2 (MPC8xx/826x)"
52062306a36Sopenharmony_ci	depends on CPM1 || CPM2
52162306a36Sopenharmony_ci	help
52262306a36Sopenharmony_ci	  This supports the use of the I2C interface on Freescale
52362306a36Sopenharmony_ci	  processors with CPM1 or CPM2.
52462306a36Sopenharmony_ci
52562306a36Sopenharmony_ci	  This driver can also be built as a module.  If so, the module
52662306a36Sopenharmony_ci	  will be called i2c-cpm.
52762306a36Sopenharmony_ci
52862306a36Sopenharmony_ciconfig I2C_DAVINCI
52962306a36Sopenharmony_ci	tristate "DaVinci I2C driver"
53062306a36Sopenharmony_ci	depends on ARCH_DAVINCI || ARCH_KEYSTONE || COMPILE_TEST
53162306a36Sopenharmony_ci	help
53262306a36Sopenharmony_ci	  Support for TI DaVinci I2C controller driver.
53362306a36Sopenharmony_ci
53462306a36Sopenharmony_ci	  This driver can also be built as a module.  If so, the module
53562306a36Sopenharmony_ci	  will be called i2c-davinci.
53662306a36Sopenharmony_ci
53762306a36Sopenharmony_ci	  Please note that this driver might be needed to bring up other
53862306a36Sopenharmony_ci	  devices such as DaVinci NIC.
53962306a36Sopenharmony_ci	  For details please see http://www.ti.com/davinci
54062306a36Sopenharmony_ci
54162306a36Sopenharmony_ciconfig I2C_DESIGNWARE_CORE
54262306a36Sopenharmony_ci	tristate
54362306a36Sopenharmony_ci	select REGMAP
54462306a36Sopenharmony_ci
54562306a36Sopenharmony_ciconfig I2C_DESIGNWARE_SLAVE
54662306a36Sopenharmony_ci	bool "Synopsys DesignWare Slave"
54762306a36Sopenharmony_ci	depends on I2C_DESIGNWARE_CORE
54862306a36Sopenharmony_ci	select I2C_SLAVE
54962306a36Sopenharmony_ci	help
55062306a36Sopenharmony_ci	  If you say yes to this option, support will be included for the
55162306a36Sopenharmony_ci	  Synopsys DesignWare I2C slave adapter.
55262306a36Sopenharmony_ci
55362306a36Sopenharmony_ci	  This is not a standalone module, this module compiles together with
55462306a36Sopenharmony_ci	  i2c-designware-core.
55562306a36Sopenharmony_ci
55662306a36Sopenharmony_ciconfig I2C_DESIGNWARE_PLATFORM
55762306a36Sopenharmony_ci	tristate "Synopsys DesignWare Platform"
55862306a36Sopenharmony_ci	depends on (ACPI && COMMON_CLK) || !ACPI
55962306a36Sopenharmony_ci	select I2C_DESIGNWARE_CORE
56062306a36Sopenharmony_ci	select MFD_SYSCON if MIPS_BAIKAL_T1
56162306a36Sopenharmony_ci	help
56262306a36Sopenharmony_ci	  If you say yes to this option, support will be included for the
56362306a36Sopenharmony_ci	  Synopsys DesignWare I2C adapter.
56462306a36Sopenharmony_ci
56562306a36Sopenharmony_ci	  This driver can also be built as a module.  If so, the module
56662306a36Sopenharmony_ci	  will be called i2c-designware-platform.
56762306a36Sopenharmony_ci
56862306a36Sopenharmony_ciconfig I2C_DESIGNWARE_AMDPSP
56962306a36Sopenharmony_ci	bool "AMD PSP I2C semaphore support"
57062306a36Sopenharmony_ci	depends on ACPI
57162306a36Sopenharmony_ci	depends on CRYPTO_DEV_SP_PSP
57262306a36Sopenharmony_ci	depends on PCI
57362306a36Sopenharmony_ci	depends on I2C_DESIGNWARE_PLATFORM
57462306a36Sopenharmony_ci	depends on (I2C_DESIGNWARE_PLATFORM=y && CRYPTO_DEV_CCP_DD=y) || \
57562306a36Sopenharmony_ci		   (I2C_DESIGNWARE_PLATFORM=m && CRYPTO_DEV_CCP_DD)
57662306a36Sopenharmony_ci	help
57762306a36Sopenharmony_ci	  This driver enables managed host access to the selected I2C bus shared
57862306a36Sopenharmony_ci	  between AMD CPU and AMD PSP.
57962306a36Sopenharmony_ci
58062306a36Sopenharmony_ci	  You should say Y if running on an AMD system equipped with the PSP.
58162306a36Sopenharmony_ci
58262306a36Sopenharmony_ciconfig I2C_DESIGNWARE_BAYTRAIL
58362306a36Sopenharmony_ci	bool "Intel Baytrail I2C semaphore support"
58462306a36Sopenharmony_ci	depends on ACPI
58562306a36Sopenharmony_ci	depends on I2C_DESIGNWARE_PLATFORM
58662306a36Sopenharmony_ci	depends on (I2C_DESIGNWARE_PLATFORM=m && IOSF_MBI) || \
58762306a36Sopenharmony_ci		   (I2C_DESIGNWARE_PLATFORM=y && IOSF_MBI=y)
58862306a36Sopenharmony_ci	help
58962306a36Sopenharmony_ci	  This driver enables managed host access to the PMIC I2C bus on select
59062306a36Sopenharmony_ci	  Intel BayTrail platforms using the X-Powers AXP288 PMIC. It allows
59162306a36Sopenharmony_ci	  the host to request uninterrupted access to the PMIC's I2C bus from
59262306a36Sopenharmony_ci	  the platform firmware controlling it. You should say Y if running on
59362306a36Sopenharmony_ci	  a BayTrail system using the AXP288.
59462306a36Sopenharmony_ci
59562306a36Sopenharmony_ciconfig I2C_DESIGNWARE_PCI
59662306a36Sopenharmony_ci	tristate "Synopsys DesignWare PCI"
59762306a36Sopenharmony_ci	depends on PCI
59862306a36Sopenharmony_ci	select I2C_DESIGNWARE_CORE
59962306a36Sopenharmony_ci	select I2C_CCGX_UCSI
60062306a36Sopenharmony_ci	help
60162306a36Sopenharmony_ci	  If you say yes to this option, support will be included for the
60262306a36Sopenharmony_ci	  Synopsys DesignWare I2C adapter. Only master mode is supported.
60362306a36Sopenharmony_ci
60462306a36Sopenharmony_ci	  This driver can also be built as a module.  If so, the module
60562306a36Sopenharmony_ci	  will be called i2c-designware-pci.
60662306a36Sopenharmony_ci
60762306a36Sopenharmony_ciconfig I2C_DIGICOLOR
60862306a36Sopenharmony_ci	tristate "Conexant Digicolor I2C driver"
60962306a36Sopenharmony_ci	depends on ARCH_DIGICOLOR || COMPILE_TEST
61062306a36Sopenharmony_ci	help
61162306a36Sopenharmony_ci	  Support for Conexant Digicolor SoCs (CX92755) I2C controller driver.
61262306a36Sopenharmony_ci
61362306a36Sopenharmony_ci	  This driver can also be built as a module.  If so, the module
61462306a36Sopenharmony_ci	  will be called i2c-digicolor.
61562306a36Sopenharmony_ci
61662306a36Sopenharmony_ciconfig I2C_EG20T
61762306a36Sopenharmony_ci	tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) I2C"
61862306a36Sopenharmony_ci	depends on PCI && (X86_32 || MIPS || COMPILE_TEST)
61962306a36Sopenharmony_ci	help
62062306a36Sopenharmony_ci	  This driver is for PCH(Platform controller Hub) I2C of EG20T which
62162306a36Sopenharmony_ci	  is an IOH(Input/Output Hub) for x86 embedded processor.
62262306a36Sopenharmony_ci	  This driver can access PCH I2C bus device.
62362306a36Sopenharmony_ci
62462306a36Sopenharmony_ci	  This driver also can be used for LAPIS Semiconductor IOH(Input/
62562306a36Sopenharmony_ci	  Output Hub), ML7213, ML7223 and ML7831.
62662306a36Sopenharmony_ci	  ML7213 IOH is for IVI(In-Vehicle Infotainment) use, ML7223 IOH is
62762306a36Sopenharmony_ci	  for MP(Media Phone) use and ML7831 IOH is for general purpose use.
62862306a36Sopenharmony_ci	  ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series.
62962306a36Sopenharmony_ci	  ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH.
63062306a36Sopenharmony_ci
63162306a36Sopenharmony_ciconfig I2C_EMEV2
63262306a36Sopenharmony_ci	tristate "EMMA Mobile series I2C adapter"
63362306a36Sopenharmony_ci	depends on HAVE_CLK
63462306a36Sopenharmony_ci	select I2C_SLAVE
63562306a36Sopenharmony_ci	help
63662306a36Sopenharmony_ci	  If you say yes to this option, support will be included for the
63762306a36Sopenharmony_ci	  I2C interface on the Renesas Electronics EM/EV family of processors.
63862306a36Sopenharmony_ci
63962306a36Sopenharmony_ciconfig I2C_EXYNOS5
64062306a36Sopenharmony_ci	tristate "Exynos high-speed I2C driver"
64162306a36Sopenharmony_ci	depends on OF
64262306a36Sopenharmony_ci	depends on ARCH_EXYNOS || COMPILE_TEST
64362306a36Sopenharmony_ci	default y if ARCH_EXYNOS
64462306a36Sopenharmony_ci	help
64562306a36Sopenharmony_ci	  High-speed I2C controller on Samsung Exynos5 and newer Samsung SoCs:
64662306a36Sopenharmony_ci	  Exynos5250, Exynos5260, Exynos5410, Exynos542x, Exynos5800,
64762306a36Sopenharmony_ci	  Exynos5433, Exynos7, Exynos850 and ExynosAutoV9.
64862306a36Sopenharmony_ci	  Choose Y here only if you build for such Samsung SoC.
64962306a36Sopenharmony_ci
65062306a36Sopenharmony_ciconfig I2C_GPIO
65162306a36Sopenharmony_ci	tristate "GPIO-based bitbanging I2C"
65262306a36Sopenharmony_ci	depends on GPIOLIB || COMPILE_TEST
65362306a36Sopenharmony_ci	select I2C_ALGOBIT
65462306a36Sopenharmony_ci	help
65562306a36Sopenharmony_ci	  This is a very simple bitbanging I2C driver utilizing the
65662306a36Sopenharmony_ci	  arch-neutral GPIO API to control the SCL and SDA lines.
65762306a36Sopenharmony_ci
65862306a36Sopenharmony_ciconfig I2C_GPIO_FAULT_INJECTOR
65962306a36Sopenharmony_ci	bool "GPIO-based fault injector"
66062306a36Sopenharmony_ci	depends on I2C_GPIO
66162306a36Sopenharmony_ci	help
66262306a36Sopenharmony_ci	  This adds some functionality to the i2c-gpio driver which can inject
66362306a36Sopenharmony_ci	  faults to an I2C bus, so another bus master can be stress-tested.
66462306a36Sopenharmony_ci	  This is for debugging. If unsure, say 'no'.
66562306a36Sopenharmony_ci
66662306a36Sopenharmony_ciconfig I2C_GXP
66762306a36Sopenharmony_ci	tristate "GXP I2C Interface"
66862306a36Sopenharmony_ci	depends on ARCH_HPE_GXP || COMPILE_TEST
66962306a36Sopenharmony_ci	help
67062306a36Sopenharmony_ci	  This enables support for GXP I2C interface. The I2C engines can be
67162306a36Sopenharmony_ci	  either I2C master or I2C slaves.
67262306a36Sopenharmony_ci
67362306a36Sopenharmony_ciconfig I2C_HIGHLANDER
67462306a36Sopenharmony_ci	tristate "Highlander FPGA SMBus interface"
67562306a36Sopenharmony_ci	depends on SH_HIGHLANDER || COMPILE_TEST
67662306a36Sopenharmony_ci	help
67762306a36Sopenharmony_ci	  If you say yes to this option, support will be included for
67862306a36Sopenharmony_ci	  the SMBus interface located in the FPGA on various Highlander
67962306a36Sopenharmony_ci	  boards, particularly the R0P7780LC0011RL and R0P7785LC0011RL
68062306a36Sopenharmony_ci	  FPGAs. This is wholly unrelated to the SoC I2C.
68162306a36Sopenharmony_ci
68262306a36Sopenharmony_ci	  This driver can also be built as a module.  If so, the module
68362306a36Sopenharmony_ci	  will be called i2c-highlander.
68462306a36Sopenharmony_ci
68562306a36Sopenharmony_ciconfig I2C_HISI
68662306a36Sopenharmony_ci	tristate "HiSilicon I2C controller"
68762306a36Sopenharmony_ci	depends on ARM64 || COMPILE_TEST
68862306a36Sopenharmony_ci	help
68962306a36Sopenharmony_ci	  Say Y here if you want to have Hisilicon I2C controller support
69062306a36Sopenharmony_ci	  available on the Kunpeng Server.
69162306a36Sopenharmony_ci
69262306a36Sopenharmony_ci	  This driver can also be built as a module. If so, the module
69362306a36Sopenharmony_ci	  will be called i2c-hisi.
69462306a36Sopenharmony_ci
69562306a36Sopenharmony_ciconfig I2C_IBM_IIC
69662306a36Sopenharmony_ci	tristate "IBM PPC 4xx on-chip I2C interface"
69762306a36Sopenharmony_ci	depends on 4xx
69862306a36Sopenharmony_ci	help
69962306a36Sopenharmony_ci	  Say Y here if you want to use IIC peripheral found on
70062306a36Sopenharmony_ci	  embedded IBM PPC 4xx based systems.
70162306a36Sopenharmony_ci
70262306a36Sopenharmony_ci	  This driver can also be built as a module.  If so, the module
70362306a36Sopenharmony_ci	  will be called i2c-ibm_iic.
70462306a36Sopenharmony_ci
70562306a36Sopenharmony_ciconfig I2C_IMG
70662306a36Sopenharmony_ci	tristate "Imagination Technologies I2C SCB Controller"
70762306a36Sopenharmony_ci	depends on MIPS || COMPILE_TEST
70862306a36Sopenharmony_ci	help
70962306a36Sopenharmony_ci	  Say Y here if you want to use the IMG I2C SCB controller,
71062306a36Sopenharmony_ci	  available on the TZ1090 and other IMG SoCs.
71162306a36Sopenharmony_ci
71262306a36Sopenharmony_ci	  This driver can also be built as a module.  If so, the module
71362306a36Sopenharmony_ci	  will be called i2c-img-scb.
71462306a36Sopenharmony_ci
71562306a36Sopenharmony_ciconfig I2C_IMX
71662306a36Sopenharmony_ci	tristate "IMX I2C interface"
71762306a36Sopenharmony_ci	depends on ARCH_MXC || ARCH_LAYERSCAPE || COLDFIRE || COMPILE_TEST
71862306a36Sopenharmony_ci	select I2C_SLAVE
71962306a36Sopenharmony_ci	help
72062306a36Sopenharmony_ci	  Say Y here if you want to use the IIC bus controller on
72162306a36Sopenharmony_ci	  the Freescale i.MX/MXC, Layerscape or ColdFire processors.
72262306a36Sopenharmony_ci
72362306a36Sopenharmony_ci	  This driver can also be built as a module.  If so, the module
72462306a36Sopenharmony_ci	  will be called i2c-imx.
72562306a36Sopenharmony_ci
72662306a36Sopenharmony_ciconfig I2C_IMX_LPI2C
72762306a36Sopenharmony_ci	tristate "IMX Low Power I2C interface"
72862306a36Sopenharmony_ci	depends on ARCH_MXC || COMPILE_TEST
72962306a36Sopenharmony_ci	help
73062306a36Sopenharmony_ci	  Say Y here if you want to use the Low Power IIC bus controller
73162306a36Sopenharmony_ci	  on the Freescale i.MX processors.
73262306a36Sopenharmony_ci
73362306a36Sopenharmony_ci	  This driver can also be built as a module. If so, the module
73462306a36Sopenharmony_ci	  will be called i2c-imx-lpi2c.
73562306a36Sopenharmony_ci
73662306a36Sopenharmony_ciconfig I2C_IOP3XX
73762306a36Sopenharmony_ci	tristate "Intel IXP4xx on-chip I2C interface"
73862306a36Sopenharmony_ci	depends on ARCH_IXP4XX || COMPILE_TEST
73962306a36Sopenharmony_ci	help
74062306a36Sopenharmony_ci	  Say Y here if you want to use the IIC bus controller on
74162306a36Sopenharmony_ci	  the Intel IXP4xx Network Processors.
74262306a36Sopenharmony_ci
74362306a36Sopenharmony_ci	  This driver can also be built as a module.  If so, the module
74462306a36Sopenharmony_ci	  will be called i2c-iop3xx.
74562306a36Sopenharmony_ci
74662306a36Sopenharmony_ciconfig I2C_JZ4780
74762306a36Sopenharmony_ci	tristate "JZ4780 I2C controller interface support"
74862306a36Sopenharmony_ci	depends on MIPS || COMPILE_TEST
74962306a36Sopenharmony_ci	help
75062306a36Sopenharmony_ci	 If you say yes to this option, support will be included for the
75162306a36Sopenharmony_ci	 Ingenic JZ4780 I2C controller.
75262306a36Sopenharmony_ci
75362306a36Sopenharmony_ci	 If you don't know what to do here, say N.
75462306a36Sopenharmony_ci
75562306a36Sopenharmony_ciconfig I2C_KEMPLD
75662306a36Sopenharmony_ci	tristate "Kontron COM I2C Controller"
75762306a36Sopenharmony_ci	depends on MFD_KEMPLD
75862306a36Sopenharmony_ci	help
75962306a36Sopenharmony_ci	  This enables support for the I2C bus interface on some Kontron ETX
76062306a36Sopenharmony_ci	  and COMexpress (ETXexpress) modules.
76162306a36Sopenharmony_ci
76262306a36Sopenharmony_ci	  This driver can also be built as a module. If so, the module
76362306a36Sopenharmony_ci	  will be called i2c-kempld.
76462306a36Sopenharmony_ci
76562306a36Sopenharmony_ciconfig I2C_LPC2K
76662306a36Sopenharmony_ci	tristate "I2C bus support for NXP LPC2K/LPC178x/18xx/43xx"
76762306a36Sopenharmony_ci	depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
76862306a36Sopenharmony_ci	help
76962306a36Sopenharmony_ci	  This driver supports the I2C interface found several NXP
77062306a36Sopenharmony_ci	  devices including LPC2xxx, LPC178x/7x and LPC18xx/43xx.
77162306a36Sopenharmony_ci
77262306a36Sopenharmony_ci	  This driver can also be built as a module.  If so, the module
77362306a36Sopenharmony_ci	  will be called i2c-lpc2k.
77462306a36Sopenharmony_ci
77562306a36Sopenharmony_ciconfig I2C_LS2X
77662306a36Sopenharmony_ci	tristate "Loongson LS2X I2C adapter"
77762306a36Sopenharmony_ci	depends on MACH_LOONGSON64 || COMPILE_TEST
77862306a36Sopenharmony_ci	help
77962306a36Sopenharmony_ci	  If you say yes to this option, support will be included for the
78062306a36Sopenharmony_ci	  I2C interface on the Loongson-2K SoCs and Loongson LS7A bridge
78162306a36Sopenharmony_ci	  chip.
78262306a36Sopenharmony_ci
78362306a36Sopenharmony_ci	  This driver can also be built as a module. If so, the module
78462306a36Sopenharmony_ci	  will be called i2c-ls2x.
78562306a36Sopenharmony_ci
78662306a36Sopenharmony_ciconfig I2C_MLXBF
78762306a36Sopenharmony_ci        tristate "Mellanox BlueField I2C controller"
78862306a36Sopenharmony_ci        depends on MELLANOX_PLATFORM && ARM64
78962306a36Sopenharmony_ci	depends on ACPI
79062306a36Sopenharmony_ci	select I2C_SLAVE
79162306a36Sopenharmony_ci        help
79262306a36Sopenharmony_ci          Enabling this option will add I2C SMBus support for Mellanox BlueField
79362306a36Sopenharmony_ci          system.
79462306a36Sopenharmony_ci
79562306a36Sopenharmony_ci          This driver can also be built as a module. If so, the module will be
79662306a36Sopenharmony_ci          called i2c-mlxbf.
79762306a36Sopenharmony_ci
79862306a36Sopenharmony_ci          This driver implements an I2C SMBus host controller and enables both
79962306a36Sopenharmony_ci          master and slave functions.
80062306a36Sopenharmony_ci
80162306a36Sopenharmony_ciconfig I2C_MESON
80262306a36Sopenharmony_ci	tristate "Amlogic Meson I2C controller"
80362306a36Sopenharmony_ci	depends on ARCH_MESON || COMPILE_TEST
80462306a36Sopenharmony_ci	depends on COMMON_CLK
80562306a36Sopenharmony_ci	help
80662306a36Sopenharmony_ci	  If you say yes to this option, support will be included for the
80762306a36Sopenharmony_ci	  I2C interface on the Amlogic Meson family of SoCs.
80862306a36Sopenharmony_ci
80962306a36Sopenharmony_ciconfig I2C_MICROCHIP_CORE
81062306a36Sopenharmony_ci	tristate "Microchip FPGA I2C controller"
81162306a36Sopenharmony_ci	depends on ARCH_MICROCHIP_POLARFIRE || COMPILE_TEST
81262306a36Sopenharmony_ci	depends on OF
81362306a36Sopenharmony_ci	help
81462306a36Sopenharmony_ci	  If you say yes to this option, support will be included for the
81562306a36Sopenharmony_ci	  I2C interface on Microchip FPGAs.
81662306a36Sopenharmony_ci
81762306a36Sopenharmony_ci	  This driver can also be built as a module. If so, the module will be
81862306a36Sopenharmony_ci	  called i2c-microchip-core.
81962306a36Sopenharmony_ci
82062306a36Sopenharmony_ciconfig I2C_MPC
82162306a36Sopenharmony_ci	tristate "MPC107/824x/85xx/512x/52xx/83xx/86xx"
82262306a36Sopenharmony_ci	depends on PPC
82362306a36Sopenharmony_ci	help
82462306a36Sopenharmony_ci	  If you say yes to this option, support will be included for the
82562306a36Sopenharmony_ci	  built-in I2C interface on the MPC107, Tsi107, MPC512x, MPC52xx,
82662306a36Sopenharmony_ci	  MPC8240, MPC8245, MPC83xx, MPC85xx and MPC8641 family processors.
82762306a36Sopenharmony_ci
82862306a36Sopenharmony_ci	  This driver can also be built as a module.  If so, the module
82962306a36Sopenharmony_ci	  will be called i2c-mpc.
83062306a36Sopenharmony_ci
83162306a36Sopenharmony_ciconfig I2C_MT65XX
83262306a36Sopenharmony_ci	tristate "MediaTek I2C adapter"
83362306a36Sopenharmony_ci	depends on ARCH_MEDIATEK || COMPILE_TEST
83462306a36Sopenharmony_ci	help
83562306a36Sopenharmony_ci	  This selects the MediaTek(R) Integrated Inter Circuit bus driver
83662306a36Sopenharmony_ci	  for MT65xx and MT81xx.
83762306a36Sopenharmony_ci	  If you want to use MediaTek(R) I2C interface, say Y or M here.
83862306a36Sopenharmony_ci	  If unsure, say N.
83962306a36Sopenharmony_ci
84062306a36Sopenharmony_ciconfig I2C_MT7621
84162306a36Sopenharmony_ci	tristate "MT7621/MT7628 I2C Controller"
84262306a36Sopenharmony_ci	depends on (RALINK && (SOC_MT7620 || SOC_MT7621)) || COMPILE_TEST
84362306a36Sopenharmony_ci	help
84462306a36Sopenharmony_ci	  Say Y here to include support for I2C controller in the
84562306a36Sopenharmony_ci	  MediaTek MT7621/MT7628 SoCs.
84662306a36Sopenharmony_ci
84762306a36Sopenharmony_ciconfig I2C_MV64XXX
84862306a36Sopenharmony_ci	tristate "Marvell mv64xxx I2C Controller"
84962306a36Sopenharmony_ci	depends on PLAT_ORION || ARCH_SUNXI || ARCH_MVEBU || COMPILE_TEST
85062306a36Sopenharmony_ci	help
85162306a36Sopenharmony_ci	  If you say yes to this option, support will be included for the
85262306a36Sopenharmony_ci	  built-in I2C interface on the Marvell 64xxx line of host bridges.
85362306a36Sopenharmony_ci	  This driver is also used for Allwinner SoCs I2C controllers.
85462306a36Sopenharmony_ci
85562306a36Sopenharmony_ci	  This driver can also be built as a module.  If so, the module
85662306a36Sopenharmony_ci	  will be called i2c-mv64xxx.
85762306a36Sopenharmony_ci
85862306a36Sopenharmony_ciconfig I2C_MXS
85962306a36Sopenharmony_ci	tristate "Freescale i.MX28 I2C interface"
86062306a36Sopenharmony_ci	depends on SOC_IMX28 || COMPILE_TEST
86162306a36Sopenharmony_ci	select STMP_DEVICE
86262306a36Sopenharmony_ci	help
86362306a36Sopenharmony_ci	  Say Y here if you want to use the I2C bus controller on
86462306a36Sopenharmony_ci	  the Freescale i.MX28 processors.
86562306a36Sopenharmony_ci
86662306a36Sopenharmony_ci	  This driver can also be built as a module.  If so, the module
86762306a36Sopenharmony_ci	  will be called i2c-mxs.
86862306a36Sopenharmony_ci
86962306a36Sopenharmony_ciconfig I2C_NOMADIK
87062306a36Sopenharmony_ci	tristate "ST-Ericsson Nomadik/Ux500 I2C Controller"
87162306a36Sopenharmony_ci	depends on ARM_AMBA
87262306a36Sopenharmony_ci	help
87362306a36Sopenharmony_ci	  If you say yes to this option, support will be included for the
87462306a36Sopenharmony_ci	  I2C interface from ST-Ericsson's Nomadik and Ux500 architectures,
87562306a36Sopenharmony_ci	  as well as the STA2X11 PCIe I/O HUB.
87662306a36Sopenharmony_ci
87762306a36Sopenharmony_ciconfig I2C_NPCM
87862306a36Sopenharmony_ci	tristate "Nuvoton I2C Controller"
87962306a36Sopenharmony_ci	depends on ARCH_NPCM || COMPILE_TEST
88062306a36Sopenharmony_ci	help
88162306a36Sopenharmony_ci	  If you say yes to this option, support will be included for the
88262306a36Sopenharmony_ci	  Nuvoton I2C controller, which is available on the NPCM BMC
88362306a36Sopenharmony_ci	  controllers.
88462306a36Sopenharmony_ci	  Driver can also support slave mode (select I2C_SLAVE).
88562306a36Sopenharmony_ci
88662306a36Sopenharmony_ciconfig I2C_OCORES
88762306a36Sopenharmony_ci	tristate "OpenCores I2C Controller"
88862306a36Sopenharmony_ci	help
88962306a36Sopenharmony_ci	  If you say yes to this option, support will be included for the
89062306a36Sopenharmony_ci	  OpenCores I2C controller. For details see
89162306a36Sopenharmony_ci	  http://www.opencores.org/projects.cgi/web/i2c/overview
89262306a36Sopenharmony_ci
89362306a36Sopenharmony_ci	  This driver can also be built as a module.  If so, the module
89462306a36Sopenharmony_ci	  will be called i2c-ocores.
89562306a36Sopenharmony_ci
89662306a36Sopenharmony_ciconfig I2C_OMAP
89762306a36Sopenharmony_ci	tristate "OMAP I2C adapter"
89862306a36Sopenharmony_ci	depends on ARCH_OMAP || ARCH_K3 || COMPILE_TEST
89962306a36Sopenharmony_ci	default MACH_OMAP_OSK
90062306a36Sopenharmony_ci	help
90162306a36Sopenharmony_ci	  If you say yes to this option, support will be included for the
90262306a36Sopenharmony_ci	  I2C interface on the Texas Instruments OMAP1/2 family of processors.
90362306a36Sopenharmony_ci	  Like OMAP1510/1610/1710/5912 and OMAP242x.
90462306a36Sopenharmony_ci	  For details see http://www.ti.com/omap.
90562306a36Sopenharmony_ci
90662306a36Sopenharmony_ciconfig I2C_OWL
90762306a36Sopenharmony_ci	tristate "Actions Semiconductor Owl I2C Controller"
90862306a36Sopenharmony_ci	depends on ARCH_ACTIONS || COMPILE_TEST
90962306a36Sopenharmony_ci	help
91062306a36Sopenharmony_ci	  Say Y here if you want to use the I2C bus controller on
91162306a36Sopenharmony_ci	  the Actions Semiconductor Owl SoC's.
91262306a36Sopenharmony_ci
91362306a36Sopenharmony_ciconfig I2C_PASEMI
91462306a36Sopenharmony_ci	tristate "PA Semi SMBus interface"
91562306a36Sopenharmony_ci	depends on PPC_PASEMI && PCI
91662306a36Sopenharmony_ci	help
91762306a36Sopenharmony_ci	  Supports the PA Semi PWRficient on-chip SMBus interfaces.
91862306a36Sopenharmony_ci
91962306a36Sopenharmony_ciconfig I2C_APPLE
92062306a36Sopenharmony_ci	tristate "Apple SMBus platform driver"
92162306a36Sopenharmony_ci	depends on !I2C_PASEMI
92262306a36Sopenharmony_ci	depends on ARCH_APPLE || COMPILE_TEST
92362306a36Sopenharmony_ci	default ARCH_APPLE
92462306a36Sopenharmony_ci	help
92562306a36Sopenharmony_ci	  Say Y here if you want to use the I2C controller present on Apple
92662306a36Sopenharmony_ci	  Silicon chips such as the M1.
92762306a36Sopenharmony_ci
92862306a36Sopenharmony_ci	  This driver can also be built as a module. If so, the module
92962306a36Sopenharmony_ci	  will be called i2c-apple.
93062306a36Sopenharmony_ci
93162306a36Sopenharmony_ciconfig I2C_PCA_PLATFORM
93262306a36Sopenharmony_ci	tristate "PCA9564/PCA9665 as platform device"
93362306a36Sopenharmony_ci	select I2C_ALGOPCA
93462306a36Sopenharmony_ci	help
93562306a36Sopenharmony_ci	  This driver supports a memory mapped Philips PCA9564/PCA9665
93662306a36Sopenharmony_ci	  parallel bus to I2C bus controller.
93762306a36Sopenharmony_ci
93862306a36Sopenharmony_ci	  This driver can also be built as a module.  If so, the module
93962306a36Sopenharmony_ci	  will be called i2c-pca-platform.
94062306a36Sopenharmony_ci
94162306a36Sopenharmony_ciconfig I2C_PNX
94262306a36Sopenharmony_ci	tristate "I2C bus support for Philips PNX and NXP LPC targets"
94362306a36Sopenharmony_ci	depends on ARCH_LPC32XX || COMPILE_TEST
94462306a36Sopenharmony_ci	help
94562306a36Sopenharmony_ci	  This driver supports the Philips IP3204 I2C IP block master and/or
94662306a36Sopenharmony_ci	  slave controller
94762306a36Sopenharmony_ci
94862306a36Sopenharmony_ci	  This driver can also be built as a module.  If so, the module
94962306a36Sopenharmony_ci	  will be called i2c-pnx.
95062306a36Sopenharmony_ci
95162306a36Sopenharmony_ciconfig I2C_PXA
95262306a36Sopenharmony_ci	tristate "Intel PXA2XX I2C adapter"
95362306a36Sopenharmony_ci	depends on ARCH_PXA || ARCH_MMP || ARCH_MVEBU || (X86_32 && PCI && OF) || COMPILE_TEST
95462306a36Sopenharmony_ci	help
95562306a36Sopenharmony_ci	  If you have devices in the PXA I2C bus, say yes to this option.
95662306a36Sopenharmony_ci	  This driver can also be built as a module.  If so, the module
95762306a36Sopenharmony_ci	  will be called i2c-pxa.
95862306a36Sopenharmony_ci
95962306a36Sopenharmony_ciconfig I2C_PXA_PCI
96062306a36Sopenharmony_ci	def_bool I2C_PXA && X86_32 && PCI && OF
96162306a36Sopenharmony_ci
96262306a36Sopenharmony_ciconfig I2C_PXA_SLAVE
96362306a36Sopenharmony_ci	bool "Intel PXA2XX I2C Slave comms support"
96462306a36Sopenharmony_ci	depends on I2C_PXA && !X86_32
96562306a36Sopenharmony_ci	select I2C_SLAVE
96662306a36Sopenharmony_ci	help
96762306a36Sopenharmony_ci	  Support I2C slave mode communications on the PXA I2C bus.  This
96862306a36Sopenharmony_ci	  is necessary for systems where the PXA may be a target on the
96962306a36Sopenharmony_ci	  I2C bus.
97062306a36Sopenharmony_ci
97162306a36Sopenharmony_ciconfig I2C_QCOM_CCI
97262306a36Sopenharmony_ci	tristate "Qualcomm Camera Control Interface"
97362306a36Sopenharmony_ci	depends on ARCH_QCOM || COMPILE_TEST
97462306a36Sopenharmony_ci	help
97562306a36Sopenharmony_ci	  If you say yes to this option, support will be included for the
97662306a36Sopenharmony_ci	  built-in camera control interface on the Qualcomm SoCs.
97762306a36Sopenharmony_ci
97862306a36Sopenharmony_ci	  This driver can also be built as a module.  If so, the module
97962306a36Sopenharmony_ci	  will be called i2c-qcom-cci.
98062306a36Sopenharmony_ci
98162306a36Sopenharmony_ciconfig I2C_QCOM_GENI
98262306a36Sopenharmony_ci	tristate "Qualcomm Technologies Inc.'s GENI based I2C controller"
98362306a36Sopenharmony_ci	depends on ARCH_QCOM || COMPILE_TEST
98462306a36Sopenharmony_ci	depends on QCOM_GENI_SE
98562306a36Sopenharmony_ci	help
98662306a36Sopenharmony_ci	  This driver supports GENI serial engine based I2C controller in
98762306a36Sopenharmony_ci	  master mode on the Qualcomm Technologies Inc.'s SoCs. If you say
98862306a36Sopenharmony_ci	  yes to this option, support will be included for the built-in I2C
98962306a36Sopenharmony_ci	  interface on the Qualcomm Technologies Inc.'s SoCs.
99062306a36Sopenharmony_ci
99162306a36Sopenharmony_ci	  This driver can also be built as a module.  If so, the module
99262306a36Sopenharmony_ci	  will be called i2c-qcom-geni.
99362306a36Sopenharmony_ci
99462306a36Sopenharmony_ciconfig I2C_QUP
99562306a36Sopenharmony_ci	tristate "Qualcomm QUP based I2C controller"
99662306a36Sopenharmony_ci	depends on ARCH_QCOM || COMPILE_TEST
99762306a36Sopenharmony_ci	help
99862306a36Sopenharmony_ci	  If you say yes to this option, support will be included for the
99962306a36Sopenharmony_ci	  built-in I2C interface on the Qualcomm SoCs.
100062306a36Sopenharmony_ci
100162306a36Sopenharmony_ci	  This driver can also be built as a module.  If so, the module
100262306a36Sopenharmony_ci	  will be called i2c-qup.
100362306a36Sopenharmony_ci
100462306a36Sopenharmony_ciconfig I2C_RIIC
100562306a36Sopenharmony_ci	tristate "Renesas RIIC adapter"
100662306a36Sopenharmony_ci	depends on ARCH_RENESAS || COMPILE_TEST
100762306a36Sopenharmony_ci	help
100862306a36Sopenharmony_ci	  If you say yes to this option, support will be included for the
100962306a36Sopenharmony_ci	  Renesas RIIC I2C interface.
101062306a36Sopenharmony_ci
101162306a36Sopenharmony_ci	  This driver can also be built as a module.  If so, the module
101262306a36Sopenharmony_ci	  will be called i2c-riic.
101362306a36Sopenharmony_ci
101462306a36Sopenharmony_ciconfig I2C_RK3X
101562306a36Sopenharmony_ci	tristate "Rockchip RK3xxx I2C adapter"
101662306a36Sopenharmony_ci	depends on OF && COMMON_CLK
101762306a36Sopenharmony_ci	help
101862306a36Sopenharmony_ci	  Say Y here to include support for the I2C adapter in Rockchip RK3xxx
101962306a36Sopenharmony_ci	  SoCs.
102062306a36Sopenharmony_ci
102162306a36Sopenharmony_ci	  This driver can also be built as a module. If so, the module will
102262306a36Sopenharmony_ci	  be called i2c-rk3x.
102362306a36Sopenharmony_ci
102462306a36Sopenharmony_ciconfig I2C_RZV2M
102562306a36Sopenharmony_ci	tristate "Renesas RZ/V2M adapter"
102662306a36Sopenharmony_ci	depends on ARCH_RENESAS || COMPILE_TEST
102762306a36Sopenharmony_ci	help
102862306a36Sopenharmony_ci	  If you say yes to this option, support will be included for the
102962306a36Sopenharmony_ci	  Renesas RZ/V2M I2C interface.
103062306a36Sopenharmony_ci
103162306a36Sopenharmony_ci	  This driver can also be built as a module.  If so, the module
103262306a36Sopenharmony_ci	  will be called i2c-rzv2m.
103362306a36Sopenharmony_ci
103462306a36Sopenharmony_ciconfig I2C_S3C2410
103562306a36Sopenharmony_ci	tristate "S3C/Exynos I2C Driver"
103662306a36Sopenharmony_ci	depends on ARCH_EXYNOS || ARCH_S3C64XX || ARCH_S5PV210 || COMPILE_TEST
103762306a36Sopenharmony_ci	help
103862306a36Sopenharmony_ci	  Say Y here to include support for I2C controller in the
103962306a36Sopenharmony_ci	  Samsung SoCs (S3C, S5Pv210, Exynos).
104062306a36Sopenharmony_ci
104162306a36Sopenharmony_ciconfig I2C_SH7760
104262306a36Sopenharmony_ci	tristate "Renesas SH7760 I2C Controller"
104362306a36Sopenharmony_ci	depends on CPU_SUBTYPE_SH7760
104462306a36Sopenharmony_ci	help
104562306a36Sopenharmony_ci	  This driver supports the 2 I2C interfaces on the Renesas SH7760.
104662306a36Sopenharmony_ci
104762306a36Sopenharmony_ci	  This driver can also be built as a module.  If so, the module
104862306a36Sopenharmony_ci	  will be called i2c-sh7760.
104962306a36Sopenharmony_ci
105062306a36Sopenharmony_ciconfig I2C_SH_MOBILE
105162306a36Sopenharmony_ci	tristate "SuperH Mobile I2C Controller"
105262306a36Sopenharmony_ci	depends on ARCH_SHMOBILE || ARCH_RENESAS || COMPILE_TEST
105362306a36Sopenharmony_ci	help
105462306a36Sopenharmony_ci	  If you say yes to this option, support will be included for the
105562306a36Sopenharmony_ci	  built-in I2C interface on the Renesas SH-Mobile processor.
105662306a36Sopenharmony_ci
105762306a36Sopenharmony_ci	  This driver can also be built as a module.  If so, the module
105862306a36Sopenharmony_ci	  will be called i2c-sh_mobile.
105962306a36Sopenharmony_ci
106062306a36Sopenharmony_ciconfig I2C_SIMTEC
106162306a36Sopenharmony_ci	tristate "Simtec Generic I2C interface"
106262306a36Sopenharmony_ci	select I2C_ALGOBIT
106362306a36Sopenharmony_ci	help
106462306a36Sopenharmony_ci	  If you say yes to this option, support will be included for
106562306a36Sopenharmony_ci	  the Simtec Generic I2C interface. This driver is for the
106662306a36Sopenharmony_ci	  simple I2C bus used on newer Simtec products for general
106762306a36Sopenharmony_ci	  I2C, such as DDC on the Simtec BBD2016A.
106862306a36Sopenharmony_ci
106962306a36Sopenharmony_ci	  This driver can also be built as a module. If so, the module
107062306a36Sopenharmony_ci	  will be called i2c-simtec.
107162306a36Sopenharmony_ci
107262306a36Sopenharmony_ciconfig I2C_SPRD
107362306a36Sopenharmony_ci	tristate "Spreadtrum I2C interface"
107462306a36Sopenharmony_ci	depends on I2C=y && (ARCH_SPRD || COMPILE_TEST)
107562306a36Sopenharmony_ci	depends on COMMON_CLK
107662306a36Sopenharmony_ci	help
107762306a36Sopenharmony_ci	  If you say yes to this option, support will be included for the
107862306a36Sopenharmony_ci	  Spreadtrum I2C interface.
107962306a36Sopenharmony_ci
108062306a36Sopenharmony_ciconfig I2C_ST
108162306a36Sopenharmony_ci	tristate "STMicroelectronics SSC I2C support"
108262306a36Sopenharmony_ci	depends on ARCH_STI || COMPILE_TEST
108362306a36Sopenharmony_ci	help
108462306a36Sopenharmony_ci	  Enable this option to add support for STMicroelectronics SoCs
108562306a36Sopenharmony_ci	  hardware SSC (Synchronous Serial Controller) as an I2C controller.
108662306a36Sopenharmony_ci
108762306a36Sopenharmony_ci	  This driver can also be built as module. If so, the module
108862306a36Sopenharmony_ci	  will be called i2c-st.
108962306a36Sopenharmony_ci
109062306a36Sopenharmony_ciconfig I2C_STM32F4
109162306a36Sopenharmony_ci	tristate "STMicroelectronics STM32F4 I2C support"
109262306a36Sopenharmony_ci	depends on ARCH_STM32 || COMPILE_TEST
109362306a36Sopenharmony_ci	help
109462306a36Sopenharmony_ci	  Enable this option to add support for STM32 I2C controller embedded
109562306a36Sopenharmony_ci	  in STM32F4 SoCs.
109662306a36Sopenharmony_ci
109762306a36Sopenharmony_ci	  This driver can also be built as module. If so, the module
109862306a36Sopenharmony_ci	  will be called i2c-stm32f4.
109962306a36Sopenharmony_ci
110062306a36Sopenharmony_ciconfig I2C_STM32F7
110162306a36Sopenharmony_ci	tristate "STMicroelectronics STM32F7 I2C support"
110262306a36Sopenharmony_ci	depends on ARCH_STM32 || COMPILE_TEST
110362306a36Sopenharmony_ci	select I2C_SLAVE
110462306a36Sopenharmony_ci	select I2C_SMBUS
110562306a36Sopenharmony_ci	help
110662306a36Sopenharmony_ci	  Enable this option to add support for STM32 I2C controller embedded
110762306a36Sopenharmony_ci	  in STM32F7 SoCs.
110862306a36Sopenharmony_ci
110962306a36Sopenharmony_ci	  This driver can also be built as module. If so, the module
111062306a36Sopenharmony_ci	  will be called i2c-stm32f7.
111162306a36Sopenharmony_ci
111262306a36Sopenharmony_ciconfig I2C_SUN6I_P2WI
111362306a36Sopenharmony_ci	tristate "Allwinner sun6i internal P2WI controller"
111462306a36Sopenharmony_ci	depends on RESET_CONTROLLER
111562306a36Sopenharmony_ci	depends on MACH_SUN6I || COMPILE_TEST
111662306a36Sopenharmony_ci	help
111762306a36Sopenharmony_ci	  If you say yes to this option, support will be included for the
111862306a36Sopenharmony_ci	  P2WI (Push/Pull 2 Wire Interface) controller embedded in some sunxi
111962306a36Sopenharmony_ci	  SOCs.
112062306a36Sopenharmony_ci	  The P2WI looks like an SMBus controller (which supports only byte
112162306a36Sopenharmony_ci	  accesses), except that it only supports one slave device.
112262306a36Sopenharmony_ci	  This interface is used to connect to specific PMIC devices (like the
112362306a36Sopenharmony_ci	  AXP221).
112462306a36Sopenharmony_ci
112562306a36Sopenharmony_ciconfig I2C_SYNQUACER
112662306a36Sopenharmony_ci	tristate "Socionext SynQuacer I2C controller"
112762306a36Sopenharmony_ci	depends on ARCH_SYNQUACER || COMPILE_TEST
112862306a36Sopenharmony_ci	help
112962306a36Sopenharmony_ci	  Say Y here to include support for the I2C controller used in some
113062306a36Sopenharmony_ci	  Fujitsu and Socionext SoCs.
113162306a36Sopenharmony_ci
113262306a36Sopenharmony_ci	  This driver can also be built as a module. If so, the module
113362306a36Sopenharmony_ci	  will be called i2c-synquacer.
113462306a36Sopenharmony_ci
113562306a36Sopenharmony_ciconfig I2C_TEGRA
113662306a36Sopenharmony_ci	tristate "NVIDIA Tegra internal I2C controller"
113762306a36Sopenharmony_ci	depends on ARCH_TEGRA || (COMPILE_TEST && (ARC || ARM || ARM64 || M68K || RISCV || SUPERH || SPARC))
113862306a36Sopenharmony_ci	# COMPILE_TEST needs architectures with readsX()/writesX() primitives
113962306a36Sopenharmony_ci	help
114062306a36Sopenharmony_ci	  If you say yes to this option, support will be included for the
114162306a36Sopenharmony_ci	  I2C controller embedded in NVIDIA Tegra SOCs
114262306a36Sopenharmony_ci
114362306a36Sopenharmony_ciconfig I2C_TEGRA_BPMP
114462306a36Sopenharmony_ci	tristate "NVIDIA Tegra BPMP I2C controller"
114562306a36Sopenharmony_ci	depends on TEGRA_BPMP || COMPILE_TEST
114662306a36Sopenharmony_ci	default y if TEGRA_BPMP
114762306a36Sopenharmony_ci	help
114862306a36Sopenharmony_ci	  If you say yes to this option, support will be included for the I2C
114962306a36Sopenharmony_ci	  controller embedded in NVIDIA Tegra SoCs accessed via the BPMP.
115062306a36Sopenharmony_ci
115162306a36Sopenharmony_ci	  This I2C driver is a 'virtual' I2C driver. The real driver is part
115262306a36Sopenharmony_ci	  of the BPMP firmware, and this driver merely communicates with that
115362306a36Sopenharmony_ci	  real driver.
115462306a36Sopenharmony_ci
115562306a36Sopenharmony_ciconfig I2C_UNIPHIER
115662306a36Sopenharmony_ci	tristate "UniPhier FIFO-less I2C controller"
115762306a36Sopenharmony_ci	depends on ARCH_UNIPHIER || COMPILE_TEST
115862306a36Sopenharmony_ci	help
115962306a36Sopenharmony_ci	  If you say yes to this option, support will be included for
116062306a36Sopenharmony_ci	  the UniPhier FIFO-less I2C interface embedded in PH1-LD4, PH1-sLD8,
116162306a36Sopenharmony_ci	  or older UniPhier SoCs.
116262306a36Sopenharmony_ci
116362306a36Sopenharmony_ciconfig I2C_UNIPHIER_F
116462306a36Sopenharmony_ci	tristate "UniPhier FIFO-builtin I2C controller"
116562306a36Sopenharmony_ci	depends on ARCH_UNIPHIER || COMPILE_TEST
116662306a36Sopenharmony_ci	help
116762306a36Sopenharmony_ci	  If you say yes to this option, support will be included for
116862306a36Sopenharmony_ci	  the UniPhier FIFO-builtin I2C interface embedded in PH1-Pro4,
116962306a36Sopenharmony_ci	  PH1-Pro5, or newer UniPhier SoCs.
117062306a36Sopenharmony_ci
117162306a36Sopenharmony_ciconfig I2C_VERSATILE
117262306a36Sopenharmony_ci	tristate "ARM Versatile/Realview I2C bus support"
117362306a36Sopenharmony_ci	depends on ARCH_MPS2 || ARCH_VERSATILE || ARCH_REALVIEW || ARCH_VEXPRESS || COMPILE_TEST
117462306a36Sopenharmony_ci	select I2C_ALGOBIT
117562306a36Sopenharmony_ci	help
117662306a36Sopenharmony_ci	  Say yes if you want to support the I2C serial bus on ARMs Versatile
117762306a36Sopenharmony_ci	  range of platforms.
117862306a36Sopenharmony_ci
117962306a36Sopenharmony_ci	  This driver can also be built as a module.  If so, the module
118062306a36Sopenharmony_ci	  will be called i2c-versatile.
118162306a36Sopenharmony_ci
118262306a36Sopenharmony_ciconfig I2C_WMT
118362306a36Sopenharmony_ci	tristate "Wondermedia WM8xxx SoC I2C bus support"
118462306a36Sopenharmony_ci	depends on ARCH_VT8500 || COMPILE_TEST
118562306a36Sopenharmony_ci	help
118662306a36Sopenharmony_ci	  Say yes if you want to support the I2C bus on Wondermedia 8xxx-series
118762306a36Sopenharmony_ci	  SoCs.
118862306a36Sopenharmony_ci
118962306a36Sopenharmony_ci	  This driver can also be built as a module. If so, the module will be
119062306a36Sopenharmony_ci	  called i2c-wmt.
119162306a36Sopenharmony_ci
119262306a36Sopenharmony_ciconfig I2C_OCTEON
119362306a36Sopenharmony_ci	tristate "Cavium OCTEON I2C bus support"
119462306a36Sopenharmony_ci	depends on CAVIUM_OCTEON_SOC
119562306a36Sopenharmony_ci	help
119662306a36Sopenharmony_ci	  Say yes if you want to support the I2C serial bus on Cavium
119762306a36Sopenharmony_ci	  OCTEON SOC.
119862306a36Sopenharmony_ci
119962306a36Sopenharmony_ci	  This driver can also be built as a module.  If so, the module
120062306a36Sopenharmony_ci	  will be called i2c-octeon.
120162306a36Sopenharmony_ci
120262306a36Sopenharmony_ciconfig I2C_THUNDERX
120362306a36Sopenharmony_ci	tristate "Cavium ThunderX I2C bus support"
120462306a36Sopenharmony_ci	depends on 64BIT && PCI && (ARM64 || COMPILE_TEST)
120562306a36Sopenharmony_ci	select I2C_SMBUS
120662306a36Sopenharmony_ci	help
120762306a36Sopenharmony_ci	  Say yes if you want to support the I2C serial bus on Cavium
120862306a36Sopenharmony_ci	  ThunderX SOC.
120962306a36Sopenharmony_ci
121062306a36Sopenharmony_ci	  This driver can also be built as a module.  If so, the module
121162306a36Sopenharmony_ci	  will be called i2c-thunderx.
121262306a36Sopenharmony_ci
121362306a36Sopenharmony_ciconfig I2C_XILINX
121462306a36Sopenharmony_ci	tristate "Xilinx I2C Controller"
121562306a36Sopenharmony_ci	depends on HAS_IOMEM
121662306a36Sopenharmony_ci	help
121762306a36Sopenharmony_ci	  If you say yes to this option, support will be included for the
121862306a36Sopenharmony_ci	  Xilinx I2C controller.
121962306a36Sopenharmony_ci
122062306a36Sopenharmony_ci	  This driver can also be built as a module.  If so, the module
122162306a36Sopenharmony_ci	  will be called xilinx_i2c.
122262306a36Sopenharmony_ci
122362306a36Sopenharmony_ciconfig I2C_XLP9XX
122462306a36Sopenharmony_ci	tristate "Cavium ThunderX2 I2C support"
122562306a36Sopenharmony_ci	depends on ARCH_THUNDER2 || COMPILE_TEST
122662306a36Sopenharmony_ci	help
122762306a36Sopenharmony_ci	  This driver enables support for the on-chip I2C interface of
122862306a36Sopenharmony_ci	  the Cavium ThunderX2 processors. (Originally on Netlogic XLP SoCs.)
122962306a36Sopenharmony_ci
123062306a36Sopenharmony_ci	  This driver can also be built as a module.  If so, the module will
123162306a36Sopenharmony_ci	  be called i2c-xlp9xx.
123262306a36Sopenharmony_ci
123362306a36Sopenharmony_ciconfig I2C_RCAR
123462306a36Sopenharmony_ci	tristate "Renesas R-Car I2C Controller"
123562306a36Sopenharmony_ci	depends on ARCH_RENESAS || COMPILE_TEST
123662306a36Sopenharmony_ci	select I2C_SLAVE
123762306a36Sopenharmony_ci	select I2C_SMBUS
123862306a36Sopenharmony_ci	select RESET_CONTROLLER if ARCH_RCAR_GEN3
123962306a36Sopenharmony_ci	help
124062306a36Sopenharmony_ci	  If you say yes to this option, support will be included for the
124162306a36Sopenharmony_ci	  R-Car I2C controller.
124262306a36Sopenharmony_ci
124362306a36Sopenharmony_ci	  This driver can also be built as a module.  If so, the module
124462306a36Sopenharmony_ci	  will be called i2c-rcar.
124562306a36Sopenharmony_ci
124662306a36Sopenharmony_cicomment "External I2C/SMBus adapter drivers"
124762306a36Sopenharmony_ci
124862306a36Sopenharmony_ciconfig I2C_DIOLAN_U2C
124962306a36Sopenharmony_ci	tristate "Diolan U2C-12 USB adapter"
125062306a36Sopenharmony_ci	depends on USB
125162306a36Sopenharmony_ci	help
125262306a36Sopenharmony_ci	  If you say yes to this option, support will be included for Diolan
125362306a36Sopenharmony_ci	  U2C-12, a USB to I2C interface.
125462306a36Sopenharmony_ci
125562306a36Sopenharmony_ci	  This driver can also be built as a module.  If so, the module
125662306a36Sopenharmony_ci	  will be called i2c-diolan-u2c.
125762306a36Sopenharmony_ci
125862306a36Sopenharmony_ciconfig I2C_DLN2
125962306a36Sopenharmony_ci	tristate "Diolan DLN-2 USB I2C adapter"
126062306a36Sopenharmony_ci	depends on MFD_DLN2
126162306a36Sopenharmony_ci	help
126262306a36Sopenharmony_ci	 If you say yes to this option, support will be included for Diolan
126362306a36Sopenharmony_ci	 DLN2, a USB to I2C interface.
126462306a36Sopenharmony_ci
126562306a36Sopenharmony_ci	 This driver can also be built as a module.  If so, the module
126662306a36Sopenharmony_ci	 will be called i2c-dln2.
126762306a36Sopenharmony_ci
126862306a36Sopenharmony_ciconfig I2C_CP2615
126962306a36Sopenharmony_ci	tristate "Silicon Labs CP2615 USB sound card and I2C adapter"
127062306a36Sopenharmony_ci	depends on USB
127162306a36Sopenharmony_ci	help
127262306a36Sopenharmony_ci	  If you say yes to this option, support will be included for Silicon
127362306a36Sopenharmony_ci	  Labs CP2615's I2C interface.
127462306a36Sopenharmony_ci
127562306a36Sopenharmony_ci	  This driver can also be built as a module.  If so, the module
127662306a36Sopenharmony_ci	  will be called i2c-cp2615.
127762306a36Sopenharmony_ci
127862306a36Sopenharmony_ciconfig I2C_PARPORT
127962306a36Sopenharmony_ci	tristate "Parallel port adapter"
128062306a36Sopenharmony_ci	depends on PARPORT
128162306a36Sopenharmony_ci	select I2C_ALGOBIT
128262306a36Sopenharmony_ci	select I2C_SMBUS
128362306a36Sopenharmony_ci	help
128462306a36Sopenharmony_ci	  This supports parallel port I2C adapters such as the ones made by
128562306a36Sopenharmony_ci	  Philips or Velleman, Analog Devices evaluation boards, and more.
128662306a36Sopenharmony_ci	  Basically any adapter using the parallel port as an I2C bus with
128762306a36Sopenharmony_ci	  no extra chipset is supported by this driver, or could be. Please
128862306a36Sopenharmony_ci	  read the file Documentation/i2c/busses/i2c-parport.rst for details.
128962306a36Sopenharmony_ci
129062306a36Sopenharmony_ci	  This support is also available as a module.  If so, the module
129162306a36Sopenharmony_ci	  will be called i2c-parport.
129262306a36Sopenharmony_ci
129362306a36Sopenharmony_ciconfig I2C_PCI1XXXX
129462306a36Sopenharmony_ci	tristate "PCI1XXXX I2C Host Adapter"
129562306a36Sopenharmony_ci	depends on PCI
129662306a36Sopenharmony_ci	help
129762306a36Sopenharmony_ci	  If you say yes to this option, support will be included for
129862306a36Sopenharmony_ci	  Microchip PCI1XXXX's I2C interface.
129962306a36Sopenharmony_ci
130062306a36Sopenharmony_ci	  This driver can also be built as a module. If so, the module will
130162306a36Sopenharmony_ci	  be called i2c-mchp-pci1xxxx.
130262306a36Sopenharmony_ci
130362306a36Sopenharmony_ciconfig I2C_ROBOTFUZZ_OSIF
130462306a36Sopenharmony_ci	tristate "RobotFuzz Open Source InterFace USB adapter"
130562306a36Sopenharmony_ci	depends on USB
130662306a36Sopenharmony_ci	help
130762306a36Sopenharmony_ci	  If you say yes to this option, support will be included for the
130862306a36Sopenharmony_ci	  RobotFuzz Open Source InterFace USB to I2C interface.
130962306a36Sopenharmony_ci
131062306a36Sopenharmony_ci	  This driver can also be built as a module.  If so, the module
131162306a36Sopenharmony_ci	  will be called i2c-osif.
131262306a36Sopenharmony_ci
131362306a36Sopenharmony_ciconfig I2C_TAOS_EVM
131462306a36Sopenharmony_ci	tristate "TAOS evaluation module"
131562306a36Sopenharmony_ci	depends on TTY
131662306a36Sopenharmony_ci	select SERIO
131762306a36Sopenharmony_ci	select SERIO_SERPORT
131862306a36Sopenharmony_ci	help
131962306a36Sopenharmony_ci	  This supports TAOS evaluation modules on serial port. In order to
132062306a36Sopenharmony_ci	  use this driver, you will need the inputattach tool, which is part
132162306a36Sopenharmony_ci	  of the input-utils package.
132262306a36Sopenharmony_ci
132362306a36Sopenharmony_ci	  If unsure, say N.
132462306a36Sopenharmony_ci
132562306a36Sopenharmony_ci	  This support is also available as a module.  If so, the module
132662306a36Sopenharmony_ci	  will be called i2c-taos-evm.
132762306a36Sopenharmony_ci
132862306a36Sopenharmony_ciconfig I2C_TINY_USB
132962306a36Sopenharmony_ci	tristate "Tiny-USB adapter"
133062306a36Sopenharmony_ci	depends on USB
133162306a36Sopenharmony_ci	help
133262306a36Sopenharmony_ci	  If you say yes to this option, support will be included for the
133362306a36Sopenharmony_ci	  i2c-tiny-usb, a simple do-it-yourself USB to I2C interface. See
133462306a36Sopenharmony_ci	  http://www.harbaum.org/till/i2c_tiny_usb for hardware details.
133562306a36Sopenharmony_ci
133662306a36Sopenharmony_ci	  This driver can also be built as a module.  If so, the module
133762306a36Sopenharmony_ci	  will be called i2c-tiny-usb.
133862306a36Sopenharmony_ci
133962306a36Sopenharmony_ciconfig I2C_VIPERBOARD
134062306a36Sopenharmony_ci	tristate "Viperboard I2C master support"
134162306a36Sopenharmony_ci	depends on MFD_VIPERBOARD && USB
134262306a36Sopenharmony_ci	help
134362306a36Sopenharmony_ci	  Say yes here to access the I2C part of the Nano River
134462306a36Sopenharmony_ci	  Technologies Viperboard as I2C master.
134562306a36Sopenharmony_ci	  See viperboard API specification and Nano
134662306a36Sopenharmony_ci	  River Tech's viperboard.h for detailed meaning
134762306a36Sopenharmony_ci	  of the module parameters.
134862306a36Sopenharmony_ci
134962306a36Sopenharmony_cicomment "Other I2C/SMBus bus drivers"
135062306a36Sopenharmony_ci
135162306a36Sopenharmony_ciconfig I2C_ACORN
135262306a36Sopenharmony_ci	tristate "Acorn IOC/IOMD I2C bus support"
135362306a36Sopenharmony_ci	depends on ARCH_ACORN
135462306a36Sopenharmony_ci	default y
135562306a36Sopenharmony_ci	select I2C_ALGOBIT
135662306a36Sopenharmony_ci	help
135762306a36Sopenharmony_ci	  Say yes if you want to support the I2C bus on Acorn platforms.
135862306a36Sopenharmony_ci
135962306a36Sopenharmony_ci	  If you don't know, say Y.
136062306a36Sopenharmony_ci
136162306a36Sopenharmony_ciconfig I2C_ELEKTOR
136262306a36Sopenharmony_ci	tristate "Elektor ISA card"
136362306a36Sopenharmony_ci	depends on ISA && HAS_IOPORT_MAP && BROKEN_ON_SMP
136462306a36Sopenharmony_ci	select I2C_ALGOPCF
136562306a36Sopenharmony_ci	help
136662306a36Sopenharmony_ci	  This supports the PCF8584 ISA bus I2C adapter.  Say Y if you own
136762306a36Sopenharmony_ci	  such an adapter.
136862306a36Sopenharmony_ci
136962306a36Sopenharmony_ci	  This support is also available as a module.  If so, the module
137062306a36Sopenharmony_ci	  will be called i2c-elektor.
137162306a36Sopenharmony_ci
137262306a36Sopenharmony_ciconfig I2C_ICY
137362306a36Sopenharmony_ci	tristate "ICY Zorro card"
137462306a36Sopenharmony_ci	depends on ZORRO
137562306a36Sopenharmony_ci	select I2C_ALGOPCF
137662306a36Sopenharmony_ci	help
137762306a36Sopenharmony_ci	  This supports the PCF8584 Zorro bus I2C adapter, known as ICY.
137862306a36Sopenharmony_ci	  Say Y if you own such an adapter.
137962306a36Sopenharmony_ci
138062306a36Sopenharmony_ci	  This support is also available as a module.  If so, the module
138162306a36Sopenharmony_ci	  will be called i2c-icy.
138262306a36Sopenharmony_ci
138362306a36Sopenharmony_ci	  If you have a 2019 edition board with an LTC2990 sensor at address
138462306a36Sopenharmony_ci	  0x4c, loading the module 'ltc2990' is sufficient to enable it.
138562306a36Sopenharmony_ci
138662306a36Sopenharmony_ciconfig I2C_MLXCPLD
138762306a36Sopenharmony_ci	tristate "Mellanox I2C driver"
138862306a36Sopenharmony_ci	depends on X86_64 || (ARM64 && ACPI) || COMPILE_TEST
138962306a36Sopenharmony_ci	help
139062306a36Sopenharmony_ci	  This exposes the Mellanox platform I2C busses to the linux I2C layer
139162306a36Sopenharmony_ci	  for X86 and ARM64/ACPI based systems.
139262306a36Sopenharmony_ci	  Controller is implemented as CPLD logic.
139362306a36Sopenharmony_ci
139462306a36Sopenharmony_ci	  This driver can also be built as a module. If so, the module will be
139562306a36Sopenharmony_ci	  called as i2c-mlxcpld.
139662306a36Sopenharmony_ci
139762306a36Sopenharmony_ciconfig I2C_PCA_ISA
139862306a36Sopenharmony_ci	tristate "PCA9564/PCA9665 on an ISA bus"
139962306a36Sopenharmony_ci	depends on ISA
140062306a36Sopenharmony_ci	select I2C_ALGOPCA
140162306a36Sopenharmony_ci	help
140262306a36Sopenharmony_ci	  This driver supports ISA boards using the Philips PCA9564/PCA9665
140362306a36Sopenharmony_ci	  parallel bus to I2C bus controller.
140462306a36Sopenharmony_ci
140562306a36Sopenharmony_ci	  This driver can also be built as a module.  If so, the module
140662306a36Sopenharmony_ci	  will be called i2c-pca-isa.
140762306a36Sopenharmony_ci
140862306a36Sopenharmony_ci	  This device is almost undetectable and using this driver on a
140962306a36Sopenharmony_ci	  system which doesn't have this device will result in long
141062306a36Sopenharmony_ci	  delays when I2C/SMBus chip drivers are loaded (e.g. at boot
141162306a36Sopenharmony_ci	  time).  If unsure, say N.
141262306a36Sopenharmony_ci
141362306a36Sopenharmony_ciconfig I2C_SIBYTE
141462306a36Sopenharmony_ci	tristate "SiByte SMBus interface"
141562306a36Sopenharmony_ci	depends on SIBYTE_SB1xxx_SOC
141662306a36Sopenharmony_ci	help
141762306a36Sopenharmony_ci	  Supports the SiByte SOC on-chip I2C interfaces (2 channels).
141862306a36Sopenharmony_ci
141962306a36Sopenharmony_ciconfig I2C_CROS_EC_TUNNEL
142062306a36Sopenharmony_ci	tristate "ChromeOS EC tunnel I2C bus"
142162306a36Sopenharmony_ci	depends on CROS_EC
142262306a36Sopenharmony_ci	help
142362306a36Sopenharmony_ci	  If you say yes here you get an I2C bus that will tunnel i2c commands
142462306a36Sopenharmony_ci	  through to the other side of the ChromeOS EC to the i2c bus
142562306a36Sopenharmony_ci	  connected there. This will work whatever the interface used to
142662306a36Sopenharmony_ci	  talk to the EC (SPI, I2C or LPC).
142762306a36Sopenharmony_ci
142862306a36Sopenharmony_ciconfig I2C_XGENE_SLIMPRO
142962306a36Sopenharmony_ci	tristate "APM X-Gene SoC I2C SLIMpro devices support"
143062306a36Sopenharmony_ci	depends on ARCH_XGENE && MAILBOX
143162306a36Sopenharmony_ci	help
143262306a36Sopenharmony_ci	  Enable I2C bus access using the APM X-Gene SoC SLIMpro
143362306a36Sopenharmony_ci	  co-processor. The I2C device access the I2C bus via the X-Gene
143462306a36Sopenharmony_ci	  to SLIMpro (On chip coprocessor) mailbox mechanism.
143562306a36Sopenharmony_ci	  If unsure, say N.
143662306a36Sopenharmony_ci
143762306a36Sopenharmony_ciconfig SCx200_ACB
143862306a36Sopenharmony_ci	tristate "Geode ACCESS.bus support"
143962306a36Sopenharmony_ci	depends on X86_32 && PCI
144062306a36Sopenharmony_ci	help
144162306a36Sopenharmony_ci	  Enable the use of the ACCESS.bus controllers on the Geode SCx200 and
144262306a36Sopenharmony_ci	  SC1100 processors and the CS5535 and CS5536 Geode companion devices.
144362306a36Sopenharmony_ci
144462306a36Sopenharmony_ci	  If you don't know what to do here, say N.
144562306a36Sopenharmony_ci
144662306a36Sopenharmony_ci	  This support is also available as a module.  If so, the module
144762306a36Sopenharmony_ci	  will be called scx200_acb.
144862306a36Sopenharmony_ci
144962306a36Sopenharmony_ciconfig I2C_OPAL
145062306a36Sopenharmony_ci	tristate "IBM OPAL I2C driver"
145162306a36Sopenharmony_ci	depends on PPC_POWERNV
145262306a36Sopenharmony_ci	default y
145362306a36Sopenharmony_ci	help
145462306a36Sopenharmony_ci	  This exposes the PowerNV platform i2c busses to the linux i2c layer,
145562306a36Sopenharmony_ci	  the driver is based on the OPAL interfaces.
145662306a36Sopenharmony_ci
145762306a36Sopenharmony_ci	  This driver can also be built as a module. If so, the module will be
145862306a36Sopenharmony_ci	  called as i2c-opal.
145962306a36Sopenharmony_ci
146062306a36Sopenharmony_ciconfig I2C_FSI
146162306a36Sopenharmony_ci	tristate "FSI I2C driver"
146262306a36Sopenharmony_ci	depends on FSI
146362306a36Sopenharmony_ci	help
146462306a36Sopenharmony_ci	  Driver for FSI bus attached I2C masters. These are I2C masters that
146562306a36Sopenharmony_ci	  are connected to the system over an FSI bus, instead of the more
146662306a36Sopenharmony_ci	  common PCI or MMIO interface.
146762306a36Sopenharmony_ci
146862306a36Sopenharmony_ci	  This driver can also be built as a module. If so, the module will be
146962306a36Sopenharmony_ci	  called as i2c-fsi.
147062306a36Sopenharmony_ci
147162306a36Sopenharmony_ciconfig I2C_VIRTIO
147262306a36Sopenharmony_ci        tristate "Virtio I2C Adapter"
147362306a36Sopenharmony_ci        select VIRTIO
147462306a36Sopenharmony_ci        help
147562306a36Sopenharmony_ci          If you say yes to this option, support will be included for the virtio
147662306a36Sopenharmony_ci          I2C adapter driver. The hardware can be emulated by any device model
147762306a36Sopenharmony_ci          software according to the virtio protocol.
147862306a36Sopenharmony_ci
147962306a36Sopenharmony_ci          This driver can also be built as a module. If so, the module
148062306a36Sopenharmony_ci          will be called i2c-virtio.
148162306a36Sopenharmony_ci
148262306a36Sopenharmony_ciendmenu
1483