xref: /linux/drivers/i2c/busses/Kconfig (revision ec2e0fb07d789976c601bec19ecced7a501c3705)
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)
168*cb3005d4SJarkko Nikula	    Wildcat Lake (SOC)
169f5b728a1SJean Delvare
170f5b728a1SJean Delvare	  This driver can also be built as a module.  If so, the module
171f5b728a1SJean Delvare	  will be called i2c-i801.
172f5b728a1SJean Delvare
1739c535237SHeiner Kallweitconfig I2C_I801_MUX
1749c535237SHeiner Kallweit	def_bool I2C_I801
1759c535237SHeiner Kallweit	depends on DMI && I2C_MUX_GPIO
1769c535237SHeiner Kallweit	depends on !(I2C_I801=y && I2C_MUX=m)
1779c535237SHeiner Kallweit	help
1789c535237SHeiner Kallweit	  Optional support for multiplexed SMBUS on certain systems with
1799c535237SHeiner Kallweit	  more than 8 memory slots.
1809c535237SHeiner Kallweit
1815bc12008SAlek Duconfig I2C_ISCH
1825bc12008SAlek Du	tristate "Intel SCH SMBus 1.0"
18347c21d2dSNiklas Schnelle	depends on PCI && HAS_IOPORT
184fd46a006SDenis Turischev	select LPC_SCH
1855bc12008SAlek Du	help
1865bc12008SAlek Du	  Say Y here if you want to use SMBus controller on the Intel SCH
1875bc12008SAlek Du	  based systems.
1885bc12008SAlek Du
1895bc12008SAlek Du	  This driver can also be built as a module. If so, the module
1905bc12008SAlek Du	  will be called i2c-isch.
1915bc12008SAlek Du
19213f35ac1SNeil Hormanconfig I2C_ISMT
19313f35ac1SNeil Horman	tristate "Intel iSMT SMBus Controller"
19413f35ac1SNeil Horman	depends on PCI && X86
19513f35ac1SNeil Horman	help
19613f35ac1SNeil Horman	  If you say yes to this option, support will be included for the Intel
19713f35ac1SNeil Horman	  iSMT SMBus host controller interface.
19813f35ac1SNeil Horman
19913f35ac1SNeil Horman	  This driver can also be built as a module.  If so, the module will be
20013f35ac1SNeil Horman	  called i2c-ismt.
20113f35ac1SNeil Horman
202f5b728a1SJean Delvareconfig I2C_PIIX4
20376b3e28fSCrane Cai	tristate "Intel PIIX4 and compatible (ATI/AMD/Serverworks/Broadcom/SMSC)"
204af14ed3fSMario Limonciello	depends on PCI && HAS_IOPORT
205de4f2f52SThomas Weißschuh	select I2C_SMBUS
206f5b728a1SJean Delvare	help
207f5b728a1SJean Delvare	  If you say yes to this option, support will be included for the Intel
208f5b728a1SJean Delvare	  PIIX4 family of mainboard I2C interfaces.  Specifically, the following
209f5b728a1SJean Delvare	  versions of the chipset are supported (note that Serverworks is part
210f5b728a1SJean Delvare	  of Broadcom):
211f5b728a1SJean Delvare	    Intel PIIX4
212f5b728a1SJean Delvare	    Intel 440MX
213f5b728a1SJean Delvare	    ATI IXP200
214f5b728a1SJean Delvare	    ATI IXP300
215f5b728a1SJean Delvare	    ATI IXP400
216f5b728a1SJean Delvare	    ATI SB600
2172a2f7404SAndrew Armenia	    ATI SB700/SP5100
218f5b728a1SJean Delvare	    ATI SB800
2193806e94bSCrane Cai	    AMD Hudson-2
220032f708bSShane Huang	    AMD ML
221b996ac90SShane Huang	    AMD CZ
22224beb83aSPu Wen	    Hygon CZ
223f5b728a1SJean Delvare	    Serverworks OSB4
224f5b728a1SJean Delvare	    Serverworks CSB5
225f5b728a1SJean Delvare	    Serverworks CSB6
226f5b728a1SJean Delvare	    Serverworks HT-1000
227506a8b6cSFlavio Leitner	    Serverworks HT-1100
228f5b728a1SJean Delvare	    SMSC Victory66
229f5b728a1SJean Delvare
2302a2f7404SAndrew Armenia	  Some AMD chipsets contain two PIIX4-compatible SMBus
2312a2f7404SAndrew Armenia	  controllers. This driver will attempt to use both controllers
2322a2f7404SAndrew Armenia	  on the SB700/SP5100, if they have been initialized by the BIOS.
2332a2f7404SAndrew Armenia
234f5b728a1SJean Delvare	  This driver can also be built as a module.  If so, the module
235f5b728a1SJean Delvare	  will be called i2c-piix4.
236f5b728a1SJean Delvare
23717a924bfSHans de Goedeconfig I2C_CHT_WC
23817a924bfSHans de Goede	tristate "Intel Cherry Trail Whiskey Cove PMIC smbus controller"
23917a924bfSHans de Goede	depends on INTEL_SOC_PMIC_CHTWC
24017a924bfSHans de Goede	help
24117a924bfSHans de Goede	  If you say yes to this option, support will be included for the
24217a924bfSHans de Goede	  SMBus controller found in the Intel Cherry Trail Whiskey Cove PMIC
24317a924bfSHans de Goede	  found on some Intel Cherry Trail systems.
24417a924bfSHans de Goede
2450224d45cSHans de Goede	  Note this controller is hooked up to a TI bq24292i charger-IC,
2460224d45cSHans de Goede	  combined with a FUSB302 Type-C port-controller as such it is advised
2477c8d4456SHeikki Krogerus	  to also select CONFIG_TYPEC_FUSB302=m.
2480224d45cSHans de Goede
249f5b728a1SJean Delvareconfig I2C_NFORCE2
250f5b728a1SJean Delvare	tristate "Nvidia nForce2, nForce3 and nForce4"
25147c21d2dSNiklas Schnelle	depends on PCI && HAS_IOPORT
252f5b728a1SJean Delvare	help
253f5b728a1SJean Delvare	  If you say yes to this option, support will be included for the Nvidia
254f5b728a1SJean Delvare	  nForce2, nForce3 and nForce4 families of mainboard I2C interfaces.
255f5b728a1SJean Delvare
256f5b728a1SJean Delvare	  This driver can also be built as a module.  If so, the module
257f5b728a1SJean Delvare	  will be called i2c-nforce2.
258f5b728a1SJean Delvare
259c71bcdcbSAjay Guptaconfig I2C_NVIDIA_GPU
260c71bcdcbSAjay Gupta	tristate "NVIDIA GPU I2C controller"
261c71bcdcbSAjay Gupta	depends on PCI
2622079563dSAndy Shevchenko	select I2C_CCGX_UCSI
263c71bcdcbSAjay Gupta	help
264c71bcdcbSAjay Gupta	  If you say yes to this option, support will be included for the
265c71bcdcbSAjay Gupta	  NVIDIA GPU I2C controller which is used to communicate with the GPU's
266c71bcdcbSAjay Gupta	  Type-C controller. This driver can also be built as a module called
267c71bcdcbSAjay Gupta	  i2c-nvidia-gpu.
268c71bcdcbSAjay Gupta
269f5b728a1SJean Delvareconfig I2C_SIS5595
270f5b728a1SJean Delvare	tristate "SiS 5595"
27147c21d2dSNiklas Schnelle	depends on PCI && HAS_IOPORT
272f5b728a1SJean Delvare	help
273f5b728a1SJean Delvare	  If you say yes to this option, support will be included for the
274f5b728a1SJean Delvare	  SiS5595 SMBus (a subset of I2C) interface.
275f5b728a1SJean Delvare
276f5b728a1SJean Delvare	  This driver can also be built as a module.  If so, the module
277f5b728a1SJean Delvare	  will be called i2c-sis5595.
278f5b728a1SJean Delvare
279f5b728a1SJean Delvareconfig I2C_SIS630
280974d6a37SAmaury Decrême	tristate "SiS 630/730/964"
28147c21d2dSNiklas Schnelle	depends on PCI && HAS_IOPORT
282f5b728a1SJean Delvare	help
283f5b728a1SJean Delvare	  If you say yes to this option, support will be included for the
284974d6a37SAmaury Decrême	  SiS630, SiS730 and SiS964 SMBus (a subset of I2C) interface.
285f5b728a1SJean Delvare
286f5b728a1SJean Delvare	  This driver can also be built as a module.  If so, the module
287f5b728a1SJean Delvare	  will be called i2c-sis630.
288f5b728a1SJean Delvare
289f5b728a1SJean Delvareconfig I2C_SIS96X
290f5b728a1SJean Delvare	tristate "SiS 96x"
29147c21d2dSNiklas Schnelle	depends on PCI && HAS_IOPORT
292f5b728a1SJean Delvare	help
293f5b728a1SJean Delvare	  If you say yes to this option, support will be included for the SiS
294f5b728a1SJean Delvare	  96x SMBus (a subset of I2C) interfaces.  Specifically, the following
295f5b728a1SJean Delvare	  chipsets are supported:
296f5b728a1SJean Delvare	    645/961
297f5b728a1SJean Delvare	    645DX/961
298f5b728a1SJean Delvare	    645DX/962
299f5b728a1SJean Delvare	    648/961
300f5b728a1SJean Delvare	    650/961
301f5b728a1SJean Delvare	    735
302f5b728a1SJean Delvare	    745
303f5b728a1SJean Delvare
304f5b728a1SJean Delvare	  This driver can also be built as a module.  If so, the module
305f5b728a1SJean Delvare	  will be called i2c-sis96x.
306f5b728a1SJean Delvare
307f5b728a1SJean Delvareconfig I2C_VIA
308f5b728a1SJean Delvare	tristate "VIA VT82C586B"
30947c21d2dSNiklas Schnelle	depends on PCI && HAS_IOPORT
310f5b728a1SJean Delvare	select I2C_ALGOBIT
311f5b728a1SJean Delvare	help
312f5b728a1SJean Delvare	  If you say yes to this option, support will be included for the VIA
313f5b728a1SJean Delvare	  82C586B I2C interface
314f5b728a1SJean Delvare
315f5b728a1SJean Delvare	  This driver can also be built as a module.  If so, the module
316f5b728a1SJean Delvare	  will be called i2c-via.
317f5b728a1SJean Delvare
318f5b728a1SJean Delvareconfig I2C_VIAPRO
31901d56a6aSJean Delvare	tristate "VIA VT82C596/82C686/82xx and CX700/VX8xx/VX900"
32047c21d2dSNiklas Schnelle	depends on PCI && HAS_IOPORT
321f5b728a1SJean Delvare	help
322f5b728a1SJean Delvare	  If you say yes to this option, support will be included for the VIA
323f5b728a1SJean Delvare	  VT82C596 and later SMBus interface.  Specifically, the following
324f5b728a1SJean Delvare	  chipsets are supported:
325f5b728a1SJean Delvare	    VT82C596A/B
326f5b728a1SJean Delvare	    VT82C686A/B
327f5b728a1SJean Delvare	    VT8231
328f5b728a1SJean Delvare	    VT8233/A
329f5b728a1SJean Delvare	    VT8235
330f5b728a1SJean Delvare	    VT8237R/A/S
331f5b728a1SJean Delvare	    VT8251
332f5b728a1SJean Delvare	    CX700
333a231591fSHarald Welte	    VX800/VX820
334a231591fSHarald Welte	    VX855/VX875
33501d56a6aSJean Delvare	    VX900
336f5b728a1SJean Delvare
337f5b728a1SJean Delvare	  This driver can also be built as a module.  If so, the module
338f5b728a1SJean Delvare	  will be called i2c-viapro.
339f5b728a1SJean Delvare
340cfd550edSJean Delvareif ACPI
341cfd550edSJean Delvare
342a06b80e8SHans Huconfig I2C_ZHAOXIN
343a06b80e8SHans Hu	tristate "Zhaoxin I2C Interface"
344a06b80e8SHans Hu	depends on PCI || COMPILE_TEST
345a06b80e8SHans Hu	help
346a06b80e8SHans Hu	  If you say yes to this option, support will be included for the
347a06b80e8SHans Hu	  ZHAOXIN I2C interface
348a06b80e8SHans Hu
349a06b80e8SHans Hu	  This driver can also be built as a module. If so, the module
350a06b80e8SHans Hu	  will be called i2c-zhaoxin.
351a06b80e8SHans Hu
352cfd550edSJean Delvarecomment "ACPI drivers"
353cfd550edSJean Delvare
354cfd550edSJean Delvareconfig I2C_SCMI
355cfd550edSJean Delvare	tristate "SMBus Control Method Interface"
356cfd550edSJean Delvare	help
357cfd550edSJean Delvare	  This driver supports the SMBus Control Method Interface. It needs the
358cfd550edSJean Delvare	  BIOS to declare ACPI control methods as described in the SMBus Control
359cfd550edSJean Delvare	  Method Interface specification.
360cfd550edSJean Delvare
361cfd550edSJean Delvare	  To compile this driver as a module, choose M here:
362cfd550edSJean Delvare	  the module will be called i2c-scmi.
363cfd550edSJean Delvare
364cfd550edSJean Delvareendif # ACPI
365cfd550edSJean Delvare
366f5b728a1SJean Delvarecomment "Mac SMBus host controller drivers"
367f5b728a1SJean Delvare	depends on PPC_CHRP || PPC_PMAC
368f5b728a1SJean Delvare
369f5b728a1SJean Delvareconfig I2C_HYDRA
370f5b728a1SJean Delvare	tristate "CHRP Apple Hydra Mac I/O I2C interface"
371417e86ceSKees Cook	depends on PCI && PPC_CHRP
372f5b728a1SJean Delvare	select I2C_ALGOBIT
373f5b728a1SJean Delvare	help
374f5b728a1SJean Delvare	  This supports the use of the I2C interface in the Apple Hydra Mac
375f5b728a1SJean Delvare	  I/O chip on some CHRP machines (e.g. the LongTrail).  Say Y if you
376f5b728a1SJean Delvare	  have such a machine.
377f5b728a1SJean Delvare
378f5b728a1SJean Delvare	  This support is also available as a module.  If so, the module
379f5b728a1SJean Delvare	  will be called i2c-hydra.
380f5b728a1SJean Delvare
381f5b728a1SJean Delvareconfig I2C_POWERMAC
382f5b728a1SJean Delvare	tristate "Powermac I2C interface"
383f5b728a1SJean Delvare	depends on PPC_PMAC
384f5b728a1SJean Delvare	default y
385f5b728a1SJean Delvare	help
386f5b728a1SJean Delvare	  This exposes the various PowerMac i2c interfaces to the linux i2c
387f5b728a1SJean Delvare	  layer and to userland. It is used by various drivers on the PowerMac
388f5b728a1SJean Delvare	  platform, and should generally be enabled.
389f5b728a1SJean Delvare
390f5b728a1SJean Delvare	  This support is also available as a module.  If so, the module
391f5b728a1SJean Delvare	  will be called i2c-powermac.
392f5b728a1SJean Delvare
393f5b728a1SJean Delvarecomment "I2C system bus drivers (mostly embedded / system-on-chip)"
394f5b728a1SJean Delvare
3950560ad57SThor Thayerconfig I2C_ALTERA
3960560ad57SThor Thayer	tristate "Altera Soft IP I2C"
397823829dcSKrzysztof Kozlowski	depends on ARCH_INTEL_SOCFPGA || NIOS2 || COMPILE_TEST
3984a2d5f66SKrzysztof Kozlowski	depends on OF
3990560ad57SThor Thayer	help
4000560ad57SThor Thayer	  If you say yes to this option, support will be included for the
4010560ad57SThor Thayer	  Altera Soft IP I2C interfaces on SoCFPGA and Nios2 architectures.
4020560ad57SThor Thayer
4030560ad57SThor Thayer	  This driver can also be built as a module.  If so, the module
4040560ad57SThor Thayer	  will be called i2c-altera.
4050560ad57SThor Thayer
406f327c686SBrendan Higginsconfig I2C_ASPEED
407f327c686SBrendan Higgins	tristate "Aspeed I2C Controller"
408f327c686SBrendan Higgins	depends on ARCH_ASPEED || COMPILE_TEST
409f327c686SBrendan Higgins	help
410f327c686SBrendan Higgins	  If you say yes to this option, support will be included for the
411f327c686SBrendan Higgins	  Aspeed I2C controller.
412f327c686SBrendan Higgins
413f327c686SBrendan Higgins	  This driver can also be built as a module.  If so, the module
414f327c686SBrendan Higgins	  will be called i2c-aspeed.
415f327c686SBrendan Higgins
416813e30e9SAndrew Victorconfig I2C_AT91
417813e30e9SAndrew Victor	tristate "Atmel AT91 I2C Two-Wire interface (TWI)"
418788da814SRobert Marko	depends on ARCH_MICROCHIP || COMPILE_TEST
419813e30e9SAndrew Victor	help
420813e30e9SAndrew Victor	  This supports the use of the I2C interface on Atmel AT91
421813e30e9SAndrew Victor	  processors.
422813e30e9SAndrew Victor
423fac368a0SNikolaus Voss	  A serious problem is that there is no documented way to issue
424fac368a0SNikolaus Voss	  repeated START conditions for more than two messages, as needed
42524d0fb42SDavid Brownell	  to support combined I2C messages.  Use the i2c-gpio driver
426fac368a0SNikolaus Voss	  unless your system can cope with this limitation.
427fac368a0SNikolaus Voss
428fac368a0SNikolaus Voss	  Caution! at91rm9200, at91sam9261, at91sam9260, at91sam9263 devices
429fac368a0SNikolaus Voss	  don't have clock stretching in transmission mode. For that reason,
430fac368a0SNikolaus Voss	  you can encounter underrun issues causing premature stop sendings if
431fac368a0SNikolaus Voss	  the latency to fill the transmission register is too long. If you
432fac368a0SNikolaus Voss	  are facing this situation, use the i2c-gpio driver.
43324d0fb42SDavid Brownell
4349d3ca54bSJuergen Fitschenconfig I2C_AT91_SLAVE_EXPERIMENTAL
43551616b0cSAndy Shevchenko	bool "Microchip AT91 I2C experimental slave mode"
4369d3ca54bSJuergen Fitschen	depends on I2C_AT91
4379d3ca54bSJuergen Fitschen	select I2C_SLAVE
4389d3ca54bSJuergen Fitschen	help
4399d3ca54bSJuergen Fitschen	  If you say yes to this option, support for the slave mode will be
4409d3ca54bSJuergen Fitschen	  added. Caution: do not use it for production. This feature has not
4419d3ca54bSJuergen Fitschen	  been tested in a heavy way, help wanted.
4429d3ca54bSJuergen Fitschen	  There are known bugs:
4439d3ca54bSJuergen Fitschen	    - It can hang, on a SAMA5D4, after several transfers.
44451616b0cSAndy Shevchenko	    - There are some mismatches with a SAMA5D4 as slave and a SAMA5D2 as
4459d3ca54bSJuergen Fitschen	    master.
4469d3ca54bSJuergen Fitschen
4471da177e4SLinus Torvaldsconfig I2C_AU1550
448809f36c6SManuel Lauss	tristate "Au1550/Au1200/Au1300 SMBus interface"
44937663860SManuel Lauss	depends on MIPS_ALCHEMY
4501da177e4SLinus Torvalds	help
4511da177e4SLinus Torvalds	  If you say yes to this option, support will be included for the
452809f36c6SManuel Lauss	  Au1550/Au1200/Au1300 SMBus interface.
4531da177e4SLinus Torvalds
4541da177e4SLinus Torvalds	  This driver can also be built as a module.  If so, the module
4551da177e4SLinus Torvalds	  will be called i2c-au1550.
4561da177e4SLinus Torvalds
45708678b85SAnders Bergconfig I2C_AXXIA
45808678b85SAnders Berg	tristate "Axxia I2C controller"
45908678b85SAnders Berg	depends on ARCH_AXXIA || COMPILE_TEST
46008678b85SAnders Berg	default ARCH_AXXIA
461f0b57680SAdamski, Krzysztof (Nokia - PL/Wroclaw)	select I2C_SLAVE
46208678b85SAnders Berg	help
46308678b85SAnders Berg	  Say yes if you want to support the I2C bus on Axxia platforms.
46408678b85SAnders Berg
46508678b85SAnders Berg	  Please note that this controller is limited to transfers of maximum
46608678b85SAnders Berg	  255 bytes in length. Any attempt to to a larger transfer will return
46708678b85SAnders Berg	  an error.
46808678b85SAnders Berg
469f3b54b9aSStephen Warrenconfig I2C_BCM2835
470f3b54b9aSStephen Warren	tristate "Broadcom BCM2835 I2C controller"
4714a2d5f66SKrzysztof Kozlowski	depends on ARCH_BCM2835 || ARCH_BRCMSTB || COMPILE_TEST
4724a2d5f66SKrzysztof Kozlowski	depends on COMMON_CLK
473f3b54b9aSStephen Warren	help
474f3b54b9aSStephen Warren	  If you say yes to this option, support will be included for the
475f3b54b9aSStephen Warren	  BCM2835 I2C controller.
476f3b54b9aSStephen Warren
477f3b54b9aSStephen Warren	  If you don't know what to do here, say N.
478f3b54b9aSStephen Warren
479f3b54b9aSStephen Warren	  This support is also available as a module.  If so, the module
480f3b54b9aSStephen Warren	  will be called i2c-bcm2835.
481f3b54b9aSStephen Warren
482e6e5dd35SRay Juiconfig I2C_BCM_IPROC
483e6e5dd35SRay Jui	tristate "Broadcom iProc I2C controller"
484e6e5dd35SRay Jui	depends on ARCH_BCM_IPROC || COMPILE_TEST
485e6e5dd35SRay Jui	default ARCH_BCM_IPROC
486f34b8d90SShreesha Rajashekar	select I2C_SLAVE
487e6e5dd35SRay Jui	help
488e6e5dd35SRay Jui	  If you say yes to this option, support will be included for the
489e6e5dd35SRay Jui	  Broadcom iProc I2C controller.
490e6e5dd35SRay Jui
491e6e5dd35SRay Jui	  If you don't know what to do here, say N.
492e6e5dd35SRay Jui
49393d17247STim Krygerconfig I2C_BCM_KONA
49493d17247STim Kryger	tristate "BCM Kona I2C adapter"
4954a2d5f66SKrzysztof Kozlowski	depends on ARCH_BCM_MOBILE || COMPILE_TEST
4964a2d5f66SKrzysztof Kozlowski	default y if ARCH_BCM_MOBILE
49793d17247STim Kryger	help
49893d17247STim Kryger	  If you say yes to this option, support will be included for the
49993d17247STim Kryger	  I2C interface on the Broadcom Kona family of processors.
50093d17247STim Kryger
501f54619f2SMasanari Iida	  If you do not need KONA I2C interface, say N.
50293d17247STim Kryger
503dd1aa252SKamal Dasuconfig I2C_BRCMSTB
504e1eba2eaSFlorian Fainelli	tristate "BRCM Settop/DSL I2C controller"
5057bb49d77SWilliam Zhang	depends on ARCH_BCM2835 || ARCH_BCMBCA || ARCH_BRCMSTB || \
5067bb49d77SWilliam Zhang		   BMIPS_GENERIC || COMPILE_TEST
507f524707bSGeert Uytterhoeven	default ARCH_BCM2835 || ARCH_BCMBCA || ARCH_BRCMSTB || BMIPS_GENERIC
508dd1aa252SKamal Dasu	help
509dd1aa252SKamal Dasu	  If you say yes to this option, support will be included for the
510e1eba2eaSFlorian Fainelli	  I2C interface on the Broadcom Settop/DSL SoCs.
511dd1aa252SKamal Dasu
512dd1aa252SKamal Dasu	  If you do not need I2C interface, say N.
513dd1aa252SKamal Dasu
514df8eb569SSoren Brinkmannconfig I2C_CADENCE
515df8eb569SSoren Brinkmann	tristate "Cadence I2C Controller"
51629914dacSJi Sheng Teoh	depends on ARCH_ZYNQ || ARM64 || XTENSA || RISCV || COMPILE_TEST
517df8eb569SSoren Brinkmann	help
518df8eb569SSoren Brinkmann	  Say yes here to select Cadence I2C Host Controller. This controller is
519df8eb569SSoren Brinkmann	  e.g. used by Xilinx Zynq.
520df8eb569SSoren Brinkmann
5210857ba3cSAaro Koskinenconfig I2C_CBUS_GPIO
5220857ba3cSAaro Koskinen	tristate "CBUS I2C driver"
5237e5cd69aSGeert Uytterhoeven	depends on GPIOLIB || COMPILE_TEST
5240857ba3cSAaro Koskinen	help
5250857ba3cSAaro Koskinen	  Support for CBUS access using I2C API. Mostly relevant for Nokia
5260857ba3cSAaro Koskinen	  Internet Tablets (770, N800 and N810).
5270857ba3cSAaro Koskinen
5280857ba3cSAaro Koskinen	  This driver can also be built as a module.  If so, the module
5290857ba3cSAaro Koskinen	  will be called i2c-cbus-gpio.
5300857ba3cSAaro Koskinen
5316894f640SThomas Richardconfig I2C_CGBC
5326894f640SThomas Richard	tristate "Congatec I2C Controller"
5336894f640SThomas Richard	depends on MFD_CGBC
5346894f640SThomas Richard	help
5356894f640SThomas Richard	  This driver supports the 2 I2C interfaces on the Congatec Board
5366894f640SThomas Richard	  Controller.
5376894f640SThomas Richard
5386894f640SThomas Richard	  This driver can also be built as a module. If so, the module will
5396894f640SThomas Richard	  be called i2c-cgbc.ko.
5406894f640SThomas Richard
54161045dbeSJochen Friedrichconfig I2C_CPM
54261045dbeSJochen Friedrich	tristate "Freescale CPM1 or CPM2 (MPC8xx/826x)"
54362c19c9dSRichard Weinberger	depends on CPM1 || CPM2
54461045dbeSJochen Friedrich	help
54561045dbeSJochen Friedrich	  This supports the use of the I2C interface on Freescale
54661045dbeSJochen Friedrich	  processors with CPM1 or CPM2.
54761045dbeSJochen Friedrich
54861045dbeSJochen Friedrich	  This driver can also be built as a module.  If so, the module
54961045dbeSJochen Friedrich	  will be called i2c-cpm.
55061045dbeSJochen Friedrich
55195a7f10eSVladimir Barinovconfig I2C_DAVINCI
55295a7f10eSVladimir Barinov	tristate "DaVinci I2C driver"
5534a2d5f66SKrzysztof Kozlowski	depends on ARCH_DAVINCI || ARCH_KEYSTONE || COMPILE_TEST
55495a7f10eSVladimir Barinov	help
55595a7f10eSVladimir Barinov	  Support for TI DaVinci I2C controller driver.
55695a7f10eSVladimir Barinov
55795a7f10eSVladimir Barinov	  This driver can also be built as a module.  If so, the module
55895a7f10eSVladimir Barinov	  will be called i2c-davinci.
55995a7f10eSVladimir Barinov
56095a7f10eSVladimir Barinov	  Please note that this driver might be needed to bring up other
56195a7f10eSVladimir Barinov	  devices such as DaVinci NIC.
56295a7f10eSVladimir Barinov	  For details please see http://www.ti.com/davinci
56395a7f10eSVladimir Barinov
564e68bb91bSAxel Linconfig I2C_DESIGNWARE_CORE
56566049b33SHeikki Krogerus	tristate "Synopsys DesignWare I2C adapter"
5660daede80SSerge Semin	select REGMAP
56766049b33SHeikki Krogerus	help
56866049b33SHeikki Krogerus	  This option enables support for the Synopsys DesignWare I2C adapter.
56966049b33SHeikki Krogerus	  This driver includes support for the I2C host on the Synopsys
57066049b33SHeikki Krogerus	  Designware I2C adapter.
57166049b33SHeikki Krogerus
57266049b33SHeikki Krogerus	  To compile the driver as a module, choose M here: the module will be
57366049b33SHeikki Krogerus	  called i2c-designware-core.
57466049b33SHeikki Krogerus
57566049b33SHeikki Krogerusif I2C_DESIGNWARE_CORE
576e68bb91bSAxel Lin
5777943f1d1SAndy Shevchenkoconfig I2C_DESIGNWARE_SLAVE
5787943f1d1SAndy Shevchenko	bool "Synopsys DesignWare Slave"
5797943f1d1SAndy Shevchenko	select I2C_SLAVE
5807943f1d1SAndy Shevchenko	help
5817943f1d1SAndy Shevchenko	  If you say yes to this option, support will be included for the
5827943f1d1SAndy Shevchenko	  Synopsys DesignWare I2C slave adapter.
5837943f1d1SAndy Shevchenko
5842373f6b9SDirk Brandewieconfig I2C_DESIGNWARE_PLATFORM
58566049b33SHeikki Krogerus	tristate "Synopsys DesignWare Platform driver"
586a445900cSCarl Peng	depends on (ACPI && COMMON_CLK) || !ACPI
587fcb82a93SSerge Semin	select MFD_SYSCON if MIPS_BAIKAL_T1
58866049b33SHeikki Krogerus	default I2C_DESIGNWARE_CORE
5891ab52cf9SBaruch Siach	help
5901ab52cf9SBaruch Siach	  If you say yes to this option, support will be included for the
59166049b33SHeikki Krogerus	  Synopsys DesignWare I2C adapters on the platform bus.
5921ab52cf9SBaruch Siach
5931ab52cf9SBaruch Siach	  This driver can also be built as a module.  If so, the module
5942373f6b9SDirk Brandewie	  will be called i2c-designware-platform.
5951ab52cf9SBaruch Siach
596d6263c46SPratap Nirujogiconfig I2C_DESIGNWARE_AMDISP
597d6263c46SPratap Nirujogi	tristate "Synopsys DesignWare Platform for AMDISP"
59866e64b45SGeert Uytterhoeven	depends on DRM_AMD_ISP || COMPILE_TEST
599d6263c46SPratap Nirujogi	depends on I2C_DESIGNWARE_CORE
600d6263c46SPratap Nirujogi	help
601d6263c46SPratap Nirujogi	  If you say yes to this option, support will be included for the
602d6263c46SPratap Nirujogi	  AMDISP Synopsys DesignWare I2C adapter.
603d6263c46SPratap Nirujogi
604d6263c46SPratap Nirujogi	  This driver can also be built as a module.  If so, the module
605d6263c46SPratap Nirujogi	  will be called amd_isp_i2c_designware.
606d6263c46SPratap Nirujogi
60778d5e9e2SJan Dabrosconfig I2C_DESIGNWARE_AMDPSP
60878d5e9e2SJan Dabros	bool "AMD PSP I2C semaphore support"
60978d5e9e2SJan Dabros	depends on ACPI
610440da737SMario Limonciello	depends on CRYPTO_DEV_SP_PSP
611482c84e9SMario Limonciello	depends on PCI
61278d5e9e2SJan Dabros	depends on I2C_DESIGNWARE_PLATFORM
613440da737SMario Limonciello	depends on (I2C_DESIGNWARE_PLATFORM=y && CRYPTO_DEV_CCP_DD=y) || \
614440da737SMario Limonciello		   (I2C_DESIGNWARE_PLATFORM=m && CRYPTO_DEV_CCP_DD)
61578d5e9e2SJan Dabros	help
61678d5e9e2SJan Dabros	  This driver enables managed host access to the selected I2C bus shared
61778d5e9e2SJan Dabros	  between AMD CPU and AMD PSP.
61878d5e9e2SJan Dabros
61978d5e9e2SJan Dabros	  You should say Y if running on an AMD system equipped with the PSP.
62078d5e9e2SJan Dabros
621c2549011SSerge Seminconfig I2C_DESIGNWARE_BAYTRAIL
622c2549011SSerge Semin	bool "Intel Baytrail I2C semaphore support"
623c2549011SSerge Semin	depends on ACPI
624c2549011SSerge Semin	depends on I2C_DESIGNWARE_PLATFORM
625c2549011SSerge Semin	depends on (I2C_DESIGNWARE_PLATFORM=m && IOSF_MBI) || \
626c2549011SSerge Semin		   (I2C_DESIGNWARE_PLATFORM=y && IOSF_MBI=y)
627c2549011SSerge Semin	help
628c2549011SSerge Semin	  This driver enables managed host access to the PMIC I2C bus on select
629c2549011SSerge Semin	  Intel BayTrail platforms using the X-Powers AXP288 PMIC. It allows
630c2549011SSerge Semin	  the host to request uninterrupted access to the PMIC's I2C bus from
631c2549011SSerge Semin	  the platform firmware controlling it. You should say Y if running on
632c2549011SSerge Semin	  a BayTrail system using the AXP288.
633c2549011SSerge Semin
634fe20ff5cSDirk Brandewieconfig I2C_DESIGNWARE_PCI
63566049b33SHeikki Krogerus	tristate "Synopsys DesignWare PCI driver"
636fe20ff5cSDirk Brandewie	depends on PCI
637531310ddSAndy Shevchenko	select I2C_CCGX_UCSI
638fe20ff5cSDirk Brandewie	help
639fe20ff5cSDirk Brandewie	  If you say yes to this option, support will be included for the
64066049b33SHeikki Krogerus	  Synopsys DesignWare I2C adapters on the PCI bus. Only master mode is
64166049b33SHeikki Krogerus	  supported.
642fe20ff5cSDirk Brandewie
643fe20ff5cSDirk Brandewie	  This driver can also be built as a module.  If so, the module
644fe20ff5cSDirk Brandewie	  will be called i2c-designware-pci.
6454ad48e6aSPaul Mundt
64666049b33SHeikki Krogerusendif
64766049b33SHeikki Krogerus
6484a7a0822SBaruch Siachconfig I2C_DIGICOLOR
6494a7a0822SBaruch Siach	tristate "Conexant Digicolor I2C driver"
6504a2d5f66SKrzysztof Kozlowski	depends on ARCH_DIGICOLOR || COMPILE_TEST
6514a7a0822SBaruch Siach	help
6524a7a0822SBaruch Siach	  Support for Conexant Digicolor SoCs (CX92755) I2C controller driver.
6534a7a0822SBaruch Siach
6544a7a0822SBaruch Siach	  This driver can also be built as a module.  If so, the module
6554a7a0822SBaruch Siach	  will be called i2c-digicolor.
6564a7a0822SBaruch Siach
6573e1b76beSJayachandran Cconfig I2C_EG20T
6583e1b76beSJayachandran C	tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) I2C"
6597a852b02SPaul Burton	depends on PCI && (X86_32 || MIPS || COMPILE_TEST)
6603e1b76beSJayachandran C	help
6613e1b76beSJayachandran C	  This driver is for PCH(Platform controller Hub) I2C of EG20T which
6623e1b76beSJayachandran C	  is an IOH(Input/Output Hub) for x86 embedded processor.
6633e1b76beSJayachandran C	  This driver can access PCH I2C bus device.
6643e1b76beSJayachandran C
6653e1b76beSJayachandran C	  This driver also can be used for LAPIS Semiconductor IOH(Input/
6663e1b76beSJayachandran C	  Output Hub), ML7213, ML7223 and ML7831.
6673e1b76beSJayachandran C	  ML7213 IOH is for IVI(In-Vehicle Infotainment) use, ML7223 IOH is
6683e1b76beSJayachandran C	  for MP(Media Phone) use and ML7831 IOH is for general purpose use.
6693e1b76beSJayachandran C	  ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series.
6703e1b76beSJayachandran C	  ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH.
6713e1b76beSJayachandran C
6725faf6e1fSWolfram Sangconfig I2C_EMEV2
6735faf6e1fSWolfram Sang	tristate "EMMA Mobile series I2C adapter"
6745faf6e1fSWolfram Sang	depends on HAVE_CLK
675b7d518e6SWolfram Sang	select I2C_SLAVE
6765faf6e1fSWolfram Sang	help
6775faf6e1fSWolfram Sang	  If you say yes to this option, support will be included for the
6785faf6e1fSWolfram Sang	  I2C interface on the Renesas Electronics EM/EV family of processors.
6795faf6e1fSWolfram Sang
6808a73cd4cSNaveen Krishna Chconfig I2C_EXYNOS5
681a009310fSKrzysztof Kozlowski	tristate "Exynos high-speed I2C driver"
6824a2d5f66SKrzysztof Kozlowski	depends on OF
6834a2d5f66SKrzysztof Kozlowski	depends on ARCH_EXYNOS || COMPILE_TEST
6844a2d5f66SKrzysztof Kozlowski	default y if ARCH_EXYNOS
6858a73cd4cSNaveen Krishna Ch	help
686cf9ae42cSKrzysztof Kozlowski	  High-speed I2C controller on Samsung Exynos5 and newer Samsung SoCs:
687cf9ae42cSKrzysztof Kozlowski	  Exynos5250, Exynos5260, Exynos5410, Exynos542x, Exynos5800,
688c4bcef90SSam Protsenko	  Exynos5433, Exynos7, Exynos850 and ExynosAutoV9.
689cf9ae42cSKrzysztof Kozlowski	  Choose Y here only if you build for such Samsung SoC.
6908a73cd4cSNaveen Krishna Ch
6911c23af90SHaavard Skinnemoenconfig I2C_GPIO
6921c23af90SHaavard Skinnemoen	tristate "GPIO-based bitbanging I2C"
6937e5cd69aSGeert Uytterhoeven	depends on GPIOLIB || COMPILE_TEST
6941c23af90SHaavard Skinnemoen	select I2C_ALGOBIT
6951c23af90SHaavard Skinnemoen	help
6961c23af90SHaavard Skinnemoen	  This is a very simple bitbanging I2C driver utilizing the
6971c23af90SHaavard Skinnemoen	  arch-neutral GPIO API to control the SCL and SDA lines.
6981c23af90SHaavard Skinnemoen
69914911c6fSWolfram Sangconfig I2C_GPIO_FAULT_INJECTOR
70014911c6fSWolfram Sang	bool "GPIO-based fault injector"
70114911c6fSWolfram Sang	depends on I2C_GPIO
70214911c6fSWolfram Sang	help
70314911c6fSWolfram Sang	  This adds some functionality to the i2c-gpio driver which can inject
70414911c6fSWolfram Sang	  faults to an I2C bus, so another bus master can be stress-tested.
70514911c6fSWolfram Sang	  This is for debugging. If unsure, say 'no'.
70614911c6fSWolfram Sang
7074a55ed6fSNick Hawkinsconfig I2C_GXP
7084a55ed6fSNick Hawkins	tristate "GXP I2C Interface"
7094a55ed6fSNick Hawkins	depends on ARCH_HPE_GXP || COMPILE_TEST
7104a55ed6fSNick Hawkins	help
7114a55ed6fSNick Hawkins	  This enables support for GXP I2C interface. The I2C engines can be
7124a55ed6fSNick Hawkins	  either I2C master or I2C slaves.
7134a55ed6fSNick Hawkins
7144ad48e6aSPaul Mundtconfig I2C_HIGHLANDER
7154ad48e6aSPaul Mundt	tristate "Highlander FPGA SMBus interface"
7164a2d5f66SKrzysztof Kozlowski	depends on SH_HIGHLANDER || COMPILE_TEST
7174ad48e6aSPaul Mundt	help
7184ad48e6aSPaul Mundt	  If you say yes to this option, support will be included for
7194ad48e6aSPaul Mundt	  the SMBus interface located in the FPGA on various Highlander
7204ad48e6aSPaul Mundt	  boards, particularly the R0P7780LC0011RL and R0P7785LC0011RL
7214ad48e6aSPaul Mundt	  FPGAs. This is wholly unrelated to the SoC I2C.
7224ad48e6aSPaul Mundt
7234ad48e6aSPaul Mundt	  This driver can also be built as a module.  If so, the module
7244ad48e6aSPaul Mundt	  will be called i2c-highlander.
7254ad48e6aSPaul Mundt
726d62fbdb9SYicong Yangconfig I2C_HISI
727d62fbdb9SYicong Yang	tristate "HiSilicon I2C controller"
72852951ea1SWeilong Chen	depends on ARM64 || COMPILE_TEST
729d62fbdb9SYicong Yang	help
730d62fbdb9SYicong Yang	  Say Y here if you want to have Hisilicon I2C controller support
731d62fbdb9SYicong Yang	  available on the Kunpeng Server.
732d62fbdb9SYicong Yang
733d62fbdb9SYicong Yang	  This driver can also be built as a module. If so, the module
734d62fbdb9SYicong Yang	  will be called i2c-hisi.
735d62fbdb9SYicong Yang
7361da177e4SLinus Torvaldsconfig I2C_IBM_IIC
7371da177e4SLinus Torvalds	tristate "IBM PPC 4xx on-chip I2C interface"
738838349b5SSean MacLennan	depends on 4xx
7391da177e4SLinus Torvalds	help
7401da177e4SLinus Torvalds	  Say Y here if you want to use IIC peripheral found on
7411da177e4SLinus Torvalds	  embedded IBM PPC 4xx based systems.
7421da177e4SLinus Torvalds
7431da177e4SLinus Torvalds	  This driver can also be built as a module.  If so, the module
7441da177e4SLinus Torvalds	  will be called i2c-ibm_iic.
7451da177e4SLinus Torvalds
74627bce457SJames Hoganconfig I2C_IMG
74727bce457SJames Hogan	tristate "Imagination Technologies I2C SCB Controller"
7488d06c330SJames Hogan	depends on MIPS || COMPILE_TEST
74927bce457SJames Hogan	help
75027bce457SJames Hogan	  Say Y here if you want to use the IMG I2C SCB controller,
75106205206SAndrew Bresticker	  available on the TZ1090 and other IMG SoCs.
75227bce457SJames Hogan
75327bce457SJames Hogan	  This driver can also be built as a module.  If so, the module
75427bce457SJames Hogan	  will be called i2c-img-scb.
75527bce457SJames Hogan
756aa11e38cSDarius Augulisconfig I2C_IMX
757aa11e38cSDarius Augulis	tristate "IMX I2C interface"
758311499eeSCiprian Marian Costea	depends on ARCH_MXC || ARCH_LAYERSCAPE || ARCH_S32 || COLDFIRE \
759311499eeSCiprian Marian Costea		|| COMPILE_TEST
760f7414cd6SBiwen Li	select I2C_SLAVE
761aa11e38cSDarius Augulis	help
762aa11e38cSDarius Augulis	  Say Y here if you want to use the IIC bus controller on
763311499eeSCiprian Marian Costea	  the Freescale i.MX/MXC/S32G, Layerscape or ColdFire processors.
764aa11e38cSDarius Augulis
765aa11e38cSDarius Augulis	  This driver can also be built as a module. If so, the module
766aa11e38cSDarius Augulis	  will be called i2c-imx.
767aa11e38cSDarius Augulis
768a55fa9d0SGao Panconfig I2C_IMX_LPI2C
769a55fa9d0SGao Pan	tristate "IMX Low Power I2C interface"
770a55fa9d0SGao Pan	depends on ARCH_MXC || COMPILE_TEST
7715851a88dSArnd Bergmann	select I2C_SLAVE
772a55fa9d0SGao Pan	help
773a55fa9d0SGao Pan	  Say Y here if you want to use the Low Power IIC bus controller
774a55fa9d0SGao Pan	  on the Freescale i.MX processors.
775a55fa9d0SGao Pan
776a55fa9d0SGao Pan	  This driver can also be built as a module. If so, the module
777a55fa9d0SGao Pan	  will be called i2c-imx-lpi2c.
778a55fa9d0SGao Pan
7791da177e4SLinus Torvaldsconfig I2C_IOP3XX
780b91a69d1SArnd Bergmann	tristate "Intel IXP4xx on-chip I2C interface"
781b91a69d1SArnd Bergmann	depends on ARCH_IXP4XX || COMPILE_TEST
7821da177e4SLinus Torvalds	help
7831da177e4SLinus Torvalds	  Say Y here if you want to use the IIC bus controller on
784b91a69d1SArnd Bergmann	  the Intel IXP4xx Network Processors.
7851da177e4SLinus Torvalds
7861da177e4SLinus Torvalds	  This driver can also be built as a module.  If so, the module
7871da177e4SLinus Torvalds	  will be called i2c-iop3xx.
7881da177e4SLinus Torvalds
789ba92222eSZubair Lutfullah Kakakhelconfig I2C_JZ4780
790ba92222eSZubair Lutfullah Kakakhel	tristate "JZ4780 I2C controller interface support"
79112cb084dSPaul Cercueil	depends on MIPS || COMPILE_TEST
792ba92222eSZubair Lutfullah Kakakhel	help
793ba92222eSZubair Lutfullah Kakakhel	 If you say yes to this option, support will be included for the
794ba92222eSZubair Lutfullah Kakakhel	 Ingenic JZ4780 I2C controller.
795ba92222eSZubair Lutfullah Kakakhel
796ba92222eSZubair Lutfullah Kakakhel	 If you don't know what to do here, say N.
797ba92222eSZubair Lutfullah Kakakhel
7985ea55847STroy Mitchellconfig I2C_K1
7995ea55847STroy Mitchell	tristate "SpacemiT K1 I2C adapter"
8005ea55847STroy Mitchell	depends on ARCH_SPACEMIT || COMPILE_TEST
8015ea55847STroy Mitchell	depends on OF
8025ea55847STroy Mitchell	help
8035ea55847STroy Mitchell	  This option enables support for the I2C interface on the SpacemiT K1
8045ea55847STroy Mitchell	  platform.
8055ea55847STroy Mitchell
8065ea55847STroy Mitchell	  If you enable this configuration, the kernel will include support for
8075ea55847STroy Mitchell	  the I2C adapter specific to the SpacemiT K1 platform. This driver can
8085ea55847STroy Mitchell	  be used to manage I2C bus transactions, which are necessary for
8095ea55847STroy Mitchell	  interfacing with I2C peripherals such as sensors, EEPROMs, and other
8105ea55847STroy Mitchell	  devices.
8115ea55847STroy Mitchell
8125ea55847STroy Mitchell	  This driver can also be built as a module.  If so, the
8135ea55847STroy Mitchell	  module will be called `i2c-k1`.
8145ea55847STroy Mitchell
815c7e08c81SGerhard Englederconfig I2C_KEBA
816c7e08c81SGerhard Engleder	tristate "KEBA I2C controller support"
817c7e08c81SGerhard Engleder	depends on HAS_IOMEM
8186d340541SGeert Uytterhoeven	depends on KEBA_CP500 || COMPILE_TEST
819c7e08c81SGerhard Engleder	select AUXILIARY_BUS
820c7e08c81SGerhard Engleder	help
821c7e08c81SGerhard Engleder	  This driver supports the I2C controller found in KEBA system FPGA
822c7e08c81SGerhard Engleder	  devices.
823c7e08c81SGerhard Engleder
824c7e08c81SGerhard Engleder	  This driver can also be built as a module. If so, the module
825c7e08c81SGerhard Engleder	  will be called i2c-keba.
826c7e08c81SGerhard Engleder
827e0b9b7b0SKevin Strasserconfig I2C_KEMPLD
828e0b9b7b0SKevin Strasser	tristate "Kontron COM I2C Controller"
829e0b9b7b0SKevin Strasser	depends on MFD_KEMPLD
830e0b9b7b0SKevin Strasser	help
831e0b9b7b0SKevin Strasser	  This enables support for the I2C bus interface on some Kontron ETX
832e0b9b7b0SKevin Strasser	  and COMexpress (ETXexpress) modules.
833e0b9b7b0SKevin Strasser
834e0b9b7b0SKevin Strasser	  This driver can also be built as a module. If so, the module
835e0b9b7b0SKevin Strasser	  will be called i2c-kempld.
836e0b9b7b0SKevin Strasser
8373f9c37a0SJoachim Eastwoodconfig I2C_LPC2K
8383f9c37a0SJoachim Eastwood	tristate "I2C bus support for NXP LPC2K/LPC178x/18xx/43xx"
8393f9c37a0SJoachim Eastwood	depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
8403f9c37a0SJoachim Eastwood	help
8413f9c37a0SJoachim Eastwood	  This driver supports the I2C interface found several NXP
8423f9c37a0SJoachim Eastwood	  devices including LPC2xxx, LPC178x/7x and LPC18xx/43xx.
8433f9c37a0SJoachim Eastwood
8443f9c37a0SJoachim Eastwood	  This driver can also be built as a module.  If so, the module
8453f9c37a0SJoachim Eastwood	  will be called i2c-lpc2k.
8463f9c37a0SJoachim Eastwood
847015e61f0SBinbin Zhouconfig I2C_LS2X
848015e61f0SBinbin Zhou	tristate "Loongson LS2X I2C adapter"
849015e61f0SBinbin Zhou	depends on MACH_LOONGSON64 || COMPILE_TEST
850015e61f0SBinbin Zhou	help
851015e61f0SBinbin Zhou	  If you say yes to this option, support will be included for the
852015e61f0SBinbin Zhou	  I2C interface on the Loongson-2K SoCs and Loongson LS7A bridge
853015e61f0SBinbin Zhou	  chip.
854015e61f0SBinbin Zhou
855015e61f0SBinbin Zhou	  This driver can also be built as a module. If so, the module
856015e61f0SBinbin Zhou	  will be called i2c-ls2x.
857015e61f0SBinbin Zhou
858b5b5b320SKhalil Blaiechconfig I2C_MLXBF
859b5b5b320SKhalil Blaiech        tristate "Mellanox BlueField I2C controller"
86005385900SAndi Shyti        depends on (MELLANOX_PLATFORM && ARM64) || COMPILE_TEST
86165d78b8dSAdam Borowski	depends on ACPI
862c62dac0aSArnd Bergmann	select I2C_SLAVE
863b5b5b320SKhalil Blaiech        help
864b5b5b320SKhalil Blaiech          Enabling this option will add I2C SMBus support for Mellanox BlueField
865b5b5b320SKhalil Blaiech          system.
866b5b5b320SKhalil Blaiech
867b5b5b320SKhalil Blaiech          This driver can also be built as a module. If so, the module will be
868b5b5b320SKhalil Blaiech          called i2c-mlxbf.
869b5b5b320SKhalil Blaiech
870b5b5b320SKhalil Blaiech          This driver implements an I2C SMBus host controller and enables both
871b5b5b320SKhalil Blaiech          master and slave functions.
872b5b5b320SKhalil Blaiech
87330021e37SBeniamino Galvaniconfig I2C_MESON
87430021e37SBeniamino Galvani	tristate "Amlogic Meson I2C controller"
87591401783SBen Dooks	depends on ARCH_MESON || COMPILE_TEST
8764a2d5f66SKrzysztof Kozlowski	depends on COMMON_CLK
87730021e37SBeniamino Galvani	help
87830021e37SBeniamino Galvani	  If you say yes to this option, support will be included for the
87930021e37SBeniamino Galvani	  I2C interface on the Amlogic Meson family of SoCs.
88030021e37SBeniamino Galvani
88164a6f1c4SConor Dooleyconfig I2C_MICROCHIP_CORE
88264a6f1c4SConor Dooley	tristate "Microchip FPGA I2C controller"
883819c7345SConor Dooley	depends on ARCH_MICROCHIP_POLARFIRE || COMPILE_TEST
88464a6f1c4SConor Dooley	depends on OF
88564a6f1c4SConor Dooley	help
88664a6f1c4SConor Dooley	  If you say yes to this option, support will be included for the
88764a6f1c4SConor Dooley	  I2C interface on Microchip FPGAs.
88864a6f1c4SConor Dooley
88964a6f1c4SConor Dooley	  This driver can also be built as a module. If so, the module will be
89064a6f1c4SConor Dooley	  called i2c-microchip-core.
89164a6f1c4SConor Dooley
8921da177e4SLinus Torvaldsconfig I2C_MPC
893f00d738fSWolfgang Grandegger	tristate "MPC107/824x/85xx/512x/52xx/83xx/86xx"
8940724d464SKumar Gala	depends on PPC
8951da177e4SLinus Torvalds	help
8961da177e4SLinus Torvalds	  If you say yes to this option, support will be included for the
897f00d738fSWolfgang Grandegger	  built-in I2C interface on the MPC107, Tsi107, MPC512x, MPC52xx,
898f00d738fSWolfgang Grandegger	  MPC8240, MPC8245, MPC83xx, MPC85xx and MPC8641 family processors.
8991da177e4SLinus Torvalds
9001da177e4SLinus Torvalds	  This driver can also be built as a module.  If so, the module
9011da177e4SLinus Torvalds	  will be called i2c-mpc.
9021da177e4SLinus Torvalds
903ce38815dSXudong Chenconfig I2C_MT65XX
904ce38815dSXudong Chen	tristate "MediaTek I2C adapter"
905ce38815dSXudong Chen	depends on ARCH_MEDIATEK || COMPILE_TEST
906ce38815dSXudong Chen	help
907ce38815dSXudong Chen	  This selects the MediaTek(R) Integrated Inter Circuit bus driver
908ce38815dSXudong Chen	  for MT65xx and MT81xx.
909ce38815dSXudong Chen	  If you want to use MediaTek(R) I2C interface, say Y or M here.
910ce38815dSXudong Chen	  If unsure, say N.
911ce38815dSXudong Chen
912d04913ecSStefan Roeseconfig I2C_MT7621
913d04913ecSStefan Roese	tristate "MT7621/MT7628 I2C Controller"
914fd6acb0dSLorenzo Bianconi	depends on (RALINK && (SOC_MT7620 || SOC_MT7621)) || ARCH_AIROHA || COMPILE_TEST
915d04913ecSStefan Roese	help
916d04913ecSStefan Roese	  Say Y here to include support for I2C controller in the
917d04913ecSStefan Roese	  MediaTek MT7621/MT7628 SoCs.
918d04913ecSStefan Roese
919f5b728a1SJean Delvareconfig I2C_MV64XXX
920f5b728a1SJean Delvare	tristate "Marvell mv64xxx I2C Controller"
921a329ddd4SChristophe Leroy	depends on PLAT_ORION || ARCH_SUNXI || ARCH_MVEBU || COMPILE_TEST
9221da177e4SLinus Torvalds	help
923f5b728a1SJean Delvare	  If you say yes to this option, support will be included for the
924f5b728a1SJean Delvare	  built-in I2C interface on the Marvell 64xxx line of host bridges.
9253d66ac7dSMaxime Ripard	  This driver is also used for Allwinner SoCs I2C controllers.
9261da177e4SLinus Torvalds
9271da177e4SLinus Torvalds	  This driver can also be built as a module.  If so, the module
928f5b728a1SJean Delvare	  will be called i2c-mv64xxx.
929279e9024SJean Delvare
930a8da7fecSWolfram Sangconfig I2C_MXS
931a8da7fecSWolfram Sang	tristate "Freescale i.MX28 I2C interface"
9324a2d5f66SKrzysztof Kozlowski	depends on SOC_IMX28 || COMPILE_TEST
9336b866c15SWolfram Sang	select STMP_DEVICE
934a8da7fecSWolfram Sang	help
935a8da7fecSWolfram Sang	  Say Y here if you want to use the I2C bus controller on
936a8da7fecSWolfram Sang	  the Freescale i.MX28 processors.
937a8da7fecSWolfram Sang
938a8da7fecSWolfram Sang	  This driver can also be built as a module.  If so, the module
939a8da7fecSWolfram Sang	  will be called i2c-mxs.
940a8da7fecSWolfram Sang
9413f9900f1Ssrinidhi kasagarconfig I2C_NOMADIK
9423f9900f1Ssrinidhi kasagar	tristate "ST-Ericsson Nomadik/Ux500 I2C Controller"
9434d51ac5bSAndi Shyti	depends on ARM_AMBA || COMPILE_TEST
9443f9900f1Ssrinidhi kasagar	help
9453f9900f1Ssrinidhi kasagar	  If you say yes to this option, support will be included for the
946419408edSAlessandro Rubini	  I2C interface from ST-Ericsson's Nomadik and Ux500 architectures,
947419408edSAlessandro Rubini	  as well as the STA2X11 PCIe I/O HUB.
9483f9900f1Ssrinidhi kasagar
949bbc38ed5STyrone Tingconfig I2C_NPCM
95056a1485bSTali Perry	tristate "Nuvoton I2C Controller"
951bbc38ed5STyrone Ting	depends on ARCH_NPCM || COMPILE_TEST
95256a1485bSTali Perry	help
95356a1485bSTali Perry	  If you say yes to this option, support will be included for the
954bbc38ed5STyrone Ting	  Nuvoton I2C controller, which is available on the NPCM BMC
955bbc38ed5STyrone Ting	  controllers.
95656a1485bSTali Perry	  Driver can also support slave mode (select I2C_SLAVE).
95756a1485bSTali Perry
95818f98b1eSPeter Korsgaardconfig I2C_OCORES
95918f98b1eSPeter Korsgaard	tristate "OpenCores I2C Controller"
96018f98b1eSPeter Korsgaard	help
96118f98b1eSPeter Korsgaard	  If you say yes to this option, support will be included for the
96218f98b1eSPeter Korsgaard	  OpenCores I2C controller. For details see
96318f98b1eSPeter Korsgaard	  http://www.opencores.org/projects.cgi/web/i2c/overview
96418f98b1eSPeter Korsgaard
96518f98b1eSPeter Korsgaard	  This driver can also be built as a module.  If so, the module
96618f98b1eSPeter Korsgaard	  will be called i2c-ocores.
96718f98b1eSPeter Korsgaard
968010d442cSKomal Shahconfig I2C_OMAP
969010d442cSKomal Shah	tristate "OMAP I2C adapter"
9704a2d5f66SKrzysztof Kozlowski	depends on ARCH_OMAP || ARCH_K3 || COMPILE_TEST
9710d7bb85eSArnd Bergmann	default MACH_OMAP_OSK
972b6ef830cSJayesh Choudhary	select MULTIPLEXER
973010d442cSKomal Shah	help
974010d442cSKomal Shah	  If you say yes to this option, support will be included for the
975010d442cSKomal Shah	  I2C interface on the Texas Instruments OMAP1/2 family of processors.
976010d442cSKomal Shah	  Like OMAP1510/1610/1710/5912 and OMAP242x.
977010d442cSKomal Shah	  For details see http://www.ti.com/omap.
978010d442cSKomal Shah
979d211e62aSManivannan Sadhasivamconfig I2C_OWL
980d211e62aSManivannan Sadhasivam	tristate "Actions Semiconductor Owl I2C Controller"
981d211e62aSManivannan Sadhasivam	depends on ARCH_ACTIONS || COMPILE_TEST
982d211e62aSManivannan Sadhasivam	help
983d211e62aSManivannan Sadhasivam	  Say Y here if you want to use the I2C bus controller on
984d211e62aSManivannan Sadhasivam	  the Actions Semiconductor Owl SoC's.
985d211e62aSManivannan Sadhasivam
986f5b728a1SJean Delvareconfig I2C_PASEMI
987f5b728a1SJean Delvare	tristate "PA Semi SMBus interface"
988f5b728a1SJean Delvare	depends on PPC_PASEMI && PCI
989f5b728a1SJean Delvare	help
990f5b728a1SJean Delvare	  Supports the PA Semi PWRficient on-chip SMBus interfaces.
991f5b728a1SJean Delvare
992d88ae293SSven Peterconfig I2C_APPLE
993d88ae293SSven Peter	tristate "Apple SMBus platform driver"
994a76d19e6SBenjamin Gray	depends on !I2C_PASEMI
995d88ae293SSven Peter	depends on ARCH_APPLE || COMPILE_TEST
996d88ae293SSven Peter	help
997d88ae293SSven Peter	  Say Y here if you want to use the I2C controller present on Apple
998d88ae293SSven Peter	  Silicon chips such as the M1.
999d88ae293SSven Peter
1000d88ae293SSven Peter	  This driver can also be built as a module. If so, the module
1001d88ae293SSven Peter	  will be called i2c-apple.
1002d88ae293SSven Peter
100335bfc353SWolfram Sangconfig I2C_PCA_PLATFORM
100435bfc353SWolfram Sang	tristate "PCA9564/PCA9665 as platform device"
100535bfc353SWolfram Sang	select I2C_ALGOPCA
100635bfc353SWolfram Sang	help
100735bfc353SWolfram Sang	  This driver supports a memory mapped Philips PCA9564/PCA9665
100835bfc353SWolfram Sang	  parallel bus to I2C bus controller.
100935bfc353SWolfram Sang
101035bfc353SWolfram Sang	  This driver can also be built as a module.  If so, the module
101135bfc353SWolfram Sang	  will be called i2c-pca-platform.
101235bfc353SWolfram Sang
1013f5b728a1SJean Delvareconfig I2C_PNX
1014c115167aSKevin Wells	tristate "I2C bus support for Philips PNX and NXP LPC targets"
10154a2d5f66SKrzysztof Kozlowski	depends on ARCH_LPC32XX || COMPILE_TEST
1016f5b728a1SJean Delvare	help
1017f5b728a1SJean Delvare	  This driver supports the Philips IP3204 I2C IP block master and/or
1018f5b728a1SJean Delvare	  slave controller
1019f5b728a1SJean Delvare
1020f5b728a1SJean Delvare	  This driver can also be built as a module.  If so, the module
1021f5b728a1SJean Delvare	  will be called i2c-pnx.
1022f5b728a1SJean Delvare
1023f5b728a1SJean Delvareconfig I2C_PXA
1024d7c46dddSHaojian Zhuang	tristate "Intel PXA2XX I2C adapter"
10254a2d5f66SKrzysztof Kozlowski	depends on ARCH_PXA || ARCH_MMP || ARCH_MVEBU || (X86_32 && PCI && OF) || COMPILE_TEST
1026f5b728a1SJean Delvare	help
1027f5b728a1SJean Delvare	  If you have devices in the PXA I2C bus, say yes to this option.
1028f5b728a1SJean Delvare	  This driver can also be built as a module.  If so, the module
1029f5b728a1SJean Delvare	  will be called i2c-pxa.
1030f5b728a1SJean Delvare
10317e94dd15SSebastian Andrzej Siewiorconfig I2C_PXA_PCI
10327e94dd15SSebastian Andrzej Siewior	def_bool I2C_PXA && X86_32 && PCI && OF
10337e94dd15SSebastian Andrzej Siewior
1034f5b728a1SJean Delvareconfig I2C_PXA_SLAVE
1035f5b728a1SJean Delvare	bool "Intel PXA2XX I2C Slave comms support"
10367e94dd15SSebastian Andrzej Siewior	depends on I2C_PXA && !X86_32
10374d51b4ceSPatrick Williams	select I2C_SLAVE
1038f5b728a1SJean Delvare	help
1039f5b728a1SJean Delvare	  Support I2C slave mode communications on the PXA I2C bus.  This
1040f5b728a1SJean Delvare	  is necessary for systems where the PXA may be a target on the
1041f5b728a1SJean Delvare	  I2C bus.
1042f5b728a1SJean Delvare
1043e5175261SLoic Poulainconfig I2C_QCOM_CCI
1044e5175261SLoic Poulain	tristate "Qualcomm Camera Control Interface"
1045e5175261SLoic Poulain	depends on ARCH_QCOM || COMPILE_TEST
1046e5175261SLoic Poulain	help
1047e5175261SLoic Poulain	  If you say yes to this option, support will be included for the
1048e5175261SLoic Poulain	  built-in camera control interface on the Qualcomm SoCs.
1049e5175261SLoic Poulain
1050e5175261SLoic Poulain	  This driver can also be built as a module.  If so, the module
1051e5175261SLoic Poulain	  will be called i2c-qcom-cci.
1052e5175261SLoic Poulain
105337692de5SKarthikeyan Ramasubramanianconfig I2C_QCOM_GENI
105437692de5SKarthikeyan Ramasubramanian	tristate "Qualcomm Technologies Inc.'s GENI based I2C controller"
105537692de5SKarthikeyan Ramasubramanian	depends on ARCH_QCOM || COMPILE_TEST
105637692de5SKarthikeyan Ramasubramanian	depends on QCOM_GENI_SE
105737692de5SKarthikeyan Ramasubramanian	help
105837692de5SKarthikeyan Ramasubramanian	  This driver supports GENI serial engine based I2C controller in
105937692de5SKarthikeyan Ramasubramanian	  master mode on the Qualcomm Technologies Inc.'s SoCs. If you say
106037692de5SKarthikeyan Ramasubramanian	  yes to this option, support will be included for the built-in I2C
106137692de5SKarthikeyan Ramasubramanian	  interface on the Qualcomm Technologies Inc.'s SoCs.
106237692de5SKarthikeyan Ramasubramanian
106337692de5SKarthikeyan Ramasubramanian	  This driver can also be built as a module.  If so, the module
106437692de5SKarthikeyan Ramasubramanian	  will be called i2c-qcom-geni.
106537692de5SKarthikeyan Ramasubramanian
106610c5a842SBjorn Anderssonconfig I2C_QUP
106710c5a842SBjorn Andersson	tristate "Qualcomm QUP based I2C controller"
10685de71797SWolfram Sang	depends on ARCH_QCOM || COMPILE_TEST
106910c5a842SBjorn Andersson	help
107010c5a842SBjorn Andersson	  If you say yes to this option, support will be included for the
107110c5a842SBjorn Andersson	  built-in I2C interface on the Qualcomm SoCs.
107210c5a842SBjorn Andersson
107310c5a842SBjorn Andersson	  This driver can also be built as a module.  If so, the module
107410c5a842SBjorn Andersson	  will be called i2c-qup.
107510c5a842SBjorn Andersson
1076310c18a4SWolfram Sangconfig I2C_RIIC
1077310c18a4SWolfram Sang	tristate "Renesas RIIC adapter"
107807316149SSimon Horman	depends on ARCH_RENESAS || COMPILE_TEST
1079310c18a4SWolfram Sang	help
1080310c18a4SWolfram Sang	  If you say yes to this option, support will be included for the
1081310c18a4SWolfram Sang	  Renesas RIIC I2C interface.
1082310c18a4SWolfram Sang
1083310c18a4SWolfram Sang	  This driver can also be built as a module.  If so, the module
1084310c18a4SWolfram Sang	  will be called i2c-riic.
1085310c18a4SWolfram Sang
1086c41aa3ceSMax Schwarzconfig I2C_RK3X
1087c41aa3ceSMax Schwarz	tristate "Rockchip RK3xxx I2C adapter"
108880f1774fSMax Schwarz	depends on OF && COMMON_CLK
1089c41aa3ceSMax Schwarz	help
1090c41aa3ceSMax Schwarz	  Say Y here to include support for the I2C adapter in Rockchip RK3xxx
1091c41aa3ceSMax Schwarz	  SoCs.
1092c41aa3ceSMax Schwarz
1093c41aa3ceSMax Schwarz	  This driver can also be built as a module. If so, the module will
1094c41aa3ceSMax Schwarz	  be called i2c-rk3x.
1095c41aa3ceSMax Schwarz
1096c366be72SChris Packhamconfig I2C_RTL9300
1097c366be72SChris Packham	tristate "Realtek RTL9300 I2C controller"
1098c366be72SChris Packham	depends on MACH_REALTEK_RTL || COMPILE_TEST
1099c366be72SChris Packham	help
1100c366be72SChris Packham	  Say Y here to include support for the I2C controller in Realtek
1101c366be72SChris Packham	  RTL9300 SoCs.
1102c366be72SChris Packham
1103c366be72SChris Packham	  This driver can also be built as a module. If so, the module will
1104c366be72SChris Packham	  be called i2c-rtl9300.
1105c366be72SChris Packham
1106e0ca796aSPhil Edworthyconfig I2C_RZV2M
1107e0ca796aSPhil Edworthy	tristate "Renesas RZ/V2M adapter"
1108e0ca796aSPhil Edworthy	depends on ARCH_RENESAS || COMPILE_TEST
1109e0ca796aSPhil Edworthy	help
1110e0ca796aSPhil Edworthy	  If you say yes to this option, support will be included for the
1111e0ca796aSPhil Edworthy	  Renesas RZ/V2M I2C interface.
1112e0ca796aSPhil Edworthy
1113e0ca796aSPhil Edworthy	  This driver can also be built as a module.  If so, the module
1114e0ca796aSPhil Edworthy	  will be called i2c-rzv2m.
1115e0ca796aSPhil Edworthy
1116f5b728a1SJean Delvareconfig I2C_S3C2410
1117a009310fSKrzysztof Kozlowski	tristate "S3C/Exynos I2C Driver"
11181ea35b35SArnd Bergmann	depends on ARCH_EXYNOS || ARCH_S3C64XX || ARCH_S5PV210 || COMPILE_TEST
1119f5b728a1SJean Delvare	help
1120f5b728a1SJean Delvare	  Say Y here to include support for I2C controller in the
1121a009310fSKrzysztof Kozlowski	  Samsung SoCs (S3C, S5Pv210, Exynos).
1122f5b728a1SJean Delvare
1123f5b728a1SJean Delvareconfig I2C_SH7760
1124f5b728a1SJean Delvare	tristate "Renesas SH7760 I2C Controller"
1125f5b728a1SJean Delvare	depends on CPU_SUBTYPE_SH7760
1126f5b728a1SJean Delvare	help
1127f5b728a1SJean Delvare	  This driver supports the 2 I2C interfaces on the Renesas SH7760.
1128f5b728a1SJean Delvare
1129f5b728a1SJean Delvare	  This driver can also be built as a module.  If so, the module
1130f5b728a1SJean Delvare	  will be called i2c-sh7760.
1131f5b728a1SJean Delvare
1132f5b728a1SJean Delvareconfig I2C_SH_MOBILE
1133f5b728a1SJean Delvare	tristate "SuperH Mobile I2C Controller"
113417f80487SGeert Uytterhoeven	depends on ARCH_SHMOBILE || ARCH_RENESAS || COMPILE_TEST
1135f5b728a1SJean Delvare	help
1136f5b728a1SJean Delvare	  If you say yes to this option, support will be included for the
1137f5b728a1SJean Delvare	  built-in I2C interface on the Renesas SH-Mobile processor.
1138f5b728a1SJean Delvare
1139f5b728a1SJean Delvare	  This driver can also be built as a module.  If so, the module
1140f5b728a1SJean Delvare	  will be called i2c-sh_mobile.
1141f5b728a1SJean Delvare
1142f5b728a1SJean Delvareconfig I2C_SIMTEC
1143f5b728a1SJean Delvare	tristate "Simtec Generic I2C interface"
1144f5b728a1SJean Delvare	select I2C_ALGOBIT
1145f5b728a1SJean Delvare	help
1146f5b728a1SJean Delvare	  If you say yes to this option, support will be included for
1147f5b728a1SJean Delvare	  the Simtec Generic I2C interface. This driver is for the
1148f5b728a1SJean Delvare	  simple I2C bus used on newer Simtec products for general
1149f5b728a1SJean Delvare	  I2C, such as DDC on the Simtec BBD2016A.
1150f5b728a1SJean Delvare
1151f5b728a1SJean Delvare	  This driver can also be built as a module. If so, the module
1152f5b728a1SJean Delvare	  will be called i2c-simtec.
1153f5b728a1SJean Delvare
11548b9ec071SBaolin Wangconfig I2C_SPRD
11554d7802aaSBaolin Wang	tristate "Spreadtrum I2C interface"
11564a2d5f66SKrzysztof Kozlowski	depends on I2C=y && (ARCH_SPRD || COMPILE_TEST)
11579ecd1d2bSKrzysztof Kozlowski	depends on COMMON_CLK
11588b9ec071SBaolin Wang	help
11598b9ec071SBaolin Wang	  If you say yes to this option, support will be included for the
11608b9ec071SBaolin Wang	  Spreadtrum I2C interface.
11618b9ec071SBaolin Wang
116285b4fab2SMaxime COQUELINconfig I2C_ST
116385b4fab2SMaxime COQUELIN	tristate "STMicroelectronics SSC I2C support"
11644a2d5f66SKrzysztof Kozlowski	depends on ARCH_STI || COMPILE_TEST
116585b4fab2SMaxime COQUELIN	help
116685b4fab2SMaxime COQUELIN	  Enable this option to add support for STMicroelectronics SoCs
116785b4fab2SMaxime COQUELIN	  hardware SSC (Synchronous Serial Controller) as an I2C controller.
116885b4fab2SMaxime COQUELIN
116985b4fab2SMaxime COQUELIN	  This driver can also be built as module. If so, the module
117085b4fab2SMaxime COQUELIN	  will be called i2c-st.
117185b4fab2SMaxime COQUELIN
117262817fc8SM'boumba Cedric Madiangaconfig I2C_STM32F4
117362817fc8SM'boumba Cedric Madianga	tristate "STMicroelectronics STM32F4 I2C support"
117462817fc8SM'boumba Cedric Madianga	depends on ARCH_STM32 || COMPILE_TEST
117562817fc8SM'boumba Cedric Madianga	help
117662817fc8SM'boumba Cedric Madianga	  Enable this option to add support for STM32 I2C controller embedded
117762817fc8SM'boumba Cedric Madianga	  in STM32F4 SoCs.
117862817fc8SM'boumba Cedric Madianga
117962817fc8SM'boumba Cedric Madianga	  This driver can also be built as module. If so, the module
118062817fc8SM'boumba Cedric Madianga	  will be called i2c-stm32f4.
118162817fc8SM'boumba Cedric Madianga
1182aeb068c5SPierre-Yves MORDRETconfig I2C_STM32F7
1183aeb068c5SPierre-Yves MORDRET	tristate "STMicroelectronics STM32F7 I2C support"
1184aeb068c5SPierre-Yves MORDRET	depends on ARCH_STM32 || COMPILE_TEST
118560d609f3SPierre-Yves MORDRET	select I2C_SLAVE
11866af07719SAlain Volmat	select I2C_SMBUS
1187aeb068c5SPierre-Yves MORDRET	help
1188aeb068c5SPierre-Yves MORDRET	  Enable this option to add support for STM32 I2C controller embedded
1189aeb068c5SPierre-Yves MORDRET	  in STM32F7 SoCs.
1190aeb068c5SPierre-Yves MORDRET
1191aeb068c5SPierre-Yves MORDRET	  This driver can also be built as module. If so, the module
1192aeb068c5SPierre-Yves MORDRET	  will be called i2c-stm32f7.
1193aeb068c5SPierre-Yves MORDRET
11943e833490SBoris BREZILLONconfig I2C_SUN6I_P2WI
11953e833490SBoris BREZILLON	tristate "Allwinner sun6i internal P2WI controller"
11963e833490SBoris BREZILLON	depends on RESET_CONTROLLER
11973e833490SBoris BREZILLON	depends on MACH_SUN6I || COMPILE_TEST
11983e833490SBoris BREZILLON	help
11993e833490SBoris BREZILLON	  If you say yes to this option, support will be included for the
12003e833490SBoris BREZILLON	  P2WI (Push/Pull 2 Wire Interface) controller embedded in some sunxi
12013e833490SBoris BREZILLON	  SOCs.
12023e833490SBoris BREZILLON	  The P2WI looks like an SMBus controller (which supports only byte
12033e833490SBoris BREZILLON	  accesses), except that it only supports one slave device.
12043e833490SBoris BREZILLON	  This interface is used to connect to specific PMIC devices (like the
12053e833490SBoris BREZILLON	  AXP221).
12063e833490SBoris BREZILLON
12070d676a6cSArd Biesheuvelconfig I2C_SYNQUACER
12080d676a6cSArd Biesheuvel	tristate "Socionext SynQuacer I2C controller"
12090d676a6cSArd Biesheuvel	depends on ARCH_SYNQUACER || COMPILE_TEST
12100d676a6cSArd Biesheuvel	help
12110d676a6cSArd Biesheuvel	  Say Y here to include support for the I2C controller used in some
12120d676a6cSArd Biesheuvel	  Fujitsu and Socionext SoCs.
12130d676a6cSArd Biesheuvel
12140d676a6cSArd Biesheuvel	  This driver can also be built as a module. If so, the module
12150d676a6cSArd Biesheuvel	  will be called i2c-synquacer.
12160d676a6cSArd Biesheuvel
1217db811ca0SColin Crossconfig I2C_TEGRA
1218db811ca0SColin Cross	tristate "NVIDIA Tegra internal I2C controller"
12194a2d5f66SKrzysztof Kozlowski	depends on ARCH_TEGRA || (COMPILE_TEST && (ARC || ARM || ARM64 || M68K || RISCV || SUPERH || SPARC))
12204a2d5f66SKrzysztof Kozlowski	# COMPILE_TEST needs architectures with readsX()/writesX() primitives
1221db811ca0SColin Cross	help
1222db811ca0SColin Cross	  If you say yes to this option, support will be included for the
1223db811ca0SColin Cross	  I2C controller embedded in NVIDIA Tegra SOCs
1224db811ca0SColin Cross
12250297ffa6SShardar Shariff Mdconfig I2C_TEGRA_BPMP
12260297ffa6SShardar Shariff Md	tristate "NVIDIA Tegra BPMP I2C controller"
12274a2d5f66SKrzysztof Kozlowski	depends on TEGRA_BPMP || COMPILE_TEST
12284a2d5f66SKrzysztof Kozlowski	default y if TEGRA_BPMP
12290297ffa6SShardar Shariff Md	help
12300297ffa6SShardar Shariff Md	  If you say yes to this option, support will be included for the I2C
12310297ffa6SShardar Shariff Md	  controller embedded in NVIDIA Tegra SoCs accessed via the BPMP.
12320297ffa6SShardar Shariff Md
12330297ffa6SShardar Shariff Md	  This I2C driver is a 'virtual' I2C driver. The real driver is part
12340297ffa6SShardar Shariff Md	  of the BPMP firmware, and this driver merely communicates with that
12350297ffa6SShardar Shariff Md	  real driver.
12360297ffa6SShardar Shariff Md
1237dd6fd4a3SMasahiro Yamadaconfig I2C_UNIPHIER
1238dd6fd4a3SMasahiro Yamada	tristate "UniPhier FIFO-less I2C controller"
123961c18aebSMasahiro Yamada	depends on ARCH_UNIPHIER || COMPILE_TEST
1240dd6fd4a3SMasahiro Yamada	help
1241dd6fd4a3SMasahiro Yamada	  If you say yes to this option, support will be included for
1242dd6fd4a3SMasahiro Yamada	  the UniPhier FIFO-less I2C interface embedded in PH1-LD4, PH1-sLD8,
1243dd6fd4a3SMasahiro Yamada	  or older UniPhier SoCs.
1244dd6fd4a3SMasahiro Yamada
12456a62974bSMasahiro Yamadaconfig I2C_UNIPHIER_F
12466a62974bSMasahiro Yamada	tristate "UniPhier FIFO-builtin I2C controller"
124761c18aebSMasahiro Yamada	depends on ARCH_UNIPHIER || COMPILE_TEST
12486a62974bSMasahiro Yamada	help
12496a62974bSMasahiro Yamada	  If you say yes to this option, support will be included for
12506a62974bSMasahiro Yamada	  the UniPhier FIFO-builtin I2C interface embedded in PH1-Pro4,
12516a62974bSMasahiro Yamada	  PH1-Pro5, or newer UniPhier SoCs.
12526a62974bSMasahiro Yamada
1253f5b728a1SJean Delvareconfig I2C_VERSATILE
1254f5b728a1SJean Delvare	tristate "ARM Versatile/Realview I2C bus support"
12555871a153SRussell King	depends on ARCH_MPS2 || ARCH_VERSATILE || ARCH_REALVIEW || ARCH_VEXPRESS || COMPILE_TEST
1256f5b728a1SJean Delvare	select I2C_ALGOBIT
1257f5b728a1SJean Delvare	help
1258f5b728a1SJean Delvare	  Say yes if you want to support the I2C serial bus on ARMs Versatile
1259f5b728a1SJean Delvare	  range of platforms.
1260f5b728a1SJean Delvare
1261f5b728a1SJean Delvare	  This driver can also be built as a module.  If so, the module
1262f5b728a1SJean Delvare	  will be called i2c-versatile.
1263f5b728a1SJean Delvare
1264560746ebSTony Priskconfig I2C_WMT
1265560746ebSTony Prisk	tristate "Wondermedia WM8xxx SoC I2C bus support"
12664a2d5f66SKrzysztof Kozlowski	depends on ARCH_VT8500 || COMPILE_TEST
1267560746ebSTony Prisk	help
1268560746ebSTony Prisk	  Say yes if you want to support the I2C bus on Wondermedia 8xxx-series
1269560746ebSTony Prisk	  SoCs.
1270560746ebSTony Prisk
1271560746ebSTony Prisk	  This driver can also be built as a module. If so, the module will be
1272560746ebSTony Prisk	  called i2c-wmt.
1273560746ebSTony Prisk
127485660f43SRade Bozicconfig I2C_OCTEON
127585660f43SRade Bozic	tristate "Cavium OCTEON I2C bus support"
12769ddebc46SDavid Daney	depends on CAVIUM_OCTEON_SOC
127785660f43SRade Bozic	help
127885660f43SRade Bozic	  Say yes if you want to support the I2C serial bus on Cavium
127985660f43SRade Bozic	  OCTEON SOC.
128085660f43SRade Bozic
128185660f43SRade Bozic	  This driver can also be built as a module.  If so, the module
128285660f43SRade Bozic	  will be called i2c-octeon.
128385660f43SRade Bozic
128422d40209SJan Glauberconfig I2C_THUNDERX
128522d40209SJan Glauber	tristate "Cavium ThunderX I2C bus support"
128622d40209SJan Glauber	depends on 64BIT && PCI && (ARM64 || COMPILE_TEST)
12871e586671SJan Glauber	select I2C_SMBUS
128822d40209SJan Glauber	help
128922d40209SJan Glauber	  Say yes if you want to support the I2C serial bus on Cavium
129022d40209SJan Glauber	  ThunderX SOC.
129122d40209SJan Glauber
129222d40209SJan Glauber	  This driver can also be built as a module.  If so, the module
129322d40209SJan Glauber	  will be called i2c-thunderx.
129422d40209SJan Glauber
1295e1d5b659SRichard Röjforsconfig I2C_XILINX
1296e1d5b659SRichard Röjfors	tristate "Xilinx I2C Controller"
1297417e86ceSKees Cook	depends on HAS_IOMEM
1298e1d5b659SRichard Röjfors	help
1299e1d5b659SRichard Röjfors	  If you say yes to this option, support will be included for the
1300e1d5b659SRichard Röjfors	  Xilinx I2C controller.
1301e1d5b659SRichard Röjfors
1302e1d5b659SRichard Röjfors	  This driver can also be built as a module.  If so, the module
1303e1d5b659SRichard Röjfors	  will be called xilinx_i2c.
1304e1d5b659SRichard Röjfors
13052bbd681bSSubhendu Sekhar Beheraconfig I2C_XLP9XX
1306ef99066cSRob Herring	tristate "Cavium ThunderX2 I2C support"
1307ef99066cSRob Herring	depends on ARCH_THUNDER2 || COMPILE_TEST
13082bbd681bSSubhendu Sekhar Behera	help
13092bbd681bSSubhendu Sekhar Behera	  This driver enables support for the on-chip I2C interface of
1310ef99066cSRob Herring	  the Cavium ThunderX2 processors. (Originally on Netlogic XLP SoCs.)
13112bbd681bSSubhendu Sekhar Behera
13122bbd681bSSubhendu Sekhar Behera	  This driver can also be built as a module.  If so, the module will
13132bbd681bSSubhendu Sekhar Behera	  be called i2c-xlp9xx.
13142bbd681bSSubhendu Sekhar Behera
13156ccbe607SKuninori Morimotoconfig I2C_RCAR
13166ccbe607SKuninori Morimoto	tristate "Renesas R-Car I2C Controller"
131707316149SSimon Horman	depends on ARCH_RENESAS || COMPILE_TEST
1318d5fd120eSJean Delvare	select I2C_SLAVE
1319c4651f11SWolfram Sang	select I2C_SMBUS
13205d856651SGeert Uytterhoeven	select RESET_CONTROLLER if ARCH_RCAR_GEN3 || ARCH_RCAR_GEN4
13216ccbe607SKuninori Morimoto	help
13226ccbe607SKuninori Morimoto	  If you say yes to this option, support will be included for the
13236ccbe607SKuninori Morimoto	  R-Car I2C controller.
13246ccbe607SKuninori Morimoto
13256ccbe607SKuninori Morimoto	  This driver can also be built as a module.  If so, the module
13266ccbe607SKuninori Morimoto	  will be called i2c-rcar.
13276ccbe607SKuninori Morimoto
1328f5b728a1SJean Delvarecomment "External I2C/SMBus adapter drivers"
1329f5b728a1SJean Delvare
1330335d7c58SGuenter Roeckconfig I2C_DIOLAN_U2C
1331335d7c58SGuenter Roeck	tristate "Diolan U2C-12 USB adapter"
1332335d7c58SGuenter Roeck	depends on USB
1333335d7c58SGuenter Roeck	help
1334335d7c58SGuenter Roeck	  If you say yes to this option, support will be included for Diolan
1335335d7c58SGuenter Roeck	  U2C-12, a USB to I2C interface.
1336335d7c58SGuenter Roeck
1337335d7c58SGuenter Roeck	  This driver can also be built as a module.  If so, the module
1338335d7c58SGuenter Roeck	  will be called i2c-diolan-u2c.
1339335d7c58SGuenter Roeck
1340db23e500SLaurentiu Palcuconfig I2C_DLN2
1341db23e500SLaurentiu Palcu	tristate "Diolan DLN-2 USB I2C adapter"
1342db23e500SLaurentiu Palcu	depends on MFD_DLN2
1343db23e500SLaurentiu Palcu	help
1344db23e500SLaurentiu Palcu	 If you say yes to this option, support will be included for Diolan
1345db23e500SLaurentiu Palcu	 DLN2, a USB to I2C interface.
1346db23e500SLaurentiu Palcu
1347db23e500SLaurentiu Palcu	 This driver can also be built as a module.  If so, the module
1348db23e500SLaurentiu Palcu	 will be called i2c-dln2.
1349db23e500SLaurentiu Palcu
1350bfd3824cSWentong Wuconfig I2C_LJCA
1351bfd3824cSWentong Wu	tristate "I2C functionality of Intel La Jolla Cove Adapter"
1352bfd3824cSWentong Wu	depends on USB_LJCA
1353bfd3824cSWentong Wu	default USB_LJCA
1354bfd3824cSWentong Wu	help
1355bfd3824cSWentong Wu	  If you say yes to this option, I2C functionality support of Intel
1356bfd3824cSWentong Wu	  La Jolla Cove Adapter (LJCA) will be included.
1357bfd3824cSWentong Wu
1358bfd3824cSWentong Wu	  This driver can also be built as a module.  If so, the module
1359bfd3824cSWentong Wu	  will be called i2c-ljca.
1360bfd3824cSWentong Wu
1361c5cf27dbSMing Yuconfig I2C_NCT6694
1362c5cf27dbSMing Yu	tristate "Nuvoton NCT6694 I2C adapter support"
1363c5cf27dbSMing Yu	depends on MFD_NCT6694
1364c5cf27dbSMing Yu	help
1365c5cf27dbSMing Yu	  If you say yes to this option, support will be included for Nuvoton
1366c5cf27dbSMing Yu	  NCT6694, a USB to I2C interface.
1367c5cf27dbSMing Yu
1368c5cf27dbSMing Yu	  This driver can also be built as a module. If so, the module will
1369c5cf27dbSMing Yu	  be called i2c-nct6694.
1370c5cf27dbSMing Yu
1371daf16134SIsrael Cepedaconfig I2C_USBIO
1372daf16134SIsrael Cepeda	tristate "Intel USBIO I2C Adapter support"
1373daf16134SIsrael Cepeda	depends on USB_USBIO
1374daf16134SIsrael Cepeda	default USB_USBIO
1375daf16134SIsrael Cepeda	help
1376daf16134SIsrael Cepeda	  Select this option to enable I2C driver for the INTEL
1377daf16134SIsrael Cepeda	  USBIO driver stack.
1378daf16134SIsrael Cepeda
1379daf16134SIsrael Cepeda	  This driver can also be built as a module.  If so, the module
1380daf16134SIsrael Cepeda	  will be called i2c_usbio.
1381daf16134SIsrael Cepeda
13824a769542SBence Csókásconfig I2C_CP2615
13834a769542SBence Csókás	tristate "Silicon Labs CP2615 USB sound card and I2C adapter"
13844a769542SBence Csókás	depends on USB
13854a769542SBence Csókás	help
13864a769542SBence Csókás	  If you say yes to this option, support will be included for Silicon
13874a769542SBence Csókás	  Labs CP2615's I2C interface.
13884a769542SBence Csókás
13894a769542SBence Csókás	  This driver can also be built as a module.  If so, the module
13904a769542SBence Csókás	  will be called i2c-cp2615.
13914a769542SBence Csókás
13921da177e4SLinus Torvaldsconfig I2C_PARPORT
13931da177e4SLinus Torvalds	tristate "Parallel port adapter"
13940244ad00SMartin Schwidefsky	depends on PARPORT
13951da177e4SLinus Torvalds	select I2C_ALGOBIT
139635859254SJean Delvare	select I2C_SMBUS
13971da177e4SLinus Torvalds	help
13981da177e4SLinus Torvalds	  This supports parallel port I2C adapters such as the ones made by
13991da177e4SLinus Torvalds	  Philips or Velleman, Analog Devices evaluation boards, and more.
14001da177e4SLinus Torvalds	  Basically any adapter using the parallel port as an I2C bus with
1401511f7d54SWolfram Sang	  no extra chipset is supported by this driver, or could be. Please
1402511f7d54SWolfram Sang	  read the file Documentation/i2c/busses/i2c-parport.rst for details.
1403e97b81ddSMark M. Hoffman
14041da177e4SLinus Torvalds	  This support is also available as a module.  If so, the module
14051da177e4SLinus Torvalds	  will be called i2c-parport.
14061da177e4SLinus Torvalds
140736169369STharun Kumar Pconfig I2C_PCI1XXXX
140836169369STharun Kumar P	tristate "PCI1XXXX I2C Host Adapter"
140936169369STharun Kumar P	depends on PCI
141036169369STharun Kumar P	help
141136169369STharun Kumar P	  If you say yes to this option, support will be included for
141236169369STharun Kumar P	  Microchip PCI1XXXX's I2C interface.
141336169369STharun Kumar P
141436169369STharun Kumar P	  This driver can also be built as a module. If so, the module will
141536169369STharun Kumar P	  be called i2c-mchp-pci1xxxx.
141636169369STharun Kumar P
141783e53a8fSAndrew Lunnconfig I2C_ROBOTFUZZ_OSIF
141883e53a8fSAndrew Lunn	tristate "RobotFuzz Open Source InterFace USB adapter"
141983e53a8fSAndrew Lunn	depends on USB
142083e53a8fSAndrew Lunn	help
142183e53a8fSAndrew Lunn	  If you say yes to this option, support will be included for the
142283e53a8fSAndrew Lunn	  RobotFuzz Open Source InterFace USB to I2C interface.
142383e53a8fSAndrew Lunn
142483e53a8fSAndrew Lunn	  This driver can also be built as a module.  If so, the module
142583e53a8fSAndrew Lunn	  will be called i2c-osif.
142683e53a8fSAndrew Lunn
1427f5b728a1SJean Delvareconfig I2C_TAOS_EVM
1428f5b728a1SJean Delvare	tristate "TAOS evaluation module"
142921eaab6dSLinus Torvalds	depends on TTY
1430f5b728a1SJean Delvare	select SERIO
1431f5b728a1SJean Delvare	select SERIO_SERPORT
1432beb58aa3SOlof Johansson	help
1433f5b728a1SJean Delvare	  This supports TAOS evaluation modules on serial port. In order to
1434f5b728a1SJean Delvare	  use this driver, you will need the inputattach tool, which is part
1435f5b728a1SJean Delvare	  of the input-utils package.
1436beb58aa3SOlof Johansson
1437f5b728a1SJean Delvare	  If unsure, say N.
1438f5b728a1SJean Delvare
1439f5b728a1SJean Delvare	  This support is also available as a module.  If so, the module
1440f5b728a1SJean Delvare	  will be called i2c-taos-evm.
1441f5b728a1SJean Delvare
1442f5b728a1SJean Delvareconfig I2C_TINY_USB
1443f5b728a1SJean Delvare	tristate "Tiny-USB adapter"
1444f5b728a1SJean Delvare	depends on USB
14451da177e4SLinus Torvalds	help
1446f5b728a1SJean Delvare	  If you say yes to this option, support will be included for the
1447f5b728a1SJean Delvare	  i2c-tiny-usb, a simple do-it-yourself USB to I2C interface. See
1448f5b728a1SJean Delvare	  http://www.harbaum.org/till/i2c_tiny_usb for hardware details.
1449f5b728a1SJean Delvare
1450f5b728a1SJean Delvare	  This driver can also be built as a module.  If so, the module
1451f5b728a1SJean Delvare	  will be called i2c-tiny-usb.
1452f5b728a1SJean Delvare
1453174a13aaSLars Poeschelconfig I2C_VIPERBOARD
1454174a13aaSLars Poeschel	tristate "Viperboard I2C master support"
1455174a13aaSLars Poeschel	depends on MFD_VIPERBOARD && USB
1456174a13aaSLars Poeschel	help
1457174a13aaSLars Poeschel	  Say yes here to access the I2C part of the Nano River
1458174a13aaSLars Poeschel	  Technologies Viperboard as I2C master.
1459174a13aaSLars Poeschel	  See viperboard API specification and Nano
1460174a13aaSLars Poeschel	  River Tech's viperboard.h for detailed meaning
1461174a13aaSLars Poeschel	  of the module parameters.
1462174a13aaSLars Poeschel
1463f5b728a1SJean Delvarecomment "Other I2C/SMBus bus drivers"
1464f5b728a1SJean Delvare
1465f5b728a1SJean Delvareconfig I2C_ACORN
1466f5b728a1SJean Delvare	tristate "Acorn IOC/IOMD I2C bus support"
1467f5b728a1SJean Delvare	depends on ARCH_ACORN
1468f5b728a1SJean Delvare	default y
1469f5b728a1SJean Delvare	select I2C_ALGOBIT
1470f5b728a1SJean Delvare	help
1471f5b728a1SJean Delvare	  Say yes if you want to support the I2C bus on Acorn platforms.
1472f5b728a1SJean Delvare
1473f5b728a1SJean Delvare	  If you don't know, say Y.
1474f5b728a1SJean Delvare
1475f5b728a1SJean Delvareconfig I2C_ELEKTOR
1476f5b728a1SJean Delvare	tristate "Elektor ISA card"
1477ce816fa8SUwe Kleine-König	depends on ISA && HAS_IOPORT_MAP && BROKEN_ON_SMP
1478f5b728a1SJean Delvare	select I2C_ALGOPCF
1479f5b728a1SJean Delvare	help
1480f5b728a1SJean Delvare	  This supports the PCF8584 ISA bus I2C adapter.  Say Y if you own
1481f5b728a1SJean Delvare	  such an adapter.
1482f5b728a1SJean Delvare
1483f5b728a1SJean Delvare	  This support is also available as a module.  If so, the module
1484f5b728a1SJean Delvare	  will be called i2c-elektor.
1485f5b728a1SJean Delvare
14864768e90eSMax Staudtconfig I2C_ICY
14874768e90eSMax Staudt	tristate "ICY Zorro card"
14884768e90eSMax Staudt	depends on ZORRO
14894768e90eSMax Staudt	select I2C_ALGOPCF
14904768e90eSMax Staudt	help
14914768e90eSMax Staudt	  This supports the PCF8584 Zorro bus I2C adapter, known as ICY.
14924768e90eSMax Staudt	  Say Y if you own such an adapter.
14934768e90eSMax Staudt
14944768e90eSMax Staudt	  This support is also available as a module.  If so, the module
14954768e90eSMax Staudt	  will be called i2c-icy.
14964768e90eSMax Staudt
1497724041aeSMax Staudt	  If you have a 2019 edition board with an LTC2990 sensor at address
1498724041aeSMax Staudt	  0x4c, loading the module 'ltc2990' is sufficient to enable it.
1499724041aeSMax Staudt
15006bec23bfSVadim Pasternakconfig I2C_MLXCPLD
15016bec23bfSVadim Pasternak	tristate "Mellanox I2C driver"
1502b2cacc2eSGeert Uytterhoeven	depends on X86_64 || (ARM64 && ACPI) || COMPILE_TEST
150347c21d2dSNiklas Schnelle	depends on HAS_IOPORT
15046bec23bfSVadim Pasternak	help
15056bec23bfSVadim Pasternak	  This exposes the Mellanox platform I2C busses to the linux I2C layer
1506b2cacc2eSGeert Uytterhoeven	  for X86 and ARM64/ACPI based systems.
15076bec23bfSVadim Pasternak	  Controller is implemented as CPLD logic.
15086bec23bfSVadim Pasternak
15096bec23bfSVadim Pasternak	  This driver can also be built as a module. If so, the module will be
15106bec23bfSVadim Pasternak	  called as i2c-mlxcpld.
15116bec23bfSVadim Pasternak
1512f5b728a1SJean Delvareconfig I2C_PCA_ISA
1513eff9ec95SMarco Aurelio da Costa	tristate "PCA9564/PCA9665 on an ISA bus"
1514f5b728a1SJean Delvare	depends on ISA
1515f5b728a1SJean Delvare	select I2C_ALGOPCA
1516f5b728a1SJean Delvare	help
1517eff9ec95SMarco Aurelio da Costa	  This driver supports ISA boards using the Philips PCA9564/PCA9665
1518f5b728a1SJean Delvare	  parallel bus to I2C bus controller.
1519f5b728a1SJean Delvare
1520f5b728a1SJean Delvare	  This driver can also be built as a module.  If so, the module
1521f5b728a1SJean Delvare	  will be called i2c-pca-isa.
1522f5b728a1SJean Delvare
1523f5b728a1SJean Delvare	  This device is almost undetectable and using this driver on a
1524f5b728a1SJean Delvare	  system which doesn't have this device will result in long
1525f5b728a1SJean Delvare	  delays when I2C/SMBus chip drivers are loaded (e.g. at boot
1526f5b728a1SJean Delvare	  time).  If unsure, say N.
1527f5b728a1SJean Delvare
15281da177e4SLinus Torvaldsconfig I2C_SIBYTE
15291da177e4SLinus Torvalds	tristate "SiByte SMBus interface"
153016538e6bSJan Engelhardt	depends on SIBYTE_SB1xxx_SOC
15311da177e4SLinus Torvalds	help
15321da177e4SLinus Torvalds	  Supports the SiByte SOC on-chip I2C interfaces (2 channels).
15331da177e4SLinus Torvalds
15349d230c9eSDoug Andersonconfig I2C_CROS_EC_TUNNEL
15359d230c9eSDoug Anderson	tristate "ChromeOS EC tunnel I2C bus"
153647f11e0bSEnric Balletbo i Serra	depends on CROS_EC
15379d230c9eSDoug Anderson	help
15389d230c9eSDoug Anderson	  If you say yes here you get an I2C bus that will tunnel i2c commands
15399d230c9eSDoug Anderson	  through to the other side of the ChromeOS EC to the i2c bus
15409d230c9eSDoug Anderson	  connected there. This will work whatever the interface used to
15419d230c9eSDoug Anderson	  talk to the EC (SPI, I2C or LPC).
15429d230c9eSDoug Anderson
1543f6505fbaSFeng Kanconfig I2C_XGENE_SLIMPRO
1544f6505fbaSFeng Kan	tristate "APM X-Gene SoC I2C SLIMpro devices support"
1545f6505fbaSFeng Kan	depends on ARCH_XGENE && MAILBOX
1546f6505fbaSFeng Kan	help
1547f6505fbaSFeng Kan	  Enable I2C bus access using the APM X-Gene SoC SLIMpro
1548f6505fbaSFeng Kan	  co-processor. The I2C device access the I2C bus via the X-Gene
1549f6505fbaSFeng Kan	  to SLIMpro (On chip coprocessor) mailbox mechanism.
1550f6505fbaSFeng Kan	  If unsure, say N.
1551f6505fbaSFeng Kan
15521da177e4SLinus Torvaldsconfig SCx200_ACB
1553a417bbd3SBen Gardner	tristate "Geode ACCESS.bus support"
1554f40213cdSJohannes Berg	depends on X86_32 && PCI && HAS_IOPORT
15551da177e4SLinus Torvalds	help
1556a417bbd3SBen Gardner	  Enable the use of the ACCESS.bus controllers on the Geode SCx200 and
1557a417bbd3SBen Gardner	  SC1100 processors and the CS5535 and CS5536 Geode companion devices.
15581da177e4SLinus Torvalds
15591da177e4SLinus Torvalds	  If you don't know what to do here, say N.
15601da177e4SLinus Torvalds
15611da177e4SLinus Torvalds	  This support is also available as a module.  If so, the module
15621da177e4SLinus Torvalds	  will be called scx200_acb.
15631da177e4SLinus Torvalds
156447083450SNeelesh Guptaconfig I2C_OPAL
156547083450SNeelesh Gupta	tristate "IBM OPAL I2C driver"
156647083450SNeelesh Gupta	depends on PPC_POWERNV
156747083450SNeelesh Gupta	default y
156847083450SNeelesh Gupta	help
156947083450SNeelesh Gupta	  This exposes the PowerNV platform i2c busses to the linux i2c layer,
157047083450SNeelesh Gupta	  the driver is based on the OPAL interfaces.
157147083450SNeelesh Gupta
157247083450SNeelesh Gupta	  This driver can also be built as a module. If so, the module will be
157347083450SNeelesh Gupta	  called as i2c-opal.
157447083450SNeelesh Gupta
1575d6ffb630SEddie Jamesconfig I2C_FSI
1576d6ffb630SEddie James	tristate "FSI I2C driver"
1577d6ffb630SEddie James	depends on FSI
1578d6ffb630SEddie James	help
1579d6ffb630SEddie James	  Driver for FSI bus attached I2C masters. These are I2C masters that
1580d6ffb630SEddie James	  are connected to the system over an FSI bus, instead of the more
1581d6ffb630SEddie James	  common PCI or MMIO interface.
1582d6ffb630SEddie James
1583d6ffb630SEddie James	  This driver can also be built as a module. If so, the module will be
1584d6ffb630SEddie James	  called as i2c-fsi.
1585d6ffb630SEddie James
15863cfc8838SJie Dengconfig I2C_VIRTIO
15873cfc8838SJie Deng        tristate "Virtio I2C Adapter"
15883cfc8838SJie Deng        select VIRTIO
15893cfc8838SJie Deng        help
15903cfc8838SJie Deng          If you say yes to this option, support will be included for the virtio
15913cfc8838SJie Deng          I2C adapter driver. The hardware can be emulated by any device model
15923cfc8838SJie Deng          software according to the virtio protocol.
15933cfc8838SJie Deng
15943cfc8838SJie Deng          This driver can also be built as a module. If so, the module
15953cfc8838SJie Deng          will be called i2c-virtio.
15963cfc8838SJie Deng
15971da177e4SLinus Torvaldsendmenu
1598