xref: /linux-6.15/drivers/i2c/busses/Kconfig (revision 5ea55847)
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
7595851a88dSArnd 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
786*5ea55847STroy Mitchellconfig I2C_K1
787*5ea55847STroy Mitchell	tristate "SpacemiT K1 I2C adapter"
788*5ea55847STroy Mitchell	depends on ARCH_SPACEMIT || COMPILE_TEST
789*5ea55847STroy Mitchell	depends on OF
790*5ea55847STroy Mitchell	help
791*5ea55847STroy Mitchell	  This option enables support for the I2C interface on the SpacemiT K1
792*5ea55847STroy Mitchell	  platform.
793*5ea55847STroy Mitchell
794*5ea55847STroy Mitchell	  If you enable this configuration, the kernel will include support for
795*5ea55847STroy Mitchell	  the I2C adapter specific to the SpacemiT K1 platform. This driver can
796*5ea55847STroy Mitchell	  be used to manage I2C bus transactions, which are necessary for
797*5ea55847STroy Mitchell	  interfacing with I2C peripherals such as sensors, EEPROMs, and other
798*5ea55847STroy Mitchell	  devices.
799*5ea55847STroy Mitchell
800*5ea55847STroy Mitchell	  This driver can also be built as a module.  If so, the
801*5ea55847STroy Mitchell	  module will be called `i2c-k1`.
802*5ea55847STroy Mitchell
803c7e08c81SGerhard Englederconfig I2C_KEBA
804c7e08c81SGerhard Engleder	tristate "KEBA I2C controller support"
805c7e08c81SGerhard Engleder	depends on HAS_IOMEM
8066d340541SGeert Uytterhoeven	depends on KEBA_CP500 || COMPILE_TEST
807c7e08c81SGerhard Engleder	select AUXILIARY_BUS
808c7e08c81SGerhard Engleder	help
809c7e08c81SGerhard Engleder	  This driver supports the I2C controller found in KEBA system FPGA
810c7e08c81SGerhard Engleder	  devices.
811c7e08c81SGerhard Engleder
812c7e08c81SGerhard Engleder	  This driver can also be built as a module. If so, the module
813c7e08c81SGerhard Engleder	  will be called i2c-keba.
814c7e08c81SGerhard Engleder
815e0b9b7b0SKevin Strasserconfig I2C_KEMPLD
816e0b9b7b0SKevin Strasser	tristate "Kontron COM I2C Controller"
817e0b9b7b0SKevin Strasser	depends on MFD_KEMPLD
818e0b9b7b0SKevin Strasser	help
819e0b9b7b0SKevin Strasser	  This enables support for the I2C bus interface on some Kontron ETX
820e0b9b7b0SKevin Strasser	  and COMexpress (ETXexpress) modules.
821e0b9b7b0SKevin Strasser
822e0b9b7b0SKevin Strasser	  This driver can also be built as a module. If so, the module
823e0b9b7b0SKevin Strasser	  will be called i2c-kempld.
824e0b9b7b0SKevin Strasser
8253f9c37a0SJoachim Eastwoodconfig I2C_LPC2K
8263f9c37a0SJoachim Eastwood	tristate "I2C bus support for NXP LPC2K/LPC178x/18xx/43xx"
8273f9c37a0SJoachim Eastwood	depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
8283f9c37a0SJoachim Eastwood	help
8293f9c37a0SJoachim Eastwood	  This driver supports the I2C interface found several NXP
8303f9c37a0SJoachim Eastwood	  devices including LPC2xxx, LPC178x/7x and LPC18xx/43xx.
8313f9c37a0SJoachim Eastwood
8323f9c37a0SJoachim Eastwood	  This driver can also be built as a module.  If so, the module
8333f9c37a0SJoachim Eastwood	  will be called i2c-lpc2k.
8343f9c37a0SJoachim Eastwood
835015e61f0SBinbin Zhouconfig I2C_LS2X
836015e61f0SBinbin Zhou	tristate "Loongson LS2X I2C adapter"
837015e61f0SBinbin Zhou	depends on MACH_LOONGSON64 || COMPILE_TEST
838015e61f0SBinbin Zhou	help
839015e61f0SBinbin Zhou	  If you say yes to this option, support will be included for the
840015e61f0SBinbin Zhou	  I2C interface on the Loongson-2K SoCs and Loongson LS7A bridge
841015e61f0SBinbin Zhou	  chip.
842015e61f0SBinbin Zhou
843015e61f0SBinbin Zhou	  This driver can also be built as a module. If so, the module
844015e61f0SBinbin Zhou	  will be called i2c-ls2x.
845015e61f0SBinbin Zhou
846b5b5b320SKhalil Blaiechconfig I2C_MLXBF
847b5b5b320SKhalil Blaiech        tristate "Mellanox BlueField I2C controller"
8489890923bSGeert Uytterhoeven        depends on MELLANOX_PLATFORM && ARM64
84965d78b8dSAdam Borowski	depends on ACPI
850c62dac0aSArnd Bergmann	select I2C_SLAVE
851b5b5b320SKhalil Blaiech        help
852b5b5b320SKhalil Blaiech          Enabling this option will add I2C SMBus support for Mellanox BlueField
853b5b5b320SKhalil Blaiech          system.
854b5b5b320SKhalil Blaiech
855b5b5b320SKhalil Blaiech          This driver can also be built as a module. If so, the module will be
856b5b5b320SKhalil Blaiech          called i2c-mlxbf.
857b5b5b320SKhalil Blaiech
858b5b5b320SKhalil Blaiech          This driver implements an I2C SMBus host controller and enables both
859b5b5b320SKhalil Blaiech          master and slave functions.
860b5b5b320SKhalil Blaiech
86130021e37SBeniamino Galvaniconfig I2C_MESON
86230021e37SBeniamino Galvani	tristate "Amlogic Meson I2C controller"
86391401783SBen Dooks	depends on ARCH_MESON || COMPILE_TEST
8644a2d5f66SKrzysztof Kozlowski	depends on COMMON_CLK
86530021e37SBeniamino Galvani	help
86630021e37SBeniamino Galvani	  If you say yes to this option, support will be included for the
86730021e37SBeniamino Galvani	  I2C interface on the Amlogic Meson family of SoCs.
86830021e37SBeniamino Galvani
86964a6f1c4SConor Dooleyconfig I2C_MICROCHIP_CORE
87064a6f1c4SConor Dooley	tristate "Microchip FPGA I2C controller"
871819c7345SConor Dooley	depends on ARCH_MICROCHIP_POLARFIRE || COMPILE_TEST
87264a6f1c4SConor Dooley	depends on OF
87364a6f1c4SConor Dooley	help
87464a6f1c4SConor Dooley	  If you say yes to this option, support will be included for the
87564a6f1c4SConor Dooley	  I2C interface on Microchip FPGAs.
87664a6f1c4SConor Dooley
87764a6f1c4SConor Dooley	  This driver can also be built as a module. If so, the module will be
87864a6f1c4SConor Dooley	  called i2c-microchip-core.
87964a6f1c4SConor Dooley
8801da177e4SLinus Torvaldsconfig I2C_MPC
881f00d738fSWolfgang Grandegger	tristate "MPC107/824x/85xx/512x/52xx/83xx/86xx"
8820724d464SKumar Gala	depends on PPC
8831da177e4SLinus Torvalds	help
8841da177e4SLinus Torvalds	  If you say yes to this option, support will be included for the
885f00d738fSWolfgang Grandegger	  built-in I2C interface on the MPC107, Tsi107, MPC512x, MPC52xx,
886f00d738fSWolfgang Grandegger	  MPC8240, MPC8245, MPC83xx, MPC85xx and MPC8641 family processors.
8871da177e4SLinus Torvalds
8881da177e4SLinus Torvalds	  This driver can also be built as a module.  If so, the module
8891da177e4SLinus Torvalds	  will be called i2c-mpc.
8901da177e4SLinus Torvalds
891ce38815dSXudong Chenconfig I2C_MT65XX
892ce38815dSXudong Chen	tristate "MediaTek I2C adapter"
893ce38815dSXudong Chen	depends on ARCH_MEDIATEK || COMPILE_TEST
894ce38815dSXudong Chen	help
895ce38815dSXudong Chen	  This selects the MediaTek(R) Integrated Inter Circuit bus driver
896ce38815dSXudong Chen	  for MT65xx and MT81xx.
897ce38815dSXudong Chen	  If you want to use MediaTek(R) I2C interface, say Y or M here.
898ce38815dSXudong Chen	  If unsure, say N.
899ce38815dSXudong Chen
900d04913ecSStefan Roeseconfig I2C_MT7621
901d04913ecSStefan Roese	tristate "MT7621/MT7628 I2C Controller"
902fd6acb0dSLorenzo Bianconi	depends on (RALINK && (SOC_MT7620 || SOC_MT7621)) || ARCH_AIROHA || COMPILE_TEST
903d04913ecSStefan Roese	help
904d04913ecSStefan Roese	  Say Y here to include support for I2C controller in the
905d04913ecSStefan Roese	  MediaTek MT7621/MT7628 SoCs.
906d04913ecSStefan Roese
907f5b728a1SJean Delvareconfig I2C_MV64XXX
908f5b728a1SJean Delvare	tristate "Marvell mv64xxx I2C Controller"
909a329ddd4SChristophe Leroy	depends on PLAT_ORION || ARCH_SUNXI || ARCH_MVEBU || COMPILE_TEST
9101da177e4SLinus Torvalds	help
911f5b728a1SJean Delvare	  If you say yes to this option, support will be included for the
912f5b728a1SJean Delvare	  built-in I2C interface on the Marvell 64xxx line of host bridges.
9133d66ac7dSMaxime Ripard	  This driver is also used for Allwinner SoCs I2C controllers.
9141da177e4SLinus Torvalds
9151da177e4SLinus Torvalds	  This driver can also be built as a module.  If so, the module
916f5b728a1SJean Delvare	  will be called i2c-mv64xxx.
917279e9024SJean Delvare
918a8da7fecSWolfram Sangconfig I2C_MXS
919a8da7fecSWolfram Sang	tristate "Freescale i.MX28 I2C interface"
9204a2d5f66SKrzysztof Kozlowski	depends on SOC_IMX28 || COMPILE_TEST
9216b866c15SWolfram Sang	select STMP_DEVICE
922a8da7fecSWolfram Sang	help
923a8da7fecSWolfram Sang	  Say Y here if you want to use the I2C bus controller on
924a8da7fecSWolfram Sang	  the Freescale i.MX28 processors.
925a8da7fecSWolfram Sang
926a8da7fecSWolfram Sang	  This driver can also be built as a module.  If so, the module
927a8da7fecSWolfram Sang	  will be called i2c-mxs.
928a8da7fecSWolfram Sang
9293f9900f1Ssrinidhi kasagarconfig I2C_NOMADIK
9303f9900f1Ssrinidhi kasagar	tristate "ST-Ericsson Nomadik/Ux500 I2C Controller"
9314d51ac5bSAndi Shyti	depends on ARM_AMBA || COMPILE_TEST
9323f9900f1Ssrinidhi kasagar	help
9333f9900f1Ssrinidhi kasagar	  If you say yes to this option, support will be included for the
934419408edSAlessandro Rubini	  I2C interface from ST-Ericsson's Nomadik and Ux500 architectures,
935419408edSAlessandro Rubini	  as well as the STA2X11 PCIe I/O HUB.
9363f9900f1Ssrinidhi kasagar
937bbc38ed5STyrone Tingconfig I2C_NPCM
93856a1485bSTali Perry	tristate "Nuvoton I2C Controller"
939bbc38ed5STyrone Ting	depends on ARCH_NPCM || COMPILE_TEST
94056a1485bSTali Perry	help
94156a1485bSTali Perry	  If you say yes to this option, support will be included for the
942bbc38ed5STyrone Ting	  Nuvoton I2C controller, which is available on the NPCM BMC
943bbc38ed5STyrone Ting	  controllers.
94456a1485bSTali Perry	  Driver can also support slave mode (select I2C_SLAVE).
94556a1485bSTali Perry
94618f98b1eSPeter Korsgaardconfig I2C_OCORES
94718f98b1eSPeter Korsgaard	tristate "OpenCores I2C Controller"
94818f98b1eSPeter Korsgaard	help
94918f98b1eSPeter Korsgaard	  If you say yes to this option, support will be included for the
95018f98b1eSPeter Korsgaard	  OpenCores I2C controller. For details see
95118f98b1eSPeter Korsgaard	  http://www.opencores.org/projects.cgi/web/i2c/overview
95218f98b1eSPeter Korsgaard
95318f98b1eSPeter Korsgaard	  This driver can also be built as a module.  If so, the module
95418f98b1eSPeter Korsgaard	  will be called i2c-ocores.
95518f98b1eSPeter Korsgaard
956010d442cSKomal Shahconfig I2C_OMAP
957010d442cSKomal Shah	tristate "OMAP I2C adapter"
9584a2d5f66SKrzysztof Kozlowski	depends on ARCH_OMAP || ARCH_K3 || COMPILE_TEST
9590d7bb85eSArnd Bergmann	default MACH_OMAP_OSK
960b6ef830cSJayesh Choudhary	select MULTIPLEXER
961010d442cSKomal Shah	help
962010d442cSKomal Shah	  If you say yes to this option, support will be included for the
963010d442cSKomal Shah	  I2C interface on the Texas Instruments OMAP1/2 family of processors.
964010d442cSKomal Shah	  Like OMAP1510/1610/1710/5912 and OMAP242x.
965010d442cSKomal Shah	  For details see http://www.ti.com/omap.
966010d442cSKomal Shah
967d211e62aSManivannan Sadhasivamconfig I2C_OWL
968d211e62aSManivannan Sadhasivam	tristate "Actions Semiconductor Owl I2C Controller"
969d211e62aSManivannan Sadhasivam	depends on ARCH_ACTIONS || COMPILE_TEST
970d211e62aSManivannan Sadhasivam	help
971d211e62aSManivannan Sadhasivam	  Say Y here if you want to use the I2C bus controller on
972d211e62aSManivannan Sadhasivam	  the Actions Semiconductor Owl SoC's.
973d211e62aSManivannan Sadhasivam
974f5b728a1SJean Delvareconfig I2C_PASEMI
975f5b728a1SJean Delvare	tristate "PA Semi SMBus interface"
976f5b728a1SJean Delvare	depends on PPC_PASEMI && PCI
977f5b728a1SJean Delvare	help
978f5b728a1SJean Delvare	  Supports the PA Semi PWRficient on-chip SMBus interfaces.
979f5b728a1SJean Delvare
980d88ae293SSven Peterconfig I2C_APPLE
981d88ae293SSven Peter	tristate "Apple SMBus platform driver"
982a76d19e6SBenjamin Gray	depends on !I2C_PASEMI
983d88ae293SSven Peter	depends on ARCH_APPLE || COMPILE_TEST
984d88ae293SSven Peter	default ARCH_APPLE
985d88ae293SSven Peter	help
986d88ae293SSven Peter	  Say Y here if you want to use the I2C controller present on Apple
987d88ae293SSven Peter	  Silicon chips such as the M1.
988d88ae293SSven Peter
989d88ae293SSven Peter	  This driver can also be built as a module. If so, the module
990d88ae293SSven Peter	  will be called i2c-apple.
991d88ae293SSven Peter
99235bfc353SWolfram Sangconfig I2C_PCA_PLATFORM
99335bfc353SWolfram Sang	tristate "PCA9564/PCA9665 as platform device"
99435bfc353SWolfram Sang	select I2C_ALGOPCA
99535bfc353SWolfram Sang	help
99635bfc353SWolfram Sang	  This driver supports a memory mapped Philips PCA9564/PCA9665
99735bfc353SWolfram Sang	  parallel bus to I2C bus controller.
99835bfc353SWolfram Sang
99935bfc353SWolfram Sang	  This driver can also be built as a module.  If so, the module
100035bfc353SWolfram Sang	  will be called i2c-pca-platform.
100135bfc353SWolfram Sang
1002f5b728a1SJean Delvareconfig I2C_PNX
1003c115167aSKevin Wells	tristate "I2C bus support for Philips PNX and NXP LPC targets"
10044a2d5f66SKrzysztof Kozlowski	depends on ARCH_LPC32XX || COMPILE_TEST
1005f5b728a1SJean Delvare	help
1006f5b728a1SJean Delvare	  This driver supports the Philips IP3204 I2C IP block master and/or
1007f5b728a1SJean Delvare	  slave controller
1008f5b728a1SJean Delvare
1009f5b728a1SJean Delvare	  This driver can also be built as a module.  If so, the module
1010f5b728a1SJean Delvare	  will be called i2c-pnx.
1011f5b728a1SJean Delvare
1012f5b728a1SJean Delvareconfig I2C_PXA
1013d7c46dddSHaojian Zhuang	tristate "Intel PXA2XX I2C adapter"
10144a2d5f66SKrzysztof Kozlowski	depends on ARCH_PXA || ARCH_MMP || ARCH_MVEBU || (X86_32 && PCI && OF) || COMPILE_TEST
1015f5b728a1SJean Delvare	help
1016f5b728a1SJean Delvare	  If you have devices in the PXA I2C bus, say yes to this option.
1017f5b728a1SJean Delvare	  This driver can also be built as a module.  If so, the module
1018f5b728a1SJean Delvare	  will be called i2c-pxa.
1019f5b728a1SJean Delvare
10207e94dd15SSebastian Andrzej Siewiorconfig I2C_PXA_PCI
10217e94dd15SSebastian Andrzej Siewior	def_bool I2C_PXA && X86_32 && PCI && OF
10227e94dd15SSebastian Andrzej Siewior
1023f5b728a1SJean Delvareconfig I2C_PXA_SLAVE
1024f5b728a1SJean Delvare	bool "Intel PXA2XX I2C Slave comms support"
10257e94dd15SSebastian Andrzej Siewior	depends on I2C_PXA && !X86_32
10264d51b4ceSPatrick Williams	select I2C_SLAVE
1027f5b728a1SJean Delvare	help
1028f5b728a1SJean Delvare	  Support I2C slave mode communications on the PXA I2C bus.  This
1029f5b728a1SJean Delvare	  is necessary for systems where the PXA may be a target on the
1030f5b728a1SJean Delvare	  I2C bus.
1031f5b728a1SJean Delvare
1032e5175261SLoic Poulainconfig I2C_QCOM_CCI
1033e5175261SLoic Poulain	tristate "Qualcomm Camera Control Interface"
1034e5175261SLoic Poulain	depends on ARCH_QCOM || COMPILE_TEST
1035e5175261SLoic Poulain	help
1036e5175261SLoic Poulain	  If you say yes to this option, support will be included for the
1037e5175261SLoic Poulain	  built-in camera control interface on the Qualcomm SoCs.
1038e5175261SLoic Poulain
1039e5175261SLoic Poulain	  This driver can also be built as a module.  If so, the module
1040e5175261SLoic Poulain	  will be called i2c-qcom-cci.
1041e5175261SLoic Poulain
104237692de5SKarthikeyan Ramasubramanianconfig I2C_QCOM_GENI
104337692de5SKarthikeyan Ramasubramanian	tristate "Qualcomm Technologies Inc.'s GENI based I2C controller"
104437692de5SKarthikeyan Ramasubramanian	depends on ARCH_QCOM || COMPILE_TEST
104537692de5SKarthikeyan Ramasubramanian	depends on QCOM_GENI_SE
104637692de5SKarthikeyan Ramasubramanian	help
104737692de5SKarthikeyan Ramasubramanian	  This driver supports GENI serial engine based I2C controller in
104837692de5SKarthikeyan Ramasubramanian	  master mode on the Qualcomm Technologies Inc.'s SoCs. If you say
104937692de5SKarthikeyan Ramasubramanian	  yes to this option, support will be included for the built-in I2C
105037692de5SKarthikeyan Ramasubramanian	  interface on the Qualcomm Technologies Inc.'s SoCs.
105137692de5SKarthikeyan Ramasubramanian
105237692de5SKarthikeyan Ramasubramanian	  This driver can also be built as a module.  If so, the module
105337692de5SKarthikeyan Ramasubramanian	  will be called i2c-qcom-geni.
105437692de5SKarthikeyan Ramasubramanian
105510c5a842SBjorn Anderssonconfig I2C_QUP
105610c5a842SBjorn Andersson	tristate "Qualcomm QUP based I2C controller"
10575de71797SWolfram Sang	depends on ARCH_QCOM || COMPILE_TEST
105810c5a842SBjorn Andersson	help
105910c5a842SBjorn Andersson	  If you say yes to this option, support will be included for the
106010c5a842SBjorn Andersson	  built-in I2C interface on the Qualcomm SoCs.
106110c5a842SBjorn Andersson
106210c5a842SBjorn Andersson	  This driver can also be built as a module.  If so, the module
106310c5a842SBjorn Andersson	  will be called i2c-qup.
106410c5a842SBjorn Andersson
1065310c18a4SWolfram Sangconfig I2C_RIIC
1066310c18a4SWolfram Sang	tristate "Renesas RIIC adapter"
106707316149SSimon Horman	depends on ARCH_RENESAS || COMPILE_TEST
1068310c18a4SWolfram Sang	help
1069310c18a4SWolfram Sang	  If you say yes to this option, support will be included for the
1070310c18a4SWolfram Sang	  Renesas RIIC I2C interface.
1071310c18a4SWolfram Sang
1072310c18a4SWolfram Sang	  This driver can also be built as a module.  If so, the module
1073310c18a4SWolfram Sang	  will be called i2c-riic.
1074310c18a4SWolfram Sang
1075c41aa3ceSMax Schwarzconfig I2C_RK3X
1076c41aa3ceSMax Schwarz	tristate "Rockchip RK3xxx I2C adapter"
107780f1774fSMax Schwarz	depends on OF && COMMON_CLK
1078c41aa3ceSMax Schwarz	help
1079c41aa3ceSMax Schwarz	  Say Y here to include support for the I2C adapter in Rockchip RK3xxx
1080c41aa3ceSMax Schwarz	  SoCs.
1081c41aa3ceSMax Schwarz
1082c41aa3ceSMax Schwarz	  This driver can also be built as a module. If so, the module will
1083c41aa3ceSMax Schwarz	  be called i2c-rk3x.
1084c41aa3ceSMax Schwarz
1085c366be72SChris Packhamconfig I2C_RTL9300
1086c366be72SChris Packham	tristate "Realtek RTL9300 I2C controller"
1087c366be72SChris Packham	depends on MACH_REALTEK_RTL || COMPILE_TEST
1088c366be72SChris Packham	help
1089c366be72SChris Packham	  Say Y here to include support for the I2C controller in Realtek
1090c366be72SChris Packham	  RTL9300 SoCs.
1091c366be72SChris Packham
1092c366be72SChris Packham	  This driver can also be built as a module. If so, the module will
1093c366be72SChris Packham	  be called i2c-rtl9300.
1094c366be72SChris Packham
1095e0ca796aSPhil Edworthyconfig I2C_RZV2M
1096e0ca796aSPhil Edworthy	tristate "Renesas RZ/V2M adapter"
1097e0ca796aSPhil Edworthy	depends on ARCH_RENESAS || COMPILE_TEST
1098e0ca796aSPhil Edworthy	help
1099e0ca796aSPhil Edworthy	  If you say yes to this option, support will be included for the
1100e0ca796aSPhil Edworthy	  Renesas RZ/V2M I2C interface.
1101e0ca796aSPhil Edworthy
1102e0ca796aSPhil Edworthy	  This driver can also be built as a module.  If so, the module
1103e0ca796aSPhil Edworthy	  will be called i2c-rzv2m.
1104e0ca796aSPhil Edworthy
1105f5b728a1SJean Delvareconfig I2C_S3C2410
1106a009310fSKrzysztof Kozlowski	tristate "S3C/Exynos I2C Driver"
11071ea35b35SArnd Bergmann	depends on ARCH_EXYNOS || ARCH_S3C64XX || ARCH_S5PV210 || COMPILE_TEST
1108f5b728a1SJean Delvare	help
1109f5b728a1SJean Delvare	  Say Y here to include support for I2C controller in the
1110a009310fSKrzysztof Kozlowski	  Samsung SoCs (S3C, S5Pv210, Exynos).
1111f5b728a1SJean Delvare
1112f5b728a1SJean Delvareconfig I2C_SH7760
1113f5b728a1SJean Delvare	tristate "Renesas SH7760 I2C Controller"
1114f5b728a1SJean Delvare	depends on CPU_SUBTYPE_SH7760
1115f5b728a1SJean Delvare	help
1116f5b728a1SJean Delvare	  This driver supports the 2 I2C interfaces on the Renesas SH7760.
1117f5b728a1SJean Delvare
1118f5b728a1SJean Delvare	  This driver can also be built as a module.  If so, the module
1119f5b728a1SJean Delvare	  will be called i2c-sh7760.
1120f5b728a1SJean Delvare
1121f5b728a1SJean Delvareconfig I2C_SH_MOBILE
1122f5b728a1SJean Delvare	tristate "SuperH Mobile I2C Controller"
112317f80487SGeert Uytterhoeven	depends on ARCH_SHMOBILE || ARCH_RENESAS || COMPILE_TEST
1124f5b728a1SJean Delvare	help
1125f5b728a1SJean Delvare	  If you say yes to this option, support will be included for the
1126f5b728a1SJean Delvare	  built-in I2C interface on the Renesas SH-Mobile processor.
1127f5b728a1SJean Delvare
1128f5b728a1SJean Delvare	  This driver can also be built as a module.  If so, the module
1129f5b728a1SJean Delvare	  will be called i2c-sh_mobile.
1130f5b728a1SJean Delvare
1131f5b728a1SJean Delvareconfig I2C_SIMTEC
1132f5b728a1SJean Delvare	tristate "Simtec Generic I2C interface"
1133f5b728a1SJean Delvare	select I2C_ALGOBIT
1134f5b728a1SJean Delvare	help
1135f5b728a1SJean Delvare	  If you say yes to this option, support will be included for
1136f5b728a1SJean Delvare	  the Simtec Generic I2C interface. This driver is for the
1137f5b728a1SJean Delvare	  simple I2C bus used on newer Simtec products for general
1138f5b728a1SJean Delvare	  I2C, such as DDC on the Simtec BBD2016A.
1139f5b728a1SJean Delvare
1140f5b728a1SJean Delvare	  This driver can also be built as a module. If so, the module
1141f5b728a1SJean Delvare	  will be called i2c-simtec.
1142f5b728a1SJean Delvare
11438b9ec071SBaolin Wangconfig I2C_SPRD
11444d7802aaSBaolin Wang	tristate "Spreadtrum I2C interface"
11454a2d5f66SKrzysztof Kozlowski	depends on I2C=y && (ARCH_SPRD || COMPILE_TEST)
11469ecd1d2bSKrzysztof Kozlowski	depends on COMMON_CLK
11478b9ec071SBaolin Wang	help
11488b9ec071SBaolin Wang	  If you say yes to this option, support will be included for the
11498b9ec071SBaolin Wang	  Spreadtrum I2C interface.
11508b9ec071SBaolin Wang
115185b4fab2SMaxime COQUELINconfig I2C_ST
115285b4fab2SMaxime COQUELIN	tristate "STMicroelectronics SSC I2C support"
11534a2d5f66SKrzysztof Kozlowski	depends on ARCH_STI || COMPILE_TEST
115485b4fab2SMaxime COQUELIN	help
115585b4fab2SMaxime COQUELIN	  Enable this option to add support for STMicroelectronics SoCs
115685b4fab2SMaxime COQUELIN	  hardware SSC (Synchronous Serial Controller) as an I2C controller.
115785b4fab2SMaxime COQUELIN
115885b4fab2SMaxime COQUELIN	  This driver can also be built as module. If so, the module
115985b4fab2SMaxime COQUELIN	  will be called i2c-st.
116085b4fab2SMaxime COQUELIN
116162817fc8SM'boumba Cedric Madiangaconfig I2C_STM32F4
116262817fc8SM'boumba Cedric Madianga	tristate "STMicroelectronics STM32F4 I2C support"
116362817fc8SM'boumba Cedric Madianga	depends on ARCH_STM32 || COMPILE_TEST
116462817fc8SM'boumba Cedric Madianga	help
116562817fc8SM'boumba Cedric Madianga	  Enable this option to add support for STM32 I2C controller embedded
116662817fc8SM'boumba Cedric Madianga	  in STM32F4 SoCs.
116762817fc8SM'boumba Cedric Madianga
116862817fc8SM'boumba Cedric Madianga	  This driver can also be built as module. If so, the module
116962817fc8SM'boumba Cedric Madianga	  will be called i2c-stm32f4.
117062817fc8SM'boumba Cedric Madianga
1171aeb068c5SPierre-Yves MORDRETconfig I2C_STM32F7
1172aeb068c5SPierre-Yves MORDRET	tristate "STMicroelectronics STM32F7 I2C support"
1173aeb068c5SPierre-Yves MORDRET	depends on ARCH_STM32 || COMPILE_TEST
117460d609f3SPierre-Yves MORDRET	select I2C_SLAVE
11756af07719SAlain Volmat	select I2C_SMBUS
1176aeb068c5SPierre-Yves MORDRET	help
1177aeb068c5SPierre-Yves MORDRET	  Enable this option to add support for STM32 I2C controller embedded
1178aeb068c5SPierre-Yves MORDRET	  in STM32F7 SoCs.
1179aeb068c5SPierre-Yves MORDRET
1180aeb068c5SPierre-Yves MORDRET	  This driver can also be built as module. If so, the module
1181aeb068c5SPierre-Yves MORDRET	  will be called i2c-stm32f7.
1182aeb068c5SPierre-Yves MORDRET
11833e833490SBoris BREZILLONconfig I2C_SUN6I_P2WI
11843e833490SBoris BREZILLON	tristate "Allwinner sun6i internal P2WI controller"
11853e833490SBoris BREZILLON	depends on RESET_CONTROLLER
11863e833490SBoris BREZILLON	depends on MACH_SUN6I || COMPILE_TEST
11873e833490SBoris BREZILLON	help
11883e833490SBoris BREZILLON	  If you say yes to this option, support will be included for the
11893e833490SBoris BREZILLON	  P2WI (Push/Pull 2 Wire Interface) controller embedded in some sunxi
11903e833490SBoris BREZILLON	  SOCs.
11913e833490SBoris BREZILLON	  The P2WI looks like an SMBus controller (which supports only byte
11923e833490SBoris BREZILLON	  accesses), except that it only supports one slave device.
11933e833490SBoris BREZILLON	  This interface is used to connect to specific PMIC devices (like the
11943e833490SBoris BREZILLON	  AXP221).
11953e833490SBoris BREZILLON
11960d676a6cSArd Biesheuvelconfig I2C_SYNQUACER
11970d676a6cSArd Biesheuvel	tristate "Socionext SynQuacer I2C controller"
11980d676a6cSArd Biesheuvel	depends on ARCH_SYNQUACER || COMPILE_TEST
11990d676a6cSArd Biesheuvel	help
12000d676a6cSArd Biesheuvel	  Say Y here to include support for the I2C controller used in some
12010d676a6cSArd Biesheuvel	  Fujitsu and Socionext SoCs.
12020d676a6cSArd Biesheuvel
12030d676a6cSArd Biesheuvel	  This driver can also be built as a module. If so, the module
12040d676a6cSArd Biesheuvel	  will be called i2c-synquacer.
12050d676a6cSArd Biesheuvel
1206db811ca0SColin Crossconfig I2C_TEGRA
1207db811ca0SColin Cross	tristate "NVIDIA Tegra internal I2C controller"
12084a2d5f66SKrzysztof Kozlowski	depends on ARCH_TEGRA || (COMPILE_TEST && (ARC || ARM || ARM64 || M68K || RISCV || SUPERH || SPARC))
12094a2d5f66SKrzysztof Kozlowski	# COMPILE_TEST needs architectures with readsX()/writesX() primitives
1210db811ca0SColin Cross	help
1211db811ca0SColin Cross	  If you say yes to this option, support will be included for the
1212db811ca0SColin Cross	  I2C controller embedded in NVIDIA Tegra SOCs
1213db811ca0SColin Cross
12140297ffa6SShardar Shariff Mdconfig I2C_TEGRA_BPMP
12150297ffa6SShardar Shariff Md	tristate "NVIDIA Tegra BPMP I2C controller"
12164a2d5f66SKrzysztof Kozlowski	depends on TEGRA_BPMP || COMPILE_TEST
12174a2d5f66SKrzysztof Kozlowski	default y if TEGRA_BPMP
12180297ffa6SShardar Shariff Md	help
12190297ffa6SShardar Shariff Md	  If you say yes to this option, support will be included for the I2C
12200297ffa6SShardar Shariff Md	  controller embedded in NVIDIA Tegra SoCs accessed via the BPMP.
12210297ffa6SShardar Shariff Md
12220297ffa6SShardar Shariff Md	  This I2C driver is a 'virtual' I2C driver. The real driver is part
12230297ffa6SShardar Shariff Md	  of the BPMP firmware, and this driver merely communicates with that
12240297ffa6SShardar Shariff Md	  real driver.
12250297ffa6SShardar Shariff Md
1226dd6fd4a3SMasahiro Yamadaconfig I2C_UNIPHIER
1227dd6fd4a3SMasahiro Yamada	tristate "UniPhier FIFO-less I2C controller"
122861c18aebSMasahiro Yamada	depends on ARCH_UNIPHIER || COMPILE_TEST
1229dd6fd4a3SMasahiro Yamada	help
1230dd6fd4a3SMasahiro Yamada	  If you say yes to this option, support will be included for
1231dd6fd4a3SMasahiro Yamada	  the UniPhier FIFO-less I2C interface embedded in PH1-LD4, PH1-sLD8,
1232dd6fd4a3SMasahiro Yamada	  or older UniPhier SoCs.
1233dd6fd4a3SMasahiro Yamada
12346a62974bSMasahiro Yamadaconfig I2C_UNIPHIER_F
12356a62974bSMasahiro Yamada	tristate "UniPhier FIFO-builtin I2C controller"
123661c18aebSMasahiro Yamada	depends on ARCH_UNIPHIER || COMPILE_TEST
12376a62974bSMasahiro Yamada	help
12386a62974bSMasahiro Yamada	  If you say yes to this option, support will be included for
12396a62974bSMasahiro Yamada	  the UniPhier FIFO-builtin I2C interface embedded in PH1-Pro4,
12406a62974bSMasahiro Yamada	  PH1-Pro5, or newer UniPhier SoCs.
12416a62974bSMasahiro Yamada
1242f5b728a1SJean Delvareconfig I2C_VERSATILE
1243f5b728a1SJean Delvare	tristate "ARM Versatile/Realview I2C bus support"
12445871a153SRussell King	depends on ARCH_MPS2 || ARCH_VERSATILE || ARCH_REALVIEW || ARCH_VEXPRESS || COMPILE_TEST
1245f5b728a1SJean Delvare	select I2C_ALGOBIT
1246f5b728a1SJean Delvare	help
1247f5b728a1SJean Delvare	  Say yes if you want to support the I2C serial bus on ARMs Versatile
1248f5b728a1SJean Delvare	  range of platforms.
1249f5b728a1SJean Delvare
1250f5b728a1SJean Delvare	  This driver can also be built as a module.  If so, the module
1251f5b728a1SJean Delvare	  will be called i2c-versatile.
1252f5b728a1SJean Delvare
1253560746ebSTony Priskconfig I2C_WMT
1254560746ebSTony Prisk	tristate "Wondermedia WM8xxx SoC I2C bus support"
12554a2d5f66SKrzysztof Kozlowski	depends on ARCH_VT8500 || COMPILE_TEST
1256560746ebSTony Prisk	help
1257560746ebSTony Prisk	  Say yes if you want to support the I2C bus on Wondermedia 8xxx-series
1258560746ebSTony Prisk	  SoCs.
1259560746ebSTony Prisk
1260560746ebSTony Prisk	  This driver can also be built as a module. If so, the module will be
1261560746ebSTony Prisk	  called i2c-wmt.
1262560746ebSTony Prisk
126385660f43SRade Bozicconfig I2C_OCTEON
126485660f43SRade Bozic	tristate "Cavium OCTEON I2C bus support"
12659ddebc46SDavid Daney	depends on CAVIUM_OCTEON_SOC
126685660f43SRade Bozic	help
126785660f43SRade Bozic	  Say yes if you want to support the I2C serial bus on Cavium
126885660f43SRade Bozic	  OCTEON SOC.
126985660f43SRade Bozic
127085660f43SRade Bozic	  This driver can also be built as a module.  If so, the module
127185660f43SRade Bozic	  will be called i2c-octeon.
127285660f43SRade Bozic
127322d40209SJan Glauberconfig I2C_THUNDERX
127422d40209SJan Glauber	tristate "Cavium ThunderX I2C bus support"
127522d40209SJan Glauber	depends on 64BIT && PCI && (ARM64 || COMPILE_TEST)
12761e586671SJan Glauber	select I2C_SMBUS
127722d40209SJan Glauber	help
127822d40209SJan Glauber	  Say yes if you want to support the I2C serial bus on Cavium
127922d40209SJan Glauber	  ThunderX SOC.
128022d40209SJan Glauber
128122d40209SJan Glauber	  This driver can also be built as a module.  If so, the module
128222d40209SJan Glauber	  will be called i2c-thunderx.
128322d40209SJan Glauber
1284e1d5b659SRichard Röjforsconfig I2C_XILINX
1285e1d5b659SRichard Röjfors	tristate "Xilinx I2C Controller"
1286417e86ceSKees Cook	depends on HAS_IOMEM
1287e1d5b659SRichard Röjfors	help
1288e1d5b659SRichard Röjfors	  If you say yes to this option, support will be included for the
1289e1d5b659SRichard Röjfors	  Xilinx I2C controller.
1290e1d5b659SRichard Röjfors
1291e1d5b659SRichard Röjfors	  This driver can also be built as a module.  If so, the module
1292e1d5b659SRichard Röjfors	  will be called xilinx_i2c.
1293e1d5b659SRichard Röjfors
12942bbd681bSSubhendu Sekhar Beheraconfig I2C_XLP9XX
1295ef99066cSRob Herring	tristate "Cavium ThunderX2 I2C support"
1296ef99066cSRob Herring	depends on ARCH_THUNDER2 || COMPILE_TEST
12972bbd681bSSubhendu Sekhar Behera	help
12982bbd681bSSubhendu Sekhar Behera	  This driver enables support for the on-chip I2C interface of
1299ef99066cSRob Herring	  the Cavium ThunderX2 processors. (Originally on Netlogic XLP SoCs.)
13002bbd681bSSubhendu Sekhar Behera
13012bbd681bSSubhendu Sekhar Behera	  This driver can also be built as a module.  If so, the module will
13022bbd681bSSubhendu Sekhar Behera	  be called i2c-xlp9xx.
13032bbd681bSSubhendu Sekhar Behera
13046ccbe607SKuninori Morimotoconfig I2C_RCAR
13056ccbe607SKuninori Morimoto	tristate "Renesas R-Car I2C Controller"
130607316149SSimon Horman	depends on ARCH_RENESAS || COMPILE_TEST
1307d5fd120eSJean Delvare	select I2C_SLAVE
1308c4651f11SWolfram Sang	select I2C_SMBUS
13095d856651SGeert Uytterhoeven	select RESET_CONTROLLER if ARCH_RCAR_GEN3 || ARCH_RCAR_GEN4
13106ccbe607SKuninori Morimoto	help
13116ccbe607SKuninori Morimoto	  If you say yes to this option, support will be included for the
13126ccbe607SKuninori Morimoto	  R-Car I2C controller.
13136ccbe607SKuninori Morimoto
13146ccbe607SKuninori Morimoto	  This driver can also be built as a module.  If so, the module
13156ccbe607SKuninori Morimoto	  will be called i2c-rcar.
13166ccbe607SKuninori Morimoto
1317f5b728a1SJean Delvarecomment "External I2C/SMBus adapter drivers"
1318f5b728a1SJean Delvare
1319335d7c58SGuenter Roeckconfig I2C_DIOLAN_U2C
1320335d7c58SGuenter Roeck	tristate "Diolan U2C-12 USB adapter"
1321335d7c58SGuenter Roeck	depends on USB
1322335d7c58SGuenter Roeck	help
1323335d7c58SGuenter Roeck	  If you say yes to this option, support will be included for Diolan
1324335d7c58SGuenter Roeck	  U2C-12, a USB to I2C interface.
1325335d7c58SGuenter Roeck
1326335d7c58SGuenter Roeck	  This driver can also be built as a module.  If so, the module
1327335d7c58SGuenter Roeck	  will be called i2c-diolan-u2c.
1328335d7c58SGuenter Roeck
1329db23e500SLaurentiu Palcuconfig I2C_DLN2
1330db23e500SLaurentiu Palcu	tristate "Diolan DLN-2 USB I2C adapter"
1331db23e500SLaurentiu Palcu	depends on MFD_DLN2
1332db23e500SLaurentiu Palcu	help
1333db23e500SLaurentiu Palcu	 If you say yes to this option, support will be included for Diolan
1334db23e500SLaurentiu Palcu	 DLN2, a USB to I2C interface.
1335db23e500SLaurentiu Palcu
1336db23e500SLaurentiu Palcu	 This driver can also be built as a module.  If so, the module
1337db23e500SLaurentiu Palcu	 will be called i2c-dln2.
1338db23e500SLaurentiu Palcu
1339bfd3824cSWentong Wuconfig I2C_LJCA
1340bfd3824cSWentong Wu	tristate "I2C functionality of Intel La Jolla Cove Adapter"
1341bfd3824cSWentong Wu	depends on USB_LJCA
1342bfd3824cSWentong Wu	default USB_LJCA
1343bfd3824cSWentong Wu	help
1344bfd3824cSWentong Wu	  If you say yes to this option, I2C functionality support of Intel
1345bfd3824cSWentong Wu	  La Jolla Cove Adapter (LJCA) will be included.
1346bfd3824cSWentong Wu
1347bfd3824cSWentong Wu	  This driver can also be built as a module.  If so, the module
1348bfd3824cSWentong Wu	  will be called i2c-ljca.
1349bfd3824cSWentong Wu
13504a769542SBence Csókásconfig I2C_CP2615
13514a769542SBence Csókás	tristate "Silicon Labs CP2615 USB sound card and I2C adapter"
13524a769542SBence Csókás	depends on USB
13534a769542SBence Csókás	help
13544a769542SBence Csókás	  If you say yes to this option, support will be included for Silicon
13554a769542SBence Csókás	  Labs CP2615's I2C interface.
13564a769542SBence Csókás
13574a769542SBence Csókás	  This driver can also be built as a module.  If so, the module
13584a769542SBence Csókás	  will be called i2c-cp2615.
13594a769542SBence Csókás
13601da177e4SLinus Torvaldsconfig I2C_PARPORT
13611da177e4SLinus Torvalds	tristate "Parallel port adapter"
13620244ad00SMartin Schwidefsky	depends on PARPORT
13631da177e4SLinus Torvalds	select I2C_ALGOBIT
136435859254SJean Delvare	select I2C_SMBUS
13651da177e4SLinus Torvalds	help
13661da177e4SLinus Torvalds	  This supports parallel port I2C adapters such as the ones made by
13671da177e4SLinus Torvalds	  Philips or Velleman, Analog Devices evaluation boards, and more.
13681da177e4SLinus Torvalds	  Basically any adapter using the parallel port as an I2C bus with
1369511f7d54SWolfram Sang	  no extra chipset is supported by this driver, or could be. Please
1370511f7d54SWolfram Sang	  read the file Documentation/i2c/busses/i2c-parport.rst for details.
1371e97b81ddSMark M. Hoffman
13721da177e4SLinus Torvalds	  This support is also available as a module.  If so, the module
13731da177e4SLinus Torvalds	  will be called i2c-parport.
13741da177e4SLinus Torvalds
137536169369STharun Kumar Pconfig I2C_PCI1XXXX
137636169369STharun Kumar P	tristate "PCI1XXXX I2C Host Adapter"
137736169369STharun Kumar P	depends on PCI
137836169369STharun Kumar P	help
137936169369STharun Kumar P	  If you say yes to this option, support will be included for
138036169369STharun Kumar P	  Microchip PCI1XXXX's I2C interface.
138136169369STharun Kumar P
138236169369STharun Kumar P	  This driver can also be built as a module. If so, the module will
138336169369STharun Kumar P	  be called i2c-mchp-pci1xxxx.
138436169369STharun Kumar P
138583e53a8fSAndrew Lunnconfig I2C_ROBOTFUZZ_OSIF
138683e53a8fSAndrew Lunn	tristate "RobotFuzz Open Source InterFace USB adapter"
138783e53a8fSAndrew Lunn	depends on USB
138883e53a8fSAndrew Lunn	help
138983e53a8fSAndrew Lunn	  If you say yes to this option, support will be included for the
139083e53a8fSAndrew Lunn	  RobotFuzz Open Source InterFace USB to I2C interface.
139183e53a8fSAndrew Lunn
139283e53a8fSAndrew Lunn	  This driver can also be built as a module.  If so, the module
139383e53a8fSAndrew Lunn	  will be called i2c-osif.
139483e53a8fSAndrew Lunn
1395f5b728a1SJean Delvareconfig I2C_TAOS_EVM
1396f5b728a1SJean Delvare	tristate "TAOS evaluation module"
139721eaab6dSLinus Torvalds	depends on TTY
1398f5b728a1SJean Delvare	select SERIO
1399f5b728a1SJean Delvare	select SERIO_SERPORT
1400beb58aa3SOlof Johansson	help
1401f5b728a1SJean Delvare	  This supports TAOS evaluation modules on serial port. In order to
1402f5b728a1SJean Delvare	  use this driver, you will need the inputattach tool, which is part
1403f5b728a1SJean Delvare	  of the input-utils package.
1404beb58aa3SOlof Johansson
1405f5b728a1SJean Delvare	  If unsure, say N.
1406f5b728a1SJean Delvare
1407f5b728a1SJean Delvare	  This support is also available as a module.  If so, the module
1408f5b728a1SJean Delvare	  will be called i2c-taos-evm.
1409f5b728a1SJean Delvare
1410f5b728a1SJean Delvareconfig I2C_TINY_USB
1411f5b728a1SJean Delvare	tristate "Tiny-USB adapter"
1412f5b728a1SJean Delvare	depends on USB
14131da177e4SLinus Torvalds	help
1414f5b728a1SJean Delvare	  If you say yes to this option, support will be included for the
1415f5b728a1SJean Delvare	  i2c-tiny-usb, a simple do-it-yourself USB to I2C interface. See
1416f5b728a1SJean Delvare	  http://www.harbaum.org/till/i2c_tiny_usb for hardware details.
1417f5b728a1SJean Delvare
1418f5b728a1SJean Delvare	  This driver can also be built as a module.  If so, the module
1419f5b728a1SJean Delvare	  will be called i2c-tiny-usb.
1420f5b728a1SJean Delvare
1421174a13aaSLars Poeschelconfig I2C_VIPERBOARD
1422174a13aaSLars Poeschel	tristate "Viperboard I2C master support"
1423174a13aaSLars Poeschel	depends on MFD_VIPERBOARD && USB
1424174a13aaSLars Poeschel	help
1425174a13aaSLars Poeschel	  Say yes here to access the I2C part of the Nano River
1426174a13aaSLars Poeschel	  Technologies Viperboard as I2C master.
1427174a13aaSLars Poeschel	  See viperboard API specification and Nano
1428174a13aaSLars Poeschel	  River Tech's viperboard.h for detailed meaning
1429174a13aaSLars Poeschel	  of the module parameters.
1430174a13aaSLars Poeschel
1431f5b728a1SJean Delvarecomment "Other I2C/SMBus bus drivers"
1432f5b728a1SJean Delvare
1433f5b728a1SJean Delvareconfig I2C_ACORN
1434f5b728a1SJean Delvare	tristate "Acorn IOC/IOMD I2C bus support"
1435f5b728a1SJean Delvare	depends on ARCH_ACORN
1436f5b728a1SJean Delvare	default y
1437f5b728a1SJean Delvare	select I2C_ALGOBIT
1438f5b728a1SJean Delvare	help
1439f5b728a1SJean Delvare	  Say yes if you want to support the I2C bus on Acorn platforms.
1440f5b728a1SJean Delvare
1441f5b728a1SJean Delvare	  If you don't know, say Y.
1442f5b728a1SJean Delvare
1443f5b728a1SJean Delvareconfig I2C_ELEKTOR
1444f5b728a1SJean Delvare	tristate "Elektor ISA card"
1445ce816fa8SUwe Kleine-König	depends on ISA && HAS_IOPORT_MAP && BROKEN_ON_SMP
1446f5b728a1SJean Delvare	select I2C_ALGOPCF
1447f5b728a1SJean Delvare	help
1448f5b728a1SJean Delvare	  This supports the PCF8584 ISA bus I2C adapter.  Say Y if you own
1449f5b728a1SJean Delvare	  such an adapter.
1450f5b728a1SJean Delvare
1451f5b728a1SJean Delvare	  This support is also available as a module.  If so, the module
1452f5b728a1SJean Delvare	  will be called i2c-elektor.
1453f5b728a1SJean Delvare
14544768e90eSMax Staudtconfig I2C_ICY
14554768e90eSMax Staudt	tristate "ICY Zorro card"
14564768e90eSMax Staudt	depends on ZORRO
14574768e90eSMax Staudt	select I2C_ALGOPCF
14584768e90eSMax Staudt	help
14594768e90eSMax Staudt	  This supports the PCF8584 Zorro bus I2C adapter, known as ICY.
14604768e90eSMax Staudt	  Say Y if you own such an adapter.
14614768e90eSMax Staudt
14624768e90eSMax Staudt	  This support is also available as a module.  If so, the module
14634768e90eSMax Staudt	  will be called i2c-icy.
14644768e90eSMax Staudt
1465724041aeSMax Staudt	  If you have a 2019 edition board with an LTC2990 sensor at address
1466724041aeSMax Staudt	  0x4c, loading the module 'ltc2990' is sufficient to enable it.
1467724041aeSMax Staudt
14686bec23bfSVadim Pasternakconfig I2C_MLXCPLD
14696bec23bfSVadim Pasternak	tristate "Mellanox I2C driver"
1470b2cacc2eSGeert Uytterhoeven	depends on X86_64 || (ARM64 && ACPI) || COMPILE_TEST
147147c21d2dSNiklas Schnelle	depends on HAS_IOPORT
14726bec23bfSVadim Pasternak	help
14736bec23bfSVadim Pasternak	  This exposes the Mellanox platform I2C busses to the linux I2C layer
1474b2cacc2eSGeert Uytterhoeven	  for X86 and ARM64/ACPI based systems.
14756bec23bfSVadim Pasternak	  Controller is implemented as CPLD logic.
14766bec23bfSVadim Pasternak
14776bec23bfSVadim Pasternak	  This driver can also be built as a module. If so, the module will be
14786bec23bfSVadim Pasternak	  called as i2c-mlxcpld.
14796bec23bfSVadim Pasternak
1480f5b728a1SJean Delvareconfig I2C_PCA_ISA
1481eff9ec95SMarco Aurelio da Costa	tristate "PCA9564/PCA9665 on an ISA bus"
1482f5b728a1SJean Delvare	depends on ISA
1483f5b728a1SJean Delvare	select I2C_ALGOPCA
1484f5b728a1SJean Delvare	help
1485eff9ec95SMarco Aurelio da Costa	  This driver supports ISA boards using the Philips PCA9564/PCA9665
1486f5b728a1SJean Delvare	  parallel bus to I2C bus controller.
1487f5b728a1SJean Delvare
1488f5b728a1SJean Delvare	  This driver can also be built as a module.  If so, the module
1489f5b728a1SJean Delvare	  will be called i2c-pca-isa.
1490f5b728a1SJean Delvare
1491f5b728a1SJean Delvare	  This device is almost undetectable and using this driver on a
1492f5b728a1SJean Delvare	  system which doesn't have this device will result in long
1493f5b728a1SJean Delvare	  delays when I2C/SMBus chip drivers are loaded (e.g. at boot
1494f5b728a1SJean Delvare	  time).  If unsure, say N.
1495f5b728a1SJean Delvare
14961da177e4SLinus Torvaldsconfig I2C_SIBYTE
14971da177e4SLinus Torvalds	tristate "SiByte SMBus interface"
149816538e6bSJan Engelhardt	depends on SIBYTE_SB1xxx_SOC
14991da177e4SLinus Torvalds	help
15001da177e4SLinus Torvalds	  Supports the SiByte SOC on-chip I2C interfaces (2 channels).
15011da177e4SLinus Torvalds
15029d230c9eSDoug Andersonconfig I2C_CROS_EC_TUNNEL
15039d230c9eSDoug Anderson	tristate "ChromeOS EC tunnel I2C bus"
150447f11e0bSEnric Balletbo i Serra	depends on CROS_EC
15059d230c9eSDoug Anderson	help
15069d230c9eSDoug Anderson	  If you say yes here you get an I2C bus that will tunnel i2c commands
15079d230c9eSDoug Anderson	  through to the other side of the ChromeOS EC to the i2c bus
15089d230c9eSDoug Anderson	  connected there. This will work whatever the interface used to
15099d230c9eSDoug Anderson	  talk to the EC (SPI, I2C or LPC).
15109d230c9eSDoug Anderson
1511f6505fbaSFeng Kanconfig I2C_XGENE_SLIMPRO
1512f6505fbaSFeng Kan	tristate "APM X-Gene SoC I2C SLIMpro devices support"
1513f6505fbaSFeng Kan	depends on ARCH_XGENE && MAILBOX
1514f6505fbaSFeng Kan	help
1515f6505fbaSFeng Kan	  Enable I2C bus access using the APM X-Gene SoC SLIMpro
1516f6505fbaSFeng Kan	  co-processor. The I2C device access the I2C bus via the X-Gene
1517f6505fbaSFeng Kan	  to SLIMpro (On chip coprocessor) mailbox mechanism.
1518f6505fbaSFeng Kan	  If unsure, say N.
1519f6505fbaSFeng Kan
15201da177e4SLinus Torvaldsconfig SCx200_ACB
1521a417bbd3SBen Gardner	tristate "Geode ACCESS.bus support"
152216538e6bSJan Engelhardt	depends on X86_32 && PCI
15231da177e4SLinus Torvalds	help
1524a417bbd3SBen Gardner	  Enable the use of the ACCESS.bus controllers on the Geode SCx200 and
1525a417bbd3SBen Gardner	  SC1100 processors and the CS5535 and CS5536 Geode companion devices.
15261da177e4SLinus Torvalds
15271da177e4SLinus Torvalds	  If you don't know what to do here, say N.
15281da177e4SLinus Torvalds
15291da177e4SLinus Torvalds	  This support is also available as a module.  If so, the module
15301da177e4SLinus Torvalds	  will be called scx200_acb.
15311da177e4SLinus Torvalds
153247083450SNeelesh Guptaconfig I2C_OPAL
153347083450SNeelesh Gupta	tristate "IBM OPAL I2C driver"
153447083450SNeelesh Gupta	depends on PPC_POWERNV
153547083450SNeelesh Gupta	default y
153647083450SNeelesh Gupta	help
153747083450SNeelesh Gupta	  This exposes the PowerNV platform i2c busses to the linux i2c layer,
153847083450SNeelesh Gupta	  the driver is based on the OPAL interfaces.
153947083450SNeelesh Gupta
154047083450SNeelesh Gupta	  This driver can also be built as a module. If so, the module will be
154147083450SNeelesh Gupta	  called as i2c-opal.
154247083450SNeelesh Gupta
1543d6ffb630SEddie Jamesconfig I2C_FSI
1544d6ffb630SEddie James	tristate "FSI I2C driver"
1545d6ffb630SEddie James	depends on FSI
1546d6ffb630SEddie James	help
1547d6ffb630SEddie James	  Driver for FSI bus attached I2C masters. These are I2C masters that
1548d6ffb630SEddie James	  are connected to the system over an FSI bus, instead of the more
1549d6ffb630SEddie James	  common PCI or MMIO interface.
1550d6ffb630SEddie James
1551d6ffb630SEddie James	  This driver can also be built as a module. If so, the module will be
1552d6ffb630SEddie James	  called as i2c-fsi.
1553d6ffb630SEddie James
15543cfc8838SJie Dengconfig I2C_VIRTIO
15553cfc8838SJie Deng        tristate "Virtio I2C Adapter"
15563cfc8838SJie Deng        select VIRTIO
15573cfc8838SJie Deng        help
15583cfc8838SJie Deng          If you say yes to this option, support will be included for the virtio
15593cfc8838SJie Deng          I2C adapter driver. The hardware can be emulated by any device model
15603cfc8838SJie Deng          software according to the virtio protocol.
15613cfc8838SJie Deng
15623cfc8838SJie Deng          This driver can also be built as a module. If so, the module
15633cfc8838SJie Deng          will be called i2c-virtio.
15643cfc8838SJie Deng
15651da177e4SLinus Torvaldsendmenu
1566