xref: /linux/drivers/i2c/busses/Kconfig (revision a4b5e48ec4c975f40ec4f51cd5e054276c25eb34)
1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only
21da177e4SLinus Torvalds#
31da177e4SLinus Torvalds# Sensor device configuration
41da177e4SLinus Torvalds#
51da177e4SLinus Torvalds
61da177e4SLinus Torvaldsmenu "I2C Hardware Bus support"
73ddb59d4SPeter Huewe	depends on HAS_IOMEM
81da177e4SLinus Torvalds
9f5b728a1SJean Delvarecomment "PC SMBus host controller drivers"
10f5b728a1SJean Delvare	depends on PCI
11f5b728a1SJean Delvare
124ebf4987SAndy Shevchenkoconfig I2C_CCGX_UCSI
134ebf4987SAndy Shevchenko	tristate
144ebf4987SAndy Shevchenko	help
154ebf4987SAndy Shevchenko	  A common module to provide an API to instantiate UCSI device
164ebf4987SAndy Shevchenko	  for Cypress CCGx Type-C controller. Individual bus drivers
174ebf4987SAndy Shevchenko	  need to select this one on demand.
184ebf4987SAndy Shevchenko
191da177e4SLinus Torvaldsconfig I2C_ALI1535
201da177e4SLinus Torvalds	tristate "ALI 1535"
2147c21d2dSNiklas Schnelle	depends on PCI && HAS_IOPORT
221da177e4SLinus Torvalds	help
231da177e4SLinus Torvalds	  If you say yes to this option, support will be included for the SMB
241da177e4SLinus Torvalds	  Host controller on Acer Labs Inc. (ALI) M1535 South Bridges.  The SMB
251da177e4SLinus Torvalds	  controller is part of the 7101 device, which is an ACPI-compliant
261da177e4SLinus Torvalds	  Power Management Unit (PMU).
271da177e4SLinus Torvalds
281da177e4SLinus Torvalds	  This driver can also be built as a module.  If so, the module
291da177e4SLinus Torvalds	  will be called i2c-ali1535.
301da177e4SLinus Torvalds
311da177e4SLinus Torvaldsconfig I2C_ALI1563
321da177e4SLinus Torvalds	tristate "ALI 1563"
3347c21d2dSNiklas Schnelle	depends on PCI && HAS_IOPORT
341da177e4SLinus Torvalds	help
351da177e4SLinus Torvalds	  If you say yes to this option, support will be included for the SMB
361da177e4SLinus Torvalds	  Host controller on Acer Labs Inc. (ALI) M1563 South Bridges.  The SMB
371da177e4SLinus Torvalds	  controller is part of the 7101 device, which is an ACPI-compliant
381da177e4SLinus Torvalds	  Power Management Unit (PMU).
391da177e4SLinus Torvalds
401da177e4SLinus Torvalds	  This driver can also be built as a module.  If so, the module
411da177e4SLinus Torvalds	  will be called i2c-ali1563.
421da177e4SLinus Torvalds
431da177e4SLinus Torvaldsconfig I2C_ALI15X3
441da177e4SLinus Torvalds	tristate "ALI 15x3"
4547c21d2dSNiklas Schnelle	depends on PCI && HAS_IOPORT
461da177e4SLinus Torvalds	help
471da177e4SLinus Torvalds	  If you say yes to this option, support will be included for the
481da177e4SLinus Torvalds	  Acer Labs Inc. (ALI) M1514 and M1543 motherboard I2C interfaces.
491da177e4SLinus Torvalds
501da177e4SLinus Torvalds	  This driver can also be built as a module.  If so, the module
511da177e4SLinus Torvalds	  will be called i2c-ali15x3.
521da177e4SLinus Torvalds
531da177e4SLinus Torvaldsconfig I2C_AMD756
541da177e4SLinus Torvalds	tristate "AMD 756/766/768/8111 and nVidia nForce"
5547c21d2dSNiklas Schnelle	depends on PCI && HAS_IOPORT
561da177e4SLinus Torvalds	help
571da177e4SLinus Torvalds	  If you say yes to this option, support will be included for the AMD
581da177e4SLinus Torvalds	  756/766/768 mainboard I2C interfaces.  The driver also includes
591da177e4SLinus Torvalds	  support for the first (SMBus 1.0) I2C interface of the AMD 8111 and
601da177e4SLinus Torvalds	  the nVidia nForce I2C interface.
611da177e4SLinus Torvalds
621da177e4SLinus Torvalds	  This driver can also be built as a module.  If so, the module
631da177e4SLinus Torvalds	  will be called i2c-amd756.
641da177e4SLinus Torvalds
651da177e4SLinus Torvaldsconfig I2C_AMD8111
661da177e4SLinus Torvalds	tristate "AMD 8111"
6747c21d2dSNiklas Schnelle	depends on PCI && HAS_IOPORT
681da177e4SLinus Torvalds	help
691da177e4SLinus Torvalds	  If you say yes to this option, support will be included for the
701da177e4SLinus Torvalds	  second (SMBus 2.0) AMD 8111 mainboard I2C interface.
711da177e4SLinus Torvalds
721da177e4SLinus Torvalds	  This driver can also be built as a module.  If so, the module
731da177e4SLinus Torvalds	  will be called i2c-amd8111.
741da177e4SLinus Torvalds
75529766e0SElie Morisseconfig I2C_AMD_MP2
76529766e0SElie Morisse	tristate "AMD MP2 PCIe"
77529766e0SElie Morisse	depends on PCI && ACPI
78529766e0SElie Morisse	help
79529766e0SElie Morisse	  If you say yes to this option, support will be included for the AMD
80529766e0SElie Morisse	  MP2 PCIe I2C adapter.
81529766e0SElie Morisse
82529766e0SElie Morisse	  This driver can also be built as modules.  If so, the modules will
83529766e0SElie Morisse	  be called i2c-amd-mp2-pci and i2c-amd-mp2-plat.
84529766e0SElie Morisse
85c509ebdbSShyam Sundar S Kconfig I2C_AMD_ASF
86c509ebdbSShyam Sundar S K	tristate "AMD ASF I2C Controller Support"
87c509ebdbSShyam Sundar S K	depends on I2C_PIIX4
8878a78b32SShyam Sundar S K	select I2C_SLAVE
89c509ebdbSShyam Sundar S K	help
90c509ebdbSShyam Sundar S K	  This option enables support for the AMD ASF (Alert Standard Format)
91c509ebdbSShyam Sundar S K	  I2C controller. The AMD ASF controller is an SMBus controller with
92c509ebdbSShyam Sundar S K	  built-in ASF functionality, allowing it to issue generic SMBus
93c509ebdbSShyam Sundar S K	  packets and communicate with the DASH controller using MCTP over
94c509ebdbSShyam Sundar S K	  ASF.
95c509ebdbSShyam Sundar S K
96c509ebdbSShyam Sundar S K	  If you have an AMD system with ASF support and want to enable this
97c509ebdbSShyam Sundar S K	  functionality, say Y or M here. If unsure, say N.
98c509ebdbSShyam Sundar S K
99c509ebdbSShyam Sundar S K	  To compile this driver as a module, choose M here: the module will
100c509ebdbSShyam Sundar S K	  be called i2c_amd_asf_plat.
101c509ebdbSShyam Sundar S K
10215ef2775SWei Yanconfig I2C_HIX5HD2
10315ef2775SWei Yan	tristate "Hix5hd2 high-speed I2C driver"
104ae824f00SRuqiang Ju	depends on ARCH_HISI || ARCH_HIX5HD2 || COMPILE_TEST
10515ef2775SWei Yan	help
106ae824f00SRuqiang Ju	  Say Y here to include support for the high-speed I2C controller
107ae824f00SRuqiang Ju	  used in HiSilicon hix5hd2 SoCs.
10815ef2775SWei Yan
10915ef2775SWei Yan	  This driver can also be built as a module. If so, the module
11015ef2775SWei Yan	  will be called i2c-hix5hd2.
11115ef2775SWei Yan
112f5b728a1SJean Delvareconfig I2C_I801
11339376434SSeth Heasley	tristate "Intel 82801 (ICH/PCH)"
11447c21d2dSNiklas Schnelle	depends on PCI && HAS_IOPORT
1155c7b9167SAndy Shevchenko	select P2SB if X86
1168eacfcebSJean Delvare	select CHECK_SIGNATURE if X86 && DMI
1177b0ed334SBenjamin Tissoires	select I2C_SMBUS
118f5b728a1SJean Delvare	help
119f5b728a1SJean Delvare	  If you say yes to this option, support will be included for the Intel
120f5b728a1SJean Delvare	  801 family of mainboard I2C interfaces.  Specifically, the following
121f5b728a1SJean Delvare	  versions of the chipset are supported:
122f5b728a1SJean Delvare	    82801AA
123f5b728a1SJean Delvare	    82801AB
124f5b728a1SJean Delvare	    82801BA
125f5b728a1SJean Delvare	    82801CA/CAM
126f5b728a1SJean Delvare	    82801DB
127f5b728a1SJean Delvare	    82801EB/ER (ICH5/ICH5R)
128f5b728a1SJean Delvare	    6300ESB
129f5b728a1SJean Delvare	    ICH6
130f5b728a1SJean Delvare	    ICH7
131f5b728a1SJean Delvare	    ESB2
132f5b728a1SJean Delvare	    ICH8
133f5b728a1SJean Delvare	    ICH9
134cb04e95bSSeth Heasley	    EP80579 (Tolapai)
135f5b728a1SJean Delvare	    ICH10
136cb04e95bSSeth Heasley	    5/3400 Series (PCH)
137662cda8aSSeth Heasley	    6 Series (PCH)
138e30d9859SSeth Heasley	    Patsburg (PCH)
139662cda8aSSeth Heasley	    DH89xxCC (PCH)
1406e2a851eSSeth Heasley	    Panther Point (PCH)
141062737fbSSeth Heasley	    Lynx Point (PCH)
142c2db409cSSeth Heasley	    Avoton (SOC)
143a3fc0ff0SJames Ralston	    Wellsburg (PCH)
144f39901c1SSeth Heasley	    Coleto Creek (PCH)
145b299de83SJean Delvare	    Wildcat Point (PCH)
1461b31e9b7SChew, Kean ho	    BayTrail (SOC)
14715407798SJarkko Nikula	    Braswell (SOC)
14880d943abSJarkko Nikula	    Sunrise Point (PCH)
14980d943abSJarkko Nikula	    Kaby Lake (PCH)
1502b630df7SJarkko Nikula	    DNV (SOC)
1512b630df7SJarkko Nikula	    Broxton (SOC)
152cdc5a311SAlexandra Yates	    Lewisburg (PCH)
1539827f9ebSMika Westerberg	    Gemini Lake (SOC)
15480d943abSJarkko Nikula	    Cannon Lake (PCH)
155cb09d943SJarkko Nikula	    Cedar Fork (PCH)
1560bff2a86SMika Westerberg	    Ice Lake (PCH)
1575cd1c56cSJarkko Nikula	    Comet Lake (PCH)
1589be1485aSJarkko Nikula	    Elkhart Lake (PCH)
159051d769fSJarkko Nikula	    Tiger Lake (PCH)
160790591f4SAndy Shevchenko	    Jasper Lake (SOC)
16112745b07SMika Westerberg	    Emmitsburg (PCH)
162332fdaebSJarkko Nikula	    Alder Lake (PCH)
1639c02d401SJarkko Nikula	    Raptor Lake (PCH)
164bcfc2ab7SJarkko Nikula	    Meteor Lake (SOC and PCH)
1658c56f9efSJarkko Nikula	    Birch Stream (SOC)
166f0eda4ddSJarkko Nikula	    Arrow Lake (SOC)
167bd492b58SJarkko Nikula	    Panther Lake (SOC)
168f5b728a1SJean Delvare
169f5b728a1SJean Delvare	  This driver can also be built as a module.  If so, the module
170f5b728a1SJean Delvare	  will be called i2c-i801.
171f5b728a1SJean Delvare
1729c535237SHeiner Kallweitconfig I2C_I801_MUX
1739c535237SHeiner Kallweit	def_bool I2C_I801
1749c535237SHeiner Kallweit	depends on DMI && I2C_MUX_GPIO
1759c535237SHeiner Kallweit	depends on !(I2C_I801=y && I2C_MUX=m)
1769c535237SHeiner Kallweit	help
1779c535237SHeiner Kallweit	  Optional support for multiplexed SMBUS on certain systems with
1789c535237SHeiner Kallweit	  more than 8 memory slots.
1799c535237SHeiner Kallweit
1805bc12008SAlek Duconfig I2C_ISCH
1815bc12008SAlek Du	tristate "Intel SCH SMBus 1.0"
18247c21d2dSNiklas Schnelle	depends on PCI && HAS_IOPORT
183fd46a006SDenis Turischev	select LPC_SCH
1845bc12008SAlek Du	help
1855bc12008SAlek Du	  Say Y here if you want to use SMBus controller on the Intel SCH
1865bc12008SAlek Du	  based systems.
1875bc12008SAlek Du
1885bc12008SAlek Du	  This driver can also be built as a module. If so, the module
1895bc12008SAlek Du	  will be called i2c-isch.
1905bc12008SAlek Du
19113f35ac1SNeil Hormanconfig I2C_ISMT
19213f35ac1SNeil Horman	tristate "Intel iSMT SMBus Controller"
19313f35ac1SNeil Horman	depends on PCI && X86
19413f35ac1SNeil Horman	help
19513f35ac1SNeil Horman	  If you say yes to this option, support will be included for the Intel
19613f35ac1SNeil Horman	  iSMT SMBus host controller interface.
19713f35ac1SNeil Horman
19813f35ac1SNeil Horman	  This driver can also be built as a module.  If so, the module will be
19913f35ac1SNeil Horman	  called i2c-ismt.
20013f35ac1SNeil Horman
201f5b728a1SJean Delvareconfig I2C_PIIX4
20276b3e28fSCrane Cai	tristate "Intel PIIX4 and compatible (ATI/AMD/Serverworks/Broadcom/SMSC)"
20347c21d2dSNiklas Schnelle	depends on PCI && HAS_IOPORT
204de4f2f52SThomas Weißschuh	select I2C_SMBUS
205f5b728a1SJean Delvare	help
206f5b728a1SJean Delvare	  If you say yes to this option, support will be included for the Intel
207f5b728a1SJean Delvare	  PIIX4 family of mainboard I2C interfaces.  Specifically, the following
208f5b728a1SJean Delvare	  versions of the chipset are supported (note that Serverworks is part
209f5b728a1SJean Delvare	  of Broadcom):
210f5b728a1SJean Delvare	    Intel PIIX4
211f5b728a1SJean Delvare	    Intel 440MX
212f5b728a1SJean Delvare	    ATI IXP200
213f5b728a1SJean Delvare	    ATI IXP300
214f5b728a1SJean Delvare	    ATI IXP400
215f5b728a1SJean Delvare	    ATI SB600
2162a2f7404SAndrew Armenia	    ATI SB700/SP5100
217f5b728a1SJean Delvare	    ATI SB800
2183806e94bSCrane Cai	    AMD Hudson-2
219032f708bSShane Huang	    AMD ML
220b996ac90SShane Huang	    AMD CZ
22124beb83aSPu Wen	    Hygon CZ
222f5b728a1SJean Delvare	    Serverworks OSB4
223f5b728a1SJean Delvare	    Serverworks CSB5
224f5b728a1SJean Delvare	    Serverworks CSB6
225f5b728a1SJean Delvare	    Serverworks HT-1000
226506a8b6cSFlavio Leitner	    Serverworks HT-1100
227f5b728a1SJean Delvare	    SMSC Victory66
228f5b728a1SJean Delvare
2292a2f7404SAndrew Armenia	  Some AMD chipsets contain two PIIX4-compatible SMBus
2302a2f7404SAndrew Armenia	  controllers. This driver will attempt to use both controllers
2312a2f7404SAndrew Armenia	  on the SB700/SP5100, if they have been initialized by the BIOS.
2322a2f7404SAndrew Armenia
233f5b728a1SJean Delvare	  This driver can also be built as a module.  If so, the module
234f5b728a1SJean Delvare	  will be called i2c-piix4.
235f5b728a1SJean Delvare
23617a924bfSHans de Goedeconfig I2C_CHT_WC
23717a924bfSHans de Goede	tristate "Intel Cherry Trail Whiskey Cove PMIC smbus controller"
23817a924bfSHans de Goede	depends on INTEL_SOC_PMIC_CHTWC
23917a924bfSHans de Goede	help
24017a924bfSHans de Goede	  If you say yes to this option, support will be included for the
24117a924bfSHans de Goede	  SMBus controller found in the Intel Cherry Trail Whiskey Cove PMIC
24217a924bfSHans de Goede	  found on some Intel Cherry Trail systems.
24317a924bfSHans de Goede
2440224d45cSHans de Goede	  Note this controller is hooked up to a TI bq24292i charger-IC,
2450224d45cSHans de Goede	  combined with a FUSB302 Type-C port-controller as such it is advised
2467c8d4456SHeikki Krogerus	  to also select CONFIG_TYPEC_FUSB302=m.
2470224d45cSHans de Goede
248f5b728a1SJean Delvareconfig I2C_NFORCE2
249f5b728a1SJean Delvare	tristate "Nvidia nForce2, nForce3 and nForce4"
25047c21d2dSNiklas Schnelle	depends on PCI && HAS_IOPORT
251f5b728a1SJean Delvare	help
252f5b728a1SJean Delvare	  If you say yes to this option, support will be included for the Nvidia
253f5b728a1SJean Delvare	  nForce2, nForce3 and nForce4 families of mainboard I2C interfaces.
254f5b728a1SJean Delvare
255f5b728a1SJean Delvare	  This driver can also be built as a module.  If so, the module
256f5b728a1SJean Delvare	  will be called i2c-nforce2.
257f5b728a1SJean Delvare
258c71bcdcbSAjay Guptaconfig I2C_NVIDIA_GPU
259c71bcdcbSAjay Gupta	tristate "NVIDIA GPU I2C controller"
260c71bcdcbSAjay Gupta	depends on PCI
2612079563dSAndy Shevchenko	select I2C_CCGX_UCSI
262c71bcdcbSAjay Gupta	help
263c71bcdcbSAjay Gupta	  If you say yes to this option, support will be included for the
264c71bcdcbSAjay Gupta	  NVIDIA GPU I2C controller which is used to communicate with the GPU's
265c71bcdcbSAjay Gupta	  Type-C controller. This driver can also be built as a module called
266c71bcdcbSAjay Gupta	  i2c-nvidia-gpu.
267c71bcdcbSAjay Gupta
268f5b728a1SJean Delvareconfig I2C_SIS5595
269f5b728a1SJean Delvare	tristate "SiS 5595"
27047c21d2dSNiklas Schnelle	depends on PCI && HAS_IOPORT
271f5b728a1SJean Delvare	help
272f5b728a1SJean Delvare	  If you say yes to this option, support will be included for the
273f5b728a1SJean Delvare	  SiS5595 SMBus (a subset of I2C) interface.
274f5b728a1SJean Delvare
275f5b728a1SJean Delvare	  This driver can also be built as a module.  If so, the module
276f5b728a1SJean Delvare	  will be called i2c-sis5595.
277f5b728a1SJean Delvare
278f5b728a1SJean Delvareconfig I2C_SIS630
279974d6a37SAmaury Decrême	tristate "SiS 630/730/964"
28047c21d2dSNiklas Schnelle	depends on PCI && HAS_IOPORT
281f5b728a1SJean Delvare	help
282f5b728a1SJean Delvare	  If you say yes to this option, support will be included for the
283974d6a37SAmaury Decrême	  SiS630, SiS730 and SiS964 SMBus (a subset of I2C) interface.
284f5b728a1SJean Delvare
285f5b728a1SJean Delvare	  This driver can also be built as a module.  If so, the module
286f5b728a1SJean Delvare	  will be called i2c-sis630.
287f5b728a1SJean Delvare
288f5b728a1SJean Delvareconfig I2C_SIS96X
289f5b728a1SJean Delvare	tristate "SiS 96x"
29047c21d2dSNiklas Schnelle	depends on PCI && HAS_IOPORT
291f5b728a1SJean Delvare	help
292f5b728a1SJean Delvare	  If you say yes to this option, support will be included for the SiS
293f5b728a1SJean Delvare	  96x SMBus (a subset of I2C) interfaces.  Specifically, the following
294f5b728a1SJean Delvare	  chipsets are supported:
295f5b728a1SJean Delvare	    645/961
296f5b728a1SJean Delvare	    645DX/961
297f5b728a1SJean Delvare	    645DX/962
298f5b728a1SJean Delvare	    648/961
299f5b728a1SJean Delvare	    650/961
300f5b728a1SJean Delvare	    735
301f5b728a1SJean Delvare	    745
302f5b728a1SJean Delvare
303f5b728a1SJean Delvare	  This driver can also be built as a module.  If so, the module
304f5b728a1SJean Delvare	  will be called i2c-sis96x.
305f5b728a1SJean Delvare
306f5b728a1SJean Delvareconfig I2C_VIA
307f5b728a1SJean Delvare	tristate "VIA VT82C586B"
30847c21d2dSNiklas Schnelle	depends on PCI && HAS_IOPORT
309f5b728a1SJean Delvare	select I2C_ALGOBIT
310f5b728a1SJean Delvare	help
311f5b728a1SJean Delvare	  If you say yes to this option, support will be included for the VIA
312f5b728a1SJean Delvare	  82C586B I2C interface
313f5b728a1SJean Delvare
314f5b728a1SJean Delvare	  This driver can also be built as a module.  If so, the module
315f5b728a1SJean Delvare	  will be called i2c-via.
316f5b728a1SJean Delvare
317f5b728a1SJean Delvareconfig I2C_VIAPRO
31801d56a6aSJean Delvare	tristate "VIA VT82C596/82C686/82xx and CX700/VX8xx/VX900"
31947c21d2dSNiklas Schnelle	depends on PCI && HAS_IOPORT
320f5b728a1SJean Delvare	help
321f5b728a1SJean Delvare	  If you say yes to this option, support will be included for the VIA
322f5b728a1SJean Delvare	  VT82C596 and later SMBus interface.  Specifically, the following
323f5b728a1SJean Delvare	  chipsets are supported:
324f5b728a1SJean Delvare	    VT82C596A/B
325f5b728a1SJean Delvare	    VT82C686A/B
326f5b728a1SJean Delvare	    VT8231
327f5b728a1SJean Delvare	    VT8233/A
328f5b728a1SJean Delvare	    VT8235
329f5b728a1SJean Delvare	    VT8237R/A/S
330f5b728a1SJean Delvare	    VT8251
331f5b728a1SJean Delvare	    CX700
332a231591fSHarald Welte	    VX800/VX820
333a231591fSHarald Welte	    VX855/VX875
33401d56a6aSJean Delvare	    VX900
335f5b728a1SJean Delvare
336f5b728a1SJean Delvare	  This driver can also be built as a module.  If so, the module
337f5b728a1SJean Delvare	  will be called i2c-viapro.
338f5b728a1SJean Delvare
339cfd550edSJean Delvareif ACPI
340cfd550edSJean Delvare
341a06b80e8SHans Huconfig I2C_ZHAOXIN
342a06b80e8SHans Hu	tristate "Zhaoxin I2C Interface"
343a06b80e8SHans Hu	depends on PCI || COMPILE_TEST
344a06b80e8SHans Hu	help
345a06b80e8SHans Hu	  If you say yes to this option, support will be included for the
346a06b80e8SHans Hu	  ZHAOXIN I2C interface
347a06b80e8SHans Hu
348a06b80e8SHans Hu	  This driver can also be built as a module. If so, the module
349a06b80e8SHans Hu	  will be called i2c-zhaoxin.
350a06b80e8SHans Hu
351cfd550edSJean Delvarecomment "ACPI drivers"
352cfd550edSJean Delvare
353cfd550edSJean Delvareconfig I2C_SCMI
354cfd550edSJean Delvare	tristate "SMBus Control Method Interface"
355cfd550edSJean Delvare	help
356cfd550edSJean Delvare	  This driver supports the SMBus Control Method Interface. It needs the
357cfd550edSJean Delvare	  BIOS to declare ACPI control methods as described in the SMBus Control
358cfd550edSJean Delvare	  Method Interface specification.
359cfd550edSJean Delvare
360cfd550edSJean Delvare	  To compile this driver as a module, choose M here:
361cfd550edSJean Delvare	  the module will be called i2c-scmi.
362cfd550edSJean Delvare
363cfd550edSJean Delvareendif # ACPI
364cfd550edSJean Delvare
365f5b728a1SJean Delvarecomment "Mac SMBus host controller drivers"
366f5b728a1SJean Delvare	depends on PPC_CHRP || PPC_PMAC
367f5b728a1SJean Delvare
368f5b728a1SJean Delvareconfig I2C_HYDRA
369f5b728a1SJean Delvare	tristate "CHRP Apple Hydra Mac I/O I2C interface"
370417e86ceSKees Cook	depends on PCI && PPC_CHRP
371f5b728a1SJean Delvare	select I2C_ALGOBIT
372f5b728a1SJean Delvare	help
373f5b728a1SJean Delvare	  This supports the use of the I2C interface in the Apple Hydra Mac
374f5b728a1SJean Delvare	  I/O chip on some CHRP machines (e.g. the LongTrail).  Say Y if you
375f5b728a1SJean Delvare	  have such a machine.
376f5b728a1SJean Delvare
377f5b728a1SJean Delvare	  This support is also available as a module.  If so, the module
378f5b728a1SJean Delvare	  will be called i2c-hydra.
379f5b728a1SJean Delvare
380f5b728a1SJean Delvareconfig I2C_POWERMAC
381f5b728a1SJean Delvare	tristate "Powermac I2C interface"
382f5b728a1SJean Delvare	depends on PPC_PMAC
383f5b728a1SJean Delvare	default y
384f5b728a1SJean Delvare	help
385f5b728a1SJean Delvare	  This exposes the various PowerMac i2c interfaces to the linux i2c
386f5b728a1SJean Delvare	  layer and to userland. It is used by various drivers on the PowerMac
387f5b728a1SJean Delvare	  platform, and should generally be enabled.
388f5b728a1SJean Delvare
389f5b728a1SJean Delvare	  This support is also available as a module.  If so, the module
390f5b728a1SJean Delvare	  will be called i2c-powermac.
391f5b728a1SJean Delvare
392f5b728a1SJean Delvarecomment "I2C system bus drivers (mostly embedded / system-on-chip)"
393f5b728a1SJean Delvare
3940560ad57SThor Thayerconfig I2C_ALTERA
3950560ad57SThor Thayer	tristate "Altera Soft IP I2C"
396823829dcSKrzysztof Kozlowski	depends on ARCH_INTEL_SOCFPGA || NIOS2 || COMPILE_TEST
3974a2d5f66SKrzysztof Kozlowski	depends on OF
3980560ad57SThor Thayer	help
3990560ad57SThor Thayer	  If you say yes to this option, support will be included for the
4000560ad57SThor Thayer	  Altera Soft IP I2C interfaces on SoCFPGA and Nios2 architectures.
4010560ad57SThor Thayer
4020560ad57SThor Thayer	  This driver can also be built as a module.  If so, the module
4030560ad57SThor Thayer	  will be called i2c-altera.
4040560ad57SThor Thayer
405f327c686SBrendan Higginsconfig I2C_ASPEED
406f327c686SBrendan Higgins	tristate "Aspeed I2C Controller"
407f327c686SBrendan Higgins	depends on ARCH_ASPEED || COMPILE_TEST
408f327c686SBrendan Higgins	help
409f327c686SBrendan Higgins	  If you say yes to this option, support will be included for the
410f327c686SBrendan Higgins	  Aspeed I2C controller.
411f327c686SBrendan Higgins
412f327c686SBrendan Higgins	  This driver can also be built as a module.  If so, the module
413f327c686SBrendan Higgins	  will be called i2c-aspeed.
414f327c686SBrendan Higgins
415813e30e9SAndrew Victorconfig I2C_AT91
416813e30e9SAndrew Victor	tristate "Atmel AT91 I2C Two-Wire interface (TWI)"
4174a2d5f66SKrzysztof Kozlowski	depends on ARCH_AT91 || COMPILE_TEST
418813e30e9SAndrew Victor	help
419813e30e9SAndrew Victor	  This supports the use of the I2C interface on Atmel AT91
420813e30e9SAndrew Victor	  processors.
421813e30e9SAndrew Victor
422fac368a0SNikolaus Voss	  A serious problem is that there is no documented way to issue
423fac368a0SNikolaus Voss	  repeated START conditions for more than two messages, as needed
42424d0fb42SDavid Brownell	  to support combined I2C messages.  Use the i2c-gpio driver
425fac368a0SNikolaus Voss	  unless your system can cope with this limitation.
426fac368a0SNikolaus Voss
427fac368a0SNikolaus Voss	  Caution! at91rm9200, at91sam9261, at91sam9260, at91sam9263 devices
428fac368a0SNikolaus Voss	  don't have clock stretching in transmission mode. For that reason,
429fac368a0SNikolaus Voss	  you can encounter underrun issues causing premature stop sendings if
430fac368a0SNikolaus Voss	  the latency to fill the transmission register is too long. If you
431fac368a0SNikolaus Voss	  are facing this situation, use the i2c-gpio driver.
43224d0fb42SDavid Brownell
4339d3ca54bSJuergen Fitschenconfig I2C_AT91_SLAVE_EXPERIMENTAL
43451616b0cSAndy Shevchenko	bool "Microchip AT91 I2C experimental slave mode"
4359d3ca54bSJuergen Fitschen	depends on I2C_AT91
4369d3ca54bSJuergen Fitschen	select I2C_SLAVE
4379d3ca54bSJuergen Fitschen	help
4389d3ca54bSJuergen Fitschen	  If you say yes to this option, support for the slave mode will be
4399d3ca54bSJuergen Fitschen	  added. Caution: do not use it for production. This feature has not
4409d3ca54bSJuergen Fitschen	  been tested in a heavy way, help wanted.
4419d3ca54bSJuergen Fitschen	  There are known bugs:
4429d3ca54bSJuergen Fitschen	    - It can hang, on a SAMA5D4, after several transfers.
44351616b0cSAndy Shevchenko	    - There are some mismatches with a SAMA5D4 as slave and a SAMA5D2 as
4449d3ca54bSJuergen Fitschen	    master.
4459d3ca54bSJuergen Fitschen
4461da177e4SLinus Torvaldsconfig I2C_AU1550
447809f36c6SManuel Lauss	tristate "Au1550/Au1200/Au1300 SMBus interface"
44837663860SManuel Lauss	depends on MIPS_ALCHEMY
4491da177e4SLinus Torvalds	help
4501da177e4SLinus Torvalds	  If you say yes to this option, support will be included for the
451809f36c6SManuel Lauss	  Au1550/Au1200/Au1300 SMBus interface.
4521da177e4SLinus Torvalds
4531da177e4SLinus Torvalds	  This driver can also be built as a module.  If so, the module
4541da177e4SLinus Torvalds	  will be called i2c-au1550.
4551da177e4SLinus Torvalds
45608678b85SAnders Bergconfig I2C_AXXIA
45708678b85SAnders Berg	tristate "Axxia I2C controller"
45808678b85SAnders Berg	depends on ARCH_AXXIA || COMPILE_TEST
45908678b85SAnders Berg	default ARCH_AXXIA
460f0b57680SAdamski, Krzysztof (Nokia - PL/Wroclaw)	select I2C_SLAVE
46108678b85SAnders Berg	help
46208678b85SAnders Berg	  Say yes if you want to support the I2C bus on Axxia platforms.
46308678b85SAnders Berg
46408678b85SAnders Berg	  Please note that this controller is limited to transfers of maximum
46508678b85SAnders Berg	  255 bytes in length. Any attempt to to a larger transfer will return
46608678b85SAnders Berg	  an error.
46708678b85SAnders Berg
468f3b54b9aSStephen Warrenconfig I2C_BCM2835
469f3b54b9aSStephen Warren	tristate "Broadcom BCM2835 I2C controller"
4704a2d5f66SKrzysztof Kozlowski	depends on ARCH_BCM2835 || ARCH_BRCMSTB || COMPILE_TEST
4714a2d5f66SKrzysztof Kozlowski	depends on COMMON_CLK
472f3b54b9aSStephen Warren	help
473f3b54b9aSStephen Warren	  If you say yes to this option, support will be included for the
474f3b54b9aSStephen Warren	  BCM2835 I2C controller.
475f3b54b9aSStephen Warren
476f3b54b9aSStephen Warren	  If you don't know what to do here, say N.
477f3b54b9aSStephen Warren
478f3b54b9aSStephen Warren	  This support is also available as a module.  If so, the module
479f3b54b9aSStephen Warren	  will be called i2c-bcm2835.
480f3b54b9aSStephen Warren
481e6e5dd35SRay Juiconfig I2C_BCM_IPROC
482e6e5dd35SRay Jui	tristate "Broadcom iProc I2C controller"
483e6e5dd35SRay Jui	depends on ARCH_BCM_IPROC || COMPILE_TEST
484e6e5dd35SRay Jui	default ARCH_BCM_IPROC
485f34b8d90SShreesha Rajashekar	select I2C_SLAVE
486e6e5dd35SRay Jui	help
487e6e5dd35SRay Jui	  If you say yes to this option, support will be included for the
488e6e5dd35SRay Jui	  Broadcom iProc I2C controller.
489e6e5dd35SRay Jui
490e6e5dd35SRay Jui	  If you don't know what to do here, say N.
491e6e5dd35SRay Jui
49293d17247STim Krygerconfig I2C_BCM_KONA
49393d17247STim Kryger	tristate "BCM Kona I2C adapter"
4944a2d5f66SKrzysztof Kozlowski	depends on ARCH_BCM_MOBILE || COMPILE_TEST
4954a2d5f66SKrzysztof Kozlowski	default y if ARCH_BCM_MOBILE
49693d17247STim Kryger	help
49793d17247STim Kryger	  If you say yes to this option, support will be included for the
49893d17247STim Kryger	  I2C interface on the Broadcom Kona family of processors.
49993d17247STim Kryger
500f54619f2SMasanari Iida	  If you do not need KONA I2C interface, say N.
50193d17247STim Kryger
502dd1aa252SKamal Dasuconfig I2C_BRCMSTB
503e1eba2eaSFlorian Fainelli	tristate "BRCM Settop/DSL I2C controller"
5047bb49d77SWilliam Zhang	depends on ARCH_BCM2835 || ARCH_BCMBCA || ARCH_BRCMSTB || \
5057bb49d77SWilliam Zhang		   BMIPS_GENERIC || COMPILE_TEST
506f524707bSGeert Uytterhoeven	default ARCH_BCM2835 || ARCH_BCMBCA || ARCH_BRCMSTB || BMIPS_GENERIC
507dd1aa252SKamal Dasu	help
508dd1aa252SKamal Dasu	  If you say yes to this option, support will be included for the
509e1eba2eaSFlorian Fainelli	  I2C interface on the Broadcom Settop/DSL SoCs.
510dd1aa252SKamal Dasu
511dd1aa252SKamal Dasu	  If you do not need I2C interface, say N.
512dd1aa252SKamal Dasu
513df8eb569SSoren Brinkmannconfig I2C_CADENCE
514df8eb569SSoren Brinkmann	tristate "Cadence I2C Controller"
51529914dacSJi Sheng Teoh	depends on ARCH_ZYNQ || ARM64 || XTENSA || RISCV || COMPILE_TEST
516df8eb569SSoren Brinkmann	help
517df8eb569SSoren Brinkmann	  Say yes here to select Cadence I2C Host Controller. This controller is
518df8eb569SSoren Brinkmann	  e.g. used by Xilinx Zynq.
519df8eb569SSoren Brinkmann
5200857ba3cSAaro Koskinenconfig I2C_CBUS_GPIO
5210857ba3cSAaro Koskinen	tristate "CBUS I2C driver"
5227e5cd69aSGeert Uytterhoeven	depends on GPIOLIB || COMPILE_TEST
5230857ba3cSAaro Koskinen	help
5240857ba3cSAaro Koskinen	  Support for CBUS access using I2C API. Mostly relevant for Nokia
5250857ba3cSAaro Koskinen	  Internet Tablets (770, N800 and N810).
5260857ba3cSAaro Koskinen
5270857ba3cSAaro Koskinen	  This driver can also be built as a module.  If so, the module
5280857ba3cSAaro Koskinen	  will be called i2c-cbus-gpio.
5290857ba3cSAaro Koskinen
5306894f640SThomas Richardconfig I2C_CGBC
5316894f640SThomas Richard	tristate "Congatec I2C Controller"
5326894f640SThomas Richard	depends on MFD_CGBC
5336894f640SThomas Richard	help
5346894f640SThomas Richard	  This driver supports the 2 I2C interfaces on the Congatec Board
5356894f640SThomas Richard	  Controller.
5366894f640SThomas Richard
5376894f640SThomas Richard	  This driver can also be built as a module. If so, the module will
5386894f640SThomas Richard	  be called i2c-cgbc.ko.
5396894f640SThomas Richard
54061045dbeSJochen Friedrichconfig I2C_CPM
54161045dbeSJochen Friedrich	tristate "Freescale CPM1 or CPM2 (MPC8xx/826x)"
54262c19c9dSRichard Weinberger	depends on CPM1 || CPM2
54361045dbeSJochen Friedrich	help
54461045dbeSJochen Friedrich	  This supports the use of the I2C interface on Freescale
54561045dbeSJochen Friedrich	  processors with CPM1 or CPM2.
54661045dbeSJochen Friedrich
54761045dbeSJochen Friedrich	  This driver can also be built as a module.  If so, the module
54861045dbeSJochen Friedrich	  will be called i2c-cpm.
54961045dbeSJochen Friedrich
55095a7f10eSVladimir Barinovconfig I2C_DAVINCI
55195a7f10eSVladimir Barinov	tristate "DaVinci I2C driver"
5524a2d5f66SKrzysztof Kozlowski	depends on ARCH_DAVINCI || ARCH_KEYSTONE || COMPILE_TEST
55395a7f10eSVladimir Barinov	help
55495a7f10eSVladimir Barinov	  Support for TI DaVinci I2C controller driver.
55595a7f10eSVladimir Barinov
55695a7f10eSVladimir Barinov	  This driver can also be built as a module.  If so, the module
55795a7f10eSVladimir Barinov	  will be called i2c-davinci.
55895a7f10eSVladimir Barinov
55995a7f10eSVladimir Barinov	  Please note that this driver might be needed to bring up other
56095a7f10eSVladimir Barinov	  devices such as DaVinci NIC.
56195a7f10eSVladimir Barinov	  For details please see http://www.ti.com/davinci
56295a7f10eSVladimir Barinov
563e68bb91bSAxel Linconfig I2C_DESIGNWARE_CORE
56466049b33SHeikki Krogerus	tristate "Synopsys DesignWare I2C adapter"
5650daede80SSerge Semin	select REGMAP
56666049b33SHeikki Krogerus	help
56766049b33SHeikki Krogerus	  This option enables support for the Synopsys DesignWare I2C adapter.
56866049b33SHeikki Krogerus	  This driver includes support for the I2C host on the Synopsys
56966049b33SHeikki Krogerus	  Designware I2C adapter.
57066049b33SHeikki Krogerus
57166049b33SHeikki Krogerus	  To compile the driver as a module, choose M here: the module will be
57266049b33SHeikki Krogerus	  called i2c-designware-core.
57366049b33SHeikki Krogerus
57466049b33SHeikki Krogerusif I2C_DESIGNWARE_CORE
575e68bb91bSAxel Lin
5767943f1d1SAndy Shevchenkoconfig I2C_DESIGNWARE_SLAVE
5777943f1d1SAndy Shevchenko	bool "Synopsys DesignWare Slave"
5787943f1d1SAndy Shevchenko	select I2C_SLAVE
5797943f1d1SAndy Shevchenko	help
5807943f1d1SAndy Shevchenko	  If you say yes to this option, support will be included for the
5817943f1d1SAndy Shevchenko	  Synopsys DesignWare I2C slave adapter.
5827943f1d1SAndy Shevchenko
5832373f6b9SDirk Brandewieconfig I2C_DESIGNWARE_PLATFORM
58466049b33SHeikki Krogerus	tristate "Synopsys DesignWare Platform driver"
585a445900cSCarl Peng	depends on (ACPI && COMMON_CLK) || !ACPI
586fcb82a93SSerge Semin	select MFD_SYSCON if MIPS_BAIKAL_T1
58766049b33SHeikki Krogerus	default I2C_DESIGNWARE_CORE
5881ab52cf9SBaruch Siach	help
5891ab52cf9SBaruch Siach	  If you say yes to this option, support will be included for the
59066049b33SHeikki Krogerus	  Synopsys DesignWare I2C adapters on the platform bus.
5911ab52cf9SBaruch Siach
5921ab52cf9SBaruch Siach	  This driver can also be built as a module.  If so, the module
5932373f6b9SDirk Brandewie	  will be called i2c-designware-platform.
5941ab52cf9SBaruch Siach
59578d5e9e2SJan Dabrosconfig I2C_DESIGNWARE_AMDPSP
59678d5e9e2SJan Dabros	bool "AMD PSP I2C semaphore support"
59778d5e9e2SJan Dabros	depends on ACPI
598440da737SMario Limonciello	depends on CRYPTO_DEV_SP_PSP
599482c84e9SMario Limonciello	depends on PCI
60078d5e9e2SJan Dabros	depends on I2C_DESIGNWARE_PLATFORM
601440da737SMario Limonciello	depends on (I2C_DESIGNWARE_PLATFORM=y && CRYPTO_DEV_CCP_DD=y) || \
602440da737SMario Limonciello		   (I2C_DESIGNWARE_PLATFORM=m && CRYPTO_DEV_CCP_DD)
60378d5e9e2SJan Dabros	help
60478d5e9e2SJan Dabros	  This driver enables managed host access to the selected I2C bus shared
60578d5e9e2SJan Dabros	  between AMD CPU and AMD PSP.
60678d5e9e2SJan Dabros
60778d5e9e2SJan Dabros	  You should say Y if running on an AMD system equipped with the PSP.
60878d5e9e2SJan Dabros
609c2549011SSerge Seminconfig I2C_DESIGNWARE_BAYTRAIL
610c2549011SSerge Semin	bool "Intel Baytrail I2C semaphore support"
611c2549011SSerge Semin	depends on ACPI
612c2549011SSerge Semin	depends on I2C_DESIGNWARE_PLATFORM
613c2549011SSerge Semin	depends on (I2C_DESIGNWARE_PLATFORM=m && IOSF_MBI) || \
614c2549011SSerge Semin		   (I2C_DESIGNWARE_PLATFORM=y && IOSF_MBI=y)
615c2549011SSerge Semin	help
616c2549011SSerge Semin	  This driver enables managed host access to the PMIC I2C bus on select
617c2549011SSerge Semin	  Intel BayTrail platforms using the X-Powers AXP288 PMIC. It allows
618c2549011SSerge Semin	  the host to request uninterrupted access to the PMIC's I2C bus from
619c2549011SSerge Semin	  the platform firmware controlling it. You should say Y if running on
620c2549011SSerge Semin	  a BayTrail system using the AXP288.
621c2549011SSerge Semin
622fe20ff5cSDirk Brandewieconfig I2C_DESIGNWARE_PCI
62366049b33SHeikki Krogerus	tristate "Synopsys DesignWare PCI driver"
624fe20ff5cSDirk Brandewie	depends on PCI
625531310ddSAndy Shevchenko	select I2C_CCGX_UCSI
626fe20ff5cSDirk Brandewie	help
627fe20ff5cSDirk Brandewie	  If you say yes to this option, support will be included for the
62866049b33SHeikki Krogerus	  Synopsys DesignWare I2C adapters on the PCI bus. Only master mode is
62966049b33SHeikki Krogerus	  supported.
630fe20ff5cSDirk Brandewie
631fe20ff5cSDirk Brandewie	  This driver can also be built as a module.  If so, the module
632fe20ff5cSDirk Brandewie	  will be called i2c-designware-pci.
6334ad48e6aSPaul Mundt
63466049b33SHeikki Krogerusendif
63566049b33SHeikki Krogerus
6364a7a0822SBaruch Siachconfig I2C_DIGICOLOR
6374a7a0822SBaruch Siach	tristate "Conexant Digicolor I2C driver"
6384a2d5f66SKrzysztof Kozlowski	depends on ARCH_DIGICOLOR || COMPILE_TEST
6394a7a0822SBaruch Siach	help
6404a7a0822SBaruch Siach	  Support for Conexant Digicolor SoCs (CX92755) I2C controller driver.
6414a7a0822SBaruch Siach
6424a7a0822SBaruch Siach	  This driver can also be built as a module.  If so, the module
6434a7a0822SBaruch Siach	  will be called i2c-digicolor.
6444a7a0822SBaruch Siach
6453e1b76beSJayachandran Cconfig I2C_EG20T
6463e1b76beSJayachandran C	tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) I2C"
6477a852b02SPaul Burton	depends on PCI && (X86_32 || MIPS || COMPILE_TEST)
6483e1b76beSJayachandran C	help
6493e1b76beSJayachandran C	  This driver is for PCH(Platform controller Hub) I2C of EG20T which
6503e1b76beSJayachandran C	  is an IOH(Input/Output Hub) for x86 embedded processor.
6513e1b76beSJayachandran C	  This driver can access PCH I2C bus device.
6523e1b76beSJayachandran C
6533e1b76beSJayachandran C	  This driver also can be used for LAPIS Semiconductor IOH(Input/
6543e1b76beSJayachandran C	  Output Hub), ML7213, ML7223 and ML7831.
6553e1b76beSJayachandran C	  ML7213 IOH is for IVI(In-Vehicle Infotainment) use, ML7223 IOH is
6563e1b76beSJayachandran C	  for MP(Media Phone) use and ML7831 IOH is for general purpose use.
6573e1b76beSJayachandran C	  ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series.
6583e1b76beSJayachandran C	  ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH.
6593e1b76beSJayachandran C
6605faf6e1fSWolfram Sangconfig I2C_EMEV2
6615faf6e1fSWolfram Sang	tristate "EMMA Mobile series I2C adapter"
6625faf6e1fSWolfram Sang	depends on HAVE_CLK
663b7d518e6SWolfram Sang	select I2C_SLAVE
6645faf6e1fSWolfram Sang	help
6655faf6e1fSWolfram Sang	  If you say yes to this option, support will be included for the
6665faf6e1fSWolfram Sang	  I2C interface on the Renesas Electronics EM/EV family of processors.
6675faf6e1fSWolfram Sang
6688a73cd4cSNaveen Krishna Chconfig I2C_EXYNOS5
669a009310fSKrzysztof Kozlowski	tristate "Exynos high-speed I2C driver"
6704a2d5f66SKrzysztof Kozlowski	depends on OF
6714a2d5f66SKrzysztof Kozlowski	depends on ARCH_EXYNOS || COMPILE_TEST
6724a2d5f66SKrzysztof Kozlowski	default y if ARCH_EXYNOS
6738a73cd4cSNaveen Krishna Ch	help
674cf9ae42cSKrzysztof Kozlowski	  High-speed I2C controller on Samsung Exynos5 and newer Samsung SoCs:
675cf9ae42cSKrzysztof Kozlowski	  Exynos5250, Exynos5260, Exynos5410, Exynos542x, Exynos5800,
676c4bcef90SSam Protsenko	  Exynos5433, Exynos7, Exynos850 and ExynosAutoV9.
677cf9ae42cSKrzysztof Kozlowski	  Choose Y here only if you build for such Samsung SoC.
6788a73cd4cSNaveen Krishna Ch
6791c23af90SHaavard Skinnemoenconfig I2C_GPIO
6801c23af90SHaavard Skinnemoen	tristate "GPIO-based bitbanging I2C"
6817e5cd69aSGeert Uytterhoeven	depends on GPIOLIB || COMPILE_TEST
6821c23af90SHaavard Skinnemoen	select I2C_ALGOBIT
6831c23af90SHaavard Skinnemoen	help
6841c23af90SHaavard Skinnemoen	  This is a very simple bitbanging I2C driver utilizing the
6851c23af90SHaavard Skinnemoen	  arch-neutral GPIO API to control the SCL and SDA lines.
6861c23af90SHaavard Skinnemoen
68714911c6fSWolfram Sangconfig I2C_GPIO_FAULT_INJECTOR
68814911c6fSWolfram Sang	bool "GPIO-based fault injector"
68914911c6fSWolfram Sang	depends on I2C_GPIO
69014911c6fSWolfram Sang	help
69114911c6fSWolfram Sang	  This adds some functionality to the i2c-gpio driver which can inject
69214911c6fSWolfram Sang	  faults to an I2C bus, so another bus master can be stress-tested.
69314911c6fSWolfram Sang	  This is for debugging. If unsure, say 'no'.
69414911c6fSWolfram Sang
6954a55ed6fSNick Hawkinsconfig I2C_GXP
6964a55ed6fSNick Hawkins	tristate "GXP I2C Interface"
6974a55ed6fSNick Hawkins	depends on ARCH_HPE_GXP || COMPILE_TEST
6984a55ed6fSNick Hawkins	help
6994a55ed6fSNick Hawkins	  This enables support for GXP I2C interface. The I2C engines can be
7004a55ed6fSNick Hawkins	  either I2C master or I2C slaves.
7014a55ed6fSNick Hawkins
7024ad48e6aSPaul Mundtconfig I2C_HIGHLANDER
7034ad48e6aSPaul Mundt	tristate "Highlander FPGA SMBus interface"
7044a2d5f66SKrzysztof Kozlowski	depends on SH_HIGHLANDER || COMPILE_TEST
7054ad48e6aSPaul Mundt	help
7064ad48e6aSPaul Mundt	  If you say yes to this option, support will be included for
7074ad48e6aSPaul Mundt	  the SMBus interface located in the FPGA on various Highlander
7084ad48e6aSPaul Mundt	  boards, particularly the R0P7780LC0011RL and R0P7785LC0011RL
7094ad48e6aSPaul Mundt	  FPGAs. This is wholly unrelated to the SoC I2C.
7104ad48e6aSPaul Mundt
7114ad48e6aSPaul Mundt	  This driver can also be built as a module.  If so, the module
7124ad48e6aSPaul Mundt	  will be called i2c-highlander.
7134ad48e6aSPaul Mundt
714d62fbdb9SYicong Yangconfig I2C_HISI
715d62fbdb9SYicong Yang	tristate "HiSilicon I2C controller"
71652951ea1SWeilong Chen	depends on ARM64 || COMPILE_TEST
717d62fbdb9SYicong Yang	help
718d62fbdb9SYicong Yang	  Say Y here if you want to have Hisilicon I2C controller support
719d62fbdb9SYicong Yang	  available on the Kunpeng Server.
720d62fbdb9SYicong Yang
721d62fbdb9SYicong Yang	  This driver can also be built as a module. If so, the module
722d62fbdb9SYicong Yang	  will be called i2c-hisi.
723d62fbdb9SYicong Yang
7241da177e4SLinus Torvaldsconfig I2C_IBM_IIC
7251da177e4SLinus Torvalds	tristate "IBM PPC 4xx on-chip I2C interface"
726838349b5SSean MacLennan	depends on 4xx
7271da177e4SLinus Torvalds	help
7281da177e4SLinus Torvalds	  Say Y here if you want to use IIC peripheral found on
7291da177e4SLinus Torvalds	  embedded IBM PPC 4xx based systems.
7301da177e4SLinus Torvalds
7311da177e4SLinus Torvalds	  This driver can also be built as a module.  If so, the module
7321da177e4SLinus Torvalds	  will be called i2c-ibm_iic.
7331da177e4SLinus Torvalds
73427bce457SJames Hoganconfig I2C_IMG
73527bce457SJames Hogan	tristate "Imagination Technologies I2C SCB Controller"
7368d06c330SJames Hogan	depends on MIPS || COMPILE_TEST
73727bce457SJames Hogan	help
73827bce457SJames Hogan	  Say Y here if you want to use the IMG I2C SCB controller,
73906205206SAndrew Bresticker	  available on the TZ1090 and other IMG SoCs.
74027bce457SJames Hogan
74127bce457SJames Hogan	  This driver can also be built as a module.  If so, the module
74227bce457SJames Hogan	  will be called i2c-img-scb.
74327bce457SJames Hogan
744aa11e38cSDarius Augulisconfig I2C_IMX
745aa11e38cSDarius Augulis	tristate "IMX I2C interface"
746311499eeSCiprian Marian Costea	depends on ARCH_MXC || ARCH_LAYERSCAPE || ARCH_S32 || COLDFIRE \
747311499eeSCiprian Marian Costea		|| COMPILE_TEST
748f7414cd6SBiwen Li	select I2C_SLAVE
749aa11e38cSDarius Augulis	help
750aa11e38cSDarius Augulis	  Say Y here if you want to use the IIC bus controller on
751311499eeSCiprian Marian Costea	  the Freescale i.MX/MXC/S32G, Layerscape or ColdFire processors.
752aa11e38cSDarius Augulis
753aa11e38cSDarius Augulis	  This driver can also be built as a module. If so, the module
754aa11e38cSDarius Augulis	  will be called i2c-imx.
755aa11e38cSDarius Augulis
756a55fa9d0SGao Panconfig I2C_IMX_LPI2C
757a55fa9d0SGao Pan	tristate "IMX Low Power I2C interface"
758a55fa9d0SGao Pan	depends on ARCH_MXC || COMPILE_TEST
759*5851a88dSArnd Bergmann	select I2C_SLAVE
760a55fa9d0SGao Pan	help
761a55fa9d0SGao Pan	  Say Y here if you want to use the Low Power IIC bus controller
762a55fa9d0SGao Pan	  on the Freescale i.MX processors.
763a55fa9d0SGao Pan
764a55fa9d0SGao Pan	  This driver can also be built as a module. If so, the module
765a55fa9d0SGao Pan	  will be called i2c-imx-lpi2c.
766a55fa9d0SGao Pan
7671da177e4SLinus Torvaldsconfig I2C_IOP3XX
768b91a69d1SArnd Bergmann	tristate "Intel IXP4xx on-chip I2C interface"
769b91a69d1SArnd Bergmann	depends on ARCH_IXP4XX || COMPILE_TEST
7701da177e4SLinus Torvalds	help
7711da177e4SLinus Torvalds	  Say Y here if you want to use the IIC bus controller on
772b91a69d1SArnd Bergmann	  the Intel IXP4xx Network Processors.
7731da177e4SLinus Torvalds
7741da177e4SLinus Torvalds	  This driver can also be built as a module.  If so, the module
7751da177e4SLinus Torvalds	  will be called i2c-iop3xx.
7761da177e4SLinus Torvalds
777ba92222eSZubair Lutfullah Kakakhelconfig I2C_JZ4780
778ba92222eSZubair Lutfullah Kakakhel	tristate "JZ4780 I2C controller interface support"
77912cb084dSPaul Cercueil	depends on MIPS || COMPILE_TEST
780ba92222eSZubair Lutfullah Kakakhel	help
781ba92222eSZubair Lutfullah Kakakhel	 If you say yes to this option, support will be included for the
782ba92222eSZubair Lutfullah Kakakhel	 Ingenic JZ4780 I2C controller.
783ba92222eSZubair Lutfullah Kakakhel
784ba92222eSZubair Lutfullah Kakakhel	 If you don't know what to do here, say N.
785ba92222eSZubair Lutfullah Kakakhel
786c7e08c81SGerhard Englederconfig I2C_KEBA
787c7e08c81SGerhard Engleder	tristate "KEBA I2C controller support"
788c7e08c81SGerhard Engleder	depends on HAS_IOMEM
7896d340541SGeert Uytterhoeven	depends on KEBA_CP500 || COMPILE_TEST
790c7e08c81SGerhard Engleder	select AUXILIARY_BUS
791c7e08c81SGerhard Engleder	help
792c7e08c81SGerhard Engleder	  This driver supports the I2C controller found in KEBA system FPGA
793c7e08c81SGerhard Engleder	  devices.
794c7e08c81SGerhard Engleder
795c7e08c81SGerhard Engleder	  This driver can also be built as a module. If so, the module
796c7e08c81SGerhard Engleder	  will be called i2c-keba.
797c7e08c81SGerhard Engleder
798e0b9b7b0SKevin Strasserconfig I2C_KEMPLD
799e0b9b7b0SKevin Strasser	tristate "Kontron COM I2C Controller"
800e0b9b7b0SKevin Strasser	depends on MFD_KEMPLD
801e0b9b7b0SKevin Strasser	help
802e0b9b7b0SKevin Strasser	  This enables support for the I2C bus interface on some Kontron ETX
803e0b9b7b0SKevin Strasser	  and COMexpress (ETXexpress) modules.
804e0b9b7b0SKevin Strasser
805e0b9b7b0SKevin Strasser	  This driver can also be built as a module. If so, the module
806e0b9b7b0SKevin Strasser	  will be called i2c-kempld.
807e0b9b7b0SKevin Strasser
8083f9c37a0SJoachim Eastwoodconfig I2C_LPC2K
8093f9c37a0SJoachim Eastwood	tristate "I2C bus support for NXP LPC2K/LPC178x/18xx/43xx"
8103f9c37a0SJoachim Eastwood	depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
8113f9c37a0SJoachim Eastwood	help
8123f9c37a0SJoachim Eastwood	  This driver supports the I2C interface found several NXP
8133f9c37a0SJoachim Eastwood	  devices including LPC2xxx, LPC178x/7x and LPC18xx/43xx.
8143f9c37a0SJoachim Eastwood
8153f9c37a0SJoachim Eastwood	  This driver can also be built as a module.  If so, the module
8163f9c37a0SJoachim Eastwood	  will be called i2c-lpc2k.
8173f9c37a0SJoachim Eastwood
818015e61f0SBinbin Zhouconfig I2C_LS2X
819015e61f0SBinbin Zhou	tristate "Loongson LS2X I2C adapter"
820015e61f0SBinbin Zhou	depends on MACH_LOONGSON64 || COMPILE_TEST
821015e61f0SBinbin Zhou	help
822015e61f0SBinbin Zhou	  If you say yes to this option, support will be included for the
823015e61f0SBinbin Zhou	  I2C interface on the Loongson-2K SoCs and Loongson LS7A bridge
824015e61f0SBinbin Zhou	  chip.
825015e61f0SBinbin Zhou
826015e61f0SBinbin Zhou	  This driver can also be built as a module. If so, the module
827015e61f0SBinbin Zhou	  will be called i2c-ls2x.
828015e61f0SBinbin Zhou
829b5b5b320SKhalil Blaiechconfig I2C_MLXBF
830b5b5b320SKhalil Blaiech        tristate "Mellanox BlueField I2C controller"
8319890923bSGeert Uytterhoeven        depends on MELLANOX_PLATFORM && ARM64
83265d78b8dSAdam Borowski	depends on ACPI
833c62dac0aSArnd Bergmann	select I2C_SLAVE
834b5b5b320SKhalil Blaiech        help
835b5b5b320SKhalil Blaiech          Enabling this option will add I2C SMBus support for Mellanox BlueField
836b5b5b320SKhalil Blaiech          system.
837b5b5b320SKhalil Blaiech
838b5b5b320SKhalil Blaiech          This driver can also be built as a module. If so, the module will be
839b5b5b320SKhalil Blaiech          called i2c-mlxbf.
840b5b5b320SKhalil Blaiech
841b5b5b320SKhalil Blaiech          This driver implements an I2C SMBus host controller and enables both
842b5b5b320SKhalil Blaiech          master and slave functions.
843b5b5b320SKhalil Blaiech
84430021e37SBeniamino Galvaniconfig I2C_MESON
84530021e37SBeniamino Galvani	tristate "Amlogic Meson I2C controller"
84691401783SBen Dooks	depends on ARCH_MESON || COMPILE_TEST
8474a2d5f66SKrzysztof Kozlowski	depends on COMMON_CLK
84830021e37SBeniamino Galvani	help
84930021e37SBeniamino Galvani	  If you say yes to this option, support will be included for the
85030021e37SBeniamino Galvani	  I2C interface on the Amlogic Meson family of SoCs.
85130021e37SBeniamino Galvani
85264a6f1c4SConor Dooleyconfig I2C_MICROCHIP_CORE
85364a6f1c4SConor Dooley	tristate "Microchip FPGA I2C controller"
854819c7345SConor Dooley	depends on ARCH_MICROCHIP_POLARFIRE || COMPILE_TEST
85564a6f1c4SConor Dooley	depends on OF
85664a6f1c4SConor Dooley	help
85764a6f1c4SConor Dooley	  If you say yes to this option, support will be included for the
85864a6f1c4SConor Dooley	  I2C interface on Microchip FPGAs.
85964a6f1c4SConor Dooley
86064a6f1c4SConor Dooley	  This driver can also be built as a module. If so, the module will be
86164a6f1c4SConor Dooley	  called i2c-microchip-core.
86264a6f1c4SConor Dooley
8631da177e4SLinus Torvaldsconfig I2C_MPC
864f00d738fSWolfgang Grandegger	tristate "MPC107/824x/85xx/512x/52xx/83xx/86xx"
8650724d464SKumar Gala	depends on PPC
8661da177e4SLinus Torvalds	help
8671da177e4SLinus Torvalds	  If you say yes to this option, support will be included for the
868f00d738fSWolfgang Grandegger	  built-in I2C interface on the MPC107, Tsi107, MPC512x, MPC52xx,
869f00d738fSWolfgang Grandegger	  MPC8240, MPC8245, MPC83xx, MPC85xx and MPC8641 family processors.
8701da177e4SLinus Torvalds
8711da177e4SLinus Torvalds	  This driver can also be built as a module.  If so, the module
8721da177e4SLinus Torvalds	  will be called i2c-mpc.
8731da177e4SLinus Torvalds
874ce38815dSXudong Chenconfig I2C_MT65XX
875ce38815dSXudong Chen	tristate "MediaTek I2C adapter"
876ce38815dSXudong Chen	depends on ARCH_MEDIATEK || COMPILE_TEST
877ce38815dSXudong Chen	help
878ce38815dSXudong Chen	  This selects the MediaTek(R) Integrated Inter Circuit bus driver
879ce38815dSXudong Chen	  for MT65xx and MT81xx.
880ce38815dSXudong Chen	  If you want to use MediaTek(R) I2C interface, say Y or M here.
881ce38815dSXudong Chen	  If unsure, say N.
882ce38815dSXudong Chen
883d04913ecSStefan Roeseconfig I2C_MT7621
884d04913ecSStefan Roese	tristate "MT7621/MT7628 I2C Controller"
885fd6acb0dSLorenzo Bianconi	depends on (RALINK && (SOC_MT7620 || SOC_MT7621)) || ARCH_AIROHA || COMPILE_TEST
886d04913ecSStefan Roese	help
887d04913ecSStefan Roese	  Say Y here to include support for I2C controller in the
888d04913ecSStefan Roese	  MediaTek MT7621/MT7628 SoCs.
889d04913ecSStefan Roese
890f5b728a1SJean Delvareconfig I2C_MV64XXX
891f5b728a1SJean Delvare	tristate "Marvell mv64xxx I2C Controller"
892a329ddd4SChristophe Leroy	depends on PLAT_ORION || ARCH_SUNXI || ARCH_MVEBU || COMPILE_TEST
8931da177e4SLinus Torvalds	help
894f5b728a1SJean Delvare	  If you say yes to this option, support will be included for the
895f5b728a1SJean Delvare	  built-in I2C interface on the Marvell 64xxx line of host bridges.
8963d66ac7dSMaxime Ripard	  This driver is also used for Allwinner SoCs I2C controllers.
8971da177e4SLinus Torvalds
8981da177e4SLinus Torvalds	  This driver can also be built as a module.  If so, the module
899f5b728a1SJean Delvare	  will be called i2c-mv64xxx.
900279e9024SJean Delvare
901a8da7fecSWolfram Sangconfig I2C_MXS
902a8da7fecSWolfram Sang	tristate "Freescale i.MX28 I2C interface"
9034a2d5f66SKrzysztof Kozlowski	depends on SOC_IMX28 || COMPILE_TEST
9046b866c15SWolfram Sang	select STMP_DEVICE
905a8da7fecSWolfram Sang	help
906a8da7fecSWolfram Sang	  Say Y here if you want to use the I2C bus controller on
907a8da7fecSWolfram Sang	  the Freescale i.MX28 processors.
908a8da7fecSWolfram Sang
909a8da7fecSWolfram Sang	  This driver can also be built as a module.  If so, the module
910a8da7fecSWolfram Sang	  will be called i2c-mxs.
911a8da7fecSWolfram Sang
9123f9900f1Ssrinidhi kasagarconfig I2C_NOMADIK
9133f9900f1Ssrinidhi kasagar	tristate "ST-Ericsson Nomadik/Ux500 I2C Controller"
9144d51ac5bSAndi Shyti	depends on ARM_AMBA || COMPILE_TEST
9153f9900f1Ssrinidhi kasagar	help
9163f9900f1Ssrinidhi kasagar	  If you say yes to this option, support will be included for the
917419408edSAlessandro Rubini	  I2C interface from ST-Ericsson's Nomadik and Ux500 architectures,
918419408edSAlessandro Rubini	  as well as the STA2X11 PCIe I/O HUB.
9193f9900f1Ssrinidhi kasagar
920bbc38ed5STyrone Tingconfig I2C_NPCM
92156a1485bSTali Perry	tristate "Nuvoton I2C Controller"
922bbc38ed5STyrone Ting	depends on ARCH_NPCM || COMPILE_TEST
92356a1485bSTali Perry	help
92456a1485bSTali Perry	  If you say yes to this option, support will be included for the
925bbc38ed5STyrone Ting	  Nuvoton I2C controller, which is available on the NPCM BMC
926bbc38ed5STyrone Ting	  controllers.
92756a1485bSTali Perry	  Driver can also support slave mode (select I2C_SLAVE).
92856a1485bSTali Perry
92918f98b1eSPeter Korsgaardconfig I2C_OCORES
93018f98b1eSPeter Korsgaard	tristate "OpenCores I2C Controller"
93118f98b1eSPeter Korsgaard	help
93218f98b1eSPeter Korsgaard	  If you say yes to this option, support will be included for the
93318f98b1eSPeter Korsgaard	  OpenCores I2C controller. For details see
93418f98b1eSPeter Korsgaard	  http://www.opencores.org/projects.cgi/web/i2c/overview
93518f98b1eSPeter Korsgaard
93618f98b1eSPeter Korsgaard	  This driver can also be built as a module.  If so, the module
93718f98b1eSPeter Korsgaard	  will be called i2c-ocores.
93818f98b1eSPeter Korsgaard
939010d442cSKomal Shahconfig I2C_OMAP
940010d442cSKomal Shah	tristate "OMAP I2C adapter"
9414a2d5f66SKrzysztof Kozlowski	depends on ARCH_OMAP || ARCH_K3 || COMPILE_TEST
9420d7bb85eSArnd Bergmann	default MACH_OMAP_OSK
943010d442cSKomal Shah	help
944010d442cSKomal Shah	  If you say yes to this option, support will be included for the
945010d442cSKomal Shah	  I2C interface on the Texas Instruments OMAP1/2 family of processors.
946010d442cSKomal Shah	  Like OMAP1510/1610/1710/5912 and OMAP242x.
947010d442cSKomal Shah	  For details see http://www.ti.com/omap.
948010d442cSKomal Shah
949d211e62aSManivannan Sadhasivamconfig I2C_OWL
950d211e62aSManivannan Sadhasivam	tristate "Actions Semiconductor Owl I2C Controller"
951d211e62aSManivannan Sadhasivam	depends on ARCH_ACTIONS || COMPILE_TEST
952d211e62aSManivannan Sadhasivam	help
953d211e62aSManivannan Sadhasivam	  Say Y here if you want to use the I2C bus controller on
954d211e62aSManivannan Sadhasivam	  the Actions Semiconductor Owl SoC's.
955d211e62aSManivannan Sadhasivam
956f5b728a1SJean Delvareconfig I2C_PASEMI
957f5b728a1SJean Delvare	tristate "PA Semi SMBus interface"
958f5b728a1SJean Delvare	depends on PPC_PASEMI && PCI
959f5b728a1SJean Delvare	help
960f5b728a1SJean Delvare	  Supports the PA Semi PWRficient on-chip SMBus interfaces.
961f5b728a1SJean Delvare
962d88ae293SSven Peterconfig I2C_APPLE
963d88ae293SSven Peter	tristate "Apple SMBus platform driver"
964a76d19e6SBenjamin Gray	depends on !I2C_PASEMI
965d88ae293SSven Peter	depends on ARCH_APPLE || COMPILE_TEST
966d88ae293SSven Peter	default ARCH_APPLE
967d88ae293SSven Peter	help
968d88ae293SSven Peter	  Say Y here if you want to use the I2C controller present on Apple
969d88ae293SSven Peter	  Silicon chips such as the M1.
970d88ae293SSven Peter
971d88ae293SSven Peter	  This driver can also be built as a module. If so, the module
972d88ae293SSven Peter	  will be called i2c-apple.
973d88ae293SSven Peter
97435bfc353SWolfram Sangconfig I2C_PCA_PLATFORM
97535bfc353SWolfram Sang	tristate "PCA9564/PCA9665 as platform device"
97635bfc353SWolfram Sang	select I2C_ALGOPCA
97735bfc353SWolfram Sang	help
97835bfc353SWolfram Sang	  This driver supports a memory mapped Philips PCA9564/PCA9665
97935bfc353SWolfram Sang	  parallel bus to I2C bus controller.
98035bfc353SWolfram Sang
98135bfc353SWolfram Sang	  This driver can also be built as a module.  If so, the module
98235bfc353SWolfram Sang	  will be called i2c-pca-platform.
98335bfc353SWolfram Sang
984f5b728a1SJean Delvareconfig I2C_PNX
985c115167aSKevin Wells	tristate "I2C bus support for Philips PNX and NXP LPC targets"
9864a2d5f66SKrzysztof Kozlowski	depends on ARCH_LPC32XX || COMPILE_TEST
987f5b728a1SJean Delvare	help
988f5b728a1SJean Delvare	  This driver supports the Philips IP3204 I2C IP block master and/or
989f5b728a1SJean Delvare	  slave controller
990f5b728a1SJean Delvare
991f5b728a1SJean Delvare	  This driver can also be built as a module.  If so, the module
992f5b728a1SJean Delvare	  will be called i2c-pnx.
993f5b728a1SJean Delvare
994f5b728a1SJean Delvareconfig I2C_PXA
995d7c46dddSHaojian Zhuang	tristate "Intel PXA2XX I2C adapter"
9964a2d5f66SKrzysztof Kozlowski	depends on ARCH_PXA || ARCH_MMP || ARCH_MVEBU || (X86_32 && PCI && OF) || COMPILE_TEST
997f5b728a1SJean Delvare	help
998f5b728a1SJean Delvare	  If you have devices in the PXA I2C bus, say yes to this option.
999f5b728a1SJean Delvare	  This driver can also be built as a module.  If so, the module
1000f5b728a1SJean Delvare	  will be called i2c-pxa.
1001f5b728a1SJean Delvare
10027e94dd15SSebastian Andrzej Siewiorconfig I2C_PXA_PCI
10037e94dd15SSebastian Andrzej Siewior	def_bool I2C_PXA && X86_32 && PCI && OF
10047e94dd15SSebastian Andrzej Siewior
1005f5b728a1SJean Delvareconfig I2C_PXA_SLAVE
1006f5b728a1SJean Delvare	bool "Intel PXA2XX I2C Slave comms support"
10077e94dd15SSebastian Andrzej Siewior	depends on I2C_PXA && !X86_32
10084d51b4ceSPatrick Williams	select I2C_SLAVE
1009f5b728a1SJean Delvare	help
1010f5b728a1SJean Delvare	  Support I2C slave mode communications on the PXA I2C bus.  This
1011f5b728a1SJean Delvare	  is necessary for systems where the PXA may be a target on the
1012f5b728a1SJean Delvare	  I2C bus.
1013f5b728a1SJean Delvare
1014e5175261SLoic Poulainconfig I2C_QCOM_CCI
1015e5175261SLoic Poulain	tristate "Qualcomm Camera Control Interface"
1016e5175261SLoic Poulain	depends on ARCH_QCOM || COMPILE_TEST
1017e5175261SLoic Poulain	help
1018e5175261SLoic Poulain	  If you say yes to this option, support will be included for the
1019e5175261SLoic Poulain	  built-in camera control interface on the Qualcomm SoCs.
1020e5175261SLoic Poulain
1021e5175261SLoic Poulain	  This driver can also be built as a module.  If so, the module
1022e5175261SLoic Poulain	  will be called i2c-qcom-cci.
1023e5175261SLoic Poulain
102437692de5SKarthikeyan Ramasubramanianconfig I2C_QCOM_GENI
102537692de5SKarthikeyan Ramasubramanian	tristate "Qualcomm Technologies Inc.'s GENI based I2C controller"
102637692de5SKarthikeyan Ramasubramanian	depends on ARCH_QCOM || COMPILE_TEST
102737692de5SKarthikeyan Ramasubramanian	depends on QCOM_GENI_SE
102837692de5SKarthikeyan Ramasubramanian	help
102937692de5SKarthikeyan Ramasubramanian	  This driver supports GENI serial engine based I2C controller in
103037692de5SKarthikeyan Ramasubramanian	  master mode on the Qualcomm Technologies Inc.'s SoCs. If you say
103137692de5SKarthikeyan Ramasubramanian	  yes to this option, support will be included for the built-in I2C
103237692de5SKarthikeyan Ramasubramanian	  interface on the Qualcomm Technologies Inc.'s SoCs.
103337692de5SKarthikeyan Ramasubramanian
103437692de5SKarthikeyan Ramasubramanian	  This driver can also be built as a module.  If so, the module
103537692de5SKarthikeyan Ramasubramanian	  will be called i2c-qcom-geni.
103637692de5SKarthikeyan Ramasubramanian
103710c5a842SBjorn Anderssonconfig I2C_QUP
103810c5a842SBjorn Andersson	tristate "Qualcomm QUP based I2C controller"
10395de71797SWolfram Sang	depends on ARCH_QCOM || COMPILE_TEST
104010c5a842SBjorn Andersson	help
104110c5a842SBjorn Andersson	  If you say yes to this option, support will be included for the
104210c5a842SBjorn Andersson	  built-in I2C interface on the Qualcomm SoCs.
104310c5a842SBjorn Andersson
104410c5a842SBjorn Andersson	  This driver can also be built as a module.  If so, the module
104510c5a842SBjorn Andersson	  will be called i2c-qup.
104610c5a842SBjorn Andersson
1047310c18a4SWolfram Sangconfig I2C_RIIC
1048310c18a4SWolfram Sang	tristate "Renesas RIIC adapter"
104907316149SSimon Horman	depends on ARCH_RENESAS || COMPILE_TEST
1050310c18a4SWolfram Sang	help
1051310c18a4SWolfram Sang	  If you say yes to this option, support will be included for the
1052310c18a4SWolfram Sang	  Renesas RIIC I2C interface.
1053310c18a4SWolfram Sang
1054310c18a4SWolfram Sang	  This driver can also be built as a module.  If so, the module
1055310c18a4SWolfram Sang	  will be called i2c-riic.
1056310c18a4SWolfram Sang
1057c41aa3ceSMax Schwarzconfig I2C_RK3X
1058c41aa3ceSMax Schwarz	tristate "Rockchip RK3xxx I2C adapter"
105980f1774fSMax Schwarz	depends on OF && COMMON_CLK
1060c41aa3ceSMax Schwarz	help
1061c41aa3ceSMax Schwarz	  Say Y here to include support for the I2C adapter in Rockchip RK3xxx
1062c41aa3ceSMax Schwarz	  SoCs.
1063c41aa3ceSMax Schwarz
1064c41aa3ceSMax Schwarz	  This driver can also be built as a module. If so, the module will
1065c41aa3ceSMax Schwarz	  be called i2c-rk3x.
1066c41aa3ceSMax Schwarz
1067c366be72SChris Packhamconfig I2C_RTL9300
1068c366be72SChris Packham	tristate "Realtek RTL9300 I2C controller"
1069c366be72SChris Packham	depends on MACH_REALTEK_RTL || COMPILE_TEST
1070c366be72SChris Packham	help
1071c366be72SChris Packham	  Say Y here to include support for the I2C controller in Realtek
1072c366be72SChris Packham	  RTL9300 SoCs.
1073c366be72SChris Packham
1074c366be72SChris Packham	  This driver can also be built as a module. If so, the module will
1075c366be72SChris Packham	  be called i2c-rtl9300.
1076c366be72SChris Packham
1077e0ca796aSPhil Edworthyconfig I2C_RZV2M
1078e0ca796aSPhil Edworthy	tristate "Renesas RZ/V2M adapter"
1079e0ca796aSPhil Edworthy	depends on ARCH_RENESAS || COMPILE_TEST
1080e0ca796aSPhil Edworthy	help
1081e0ca796aSPhil Edworthy	  If you say yes to this option, support will be included for the
1082e0ca796aSPhil Edworthy	  Renesas RZ/V2M I2C interface.
1083e0ca796aSPhil Edworthy
1084e0ca796aSPhil Edworthy	  This driver can also be built as a module.  If so, the module
1085e0ca796aSPhil Edworthy	  will be called i2c-rzv2m.
1086e0ca796aSPhil Edworthy
1087f5b728a1SJean Delvareconfig I2C_S3C2410
1088a009310fSKrzysztof Kozlowski	tristate "S3C/Exynos I2C Driver"
10891ea35b35SArnd Bergmann	depends on ARCH_EXYNOS || ARCH_S3C64XX || ARCH_S5PV210 || COMPILE_TEST
1090f5b728a1SJean Delvare	help
1091f5b728a1SJean Delvare	  Say Y here to include support for I2C controller in the
1092a009310fSKrzysztof Kozlowski	  Samsung SoCs (S3C, S5Pv210, Exynos).
1093f5b728a1SJean Delvare
1094f5b728a1SJean Delvareconfig I2C_SH7760
1095f5b728a1SJean Delvare	tristate "Renesas SH7760 I2C Controller"
1096f5b728a1SJean Delvare	depends on CPU_SUBTYPE_SH7760
1097f5b728a1SJean Delvare	help
1098f5b728a1SJean Delvare	  This driver supports the 2 I2C interfaces on the Renesas SH7760.
1099f5b728a1SJean Delvare
1100f5b728a1SJean Delvare	  This driver can also be built as a module.  If so, the module
1101f5b728a1SJean Delvare	  will be called i2c-sh7760.
1102f5b728a1SJean Delvare
1103f5b728a1SJean Delvareconfig I2C_SH_MOBILE
1104f5b728a1SJean Delvare	tristate "SuperH Mobile I2C Controller"
110517f80487SGeert Uytterhoeven	depends on ARCH_SHMOBILE || ARCH_RENESAS || COMPILE_TEST
1106f5b728a1SJean Delvare	help
1107f5b728a1SJean Delvare	  If you say yes to this option, support will be included for the
1108f5b728a1SJean Delvare	  built-in I2C interface on the Renesas SH-Mobile processor.
1109f5b728a1SJean Delvare
1110f5b728a1SJean Delvare	  This driver can also be built as a module.  If so, the module
1111f5b728a1SJean Delvare	  will be called i2c-sh_mobile.
1112f5b728a1SJean Delvare
1113f5b728a1SJean Delvareconfig I2C_SIMTEC
1114f5b728a1SJean Delvare	tristate "Simtec Generic I2C interface"
1115f5b728a1SJean Delvare	select I2C_ALGOBIT
1116f5b728a1SJean Delvare	help
1117f5b728a1SJean Delvare	  If you say yes to this option, support will be included for
1118f5b728a1SJean Delvare	  the Simtec Generic I2C interface. This driver is for the
1119f5b728a1SJean Delvare	  simple I2C bus used on newer Simtec products for general
1120f5b728a1SJean Delvare	  I2C, such as DDC on the Simtec BBD2016A.
1121f5b728a1SJean Delvare
1122f5b728a1SJean Delvare	  This driver can also be built as a module. If so, the module
1123f5b728a1SJean Delvare	  will be called i2c-simtec.
1124f5b728a1SJean Delvare
11258b9ec071SBaolin Wangconfig I2C_SPRD
11264d7802aaSBaolin Wang	tristate "Spreadtrum I2C interface"
11274a2d5f66SKrzysztof Kozlowski	depends on I2C=y && (ARCH_SPRD || COMPILE_TEST)
11289ecd1d2bSKrzysztof Kozlowski	depends on COMMON_CLK
11298b9ec071SBaolin Wang	help
11308b9ec071SBaolin Wang	  If you say yes to this option, support will be included for the
11318b9ec071SBaolin Wang	  Spreadtrum I2C interface.
11328b9ec071SBaolin Wang
113385b4fab2SMaxime COQUELINconfig I2C_ST
113485b4fab2SMaxime COQUELIN	tristate "STMicroelectronics SSC I2C support"
11354a2d5f66SKrzysztof Kozlowski	depends on ARCH_STI || COMPILE_TEST
113685b4fab2SMaxime COQUELIN	help
113785b4fab2SMaxime COQUELIN	  Enable this option to add support for STMicroelectronics SoCs
113885b4fab2SMaxime COQUELIN	  hardware SSC (Synchronous Serial Controller) as an I2C controller.
113985b4fab2SMaxime COQUELIN
114085b4fab2SMaxime COQUELIN	  This driver can also be built as module. If so, the module
114185b4fab2SMaxime COQUELIN	  will be called i2c-st.
114285b4fab2SMaxime COQUELIN
114362817fc8SM'boumba Cedric Madiangaconfig I2C_STM32F4
114462817fc8SM'boumba Cedric Madianga	tristate "STMicroelectronics STM32F4 I2C support"
114562817fc8SM'boumba Cedric Madianga	depends on ARCH_STM32 || COMPILE_TEST
114662817fc8SM'boumba Cedric Madianga	help
114762817fc8SM'boumba Cedric Madianga	  Enable this option to add support for STM32 I2C controller embedded
114862817fc8SM'boumba Cedric Madianga	  in STM32F4 SoCs.
114962817fc8SM'boumba Cedric Madianga
115062817fc8SM'boumba Cedric Madianga	  This driver can also be built as module. If so, the module
115162817fc8SM'boumba Cedric Madianga	  will be called i2c-stm32f4.
115262817fc8SM'boumba Cedric Madianga
1153aeb068c5SPierre-Yves MORDRETconfig I2C_STM32F7
1154aeb068c5SPierre-Yves MORDRET	tristate "STMicroelectronics STM32F7 I2C support"
1155aeb068c5SPierre-Yves MORDRET	depends on ARCH_STM32 || COMPILE_TEST
115660d609f3SPierre-Yves MORDRET	select I2C_SLAVE
11576af07719SAlain Volmat	select I2C_SMBUS
1158aeb068c5SPierre-Yves MORDRET	help
1159aeb068c5SPierre-Yves MORDRET	  Enable this option to add support for STM32 I2C controller embedded
1160aeb068c5SPierre-Yves MORDRET	  in STM32F7 SoCs.
1161aeb068c5SPierre-Yves MORDRET
1162aeb068c5SPierre-Yves MORDRET	  This driver can also be built as module. If so, the module
1163aeb068c5SPierre-Yves MORDRET	  will be called i2c-stm32f7.
1164aeb068c5SPierre-Yves MORDRET
11653e833490SBoris BREZILLONconfig I2C_SUN6I_P2WI
11663e833490SBoris BREZILLON	tristate "Allwinner sun6i internal P2WI controller"
11673e833490SBoris BREZILLON	depends on RESET_CONTROLLER
11683e833490SBoris BREZILLON	depends on MACH_SUN6I || COMPILE_TEST
11693e833490SBoris BREZILLON	help
11703e833490SBoris BREZILLON	  If you say yes to this option, support will be included for the
11713e833490SBoris BREZILLON	  P2WI (Push/Pull 2 Wire Interface) controller embedded in some sunxi
11723e833490SBoris BREZILLON	  SOCs.
11733e833490SBoris BREZILLON	  The P2WI looks like an SMBus controller (which supports only byte
11743e833490SBoris BREZILLON	  accesses), except that it only supports one slave device.
11753e833490SBoris BREZILLON	  This interface is used to connect to specific PMIC devices (like the
11763e833490SBoris BREZILLON	  AXP221).
11773e833490SBoris BREZILLON
11780d676a6cSArd Biesheuvelconfig I2C_SYNQUACER
11790d676a6cSArd Biesheuvel	tristate "Socionext SynQuacer I2C controller"
11800d676a6cSArd Biesheuvel	depends on ARCH_SYNQUACER || COMPILE_TEST
11810d676a6cSArd Biesheuvel	help
11820d676a6cSArd Biesheuvel	  Say Y here to include support for the I2C controller used in some
11830d676a6cSArd Biesheuvel	  Fujitsu and Socionext SoCs.
11840d676a6cSArd Biesheuvel
11850d676a6cSArd Biesheuvel	  This driver can also be built as a module. If so, the module
11860d676a6cSArd Biesheuvel	  will be called i2c-synquacer.
11870d676a6cSArd Biesheuvel
1188db811ca0SColin Crossconfig I2C_TEGRA
1189db811ca0SColin Cross	tristate "NVIDIA Tegra internal I2C controller"
11904a2d5f66SKrzysztof Kozlowski	depends on ARCH_TEGRA || (COMPILE_TEST && (ARC || ARM || ARM64 || M68K || RISCV || SUPERH || SPARC))
11914a2d5f66SKrzysztof Kozlowski	# COMPILE_TEST needs architectures with readsX()/writesX() primitives
1192db811ca0SColin Cross	help
1193db811ca0SColin Cross	  If you say yes to this option, support will be included for the
1194db811ca0SColin Cross	  I2C controller embedded in NVIDIA Tegra SOCs
1195db811ca0SColin Cross
11960297ffa6SShardar Shariff Mdconfig I2C_TEGRA_BPMP
11970297ffa6SShardar Shariff Md	tristate "NVIDIA Tegra BPMP I2C controller"
11984a2d5f66SKrzysztof Kozlowski	depends on TEGRA_BPMP || COMPILE_TEST
11994a2d5f66SKrzysztof Kozlowski	default y if TEGRA_BPMP
12000297ffa6SShardar Shariff Md	help
12010297ffa6SShardar Shariff Md	  If you say yes to this option, support will be included for the I2C
12020297ffa6SShardar Shariff Md	  controller embedded in NVIDIA Tegra SoCs accessed via the BPMP.
12030297ffa6SShardar Shariff Md
12040297ffa6SShardar Shariff Md	  This I2C driver is a 'virtual' I2C driver. The real driver is part
12050297ffa6SShardar Shariff Md	  of the BPMP firmware, and this driver merely communicates with that
12060297ffa6SShardar Shariff Md	  real driver.
12070297ffa6SShardar Shariff Md
1208dd6fd4a3SMasahiro Yamadaconfig I2C_UNIPHIER
1209dd6fd4a3SMasahiro Yamada	tristate "UniPhier FIFO-less I2C controller"
121061c18aebSMasahiro Yamada	depends on ARCH_UNIPHIER || COMPILE_TEST
1211dd6fd4a3SMasahiro Yamada	help
1212dd6fd4a3SMasahiro Yamada	  If you say yes to this option, support will be included for
1213dd6fd4a3SMasahiro Yamada	  the UniPhier FIFO-less I2C interface embedded in PH1-LD4, PH1-sLD8,
1214dd6fd4a3SMasahiro Yamada	  or older UniPhier SoCs.
1215dd6fd4a3SMasahiro Yamada
12166a62974bSMasahiro Yamadaconfig I2C_UNIPHIER_F
12176a62974bSMasahiro Yamada	tristate "UniPhier FIFO-builtin I2C controller"
121861c18aebSMasahiro Yamada	depends on ARCH_UNIPHIER || COMPILE_TEST
12196a62974bSMasahiro Yamada	help
12206a62974bSMasahiro Yamada	  If you say yes to this option, support will be included for
12216a62974bSMasahiro Yamada	  the UniPhier FIFO-builtin I2C interface embedded in PH1-Pro4,
12226a62974bSMasahiro Yamada	  PH1-Pro5, or newer UniPhier SoCs.
12236a62974bSMasahiro Yamada
1224f5b728a1SJean Delvareconfig I2C_VERSATILE
1225f5b728a1SJean Delvare	tristate "ARM Versatile/Realview I2C bus support"
12265871a153SRussell King	depends on ARCH_MPS2 || ARCH_VERSATILE || ARCH_REALVIEW || ARCH_VEXPRESS || COMPILE_TEST
1227f5b728a1SJean Delvare	select I2C_ALGOBIT
1228f5b728a1SJean Delvare	help
1229f5b728a1SJean Delvare	  Say yes if you want to support the I2C serial bus on ARMs Versatile
1230f5b728a1SJean Delvare	  range of platforms.
1231f5b728a1SJean Delvare
1232f5b728a1SJean Delvare	  This driver can also be built as a module.  If so, the module
1233f5b728a1SJean Delvare	  will be called i2c-versatile.
1234f5b728a1SJean Delvare
1235560746ebSTony Priskconfig I2C_WMT
1236560746ebSTony Prisk	tristate "Wondermedia WM8xxx SoC I2C bus support"
12374a2d5f66SKrzysztof Kozlowski	depends on ARCH_VT8500 || COMPILE_TEST
1238560746ebSTony Prisk	help
1239560746ebSTony Prisk	  Say yes if you want to support the I2C bus on Wondermedia 8xxx-series
1240560746ebSTony Prisk	  SoCs.
1241560746ebSTony Prisk
1242560746ebSTony Prisk	  This driver can also be built as a module. If so, the module will be
1243560746ebSTony Prisk	  called i2c-wmt.
1244560746ebSTony Prisk
124585660f43SRade Bozicconfig I2C_OCTEON
124685660f43SRade Bozic	tristate "Cavium OCTEON I2C bus support"
12479ddebc46SDavid Daney	depends on CAVIUM_OCTEON_SOC
124885660f43SRade Bozic	help
124985660f43SRade Bozic	  Say yes if you want to support the I2C serial bus on Cavium
125085660f43SRade Bozic	  OCTEON SOC.
125185660f43SRade Bozic
125285660f43SRade Bozic	  This driver can also be built as a module.  If so, the module
125385660f43SRade Bozic	  will be called i2c-octeon.
125485660f43SRade Bozic
125522d40209SJan Glauberconfig I2C_THUNDERX
125622d40209SJan Glauber	tristate "Cavium ThunderX I2C bus support"
125722d40209SJan Glauber	depends on 64BIT && PCI && (ARM64 || COMPILE_TEST)
12581e586671SJan Glauber	select I2C_SMBUS
125922d40209SJan Glauber	help
126022d40209SJan Glauber	  Say yes if you want to support the I2C serial bus on Cavium
126122d40209SJan Glauber	  ThunderX SOC.
126222d40209SJan Glauber
126322d40209SJan Glauber	  This driver can also be built as a module.  If so, the module
126422d40209SJan Glauber	  will be called i2c-thunderx.
126522d40209SJan Glauber
1266e1d5b659SRichard Röjforsconfig I2C_XILINX
1267e1d5b659SRichard Röjfors	tristate "Xilinx I2C Controller"
1268417e86ceSKees Cook	depends on HAS_IOMEM
1269e1d5b659SRichard Röjfors	help
1270e1d5b659SRichard Röjfors	  If you say yes to this option, support will be included for the
1271e1d5b659SRichard Röjfors	  Xilinx I2C controller.
1272e1d5b659SRichard Röjfors
1273e1d5b659SRichard Röjfors	  This driver can also be built as a module.  If so, the module
1274e1d5b659SRichard Röjfors	  will be called xilinx_i2c.
1275e1d5b659SRichard Röjfors
12762bbd681bSSubhendu Sekhar Beheraconfig I2C_XLP9XX
1277ef99066cSRob Herring	tristate "Cavium ThunderX2 I2C support"
1278ef99066cSRob Herring	depends on ARCH_THUNDER2 || COMPILE_TEST
12792bbd681bSSubhendu Sekhar Behera	help
12802bbd681bSSubhendu Sekhar Behera	  This driver enables support for the on-chip I2C interface of
1281ef99066cSRob Herring	  the Cavium ThunderX2 processors. (Originally on Netlogic XLP SoCs.)
12822bbd681bSSubhendu Sekhar Behera
12832bbd681bSSubhendu Sekhar Behera	  This driver can also be built as a module.  If so, the module will
12842bbd681bSSubhendu Sekhar Behera	  be called i2c-xlp9xx.
12852bbd681bSSubhendu Sekhar Behera
12866ccbe607SKuninori Morimotoconfig I2C_RCAR
12876ccbe607SKuninori Morimoto	tristate "Renesas R-Car I2C Controller"
128807316149SSimon Horman	depends on ARCH_RENESAS || COMPILE_TEST
1289d5fd120eSJean Delvare	select I2C_SLAVE
1290c4651f11SWolfram Sang	select I2C_SMBUS
12915d856651SGeert Uytterhoeven	select RESET_CONTROLLER if ARCH_RCAR_GEN3 || ARCH_RCAR_GEN4
12926ccbe607SKuninori Morimoto	help
12936ccbe607SKuninori Morimoto	  If you say yes to this option, support will be included for the
12946ccbe607SKuninori Morimoto	  R-Car I2C controller.
12956ccbe607SKuninori Morimoto
12966ccbe607SKuninori Morimoto	  This driver can also be built as a module.  If so, the module
12976ccbe607SKuninori Morimoto	  will be called i2c-rcar.
12986ccbe607SKuninori Morimoto
1299f5b728a1SJean Delvarecomment "External I2C/SMBus adapter drivers"
1300f5b728a1SJean Delvare
1301335d7c58SGuenter Roeckconfig I2C_DIOLAN_U2C
1302335d7c58SGuenter Roeck	tristate "Diolan U2C-12 USB adapter"
1303335d7c58SGuenter Roeck	depends on USB
1304335d7c58SGuenter Roeck	help
1305335d7c58SGuenter Roeck	  If you say yes to this option, support will be included for Diolan
1306335d7c58SGuenter Roeck	  U2C-12, a USB to I2C interface.
1307335d7c58SGuenter Roeck
1308335d7c58SGuenter Roeck	  This driver can also be built as a module.  If so, the module
1309335d7c58SGuenter Roeck	  will be called i2c-diolan-u2c.
1310335d7c58SGuenter Roeck
1311db23e500SLaurentiu Palcuconfig I2C_DLN2
1312db23e500SLaurentiu Palcu	tristate "Diolan DLN-2 USB I2C adapter"
1313db23e500SLaurentiu Palcu	depends on MFD_DLN2
1314db23e500SLaurentiu Palcu	help
1315db23e500SLaurentiu Palcu	 If you say yes to this option, support will be included for Diolan
1316db23e500SLaurentiu Palcu	 DLN2, a USB to I2C interface.
1317db23e500SLaurentiu Palcu
1318db23e500SLaurentiu Palcu	 This driver can also be built as a module.  If so, the module
1319db23e500SLaurentiu Palcu	 will be called i2c-dln2.
1320db23e500SLaurentiu Palcu
1321bfd3824cSWentong Wuconfig I2C_LJCA
1322bfd3824cSWentong Wu	tristate "I2C functionality of Intel La Jolla Cove Adapter"
1323bfd3824cSWentong Wu	depends on USB_LJCA
1324bfd3824cSWentong Wu	default USB_LJCA
1325bfd3824cSWentong Wu	help
1326bfd3824cSWentong Wu	  If you say yes to this option, I2C functionality support of Intel
1327bfd3824cSWentong Wu	  La Jolla Cove Adapter (LJCA) will be included.
1328bfd3824cSWentong Wu
1329bfd3824cSWentong Wu	  This driver can also be built as a module.  If so, the module
1330bfd3824cSWentong Wu	  will be called i2c-ljca.
1331bfd3824cSWentong Wu
13324a769542SBence Csókásconfig I2C_CP2615
13334a769542SBence Csókás	tristate "Silicon Labs CP2615 USB sound card and I2C adapter"
13344a769542SBence Csókás	depends on USB
13354a769542SBence Csókás	help
13364a769542SBence Csókás	  If you say yes to this option, support will be included for Silicon
13374a769542SBence Csókás	  Labs CP2615's I2C interface.
13384a769542SBence Csókás
13394a769542SBence Csókás	  This driver can also be built as a module.  If so, the module
13404a769542SBence Csókás	  will be called i2c-cp2615.
13414a769542SBence Csókás
13421da177e4SLinus Torvaldsconfig I2C_PARPORT
13431da177e4SLinus Torvalds	tristate "Parallel port adapter"
13440244ad00SMartin Schwidefsky	depends on PARPORT
13451da177e4SLinus Torvalds	select I2C_ALGOBIT
134635859254SJean Delvare	select I2C_SMBUS
13471da177e4SLinus Torvalds	help
13481da177e4SLinus Torvalds	  This supports parallel port I2C adapters such as the ones made by
13491da177e4SLinus Torvalds	  Philips or Velleman, Analog Devices evaluation boards, and more.
13501da177e4SLinus Torvalds	  Basically any adapter using the parallel port as an I2C bus with
1351511f7d54SWolfram Sang	  no extra chipset is supported by this driver, or could be. Please
1352511f7d54SWolfram Sang	  read the file Documentation/i2c/busses/i2c-parport.rst for details.
1353e97b81ddSMark M. Hoffman
13541da177e4SLinus Torvalds	  This support is also available as a module.  If so, the module
13551da177e4SLinus Torvalds	  will be called i2c-parport.
13561da177e4SLinus Torvalds
135736169369STharun Kumar Pconfig I2C_PCI1XXXX
135836169369STharun Kumar P	tristate "PCI1XXXX I2C Host Adapter"
135936169369STharun Kumar P	depends on PCI
136036169369STharun Kumar P	help
136136169369STharun Kumar P	  If you say yes to this option, support will be included for
136236169369STharun Kumar P	  Microchip PCI1XXXX's I2C interface.
136336169369STharun Kumar P
136436169369STharun Kumar P	  This driver can also be built as a module. If so, the module will
136536169369STharun Kumar P	  be called i2c-mchp-pci1xxxx.
136636169369STharun Kumar P
136783e53a8fSAndrew Lunnconfig I2C_ROBOTFUZZ_OSIF
136883e53a8fSAndrew Lunn	tristate "RobotFuzz Open Source InterFace USB adapter"
136983e53a8fSAndrew Lunn	depends on USB
137083e53a8fSAndrew Lunn	help
137183e53a8fSAndrew Lunn	  If you say yes to this option, support will be included for the
137283e53a8fSAndrew Lunn	  RobotFuzz Open Source InterFace USB to I2C interface.
137383e53a8fSAndrew Lunn
137483e53a8fSAndrew Lunn	  This driver can also be built as a module.  If so, the module
137583e53a8fSAndrew Lunn	  will be called i2c-osif.
137683e53a8fSAndrew Lunn
1377f5b728a1SJean Delvareconfig I2C_TAOS_EVM
1378f5b728a1SJean Delvare	tristate "TAOS evaluation module"
137921eaab6dSLinus Torvalds	depends on TTY
1380f5b728a1SJean Delvare	select SERIO
1381f5b728a1SJean Delvare	select SERIO_SERPORT
1382beb58aa3SOlof Johansson	help
1383f5b728a1SJean Delvare	  This supports TAOS evaluation modules on serial port. In order to
1384f5b728a1SJean Delvare	  use this driver, you will need the inputattach tool, which is part
1385f5b728a1SJean Delvare	  of the input-utils package.
1386beb58aa3SOlof Johansson
1387f5b728a1SJean Delvare	  If unsure, say N.
1388f5b728a1SJean Delvare
1389f5b728a1SJean Delvare	  This support is also available as a module.  If so, the module
1390f5b728a1SJean Delvare	  will be called i2c-taos-evm.
1391f5b728a1SJean Delvare
1392f5b728a1SJean Delvareconfig I2C_TINY_USB
1393f5b728a1SJean Delvare	tristate "Tiny-USB adapter"
1394f5b728a1SJean Delvare	depends on USB
13951da177e4SLinus Torvalds	help
1396f5b728a1SJean Delvare	  If you say yes to this option, support will be included for the
1397f5b728a1SJean Delvare	  i2c-tiny-usb, a simple do-it-yourself USB to I2C interface. See
1398f5b728a1SJean Delvare	  http://www.harbaum.org/till/i2c_tiny_usb for hardware details.
1399f5b728a1SJean Delvare
1400f5b728a1SJean Delvare	  This driver can also be built as a module.  If so, the module
1401f5b728a1SJean Delvare	  will be called i2c-tiny-usb.
1402f5b728a1SJean Delvare
1403174a13aaSLars Poeschelconfig I2C_VIPERBOARD
1404174a13aaSLars Poeschel	tristate "Viperboard I2C master support"
1405174a13aaSLars Poeschel	depends on MFD_VIPERBOARD && USB
1406174a13aaSLars Poeschel	help
1407174a13aaSLars Poeschel	  Say yes here to access the I2C part of the Nano River
1408174a13aaSLars Poeschel	  Technologies Viperboard as I2C master.
1409174a13aaSLars Poeschel	  See viperboard API specification and Nano
1410174a13aaSLars Poeschel	  River Tech's viperboard.h for detailed meaning
1411174a13aaSLars Poeschel	  of the module parameters.
1412174a13aaSLars Poeschel
1413f5b728a1SJean Delvarecomment "Other I2C/SMBus bus drivers"
1414f5b728a1SJean Delvare
1415f5b728a1SJean Delvareconfig I2C_ACORN
1416f5b728a1SJean Delvare	tristate "Acorn IOC/IOMD I2C bus support"
1417f5b728a1SJean Delvare	depends on ARCH_ACORN
1418f5b728a1SJean Delvare	default y
1419f5b728a1SJean Delvare	select I2C_ALGOBIT
1420f5b728a1SJean Delvare	help
1421f5b728a1SJean Delvare	  Say yes if you want to support the I2C bus on Acorn platforms.
1422f5b728a1SJean Delvare
1423f5b728a1SJean Delvare	  If you don't know, say Y.
1424f5b728a1SJean Delvare
1425f5b728a1SJean Delvareconfig I2C_ELEKTOR
1426f5b728a1SJean Delvare	tristate "Elektor ISA card"
1427ce816fa8SUwe Kleine-König	depends on ISA && HAS_IOPORT_MAP && BROKEN_ON_SMP
1428f5b728a1SJean Delvare	select I2C_ALGOPCF
1429f5b728a1SJean Delvare	help
1430f5b728a1SJean Delvare	  This supports the PCF8584 ISA bus I2C adapter.  Say Y if you own
1431f5b728a1SJean Delvare	  such an adapter.
1432f5b728a1SJean Delvare
1433f5b728a1SJean Delvare	  This support is also available as a module.  If so, the module
1434f5b728a1SJean Delvare	  will be called i2c-elektor.
1435f5b728a1SJean Delvare
14364768e90eSMax Staudtconfig I2C_ICY
14374768e90eSMax Staudt	tristate "ICY Zorro card"
14384768e90eSMax Staudt	depends on ZORRO
14394768e90eSMax Staudt	select I2C_ALGOPCF
14404768e90eSMax Staudt	help
14414768e90eSMax Staudt	  This supports the PCF8584 Zorro bus I2C adapter, known as ICY.
14424768e90eSMax Staudt	  Say Y if you own such an adapter.
14434768e90eSMax Staudt
14444768e90eSMax Staudt	  This support is also available as a module.  If so, the module
14454768e90eSMax Staudt	  will be called i2c-icy.
14464768e90eSMax Staudt
1447724041aeSMax Staudt	  If you have a 2019 edition board with an LTC2990 sensor at address
1448724041aeSMax Staudt	  0x4c, loading the module 'ltc2990' is sufficient to enable it.
1449724041aeSMax Staudt
14506bec23bfSVadim Pasternakconfig I2C_MLXCPLD
14516bec23bfSVadim Pasternak	tristate "Mellanox I2C driver"
1452b2cacc2eSGeert Uytterhoeven	depends on X86_64 || (ARM64 && ACPI) || COMPILE_TEST
145347c21d2dSNiklas Schnelle	depends on HAS_IOPORT
14546bec23bfSVadim Pasternak	help
14556bec23bfSVadim Pasternak	  This exposes the Mellanox platform I2C busses to the linux I2C layer
1456b2cacc2eSGeert Uytterhoeven	  for X86 and ARM64/ACPI based systems.
14576bec23bfSVadim Pasternak	  Controller is implemented as CPLD logic.
14586bec23bfSVadim Pasternak
14596bec23bfSVadim Pasternak	  This driver can also be built as a module. If so, the module will be
14606bec23bfSVadim Pasternak	  called as i2c-mlxcpld.
14616bec23bfSVadim Pasternak
1462f5b728a1SJean Delvareconfig I2C_PCA_ISA
1463eff9ec95SMarco Aurelio da Costa	tristate "PCA9564/PCA9665 on an ISA bus"
1464f5b728a1SJean Delvare	depends on ISA
1465f5b728a1SJean Delvare	select I2C_ALGOPCA
1466f5b728a1SJean Delvare	help
1467eff9ec95SMarco Aurelio da Costa	  This driver supports ISA boards using the Philips PCA9564/PCA9665
1468f5b728a1SJean Delvare	  parallel bus to I2C bus controller.
1469f5b728a1SJean Delvare
1470f5b728a1SJean Delvare	  This driver can also be built as a module.  If so, the module
1471f5b728a1SJean Delvare	  will be called i2c-pca-isa.
1472f5b728a1SJean Delvare
1473f5b728a1SJean Delvare	  This device is almost undetectable and using this driver on a
1474f5b728a1SJean Delvare	  system which doesn't have this device will result in long
1475f5b728a1SJean Delvare	  delays when I2C/SMBus chip drivers are loaded (e.g. at boot
1476f5b728a1SJean Delvare	  time).  If unsure, say N.
1477f5b728a1SJean Delvare
14781da177e4SLinus Torvaldsconfig I2C_SIBYTE
14791da177e4SLinus Torvalds	tristate "SiByte SMBus interface"
148016538e6bSJan Engelhardt	depends on SIBYTE_SB1xxx_SOC
14811da177e4SLinus Torvalds	help
14821da177e4SLinus Torvalds	  Supports the SiByte SOC on-chip I2C interfaces (2 channels).
14831da177e4SLinus Torvalds
14849d230c9eSDoug Andersonconfig I2C_CROS_EC_TUNNEL
14859d230c9eSDoug Anderson	tristate "ChromeOS EC tunnel I2C bus"
148647f11e0bSEnric Balletbo i Serra	depends on CROS_EC
14879d230c9eSDoug Anderson	help
14889d230c9eSDoug Anderson	  If you say yes here you get an I2C bus that will tunnel i2c commands
14899d230c9eSDoug Anderson	  through to the other side of the ChromeOS EC to the i2c bus
14909d230c9eSDoug Anderson	  connected there. This will work whatever the interface used to
14919d230c9eSDoug Anderson	  talk to the EC (SPI, I2C or LPC).
14929d230c9eSDoug Anderson
1493f6505fbaSFeng Kanconfig I2C_XGENE_SLIMPRO
1494f6505fbaSFeng Kan	tristate "APM X-Gene SoC I2C SLIMpro devices support"
1495f6505fbaSFeng Kan	depends on ARCH_XGENE && MAILBOX
1496f6505fbaSFeng Kan	help
1497f6505fbaSFeng Kan	  Enable I2C bus access using the APM X-Gene SoC SLIMpro
1498f6505fbaSFeng Kan	  co-processor. The I2C device access the I2C bus via the X-Gene
1499f6505fbaSFeng Kan	  to SLIMpro (On chip coprocessor) mailbox mechanism.
1500f6505fbaSFeng Kan	  If unsure, say N.
1501f6505fbaSFeng Kan
15021da177e4SLinus Torvaldsconfig SCx200_ACB
1503a417bbd3SBen Gardner	tristate "Geode ACCESS.bus support"
150416538e6bSJan Engelhardt	depends on X86_32 && PCI
15051da177e4SLinus Torvalds	help
1506a417bbd3SBen Gardner	  Enable the use of the ACCESS.bus controllers on the Geode SCx200 and
1507a417bbd3SBen Gardner	  SC1100 processors and the CS5535 and CS5536 Geode companion devices.
15081da177e4SLinus Torvalds
15091da177e4SLinus Torvalds	  If you don't know what to do here, say N.
15101da177e4SLinus Torvalds
15111da177e4SLinus Torvalds	  This support is also available as a module.  If so, the module
15121da177e4SLinus Torvalds	  will be called scx200_acb.
15131da177e4SLinus Torvalds
151447083450SNeelesh Guptaconfig I2C_OPAL
151547083450SNeelesh Gupta	tristate "IBM OPAL I2C driver"
151647083450SNeelesh Gupta	depends on PPC_POWERNV
151747083450SNeelesh Gupta	default y
151847083450SNeelesh Gupta	help
151947083450SNeelesh Gupta	  This exposes the PowerNV platform i2c busses to the linux i2c layer,
152047083450SNeelesh Gupta	  the driver is based on the OPAL interfaces.
152147083450SNeelesh Gupta
152247083450SNeelesh Gupta	  This driver can also be built as a module. If so, the module will be
152347083450SNeelesh Gupta	  called as i2c-opal.
152447083450SNeelesh Gupta
1525d6ffb630SEddie Jamesconfig I2C_FSI
1526d6ffb630SEddie James	tristate "FSI I2C driver"
1527d6ffb630SEddie James	depends on FSI
1528d6ffb630SEddie James	help
1529d6ffb630SEddie James	  Driver for FSI bus attached I2C masters. These are I2C masters that
1530d6ffb630SEddie James	  are connected to the system over an FSI bus, instead of the more
1531d6ffb630SEddie James	  common PCI or MMIO interface.
1532d6ffb630SEddie James
1533d6ffb630SEddie James	  This driver can also be built as a module. If so, the module will be
1534d6ffb630SEddie James	  called as i2c-fsi.
1535d6ffb630SEddie James
15363cfc8838SJie Dengconfig I2C_VIRTIO
15373cfc8838SJie Deng        tristate "Virtio I2C Adapter"
15383cfc8838SJie Deng        select VIRTIO
15393cfc8838SJie Deng        help
15403cfc8838SJie Deng          If you say yes to this option, support will be included for the virtio
15413cfc8838SJie Deng          I2C adapter driver. The hardware can be emulated by any device model
15423cfc8838SJie Deng          software according to the virtio protocol.
15433cfc8838SJie Deng
15443cfc8838SJie Deng          This driver can also be built as a module. If so, the module
15453cfc8838SJie Deng          will be called i2c-virtio.
15463cfc8838SJie Deng
15471da177e4SLinus Torvaldsendmenu
1548