xref: /linux/drivers/i2c/busses/Kconfig (revision 8c56f9ef25a33e51f09a448d25cf863b61c9658d)
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"
2116538e6bSJan Engelhardt	depends on PCI
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"
33417e86ceSKees Cook	depends on PCI
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"
4516538e6bSJan Engelhardt	depends on PCI
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"
5516538e6bSJan Engelhardt	depends on PCI
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_AMD756_S4882
661da177e4SLinus Torvalds	tristate "SMBus multiplexing on the Tyan S4882"
67417e86ceSKees Cook	depends on I2C_AMD756 && X86
681da177e4SLinus Torvalds	help
691da177e4SLinus Torvalds	  Enabling this option will add specific SMBus support for the Tyan
701da177e4SLinus Torvalds	  S4882 motherboard.  On this 4-CPU board, the SMBus is multiplexed
711da177e4SLinus Torvalds	  over 8 different channels, where the various memory module EEPROMs
721da177e4SLinus Torvalds	  and temperature sensors live.  Saying yes here will give you access
731da177e4SLinus Torvalds	  to these in addition to the trunk.
741da177e4SLinus Torvalds
751da177e4SLinus Torvalds	  This driver can also be built as a module.  If so, the module
761da177e4SLinus Torvalds	  will be called i2c-amd756-s4882.
771da177e4SLinus Torvalds
781da177e4SLinus Torvaldsconfig I2C_AMD8111
791da177e4SLinus Torvalds	tristate "AMD 8111"
8016538e6bSJan Engelhardt	depends on PCI
811da177e4SLinus Torvalds	help
821da177e4SLinus Torvalds	  If you say yes to this option, support will be included for the
831da177e4SLinus Torvalds	  second (SMBus 2.0) AMD 8111 mainboard I2C interface.
841da177e4SLinus Torvalds
851da177e4SLinus Torvalds	  This driver can also be built as a module.  If so, the module
861da177e4SLinus Torvalds	  will be called i2c-amd8111.
871da177e4SLinus Torvalds
88529766e0SElie Morisseconfig I2C_AMD_MP2
89529766e0SElie Morisse	tristate "AMD MP2 PCIe"
90529766e0SElie Morisse	depends on PCI && ACPI
91529766e0SElie Morisse	help
92529766e0SElie Morisse	  If you say yes to this option, support will be included for the AMD
93529766e0SElie Morisse	  MP2 PCIe I2C adapter.
94529766e0SElie Morisse
95529766e0SElie Morisse	  This driver can also be built as modules.  If so, the modules will
96529766e0SElie Morisse	  be called i2c-amd-mp2-pci and i2c-amd-mp2-plat.
97529766e0SElie Morisse
9815ef2775SWei Yanconfig I2C_HIX5HD2
9915ef2775SWei Yan	tristate "Hix5hd2 high-speed I2C driver"
100ae824f00SRuqiang Ju	depends on ARCH_HISI || ARCH_HIX5HD2 || COMPILE_TEST
10115ef2775SWei Yan	help
102ae824f00SRuqiang Ju	  Say Y here to include support for the high-speed I2C controller
103ae824f00SRuqiang Ju	  used in HiSilicon hix5hd2 SoCs.
10415ef2775SWei Yan
10515ef2775SWei Yan	  This driver can also be built as a module. If so, the module
10615ef2775SWei Yan	  will be called i2c-hix5hd2.
10715ef2775SWei Yan
108f5b728a1SJean Delvareconfig I2C_I801
10939376434SSeth Heasley	tristate "Intel 82801 (ICH/PCH)"
110f5b728a1SJean Delvare	depends on PCI
1115c7b9167SAndy Shevchenko	select P2SB if X86
1128eacfcebSJean Delvare	select CHECK_SIGNATURE if X86 && DMI
1137b0ed334SBenjamin Tissoires	select I2C_SMBUS
114f5b728a1SJean Delvare	help
115f5b728a1SJean Delvare	  If you say yes to this option, support will be included for the Intel
116f5b728a1SJean Delvare	  801 family of mainboard I2C interfaces.  Specifically, the following
117f5b728a1SJean Delvare	  versions of the chipset are supported:
118f5b728a1SJean Delvare	    82801AA
119f5b728a1SJean Delvare	    82801AB
120f5b728a1SJean Delvare	    82801BA
121f5b728a1SJean Delvare	    82801CA/CAM
122f5b728a1SJean Delvare	    82801DB
123f5b728a1SJean Delvare	    82801EB/ER (ICH5/ICH5R)
124f5b728a1SJean Delvare	    6300ESB
125f5b728a1SJean Delvare	    ICH6
126f5b728a1SJean Delvare	    ICH7
127f5b728a1SJean Delvare	    ESB2
128f5b728a1SJean Delvare	    ICH8
129f5b728a1SJean Delvare	    ICH9
130cb04e95bSSeth Heasley	    EP80579 (Tolapai)
131f5b728a1SJean Delvare	    ICH10
132cb04e95bSSeth Heasley	    5/3400 Series (PCH)
133662cda8aSSeth Heasley	    6 Series (PCH)
134e30d9859SSeth Heasley	    Patsburg (PCH)
135662cda8aSSeth Heasley	    DH89xxCC (PCH)
1366e2a851eSSeth Heasley	    Panther Point (PCH)
137062737fbSSeth Heasley	    Lynx Point (PCH)
138c2db409cSSeth Heasley	    Avoton (SOC)
139a3fc0ff0SJames Ralston	    Wellsburg (PCH)
140f39901c1SSeth Heasley	    Coleto Creek (PCH)
141b299de83SJean Delvare	    Wildcat Point (PCH)
1421b31e9b7SChew, Kean ho	    BayTrail (SOC)
14315407798SJarkko Nikula	    Braswell (SOC)
14480d943abSJarkko Nikula	    Sunrise Point (PCH)
14580d943abSJarkko Nikula	    Kaby Lake (PCH)
1462b630df7SJarkko Nikula	    DNV (SOC)
1472b630df7SJarkko Nikula	    Broxton (SOC)
148cdc5a311SAlexandra Yates	    Lewisburg (PCH)
1499827f9ebSMika Westerberg	    Gemini Lake (SOC)
15080d943abSJarkko Nikula	    Cannon Lake (PCH)
151cb09d943SJarkko Nikula	    Cedar Fork (PCH)
1520bff2a86SMika Westerberg	    Ice Lake (PCH)
1535cd1c56cSJarkko Nikula	    Comet Lake (PCH)
1549be1485aSJarkko Nikula	    Elkhart Lake (PCH)
155051d769fSJarkko Nikula	    Tiger Lake (PCH)
156790591f4SAndy Shevchenko	    Jasper Lake (SOC)
15712745b07SMika Westerberg	    Emmitsburg (PCH)
158332fdaebSJarkko Nikula	    Alder Lake (PCH)
1599c02d401SJarkko Nikula	    Raptor Lake (PCH)
160bcfc2ab7SJarkko Nikula	    Meteor Lake (SOC and PCH)
161*8c56f9efSJarkko Nikula	    Birch Stream (SOC)
162f5b728a1SJean Delvare
163f5b728a1SJean Delvare	  This driver can also be built as a module.  If so, the module
164f5b728a1SJean Delvare	  will be called i2c-i801.
165f5b728a1SJean Delvare
1665bc12008SAlek Duconfig I2C_ISCH
1675bc12008SAlek Du	tristate "Intel SCH SMBus 1.0"
1680244ad00SMartin Schwidefsky	depends on PCI
169fd46a006SDenis Turischev	select LPC_SCH
1705bc12008SAlek Du	help
1715bc12008SAlek Du	  Say Y here if you want to use SMBus controller on the Intel SCH
1725bc12008SAlek Du	  based systems.
1735bc12008SAlek Du
1745bc12008SAlek Du	  This driver can also be built as a module. If so, the module
1755bc12008SAlek Du	  will be called i2c-isch.
1765bc12008SAlek Du
17713f35ac1SNeil Hormanconfig I2C_ISMT
17813f35ac1SNeil Horman	tristate "Intel iSMT SMBus Controller"
17913f35ac1SNeil Horman	depends on PCI && X86
18013f35ac1SNeil Horman	help
18113f35ac1SNeil Horman	  If you say yes to this option, support will be included for the Intel
18213f35ac1SNeil Horman	  iSMT SMBus host controller interface.
18313f35ac1SNeil Horman
18413f35ac1SNeil Horman	  This driver can also be built as a module.  If so, the module will be
18513f35ac1SNeil Horman	  called i2c-ismt.
18613f35ac1SNeil Horman
187f5b728a1SJean Delvareconfig I2C_PIIX4
18876b3e28fSCrane Cai	tristate "Intel PIIX4 and compatible (ATI/AMD/Serverworks/Broadcom/SMSC)"
189f5b728a1SJean Delvare	depends on PCI
190f5b728a1SJean Delvare	help
191f5b728a1SJean Delvare	  If you say yes to this option, support will be included for the Intel
192f5b728a1SJean Delvare	  PIIX4 family of mainboard I2C interfaces.  Specifically, the following
193f5b728a1SJean Delvare	  versions of the chipset are supported (note that Serverworks is part
194f5b728a1SJean Delvare	  of Broadcom):
195f5b728a1SJean Delvare	    Intel PIIX4
196f5b728a1SJean Delvare	    Intel 440MX
197f5b728a1SJean Delvare	    ATI IXP200
198f5b728a1SJean Delvare	    ATI IXP300
199f5b728a1SJean Delvare	    ATI IXP400
200f5b728a1SJean Delvare	    ATI SB600
2012a2f7404SAndrew Armenia	    ATI SB700/SP5100
202f5b728a1SJean Delvare	    ATI SB800
2033806e94bSCrane Cai	    AMD Hudson-2
204032f708bSShane Huang	    AMD ML
205b996ac90SShane Huang	    AMD CZ
20624beb83aSPu Wen	    Hygon CZ
207f5b728a1SJean Delvare	    Serverworks OSB4
208f5b728a1SJean Delvare	    Serverworks CSB5
209f5b728a1SJean Delvare	    Serverworks CSB6
210f5b728a1SJean Delvare	    Serverworks HT-1000
211506a8b6cSFlavio Leitner	    Serverworks HT-1100
212f5b728a1SJean Delvare	    SMSC Victory66
213f5b728a1SJean Delvare
2142a2f7404SAndrew Armenia	  Some AMD chipsets contain two PIIX4-compatible SMBus
2152a2f7404SAndrew Armenia	  controllers. This driver will attempt to use both controllers
2162a2f7404SAndrew Armenia	  on the SB700/SP5100, if they have been initialized by the BIOS.
2172a2f7404SAndrew Armenia
218f5b728a1SJean Delvare	  This driver can also be built as a module.  If so, the module
219f5b728a1SJean Delvare	  will be called i2c-piix4.
220f5b728a1SJean Delvare
22117a924bfSHans de Goedeconfig I2C_CHT_WC
22217a924bfSHans de Goede	tristate "Intel Cherry Trail Whiskey Cove PMIC smbus controller"
22317a924bfSHans de Goede	depends on INTEL_SOC_PMIC_CHTWC
22417a924bfSHans de Goede	help
22517a924bfSHans de Goede	  If you say yes to this option, support will be included for the
22617a924bfSHans de Goede	  SMBus controller found in the Intel Cherry Trail Whiskey Cove PMIC
22717a924bfSHans de Goede	  found on some Intel Cherry Trail systems.
22817a924bfSHans de Goede
2290224d45cSHans de Goede	  Note this controller is hooked up to a TI bq24292i charger-IC,
2300224d45cSHans de Goede	  combined with a FUSB302 Type-C port-controller as such it is advised
2317c8d4456SHeikki Krogerus	  to also select CONFIG_TYPEC_FUSB302=m.
2320224d45cSHans de Goede
233f5b728a1SJean Delvareconfig I2C_NFORCE2
234f5b728a1SJean Delvare	tristate "Nvidia nForce2, nForce3 and nForce4"
235f5b728a1SJean Delvare	depends on PCI
236f5b728a1SJean Delvare	help
237f5b728a1SJean Delvare	  If you say yes to this option, support will be included for the Nvidia
238f5b728a1SJean Delvare	  nForce2, nForce3 and nForce4 families of mainboard I2C interfaces.
239f5b728a1SJean Delvare
240f5b728a1SJean Delvare	  This driver can also be built as a module.  If so, the module
241f5b728a1SJean Delvare	  will be called i2c-nforce2.
242f5b728a1SJean Delvare
243f5b728a1SJean Delvareconfig I2C_NFORCE2_S4985
244f5b728a1SJean Delvare	tristate "SMBus multiplexing on the Tyan S4985"
245417e86ceSKees Cook	depends on I2C_NFORCE2 && X86
246f5b728a1SJean Delvare	help
247f5b728a1SJean Delvare	  Enabling this option will add specific SMBus support for the Tyan
248f5b728a1SJean Delvare	  S4985 motherboard.  On this 4-CPU board, the SMBus is multiplexed
249f5b728a1SJean Delvare	  over 4 different channels, where the various memory module EEPROMs
250f5b728a1SJean Delvare	  live.  Saying yes here will give you access to these in addition
251f5b728a1SJean Delvare	  to the trunk.
252f5b728a1SJean Delvare
253f5b728a1SJean Delvare	  This driver can also be built as a module.  If so, the module
254f5b728a1SJean Delvare	  will be called i2c-nforce2-s4985.
255f5b728a1SJean Delvare
256c71bcdcbSAjay Guptaconfig I2C_NVIDIA_GPU
257c71bcdcbSAjay Gupta	tristate "NVIDIA GPU I2C controller"
258c71bcdcbSAjay Gupta	depends on PCI
2592079563dSAndy Shevchenko	select I2C_CCGX_UCSI
260c71bcdcbSAjay Gupta	help
261c71bcdcbSAjay Gupta	  If you say yes to this option, support will be included for the
262c71bcdcbSAjay Gupta	  NVIDIA GPU I2C controller which is used to communicate with the GPU's
263c71bcdcbSAjay Gupta	  Type-C controller. This driver can also be built as a module called
264c71bcdcbSAjay Gupta	  i2c-nvidia-gpu.
265c71bcdcbSAjay Gupta
266f5b728a1SJean Delvareconfig I2C_SIS5595
267f5b728a1SJean Delvare	tristate "SiS 5595"
268f5b728a1SJean Delvare	depends on PCI
269f5b728a1SJean Delvare	help
270f5b728a1SJean Delvare	  If you say yes to this option, support will be included for the
271f5b728a1SJean Delvare	  SiS5595 SMBus (a subset of I2C) interface.
272f5b728a1SJean Delvare
273f5b728a1SJean Delvare	  This driver can also be built as a module.  If so, the module
274f5b728a1SJean Delvare	  will be called i2c-sis5595.
275f5b728a1SJean Delvare
276f5b728a1SJean Delvareconfig I2C_SIS630
277974d6a37SAmaury Decrême	tristate "SiS 630/730/964"
278f5b728a1SJean Delvare	depends on PCI
279f5b728a1SJean Delvare	help
280f5b728a1SJean Delvare	  If you say yes to this option, support will be included for the
281974d6a37SAmaury Decrême	  SiS630, SiS730 and SiS964 SMBus (a subset of I2C) interface.
282f5b728a1SJean Delvare
283f5b728a1SJean Delvare	  This driver can also be built as a module.  If so, the module
284f5b728a1SJean Delvare	  will be called i2c-sis630.
285f5b728a1SJean Delvare
286f5b728a1SJean Delvareconfig I2C_SIS96X
287f5b728a1SJean Delvare	tristate "SiS 96x"
288f5b728a1SJean Delvare	depends on PCI
289f5b728a1SJean Delvare	help
290f5b728a1SJean Delvare	  If you say yes to this option, support will be included for the SiS
291f5b728a1SJean Delvare	  96x SMBus (a subset of I2C) interfaces.  Specifically, the following
292f5b728a1SJean Delvare	  chipsets are supported:
293f5b728a1SJean Delvare	    645/961
294f5b728a1SJean Delvare	    645DX/961
295f5b728a1SJean Delvare	    645DX/962
296f5b728a1SJean Delvare	    648/961
297f5b728a1SJean Delvare	    650/961
298f5b728a1SJean Delvare	    735
299f5b728a1SJean Delvare	    745
300f5b728a1SJean Delvare
301f5b728a1SJean Delvare	  This driver can also be built as a module.  If so, the module
302f5b728a1SJean Delvare	  will be called i2c-sis96x.
303f5b728a1SJean Delvare
304f5b728a1SJean Delvareconfig I2C_VIA
305f5b728a1SJean Delvare	tristate "VIA VT82C586B"
306417e86ceSKees Cook	depends on PCI
307f5b728a1SJean Delvare	select I2C_ALGOBIT
308f5b728a1SJean Delvare	help
309f5b728a1SJean Delvare	  If you say yes to this option, support will be included for the VIA
310f5b728a1SJean Delvare	  82C586B I2C interface
311f5b728a1SJean Delvare
312f5b728a1SJean Delvare	  This driver can also be built as a module.  If so, the module
313f5b728a1SJean Delvare	  will be called i2c-via.
314f5b728a1SJean Delvare
315f5b728a1SJean Delvareconfig I2C_VIAPRO
31601d56a6aSJean Delvare	tristate "VIA VT82C596/82C686/82xx and CX700/VX8xx/VX900"
317f5b728a1SJean Delvare	depends on PCI
318f5b728a1SJean Delvare	help
319f5b728a1SJean Delvare	  If you say yes to this option, support will be included for the VIA
320f5b728a1SJean Delvare	  VT82C596 and later SMBus interface.  Specifically, the following
321f5b728a1SJean Delvare	  chipsets are supported:
322f5b728a1SJean Delvare	    VT82C596A/B
323f5b728a1SJean Delvare	    VT82C686A/B
324f5b728a1SJean Delvare	    VT8231
325f5b728a1SJean Delvare	    VT8233/A
326f5b728a1SJean Delvare	    VT8235
327f5b728a1SJean Delvare	    VT8237R/A/S
328f5b728a1SJean Delvare	    VT8251
329f5b728a1SJean Delvare	    CX700
330a231591fSHarald Welte	    VX800/VX820
331a231591fSHarald Welte	    VX855/VX875
33201d56a6aSJean Delvare	    VX900
333f5b728a1SJean Delvare
334f5b728a1SJean Delvare	  This driver can also be built as a module.  If so, the module
335f5b728a1SJean Delvare	  will be called i2c-viapro.
336f5b728a1SJean Delvare
337cfd550edSJean Delvareif ACPI
338cfd550edSJean Delvare
339cfd550edSJean Delvarecomment "ACPI drivers"
340cfd550edSJean Delvare
341cfd550edSJean Delvareconfig I2C_SCMI
342cfd550edSJean Delvare	tristate "SMBus Control Method Interface"
343cfd550edSJean Delvare	help
344cfd550edSJean Delvare	  This driver supports the SMBus Control Method Interface. It needs the
345cfd550edSJean Delvare	  BIOS to declare ACPI control methods as described in the SMBus Control
346cfd550edSJean Delvare	  Method Interface specification.
347cfd550edSJean Delvare
348cfd550edSJean Delvare	  To compile this driver as a module, choose M here:
349cfd550edSJean Delvare	  the module will be called i2c-scmi.
350cfd550edSJean Delvare
351cfd550edSJean Delvareendif # ACPI
352cfd550edSJean Delvare
353f5b728a1SJean Delvarecomment "Mac SMBus host controller drivers"
354f5b728a1SJean Delvare	depends on PPC_CHRP || PPC_PMAC
355f5b728a1SJean Delvare
356f5b728a1SJean Delvareconfig I2C_HYDRA
357f5b728a1SJean Delvare	tristate "CHRP Apple Hydra Mac I/O I2C interface"
358417e86ceSKees Cook	depends on PCI && PPC_CHRP
359f5b728a1SJean Delvare	select I2C_ALGOBIT
360f5b728a1SJean Delvare	help
361f5b728a1SJean Delvare	  This supports the use of the I2C interface in the Apple Hydra Mac
362f5b728a1SJean Delvare	  I/O chip on some CHRP machines (e.g. the LongTrail).  Say Y if you
363f5b728a1SJean Delvare	  have such a machine.
364f5b728a1SJean Delvare
365f5b728a1SJean Delvare	  This support is also available as a module.  If so, the module
366f5b728a1SJean Delvare	  will be called i2c-hydra.
367f5b728a1SJean Delvare
368f5b728a1SJean Delvareconfig I2C_POWERMAC
369f5b728a1SJean Delvare	tristate "Powermac I2C interface"
370f5b728a1SJean Delvare	depends on PPC_PMAC
371f5b728a1SJean Delvare	default y
372f5b728a1SJean Delvare	help
373f5b728a1SJean Delvare	  This exposes the various PowerMac i2c interfaces to the linux i2c
374f5b728a1SJean Delvare	  layer and to userland. It is used by various drivers on the PowerMac
375f5b728a1SJean Delvare	  platform, and should generally be enabled.
376f5b728a1SJean Delvare
377f5b728a1SJean Delvare	  This support is also available as a module.  If so, the module
378f5b728a1SJean Delvare	  will be called i2c-powermac.
379f5b728a1SJean Delvare
380f5b728a1SJean Delvarecomment "I2C system bus drivers (mostly embedded / system-on-chip)"
381f5b728a1SJean Delvare
3820560ad57SThor Thayerconfig I2C_ALTERA
3830560ad57SThor Thayer	tristate "Altera Soft IP I2C"
384823829dcSKrzysztof Kozlowski	depends on ARCH_INTEL_SOCFPGA || NIOS2 || COMPILE_TEST
3854a2d5f66SKrzysztof Kozlowski	depends on OF
3860560ad57SThor Thayer	help
3870560ad57SThor Thayer	  If you say yes to this option, support will be included for the
3880560ad57SThor Thayer	  Altera Soft IP I2C interfaces on SoCFPGA and Nios2 architectures.
3890560ad57SThor Thayer
3900560ad57SThor Thayer	  This driver can also be built as a module.  If so, the module
3910560ad57SThor Thayer	  will be called i2c-altera.
3920560ad57SThor Thayer
393f327c686SBrendan Higginsconfig I2C_ASPEED
394f327c686SBrendan Higgins	tristate "Aspeed I2C Controller"
395f327c686SBrendan Higgins	depends on ARCH_ASPEED || COMPILE_TEST
396f327c686SBrendan Higgins	help
397f327c686SBrendan Higgins	  If you say yes to this option, support will be included for the
398f327c686SBrendan Higgins	  Aspeed I2C controller.
399f327c686SBrendan Higgins
400f327c686SBrendan Higgins	  This driver can also be built as a module.  If so, the module
401f327c686SBrendan Higgins	  will be called i2c-aspeed.
402f327c686SBrendan Higgins
403813e30e9SAndrew Victorconfig I2C_AT91
404813e30e9SAndrew Victor	tristate "Atmel AT91 I2C Two-Wire interface (TWI)"
4054a2d5f66SKrzysztof Kozlowski	depends on ARCH_AT91 || COMPILE_TEST
406813e30e9SAndrew Victor	help
407813e30e9SAndrew Victor	  This supports the use of the I2C interface on Atmel AT91
408813e30e9SAndrew Victor	  processors.
409813e30e9SAndrew Victor
410fac368a0SNikolaus Voss	  A serious problem is that there is no documented way to issue
411fac368a0SNikolaus Voss	  repeated START conditions for more than two messages, as needed
41224d0fb42SDavid Brownell	  to support combined I2C messages.  Use the i2c-gpio driver
413fac368a0SNikolaus Voss	  unless your system can cope with this limitation.
414fac368a0SNikolaus Voss
415fac368a0SNikolaus Voss	  Caution! at91rm9200, at91sam9261, at91sam9260, at91sam9263 devices
416fac368a0SNikolaus Voss	  don't have clock stretching in transmission mode. For that reason,
417fac368a0SNikolaus Voss	  you can encounter underrun issues causing premature stop sendings if
418fac368a0SNikolaus Voss	  the latency to fill the transmission register is too long. If you
419fac368a0SNikolaus Voss	  are facing this situation, use the i2c-gpio driver.
42024d0fb42SDavid Brownell
4219d3ca54bSJuergen Fitschenconfig I2C_AT91_SLAVE_EXPERIMENTAL
4229d3ca54bSJuergen Fitschen	tristate "Microchip AT91 I2C experimental slave mode"
4239d3ca54bSJuergen Fitschen	depends on I2C_AT91
4249d3ca54bSJuergen Fitschen	select I2C_SLAVE
4259d3ca54bSJuergen Fitschen	help
4269d3ca54bSJuergen Fitschen	  If you say yes to this option, support for the slave mode will be
4279d3ca54bSJuergen Fitschen	  added. Caution: do not use it for production. This feature has not
4289d3ca54bSJuergen Fitschen	  been tested in a heavy way, help wanted.
4299d3ca54bSJuergen Fitschen	  There are known bugs:
4309d3ca54bSJuergen Fitschen	    - It can hang, on a SAMA5D4, after several transfers.
4319d3ca54bSJuergen Fitschen	    - There are some mismtaches with a SAMA5D4 as slave and a SAMA5D2 as
4329d3ca54bSJuergen Fitschen	    master.
4339d3ca54bSJuergen Fitschen
4341da177e4SLinus Torvaldsconfig I2C_AU1550
435809f36c6SManuel Lauss	tristate "Au1550/Au1200/Au1300 SMBus interface"
43637663860SManuel Lauss	depends on MIPS_ALCHEMY
4371da177e4SLinus Torvalds	help
4381da177e4SLinus Torvalds	  If you say yes to this option, support will be included for the
439809f36c6SManuel Lauss	  Au1550/Au1200/Au1300 SMBus interface.
4401da177e4SLinus Torvalds
4411da177e4SLinus Torvalds	  This driver can also be built as a module.  If so, the module
4421da177e4SLinus Torvalds	  will be called i2c-au1550.
4431da177e4SLinus Torvalds
44408678b85SAnders Bergconfig I2C_AXXIA
44508678b85SAnders Berg	tristate "Axxia I2C controller"
44608678b85SAnders Berg	depends on ARCH_AXXIA || COMPILE_TEST
44708678b85SAnders Berg	default ARCH_AXXIA
448f0b57680SAdamski, Krzysztof (Nokia - PL/Wroclaw)	select I2C_SLAVE
44908678b85SAnders Berg	help
45008678b85SAnders Berg	  Say yes if you want to support the I2C bus on Axxia platforms.
45108678b85SAnders Berg
45208678b85SAnders Berg	  Please note that this controller is limited to transfers of maximum
45308678b85SAnders Berg	  255 bytes in length. Any attempt to to a larger transfer will return
45408678b85SAnders Berg	  an error.
45508678b85SAnders Berg
456f3b54b9aSStephen Warrenconfig I2C_BCM2835
457f3b54b9aSStephen Warren	tristate "Broadcom BCM2835 I2C controller"
4584a2d5f66SKrzysztof Kozlowski	depends on ARCH_BCM2835 || ARCH_BRCMSTB || COMPILE_TEST
4594a2d5f66SKrzysztof Kozlowski	depends on COMMON_CLK
460f3b54b9aSStephen Warren	help
461f3b54b9aSStephen Warren	  If you say yes to this option, support will be included for the
462f3b54b9aSStephen Warren	  BCM2835 I2C controller.
463f3b54b9aSStephen Warren
464f3b54b9aSStephen Warren	  If you don't know what to do here, say N.
465f3b54b9aSStephen Warren
466f3b54b9aSStephen Warren	  This support is also available as a module.  If so, the module
467f3b54b9aSStephen Warren	  will be called i2c-bcm2835.
468f3b54b9aSStephen Warren
469e6e5dd35SRay Juiconfig I2C_BCM_IPROC
470e6e5dd35SRay Jui	tristate "Broadcom iProc I2C controller"
471e6e5dd35SRay Jui	depends on ARCH_BCM_IPROC || COMPILE_TEST
472e6e5dd35SRay Jui	default ARCH_BCM_IPROC
473f34b8d90SShreesha Rajashekar	select I2C_SLAVE
474e6e5dd35SRay Jui	help
475e6e5dd35SRay Jui	  If you say yes to this option, support will be included for the
476e6e5dd35SRay Jui	  Broadcom iProc I2C controller.
477e6e5dd35SRay Jui
478e6e5dd35SRay Jui	  If you don't know what to do here, say N.
479e6e5dd35SRay Jui
48093d17247STim Krygerconfig I2C_BCM_KONA
48193d17247STim Kryger	tristate "BCM Kona I2C adapter"
4824a2d5f66SKrzysztof Kozlowski	depends on ARCH_BCM_MOBILE || COMPILE_TEST
4834a2d5f66SKrzysztof Kozlowski	default y if ARCH_BCM_MOBILE
48493d17247STim Kryger	help
48593d17247STim Kryger	  If you say yes to this option, support will be included for the
48693d17247STim Kryger	  I2C interface on the Broadcom Kona family of processors.
48793d17247STim Kryger
488f54619f2SMasanari Iida	  If you do not need KONA I2C interface, say N.
48993d17247STim Kryger
490dd1aa252SKamal Dasuconfig I2C_BRCMSTB
491e1eba2eaSFlorian Fainelli	tristate "BRCM Settop/DSL I2C controller"
4927bb49d77SWilliam Zhang	depends on ARCH_BCM2835 || ARCH_BCMBCA || ARCH_BRCMSTB || \
4937bb49d77SWilliam Zhang		   BMIPS_GENERIC || COMPILE_TEST
494dd1aa252SKamal Dasu	default y
495dd1aa252SKamal Dasu	help
496dd1aa252SKamal Dasu	  If you say yes to this option, support will be included for the
497e1eba2eaSFlorian Fainelli	  I2C interface on the Broadcom Settop/DSL SoCs.
498dd1aa252SKamal Dasu
499dd1aa252SKamal Dasu	  If you do not need I2C interface, say N.
500dd1aa252SKamal Dasu
501df8eb569SSoren Brinkmannconfig I2C_CADENCE
502df8eb569SSoren Brinkmann	tristate "Cadence I2C Controller"
5030b0dcb38SWolfram Sang	depends on ARCH_ZYNQ || ARM64 || XTENSA || COMPILE_TEST
504df8eb569SSoren Brinkmann	help
505df8eb569SSoren Brinkmann	  Say yes here to select Cadence I2C Host Controller. This controller is
506df8eb569SSoren Brinkmann	  e.g. used by Xilinx Zynq.
507df8eb569SSoren Brinkmann
5080857ba3cSAaro Koskinenconfig I2C_CBUS_GPIO
5090857ba3cSAaro Koskinen	tristate "CBUS I2C driver"
5107e5cd69aSGeert Uytterhoeven	depends on GPIOLIB || COMPILE_TEST
5110857ba3cSAaro Koskinen	help
5120857ba3cSAaro Koskinen	  Support for CBUS access using I2C API. Mostly relevant for Nokia
5130857ba3cSAaro Koskinen	  Internet Tablets (770, N800 and N810).
5140857ba3cSAaro Koskinen
5150857ba3cSAaro Koskinen	  This driver can also be built as a module.  If so, the module
5160857ba3cSAaro Koskinen	  will be called i2c-cbus-gpio.
5170857ba3cSAaro Koskinen
51861045dbeSJochen Friedrichconfig I2C_CPM
51961045dbeSJochen Friedrich	tristate "Freescale CPM1 or CPM2 (MPC8xx/826x)"
52062c19c9dSRichard Weinberger	depends on CPM1 || CPM2
52161045dbeSJochen Friedrich	help
52261045dbeSJochen Friedrich	  This supports the use of the I2C interface on Freescale
52361045dbeSJochen Friedrich	  processors with CPM1 or CPM2.
52461045dbeSJochen Friedrich
52561045dbeSJochen Friedrich	  This driver can also be built as a module.  If so, the module
52661045dbeSJochen Friedrich	  will be called i2c-cpm.
52761045dbeSJochen Friedrich
52895a7f10eSVladimir Barinovconfig I2C_DAVINCI
52995a7f10eSVladimir Barinov	tristate "DaVinci I2C driver"
5304a2d5f66SKrzysztof Kozlowski	depends on ARCH_DAVINCI || ARCH_KEYSTONE || COMPILE_TEST
53195a7f10eSVladimir Barinov	help
53295a7f10eSVladimir Barinov	  Support for TI DaVinci I2C controller driver.
53395a7f10eSVladimir Barinov
53495a7f10eSVladimir Barinov	  This driver can also be built as a module.  If so, the module
53595a7f10eSVladimir Barinov	  will be called i2c-davinci.
53695a7f10eSVladimir Barinov
53795a7f10eSVladimir Barinov	  Please note that this driver might be needed to bring up other
53895a7f10eSVladimir Barinov	  devices such as DaVinci NIC.
53995a7f10eSVladimir Barinov	  For details please see http://www.ti.com/davinci
54095a7f10eSVladimir Barinov
541e68bb91bSAxel Linconfig I2C_DESIGNWARE_CORE
542e68bb91bSAxel Lin	tristate
5430daede80SSerge Semin	select REGMAP
544e68bb91bSAxel Lin
5457943f1d1SAndy Shevchenkoconfig I2C_DESIGNWARE_SLAVE
5467943f1d1SAndy Shevchenko	bool "Synopsys DesignWare Slave"
54768fe6cedSSerge Semin	depends on I2C_DESIGNWARE_CORE
5487943f1d1SAndy Shevchenko	select I2C_SLAVE
5497943f1d1SAndy Shevchenko	help
5507943f1d1SAndy Shevchenko	  If you say yes to this option, support will be included for the
5517943f1d1SAndy Shevchenko	  Synopsys DesignWare I2C slave adapter.
5527943f1d1SAndy Shevchenko
5537943f1d1SAndy Shevchenko	  This is not a standalone module, this module compiles together with
5547943f1d1SAndy Shevchenko	  i2c-designware-core.
5557943f1d1SAndy Shevchenko
5562373f6b9SDirk Brandewieconfig I2C_DESIGNWARE_PLATFORM
5576b2aac42SMasanari Iida	tristate "Synopsys DesignWare Platform"
558a445900cSCarl Peng	depends on (ACPI && COMMON_CLK) || !ACPI
559fcb82a93SSerge Semin	select I2C_DESIGNWARE_CORE
560fcb82a93SSerge Semin	select MFD_SYSCON if MIPS_BAIKAL_T1
5611ab52cf9SBaruch Siach	help
5621ab52cf9SBaruch Siach	  If you say yes to this option, support will be included for the
5639f3e065cSLuis Oliveira	  Synopsys DesignWare I2C adapter.
5641ab52cf9SBaruch Siach
5651ab52cf9SBaruch Siach	  This driver can also be built as a module.  If so, the module
5662373f6b9SDirk Brandewie	  will be called i2c-designware-platform.
5671ab52cf9SBaruch Siach
56878d5e9e2SJan Dabrosconfig I2C_DESIGNWARE_AMDPSP
56978d5e9e2SJan Dabros	bool "AMD PSP I2C semaphore support"
57078d5e9e2SJan Dabros	depends on ACPI
571440da737SMario Limonciello	depends on CRYPTO_DEV_SP_PSP
572482c84e9SMario Limonciello	depends on PCI
57378d5e9e2SJan Dabros	depends on I2C_DESIGNWARE_PLATFORM
574440da737SMario Limonciello	depends on (I2C_DESIGNWARE_PLATFORM=y && CRYPTO_DEV_CCP_DD=y) || \
575440da737SMario Limonciello		   (I2C_DESIGNWARE_PLATFORM=m && CRYPTO_DEV_CCP_DD)
57678d5e9e2SJan Dabros	help
57778d5e9e2SJan Dabros	  This driver enables managed host access to the selected I2C bus shared
57878d5e9e2SJan Dabros	  between AMD CPU and AMD PSP.
57978d5e9e2SJan Dabros
58078d5e9e2SJan Dabros	  You should say Y if running on an AMD system equipped with the PSP.
58178d5e9e2SJan Dabros
582c2549011SSerge Seminconfig I2C_DESIGNWARE_BAYTRAIL
583c2549011SSerge Semin	bool "Intel Baytrail I2C semaphore support"
584c2549011SSerge Semin	depends on ACPI
585c2549011SSerge Semin	depends on I2C_DESIGNWARE_PLATFORM
586c2549011SSerge Semin	depends on (I2C_DESIGNWARE_PLATFORM=m && IOSF_MBI) || \
587c2549011SSerge Semin		   (I2C_DESIGNWARE_PLATFORM=y && IOSF_MBI=y)
588c2549011SSerge Semin	help
589c2549011SSerge Semin	  This driver enables managed host access to the PMIC I2C bus on select
590c2549011SSerge Semin	  Intel BayTrail platforms using the X-Powers AXP288 PMIC. It allows
591c2549011SSerge Semin	  the host to request uninterrupted access to the PMIC's I2C bus from
592c2549011SSerge Semin	  the platform firmware controlling it. You should say Y if running on
593c2549011SSerge Semin	  a BayTrail system using the AXP288.
594c2549011SSerge Semin
595fe20ff5cSDirk Brandewieconfig I2C_DESIGNWARE_PCI
596fe20ff5cSDirk Brandewie	tristate "Synopsys DesignWare PCI"
597fe20ff5cSDirk Brandewie	depends on PCI
598e68bb91bSAxel Lin	select I2C_DESIGNWARE_CORE
599531310ddSAndy Shevchenko	select I2C_CCGX_UCSI
600fe20ff5cSDirk Brandewie	help
601fe20ff5cSDirk Brandewie	  If you say yes to this option, support will be included for the
602fe20ff5cSDirk Brandewie	  Synopsys DesignWare I2C adapter. Only master mode is supported.
603fe20ff5cSDirk Brandewie
604fe20ff5cSDirk Brandewie	  This driver can also be built as a module.  If so, the module
605fe20ff5cSDirk Brandewie	  will be called i2c-designware-pci.
6064ad48e6aSPaul Mundt
6074a7a0822SBaruch Siachconfig I2C_DIGICOLOR
6084a7a0822SBaruch Siach	tristate "Conexant Digicolor I2C driver"
6094a2d5f66SKrzysztof Kozlowski	depends on ARCH_DIGICOLOR || COMPILE_TEST
6104a7a0822SBaruch Siach	help
6114a7a0822SBaruch Siach	  Support for Conexant Digicolor SoCs (CX92755) I2C controller driver.
6124a7a0822SBaruch Siach
6134a7a0822SBaruch Siach	  This driver can also be built as a module.  If so, the module
6144a7a0822SBaruch Siach	  will be called i2c-digicolor.
6154a7a0822SBaruch Siach
6163e1b76beSJayachandran Cconfig I2C_EG20T
6173e1b76beSJayachandran C	tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) I2C"
6187a852b02SPaul Burton	depends on PCI && (X86_32 || MIPS || COMPILE_TEST)
6193e1b76beSJayachandran C	help
6203e1b76beSJayachandran C	  This driver is for PCH(Platform controller Hub) I2C of EG20T which
6213e1b76beSJayachandran C	  is an IOH(Input/Output Hub) for x86 embedded processor.
6223e1b76beSJayachandran C	  This driver can access PCH I2C bus device.
6233e1b76beSJayachandran C
6243e1b76beSJayachandran C	  This driver also can be used for LAPIS Semiconductor IOH(Input/
6253e1b76beSJayachandran C	  Output Hub), ML7213, ML7223 and ML7831.
6263e1b76beSJayachandran C	  ML7213 IOH is for IVI(In-Vehicle Infotainment) use, ML7223 IOH is
6273e1b76beSJayachandran C	  for MP(Media Phone) use and ML7831 IOH is for general purpose use.
6283e1b76beSJayachandran C	  ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series.
6293e1b76beSJayachandran C	  ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH.
6303e1b76beSJayachandran C
6315faf6e1fSWolfram Sangconfig I2C_EMEV2
6325faf6e1fSWolfram Sang	tristate "EMMA Mobile series I2C adapter"
6335faf6e1fSWolfram Sang	depends on HAVE_CLK
634b7d518e6SWolfram Sang	select I2C_SLAVE
6355faf6e1fSWolfram Sang	help
6365faf6e1fSWolfram Sang	  If you say yes to this option, support will be included for the
6375faf6e1fSWolfram Sang	  I2C interface on the Renesas Electronics EM/EV family of processors.
6385faf6e1fSWolfram Sang
6398a73cd4cSNaveen Krishna Chconfig I2C_EXYNOS5
640a009310fSKrzysztof Kozlowski	tristate "Exynos high-speed I2C driver"
6414a2d5f66SKrzysztof Kozlowski	depends on OF
6424a2d5f66SKrzysztof Kozlowski	depends on ARCH_EXYNOS || COMPILE_TEST
6434a2d5f66SKrzysztof Kozlowski	default y if ARCH_EXYNOS
6448a73cd4cSNaveen Krishna Ch	help
645cf9ae42cSKrzysztof Kozlowski	  High-speed I2C controller on Samsung Exynos5 and newer Samsung SoCs:
646cf9ae42cSKrzysztof Kozlowski	  Exynos5250, Exynos5260, Exynos5410, Exynos542x, Exynos5800,
647c4bcef90SSam Protsenko	  Exynos5433, Exynos7, Exynos850 and ExynosAutoV9.
648cf9ae42cSKrzysztof Kozlowski	  Choose Y here only if you build for such Samsung SoC.
6498a73cd4cSNaveen Krishna Ch
6501c23af90SHaavard Skinnemoenconfig I2C_GPIO
6511c23af90SHaavard Skinnemoen	tristate "GPIO-based bitbanging I2C"
6527e5cd69aSGeert Uytterhoeven	depends on GPIOLIB || COMPILE_TEST
6531c23af90SHaavard Skinnemoen	select I2C_ALGOBIT
6541c23af90SHaavard Skinnemoen	help
6551c23af90SHaavard Skinnemoen	  This is a very simple bitbanging I2C driver utilizing the
6561c23af90SHaavard Skinnemoen	  arch-neutral GPIO API to control the SCL and SDA lines.
6571c23af90SHaavard Skinnemoen
65814911c6fSWolfram Sangconfig I2C_GPIO_FAULT_INJECTOR
65914911c6fSWolfram Sang	bool "GPIO-based fault injector"
66014911c6fSWolfram Sang	depends on I2C_GPIO
66114911c6fSWolfram Sang	help
66214911c6fSWolfram Sang	  This adds some functionality to the i2c-gpio driver which can inject
66314911c6fSWolfram Sang	  faults to an I2C bus, so another bus master can be stress-tested.
66414911c6fSWolfram Sang	  This is for debugging. If unsure, say 'no'.
66514911c6fSWolfram Sang
6664a55ed6fSNick Hawkinsconfig I2C_GXP
6674a55ed6fSNick Hawkins	tristate "GXP I2C Interface"
6684a55ed6fSNick Hawkins	depends on ARCH_HPE_GXP || COMPILE_TEST
6694a55ed6fSNick Hawkins	help
6704a55ed6fSNick Hawkins	  This enables support for GXP I2C interface. The I2C engines can be
6714a55ed6fSNick Hawkins	  either I2C master or I2C slaves.
6724a55ed6fSNick Hawkins
6734ad48e6aSPaul Mundtconfig I2C_HIGHLANDER
6744ad48e6aSPaul Mundt	tristate "Highlander FPGA SMBus interface"
6754a2d5f66SKrzysztof Kozlowski	depends on SH_HIGHLANDER || COMPILE_TEST
6764ad48e6aSPaul Mundt	help
6774ad48e6aSPaul Mundt	  If you say yes to this option, support will be included for
6784ad48e6aSPaul Mundt	  the SMBus interface located in the FPGA on various Highlander
6794ad48e6aSPaul Mundt	  boards, particularly the R0P7780LC0011RL and R0P7785LC0011RL
6804ad48e6aSPaul Mundt	  FPGAs. This is wholly unrelated to the SoC I2C.
6814ad48e6aSPaul Mundt
6824ad48e6aSPaul Mundt	  This driver can also be built as a module.  If so, the module
6834ad48e6aSPaul Mundt	  will be called i2c-highlander.
6844ad48e6aSPaul Mundt
685d62fbdb9SYicong Yangconfig I2C_HISI
686d62fbdb9SYicong Yang	tristate "HiSilicon I2C controller"
68752951ea1SWeilong Chen	depends on ARM64 || COMPILE_TEST
688d62fbdb9SYicong Yang	help
689d62fbdb9SYicong Yang	  Say Y here if you want to have Hisilicon I2C controller support
690d62fbdb9SYicong Yang	  available on the Kunpeng Server.
691d62fbdb9SYicong Yang
692d62fbdb9SYicong Yang	  This driver can also be built as a module. If so, the module
693d62fbdb9SYicong Yang	  will be called i2c-hisi.
694d62fbdb9SYicong Yang
6951da177e4SLinus Torvaldsconfig I2C_IBM_IIC
6961da177e4SLinus Torvalds	tristate "IBM PPC 4xx on-chip I2C interface"
697838349b5SSean MacLennan	depends on 4xx
6981da177e4SLinus Torvalds	help
6991da177e4SLinus Torvalds	  Say Y here if you want to use IIC peripheral found on
7001da177e4SLinus Torvalds	  embedded IBM PPC 4xx based systems.
7011da177e4SLinus Torvalds
7021da177e4SLinus Torvalds	  This driver can also be built as a module.  If so, the module
7031da177e4SLinus Torvalds	  will be called i2c-ibm_iic.
7041da177e4SLinus Torvalds
70527bce457SJames Hoganconfig I2C_IMG
70627bce457SJames Hogan	tristate "Imagination Technologies I2C SCB Controller"
7078d06c330SJames Hogan	depends on MIPS || COMPILE_TEST
70827bce457SJames Hogan	help
70927bce457SJames Hogan	  Say Y here if you want to use the IMG I2C SCB controller,
71006205206SAndrew Bresticker	  available on the TZ1090 and other IMG SoCs.
71127bce457SJames Hogan
71227bce457SJames Hogan	  This driver can also be built as a module.  If so, the module
71327bce457SJames Hogan	  will be called i2c-img-scb.
71427bce457SJames Hogan
715aa11e38cSDarius Augulisconfig I2C_IMX
716aa11e38cSDarius Augulis	tristate "IMX I2C interface"
7172ce4462fSWolfram Sang	depends on ARCH_MXC || ARCH_LAYERSCAPE || COLDFIRE || COMPILE_TEST
718f7414cd6SBiwen Li	select I2C_SLAVE
719aa11e38cSDarius Augulis	help
720aa11e38cSDarius Augulis	  Say Y here if you want to use the IIC bus controller on
72117791650SGreg Ungerer	  the Freescale i.MX/MXC, Layerscape or ColdFire processors.
722aa11e38cSDarius Augulis
723aa11e38cSDarius Augulis	  This driver can also be built as a module.  If so, the module
724aa11e38cSDarius Augulis	  will be called i2c-imx.
725aa11e38cSDarius Augulis
726a55fa9d0SGao Panconfig I2C_IMX_LPI2C
727a55fa9d0SGao Pan	tristate "IMX Low Power I2C interface"
728a55fa9d0SGao Pan	depends on ARCH_MXC || COMPILE_TEST
729a55fa9d0SGao Pan	help
730a55fa9d0SGao Pan	  Say Y here if you want to use the Low Power IIC bus controller
731a55fa9d0SGao Pan	  on the Freescale i.MX processors.
732a55fa9d0SGao Pan
733a55fa9d0SGao Pan	  This driver can also be built as a module. If so, the module
734a55fa9d0SGao Pan	  will be called i2c-imx-lpi2c.
735a55fa9d0SGao Pan
7361da177e4SLinus Torvaldsconfig I2C_IOP3XX
737b91a69d1SArnd Bergmann	tristate "Intel IXP4xx on-chip I2C interface"
738b91a69d1SArnd Bergmann	depends on ARCH_IXP4XX || COMPILE_TEST
7391da177e4SLinus Torvalds	help
7401da177e4SLinus Torvalds	  Say Y here if you want to use the IIC bus controller on
741b91a69d1SArnd Bergmann	  the Intel IXP4xx Network Processors.
7421da177e4SLinus Torvalds
7431da177e4SLinus Torvalds	  This driver can also be built as a module.  If so, the module
7441da177e4SLinus Torvalds	  will be called i2c-iop3xx.
7451da177e4SLinus Torvalds
746ba92222eSZubair Lutfullah Kakakhelconfig I2C_JZ4780
747ba92222eSZubair Lutfullah Kakakhel	tristate "JZ4780 I2C controller interface support"
74812cb084dSPaul Cercueil	depends on MIPS || COMPILE_TEST
749ba92222eSZubair Lutfullah Kakakhel	help
750ba92222eSZubair Lutfullah Kakakhel	 If you say yes to this option, support will be included for the
751ba92222eSZubair Lutfullah Kakakhel	 Ingenic JZ4780 I2C controller.
752ba92222eSZubair Lutfullah Kakakhel
753ba92222eSZubair Lutfullah Kakakhel	 If you don't know what to do here, say N.
754ba92222eSZubair Lutfullah Kakakhel
755e0b9b7b0SKevin Strasserconfig I2C_KEMPLD
756e0b9b7b0SKevin Strasser	tristate "Kontron COM I2C Controller"
757e0b9b7b0SKevin Strasser	depends on MFD_KEMPLD
758e0b9b7b0SKevin Strasser	help
759e0b9b7b0SKevin Strasser	  This enables support for the I2C bus interface on some Kontron ETX
760e0b9b7b0SKevin Strasser	  and COMexpress (ETXexpress) modules.
761e0b9b7b0SKevin Strasser
762e0b9b7b0SKevin Strasser	  This driver can also be built as a module. If so, the module
763e0b9b7b0SKevin Strasser	  will be called i2c-kempld.
764e0b9b7b0SKevin Strasser
7653f9c37a0SJoachim Eastwoodconfig I2C_LPC2K
7663f9c37a0SJoachim Eastwood	tristate "I2C bus support for NXP LPC2K/LPC178x/18xx/43xx"
7673f9c37a0SJoachim Eastwood	depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
7683f9c37a0SJoachim Eastwood	help
7693f9c37a0SJoachim Eastwood	  This driver supports the I2C interface found several NXP
7703f9c37a0SJoachim Eastwood	  devices including LPC2xxx, LPC178x/7x and LPC18xx/43xx.
7713f9c37a0SJoachim Eastwood
7723f9c37a0SJoachim Eastwood	  This driver can also be built as a module.  If so, the module
7733f9c37a0SJoachim Eastwood	  will be called i2c-lpc2k.
7743f9c37a0SJoachim Eastwood
775015e61f0SBinbin Zhouconfig I2C_LS2X
776015e61f0SBinbin Zhou	tristate "Loongson LS2X I2C adapter"
777015e61f0SBinbin Zhou	depends on MACH_LOONGSON64 || COMPILE_TEST
778015e61f0SBinbin Zhou	help
779015e61f0SBinbin Zhou	  If you say yes to this option, support will be included for the
780015e61f0SBinbin Zhou	  I2C interface on the Loongson-2K SoCs and Loongson LS7A bridge
781015e61f0SBinbin Zhou	  chip.
782015e61f0SBinbin Zhou
783015e61f0SBinbin Zhou	  This driver can also be built as a module. If so, the module
784015e61f0SBinbin Zhou	  will be called i2c-ls2x.
785015e61f0SBinbin Zhou
786b5b5b320SKhalil Blaiechconfig I2C_MLXBF
787b5b5b320SKhalil Blaiech        tristate "Mellanox BlueField I2C controller"
7889890923bSGeert Uytterhoeven        depends on MELLANOX_PLATFORM && ARM64
78965d78b8dSAdam Borowski	depends on ACPI
790c62dac0aSArnd Bergmann	select I2C_SLAVE
791b5b5b320SKhalil Blaiech        help
792b5b5b320SKhalil Blaiech          Enabling this option will add I2C SMBus support for Mellanox BlueField
793b5b5b320SKhalil Blaiech          system.
794b5b5b320SKhalil Blaiech
795b5b5b320SKhalil Blaiech          This driver can also be built as a module. If so, the module will be
796b5b5b320SKhalil Blaiech          called i2c-mlxbf.
797b5b5b320SKhalil Blaiech
798b5b5b320SKhalil Blaiech          This driver implements an I2C SMBus host controller and enables both
799b5b5b320SKhalil Blaiech          master and slave functions.
800b5b5b320SKhalil Blaiech
80130021e37SBeniamino Galvaniconfig I2C_MESON
80230021e37SBeniamino Galvani	tristate "Amlogic Meson I2C controller"
80391401783SBen Dooks	depends on ARCH_MESON || COMPILE_TEST
8044a2d5f66SKrzysztof Kozlowski	depends on COMMON_CLK
80530021e37SBeniamino Galvani	help
80630021e37SBeniamino Galvani	  If you say yes to this option, support will be included for the
80730021e37SBeniamino Galvani	  I2C interface on the Amlogic Meson family of SoCs.
80830021e37SBeniamino Galvani
80964a6f1c4SConor Dooleyconfig I2C_MICROCHIP_CORE
81064a6f1c4SConor Dooley	tristate "Microchip FPGA I2C controller"
811819c7345SConor Dooley	depends on ARCH_MICROCHIP_POLARFIRE || COMPILE_TEST
81264a6f1c4SConor Dooley	depends on OF
81364a6f1c4SConor Dooley	help
81464a6f1c4SConor Dooley	  If you say yes to this option, support will be included for the
81564a6f1c4SConor Dooley	  I2C interface on Microchip FPGAs.
81664a6f1c4SConor Dooley
81764a6f1c4SConor Dooley	  This driver can also be built as a module. If so, the module will be
81864a6f1c4SConor Dooley	  called i2c-microchip-core.
81964a6f1c4SConor Dooley
8201da177e4SLinus Torvaldsconfig I2C_MPC
821f00d738fSWolfgang Grandegger	tristate "MPC107/824x/85xx/512x/52xx/83xx/86xx"
8220724d464SKumar Gala	depends on PPC
8231da177e4SLinus Torvalds	help
8241da177e4SLinus Torvalds	  If you say yes to this option, support will be included for the
825f00d738fSWolfgang Grandegger	  built-in I2C interface on the MPC107, Tsi107, MPC512x, MPC52xx,
826f00d738fSWolfgang Grandegger	  MPC8240, MPC8245, MPC83xx, MPC85xx and MPC8641 family processors.
8271da177e4SLinus Torvalds
8281da177e4SLinus Torvalds	  This driver can also be built as a module.  If so, the module
8291da177e4SLinus Torvalds	  will be called i2c-mpc.
8301da177e4SLinus Torvalds
831ce38815dSXudong Chenconfig I2C_MT65XX
832ce38815dSXudong Chen	tristate "MediaTek I2C adapter"
833ce38815dSXudong Chen	depends on ARCH_MEDIATEK || COMPILE_TEST
834ce38815dSXudong Chen	help
835ce38815dSXudong Chen	  This selects the MediaTek(R) Integrated Inter Circuit bus driver
836ce38815dSXudong Chen	  for MT65xx and MT81xx.
837ce38815dSXudong Chen	  If you want to use MediaTek(R) I2C interface, say Y or M here.
838ce38815dSXudong Chen	  If unsure, say N.
839ce38815dSXudong Chen
840d04913ecSStefan Roeseconfig I2C_MT7621
841d04913ecSStefan Roese	tristate "MT7621/MT7628 I2C Controller"
842d04913ecSStefan Roese	depends on (RALINK && (SOC_MT7620 || SOC_MT7621)) || COMPILE_TEST
843d04913ecSStefan Roese	help
844d04913ecSStefan Roese	  Say Y here to include support for I2C controller in the
845d04913ecSStefan Roese	  MediaTek MT7621/MT7628 SoCs.
846d04913ecSStefan Roese
847f5b728a1SJean Delvareconfig I2C_MV64XXX
848f5b728a1SJean Delvare	tristate "Marvell mv64xxx I2C Controller"
849a329ddd4SChristophe Leroy	depends on PLAT_ORION || ARCH_SUNXI || ARCH_MVEBU || COMPILE_TEST
8501da177e4SLinus Torvalds	help
851f5b728a1SJean Delvare	  If you say yes to this option, support will be included for the
852f5b728a1SJean Delvare	  built-in I2C interface on the Marvell 64xxx line of host bridges.
8533d66ac7dSMaxime Ripard	  This driver is also used for Allwinner SoCs I2C controllers.
8541da177e4SLinus Torvalds
8551da177e4SLinus Torvalds	  This driver can also be built as a module.  If so, the module
856f5b728a1SJean Delvare	  will be called i2c-mv64xxx.
857279e9024SJean Delvare
858a8da7fecSWolfram Sangconfig I2C_MXS
859a8da7fecSWolfram Sang	tristate "Freescale i.MX28 I2C interface"
8604a2d5f66SKrzysztof Kozlowski	depends on SOC_IMX28 || COMPILE_TEST
8616b866c15SWolfram Sang	select STMP_DEVICE
862a8da7fecSWolfram Sang	help
863a8da7fecSWolfram Sang	  Say Y here if you want to use the I2C bus controller on
864a8da7fecSWolfram Sang	  the Freescale i.MX28 processors.
865a8da7fecSWolfram Sang
866a8da7fecSWolfram Sang	  This driver can also be built as a module.  If so, the module
867a8da7fecSWolfram Sang	  will be called i2c-mxs.
868a8da7fecSWolfram Sang
8693f9900f1Ssrinidhi kasagarconfig I2C_NOMADIK
8703f9900f1Ssrinidhi kasagar	tristate "ST-Ericsson Nomadik/Ux500 I2C Controller"
871419408edSAlessandro Rubini	depends on ARM_AMBA
8723f9900f1Ssrinidhi kasagar	help
8733f9900f1Ssrinidhi kasagar	  If you say yes to this option, support will be included for the
874419408edSAlessandro Rubini	  I2C interface from ST-Ericsson's Nomadik and Ux500 architectures,
875419408edSAlessandro Rubini	  as well as the STA2X11 PCIe I/O HUB.
8763f9900f1Ssrinidhi kasagar
877bbc38ed5STyrone Tingconfig I2C_NPCM
87856a1485bSTali Perry	tristate "Nuvoton I2C Controller"
879bbc38ed5STyrone Ting	depends on ARCH_NPCM || COMPILE_TEST
88056a1485bSTali Perry	help
88156a1485bSTali Perry	  If you say yes to this option, support will be included for the
882bbc38ed5STyrone Ting	  Nuvoton I2C controller, which is available on the NPCM BMC
883bbc38ed5STyrone Ting	  controllers.
88456a1485bSTali Perry	  Driver can also support slave mode (select I2C_SLAVE).
88556a1485bSTali Perry
88618f98b1eSPeter Korsgaardconfig I2C_OCORES
88718f98b1eSPeter Korsgaard	tristate "OpenCores I2C Controller"
88818f98b1eSPeter Korsgaard	help
88918f98b1eSPeter Korsgaard	  If you say yes to this option, support will be included for the
89018f98b1eSPeter Korsgaard	  OpenCores I2C controller. For details see
89118f98b1eSPeter Korsgaard	  http://www.opencores.org/projects.cgi/web/i2c/overview
89218f98b1eSPeter Korsgaard
89318f98b1eSPeter Korsgaard	  This driver can also be built as a module.  If so, the module
89418f98b1eSPeter Korsgaard	  will be called i2c-ocores.
89518f98b1eSPeter Korsgaard
896010d442cSKomal Shahconfig I2C_OMAP
897010d442cSKomal Shah	tristate "OMAP I2C adapter"
8984a2d5f66SKrzysztof Kozlowski	depends on ARCH_OMAP || ARCH_K3 || COMPILE_TEST
8990d7bb85eSArnd Bergmann	default MACH_OMAP_OSK
900010d442cSKomal Shah	help
901010d442cSKomal Shah	  If you say yes to this option, support will be included for the
902010d442cSKomal Shah	  I2C interface on the Texas Instruments OMAP1/2 family of processors.
903010d442cSKomal Shah	  Like OMAP1510/1610/1710/5912 and OMAP242x.
904010d442cSKomal Shah	  For details see http://www.ti.com/omap.
905010d442cSKomal Shah
906d211e62aSManivannan Sadhasivamconfig I2C_OWL
907d211e62aSManivannan Sadhasivam	tristate "Actions Semiconductor Owl I2C Controller"
908d211e62aSManivannan Sadhasivam	depends on ARCH_ACTIONS || COMPILE_TEST
909d211e62aSManivannan Sadhasivam	help
910d211e62aSManivannan Sadhasivam	  Say Y here if you want to use the I2C bus controller on
911d211e62aSManivannan Sadhasivam	  the Actions Semiconductor Owl SoC's.
912d211e62aSManivannan Sadhasivam
913f5b728a1SJean Delvareconfig I2C_PASEMI
914f5b728a1SJean Delvare	tristate "PA Semi SMBus interface"
915f5b728a1SJean Delvare	depends on PPC_PASEMI && PCI
916f5b728a1SJean Delvare	help
917f5b728a1SJean Delvare	  Supports the PA Semi PWRficient on-chip SMBus interfaces.
918f5b728a1SJean Delvare
919d88ae293SSven Peterconfig I2C_APPLE
920d88ae293SSven Peter	tristate "Apple SMBus platform driver"
921a76d19e6SBenjamin Gray	depends on !I2C_PASEMI
922d88ae293SSven Peter	depends on ARCH_APPLE || COMPILE_TEST
923d88ae293SSven Peter	default ARCH_APPLE
924d88ae293SSven Peter	help
925d88ae293SSven Peter	  Say Y here if you want to use the I2C controller present on Apple
926d88ae293SSven Peter	  Silicon chips such as the M1.
927d88ae293SSven Peter
928d88ae293SSven Peter	  This driver can also be built as a module. If so, the module
929d88ae293SSven Peter	  will be called i2c-apple.
930d88ae293SSven Peter
93135bfc353SWolfram Sangconfig I2C_PCA_PLATFORM
93235bfc353SWolfram Sang	tristate "PCA9564/PCA9665 as platform device"
93335bfc353SWolfram Sang	select I2C_ALGOPCA
93435bfc353SWolfram Sang	help
93535bfc353SWolfram Sang	  This driver supports a memory mapped Philips PCA9564/PCA9665
93635bfc353SWolfram Sang	  parallel bus to I2C bus controller.
93735bfc353SWolfram Sang
93835bfc353SWolfram Sang	  This driver can also be built as a module.  If so, the module
93935bfc353SWolfram Sang	  will be called i2c-pca-platform.
94035bfc353SWolfram Sang
941f5b728a1SJean Delvareconfig I2C_PNX
942c115167aSKevin Wells	tristate "I2C bus support for Philips PNX and NXP LPC targets"
9434a2d5f66SKrzysztof Kozlowski	depends on ARCH_LPC32XX || COMPILE_TEST
944f5b728a1SJean Delvare	help
945f5b728a1SJean Delvare	  This driver supports the Philips IP3204 I2C IP block master and/or
946f5b728a1SJean Delvare	  slave controller
947f5b728a1SJean Delvare
948f5b728a1SJean Delvare	  This driver can also be built as a module.  If so, the module
949f5b728a1SJean Delvare	  will be called i2c-pnx.
950f5b728a1SJean Delvare
951f5b728a1SJean Delvareconfig I2C_PXA
952d7c46dddSHaojian Zhuang	tristate "Intel PXA2XX I2C adapter"
9534a2d5f66SKrzysztof Kozlowski	depends on ARCH_PXA || ARCH_MMP || ARCH_MVEBU || (X86_32 && PCI && OF) || COMPILE_TEST
954f5b728a1SJean Delvare	help
955f5b728a1SJean Delvare	  If you have devices in the PXA I2C bus, say yes to this option.
956f5b728a1SJean Delvare	  This driver can also be built as a module.  If so, the module
957f5b728a1SJean Delvare	  will be called i2c-pxa.
958f5b728a1SJean Delvare
9597e94dd15SSebastian Andrzej Siewiorconfig I2C_PXA_PCI
9607e94dd15SSebastian Andrzej Siewior	def_bool I2C_PXA && X86_32 && PCI && OF
9617e94dd15SSebastian Andrzej Siewior
962f5b728a1SJean Delvareconfig I2C_PXA_SLAVE
963f5b728a1SJean Delvare	bool "Intel PXA2XX I2C Slave comms support"
9647e94dd15SSebastian Andrzej Siewior	depends on I2C_PXA && !X86_32
9654d51b4ceSPatrick Williams	select I2C_SLAVE
966f5b728a1SJean Delvare	help
967f5b728a1SJean Delvare	  Support I2C slave mode communications on the PXA I2C bus.  This
968f5b728a1SJean Delvare	  is necessary for systems where the PXA may be a target on the
969f5b728a1SJean Delvare	  I2C bus.
970f5b728a1SJean Delvare
971e5175261SLoic Poulainconfig I2C_QCOM_CCI
972e5175261SLoic Poulain	tristate "Qualcomm Camera Control Interface"
973e5175261SLoic Poulain	depends on ARCH_QCOM || COMPILE_TEST
974e5175261SLoic Poulain	help
975e5175261SLoic Poulain	  If you say yes to this option, support will be included for the
976e5175261SLoic Poulain	  built-in camera control interface on the Qualcomm SoCs.
977e5175261SLoic Poulain
978e5175261SLoic Poulain	  This driver can also be built as a module.  If so, the module
979e5175261SLoic Poulain	  will be called i2c-qcom-cci.
980e5175261SLoic Poulain
98137692de5SKarthikeyan Ramasubramanianconfig I2C_QCOM_GENI
98237692de5SKarthikeyan Ramasubramanian	tristate "Qualcomm Technologies Inc.'s GENI based I2C controller"
98337692de5SKarthikeyan Ramasubramanian	depends on ARCH_QCOM || COMPILE_TEST
98437692de5SKarthikeyan Ramasubramanian	depends on QCOM_GENI_SE
98537692de5SKarthikeyan Ramasubramanian	help
98637692de5SKarthikeyan Ramasubramanian	  This driver supports GENI serial engine based I2C controller in
98737692de5SKarthikeyan Ramasubramanian	  master mode on the Qualcomm Technologies Inc.'s SoCs. If you say
98837692de5SKarthikeyan Ramasubramanian	  yes to this option, support will be included for the built-in I2C
98937692de5SKarthikeyan Ramasubramanian	  interface on the Qualcomm Technologies Inc.'s SoCs.
99037692de5SKarthikeyan Ramasubramanian
99137692de5SKarthikeyan Ramasubramanian	  This driver can also be built as a module.  If so, the module
99237692de5SKarthikeyan Ramasubramanian	  will be called i2c-qcom-geni.
99337692de5SKarthikeyan Ramasubramanian
99410c5a842SBjorn Anderssonconfig I2C_QUP
99510c5a842SBjorn Andersson	tristate "Qualcomm QUP based I2C controller"
9965de71797SWolfram Sang	depends on ARCH_QCOM || COMPILE_TEST
99710c5a842SBjorn Andersson	help
99810c5a842SBjorn Andersson	  If you say yes to this option, support will be included for the
99910c5a842SBjorn Andersson	  built-in I2C interface on the Qualcomm SoCs.
100010c5a842SBjorn Andersson
100110c5a842SBjorn Andersson	  This driver can also be built as a module.  If so, the module
100210c5a842SBjorn Andersson	  will be called i2c-qup.
100310c5a842SBjorn Andersson
1004310c18a4SWolfram Sangconfig I2C_RIIC
1005310c18a4SWolfram Sang	tristate "Renesas RIIC adapter"
100607316149SSimon Horman	depends on ARCH_RENESAS || COMPILE_TEST
1007310c18a4SWolfram Sang	help
1008310c18a4SWolfram Sang	  If you say yes to this option, support will be included for the
1009310c18a4SWolfram Sang	  Renesas RIIC I2C interface.
1010310c18a4SWolfram Sang
1011310c18a4SWolfram Sang	  This driver can also be built as a module.  If so, the module
1012310c18a4SWolfram Sang	  will be called i2c-riic.
1013310c18a4SWolfram Sang
1014c41aa3ceSMax Schwarzconfig I2C_RK3X
1015c41aa3ceSMax Schwarz	tristate "Rockchip RK3xxx I2C adapter"
101680f1774fSMax Schwarz	depends on OF && COMMON_CLK
1017c41aa3ceSMax Schwarz	help
1018c41aa3ceSMax Schwarz	  Say Y here to include support for the I2C adapter in Rockchip RK3xxx
1019c41aa3ceSMax Schwarz	  SoCs.
1020c41aa3ceSMax Schwarz
1021c41aa3ceSMax Schwarz	  This driver can also be built as a module. If so, the module will
1022c41aa3ceSMax Schwarz	  be called i2c-rk3x.
1023c41aa3ceSMax Schwarz
1024e0ca796aSPhil Edworthyconfig I2C_RZV2M
1025e0ca796aSPhil Edworthy	tristate "Renesas RZ/V2M adapter"
1026e0ca796aSPhil Edworthy	depends on ARCH_RENESAS || COMPILE_TEST
1027e0ca796aSPhil Edworthy	help
1028e0ca796aSPhil Edworthy	  If you say yes to this option, support will be included for the
1029e0ca796aSPhil Edworthy	  Renesas RZ/V2M I2C interface.
1030e0ca796aSPhil Edworthy
1031e0ca796aSPhil Edworthy	  This driver can also be built as a module.  If so, the module
1032e0ca796aSPhil Edworthy	  will be called i2c-rzv2m.
1033e0ca796aSPhil Edworthy
1034f5b728a1SJean Delvareconfig I2C_S3C2410
1035a009310fSKrzysztof Kozlowski	tristate "S3C/Exynos I2C Driver"
10361ea35b35SArnd Bergmann	depends on ARCH_EXYNOS || ARCH_S3C64XX || ARCH_S5PV210 || COMPILE_TEST
1037f5b728a1SJean Delvare	help
1038f5b728a1SJean Delvare	  Say Y here to include support for I2C controller in the
1039a009310fSKrzysztof Kozlowski	  Samsung SoCs (S3C, S5Pv210, Exynos).
1040f5b728a1SJean Delvare
1041f5b728a1SJean Delvareconfig I2C_SH7760
1042f5b728a1SJean Delvare	tristate "Renesas SH7760 I2C Controller"
1043f5b728a1SJean Delvare	depends on CPU_SUBTYPE_SH7760
1044f5b728a1SJean Delvare	help
1045f5b728a1SJean Delvare	  This driver supports the 2 I2C interfaces on the Renesas SH7760.
1046f5b728a1SJean Delvare
1047f5b728a1SJean Delvare	  This driver can also be built as a module.  If so, the module
1048f5b728a1SJean Delvare	  will be called i2c-sh7760.
1049f5b728a1SJean Delvare
1050f5b728a1SJean Delvareconfig I2C_SH_MOBILE
1051f5b728a1SJean Delvare	tristate "SuperH Mobile I2C Controller"
105217f80487SGeert Uytterhoeven	depends on ARCH_SHMOBILE || ARCH_RENESAS || COMPILE_TEST
1053f5b728a1SJean Delvare	help
1054f5b728a1SJean Delvare	  If you say yes to this option, support will be included for the
1055f5b728a1SJean Delvare	  built-in I2C interface on the Renesas SH-Mobile processor.
1056f5b728a1SJean Delvare
1057f5b728a1SJean Delvare	  This driver can also be built as a module.  If so, the module
1058f5b728a1SJean Delvare	  will be called i2c-sh_mobile.
1059f5b728a1SJean Delvare
1060f5b728a1SJean Delvareconfig I2C_SIMTEC
1061f5b728a1SJean Delvare	tristate "Simtec Generic I2C interface"
1062f5b728a1SJean Delvare	select I2C_ALGOBIT
1063f5b728a1SJean Delvare	help
1064f5b728a1SJean Delvare	  If you say yes to this option, support will be included for
1065f5b728a1SJean Delvare	  the Simtec Generic I2C interface. This driver is for the
1066f5b728a1SJean Delvare	  simple I2C bus used on newer Simtec products for general
1067f5b728a1SJean Delvare	  I2C, such as DDC on the Simtec BBD2016A.
1068f5b728a1SJean Delvare
1069f5b728a1SJean Delvare	  This driver can also be built as a module. If so, the module
1070f5b728a1SJean Delvare	  will be called i2c-simtec.
1071f5b728a1SJean Delvare
10728b9ec071SBaolin Wangconfig I2C_SPRD
10734d7802aaSBaolin Wang	tristate "Spreadtrum I2C interface"
10744a2d5f66SKrzysztof Kozlowski	depends on I2C=y && (ARCH_SPRD || COMPILE_TEST)
10759ecd1d2bSKrzysztof Kozlowski	depends on COMMON_CLK
10768b9ec071SBaolin Wang	help
10778b9ec071SBaolin Wang	  If you say yes to this option, support will be included for the
10788b9ec071SBaolin Wang	  Spreadtrum I2C interface.
10798b9ec071SBaolin Wang
108085b4fab2SMaxime COQUELINconfig I2C_ST
108185b4fab2SMaxime COQUELIN	tristate "STMicroelectronics SSC I2C support"
10824a2d5f66SKrzysztof Kozlowski	depends on ARCH_STI || COMPILE_TEST
108385b4fab2SMaxime COQUELIN	help
108485b4fab2SMaxime COQUELIN	  Enable this option to add support for STMicroelectronics SoCs
108585b4fab2SMaxime COQUELIN	  hardware SSC (Synchronous Serial Controller) as an I2C controller.
108685b4fab2SMaxime COQUELIN
108785b4fab2SMaxime COQUELIN	  This driver can also be built as module. If so, the module
108885b4fab2SMaxime COQUELIN	  will be called i2c-st.
108985b4fab2SMaxime COQUELIN
109062817fc8SM'boumba Cedric Madiangaconfig I2C_STM32F4
109162817fc8SM'boumba Cedric Madianga	tristate "STMicroelectronics STM32F4 I2C support"
109262817fc8SM'boumba Cedric Madianga	depends on ARCH_STM32 || COMPILE_TEST
109362817fc8SM'boumba Cedric Madianga	help
109462817fc8SM'boumba Cedric Madianga	  Enable this option to add support for STM32 I2C controller embedded
109562817fc8SM'boumba Cedric Madianga	  in STM32F4 SoCs.
109662817fc8SM'boumba Cedric Madianga
109762817fc8SM'boumba Cedric Madianga	  This driver can also be built as module. If so, the module
109862817fc8SM'boumba Cedric Madianga	  will be called i2c-stm32f4.
109962817fc8SM'boumba Cedric Madianga
1100aeb068c5SPierre-Yves MORDRETconfig I2C_STM32F7
1101aeb068c5SPierre-Yves MORDRET	tristate "STMicroelectronics STM32F7 I2C support"
1102aeb068c5SPierre-Yves MORDRET	depends on ARCH_STM32 || COMPILE_TEST
110360d609f3SPierre-Yves MORDRET	select I2C_SLAVE
11046af07719SAlain Volmat	select I2C_SMBUS
1105aeb068c5SPierre-Yves MORDRET	help
1106aeb068c5SPierre-Yves MORDRET	  Enable this option to add support for STM32 I2C controller embedded
1107aeb068c5SPierre-Yves MORDRET	  in STM32F7 SoCs.
1108aeb068c5SPierre-Yves MORDRET
1109aeb068c5SPierre-Yves MORDRET	  This driver can also be built as module. If so, the module
1110aeb068c5SPierre-Yves MORDRET	  will be called i2c-stm32f7.
1111aeb068c5SPierre-Yves MORDRET
11123e833490SBoris BREZILLONconfig I2C_SUN6I_P2WI
11133e833490SBoris BREZILLON	tristate "Allwinner sun6i internal P2WI controller"
11143e833490SBoris BREZILLON	depends on RESET_CONTROLLER
11153e833490SBoris BREZILLON	depends on MACH_SUN6I || COMPILE_TEST
11163e833490SBoris BREZILLON	help
11173e833490SBoris BREZILLON	  If you say yes to this option, support will be included for the
11183e833490SBoris BREZILLON	  P2WI (Push/Pull 2 Wire Interface) controller embedded in some sunxi
11193e833490SBoris BREZILLON	  SOCs.
11203e833490SBoris BREZILLON	  The P2WI looks like an SMBus controller (which supports only byte
11213e833490SBoris BREZILLON	  accesses), except that it only supports one slave device.
11223e833490SBoris BREZILLON	  This interface is used to connect to specific PMIC devices (like the
11233e833490SBoris BREZILLON	  AXP221).
11243e833490SBoris BREZILLON
11250d676a6cSArd Biesheuvelconfig I2C_SYNQUACER
11260d676a6cSArd Biesheuvel	tristate "Socionext SynQuacer I2C controller"
11270d676a6cSArd Biesheuvel	depends on ARCH_SYNQUACER || COMPILE_TEST
11280d676a6cSArd Biesheuvel	help
11290d676a6cSArd Biesheuvel	  Say Y here to include support for the I2C controller used in some
11300d676a6cSArd Biesheuvel	  Fujitsu and Socionext SoCs.
11310d676a6cSArd Biesheuvel
11320d676a6cSArd Biesheuvel	  This driver can also be built as a module. If so, the module
11330d676a6cSArd Biesheuvel	  will be called i2c-synquacer.
11340d676a6cSArd Biesheuvel
1135db811ca0SColin Crossconfig I2C_TEGRA
1136db811ca0SColin Cross	tristate "NVIDIA Tegra internal I2C controller"
11374a2d5f66SKrzysztof Kozlowski	depends on ARCH_TEGRA || (COMPILE_TEST && (ARC || ARM || ARM64 || M68K || RISCV || SUPERH || SPARC))
11384a2d5f66SKrzysztof Kozlowski	# COMPILE_TEST needs architectures with readsX()/writesX() primitives
1139db811ca0SColin Cross	help
1140db811ca0SColin Cross	  If you say yes to this option, support will be included for the
1141db811ca0SColin Cross	  I2C controller embedded in NVIDIA Tegra SOCs
1142db811ca0SColin Cross
11430297ffa6SShardar Shariff Mdconfig I2C_TEGRA_BPMP
11440297ffa6SShardar Shariff Md	tristate "NVIDIA Tegra BPMP I2C controller"
11454a2d5f66SKrzysztof Kozlowski	depends on TEGRA_BPMP || COMPILE_TEST
11464a2d5f66SKrzysztof Kozlowski	default y if TEGRA_BPMP
11470297ffa6SShardar Shariff Md	help
11480297ffa6SShardar Shariff Md	  If you say yes to this option, support will be included for the I2C
11490297ffa6SShardar Shariff Md	  controller embedded in NVIDIA Tegra SoCs accessed via the BPMP.
11500297ffa6SShardar Shariff Md
11510297ffa6SShardar Shariff Md	  This I2C driver is a 'virtual' I2C driver. The real driver is part
11520297ffa6SShardar Shariff Md	  of the BPMP firmware, and this driver merely communicates with that
11530297ffa6SShardar Shariff Md	  real driver.
11540297ffa6SShardar Shariff Md
1155dd6fd4a3SMasahiro Yamadaconfig I2C_UNIPHIER
1156dd6fd4a3SMasahiro Yamada	tristate "UniPhier FIFO-less I2C controller"
115761c18aebSMasahiro Yamada	depends on ARCH_UNIPHIER || COMPILE_TEST
1158dd6fd4a3SMasahiro Yamada	help
1159dd6fd4a3SMasahiro Yamada	  If you say yes to this option, support will be included for
1160dd6fd4a3SMasahiro Yamada	  the UniPhier FIFO-less I2C interface embedded in PH1-LD4, PH1-sLD8,
1161dd6fd4a3SMasahiro Yamada	  or older UniPhier SoCs.
1162dd6fd4a3SMasahiro Yamada
11636a62974bSMasahiro Yamadaconfig I2C_UNIPHIER_F
11646a62974bSMasahiro Yamada	tristate "UniPhier FIFO-builtin I2C controller"
116561c18aebSMasahiro Yamada	depends on ARCH_UNIPHIER || COMPILE_TEST
11666a62974bSMasahiro Yamada	help
11676a62974bSMasahiro Yamada	  If you say yes to this option, support will be included for
11686a62974bSMasahiro Yamada	  the UniPhier FIFO-builtin I2C interface embedded in PH1-Pro4,
11696a62974bSMasahiro Yamada	  PH1-Pro5, or newer UniPhier SoCs.
11706a62974bSMasahiro Yamada
1171f5b728a1SJean Delvareconfig I2C_VERSATILE
1172f5b728a1SJean Delvare	tristate "ARM Versatile/Realview I2C bus support"
11735871a153SRussell King	depends on ARCH_MPS2 || ARCH_VERSATILE || ARCH_REALVIEW || ARCH_VEXPRESS || COMPILE_TEST
1174f5b728a1SJean Delvare	select I2C_ALGOBIT
1175f5b728a1SJean Delvare	help
1176f5b728a1SJean Delvare	  Say yes if you want to support the I2C serial bus on ARMs Versatile
1177f5b728a1SJean Delvare	  range of platforms.
1178f5b728a1SJean Delvare
1179f5b728a1SJean Delvare	  This driver can also be built as a module.  If so, the module
1180f5b728a1SJean Delvare	  will be called i2c-versatile.
1181f5b728a1SJean Delvare
1182560746ebSTony Priskconfig I2C_WMT
1183560746ebSTony Prisk	tristate "Wondermedia WM8xxx SoC I2C bus support"
11844a2d5f66SKrzysztof Kozlowski	depends on ARCH_VT8500 || COMPILE_TEST
1185560746ebSTony Prisk	help
1186560746ebSTony Prisk	  Say yes if you want to support the I2C bus on Wondermedia 8xxx-series
1187560746ebSTony Prisk	  SoCs.
1188560746ebSTony Prisk
1189560746ebSTony Prisk	  This driver can also be built as a module. If so, the module will be
1190560746ebSTony Prisk	  called i2c-wmt.
1191560746ebSTony Prisk
119285660f43SRade Bozicconfig I2C_OCTEON
119385660f43SRade Bozic	tristate "Cavium OCTEON I2C bus support"
11949ddebc46SDavid Daney	depends on CAVIUM_OCTEON_SOC
119585660f43SRade Bozic	help
119685660f43SRade Bozic	  Say yes if you want to support the I2C serial bus on Cavium
119785660f43SRade Bozic	  OCTEON SOC.
119885660f43SRade Bozic
119985660f43SRade Bozic	  This driver can also be built as a module.  If so, the module
120085660f43SRade Bozic	  will be called i2c-octeon.
120185660f43SRade Bozic
120222d40209SJan Glauberconfig I2C_THUNDERX
120322d40209SJan Glauber	tristate "Cavium ThunderX I2C bus support"
120422d40209SJan Glauber	depends on 64BIT && PCI && (ARM64 || COMPILE_TEST)
12051e586671SJan Glauber	select I2C_SMBUS
120622d40209SJan Glauber	help
120722d40209SJan Glauber	  Say yes if you want to support the I2C serial bus on Cavium
120822d40209SJan Glauber	  ThunderX SOC.
120922d40209SJan Glauber
121022d40209SJan Glauber	  This driver can also be built as a module.  If so, the module
121122d40209SJan Glauber	  will be called i2c-thunderx.
121222d40209SJan Glauber
1213e1d5b659SRichard Röjforsconfig I2C_XILINX
1214e1d5b659SRichard Röjfors	tristate "Xilinx I2C Controller"
1215417e86ceSKees Cook	depends on HAS_IOMEM
1216e1d5b659SRichard Röjfors	help
1217e1d5b659SRichard Röjfors	  If you say yes to this option, support will be included for the
1218e1d5b659SRichard Röjfors	  Xilinx I2C controller.
1219e1d5b659SRichard Röjfors
1220e1d5b659SRichard Röjfors	  This driver can also be built as a module.  If so, the module
1221e1d5b659SRichard Röjfors	  will be called xilinx_i2c.
1222e1d5b659SRichard Röjfors
12232bbd681bSSubhendu Sekhar Beheraconfig I2C_XLP9XX
1224ef99066cSRob Herring	tristate "Cavium ThunderX2 I2C support"
1225ef99066cSRob Herring	depends on ARCH_THUNDER2 || COMPILE_TEST
12262bbd681bSSubhendu Sekhar Behera	help
12272bbd681bSSubhendu Sekhar Behera	  This driver enables support for the on-chip I2C interface of
1228ef99066cSRob Herring	  the Cavium ThunderX2 processors. (Originally on Netlogic XLP SoCs.)
12292bbd681bSSubhendu Sekhar Behera
12302bbd681bSSubhendu Sekhar Behera	  This driver can also be built as a module.  If so, the module will
12312bbd681bSSubhendu Sekhar Behera	  be called i2c-xlp9xx.
12322bbd681bSSubhendu Sekhar Behera
12336ccbe607SKuninori Morimotoconfig I2C_RCAR
12346ccbe607SKuninori Morimoto	tristate "Renesas R-Car I2C Controller"
123507316149SSimon Horman	depends on ARCH_RENESAS || COMPILE_TEST
1236d5fd120eSJean Delvare	select I2C_SLAVE
1237c4651f11SWolfram Sang	select I2C_SMBUS
12385b9bacf2SDirk Behme	select RESET_CONTROLLER if ARCH_RCAR_GEN3
12396ccbe607SKuninori Morimoto	help
12406ccbe607SKuninori Morimoto	  If you say yes to this option, support will be included for the
12416ccbe607SKuninori Morimoto	  R-Car I2C controller.
12426ccbe607SKuninori Morimoto
12436ccbe607SKuninori Morimoto	  This driver can also be built as a module.  If so, the module
12446ccbe607SKuninori Morimoto	  will be called i2c-rcar.
12456ccbe607SKuninori Morimoto
1246f5b728a1SJean Delvarecomment "External I2C/SMBus adapter drivers"
1247f5b728a1SJean Delvare
1248335d7c58SGuenter Roeckconfig I2C_DIOLAN_U2C
1249335d7c58SGuenter Roeck	tristate "Diolan U2C-12 USB adapter"
1250335d7c58SGuenter Roeck	depends on USB
1251335d7c58SGuenter Roeck	help
1252335d7c58SGuenter Roeck	  If you say yes to this option, support will be included for Diolan
1253335d7c58SGuenter Roeck	  U2C-12, a USB to I2C interface.
1254335d7c58SGuenter Roeck
1255335d7c58SGuenter Roeck	  This driver can also be built as a module.  If so, the module
1256335d7c58SGuenter Roeck	  will be called i2c-diolan-u2c.
1257335d7c58SGuenter Roeck
1258db23e500SLaurentiu Palcuconfig I2C_DLN2
1259db23e500SLaurentiu Palcu	tristate "Diolan DLN-2 USB I2C adapter"
1260db23e500SLaurentiu Palcu	depends on MFD_DLN2
1261db23e500SLaurentiu Palcu	help
1262db23e500SLaurentiu Palcu	 If you say yes to this option, support will be included for Diolan
1263db23e500SLaurentiu Palcu	 DLN2, a USB to I2C interface.
1264db23e500SLaurentiu Palcu
1265db23e500SLaurentiu Palcu	 This driver can also be built as a module.  If so, the module
1266db23e500SLaurentiu Palcu	 will be called i2c-dln2.
1267db23e500SLaurentiu Palcu
12684a769542SBence Csókásconfig I2C_CP2615
12694a769542SBence Csókás	tristate "Silicon Labs CP2615 USB sound card and I2C adapter"
12704a769542SBence Csókás	depends on USB
12714a769542SBence Csókás	help
12724a769542SBence Csókás	  If you say yes to this option, support will be included for Silicon
12734a769542SBence Csókás	  Labs CP2615's I2C interface.
12744a769542SBence Csókás
12754a769542SBence Csókás	  This driver can also be built as a module.  If so, the module
12764a769542SBence Csókás	  will be called i2c-cp2615.
12774a769542SBence Csókás
12781da177e4SLinus Torvaldsconfig I2C_PARPORT
12791da177e4SLinus Torvalds	tristate "Parallel port adapter"
12800244ad00SMartin Schwidefsky	depends on PARPORT
12811da177e4SLinus Torvalds	select I2C_ALGOBIT
128235859254SJean Delvare	select I2C_SMBUS
12831da177e4SLinus Torvalds	help
12841da177e4SLinus Torvalds	  This supports parallel port I2C adapters such as the ones made by
12851da177e4SLinus Torvalds	  Philips or Velleman, Analog Devices evaluation boards, and more.
12861da177e4SLinus Torvalds	  Basically any adapter using the parallel port as an I2C bus with
1287511f7d54SWolfram Sang	  no extra chipset is supported by this driver, or could be. Please
1288511f7d54SWolfram Sang	  read the file Documentation/i2c/busses/i2c-parport.rst for details.
1289e97b81ddSMark M. Hoffman
12901da177e4SLinus Torvalds	  This support is also available as a module.  If so, the module
12911da177e4SLinus Torvalds	  will be called i2c-parport.
12921da177e4SLinus Torvalds
129336169369STharun Kumar Pconfig I2C_PCI1XXXX
129436169369STharun Kumar P	tristate "PCI1XXXX I2C Host Adapter"
129536169369STharun Kumar P	depends on PCI
129636169369STharun Kumar P	help
129736169369STharun Kumar P	  If you say yes to this option, support will be included for
129836169369STharun Kumar P	  Microchip PCI1XXXX's I2C interface.
129936169369STharun Kumar P
130036169369STharun Kumar P	  This driver can also be built as a module. If so, the module will
130136169369STharun Kumar P	  be called i2c-mchp-pci1xxxx.
130236169369STharun Kumar P
130383e53a8fSAndrew Lunnconfig I2C_ROBOTFUZZ_OSIF
130483e53a8fSAndrew Lunn	tristate "RobotFuzz Open Source InterFace USB adapter"
130583e53a8fSAndrew Lunn	depends on USB
130683e53a8fSAndrew Lunn	help
130783e53a8fSAndrew Lunn	  If you say yes to this option, support will be included for the
130883e53a8fSAndrew Lunn	  RobotFuzz Open Source InterFace USB to I2C interface.
130983e53a8fSAndrew Lunn
131083e53a8fSAndrew Lunn	  This driver can also be built as a module.  If so, the module
131183e53a8fSAndrew Lunn	  will be called i2c-osif.
131283e53a8fSAndrew Lunn
1313f5b728a1SJean Delvareconfig I2C_TAOS_EVM
1314f5b728a1SJean Delvare	tristate "TAOS evaluation module"
131521eaab6dSLinus Torvalds	depends on TTY
1316f5b728a1SJean Delvare	select SERIO
1317f5b728a1SJean Delvare	select SERIO_SERPORT
1318beb58aa3SOlof Johansson	help
1319f5b728a1SJean Delvare	  This supports TAOS evaluation modules on serial port. In order to
1320f5b728a1SJean Delvare	  use this driver, you will need the inputattach tool, which is part
1321f5b728a1SJean Delvare	  of the input-utils package.
1322beb58aa3SOlof Johansson
1323f5b728a1SJean Delvare	  If unsure, say N.
1324f5b728a1SJean Delvare
1325f5b728a1SJean Delvare	  This support is also available as a module.  If so, the module
1326f5b728a1SJean Delvare	  will be called i2c-taos-evm.
1327f5b728a1SJean Delvare
1328f5b728a1SJean Delvareconfig I2C_TINY_USB
1329f5b728a1SJean Delvare	tristate "Tiny-USB adapter"
1330f5b728a1SJean Delvare	depends on USB
13311da177e4SLinus Torvalds	help
1332f5b728a1SJean Delvare	  If you say yes to this option, support will be included for the
1333f5b728a1SJean Delvare	  i2c-tiny-usb, a simple do-it-yourself USB to I2C interface. See
1334f5b728a1SJean Delvare	  http://www.harbaum.org/till/i2c_tiny_usb for hardware details.
1335f5b728a1SJean Delvare
1336f5b728a1SJean Delvare	  This driver can also be built as a module.  If so, the module
1337f5b728a1SJean Delvare	  will be called i2c-tiny-usb.
1338f5b728a1SJean Delvare
1339174a13aaSLars Poeschelconfig I2C_VIPERBOARD
1340174a13aaSLars Poeschel	tristate "Viperboard I2C master support"
1341174a13aaSLars Poeschel	depends on MFD_VIPERBOARD && USB
1342174a13aaSLars Poeschel	help
1343174a13aaSLars Poeschel	  Say yes here to access the I2C part of the Nano River
1344174a13aaSLars Poeschel	  Technologies Viperboard as I2C master.
1345174a13aaSLars Poeschel	  See viperboard API specification and Nano
1346174a13aaSLars Poeschel	  River Tech's viperboard.h for detailed meaning
1347174a13aaSLars Poeschel	  of the module parameters.
1348174a13aaSLars Poeschel
1349f5b728a1SJean Delvarecomment "Other I2C/SMBus bus drivers"
1350f5b728a1SJean Delvare
1351f5b728a1SJean Delvareconfig I2C_ACORN
1352f5b728a1SJean Delvare	tristate "Acorn IOC/IOMD I2C bus support"
1353f5b728a1SJean Delvare	depends on ARCH_ACORN
1354f5b728a1SJean Delvare	default y
1355f5b728a1SJean Delvare	select I2C_ALGOBIT
1356f5b728a1SJean Delvare	help
1357f5b728a1SJean Delvare	  Say yes if you want to support the I2C bus on Acorn platforms.
1358f5b728a1SJean Delvare
1359f5b728a1SJean Delvare	  If you don't know, say Y.
1360f5b728a1SJean Delvare
1361f5b728a1SJean Delvareconfig I2C_ELEKTOR
1362f5b728a1SJean Delvare	tristate "Elektor ISA card"
1363ce816fa8SUwe Kleine-König	depends on ISA && HAS_IOPORT_MAP && BROKEN_ON_SMP
1364f5b728a1SJean Delvare	select I2C_ALGOPCF
1365f5b728a1SJean Delvare	help
1366f5b728a1SJean Delvare	  This supports the PCF8584 ISA bus I2C adapter.  Say Y if you own
1367f5b728a1SJean Delvare	  such an adapter.
1368f5b728a1SJean Delvare
1369f5b728a1SJean Delvare	  This support is also available as a module.  If so, the module
1370f5b728a1SJean Delvare	  will be called i2c-elektor.
1371f5b728a1SJean Delvare
13724768e90eSMax Staudtconfig I2C_ICY
13734768e90eSMax Staudt	tristate "ICY Zorro card"
13744768e90eSMax Staudt	depends on ZORRO
13754768e90eSMax Staudt	select I2C_ALGOPCF
13764768e90eSMax Staudt	help
13774768e90eSMax Staudt	  This supports the PCF8584 Zorro bus I2C adapter, known as ICY.
13784768e90eSMax Staudt	  Say Y if you own such an adapter.
13794768e90eSMax Staudt
13804768e90eSMax Staudt	  This support is also available as a module.  If so, the module
13814768e90eSMax Staudt	  will be called i2c-icy.
13824768e90eSMax Staudt
1383724041aeSMax Staudt	  If you have a 2019 edition board with an LTC2990 sensor at address
1384724041aeSMax Staudt	  0x4c, loading the module 'ltc2990' is sufficient to enable it.
1385724041aeSMax Staudt
13866bec23bfSVadim Pasternakconfig I2C_MLXCPLD
13876bec23bfSVadim Pasternak	tristate "Mellanox I2C driver"
1388b2cacc2eSGeert Uytterhoeven	depends on X86_64 || (ARM64 && ACPI) || COMPILE_TEST
13896bec23bfSVadim Pasternak	help
13906bec23bfSVadim Pasternak	  This exposes the Mellanox platform I2C busses to the linux I2C layer
1391b2cacc2eSGeert Uytterhoeven	  for X86 and ARM64/ACPI based systems.
13926bec23bfSVadim Pasternak	  Controller is implemented as CPLD logic.
13936bec23bfSVadim Pasternak
13946bec23bfSVadim Pasternak	  This driver can also be built as a module. If so, the module will be
13956bec23bfSVadim Pasternak	  called as i2c-mlxcpld.
13966bec23bfSVadim Pasternak
1397f5b728a1SJean Delvareconfig I2C_PCA_ISA
1398eff9ec95SMarco Aurelio da Costa	tristate "PCA9564/PCA9665 on an ISA bus"
1399f5b728a1SJean Delvare	depends on ISA
1400f5b728a1SJean Delvare	select I2C_ALGOPCA
1401f5b728a1SJean Delvare	help
1402eff9ec95SMarco Aurelio da Costa	  This driver supports ISA boards using the Philips PCA9564/PCA9665
1403f5b728a1SJean Delvare	  parallel bus to I2C bus controller.
1404f5b728a1SJean Delvare
1405f5b728a1SJean Delvare	  This driver can also be built as a module.  If so, the module
1406f5b728a1SJean Delvare	  will be called i2c-pca-isa.
1407f5b728a1SJean Delvare
1408f5b728a1SJean Delvare	  This device is almost undetectable and using this driver on a
1409f5b728a1SJean Delvare	  system which doesn't have this device will result in long
1410f5b728a1SJean Delvare	  delays when I2C/SMBus chip drivers are loaded (e.g. at boot
1411f5b728a1SJean Delvare	  time).  If unsure, say N.
1412f5b728a1SJean Delvare
14131da177e4SLinus Torvaldsconfig I2C_SIBYTE
14141da177e4SLinus Torvalds	tristate "SiByte SMBus interface"
141516538e6bSJan Engelhardt	depends on SIBYTE_SB1xxx_SOC
14161da177e4SLinus Torvalds	help
14171da177e4SLinus Torvalds	  Supports the SiByte SOC on-chip I2C interfaces (2 channels).
14181da177e4SLinus Torvalds
14199d230c9eSDoug Andersonconfig I2C_CROS_EC_TUNNEL
14209d230c9eSDoug Anderson	tristate "ChromeOS EC tunnel I2C bus"
142147f11e0bSEnric Balletbo i Serra	depends on CROS_EC
14229d230c9eSDoug Anderson	help
14239d230c9eSDoug Anderson	  If you say yes here you get an I2C bus that will tunnel i2c commands
14249d230c9eSDoug Anderson	  through to the other side of the ChromeOS EC to the i2c bus
14259d230c9eSDoug Anderson	  connected there. This will work whatever the interface used to
14269d230c9eSDoug Anderson	  talk to the EC (SPI, I2C or LPC).
14279d230c9eSDoug Anderson
1428f6505fbaSFeng Kanconfig I2C_XGENE_SLIMPRO
1429f6505fbaSFeng Kan	tristate "APM X-Gene SoC I2C SLIMpro devices support"
1430f6505fbaSFeng Kan	depends on ARCH_XGENE && MAILBOX
1431f6505fbaSFeng Kan	help
1432f6505fbaSFeng Kan	  Enable I2C bus access using the APM X-Gene SoC SLIMpro
1433f6505fbaSFeng Kan	  co-processor. The I2C device access the I2C bus via the X-Gene
1434f6505fbaSFeng Kan	  to SLIMpro (On chip coprocessor) mailbox mechanism.
1435f6505fbaSFeng Kan	  If unsure, say N.
1436f6505fbaSFeng Kan
14371da177e4SLinus Torvaldsconfig SCx200_ACB
1438a417bbd3SBen Gardner	tristate "Geode ACCESS.bus support"
143916538e6bSJan Engelhardt	depends on X86_32 && PCI
14401da177e4SLinus Torvalds	help
1441a417bbd3SBen Gardner	  Enable the use of the ACCESS.bus controllers on the Geode SCx200 and
1442a417bbd3SBen Gardner	  SC1100 processors and the CS5535 and CS5536 Geode companion devices.
14431da177e4SLinus Torvalds
14441da177e4SLinus Torvalds	  If you don't know what to do here, say N.
14451da177e4SLinus Torvalds
14461da177e4SLinus Torvalds	  This support is also available as a module.  If so, the module
14471da177e4SLinus Torvalds	  will be called scx200_acb.
14481da177e4SLinus Torvalds
144947083450SNeelesh Guptaconfig I2C_OPAL
145047083450SNeelesh Gupta	tristate "IBM OPAL I2C driver"
145147083450SNeelesh Gupta	depends on PPC_POWERNV
145247083450SNeelesh Gupta	default y
145347083450SNeelesh Gupta	help
145447083450SNeelesh Gupta	  This exposes the PowerNV platform i2c busses to the linux i2c layer,
145547083450SNeelesh Gupta	  the driver is based on the OPAL interfaces.
145647083450SNeelesh Gupta
145747083450SNeelesh Gupta	  This driver can also be built as a module. If so, the module will be
145847083450SNeelesh Gupta	  called as i2c-opal.
145947083450SNeelesh Gupta
1460d6ffb630SEddie Jamesconfig I2C_FSI
1461d6ffb630SEddie James	tristate "FSI I2C driver"
1462d6ffb630SEddie James	depends on FSI
1463d6ffb630SEddie James	help
1464d6ffb630SEddie James	  Driver for FSI bus attached I2C masters. These are I2C masters that
1465d6ffb630SEddie James	  are connected to the system over an FSI bus, instead of the more
1466d6ffb630SEddie James	  common PCI or MMIO interface.
1467d6ffb630SEddie James
1468d6ffb630SEddie James	  This driver can also be built as a module. If so, the module will be
1469d6ffb630SEddie James	  called as i2c-fsi.
1470d6ffb630SEddie James
14713cfc8838SJie Dengconfig I2C_VIRTIO
14723cfc8838SJie Deng        tristate "Virtio I2C Adapter"
14733cfc8838SJie Deng        select VIRTIO
14743cfc8838SJie Deng        help
14753cfc8838SJie Deng          If you say yes to this option, support will be included for the virtio
14763cfc8838SJie Deng          I2C adapter driver. The hardware can be emulated by any device model
14773cfc8838SJie Deng          software according to the virtio protocol.
14783cfc8838SJie Deng
14793cfc8838SJie Deng          This driver can also be built as a module. If so, the module
14803cfc8838SJie Deng          will be called i2c-virtio.
14813cfc8838SJie Deng
14821da177e4SLinus Torvaldsendmenu
1483