xref: /linux/drivers/i2c/busses/Kconfig (revision dfba48a70cb68888efb494c9642502efe73614ed)
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)"
2037e173eb8SMario Limonciello	depends on PCI && HAS_IOPORT && X86
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
595d6263c46SPratap Nirujogiconfig I2C_DESIGNWARE_AMDISP
596d6263c46SPratap Nirujogi	tristate "Synopsys DesignWare Platform for AMDISP"
59766e64b45SGeert Uytterhoeven	depends on DRM_AMD_ISP || COMPILE_TEST
598d6263c46SPratap Nirujogi	depends on I2C_DESIGNWARE_CORE
599d6263c46SPratap Nirujogi	help
600d6263c46SPratap Nirujogi	  If you say yes to this option, support will be included for the
601d6263c46SPratap Nirujogi	  AMDISP Synopsys DesignWare I2C adapter.
602d6263c46SPratap Nirujogi
603d6263c46SPratap Nirujogi	  This driver can also be built as a module.  If so, the module
604d6263c46SPratap Nirujogi	  will be called amd_isp_i2c_designware.
605d6263c46SPratap Nirujogi
60678d5e9e2SJan Dabrosconfig I2C_DESIGNWARE_AMDPSP
60778d5e9e2SJan Dabros	bool "AMD PSP I2C semaphore support"
60878d5e9e2SJan Dabros	depends on ACPI
609440da737SMario Limonciello	depends on CRYPTO_DEV_SP_PSP
610482c84e9SMario Limonciello	depends on PCI
61178d5e9e2SJan Dabros	depends on I2C_DESIGNWARE_PLATFORM
612440da737SMario Limonciello	depends on (I2C_DESIGNWARE_PLATFORM=y && CRYPTO_DEV_CCP_DD=y) || \
613440da737SMario Limonciello		   (I2C_DESIGNWARE_PLATFORM=m && CRYPTO_DEV_CCP_DD)
61478d5e9e2SJan Dabros	help
61578d5e9e2SJan Dabros	  This driver enables managed host access to the selected I2C bus shared
61678d5e9e2SJan Dabros	  between AMD CPU and AMD PSP.
61778d5e9e2SJan Dabros
61878d5e9e2SJan Dabros	  You should say Y if running on an AMD system equipped with the PSP.
61978d5e9e2SJan Dabros
620c2549011SSerge Seminconfig I2C_DESIGNWARE_BAYTRAIL
621c2549011SSerge Semin	bool "Intel Baytrail I2C semaphore support"
622c2549011SSerge Semin	depends on ACPI
623c2549011SSerge Semin	depends on I2C_DESIGNWARE_PLATFORM
624c2549011SSerge Semin	depends on (I2C_DESIGNWARE_PLATFORM=m && IOSF_MBI) || \
625c2549011SSerge Semin		   (I2C_DESIGNWARE_PLATFORM=y && IOSF_MBI=y)
626c2549011SSerge Semin	help
627c2549011SSerge Semin	  This driver enables managed host access to the PMIC I2C bus on select
628c2549011SSerge Semin	  Intel BayTrail platforms using the X-Powers AXP288 PMIC. It allows
629c2549011SSerge Semin	  the host to request uninterrupted access to the PMIC's I2C bus from
630c2549011SSerge Semin	  the platform firmware controlling it. You should say Y if running on
631c2549011SSerge Semin	  a BayTrail system using the AXP288.
632c2549011SSerge Semin
633fe20ff5cSDirk Brandewieconfig I2C_DESIGNWARE_PCI
63466049b33SHeikki Krogerus	tristate "Synopsys DesignWare PCI driver"
635fe20ff5cSDirk Brandewie	depends on PCI
636531310ddSAndy Shevchenko	select I2C_CCGX_UCSI
637fe20ff5cSDirk Brandewie	help
638fe20ff5cSDirk Brandewie	  If you say yes to this option, support will be included for the
63966049b33SHeikki Krogerus	  Synopsys DesignWare I2C adapters on the PCI bus. Only master mode is
64066049b33SHeikki Krogerus	  supported.
641fe20ff5cSDirk Brandewie
642fe20ff5cSDirk Brandewie	  This driver can also be built as a module.  If so, the module
643fe20ff5cSDirk Brandewie	  will be called i2c-designware-pci.
6444ad48e6aSPaul Mundt
64566049b33SHeikki Krogerusendif
64666049b33SHeikki Krogerus
6474a7a0822SBaruch Siachconfig I2C_DIGICOLOR
6484a7a0822SBaruch Siach	tristate "Conexant Digicolor I2C driver"
6494a2d5f66SKrzysztof Kozlowski	depends on ARCH_DIGICOLOR || COMPILE_TEST
6504a7a0822SBaruch Siach	help
6514a7a0822SBaruch Siach	  Support for Conexant Digicolor SoCs (CX92755) I2C controller driver.
6524a7a0822SBaruch Siach
6534a7a0822SBaruch Siach	  This driver can also be built as a module.  If so, the module
6544a7a0822SBaruch Siach	  will be called i2c-digicolor.
6554a7a0822SBaruch Siach
6563e1b76beSJayachandran Cconfig I2C_EG20T
6573e1b76beSJayachandran C	tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) I2C"
6587a852b02SPaul Burton	depends on PCI && (X86_32 || MIPS || COMPILE_TEST)
6593e1b76beSJayachandran C	help
6603e1b76beSJayachandran C	  This driver is for PCH(Platform controller Hub) I2C of EG20T which
6613e1b76beSJayachandran C	  is an IOH(Input/Output Hub) for x86 embedded processor.
6623e1b76beSJayachandran C	  This driver can access PCH I2C bus device.
6633e1b76beSJayachandran C
6643e1b76beSJayachandran C	  This driver also can be used for LAPIS Semiconductor IOH(Input/
6653e1b76beSJayachandran C	  Output Hub), ML7213, ML7223 and ML7831.
6663e1b76beSJayachandran C	  ML7213 IOH is for IVI(In-Vehicle Infotainment) use, ML7223 IOH is
6673e1b76beSJayachandran C	  for MP(Media Phone) use and ML7831 IOH is for general purpose use.
6683e1b76beSJayachandran C	  ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series.
6693e1b76beSJayachandran C	  ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH.
6703e1b76beSJayachandran C
6715faf6e1fSWolfram Sangconfig I2C_EMEV2
6725faf6e1fSWolfram Sang	tristate "EMMA Mobile series I2C adapter"
6735faf6e1fSWolfram Sang	depends on HAVE_CLK
674b7d518e6SWolfram Sang	select I2C_SLAVE
6755faf6e1fSWolfram Sang	help
6765faf6e1fSWolfram Sang	  If you say yes to this option, support will be included for the
6775faf6e1fSWolfram Sang	  I2C interface on the Renesas Electronics EM/EV family of processors.
6785faf6e1fSWolfram Sang
6798a73cd4cSNaveen Krishna Chconfig I2C_EXYNOS5
680a009310fSKrzysztof Kozlowski	tristate "Exynos high-speed I2C driver"
6814a2d5f66SKrzysztof Kozlowski	depends on OF
6824a2d5f66SKrzysztof Kozlowski	depends on ARCH_EXYNOS || COMPILE_TEST
6834a2d5f66SKrzysztof Kozlowski	default y if ARCH_EXYNOS
6848a73cd4cSNaveen Krishna Ch	help
685cf9ae42cSKrzysztof Kozlowski	  High-speed I2C controller on Samsung Exynos5 and newer Samsung SoCs:
686cf9ae42cSKrzysztof Kozlowski	  Exynos5250, Exynos5260, Exynos5410, Exynos542x, Exynos5800,
687c4bcef90SSam Protsenko	  Exynos5433, Exynos7, Exynos850 and ExynosAutoV9.
688cf9ae42cSKrzysztof Kozlowski	  Choose Y here only if you build for such Samsung SoC.
6898a73cd4cSNaveen Krishna Ch
6901c23af90SHaavard Skinnemoenconfig I2C_GPIO
6911c23af90SHaavard Skinnemoen	tristate "GPIO-based bitbanging I2C"
6927e5cd69aSGeert Uytterhoeven	depends on GPIOLIB || COMPILE_TEST
6931c23af90SHaavard Skinnemoen	select I2C_ALGOBIT
6941c23af90SHaavard Skinnemoen	help
6951c23af90SHaavard Skinnemoen	  This is a very simple bitbanging I2C driver utilizing the
6961c23af90SHaavard Skinnemoen	  arch-neutral GPIO API to control the SCL and SDA lines.
6971c23af90SHaavard Skinnemoen
69814911c6fSWolfram Sangconfig I2C_GPIO_FAULT_INJECTOR
69914911c6fSWolfram Sang	bool "GPIO-based fault injector"
70014911c6fSWolfram Sang	depends on I2C_GPIO
70114911c6fSWolfram Sang	help
70214911c6fSWolfram Sang	  This adds some functionality to the i2c-gpio driver which can inject
70314911c6fSWolfram Sang	  faults to an I2C bus, so another bus master can be stress-tested.
70414911c6fSWolfram Sang	  This is for debugging. If unsure, say 'no'.
70514911c6fSWolfram Sang
7064a55ed6fSNick Hawkinsconfig I2C_GXP
7074a55ed6fSNick Hawkins	tristate "GXP I2C Interface"
7084a55ed6fSNick Hawkins	depends on ARCH_HPE_GXP || COMPILE_TEST
7094a55ed6fSNick Hawkins	help
7104a55ed6fSNick Hawkins	  This enables support for GXP I2C interface. The I2C engines can be
7114a55ed6fSNick Hawkins	  either I2C master or I2C slaves.
7124a55ed6fSNick Hawkins
7134ad48e6aSPaul Mundtconfig I2C_HIGHLANDER
7144ad48e6aSPaul Mundt	tristate "Highlander FPGA SMBus interface"
7154a2d5f66SKrzysztof Kozlowski	depends on SH_HIGHLANDER || COMPILE_TEST
7164ad48e6aSPaul Mundt	help
7174ad48e6aSPaul Mundt	  If you say yes to this option, support will be included for
7184ad48e6aSPaul Mundt	  the SMBus interface located in the FPGA on various Highlander
7194ad48e6aSPaul Mundt	  boards, particularly the R0P7780LC0011RL and R0P7785LC0011RL
7204ad48e6aSPaul Mundt	  FPGAs. This is wholly unrelated to the SoC I2C.
7214ad48e6aSPaul Mundt
7224ad48e6aSPaul Mundt	  This driver can also be built as a module.  If so, the module
7234ad48e6aSPaul Mundt	  will be called i2c-highlander.
7244ad48e6aSPaul Mundt
725d62fbdb9SYicong Yangconfig I2C_HISI
726d62fbdb9SYicong Yang	tristate "HiSilicon I2C controller"
72752951ea1SWeilong Chen	depends on ARM64 || COMPILE_TEST
728d62fbdb9SYicong Yang	help
729d62fbdb9SYicong Yang	  Say Y here if you want to have Hisilicon I2C controller support
730d62fbdb9SYicong Yang	  available on the Kunpeng Server.
731d62fbdb9SYicong Yang
732d62fbdb9SYicong Yang	  This driver can also be built as a module. If so, the module
733d62fbdb9SYicong Yang	  will be called i2c-hisi.
734d62fbdb9SYicong Yang
7351da177e4SLinus Torvaldsconfig I2C_IBM_IIC
7361da177e4SLinus Torvalds	tristate "IBM PPC 4xx on-chip I2C interface"
737838349b5SSean MacLennan	depends on 4xx
7381da177e4SLinus Torvalds	help
7391da177e4SLinus Torvalds	  Say Y here if you want to use IIC peripheral found on
7401da177e4SLinus Torvalds	  embedded IBM PPC 4xx based systems.
7411da177e4SLinus Torvalds
7421da177e4SLinus Torvalds	  This driver can also be built as a module.  If so, the module
7431da177e4SLinus Torvalds	  will be called i2c-ibm_iic.
7441da177e4SLinus Torvalds
74527bce457SJames Hoganconfig I2C_IMG
74627bce457SJames Hogan	tristate "Imagination Technologies I2C SCB Controller"
7478d06c330SJames Hogan	depends on MIPS || COMPILE_TEST
74827bce457SJames Hogan	help
74927bce457SJames Hogan	  Say Y here if you want to use the IMG I2C SCB controller,
75006205206SAndrew Bresticker	  available on the TZ1090 and other IMG SoCs.
75127bce457SJames Hogan
75227bce457SJames Hogan	  This driver can also be built as a module.  If so, the module
75327bce457SJames Hogan	  will be called i2c-img-scb.
75427bce457SJames Hogan
755aa11e38cSDarius Augulisconfig I2C_IMX
756aa11e38cSDarius Augulis	tristate "IMX I2C interface"
757311499eeSCiprian Marian Costea	depends on ARCH_MXC || ARCH_LAYERSCAPE || ARCH_S32 || COLDFIRE \
758311499eeSCiprian Marian Costea		|| COMPILE_TEST
759f7414cd6SBiwen Li	select I2C_SLAVE
760aa11e38cSDarius Augulis	help
761aa11e38cSDarius Augulis	  Say Y here if you want to use the IIC bus controller on
762311499eeSCiprian Marian Costea	  the Freescale i.MX/MXC/S32G, Layerscape or ColdFire processors.
763aa11e38cSDarius Augulis
764aa11e38cSDarius Augulis	  This driver can also be built as a module. If so, the module
765aa11e38cSDarius Augulis	  will be called i2c-imx.
766aa11e38cSDarius Augulis
767a55fa9d0SGao Panconfig I2C_IMX_LPI2C
768a55fa9d0SGao Pan	tristate "IMX Low Power I2C interface"
769a55fa9d0SGao Pan	depends on ARCH_MXC || COMPILE_TEST
7705851a88dSArnd Bergmann	select I2C_SLAVE
771a55fa9d0SGao Pan	help
772a55fa9d0SGao Pan	  Say Y here if you want to use the Low Power IIC bus controller
773a55fa9d0SGao Pan	  on the Freescale i.MX processors.
774a55fa9d0SGao Pan
775a55fa9d0SGao Pan	  This driver can also be built as a module. If so, the module
776a55fa9d0SGao Pan	  will be called i2c-imx-lpi2c.
777a55fa9d0SGao Pan
7781da177e4SLinus Torvaldsconfig I2C_IOP3XX
779b91a69d1SArnd Bergmann	tristate "Intel IXP4xx on-chip I2C interface"
780b91a69d1SArnd Bergmann	depends on ARCH_IXP4XX || COMPILE_TEST
7811da177e4SLinus Torvalds	help
7821da177e4SLinus Torvalds	  Say Y here if you want to use the IIC bus controller on
783b91a69d1SArnd Bergmann	  the Intel IXP4xx Network Processors.
7841da177e4SLinus Torvalds
7851da177e4SLinus Torvalds	  This driver can also be built as a module.  If so, the module
7861da177e4SLinus Torvalds	  will be called i2c-iop3xx.
7871da177e4SLinus Torvalds
788ba92222eSZubair Lutfullah Kakakhelconfig I2C_JZ4780
789ba92222eSZubair Lutfullah Kakakhel	tristate "JZ4780 I2C controller interface support"
79012cb084dSPaul Cercueil	depends on MIPS || COMPILE_TEST
791ba92222eSZubair Lutfullah Kakakhel	help
792ba92222eSZubair Lutfullah Kakakhel	 If you say yes to this option, support will be included for the
793ba92222eSZubair Lutfullah Kakakhel	 Ingenic JZ4780 I2C controller.
794ba92222eSZubair Lutfullah Kakakhel
795ba92222eSZubair Lutfullah Kakakhel	 If you don't know what to do here, say N.
796ba92222eSZubair Lutfullah Kakakhel
7975ea55847STroy Mitchellconfig I2C_K1
7985ea55847STroy Mitchell	tristate "SpacemiT K1 I2C adapter"
7995ea55847STroy Mitchell	depends on ARCH_SPACEMIT || COMPILE_TEST
8005ea55847STroy Mitchell	depends on OF
8015ea55847STroy Mitchell	help
8025ea55847STroy Mitchell	  This option enables support for the I2C interface on the SpacemiT K1
8035ea55847STroy Mitchell	  platform.
8045ea55847STroy Mitchell
8055ea55847STroy Mitchell	  If you enable this configuration, the kernel will include support for
8065ea55847STroy Mitchell	  the I2C adapter specific to the SpacemiT K1 platform. This driver can
8075ea55847STroy Mitchell	  be used to manage I2C bus transactions, which are necessary for
8085ea55847STroy Mitchell	  interfacing with I2C peripherals such as sensors, EEPROMs, and other
8095ea55847STroy Mitchell	  devices.
8105ea55847STroy Mitchell
8115ea55847STroy Mitchell	  This driver can also be built as a module.  If so, the
8125ea55847STroy Mitchell	  module will be called `i2c-k1`.
8135ea55847STroy Mitchell
814c7e08c81SGerhard Englederconfig I2C_KEBA
815c7e08c81SGerhard Engleder	tristate "KEBA I2C controller support"
816c7e08c81SGerhard Engleder	depends on HAS_IOMEM
8176d340541SGeert Uytterhoeven	depends on KEBA_CP500 || COMPILE_TEST
818c7e08c81SGerhard Engleder	select AUXILIARY_BUS
819c7e08c81SGerhard Engleder	help
820c7e08c81SGerhard Engleder	  This driver supports the I2C controller found in KEBA system FPGA
821c7e08c81SGerhard Engleder	  devices.
822c7e08c81SGerhard Engleder
823c7e08c81SGerhard Engleder	  This driver can also be built as a module. If so, the module
824c7e08c81SGerhard Engleder	  will be called i2c-keba.
825c7e08c81SGerhard Engleder
826e0b9b7b0SKevin Strasserconfig I2C_KEMPLD
827e0b9b7b0SKevin Strasser	tristate "Kontron COM I2C Controller"
828e0b9b7b0SKevin Strasser	depends on MFD_KEMPLD
829e0b9b7b0SKevin Strasser	help
830e0b9b7b0SKevin Strasser	  This enables support for the I2C bus interface on some Kontron ETX
831e0b9b7b0SKevin Strasser	  and COMexpress (ETXexpress) modules.
832e0b9b7b0SKevin Strasser
833e0b9b7b0SKevin Strasser	  This driver can also be built as a module. If so, the module
834e0b9b7b0SKevin Strasser	  will be called i2c-kempld.
835e0b9b7b0SKevin Strasser
8363f9c37a0SJoachim Eastwoodconfig I2C_LPC2K
8373f9c37a0SJoachim Eastwood	tristate "I2C bus support for NXP LPC2K/LPC178x/18xx/43xx"
8383f9c37a0SJoachim Eastwood	depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
8393f9c37a0SJoachim Eastwood	help
8403f9c37a0SJoachim Eastwood	  This driver supports the I2C interface found several NXP
8413f9c37a0SJoachim Eastwood	  devices including LPC2xxx, LPC178x/7x and LPC18xx/43xx.
8423f9c37a0SJoachim Eastwood
8433f9c37a0SJoachim Eastwood	  This driver can also be built as a module.  If so, the module
8443f9c37a0SJoachim Eastwood	  will be called i2c-lpc2k.
8453f9c37a0SJoachim Eastwood
846015e61f0SBinbin Zhouconfig I2C_LS2X
847015e61f0SBinbin Zhou	tristate "Loongson LS2X I2C adapter"
848015e61f0SBinbin Zhou	depends on MACH_LOONGSON64 || COMPILE_TEST
849015e61f0SBinbin Zhou	help
850015e61f0SBinbin Zhou	  If you say yes to this option, support will be included for the
851015e61f0SBinbin Zhou	  I2C interface on the Loongson-2K SoCs and Loongson LS7A bridge
852015e61f0SBinbin Zhou	  chip.
853015e61f0SBinbin Zhou
854015e61f0SBinbin Zhou	  This driver can also be built as a module. If so, the module
855015e61f0SBinbin Zhou	  will be called i2c-ls2x.
856015e61f0SBinbin Zhou
857b5b5b320SKhalil Blaiechconfig I2C_MLXBF
858b5b5b320SKhalil Blaiech        tristate "Mellanox BlueField I2C controller"
85905385900SAndi Shyti        depends on (MELLANOX_PLATFORM && ARM64) || COMPILE_TEST
86065d78b8dSAdam Borowski	depends on ACPI
861c62dac0aSArnd Bergmann	select I2C_SLAVE
862b5b5b320SKhalil Blaiech        help
863b5b5b320SKhalil Blaiech          Enabling this option will add I2C SMBus support for Mellanox BlueField
864b5b5b320SKhalil Blaiech          system.
865b5b5b320SKhalil Blaiech
866b5b5b320SKhalil Blaiech          This driver can also be built as a module. If so, the module will be
867b5b5b320SKhalil Blaiech          called i2c-mlxbf.
868b5b5b320SKhalil Blaiech
869b5b5b320SKhalil Blaiech          This driver implements an I2C SMBus host controller and enables both
870b5b5b320SKhalil Blaiech          master and slave functions.
871b5b5b320SKhalil Blaiech
87230021e37SBeniamino Galvaniconfig I2C_MESON
87330021e37SBeniamino Galvani	tristate "Amlogic Meson I2C controller"
87491401783SBen Dooks	depends on ARCH_MESON || COMPILE_TEST
8754a2d5f66SKrzysztof Kozlowski	depends on COMMON_CLK
87630021e37SBeniamino Galvani	help
87730021e37SBeniamino Galvani	  If you say yes to this option, support will be included for the
87830021e37SBeniamino Galvani	  I2C interface on the Amlogic Meson family of SoCs.
87930021e37SBeniamino Galvani
88064a6f1c4SConor Dooleyconfig I2C_MICROCHIP_CORE
88164a6f1c4SConor Dooley	tristate "Microchip FPGA I2C controller"
882819c7345SConor Dooley	depends on ARCH_MICROCHIP_POLARFIRE || COMPILE_TEST
88364a6f1c4SConor Dooley	depends on OF
88464a6f1c4SConor Dooley	help
88564a6f1c4SConor Dooley	  If you say yes to this option, support will be included for the
88664a6f1c4SConor Dooley	  I2C interface on Microchip FPGAs.
88764a6f1c4SConor Dooley
88864a6f1c4SConor Dooley	  This driver can also be built as a module. If so, the module will be
88964a6f1c4SConor Dooley	  called i2c-microchip-core.
89064a6f1c4SConor Dooley
8911da177e4SLinus Torvaldsconfig I2C_MPC
892f00d738fSWolfgang Grandegger	tristate "MPC107/824x/85xx/512x/52xx/83xx/86xx"
8930724d464SKumar Gala	depends on PPC
8941da177e4SLinus Torvalds	help
8951da177e4SLinus Torvalds	  If you say yes to this option, support will be included for the
896f00d738fSWolfgang Grandegger	  built-in I2C interface on the MPC107, Tsi107, MPC512x, MPC52xx,
897f00d738fSWolfgang Grandegger	  MPC8240, MPC8245, MPC83xx, MPC85xx and MPC8641 family processors.
8981da177e4SLinus Torvalds
8991da177e4SLinus Torvalds	  This driver can also be built as a module.  If so, the module
9001da177e4SLinus Torvalds	  will be called i2c-mpc.
9011da177e4SLinus Torvalds
902ce38815dSXudong Chenconfig I2C_MT65XX
903ce38815dSXudong Chen	tristate "MediaTek I2C adapter"
904ce38815dSXudong Chen	depends on ARCH_MEDIATEK || COMPILE_TEST
905ce38815dSXudong Chen	help
906ce38815dSXudong Chen	  This selects the MediaTek(R) Integrated Inter Circuit bus driver
907ce38815dSXudong Chen	  for MT65xx and MT81xx.
908ce38815dSXudong Chen	  If you want to use MediaTek(R) I2C interface, say Y or M here.
909ce38815dSXudong Chen	  If unsure, say N.
910ce38815dSXudong Chen
911d04913ecSStefan Roeseconfig I2C_MT7621
912d04913ecSStefan Roese	tristate "MT7621/MT7628 I2C Controller"
913fd6acb0dSLorenzo Bianconi	depends on (RALINK && (SOC_MT7620 || SOC_MT7621)) || ARCH_AIROHA || COMPILE_TEST
914d04913ecSStefan Roese	help
915d04913ecSStefan Roese	  Say Y here to include support for I2C controller in the
916d04913ecSStefan Roese	  MediaTek MT7621/MT7628 SoCs.
917d04913ecSStefan Roese
918f5b728a1SJean Delvareconfig I2C_MV64XXX
919f5b728a1SJean Delvare	tristate "Marvell mv64xxx I2C Controller"
920a329ddd4SChristophe Leroy	depends on PLAT_ORION || ARCH_SUNXI || ARCH_MVEBU || COMPILE_TEST
9211da177e4SLinus Torvalds	help
922f5b728a1SJean Delvare	  If you say yes to this option, support will be included for the
923f5b728a1SJean Delvare	  built-in I2C interface on the Marvell 64xxx line of host bridges.
9243d66ac7dSMaxime Ripard	  This driver is also used for Allwinner SoCs I2C controllers.
9251da177e4SLinus Torvalds
9261da177e4SLinus Torvalds	  This driver can also be built as a module.  If so, the module
927f5b728a1SJean Delvare	  will be called i2c-mv64xxx.
928279e9024SJean Delvare
929a8da7fecSWolfram Sangconfig I2C_MXS
930a8da7fecSWolfram Sang	tristate "Freescale i.MX28 I2C interface"
9314a2d5f66SKrzysztof Kozlowski	depends on SOC_IMX28 || COMPILE_TEST
9326b866c15SWolfram Sang	select STMP_DEVICE
933a8da7fecSWolfram Sang	help
934a8da7fecSWolfram Sang	  Say Y here if you want to use the I2C bus controller on
935a8da7fecSWolfram Sang	  the Freescale i.MX28 processors.
936a8da7fecSWolfram Sang
937a8da7fecSWolfram Sang	  This driver can also be built as a module.  If so, the module
938a8da7fecSWolfram Sang	  will be called i2c-mxs.
939a8da7fecSWolfram Sang
9403f9900f1Ssrinidhi kasagarconfig I2C_NOMADIK
9413f9900f1Ssrinidhi kasagar	tristate "ST-Ericsson Nomadik/Ux500 I2C Controller"
9424d51ac5bSAndi Shyti	depends on ARM_AMBA || COMPILE_TEST
9433f9900f1Ssrinidhi kasagar	help
9443f9900f1Ssrinidhi kasagar	  If you say yes to this option, support will be included for the
945419408edSAlessandro Rubini	  I2C interface from ST-Ericsson's Nomadik and Ux500 architectures,
946419408edSAlessandro Rubini	  as well as the STA2X11 PCIe I/O HUB.
9473f9900f1Ssrinidhi kasagar
948bbc38ed5STyrone Tingconfig I2C_NPCM
94956a1485bSTali Perry	tristate "Nuvoton I2C Controller"
950bbc38ed5STyrone Ting	depends on ARCH_NPCM || COMPILE_TEST
95156a1485bSTali Perry	help
95256a1485bSTali Perry	  If you say yes to this option, support will be included for the
953bbc38ed5STyrone Ting	  Nuvoton I2C controller, which is available on the NPCM BMC
954bbc38ed5STyrone Ting	  controllers.
95556a1485bSTali Perry	  Driver can also support slave mode (select I2C_SLAVE).
95656a1485bSTali Perry
95718f98b1eSPeter Korsgaardconfig I2C_OCORES
95818f98b1eSPeter Korsgaard	tristate "OpenCores I2C Controller"
95918f98b1eSPeter Korsgaard	help
96018f98b1eSPeter Korsgaard	  If you say yes to this option, support will be included for the
96118f98b1eSPeter Korsgaard	  OpenCores I2C controller. For details see
96218f98b1eSPeter Korsgaard	  http://www.opencores.org/projects.cgi/web/i2c/overview
96318f98b1eSPeter Korsgaard
96418f98b1eSPeter Korsgaard	  This driver can also be built as a module.  If so, the module
96518f98b1eSPeter Korsgaard	  will be called i2c-ocores.
96618f98b1eSPeter Korsgaard
967010d442cSKomal Shahconfig I2C_OMAP
968010d442cSKomal Shah	tristate "OMAP I2C adapter"
9694a2d5f66SKrzysztof Kozlowski	depends on ARCH_OMAP || ARCH_K3 || COMPILE_TEST
9700d7bb85eSArnd Bergmann	default MACH_OMAP_OSK
971b6ef830cSJayesh Choudhary	select MULTIPLEXER
972010d442cSKomal Shah	help
973010d442cSKomal Shah	  If you say yes to this option, support will be included for the
974010d442cSKomal Shah	  I2C interface on the Texas Instruments OMAP1/2 family of processors.
975010d442cSKomal Shah	  Like OMAP1510/1610/1710/5912 and OMAP242x.
976010d442cSKomal Shah	  For details see http://www.ti.com/omap.
977010d442cSKomal Shah
978d211e62aSManivannan Sadhasivamconfig I2C_OWL
979d211e62aSManivannan Sadhasivam	tristate "Actions Semiconductor Owl I2C Controller"
980d211e62aSManivannan Sadhasivam	depends on ARCH_ACTIONS || COMPILE_TEST
981d211e62aSManivannan Sadhasivam	help
982d211e62aSManivannan Sadhasivam	  Say Y here if you want to use the I2C bus controller on
983d211e62aSManivannan Sadhasivam	  the Actions Semiconductor Owl SoC's.
984d211e62aSManivannan Sadhasivam
985f5b728a1SJean Delvareconfig I2C_PASEMI
986f5b728a1SJean Delvare	tristate "PA Semi SMBus interface"
987f5b728a1SJean Delvare	depends on PPC_PASEMI && PCI
988f5b728a1SJean Delvare	help
989f5b728a1SJean Delvare	  Supports the PA Semi PWRficient on-chip SMBus interfaces.
990f5b728a1SJean Delvare
991d88ae293SSven Peterconfig I2C_APPLE
992d88ae293SSven Peter	tristate "Apple SMBus platform driver"
993a76d19e6SBenjamin Gray	depends on !I2C_PASEMI
994d88ae293SSven Peter	depends on ARCH_APPLE || COMPILE_TEST
995d88ae293SSven Peter	default ARCH_APPLE
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
13614a769542SBence Csókásconfig I2C_CP2615
13624a769542SBence Csókás	tristate "Silicon Labs CP2615 USB sound card and I2C adapter"
13634a769542SBence Csókás	depends on USB
13644a769542SBence Csókás	help
13654a769542SBence Csókás	  If you say yes to this option, support will be included for Silicon
13664a769542SBence Csókás	  Labs CP2615's I2C interface.
13674a769542SBence Csókás
13684a769542SBence Csókás	  This driver can also be built as a module.  If so, the module
13694a769542SBence Csókás	  will be called i2c-cp2615.
13704a769542SBence Csókás
13711da177e4SLinus Torvaldsconfig I2C_PARPORT
13721da177e4SLinus Torvalds	tristate "Parallel port adapter"
13730244ad00SMartin Schwidefsky	depends on PARPORT
13741da177e4SLinus Torvalds	select I2C_ALGOBIT
137535859254SJean Delvare	select I2C_SMBUS
13761da177e4SLinus Torvalds	help
13771da177e4SLinus Torvalds	  This supports parallel port I2C adapters such as the ones made by
13781da177e4SLinus Torvalds	  Philips or Velleman, Analog Devices evaluation boards, and more.
13791da177e4SLinus Torvalds	  Basically any adapter using the parallel port as an I2C bus with
1380511f7d54SWolfram Sang	  no extra chipset is supported by this driver, or could be. Please
1381511f7d54SWolfram Sang	  read the file Documentation/i2c/busses/i2c-parport.rst for details.
1382e97b81ddSMark M. Hoffman
13831da177e4SLinus Torvalds	  This support is also available as a module.  If so, the module
13841da177e4SLinus Torvalds	  will be called i2c-parport.
13851da177e4SLinus Torvalds
138636169369STharun Kumar Pconfig I2C_PCI1XXXX
138736169369STharun Kumar P	tristate "PCI1XXXX I2C Host Adapter"
138836169369STharun Kumar P	depends on PCI
138936169369STharun Kumar P	help
139036169369STharun Kumar P	  If you say yes to this option, support will be included for
139136169369STharun Kumar P	  Microchip PCI1XXXX's I2C interface.
139236169369STharun Kumar P
139336169369STharun Kumar P	  This driver can also be built as a module. If so, the module will
139436169369STharun Kumar P	  be called i2c-mchp-pci1xxxx.
139536169369STharun Kumar P
139683e53a8fSAndrew Lunnconfig I2C_ROBOTFUZZ_OSIF
139783e53a8fSAndrew Lunn	tristate "RobotFuzz Open Source InterFace USB adapter"
139883e53a8fSAndrew Lunn	depends on USB
139983e53a8fSAndrew Lunn	help
140083e53a8fSAndrew Lunn	  If you say yes to this option, support will be included for the
140183e53a8fSAndrew Lunn	  RobotFuzz Open Source InterFace USB to I2C interface.
140283e53a8fSAndrew Lunn
140383e53a8fSAndrew Lunn	  This driver can also be built as a module.  If so, the module
140483e53a8fSAndrew Lunn	  will be called i2c-osif.
140583e53a8fSAndrew Lunn
1406f5b728a1SJean Delvareconfig I2C_TAOS_EVM
1407f5b728a1SJean Delvare	tristate "TAOS evaluation module"
140821eaab6dSLinus Torvalds	depends on TTY
1409f5b728a1SJean Delvare	select SERIO
1410f5b728a1SJean Delvare	select SERIO_SERPORT
1411beb58aa3SOlof Johansson	help
1412f5b728a1SJean Delvare	  This supports TAOS evaluation modules on serial port. In order to
1413f5b728a1SJean Delvare	  use this driver, you will need the inputattach tool, which is part
1414f5b728a1SJean Delvare	  of the input-utils package.
1415beb58aa3SOlof Johansson
1416f5b728a1SJean Delvare	  If unsure, say N.
1417f5b728a1SJean Delvare
1418f5b728a1SJean Delvare	  This support is also available as a module.  If so, the module
1419f5b728a1SJean Delvare	  will be called i2c-taos-evm.
1420f5b728a1SJean Delvare
1421f5b728a1SJean Delvareconfig I2C_TINY_USB
1422f5b728a1SJean Delvare	tristate "Tiny-USB adapter"
1423f5b728a1SJean Delvare	depends on USB
14241da177e4SLinus Torvalds	help
1425f5b728a1SJean Delvare	  If you say yes to this option, support will be included for the
1426f5b728a1SJean Delvare	  i2c-tiny-usb, a simple do-it-yourself USB to I2C interface. See
1427f5b728a1SJean Delvare	  http://www.harbaum.org/till/i2c_tiny_usb for hardware details.
1428f5b728a1SJean Delvare
1429f5b728a1SJean Delvare	  This driver can also be built as a module.  If so, the module
1430f5b728a1SJean Delvare	  will be called i2c-tiny-usb.
1431f5b728a1SJean Delvare
1432174a13aaSLars Poeschelconfig I2C_VIPERBOARD
1433174a13aaSLars Poeschel	tristate "Viperboard I2C master support"
1434174a13aaSLars Poeschel	depends on MFD_VIPERBOARD && USB
1435174a13aaSLars Poeschel	help
1436174a13aaSLars Poeschel	  Say yes here to access the I2C part of the Nano River
1437174a13aaSLars Poeschel	  Technologies Viperboard as I2C master.
1438174a13aaSLars Poeschel	  See viperboard API specification and Nano
1439174a13aaSLars Poeschel	  River Tech's viperboard.h for detailed meaning
1440174a13aaSLars Poeschel	  of the module parameters.
1441174a13aaSLars Poeschel
1442f5b728a1SJean Delvarecomment "Other I2C/SMBus bus drivers"
1443f5b728a1SJean Delvare
1444f5b728a1SJean Delvareconfig I2C_ACORN
1445f5b728a1SJean Delvare	tristate "Acorn IOC/IOMD I2C bus support"
1446f5b728a1SJean Delvare	depends on ARCH_ACORN
1447f5b728a1SJean Delvare	default y
1448f5b728a1SJean Delvare	select I2C_ALGOBIT
1449f5b728a1SJean Delvare	help
1450f5b728a1SJean Delvare	  Say yes if you want to support the I2C bus on Acorn platforms.
1451f5b728a1SJean Delvare
1452f5b728a1SJean Delvare	  If you don't know, say Y.
1453f5b728a1SJean Delvare
1454f5b728a1SJean Delvareconfig I2C_ELEKTOR
1455f5b728a1SJean Delvare	tristate "Elektor ISA card"
1456ce816fa8SUwe Kleine-König	depends on ISA && HAS_IOPORT_MAP && BROKEN_ON_SMP
1457f5b728a1SJean Delvare	select I2C_ALGOPCF
1458f5b728a1SJean Delvare	help
1459f5b728a1SJean Delvare	  This supports the PCF8584 ISA bus I2C adapter.  Say Y if you own
1460f5b728a1SJean Delvare	  such an adapter.
1461f5b728a1SJean Delvare
1462f5b728a1SJean Delvare	  This support is also available as a module.  If so, the module
1463f5b728a1SJean Delvare	  will be called i2c-elektor.
1464f5b728a1SJean Delvare
14654768e90eSMax Staudtconfig I2C_ICY
14664768e90eSMax Staudt	tristate "ICY Zorro card"
14674768e90eSMax Staudt	depends on ZORRO
14684768e90eSMax Staudt	select I2C_ALGOPCF
14694768e90eSMax Staudt	help
14704768e90eSMax Staudt	  This supports the PCF8584 Zorro bus I2C adapter, known as ICY.
14714768e90eSMax Staudt	  Say Y if you own such an adapter.
14724768e90eSMax Staudt
14734768e90eSMax Staudt	  This support is also available as a module.  If so, the module
14744768e90eSMax Staudt	  will be called i2c-icy.
14754768e90eSMax Staudt
1476724041aeSMax Staudt	  If you have a 2019 edition board with an LTC2990 sensor at address
1477724041aeSMax Staudt	  0x4c, loading the module 'ltc2990' is sufficient to enable it.
1478724041aeSMax Staudt
14796bec23bfSVadim Pasternakconfig I2C_MLXCPLD
14806bec23bfSVadim Pasternak	tristate "Mellanox I2C driver"
1481b2cacc2eSGeert Uytterhoeven	depends on X86_64 || (ARM64 && ACPI) || COMPILE_TEST
148247c21d2dSNiklas Schnelle	depends on HAS_IOPORT
14836bec23bfSVadim Pasternak	help
14846bec23bfSVadim Pasternak	  This exposes the Mellanox platform I2C busses to the linux I2C layer
1485b2cacc2eSGeert Uytterhoeven	  for X86 and ARM64/ACPI based systems.
14866bec23bfSVadim Pasternak	  Controller is implemented as CPLD logic.
14876bec23bfSVadim Pasternak
14886bec23bfSVadim Pasternak	  This driver can also be built as a module. If so, the module will be
14896bec23bfSVadim Pasternak	  called as i2c-mlxcpld.
14906bec23bfSVadim Pasternak
1491f5b728a1SJean Delvareconfig I2C_PCA_ISA
1492eff9ec95SMarco Aurelio da Costa	tristate "PCA9564/PCA9665 on an ISA bus"
1493f5b728a1SJean Delvare	depends on ISA
1494f5b728a1SJean Delvare	select I2C_ALGOPCA
1495f5b728a1SJean Delvare	help
1496eff9ec95SMarco Aurelio da Costa	  This driver supports ISA boards using the Philips PCA9564/PCA9665
1497f5b728a1SJean Delvare	  parallel bus to I2C bus controller.
1498f5b728a1SJean Delvare
1499f5b728a1SJean Delvare	  This driver can also be built as a module.  If so, the module
1500f5b728a1SJean Delvare	  will be called i2c-pca-isa.
1501f5b728a1SJean Delvare
1502f5b728a1SJean Delvare	  This device is almost undetectable and using this driver on a
1503f5b728a1SJean Delvare	  system which doesn't have this device will result in long
1504f5b728a1SJean Delvare	  delays when I2C/SMBus chip drivers are loaded (e.g. at boot
1505f5b728a1SJean Delvare	  time).  If unsure, say N.
1506f5b728a1SJean Delvare
15071da177e4SLinus Torvaldsconfig I2C_SIBYTE
15081da177e4SLinus Torvalds	tristate "SiByte SMBus interface"
150916538e6bSJan Engelhardt	depends on SIBYTE_SB1xxx_SOC
15101da177e4SLinus Torvalds	help
15111da177e4SLinus Torvalds	  Supports the SiByte SOC on-chip I2C interfaces (2 channels).
15121da177e4SLinus Torvalds
15139d230c9eSDoug Andersonconfig I2C_CROS_EC_TUNNEL
15149d230c9eSDoug Anderson	tristate "ChromeOS EC tunnel I2C bus"
151547f11e0bSEnric Balletbo i Serra	depends on CROS_EC
15169d230c9eSDoug Anderson	help
15179d230c9eSDoug Anderson	  If you say yes here you get an I2C bus that will tunnel i2c commands
15189d230c9eSDoug Anderson	  through to the other side of the ChromeOS EC to the i2c bus
15199d230c9eSDoug Anderson	  connected there. This will work whatever the interface used to
15209d230c9eSDoug Anderson	  talk to the EC (SPI, I2C or LPC).
15219d230c9eSDoug Anderson
1522f6505fbaSFeng Kanconfig I2C_XGENE_SLIMPRO
1523f6505fbaSFeng Kan	tristate "APM X-Gene SoC I2C SLIMpro devices support"
1524f6505fbaSFeng Kan	depends on ARCH_XGENE && MAILBOX
1525f6505fbaSFeng Kan	help
1526f6505fbaSFeng Kan	  Enable I2C bus access using the APM X-Gene SoC SLIMpro
1527f6505fbaSFeng Kan	  co-processor. The I2C device access the I2C bus via the X-Gene
1528f6505fbaSFeng Kan	  to SLIMpro (On chip coprocessor) mailbox mechanism.
1529f6505fbaSFeng Kan	  If unsure, say N.
1530f6505fbaSFeng Kan
15311da177e4SLinus Torvaldsconfig SCx200_ACB
1532a417bbd3SBen Gardner	tristate "Geode ACCESS.bus support"
1533*f40213cdSJohannes Berg	depends on X86_32 && PCI && HAS_IOPORT
15341da177e4SLinus Torvalds	help
1535a417bbd3SBen Gardner	  Enable the use of the ACCESS.bus controllers on the Geode SCx200 and
1536a417bbd3SBen Gardner	  SC1100 processors and the CS5535 and CS5536 Geode companion devices.
15371da177e4SLinus Torvalds
15381da177e4SLinus Torvalds	  If you don't know what to do here, say N.
15391da177e4SLinus Torvalds
15401da177e4SLinus Torvalds	  This support is also available as a module.  If so, the module
15411da177e4SLinus Torvalds	  will be called scx200_acb.
15421da177e4SLinus Torvalds
154347083450SNeelesh Guptaconfig I2C_OPAL
154447083450SNeelesh Gupta	tristate "IBM OPAL I2C driver"
154547083450SNeelesh Gupta	depends on PPC_POWERNV
154647083450SNeelesh Gupta	default y
154747083450SNeelesh Gupta	help
154847083450SNeelesh Gupta	  This exposes the PowerNV platform i2c busses to the linux i2c layer,
154947083450SNeelesh Gupta	  the driver is based on the OPAL interfaces.
155047083450SNeelesh Gupta
155147083450SNeelesh Gupta	  This driver can also be built as a module. If so, the module will be
155247083450SNeelesh Gupta	  called as i2c-opal.
155347083450SNeelesh Gupta
1554d6ffb630SEddie Jamesconfig I2C_FSI
1555d6ffb630SEddie James	tristate "FSI I2C driver"
1556d6ffb630SEddie James	depends on FSI
1557d6ffb630SEddie James	help
1558d6ffb630SEddie James	  Driver for FSI bus attached I2C masters. These are I2C masters that
1559d6ffb630SEddie James	  are connected to the system over an FSI bus, instead of the more
1560d6ffb630SEddie James	  common PCI or MMIO interface.
1561d6ffb630SEddie James
1562d6ffb630SEddie James	  This driver can also be built as a module. If so, the module will be
1563d6ffb630SEddie James	  called as i2c-fsi.
1564d6ffb630SEddie James
15653cfc8838SJie Dengconfig I2C_VIRTIO
15663cfc8838SJie Deng        tristate "Virtio I2C Adapter"
15673cfc8838SJie Deng        select VIRTIO
15683cfc8838SJie Deng        help
15693cfc8838SJie Deng          If you say yes to this option, support will be included for the virtio
15703cfc8838SJie Deng          I2C adapter driver. The hardware can be emulated by any device model
15713cfc8838SJie Deng          software according to the virtio protocol.
15723cfc8838SJie Deng
15733cfc8838SJie Deng          This driver can also be built as a module. If so, the module
15743cfc8838SJie Deng          will be called i2c-virtio.
15753cfc8838SJie Deng
15761da177e4SLinus Torvaldsendmenu
1577