xref: /linux/drivers/i2c/busses/Kconfig (revision a5210135489ae7bc1ef1cb4a8157361dd7b468cd)
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)
168cb3005d4SJarkko Nikula	    Wildcat Lake (SOC)
16990f690a4SZeng Guang	    Diamond Rapids (SOC)
170dde7e213SJarkko Nikula	    Nova Lake (PCH)
171f5b728a1SJean Delvare
172f5b728a1SJean Delvare	  This driver can also be built as a module.  If so, the module
173f5b728a1SJean Delvare	  will be called i2c-i801.
174f5b728a1SJean Delvare
1759c535237SHeiner Kallweitconfig I2C_I801_MUX
1769c535237SHeiner Kallweit	def_bool I2C_I801
1779c535237SHeiner Kallweit	depends on DMI && I2C_MUX_GPIO
1789c535237SHeiner Kallweit	depends on !(I2C_I801=y && I2C_MUX=m)
1799c535237SHeiner Kallweit	help
1809c535237SHeiner Kallweit	  Optional support for multiplexed SMBUS on certain systems with
1819c535237SHeiner Kallweit	  more than 8 memory slots.
1829c535237SHeiner Kallweit
1835bc12008SAlek Duconfig I2C_ISCH
1845bc12008SAlek Du	tristate "Intel SCH SMBus 1.0"
18547c21d2dSNiklas Schnelle	depends on PCI && HAS_IOPORT
186fd46a006SDenis Turischev	select LPC_SCH
1875bc12008SAlek Du	help
1885bc12008SAlek Du	  Say Y here if you want to use SMBus controller on the Intel SCH
1895bc12008SAlek Du	  based systems.
1905bc12008SAlek Du
1915bc12008SAlek Du	  This driver can also be built as a module. If so, the module
1925bc12008SAlek Du	  will be called i2c-isch.
1935bc12008SAlek Du
19413f35ac1SNeil Hormanconfig I2C_ISMT
19513f35ac1SNeil Horman	tristate "Intel iSMT SMBus Controller"
19613f35ac1SNeil Horman	depends on PCI && X86
19713f35ac1SNeil Horman	help
19813f35ac1SNeil Horman	  If you say yes to this option, support will be included for the Intel
19913f35ac1SNeil Horman	  iSMT SMBus host controller interface.
20013f35ac1SNeil Horman
20113f35ac1SNeil Horman	  This driver can also be built as a module.  If so, the module will be
20213f35ac1SNeil Horman	  called i2c-ismt.
20313f35ac1SNeil Horman
204f5b728a1SJean Delvareconfig I2C_PIIX4
20576b3e28fSCrane Cai	tristate "Intel PIIX4 and compatible (ATI/AMD/Serverworks/Broadcom/SMSC)"
206af14ed3fSMario Limonciello	depends on PCI && HAS_IOPORT
207de4f2f52SThomas Weißschuh	select I2C_SMBUS
208f5b728a1SJean Delvare	help
209f5b728a1SJean Delvare	  If you say yes to this option, support will be included for the Intel
210f5b728a1SJean Delvare	  PIIX4 family of mainboard I2C interfaces.  Specifically, the following
211f5b728a1SJean Delvare	  versions of the chipset are supported (note that Serverworks is part
212f5b728a1SJean Delvare	  of Broadcom):
213f5b728a1SJean Delvare	    Intel PIIX4
214f5b728a1SJean Delvare	    Intel 440MX
215f5b728a1SJean Delvare	    ATI IXP200
216f5b728a1SJean Delvare	    ATI IXP300
217f5b728a1SJean Delvare	    ATI IXP400
218f5b728a1SJean Delvare	    ATI SB600
2192a2f7404SAndrew Armenia	    ATI SB700/SP5100
220f5b728a1SJean Delvare	    ATI SB800
2213806e94bSCrane Cai	    AMD Hudson-2
222032f708bSShane Huang	    AMD ML
223b996ac90SShane Huang	    AMD CZ
22424beb83aSPu Wen	    Hygon CZ
225f5b728a1SJean Delvare	    Serverworks OSB4
226f5b728a1SJean Delvare	    Serverworks CSB5
227f5b728a1SJean Delvare	    Serverworks CSB6
228f5b728a1SJean Delvare	    Serverworks HT-1000
229506a8b6cSFlavio Leitner	    Serverworks HT-1100
230f5b728a1SJean Delvare	    SMSC Victory66
231f5b728a1SJean Delvare
2322a2f7404SAndrew Armenia	  Some AMD chipsets contain two PIIX4-compatible SMBus
2332a2f7404SAndrew Armenia	  controllers. This driver will attempt to use both controllers
2342a2f7404SAndrew Armenia	  on the SB700/SP5100, if they have been initialized by the BIOS.
2352a2f7404SAndrew Armenia
236f5b728a1SJean Delvare	  This driver can also be built as a module.  If so, the module
237f5b728a1SJean Delvare	  will be called i2c-piix4.
238f5b728a1SJean Delvare
23917a924bfSHans de Goedeconfig I2C_CHT_WC
24017a924bfSHans de Goede	tristate "Intel Cherry Trail Whiskey Cove PMIC smbus controller"
24117a924bfSHans de Goede	depends on INTEL_SOC_PMIC_CHTWC
24217a924bfSHans de Goede	help
24317a924bfSHans de Goede	  If you say yes to this option, support will be included for the
24417a924bfSHans de Goede	  SMBus controller found in the Intel Cherry Trail Whiskey Cove PMIC
24517a924bfSHans de Goede	  found on some Intel Cherry Trail systems.
24617a924bfSHans de Goede
2470224d45cSHans de Goede	  Note this controller is hooked up to a TI bq24292i charger-IC,
2480224d45cSHans de Goede	  combined with a FUSB302 Type-C port-controller as such it is advised
2497c8d4456SHeikki Krogerus	  to also select CONFIG_TYPEC_FUSB302=m.
2500224d45cSHans de Goede
251f5b728a1SJean Delvareconfig I2C_NFORCE2
252f5b728a1SJean Delvare	tristate "Nvidia nForce2, nForce3 and nForce4"
25347c21d2dSNiklas Schnelle	depends on PCI && HAS_IOPORT
254f5b728a1SJean Delvare	help
255f5b728a1SJean Delvare	  If you say yes to this option, support will be included for the Nvidia
256f5b728a1SJean Delvare	  nForce2, nForce3 and nForce4 families of mainboard I2C interfaces.
257f5b728a1SJean Delvare
258f5b728a1SJean Delvare	  This driver can also be built as a module.  If so, the module
259f5b728a1SJean Delvare	  will be called i2c-nforce2.
260f5b728a1SJean Delvare
261c71bcdcbSAjay Guptaconfig I2C_NVIDIA_GPU
262c71bcdcbSAjay Gupta	tristate "NVIDIA GPU I2C controller"
263c71bcdcbSAjay Gupta	depends on PCI
2642079563dSAndy Shevchenko	select I2C_CCGX_UCSI
265c71bcdcbSAjay Gupta	help
266c71bcdcbSAjay Gupta	  If you say yes to this option, support will be included for the
267c71bcdcbSAjay Gupta	  NVIDIA GPU I2C controller which is used to communicate with the GPU's
268c71bcdcbSAjay Gupta	  Type-C controller. This driver can also be built as a module called
269c71bcdcbSAjay Gupta	  i2c-nvidia-gpu.
270c71bcdcbSAjay Gupta
271f5b728a1SJean Delvareconfig I2C_SIS5595
272f5b728a1SJean Delvare	tristate "SiS 5595"
27347c21d2dSNiklas Schnelle	depends on PCI && HAS_IOPORT
274f5b728a1SJean Delvare	help
275f5b728a1SJean Delvare	  If you say yes to this option, support will be included for the
276f5b728a1SJean Delvare	  SiS5595 SMBus (a subset of I2C) interface.
277f5b728a1SJean Delvare
278f5b728a1SJean Delvare	  This driver can also be built as a module.  If so, the module
279f5b728a1SJean Delvare	  will be called i2c-sis5595.
280f5b728a1SJean Delvare
281f5b728a1SJean Delvareconfig I2C_SIS630
282974d6a37SAmaury Decrême	tristate "SiS 630/730/964"
28347c21d2dSNiklas Schnelle	depends on PCI && HAS_IOPORT
284f5b728a1SJean Delvare	help
285f5b728a1SJean Delvare	  If you say yes to this option, support will be included for the
286974d6a37SAmaury Decrême	  SiS630, SiS730 and SiS964 SMBus (a subset of I2C) interface.
287f5b728a1SJean Delvare
288f5b728a1SJean Delvare	  This driver can also be built as a module.  If so, the module
289f5b728a1SJean Delvare	  will be called i2c-sis630.
290f5b728a1SJean Delvare
291f5b728a1SJean Delvareconfig I2C_SIS96X
292f5b728a1SJean Delvare	tristate "SiS 96x"
29347c21d2dSNiklas Schnelle	depends on PCI && HAS_IOPORT
294f5b728a1SJean Delvare	help
295f5b728a1SJean Delvare	  If you say yes to this option, support will be included for the SiS
296f5b728a1SJean Delvare	  96x SMBus (a subset of I2C) interfaces.  Specifically, the following
297f5b728a1SJean Delvare	  chipsets are supported:
298f5b728a1SJean Delvare	    645/961
299f5b728a1SJean Delvare	    645DX/961
300f5b728a1SJean Delvare	    645DX/962
301f5b728a1SJean Delvare	    648/961
302f5b728a1SJean Delvare	    650/961
303f5b728a1SJean Delvare	    735
304f5b728a1SJean Delvare	    745
305f5b728a1SJean Delvare
306f5b728a1SJean Delvare	  This driver can also be built as a module.  If so, the module
307f5b728a1SJean Delvare	  will be called i2c-sis96x.
308f5b728a1SJean Delvare
309f5b728a1SJean Delvareconfig I2C_VIA
310f5b728a1SJean Delvare	tristate "VIA VT82C586B"
31147c21d2dSNiklas Schnelle	depends on PCI && HAS_IOPORT
312f5b728a1SJean Delvare	select I2C_ALGOBIT
313f5b728a1SJean Delvare	help
314f5b728a1SJean Delvare	  If you say yes to this option, support will be included for the VIA
315f5b728a1SJean Delvare	  82C586B I2C interface
316f5b728a1SJean Delvare
317f5b728a1SJean Delvare	  This driver can also be built as a module.  If so, the module
318f5b728a1SJean Delvare	  will be called i2c-via.
319f5b728a1SJean Delvare
320f5b728a1SJean Delvareconfig I2C_VIAPRO
32101d56a6aSJean Delvare	tristate "VIA VT82C596/82C686/82xx and CX700/VX8xx/VX900"
32247c21d2dSNiklas Schnelle	depends on PCI && HAS_IOPORT
323f5b728a1SJean Delvare	help
324f5b728a1SJean Delvare	  If you say yes to this option, support will be included for the VIA
325f5b728a1SJean Delvare	  VT82C596 and later SMBus interface.  Specifically, the following
326f5b728a1SJean Delvare	  chipsets are supported:
327f5b728a1SJean Delvare	    VT82C596A/B
328f5b728a1SJean Delvare	    VT82C686A/B
329f5b728a1SJean Delvare	    VT8231
330f5b728a1SJean Delvare	    VT8233/A
331f5b728a1SJean Delvare	    VT8235
332f5b728a1SJean Delvare	    VT8237R/A/S
333f5b728a1SJean Delvare	    VT8251
334f5b728a1SJean Delvare	    CX700
335a231591fSHarald Welte	    VX800/VX820
336a231591fSHarald Welte	    VX855/VX875
33701d56a6aSJean Delvare	    VX900
338f5b728a1SJean Delvare
339f5b728a1SJean Delvare	  This driver can also be built as a module.  If so, the module
340f5b728a1SJean Delvare	  will be called i2c-viapro.
341f5b728a1SJean Delvare
342cfd550edSJean Delvareif ACPI
343cfd550edSJean Delvare
344a06b80e8SHans Huconfig I2C_ZHAOXIN
345a06b80e8SHans Hu	tristate "Zhaoxin I2C Interface"
346a06b80e8SHans Hu	depends on PCI || COMPILE_TEST
347a06b80e8SHans Hu	help
348a06b80e8SHans Hu	  If you say yes to this option, support will be included for the
349a06b80e8SHans Hu	  ZHAOXIN I2C interface
350a06b80e8SHans Hu
351a06b80e8SHans Hu	  This driver can also be built as a module. If so, the module
352a06b80e8SHans Hu	  will be called i2c-zhaoxin.
353a06b80e8SHans Hu
354cfd550edSJean Delvarecomment "ACPI drivers"
355cfd550edSJean Delvare
356cfd550edSJean Delvareconfig I2C_SCMI
357cfd550edSJean Delvare	tristate "SMBus Control Method Interface"
358cfd550edSJean Delvare	help
359cfd550edSJean Delvare	  This driver supports the SMBus Control Method Interface. It needs the
360cfd550edSJean Delvare	  BIOS to declare ACPI control methods as described in the SMBus Control
361cfd550edSJean Delvare	  Method Interface specification.
362cfd550edSJean Delvare
363cfd550edSJean Delvare	  To compile this driver as a module, choose M here:
364cfd550edSJean Delvare	  the module will be called i2c-scmi.
365cfd550edSJean Delvare
366cfd550edSJean Delvareendif # ACPI
367cfd550edSJean Delvare
368f5b728a1SJean Delvarecomment "Mac SMBus host controller drivers"
369f5b728a1SJean Delvare	depends on PPC_CHRP || PPC_PMAC
370f5b728a1SJean Delvare
371f5b728a1SJean Delvareconfig I2C_HYDRA
372f5b728a1SJean Delvare	tristate "CHRP Apple Hydra Mac I/O I2C interface"
373417e86ceSKees Cook	depends on PCI && PPC_CHRP
374f5b728a1SJean Delvare	select I2C_ALGOBIT
375f5b728a1SJean Delvare	help
376f5b728a1SJean Delvare	  This supports the use of the I2C interface in the Apple Hydra Mac
377f5b728a1SJean Delvare	  I/O chip on some CHRP machines (e.g. the LongTrail).  Say Y if you
378f5b728a1SJean Delvare	  have such a machine.
379f5b728a1SJean Delvare
380f5b728a1SJean Delvare	  This support is also available as a module.  If so, the module
381f5b728a1SJean Delvare	  will be called i2c-hydra.
382f5b728a1SJean Delvare
383f5b728a1SJean Delvareconfig I2C_POWERMAC
384f5b728a1SJean Delvare	tristate "Powermac I2C interface"
385f5b728a1SJean Delvare	depends on PPC_PMAC
386f5b728a1SJean Delvare	default y
387f5b728a1SJean Delvare	help
388f5b728a1SJean Delvare	  This exposes the various PowerMac i2c interfaces to the linux i2c
389f5b728a1SJean Delvare	  layer and to userland. It is used by various drivers on the PowerMac
390f5b728a1SJean Delvare	  platform, and should generally be enabled.
391f5b728a1SJean Delvare
392f5b728a1SJean Delvare	  This support is also available as a module.  If so, the module
393f5b728a1SJean Delvare	  will be called i2c-powermac.
394f5b728a1SJean Delvare
395f5b728a1SJean Delvarecomment "I2C system bus drivers (mostly embedded / system-on-chip)"
396f5b728a1SJean Delvare
3970560ad57SThor Thayerconfig I2C_ALTERA
3980560ad57SThor Thayer	tristate "Altera Soft IP I2C"
399823829dcSKrzysztof Kozlowski	depends on ARCH_INTEL_SOCFPGA || NIOS2 || COMPILE_TEST
4004a2d5f66SKrzysztof Kozlowski	depends on OF
4010560ad57SThor Thayer	help
4020560ad57SThor Thayer	  If you say yes to this option, support will be included for the
4030560ad57SThor Thayer	  Altera Soft IP I2C interfaces on SoCFPGA and Nios2 architectures.
4040560ad57SThor Thayer
4050560ad57SThor Thayer	  This driver can also be built as a module.  If so, the module
4060560ad57SThor Thayer	  will be called i2c-altera.
4070560ad57SThor Thayer
408f327c686SBrendan Higginsconfig I2C_ASPEED
409f327c686SBrendan Higgins	tristate "Aspeed I2C Controller"
410f327c686SBrendan Higgins	depends on ARCH_ASPEED || COMPILE_TEST
411f327c686SBrendan Higgins	help
412f327c686SBrendan Higgins	  If you say yes to this option, support will be included for the
413f327c686SBrendan Higgins	  Aspeed I2C controller.
414f327c686SBrendan Higgins
415f327c686SBrendan Higgins	  This driver can also be built as a module.  If so, the module
416f327c686SBrendan Higgins	  will be called i2c-aspeed.
417f327c686SBrendan Higgins
418813e30e9SAndrew Victorconfig I2C_AT91
419813e30e9SAndrew Victor	tristate "Atmel AT91 I2C Two-Wire interface (TWI)"
420788da814SRobert Marko	depends on ARCH_MICROCHIP || COMPILE_TEST
421813e30e9SAndrew Victor	help
422813e30e9SAndrew Victor	  This supports the use of the I2C interface on Atmel AT91
423813e30e9SAndrew Victor	  processors.
424813e30e9SAndrew Victor
425fac368a0SNikolaus Voss	  A serious problem is that there is no documented way to issue
426fac368a0SNikolaus Voss	  repeated START conditions for more than two messages, as needed
42724d0fb42SDavid Brownell	  to support combined I2C messages.  Use the i2c-gpio driver
428fac368a0SNikolaus Voss	  unless your system can cope with this limitation.
429fac368a0SNikolaus Voss
430fac368a0SNikolaus Voss	  Caution! at91rm9200, at91sam9261, at91sam9260, at91sam9263 devices
431fac368a0SNikolaus Voss	  don't have clock stretching in transmission mode. For that reason,
432fac368a0SNikolaus Voss	  you can encounter underrun issues causing premature stop sendings if
433fac368a0SNikolaus Voss	  the latency to fill the transmission register is too long. If you
434fac368a0SNikolaus Voss	  are facing this situation, use the i2c-gpio driver.
43524d0fb42SDavid Brownell
4369d3ca54bSJuergen Fitschenconfig I2C_AT91_SLAVE_EXPERIMENTAL
43751616b0cSAndy Shevchenko	bool "Microchip AT91 I2C experimental slave mode"
4389d3ca54bSJuergen Fitschen	depends on I2C_AT91
4399d3ca54bSJuergen Fitschen	select I2C_SLAVE
4409d3ca54bSJuergen Fitschen	help
4419d3ca54bSJuergen Fitschen	  If you say yes to this option, support for the slave mode will be
4429d3ca54bSJuergen Fitschen	  added. Caution: do not use it for production. This feature has not
4439d3ca54bSJuergen Fitschen	  been tested in a heavy way, help wanted.
4449d3ca54bSJuergen Fitschen	  There are known bugs:
4459d3ca54bSJuergen Fitschen	    - It can hang, on a SAMA5D4, after several transfers.
44651616b0cSAndy Shevchenko	    - There are some mismatches with a SAMA5D4 as slave and a SAMA5D2 as
4479d3ca54bSJuergen Fitschen	    master.
4489d3ca54bSJuergen Fitschen
4491da177e4SLinus Torvaldsconfig I2C_AU1550
450809f36c6SManuel Lauss	tristate "Au1550/Au1200/Au1300 SMBus interface"
45137663860SManuel Lauss	depends on MIPS_ALCHEMY
4521da177e4SLinus Torvalds	help
4531da177e4SLinus Torvalds	  If you say yes to this option, support will be included for the
454809f36c6SManuel Lauss	  Au1550/Au1200/Au1300 SMBus interface.
4551da177e4SLinus Torvalds
4561da177e4SLinus Torvalds	  This driver can also be built as a module.  If so, the module
4571da177e4SLinus Torvalds	  will be called i2c-au1550.
4581da177e4SLinus Torvalds
45908678b85SAnders Bergconfig I2C_AXXIA
46008678b85SAnders Berg	tristate "Axxia I2C controller"
46108678b85SAnders Berg	depends on ARCH_AXXIA || COMPILE_TEST
46208678b85SAnders Berg	default ARCH_AXXIA
463f0b57680SAdamski, Krzysztof (Nokia - PL/Wroclaw)	select I2C_SLAVE
46408678b85SAnders Berg	help
46508678b85SAnders Berg	  Say yes if you want to support the I2C bus on Axxia platforms.
46608678b85SAnders Berg
46708678b85SAnders Berg	  Please note that this controller is limited to transfers of maximum
46808678b85SAnders Berg	  255 bytes in length. Any attempt to to a larger transfer will return
46908678b85SAnders Berg	  an error.
47008678b85SAnders Berg
471f3b54b9aSStephen Warrenconfig I2C_BCM2835
472f3b54b9aSStephen Warren	tristate "Broadcom BCM2835 I2C controller"
4734a2d5f66SKrzysztof Kozlowski	depends on ARCH_BCM2835 || ARCH_BRCMSTB || COMPILE_TEST
4744a2d5f66SKrzysztof Kozlowski	depends on COMMON_CLK
475f3b54b9aSStephen Warren	help
476f3b54b9aSStephen Warren	  If you say yes to this option, support will be included for the
477f3b54b9aSStephen Warren	  BCM2835 I2C controller.
478f3b54b9aSStephen Warren
479f3b54b9aSStephen Warren	  If you don't know what to do here, say N.
480f3b54b9aSStephen Warren
481f3b54b9aSStephen Warren	  This support is also available as a module.  If so, the module
482f3b54b9aSStephen Warren	  will be called i2c-bcm2835.
483f3b54b9aSStephen Warren
484e6e5dd35SRay Juiconfig I2C_BCM_IPROC
485e6e5dd35SRay Jui	tristate "Broadcom iProc I2C controller"
486e6e5dd35SRay Jui	depends on ARCH_BCM_IPROC || COMPILE_TEST
487e6e5dd35SRay Jui	default ARCH_BCM_IPROC
488f34b8d90SShreesha Rajashekar	select I2C_SLAVE
489e6e5dd35SRay Jui	help
490e6e5dd35SRay Jui	  If you say yes to this option, support will be included for the
491e6e5dd35SRay Jui	  Broadcom iProc I2C controller.
492e6e5dd35SRay Jui
493e6e5dd35SRay Jui	  If you don't know what to do here, say N.
494e6e5dd35SRay Jui
49593d17247STim Krygerconfig I2C_BCM_KONA
49693d17247STim Kryger	tristate "BCM Kona I2C adapter"
4974a2d5f66SKrzysztof Kozlowski	depends on ARCH_BCM_MOBILE || COMPILE_TEST
4984a2d5f66SKrzysztof Kozlowski	default y if ARCH_BCM_MOBILE
49993d17247STim Kryger	help
50093d17247STim Kryger	  If you say yes to this option, support will be included for the
50193d17247STim Kryger	  I2C interface on the Broadcom Kona family of processors.
50293d17247STim Kryger
503f54619f2SMasanari Iida	  If you do not need KONA I2C interface, say N.
50493d17247STim Kryger
505dd1aa252SKamal Dasuconfig I2C_BRCMSTB
506e1eba2eaSFlorian Fainelli	tristate "BRCM Settop/DSL I2C controller"
5077bb49d77SWilliam Zhang	depends on ARCH_BCM2835 || ARCH_BCMBCA || ARCH_BRCMSTB || \
5087bb49d77SWilliam Zhang		   BMIPS_GENERIC || COMPILE_TEST
509f524707bSGeert Uytterhoeven	default ARCH_BCM2835 || ARCH_BCMBCA || ARCH_BRCMSTB || BMIPS_GENERIC
510dd1aa252SKamal Dasu	help
511dd1aa252SKamal Dasu	  If you say yes to this option, support will be included for the
512e1eba2eaSFlorian Fainelli	  I2C interface on the Broadcom Settop/DSL SoCs.
513dd1aa252SKamal Dasu
514dd1aa252SKamal Dasu	  If you do not need I2C interface, say N.
515dd1aa252SKamal Dasu
516df8eb569SSoren Brinkmannconfig I2C_CADENCE
517df8eb569SSoren Brinkmann	tristate "Cadence I2C Controller"
51829914dacSJi Sheng Teoh	depends on ARCH_ZYNQ || ARM64 || XTENSA || RISCV || COMPILE_TEST
519df8eb569SSoren Brinkmann	help
520df8eb569SSoren Brinkmann	  Say yes here to select Cadence I2C Host Controller. This controller is
521df8eb569SSoren Brinkmann	  e.g. used by Xilinx Zynq.
522df8eb569SSoren Brinkmann
5230857ba3cSAaro Koskinenconfig I2C_CBUS_GPIO
5240857ba3cSAaro Koskinen	tristate "CBUS I2C driver"
5257e5cd69aSGeert Uytterhoeven	depends on GPIOLIB || COMPILE_TEST
5260857ba3cSAaro Koskinen	help
5270857ba3cSAaro Koskinen	  Support for CBUS access using I2C API. Mostly relevant for Nokia
5280857ba3cSAaro Koskinen	  Internet Tablets (770, N800 and N810).
5290857ba3cSAaro Koskinen
5300857ba3cSAaro Koskinen	  This driver can also be built as a module.  If so, the module
5310857ba3cSAaro Koskinen	  will be called i2c-cbus-gpio.
5320857ba3cSAaro Koskinen
5336894f640SThomas Richardconfig I2C_CGBC
5346894f640SThomas Richard	tristate "Congatec I2C Controller"
5356894f640SThomas Richard	depends on MFD_CGBC
5366894f640SThomas Richard	help
5376894f640SThomas Richard	  This driver supports the 2 I2C interfaces on the Congatec Board
5386894f640SThomas Richard	  Controller.
5396894f640SThomas Richard
5406894f640SThomas Richard	  This driver can also be built as a module. If so, the module will
5416894f640SThomas Richard	  be called i2c-cgbc.ko.
5426894f640SThomas Richard
54361045dbeSJochen Friedrichconfig I2C_CPM
54461045dbeSJochen Friedrich	tristate "Freescale CPM1 or CPM2 (MPC8xx/826x)"
54562c19c9dSRichard Weinberger	depends on CPM1 || CPM2
54661045dbeSJochen Friedrich	help
54761045dbeSJochen Friedrich	  This supports the use of the I2C interface on Freescale
54861045dbeSJochen Friedrich	  processors with CPM1 or CPM2.
54961045dbeSJochen Friedrich
55061045dbeSJochen Friedrich	  This driver can also be built as a module.  If so, the module
55161045dbeSJochen Friedrich	  will be called i2c-cpm.
55261045dbeSJochen Friedrich
55395a7f10eSVladimir Barinovconfig I2C_DAVINCI
55495a7f10eSVladimir Barinov	tristate "DaVinci I2C driver"
5554a2d5f66SKrzysztof Kozlowski	depends on ARCH_DAVINCI || ARCH_KEYSTONE || COMPILE_TEST
55695a7f10eSVladimir Barinov	help
55795a7f10eSVladimir Barinov	  Support for TI DaVinci I2C controller driver.
55895a7f10eSVladimir Barinov
55995a7f10eSVladimir Barinov	  This driver can also be built as a module.  If so, the module
56095a7f10eSVladimir Barinov	  will be called i2c-davinci.
56195a7f10eSVladimir Barinov
56295a7f10eSVladimir Barinov	  Please note that this driver might be needed to bring up other
56395a7f10eSVladimir Barinov	  devices such as DaVinci NIC.
56495a7f10eSVladimir Barinov	  For details please see http://www.ti.com/davinci
56595a7f10eSVladimir Barinov
566e68bb91bSAxel Linconfig I2C_DESIGNWARE_CORE
56766049b33SHeikki Krogerus	tristate "Synopsys DesignWare I2C adapter"
5680daede80SSerge Semin	select REGMAP
56966049b33SHeikki Krogerus	help
57066049b33SHeikki Krogerus	  This option enables support for the Synopsys DesignWare I2C adapter.
57166049b33SHeikki Krogerus	  This driver includes support for the I2C host on the Synopsys
5729f65f8faSHeikki Krogerus	  Designware I2C adapter, and the I2C slave when enabled (select
5739f65f8faSHeikki Krogerus	  I2C_SLAVE).
57466049b33SHeikki Krogerus
57566049b33SHeikki Krogerus	  To compile the driver as a module, choose M here: the module will be
57666049b33SHeikki Krogerus	  called i2c-designware-core.
57766049b33SHeikki Krogerus
57866049b33SHeikki Krogerusif I2C_DESIGNWARE_CORE
579e68bb91bSAxel Lin
5802373f6b9SDirk Brandewieconfig I2C_DESIGNWARE_PLATFORM
58166049b33SHeikki Krogerus	tristate "Synopsys DesignWare Platform driver"
582a445900cSCarl Peng	depends on (ACPI && COMMON_CLK) || !ACPI
58366049b33SHeikki Krogerus	default I2C_DESIGNWARE_CORE
5841ab52cf9SBaruch Siach	help
5851ab52cf9SBaruch Siach	  If you say yes to this option, support will be included for the
58666049b33SHeikki Krogerus	  Synopsys DesignWare I2C adapters on the platform bus.
5871ab52cf9SBaruch Siach
5881ab52cf9SBaruch Siach	  This driver can also be built as a module.  If so, the module
5892373f6b9SDirk Brandewie	  will be called i2c-designware-platform.
5901ab52cf9SBaruch Siach
591d6263c46SPratap Nirujogiconfig I2C_DESIGNWARE_AMDISP
592d6263c46SPratap Nirujogi	tristate "Synopsys DesignWare Platform for AMDISP"
59366e64b45SGeert Uytterhoeven	depends on DRM_AMD_ISP || COMPILE_TEST
594d6263c46SPratap Nirujogi	depends on I2C_DESIGNWARE_CORE
595d6263c46SPratap Nirujogi	help
596d6263c46SPratap Nirujogi	  If you say yes to this option, support will be included for the
597d6263c46SPratap Nirujogi	  AMDISP Synopsys DesignWare I2C adapter.
598d6263c46SPratap Nirujogi
599d6263c46SPratap Nirujogi	  This driver can also be built as a module.  If so, the module
600d6263c46SPratap Nirujogi	  will be called amd_isp_i2c_designware.
601d6263c46SPratap Nirujogi
60278d5e9e2SJan Dabrosconfig I2C_DESIGNWARE_AMDPSP
60378d5e9e2SJan Dabros	bool "AMD PSP I2C semaphore support"
60478d5e9e2SJan Dabros	depends on ACPI
605440da737SMario Limonciello	depends on CRYPTO_DEV_SP_PSP
606482c84e9SMario Limonciello	depends on PCI
60778d5e9e2SJan Dabros	depends on I2C_DESIGNWARE_PLATFORM
608440da737SMario Limonciello	depends on (I2C_DESIGNWARE_PLATFORM=y && CRYPTO_DEV_CCP_DD=y) || \
609440da737SMario Limonciello		   (I2C_DESIGNWARE_PLATFORM=m && CRYPTO_DEV_CCP_DD)
61078d5e9e2SJan Dabros	help
61178d5e9e2SJan Dabros	  This driver enables managed host access to the selected I2C bus shared
61278d5e9e2SJan Dabros	  between AMD CPU and AMD PSP.
61378d5e9e2SJan Dabros
61478d5e9e2SJan Dabros	  You should say Y if running on an AMD system equipped with the PSP.
61578d5e9e2SJan Dabros
616c2549011SSerge Seminconfig I2C_DESIGNWARE_BAYTRAIL
617c2549011SSerge Semin	bool "Intel Baytrail I2C semaphore support"
618c2549011SSerge Semin	depends on ACPI
619c2549011SSerge Semin	depends on I2C_DESIGNWARE_PLATFORM
620c2549011SSerge Semin	depends on (I2C_DESIGNWARE_PLATFORM=m && IOSF_MBI) || \
621c2549011SSerge Semin		   (I2C_DESIGNWARE_PLATFORM=y && IOSF_MBI=y)
622c2549011SSerge Semin	help
623c2549011SSerge Semin	  This driver enables managed host access to the PMIC I2C bus on select
624c2549011SSerge Semin	  Intel BayTrail platforms using the X-Powers AXP288 PMIC. It allows
625c2549011SSerge Semin	  the host to request uninterrupted access to the PMIC's I2C bus from
626c2549011SSerge Semin	  the platform firmware controlling it. You should say Y if running on
627c2549011SSerge Semin	  a BayTrail system using the AXP288.
628c2549011SSerge Semin
629fe20ff5cSDirk Brandewieconfig I2C_DESIGNWARE_PCI
63066049b33SHeikki Krogerus	tristate "Synopsys DesignWare PCI driver"
631fe20ff5cSDirk Brandewie	depends on PCI
632531310ddSAndy Shevchenko	select I2C_CCGX_UCSI
633fe20ff5cSDirk Brandewie	help
634fe20ff5cSDirk Brandewie	  If you say yes to this option, support will be included for the
63566049b33SHeikki Krogerus	  Synopsys DesignWare I2C adapters on the PCI bus. Only master mode is
63666049b33SHeikki Krogerus	  supported.
637fe20ff5cSDirk Brandewie
638fe20ff5cSDirk Brandewie	  This driver can also be built as a module.  If so, the module
639fe20ff5cSDirk Brandewie	  will be called i2c-designware-pci.
6404ad48e6aSPaul Mundt
64166049b33SHeikki Krogerusendif
64266049b33SHeikki Krogerus
6434a7a0822SBaruch Siachconfig I2C_DIGICOLOR
6444a7a0822SBaruch Siach	tristate "Conexant Digicolor I2C driver"
6454a2d5f66SKrzysztof Kozlowski	depends on ARCH_DIGICOLOR || COMPILE_TEST
6464a7a0822SBaruch Siach	help
6474a7a0822SBaruch Siach	  Support for Conexant Digicolor SoCs (CX92755) I2C controller driver.
6484a7a0822SBaruch Siach
6494a7a0822SBaruch Siach	  This driver can also be built as a module.  If so, the module
6504a7a0822SBaruch Siach	  will be called i2c-digicolor.
6514a7a0822SBaruch Siach
6523e1b76beSJayachandran Cconfig I2C_EG20T
6533e1b76beSJayachandran C	tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) I2C"
6547a852b02SPaul Burton	depends on PCI && (X86_32 || MIPS || COMPILE_TEST)
6553e1b76beSJayachandran C	help
6563e1b76beSJayachandran C	  This driver is for PCH(Platform controller Hub) I2C of EG20T which
6573e1b76beSJayachandran C	  is an IOH(Input/Output Hub) for x86 embedded processor.
6583e1b76beSJayachandran C	  This driver can access PCH I2C bus device.
6593e1b76beSJayachandran C
6603e1b76beSJayachandran C	  This driver also can be used for LAPIS Semiconductor IOH(Input/
6613e1b76beSJayachandran C	  Output Hub), ML7213, ML7223 and ML7831.
6623e1b76beSJayachandran C	  ML7213 IOH is for IVI(In-Vehicle Infotainment) use, ML7223 IOH is
6633e1b76beSJayachandran C	  for MP(Media Phone) use and ML7831 IOH is for general purpose use.
6643e1b76beSJayachandran C	  ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series.
6653e1b76beSJayachandran C	  ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH.
6663e1b76beSJayachandran C
6675faf6e1fSWolfram Sangconfig I2C_EMEV2
6685faf6e1fSWolfram Sang	tristate "EMMA Mobile series I2C adapter"
6695faf6e1fSWolfram Sang	depends on HAVE_CLK
670b7d518e6SWolfram Sang	select I2C_SLAVE
6715faf6e1fSWolfram Sang	help
6725faf6e1fSWolfram Sang	  If you say yes to this option, support will be included for the
6735faf6e1fSWolfram Sang	  I2C interface on the Renesas Electronics EM/EV family of processors.
6745faf6e1fSWolfram Sang
6758a73cd4cSNaveen Krishna Chconfig I2C_EXYNOS5
676a009310fSKrzysztof Kozlowski	tristate "Exynos high-speed I2C driver"
6774a2d5f66SKrzysztof Kozlowski	depends on OF
6784a2d5f66SKrzysztof Kozlowski	depends on ARCH_EXYNOS || COMPILE_TEST
6794a2d5f66SKrzysztof Kozlowski	default y if ARCH_EXYNOS
6808a73cd4cSNaveen Krishna Ch	help
681cf9ae42cSKrzysztof Kozlowski	  High-speed I2C controller on Samsung Exynos5 and newer Samsung SoCs:
682cf9ae42cSKrzysztof Kozlowski	  Exynos5250, Exynos5260, Exynos5410, Exynos542x, Exynos5800,
683c4bcef90SSam Protsenko	  Exynos5433, Exynos7, Exynos850 and ExynosAutoV9.
684cf9ae42cSKrzysztof Kozlowski	  Choose Y here only if you build for such Samsung SoC.
6858a73cd4cSNaveen Krishna Ch
6861c23af90SHaavard Skinnemoenconfig I2C_GPIO
6871c23af90SHaavard Skinnemoen	tristate "GPIO-based bitbanging I2C"
6887e5cd69aSGeert Uytterhoeven	depends on GPIOLIB || COMPILE_TEST
6891c23af90SHaavard Skinnemoen	select I2C_ALGOBIT
6901c23af90SHaavard Skinnemoen	help
6911c23af90SHaavard Skinnemoen	  This is a very simple bitbanging I2C driver utilizing the
6921c23af90SHaavard Skinnemoen	  arch-neutral GPIO API to control the SCL and SDA lines.
6931c23af90SHaavard Skinnemoen
69414911c6fSWolfram Sangconfig I2C_GPIO_FAULT_INJECTOR
69514911c6fSWolfram Sang	bool "GPIO-based fault injector"
69614911c6fSWolfram Sang	depends on I2C_GPIO
69714911c6fSWolfram Sang	help
69814911c6fSWolfram Sang	  This adds some functionality to the i2c-gpio driver which can inject
69914911c6fSWolfram Sang	  faults to an I2C bus, so another bus master can be stress-tested.
70014911c6fSWolfram Sang	  This is for debugging. If unsure, say 'no'.
70114911c6fSWolfram Sang
7024a55ed6fSNick Hawkinsconfig I2C_GXP
7034a55ed6fSNick Hawkins	tristate "GXP I2C Interface"
7044a55ed6fSNick Hawkins	depends on ARCH_HPE_GXP || COMPILE_TEST
7054a55ed6fSNick Hawkins	help
7064a55ed6fSNick Hawkins	  This enables support for GXP I2C interface. The I2C engines can be
7074a55ed6fSNick Hawkins	  either I2C master or I2C slaves.
7084a55ed6fSNick Hawkins
7094ad48e6aSPaul Mundtconfig I2C_HIGHLANDER
7104ad48e6aSPaul Mundt	tristate "Highlander FPGA SMBus interface"
7114a2d5f66SKrzysztof Kozlowski	depends on SH_HIGHLANDER || COMPILE_TEST
7124ad48e6aSPaul Mundt	help
7134ad48e6aSPaul Mundt	  If you say yes to this option, support will be included for
7144ad48e6aSPaul Mundt	  the SMBus interface located in the FPGA on various Highlander
7154ad48e6aSPaul Mundt	  boards, particularly the R0P7780LC0011RL and R0P7785LC0011RL
7164ad48e6aSPaul Mundt	  FPGAs. This is wholly unrelated to the SoC I2C.
7174ad48e6aSPaul Mundt
7184ad48e6aSPaul Mundt	  This driver can also be built as a module.  If so, the module
7194ad48e6aSPaul Mundt	  will be called i2c-highlander.
7204ad48e6aSPaul Mundt
721d62fbdb9SYicong Yangconfig I2C_HISI
722d62fbdb9SYicong Yang	tristate "HiSilicon I2C controller"
72352951ea1SWeilong Chen	depends on ARM64 || COMPILE_TEST
724d62fbdb9SYicong Yang	help
725d62fbdb9SYicong Yang	  Say Y here if you want to have Hisilicon I2C controller support
726d62fbdb9SYicong Yang	  available on the Kunpeng Server.
727d62fbdb9SYicong Yang
728d62fbdb9SYicong Yang	  This driver can also be built as a module. If so, the module
729d62fbdb9SYicong Yang	  will be called i2c-hisi.
730d62fbdb9SYicong Yang
7311da177e4SLinus Torvaldsconfig I2C_IBM_IIC
7321da177e4SLinus Torvalds	tristate "IBM PPC 4xx on-chip I2C interface"
733838349b5SSean MacLennan	depends on 4xx
7341da177e4SLinus Torvalds	help
7351da177e4SLinus Torvalds	  Say Y here if you want to use IIC peripheral found on
7361da177e4SLinus Torvalds	  embedded IBM PPC 4xx based systems.
7371da177e4SLinus Torvalds
7381da177e4SLinus Torvalds	  This driver can also be built as a module.  If so, the module
7391da177e4SLinus Torvalds	  will be called i2c-ibm_iic.
7401da177e4SLinus Torvalds
74127bce457SJames Hoganconfig I2C_IMG
74227bce457SJames Hogan	tristate "Imagination Technologies I2C SCB Controller"
7438d06c330SJames Hogan	depends on MIPS || COMPILE_TEST
74427bce457SJames Hogan	help
74527bce457SJames Hogan	  Say Y here if you want to use the IMG I2C SCB controller,
74606205206SAndrew Bresticker	  available on the TZ1090 and other IMG SoCs.
74727bce457SJames Hogan
74827bce457SJames Hogan	  This driver can also be built as a module.  If so, the module
74927bce457SJames Hogan	  will be called i2c-img-scb.
75027bce457SJames Hogan
751aa11e38cSDarius Augulisconfig I2C_IMX
752aa11e38cSDarius Augulis	tristate "IMX I2C interface"
753311499eeSCiprian Marian Costea	depends on ARCH_MXC || ARCH_LAYERSCAPE || ARCH_S32 || COLDFIRE \
754311499eeSCiprian Marian Costea		|| COMPILE_TEST
755f7414cd6SBiwen Li	select I2C_SLAVE
756aa11e38cSDarius Augulis	help
757aa11e38cSDarius Augulis	  Say Y here if you want to use the IIC bus controller on
758311499eeSCiprian Marian Costea	  the Freescale i.MX/MXC/S32G, Layerscape or ColdFire processors.
759aa11e38cSDarius Augulis
760aa11e38cSDarius Augulis	  This driver can also be built as a module. If so, the module
761aa11e38cSDarius Augulis	  will be called i2c-imx.
762aa11e38cSDarius Augulis
763a55fa9d0SGao Panconfig I2C_IMX_LPI2C
764a55fa9d0SGao Pan	tristate "IMX Low Power I2C interface"
765a55fa9d0SGao Pan	depends on ARCH_MXC || COMPILE_TEST
7665851a88dSArnd Bergmann	select I2C_SLAVE
767a55fa9d0SGao Pan	help
768a55fa9d0SGao Pan	  Say Y here if you want to use the Low Power IIC bus controller
769a55fa9d0SGao Pan	  on the Freescale i.MX processors.
770a55fa9d0SGao Pan
771a55fa9d0SGao Pan	  This driver can also be built as a module. If so, the module
772a55fa9d0SGao Pan	  will be called i2c-imx-lpi2c.
773a55fa9d0SGao Pan
7741da177e4SLinus Torvaldsconfig I2C_IOP3XX
775b91a69d1SArnd Bergmann	tristate "Intel IXP4xx on-chip I2C interface"
776b91a69d1SArnd Bergmann	depends on ARCH_IXP4XX || COMPILE_TEST
7771da177e4SLinus Torvalds	help
7781da177e4SLinus Torvalds	  Say Y here if you want to use the IIC bus controller on
779b91a69d1SArnd Bergmann	  the Intel IXP4xx Network Processors.
7801da177e4SLinus Torvalds
7811da177e4SLinus Torvalds	  This driver can also be built as a module.  If so, the module
7821da177e4SLinus Torvalds	  will be called i2c-iop3xx.
7831da177e4SLinus Torvalds
784ba92222eSZubair Lutfullah Kakakhelconfig I2C_JZ4780
785ba92222eSZubair Lutfullah Kakakhel	tristate "JZ4780 I2C controller interface support"
78612cb084dSPaul Cercueil	depends on MIPS || COMPILE_TEST
787ba92222eSZubair Lutfullah Kakakhel	help
788ba92222eSZubair Lutfullah Kakakhel	 If you say yes to this option, support will be included for the
789ba92222eSZubair Lutfullah Kakakhel	 Ingenic JZ4780 I2C controller.
790ba92222eSZubair Lutfullah Kakakhel
791ba92222eSZubair Lutfullah Kakakhel	 If you don't know what to do here, say N.
792ba92222eSZubair Lutfullah Kakakhel
7935ea55847STroy Mitchellconfig I2C_K1
7945ea55847STroy Mitchell	tristate "SpacemiT K1 I2C adapter"
7955ea55847STroy Mitchell	depends on ARCH_SPACEMIT || COMPILE_TEST
7965ea55847STroy Mitchell	depends on OF
7975ea55847STroy Mitchell	help
7985ea55847STroy Mitchell	  This option enables support for the I2C interface on the SpacemiT K1
7995ea55847STroy Mitchell	  platform.
8005ea55847STroy Mitchell
8015ea55847STroy Mitchell	  If you enable this configuration, the kernel will include support for
8025ea55847STroy Mitchell	  the I2C adapter specific to the SpacemiT K1 platform. This driver can
8035ea55847STroy Mitchell	  be used to manage I2C bus transactions, which are necessary for
8045ea55847STroy Mitchell	  interfacing with I2C peripherals such as sensors, EEPROMs, and other
8055ea55847STroy Mitchell	  devices.
8065ea55847STroy Mitchell
8075ea55847STroy Mitchell	  This driver can also be built as a module.  If so, the
8085ea55847STroy Mitchell	  module will be called `i2c-k1`.
8095ea55847STroy Mitchell
810c7e08c81SGerhard Englederconfig I2C_KEBA
811c7e08c81SGerhard Engleder	tristate "KEBA I2C controller support"
812c7e08c81SGerhard Engleder	depends on HAS_IOMEM
8136d340541SGeert Uytterhoeven	depends on KEBA_CP500 || COMPILE_TEST
814c7e08c81SGerhard Engleder	select AUXILIARY_BUS
815c7e08c81SGerhard Engleder	help
816c7e08c81SGerhard Engleder	  This driver supports the I2C controller found in KEBA system FPGA
817c7e08c81SGerhard Engleder	  devices.
818c7e08c81SGerhard Engleder
819c7e08c81SGerhard Engleder	  This driver can also be built as a module. If so, the module
820c7e08c81SGerhard Engleder	  will be called i2c-keba.
821c7e08c81SGerhard Engleder
822e0b9b7b0SKevin Strasserconfig I2C_KEMPLD
823e0b9b7b0SKevin Strasser	tristate "Kontron COM I2C Controller"
824e0b9b7b0SKevin Strasser	depends on MFD_KEMPLD
825e0b9b7b0SKevin Strasser	help
826e0b9b7b0SKevin Strasser	  This enables support for the I2C bus interface on some Kontron ETX
827e0b9b7b0SKevin Strasser	  and COMexpress (ETXexpress) modules.
828e0b9b7b0SKevin Strasser
829e0b9b7b0SKevin Strasser	  This driver can also be built as a module. If so, the module
830e0b9b7b0SKevin Strasser	  will be called i2c-kempld.
831e0b9b7b0SKevin Strasser
8323f9c37a0SJoachim Eastwoodconfig I2C_LPC2K
8333f9c37a0SJoachim Eastwood	tristate "I2C bus support for NXP LPC2K/LPC178x/18xx/43xx"
8343f9c37a0SJoachim Eastwood	depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
8353f9c37a0SJoachim Eastwood	help
8363f9c37a0SJoachim Eastwood	  This driver supports the I2C interface found several NXP
8373f9c37a0SJoachim Eastwood	  devices including LPC2xxx, LPC178x/7x and LPC18xx/43xx.
8383f9c37a0SJoachim Eastwood
8393f9c37a0SJoachim Eastwood	  This driver can also be built as a module.  If so, the module
8403f9c37a0SJoachim Eastwood	  will be called i2c-lpc2k.
8413f9c37a0SJoachim Eastwood
842015e61f0SBinbin Zhouconfig I2C_LS2X
843015e61f0SBinbin Zhou	tristate "Loongson LS2X I2C adapter"
844015e61f0SBinbin Zhou	depends on MACH_LOONGSON64 || COMPILE_TEST
845015e61f0SBinbin Zhou	help
846015e61f0SBinbin Zhou	  If you say yes to this option, support will be included for the
847015e61f0SBinbin Zhou	  I2C interface on the Loongson-2K SoCs and Loongson LS7A bridge
848015e61f0SBinbin Zhou	  chip.
849015e61f0SBinbin Zhou
850015e61f0SBinbin Zhou	  This driver can also be built as a module. If so, the module
851015e61f0SBinbin Zhou	  will be called i2c-ls2x.
852015e61f0SBinbin Zhou
853b5b5b320SKhalil Blaiechconfig I2C_MLXBF
854b5b5b320SKhalil Blaiech        tristate "Mellanox BlueField I2C controller"
85505385900SAndi Shyti        depends on (MELLANOX_PLATFORM && ARM64) || COMPILE_TEST
85665d78b8dSAdam Borowski	depends on ACPI
857c62dac0aSArnd Bergmann	select I2C_SLAVE
858b5b5b320SKhalil Blaiech        help
859b5b5b320SKhalil Blaiech          Enabling this option will add I2C SMBus support for Mellanox BlueField
860b5b5b320SKhalil Blaiech          system.
861b5b5b320SKhalil Blaiech
862b5b5b320SKhalil Blaiech          This driver can also be built as a module. If so, the module will be
863b5b5b320SKhalil Blaiech          called i2c-mlxbf.
864b5b5b320SKhalil Blaiech
865b5b5b320SKhalil Blaiech          This driver implements an I2C SMBus host controller and enables both
866b5b5b320SKhalil Blaiech          master and slave functions.
867b5b5b320SKhalil Blaiech
86830021e37SBeniamino Galvaniconfig I2C_MESON
86930021e37SBeniamino Galvani	tristate "Amlogic Meson I2C controller"
87091401783SBen Dooks	depends on ARCH_MESON || COMPILE_TEST
8714a2d5f66SKrzysztof Kozlowski	depends on COMMON_CLK
87230021e37SBeniamino Galvani	help
87330021e37SBeniamino Galvani	  If you say yes to this option, support will be included for the
87430021e37SBeniamino Galvani	  I2C interface on the Amlogic Meson family of SoCs.
87530021e37SBeniamino Galvani
87664a6f1c4SConor Dooleyconfig I2C_MICROCHIP_CORE
87764a6f1c4SConor Dooley	tristate "Microchip FPGA I2C controller"
878819c7345SConor Dooley	depends on ARCH_MICROCHIP_POLARFIRE || COMPILE_TEST
87964a6f1c4SConor Dooley	depends on OF
88064a6f1c4SConor Dooley	help
88164a6f1c4SConor Dooley	  If you say yes to this option, support will be included for the
88264a6f1c4SConor Dooley	  I2C interface on Microchip FPGAs.
88364a6f1c4SConor Dooley
88464a6f1c4SConor Dooley	  This driver can also be built as a module. If so, the module will be
88564a6f1c4SConor Dooley	  called i2c-microchip-core.
88664a6f1c4SConor Dooley
8871da177e4SLinus Torvaldsconfig I2C_MPC
888f00d738fSWolfgang Grandegger	tristate "MPC107/824x/85xx/512x/52xx/83xx/86xx"
8890724d464SKumar Gala	depends on PPC
8901da177e4SLinus Torvalds	help
8911da177e4SLinus Torvalds	  If you say yes to this option, support will be included for the
892f00d738fSWolfgang Grandegger	  built-in I2C interface on the MPC107, Tsi107, MPC512x, MPC52xx,
893f00d738fSWolfgang Grandegger	  MPC8240, MPC8245, MPC83xx, MPC85xx and MPC8641 family processors.
8941da177e4SLinus Torvalds
8951da177e4SLinus Torvalds	  This driver can also be built as a module.  If so, the module
8961da177e4SLinus Torvalds	  will be called i2c-mpc.
8971da177e4SLinus Torvalds
898ce38815dSXudong Chenconfig I2C_MT65XX
899ce38815dSXudong Chen	tristate "MediaTek I2C adapter"
900ce38815dSXudong Chen	depends on ARCH_MEDIATEK || COMPILE_TEST
901ce38815dSXudong Chen	help
902ce38815dSXudong Chen	  This selects the MediaTek(R) Integrated Inter Circuit bus driver
903ce38815dSXudong Chen	  for MT65xx and MT81xx.
904ce38815dSXudong Chen	  If you want to use MediaTek(R) I2C interface, say Y or M here.
905ce38815dSXudong Chen	  If unsure, say N.
906ce38815dSXudong Chen
907d04913ecSStefan Roeseconfig I2C_MT7621
908d04913ecSStefan Roese	tristate "MT7621/MT7628 I2C Controller"
909fd6acb0dSLorenzo Bianconi	depends on (RALINK && (SOC_MT7620 || SOC_MT7621)) || ARCH_AIROHA || COMPILE_TEST
910d04913ecSStefan Roese	help
911d04913ecSStefan Roese	  Say Y here to include support for I2C controller in the
912d04913ecSStefan Roese	  MediaTek MT7621/MT7628 SoCs.
913d04913ecSStefan Roese
914f5b728a1SJean Delvareconfig I2C_MV64XXX
915f5b728a1SJean Delvare	tristate "Marvell mv64xxx I2C Controller"
916a329ddd4SChristophe Leroy	depends on PLAT_ORION || ARCH_SUNXI || ARCH_MVEBU || COMPILE_TEST
9171da177e4SLinus Torvalds	help
918f5b728a1SJean Delvare	  If you say yes to this option, support will be included for the
919f5b728a1SJean Delvare	  built-in I2C interface on the Marvell 64xxx line of host bridges.
9203d66ac7dSMaxime Ripard	  This driver is also used for Allwinner SoCs I2C controllers.
9211da177e4SLinus Torvalds
9221da177e4SLinus Torvalds	  This driver can also be built as a module.  If so, the module
923f5b728a1SJean Delvare	  will be called i2c-mv64xxx.
924279e9024SJean Delvare
925a8da7fecSWolfram Sangconfig I2C_MXS
926a8da7fecSWolfram Sang	tristate "Freescale i.MX28 I2C interface"
9274a2d5f66SKrzysztof Kozlowski	depends on SOC_IMX28 || COMPILE_TEST
9286b866c15SWolfram Sang	select STMP_DEVICE
929a8da7fecSWolfram Sang	help
930a8da7fecSWolfram Sang	  Say Y here if you want to use the I2C bus controller on
931a8da7fecSWolfram Sang	  the Freescale i.MX28 processors.
932a8da7fecSWolfram Sang
933a8da7fecSWolfram Sang	  This driver can also be built as a module.  If so, the module
934a8da7fecSWolfram Sang	  will be called i2c-mxs.
935a8da7fecSWolfram Sang
9363f9900f1Ssrinidhi kasagarconfig I2C_NOMADIK
9373f9900f1Ssrinidhi kasagar	tristate "ST-Ericsson Nomadik/Ux500 I2C Controller"
9384d51ac5bSAndi Shyti	depends on ARM_AMBA || COMPILE_TEST
9393f9900f1Ssrinidhi kasagar	help
9403f9900f1Ssrinidhi kasagar	  If you say yes to this option, support will be included for the
941419408edSAlessandro Rubini	  I2C interface from ST-Ericsson's Nomadik and Ux500 architectures,
942419408edSAlessandro Rubini	  as well as the STA2X11 PCIe I/O HUB.
9433f9900f1Ssrinidhi kasagar
944bbc38ed5STyrone Tingconfig I2C_NPCM
94556a1485bSTali Perry	tristate "Nuvoton I2C Controller"
946bbc38ed5STyrone Ting	depends on ARCH_NPCM || COMPILE_TEST
94756a1485bSTali Perry	help
94856a1485bSTali Perry	  If you say yes to this option, support will be included for the
949bbc38ed5STyrone Ting	  Nuvoton I2C controller, which is available on the NPCM BMC
950bbc38ed5STyrone Ting	  controllers.
95156a1485bSTali Perry	  Driver can also support slave mode (select I2C_SLAVE).
95256a1485bSTali Perry
95318f98b1eSPeter Korsgaardconfig I2C_OCORES
95418f98b1eSPeter Korsgaard	tristate "OpenCores I2C Controller"
95518f98b1eSPeter Korsgaard	help
95618f98b1eSPeter Korsgaard	  If you say yes to this option, support will be included for the
95718f98b1eSPeter Korsgaard	  OpenCores I2C controller. For details see
95818f98b1eSPeter Korsgaard	  http://www.opencores.org/projects.cgi/web/i2c/overview
95918f98b1eSPeter Korsgaard
96018f98b1eSPeter Korsgaard	  This driver can also be built as a module.  If so, the module
96118f98b1eSPeter Korsgaard	  will be called i2c-ocores.
96218f98b1eSPeter Korsgaard
963010d442cSKomal Shahconfig I2C_OMAP
964010d442cSKomal Shah	tristate "OMAP I2C adapter"
9654a2d5f66SKrzysztof Kozlowski	depends on ARCH_OMAP || ARCH_K3 || COMPILE_TEST
9660d7bb85eSArnd Bergmann	default MACH_OMAP_OSK
967b6ef830cSJayesh Choudhary	select MULTIPLEXER
968010d442cSKomal Shah	help
969010d442cSKomal Shah	  If you say yes to this option, support will be included for the
970010d442cSKomal Shah	  I2C interface on the Texas Instruments OMAP1/2 family of processors.
971010d442cSKomal Shah	  Like OMAP1510/1610/1710/5912 and OMAP242x.
972010d442cSKomal Shah	  For details see http://www.ti.com/omap.
973010d442cSKomal Shah
974d211e62aSManivannan Sadhasivamconfig I2C_OWL
975d211e62aSManivannan Sadhasivam	tristate "Actions Semiconductor Owl I2C Controller"
976d211e62aSManivannan Sadhasivam	depends on ARCH_ACTIONS || COMPILE_TEST
977d211e62aSManivannan Sadhasivam	help
978d211e62aSManivannan Sadhasivam	  Say Y here if you want to use the I2C bus controller on
979d211e62aSManivannan Sadhasivam	  the Actions Semiconductor Owl SoC's.
980d211e62aSManivannan Sadhasivam
981f5b728a1SJean Delvareconfig I2C_PASEMI
982f5b728a1SJean Delvare	tristate "PA Semi SMBus interface"
983f5b728a1SJean Delvare	depends on PPC_PASEMI && PCI
984f5b728a1SJean Delvare	help
985f5b728a1SJean Delvare	  Supports the PA Semi PWRficient on-chip SMBus interfaces.
986f5b728a1SJean Delvare
987d88ae293SSven Peterconfig I2C_APPLE
988d88ae293SSven Peter	tristate "Apple SMBus platform driver"
989a76d19e6SBenjamin Gray	depends on !I2C_PASEMI
990d88ae293SSven Peter	depends on ARCH_APPLE || COMPILE_TEST
991d88ae293SSven Peter	help
992d88ae293SSven Peter	  Say Y here if you want to use the I2C controller present on Apple
993d88ae293SSven Peter	  Silicon chips such as the M1.
994d88ae293SSven Peter
995d88ae293SSven Peter	  This driver can also be built as a module. If so, the module
996d88ae293SSven Peter	  will be called i2c-apple.
997d88ae293SSven Peter
99835bfc353SWolfram Sangconfig I2C_PCA_PLATFORM
99935bfc353SWolfram Sang	tristate "PCA9564/PCA9665 as platform device"
100035bfc353SWolfram Sang	select I2C_ALGOPCA
100135bfc353SWolfram Sang	help
100235bfc353SWolfram Sang	  This driver supports a memory mapped Philips PCA9564/PCA9665
100335bfc353SWolfram Sang	  parallel bus to I2C bus controller.
100435bfc353SWolfram Sang
100535bfc353SWolfram Sang	  This driver can also be built as a module.  If so, the module
100635bfc353SWolfram Sang	  will be called i2c-pca-platform.
100735bfc353SWolfram Sang
1008f5b728a1SJean Delvareconfig I2C_PNX
1009c115167aSKevin Wells	tristate "I2C bus support for Philips PNX and NXP LPC targets"
10104a2d5f66SKrzysztof Kozlowski	depends on ARCH_LPC32XX || COMPILE_TEST
1011f5b728a1SJean Delvare	help
1012f5b728a1SJean Delvare	  This driver supports the Philips IP3204 I2C IP block master and/or
1013f5b728a1SJean Delvare	  slave controller
1014f5b728a1SJean Delvare
1015f5b728a1SJean Delvare	  This driver can also be built as a module.  If so, the module
1016f5b728a1SJean Delvare	  will be called i2c-pnx.
1017f5b728a1SJean Delvare
1018f5b728a1SJean Delvareconfig I2C_PXA
1019d7c46dddSHaojian Zhuang	tristate "Intel PXA2XX I2C adapter"
10204a2d5f66SKrzysztof Kozlowski	depends on ARCH_PXA || ARCH_MMP || ARCH_MVEBU || (X86_32 && PCI && OF) || COMPILE_TEST
1021f5b728a1SJean Delvare	help
1022f5b728a1SJean Delvare	  If you have devices in the PXA I2C bus, say yes to this option.
1023f5b728a1SJean Delvare	  This driver can also be built as a module.  If so, the module
1024f5b728a1SJean Delvare	  will be called i2c-pxa.
1025f5b728a1SJean Delvare
10267e94dd15SSebastian Andrzej Siewiorconfig I2C_PXA_PCI
10277e94dd15SSebastian Andrzej Siewior	def_bool I2C_PXA && X86_32 && PCI && OF
10287e94dd15SSebastian Andrzej Siewior
1029f5b728a1SJean Delvareconfig I2C_PXA_SLAVE
1030f5b728a1SJean Delvare	bool "Intel PXA2XX I2C Slave comms support"
10317e94dd15SSebastian Andrzej Siewior	depends on I2C_PXA && !X86_32
10324d51b4ceSPatrick Williams	select I2C_SLAVE
1033f5b728a1SJean Delvare	help
1034f5b728a1SJean Delvare	  Support I2C slave mode communications on the PXA I2C bus.  This
1035f5b728a1SJean Delvare	  is necessary for systems where the PXA may be a target on the
1036f5b728a1SJean Delvare	  I2C bus.
1037f5b728a1SJean Delvare
1038e5175261SLoic Poulainconfig I2C_QCOM_CCI
1039e5175261SLoic Poulain	tristate "Qualcomm Camera Control Interface"
1040e5175261SLoic Poulain	depends on ARCH_QCOM || COMPILE_TEST
1041e5175261SLoic Poulain	help
1042e5175261SLoic Poulain	  If you say yes to this option, support will be included for the
1043e5175261SLoic Poulain	  built-in camera control interface on the Qualcomm SoCs.
1044e5175261SLoic Poulain
1045e5175261SLoic Poulain	  This driver can also be built as a module.  If so, the module
1046e5175261SLoic Poulain	  will be called i2c-qcom-cci.
1047e5175261SLoic Poulain
104837692de5SKarthikeyan Ramasubramanianconfig I2C_QCOM_GENI
104937692de5SKarthikeyan Ramasubramanian	tristate "Qualcomm Technologies Inc.'s GENI based I2C controller"
105037692de5SKarthikeyan Ramasubramanian	depends on ARCH_QCOM || COMPILE_TEST
105137692de5SKarthikeyan Ramasubramanian	depends on QCOM_GENI_SE
105237692de5SKarthikeyan Ramasubramanian	help
105337692de5SKarthikeyan Ramasubramanian	  This driver supports GENI serial engine based I2C controller in
105437692de5SKarthikeyan Ramasubramanian	  master mode on the Qualcomm Technologies Inc.'s SoCs. If you say
105537692de5SKarthikeyan Ramasubramanian	  yes to this option, support will be included for the built-in I2C
105637692de5SKarthikeyan Ramasubramanian	  interface on the Qualcomm Technologies Inc.'s SoCs.
105737692de5SKarthikeyan Ramasubramanian
105837692de5SKarthikeyan Ramasubramanian	  This driver can also be built as a module.  If so, the module
105937692de5SKarthikeyan Ramasubramanian	  will be called i2c-qcom-geni.
106037692de5SKarthikeyan Ramasubramanian
106110c5a842SBjorn Anderssonconfig I2C_QUP
106210c5a842SBjorn Andersson	tristate "Qualcomm QUP based I2C controller"
10635de71797SWolfram Sang	depends on ARCH_QCOM || COMPILE_TEST
106410c5a842SBjorn Andersson	help
106510c5a842SBjorn Andersson	  If you say yes to this option, support will be included for the
106610c5a842SBjorn Andersson	  built-in I2C interface on the Qualcomm SoCs.
106710c5a842SBjorn Andersson
106810c5a842SBjorn Andersson	  This driver can also be built as a module.  If so, the module
106910c5a842SBjorn Andersson	  will be called i2c-qup.
107010c5a842SBjorn Andersson
1071310c18a4SWolfram Sangconfig I2C_RIIC
1072310c18a4SWolfram Sang	tristate "Renesas RIIC adapter"
107307316149SSimon Horman	depends on ARCH_RENESAS || COMPILE_TEST
1074310c18a4SWolfram Sang	help
1075310c18a4SWolfram Sang	  If you say yes to this option, support will be included for the
1076310c18a4SWolfram Sang	  Renesas RIIC I2C interface.
1077310c18a4SWolfram Sang
1078310c18a4SWolfram Sang	  This driver can also be built as a module.  If so, the module
1079310c18a4SWolfram Sang	  will be called i2c-riic.
1080310c18a4SWolfram Sang
1081c41aa3ceSMax Schwarzconfig I2C_RK3X
1082c41aa3ceSMax Schwarz	tristate "Rockchip RK3xxx I2C adapter"
108380f1774fSMax Schwarz	depends on OF && COMMON_CLK
1084c41aa3ceSMax Schwarz	help
1085c41aa3ceSMax Schwarz	  Say Y here to include support for the I2C adapter in Rockchip RK3xxx
1086c41aa3ceSMax Schwarz	  SoCs.
1087c41aa3ceSMax Schwarz
1088c41aa3ceSMax Schwarz	  This driver can also be built as a module. If so, the module will
1089c41aa3ceSMax Schwarz	  be called i2c-rk3x.
1090c41aa3ceSMax Schwarz
1091c366be72SChris Packhamconfig I2C_RTL9300
1092c366be72SChris Packham	tristate "Realtek RTL9300 I2C controller"
1093c366be72SChris Packham	depends on MACH_REALTEK_RTL || COMPILE_TEST
1094c366be72SChris Packham	help
1095c366be72SChris Packham	  Say Y here to include support for the I2C controller in Realtek
1096c366be72SChris Packham	  RTL9300 SoCs.
1097c366be72SChris Packham
1098c366be72SChris Packham	  This driver can also be built as a module. If so, the module will
1099c366be72SChris Packham	  be called i2c-rtl9300.
1100c366be72SChris Packham
1101e0ca796aSPhil Edworthyconfig I2C_RZV2M
1102e0ca796aSPhil Edworthy	tristate "Renesas RZ/V2M adapter"
1103e0ca796aSPhil Edworthy	depends on ARCH_RENESAS || COMPILE_TEST
1104e0ca796aSPhil Edworthy	help
1105e0ca796aSPhil Edworthy	  If you say yes to this option, support will be included for the
1106e0ca796aSPhil Edworthy	  Renesas RZ/V2M I2C interface.
1107e0ca796aSPhil Edworthy
1108e0ca796aSPhil Edworthy	  This driver can also be built as a module.  If so, the module
1109e0ca796aSPhil Edworthy	  will be called i2c-rzv2m.
1110e0ca796aSPhil Edworthy
1111f5b728a1SJean Delvareconfig I2C_S3C2410
1112a009310fSKrzysztof Kozlowski	tristate "S3C/Exynos I2C Driver"
11131ea35b35SArnd Bergmann	depends on ARCH_EXYNOS || ARCH_S3C64XX || ARCH_S5PV210 || COMPILE_TEST
1114f5b728a1SJean Delvare	help
1115f5b728a1SJean Delvare	  Say Y here to include support for I2C controller in the
1116a009310fSKrzysztof Kozlowski	  Samsung SoCs (S3C, S5Pv210, Exynos).
1117f5b728a1SJean Delvare
1118f5b728a1SJean Delvareconfig I2C_SH7760
1119f5b728a1SJean Delvare	tristate "Renesas SH7760 I2C Controller"
1120f5b728a1SJean Delvare	depends on CPU_SUBTYPE_SH7760
1121f5b728a1SJean Delvare	help
1122f5b728a1SJean Delvare	  This driver supports the 2 I2C interfaces on the Renesas SH7760.
1123f5b728a1SJean Delvare
1124f5b728a1SJean Delvare	  This driver can also be built as a module.  If so, the module
1125f5b728a1SJean Delvare	  will be called i2c-sh7760.
1126f5b728a1SJean Delvare
1127f5b728a1SJean Delvareconfig I2C_SH_MOBILE
1128f5b728a1SJean Delvare	tristate "SuperH Mobile I2C Controller"
112917f80487SGeert Uytterhoeven	depends on ARCH_SHMOBILE || ARCH_RENESAS || COMPILE_TEST
1130f5b728a1SJean Delvare	help
1131f5b728a1SJean Delvare	  If you say yes to this option, support will be included for the
1132f5b728a1SJean Delvare	  built-in I2C interface on the Renesas SH-Mobile processor.
1133f5b728a1SJean Delvare
1134f5b728a1SJean Delvare	  This driver can also be built as a module.  If so, the module
1135f5b728a1SJean Delvare	  will be called i2c-sh_mobile.
1136f5b728a1SJean Delvare
1137f5b728a1SJean Delvareconfig I2C_SIMTEC
1138f5b728a1SJean Delvare	tristate "Simtec Generic I2C interface"
1139f5b728a1SJean Delvare	select I2C_ALGOBIT
1140f5b728a1SJean Delvare	help
1141f5b728a1SJean Delvare	  If you say yes to this option, support will be included for
1142f5b728a1SJean Delvare	  the Simtec Generic I2C interface. This driver is for the
1143f5b728a1SJean Delvare	  simple I2C bus used on newer Simtec products for general
1144f5b728a1SJean Delvare	  I2C, such as DDC on the Simtec BBD2016A.
1145f5b728a1SJean Delvare
1146f5b728a1SJean Delvare	  This driver can also be built as a module. If so, the module
1147f5b728a1SJean Delvare	  will be called i2c-simtec.
1148f5b728a1SJean Delvare
11498b9ec071SBaolin Wangconfig I2C_SPRD
11504d7802aaSBaolin Wang	tristate "Spreadtrum I2C interface"
11514a2d5f66SKrzysztof Kozlowski	depends on I2C=y && (ARCH_SPRD || COMPILE_TEST)
11529ecd1d2bSKrzysztof Kozlowski	depends on COMMON_CLK
11538b9ec071SBaolin Wang	help
11548b9ec071SBaolin Wang	  If you say yes to this option, support will be included for the
11558b9ec071SBaolin Wang	  Spreadtrum I2C interface.
11568b9ec071SBaolin Wang
115785b4fab2SMaxime COQUELINconfig I2C_ST
115885b4fab2SMaxime COQUELIN	tristate "STMicroelectronics SSC I2C support"
11594a2d5f66SKrzysztof Kozlowski	depends on ARCH_STI || COMPILE_TEST
116085b4fab2SMaxime COQUELIN	help
116185b4fab2SMaxime COQUELIN	  Enable this option to add support for STMicroelectronics SoCs
116285b4fab2SMaxime COQUELIN	  hardware SSC (Synchronous Serial Controller) as an I2C controller.
116385b4fab2SMaxime COQUELIN
116485b4fab2SMaxime COQUELIN	  This driver can also be built as module. If so, the module
116585b4fab2SMaxime COQUELIN	  will be called i2c-st.
116685b4fab2SMaxime COQUELIN
116762817fc8SM'boumba Cedric Madiangaconfig I2C_STM32F4
116862817fc8SM'boumba Cedric Madianga	tristate "STMicroelectronics STM32F4 I2C support"
116962817fc8SM'boumba Cedric Madianga	depends on ARCH_STM32 || COMPILE_TEST
117062817fc8SM'boumba Cedric Madianga	help
117162817fc8SM'boumba Cedric Madianga	  Enable this option to add support for STM32 I2C controller embedded
117262817fc8SM'boumba Cedric Madianga	  in STM32F4 SoCs.
117362817fc8SM'boumba Cedric Madianga
117462817fc8SM'boumba Cedric Madianga	  This driver can also be built as module. If so, the module
117562817fc8SM'boumba Cedric Madianga	  will be called i2c-stm32f4.
117662817fc8SM'boumba Cedric Madianga
1177aeb068c5SPierre-Yves MORDRETconfig I2C_STM32F7
1178aeb068c5SPierre-Yves MORDRET	tristate "STMicroelectronics STM32F7 I2C support"
1179aeb068c5SPierre-Yves MORDRET	depends on ARCH_STM32 || COMPILE_TEST
118060d609f3SPierre-Yves MORDRET	select I2C_SLAVE
11816af07719SAlain Volmat	select I2C_SMBUS
1182aeb068c5SPierre-Yves MORDRET	help
1183aeb068c5SPierre-Yves MORDRET	  Enable this option to add support for STM32 I2C controller embedded
1184aeb068c5SPierre-Yves MORDRET	  in STM32F7 SoCs.
1185aeb068c5SPierre-Yves MORDRET
1186aeb068c5SPierre-Yves MORDRET	  This driver can also be built as module. If so, the module
1187aeb068c5SPierre-Yves MORDRET	  will be called i2c-stm32f7.
1188aeb068c5SPierre-Yves MORDRET
11893e833490SBoris BREZILLONconfig I2C_SUN6I_P2WI
11903e833490SBoris BREZILLON	tristate "Allwinner sun6i internal P2WI controller"
11913e833490SBoris BREZILLON	depends on RESET_CONTROLLER
11923e833490SBoris BREZILLON	depends on MACH_SUN6I || COMPILE_TEST
11933e833490SBoris BREZILLON	help
11943e833490SBoris BREZILLON	  If you say yes to this option, support will be included for the
11953e833490SBoris BREZILLON	  P2WI (Push/Pull 2 Wire Interface) controller embedded in some sunxi
11963e833490SBoris BREZILLON	  SOCs.
11973e833490SBoris BREZILLON	  The P2WI looks like an SMBus controller (which supports only byte
11983e833490SBoris BREZILLON	  accesses), except that it only supports one slave device.
11993e833490SBoris BREZILLON	  This interface is used to connect to specific PMIC devices (like the
12003e833490SBoris BREZILLON	  AXP221).
12013e833490SBoris BREZILLON
12020d676a6cSArd Biesheuvelconfig I2C_SYNQUACER
12030d676a6cSArd Biesheuvel	tristate "Socionext SynQuacer I2C controller"
12040d676a6cSArd Biesheuvel	depends on ARCH_SYNQUACER || COMPILE_TEST
12050d676a6cSArd Biesheuvel	help
12060d676a6cSArd Biesheuvel	  Say Y here to include support for the I2C controller used in some
12070d676a6cSArd Biesheuvel	  Fujitsu and Socionext SoCs.
12080d676a6cSArd Biesheuvel
12090d676a6cSArd Biesheuvel	  This driver can also be built as a module. If so, the module
12100d676a6cSArd Biesheuvel	  will be called i2c-synquacer.
12110d676a6cSArd Biesheuvel
1212db811ca0SColin Crossconfig I2C_TEGRA
1213db811ca0SColin Cross	tristate "NVIDIA Tegra internal I2C controller"
12144a2d5f66SKrzysztof Kozlowski	depends on ARCH_TEGRA || COMPILE_TEST
12154a2d5f66SKrzysztof Kozlowski	depends on PINCTRL
1216*ec69c9e8SMikko Perttunen	# ARCH_TEGRA implies PINCTRL, but the COMPILE_TEST side doesn't.
1217*ec69c9e8SMikko Perttunen	help
1218db811ca0SColin Cross	  If you say yes to this option, support will be included for the
1219db811ca0SColin Cross	  I2C controller embedded in NVIDIA Tegra SOCs
1220db811ca0SColin Cross
1221db811ca0SColin Crossconfig I2C_TEGRA_BPMP
12220297ffa6SShardar Shariff Md	tristate "NVIDIA Tegra BPMP I2C controller"
12230297ffa6SShardar Shariff Md	depends on TEGRA_BPMP || COMPILE_TEST
12244a2d5f66SKrzysztof Kozlowski	default y if TEGRA_BPMP
12254a2d5f66SKrzysztof Kozlowski	help
12260297ffa6SShardar Shariff Md	  If you say yes to this option, support will be included for the I2C
12270297ffa6SShardar Shariff Md	  controller embedded in NVIDIA Tegra SoCs accessed via the BPMP.
12280297ffa6SShardar Shariff Md
12290297ffa6SShardar Shariff Md	  This I2C driver is a 'virtual' I2C driver. The real driver is part
12300297ffa6SShardar Shariff Md	  of the BPMP firmware, and this driver merely communicates with that
12310297ffa6SShardar Shariff Md	  real driver.
12320297ffa6SShardar Shariff Md
12330297ffa6SShardar Shariff Mdconfig I2C_UNIPHIER
1234dd6fd4a3SMasahiro Yamada	tristate "UniPhier FIFO-less I2C controller"
1235dd6fd4a3SMasahiro Yamada	depends on ARCH_UNIPHIER || COMPILE_TEST
123661c18aebSMasahiro Yamada	help
1237dd6fd4a3SMasahiro Yamada	  If you say yes to this option, support will be included for
1238dd6fd4a3SMasahiro Yamada	  the UniPhier FIFO-less I2C interface embedded in PH1-LD4, PH1-sLD8,
1239dd6fd4a3SMasahiro Yamada	  or older UniPhier SoCs.
1240dd6fd4a3SMasahiro Yamada
1241dd6fd4a3SMasahiro Yamadaconfig I2C_UNIPHIER_F
12426a62974bSMasahiro Yamada	tristate "UniPhier FIFO-builtin I2C controller"
12436a62974bSMasahiro Yamada	depends on ARCH_UNIPHIER || COMPILE_TEST
124461c18aebSMasahiro Yamada	help
12456a62974bSMasahiro Yamada	  If you say yes to this option, support will be included for
12466a62974bSMasahiro Yamada	  the UniPhier FIFO-builtin I2C interface embedded in PH1-Pro4,
12476a62974bSMasahiro Yamada	  PH1-Pro5, or newer UniPhier SoCs.
12486a62974bSMasahiro Yamada
12496a62974bSMasahiro Yamadaconfig I2C_VERSATILE
1250f5b728a1SJean Delvare	tristate "ARM Versatile/Realview I2C bus support"
1251f5b728a1SJean Delvare	depends on ARCH_MPS2 || ARCH_VERSATILE || ARCH_REALVIEW || ARCH_VEXPRESS || COMPILE_TEST
12525871a153SRussell King	select I2C_ALGOBIT
1253f5b728a1SJean Delvare	help
1254f5b728a1SJean Delvare	  Say yes if you want to support the I2C serial bus on ARMs Versatile
1255f5b728a1SJean Delvare	  range of platforms.
1256f5b728a1SJean Delvare
1257f5b728a1SJean Delvare	  This driver can also be built as a module.  If so, the module
1258f5b728a1SJean Delvare	  will be called i2c-versatile.
1259f5b728a1SJean Delvare
1260f5b728a1SJean Delvareconfig I2C_WMT
1261560746ebSTony Prisk	tristate "Wondermedia WM8xxx SoC I2C bus support"
1262560746ebSTony Prisk	depends on ARCH_VT8500 || COMPILE_TEST
12634a2d5f66SKrzysztof Kozlowski	help
1264560746ebSTony Prisk	  Say yes if you want to support the I2C bus on Wondermedia 8xxx-series
1265560746ebSTony Prisk	  SoCs.
1266560746ebSTony Prisk
1267560746ebSTony Prisk	  This driver can also be built as a module. If so, the module will be
1268560746ebSTony Prisk	  called i2c-wmt.
1269560746ebSTony Prisk
1270560746ebSTony Priskconfig I2C_OCTEON
127185660f43SRade Bozic	tristate "Cavium OCTEON I2C bus support"
127285660f43SRade Bozic	depends on CAVIUM_OCTEON_SOC
12739ddebc46SDavid Daney	help
127485660f43SRade Bozic	  Say yes if you want to support the I2C serial bus on Cavium
127585660f43SRade Bozic	  OCTEON SOC.
127685660f43SRade Bozic
127785660f43SRade Bozic	  This driver can also be built as a module.  If so, the module
127885660f43SRade Bozic	  will be called i2c-octeon.
127985660f43SRade Bozic
128085660f43SRade Bozicconfig I2C_THUNDERX
128122d40209SJan Glauber	tristate "Cavium ThunderX I2C bus support"
128222d40209SJan Glauber	depends on 64BIT && PCI && (ARM64 || COMPILE_TEST)
128322d40209SJan Glauber	select I2C_SMBUS
12841e586671SJan Glauber	help
128522d40209SJan Glauber	  Say yes if you want to support the I2C serial bus on Cavium
128622d40209SJan Glauber	  ThunderX SOC.
128722d40209SJan Glauber
128822d40209SJan Glauber	  This driver can also be built as a module.  If so, the module
128922d40209SJan Glauber	  will be called i2c-thunderx.
129022d40209SJan Glauber
129122d40209SJan Glauberconfig I2C_XILINX
1292e1d5b659SRichard Röjfors	tristate "Xilinx I2C Controller"
1293e1d5b659SRichard Röjfors	depends on HAS_IOMEM
1294417e86ceSKees Cook	help
1295e1d5b659SRichard Röjfors	  If you say yes to this option, support will be included for the
1296e1d5b659SRichard Röjfors	  Xilinx I2C controller.
1297e1d5b659SRichard Röjfors
1298e1d5b659SRichard Röjfors	  This driver can also be built as a module.  If so, the module
1299e1d5b659SRichard Röjfors	  will be called xilinx_i2c.
1300e1d5b659SRichard Röjfors
1301e1d5b659SRichard Röjforsconfig I2C_XLP9XX
13022bbd681bSSubhendu Sekhar Behera	tristate "Cavium ThunderX2 I2C support"
1303ef99066cSRob Herring	depends on ARCH_THUNDER2 || COMPILE_TEST
1304ef99066cSRob Herring	help
13052bbd681bSSubhendu Sekhar Behera	  This driver enables support for the on-chip I2C interface of
13062bbd681bSSubhendu Sekhar Behera	  the Cavium ThunderX2 processors. (Originally on Netlogic XLP SoCs.)
1307ef99066cSRob Herring
13082bbd681bSSubhendu Sekhar Behera	  This driver can also be built as a module.  If so, the module will
13092bbd681bSSubhendu Sekhar Behera	  be called i2c-xlp9xx.
13102bbd681bSSubhendu Sekhar Behera
13112bbd681bSSubhendu Sekhar Beheraconfig I2C_RCAR
13126ccbe607SKuninori Morimoto	tristate "Renesas R-Car I2C Controller"
13136ccbe607SKuninori Morimoto	depends on ARCH_RENESAS || COMPILE_TEST
131407316149SSimon Horman	select I2C_SLAVE
1315d5fd120eSJean Delvare	select I2C_SMBUS
1316c4651f11SWolfram Sang	select RESET_CONTROLLER if ARCH_RCAR_GEN3 || ARCH_RCAR_GEN4
13175d856651SGeert Uytterhoeven	help
13186ccbe607SKuninori Morimoto	  If you say yes to this option, support will be included for the
13196ccbe607SKuninori Morimoto	  R-Car I2C controller.
13206ccbe607SKuninori Morimoto
13216ccbe607SKuninori Morimoto	  This driver can also be built as a module.  If so, the module
13226ccbe607SKuninori Morimoto	  will be called i2c-rcar.
13236ccbe607SKuninori Morimoto
13246ccbe607SKuninori Morimotocomment "External I2C/SMBus adapter drivers"
1325f5b728a1SJean Delvare
1326f5b728a1SJean Delvareconfig I2C_DIOLAN_U2C
1327335d7c58SGuenter Roeck	tristate "Diolan U2C-12 USB adapter"
1328335d7c58SGuenter Roeck	depends on USB
1329335d7c58SGuenter Roeck	help
1330335d7c58SGuenter Roeck	  If you say yes to this option, support will be included for Diolan
1331335d7c58SGuenter Roeck	  U2C-12, a USB to I2C interface.
1332335d7c58SGuenter Roeck
1333335d7c58SGuenter Roeck	  This driver can also be built as a module.  If so, the module
1334335d7c58SGuenter Roeck	  will be called i2c-diolan-u2c.
1335335d7c58SGuenter Roeck
1336335d7c58SGuenter Roeckconfig I2C_DLN2
1337db23e500SLaurentiu Palcu	tristate "Diolan DLN-2 USB I2C adapter"
1338db23e500SLaurentiu Palcu	depends on MFD_DLN2
1339db23e500SLaurentiu Palcu	help
1340db23e500SLaurentiu Palcu	 If you say yes to this option, support will be included for Diolan
1341db23e500SLaurentiu Palcu	 DLN2, a USB to I2C interface.
1342db23e500SLaurentiu Palcu
1343db23e500SLaurentiu Palcu	 This driver can also be built as a module.  If so, the module
1344db23e500SLaurentiu Palcu	 will be called i2c-dln2.
1345db23e500SLaurentiu Palcu
1346db23e500SLaurentiu Palcuconfig I2C_LJCA
1347bfd3824cSWentong Wu	tristate "I2C functionality of Intel La Jolla Cove Adapter"
1348bfd3824cSWentong Wu	depends on USB_LJCA
1349bfd3824cSWentong Wu	default USB_LJCA
1350bfd3824cSWentong Wu	help
1351bfd3824cSWentong Wu	  If you say yes to this option, I2C functionality support of Intel
1352bfd3824cSWentong Wu	  La Jolla Cove Adapter (LJCA) will be included.
1353bfd3824cSWentong Wu
1354bfd3824cSWentong Wu	  This driver can also be built as a module.  If so, the module
1355bfd3824cSWentong Wu	  will be called i2c-ljca.
1356bfd3824cSWentong Wu
1357bfd3824cSWentong Wuconfig I2C_NCT6694
1358c5cf27dbSMing Yu	tristate "Nuvoton NCT6694 I2C adapter support"
1359c5cf27dbSMing Yu	depends on MFD_NCT6694
1360c5cf27dbSMing Yu	help
1361c5cf27dbSMing Yu	  If you say yes to this option, support will be included for Nuvoton
1362c5cf27dbSMing Yu	  NCT6694, a USB to I2C interface.
1363c5cf27dbSMing Yu
1364c5cf27dbSMing Yu	  This driver can also be built as a module. If so, the module will
1365c5cf27dbSMing Yu	  be called i2c-nct6694.
1366c5cf27dbSMing Yu
1367c5cf27dbSMing Yuconfig I2C_USBIO
1368daf16134SIsrael Cepeda	tristate "Intel USBIO I2C Adapter support"
1369daf16134SIsrael Cepeda	depends on USB_USBIO
1370daf16134SIsrael Cepeda	default USB_USBIO
1371daf16134SIsrael Cepeda	help
1372daf16134SIsrael Cepeda	  Select this option to enable I2C driver for the INTEL
1373daf16134SIsrael Cepeda	  USBIO driver stack.
1374daf16134SIsrael Cepeda
1375daf16134SIsrael Cepeda	  This driver can also be built as a module.  If so, the module
1376daf16134SIsrael Cepeda	  will be called i2c_usbio.
1377daf16134SIsrael Cepeda
1378daf16134SIsrael Cepedaconfig I2C_CP2615
13794a769542SBence Csókás	tristate "Silicon Labs CP2615 USB sound card and I2C adapter"
13804a769542SBence Csókás	depends on USB
13814a769542SBence Csókás	help
13824a769542SBence Csókás	  If you say yes to this option, support will be included for Silicon
13834a769542SBence Csókás	  Labs CP2615's I2C interface.
13844a769542SBence Csókás
13854a769542SBence Csókás	  This driver can also be built as a module.  If so, the module
13864a769542SBence Csókás	  will be called i2c-cp2615.
13874a769542SBence Csókás
13884a769542SBence Csókásconfig I2C_PARPORT
13891da177e4SLinus Torvalds	tristate "Parallel port adapter"
13901da177e4SLinus Torvalds	depends on PARPORT
13910244ad00SMartin Schwidefsky	select I2C_ALGOBIT
13921da177e4SLinus Torvalds	select I2C_SMBUS
139335859254SJean Delvare	help
13941da177e4SLinus Torvalds	  This supports parallel port I2C adapters such as the ones made by
13951da177e4SLinus Torvalds	  Philips or Velleman, Analog Devices evaluation boards, and more.
13961da177e4SLinus Torvalds	  Basically any adapter using the parallel port as an I2C bus with
13971da177e4SLinus Torvalds	  no extra chipset is supported by this driver, or could be. Please
1398511f7d54SWolfram Sang	  read the file Documentation/i2c/busses/i2c-parport.rst for details.
1399511f7d54SWolfram Sang
1400e97b81ddSMark M. Hoffman	  This support is also available as a module.  If so, the module
14011da177e4SLinus Torvalds	  will be called i2c-parport.
14021da177e4SLinus Torvalds
14031da177e4SLinus Torvaldsconfig I2C_PCI1XXXX
140436169369STharun Kumar P	tristate "PCI1XXXX I2C Host Adapter"
140536169369STharun Kumar P	depends on PCI
140636169369STharun Kumar P	help
140736169369STharun Kumar P	  If you say yes to this option, support will be included for
140836169369STharun Kumar P	  Microchip PCI1XXXX's I2C interface.
140936169369STharun Kumar P
141036169369STharun Kumar P	  This driver can also be built as a module. If so, the module will
141136169369STharun Kumar P	  be called i2c-mchp-pci1xxxx.
141236169369STharun Kumar P
141336169369STharun Kumar Pconfig I2C_ROBOTFUZZ_OSIF
141483e53a8fSAndrew Lunn	tristate "RobotFuzz Open Source InterFace USB adapter"
141583e53a8fSAndrew Lunn	depends on USB
141683e53a8fSAndrew Lunn	help
141783e53a8fSAndrew Lunn	  If you say yes to this option, support will be included for the
141883e53a8fSAndrew Lunn	  RobotFuzz Open Source InterFace USB to I2C interface.
141983e53a8fSAndrew Lunn
142083e53a8fSAndrew Lunn	  This driver can also be built as a module.  If so, the module
142183e53a8fSAndrew Lunn	  will be called i2c-osif.
142283e53a8fSAndrew Lunn
142383e53a8fSAndrew Lunnconfig I2C_TAOS_EVM
1424f5b728a1SJean Delvare	tristate "TAOS evaluation module"
1425f5b728a1SJean Delvare	depends on TTY
142621eaab6dSLinus Torvalds	select SERIO
1427f5b728a1SJean Delvare	select SERIO_SERPORT
1428f5b728a1SJean Delvare	help
1429beb58aa3SOlof Johansson	  This supports TAOS evaluation modules on serial port. In order to
1430f5b728a1SJean Delvare	  use this driver, you will need the inputattach tool, which is part
1431f5b728a1SJean Delvare	  of the input-utils package.
1432f5b728a1SJean Delvare
1433beb58aa3SOlof Johansson	  If unsure, say N.
1434f5b728a1SJean Delvare
1435f5b728a1SJean Delvare	  This support is also available as a module.  If so, the module
1436f5b728a1SJean Delvare	  will be called i2c-taos-evm.
1437f5b728a1SJean Delvare
1438f5b728a1SJean Delvareconfig I2C_TINY_USB
1439f5b728a1SJean Delvare	tristate "Tiny-USB adapter"
1440f5b728a1SJean Delvare	depends on USB
1441f5b728a1SJean Delvare	help
14421da177e4SLinus Torvalds	  If you say yes to this option, support will be included for the
1443f5b728a1SJean Delvare	  i2c-tiny-usb, a simple do-it-yourself USB to I2C interface. See
1444f5b728a1SJean Delvare	  http://www.harbaum.org/till/i2c_tiny_usb for hardware details.
1445f5b728a1SJean Delvare
1446f5b728a1SJean Delvare	  This driver can also be built as a module.  If so, the module
1447f5b728a1SJean Delvare	  will be called i2c-tiny-usb.
1448f5b728a1SJean Delvare
1449f5b728a1SJean Delvareconfig I2C_VIPERBOARD
1450174a13aaSLars Poeschel	tristate "Viperboard I2C master support"
1451174a13aaSLars Poeschel	depends on MFD_VIPERBOARD && USB
1452174a13aaSLars Poeschel	help
1453174a13aaSLars Poeschel	  Say yes here to access the I2C part of the Nano River
1454174a13aaSLars Poeschel	  Technologies Viperboard as I2C master.
1455174a13aaSLars Poeschel	  See viperboard API specification and Nano
1456174a13aaSLars Poeschel	  River Tech's viperboard.h for detailed meaning
1457174a13aaSLars Poeschel	  of the module parameters.
1458174a13aaSLars Poeschel
1459174a13aaSLars Poeschelcomment "Other I2C/SMBus bus drivers"
1460f5b728a1SJean Delvare
1461f5b728a1SJean Delvareconfig I2C_ACORN
1462f5b728a1SJean Delvare	tristate "Acorn IOC/IOMD I2C bus support"
1463f5b728a1SJean Delvare	depends on ARCH_ACORN
1464f5b728a1SJean Delvare	default y
1465f5b728a1SJean Delvare	select I2C_ALGOBIT
1466f5b728a1SJean Delvare	help
1467f5b728a1SJean Delvare	  Say yes if you want to support the I2C bus on Acorn platforms.
1468f5b728a1SJean Delvare
1469f5b728a1SJean Delvare	  If you don't know, say Y.
1470f5b728a1SJean Delvare
1471f5b728a1SJean Delvareconfig I2C_ELEKTOR
1472f5b728a1SJean Delvare	tristate "Elektor ISA card"
1473f5b728a1SJean Delvare	depends on ISA && HAS_IOPORT_MAP
1474621e57c3SMagnus Lindholm	select I2C_ALGOPCF
1475f5b728a1SJean Delvare	help
1476f5b728a1SJean Delvare	  This supports the PCF8584 ISA bus I2C adapter.  Say Y if you own
1477f5b728a1SJean Delvare	  such an adapter.
1478f5b728a1SJean Delvare
1479f5b728a1SJean Delvare	  This support is also available as a module.  If so, the module
1480f5b728a1SJean Delvare	  will be called i2c-elektor.
1481f5b728a1SJean Delvare
1482f5b728a1SJean Delvareconfig I2C_ICY
14834768e90eSMax Staudt	tristate "ICY Zorro card"
14844768e90eSMax Staudt	depends on ZORRO
14854768e90eSMax Staudt	select I2C_ALGOPCF
14864768e90eSMax Staudt	help
14874768e90eSMax Staudt	  This supports the PCF8584 Zorro bus I2C adapter, known as ICY.
14884768e90eSMax Staudt	  Say Y if you own such an adapter.
14894768e90eSMax Staudt
14904768e90eSMax Staudt	  This support is also available as a module.  If so, the module
14914768e90eSMax Staudt	  will be called i2c-icy.
14924768e90eSMax Staudt
14934768e90eSMax Staudt	  If you have a 2019 edition board with an LTC2990 sensor at address
1494724041aeSMax Staudt	  0x4c, loading the module 'ltc2990' is sufficient to enable it.
1495724041aeSMax Staudt
1496724041aeSMax Staudtconfig I2C_MLXCPLD
14976bec23bfSVadim Pasternak	tristate "Mellanox I2C driver"
14986bec23bfSVadim Pasternak	depends on X86_64 || (ARM64 && ACPI) || COMPILE_TEST
1499b2cacc2eSGeert Uytterhoeven	depends on HAS_IOPORT
150047c21d2dSNiklas Schnelle	help
15016bec23bfSVadim Pasternak	  This exposes the Mellanox platform I2C busses to the linux I2C layer
15026bec23bfSVadim Pasternak	  for X86 and ARM64/ACPI based systems.
1503b2cacc2eSGeert Uytterhoeven	  Controller is implemented as CPLD logic.
15046bec23bfSVadim Pasternak
15056bec23bfSVadim Pasternak	  This driver can also be built as a module. If so, the module will be
15066bec23bfSVadim Pasternak	  called as i2c-mlxcpld.
15076bec23bfSVadim Pasternak
15086bec23bfSVadim Pasternakconfig I2C_PCA_ISA
1509f5b728a1SJean Delvare	tristate "PCA9564/PCA9665 on an ISA bus"
1510eff9ec95SMarco Aurelio da Costa	depends on ISA
1511f5b728a1SJean Delvare	select I2C_ALGOPCA
1512f5b728a1SJean Delvare	help
1513f5b728a1SJean Delvare	  This driver supports ISA boards using the Philips PCA9564/PCA9665
1514eff9ec95SMarco Aurelio da Costa	  parallel bus to I2C bus controller.
1515f5b728a1SJean Delvare
1516f5b728a1SJean Delvare	  This driver can also be built as a module.  If so, the module
1517f5b728a1SJean Delvare	  will be called i2c-pca-isa.
1518f5b728a1SJean Delvare
1519f5b728a1SJean Delvare	  This device is almost undetectable and using this driver on a
1520f5b728a1SJean Delvare	  system which doesn't have this device will result in long
1521f5b728a1SJean Delvare	  delays when I2C/SMBus chip drivers are loaded (e.g. at boot
1522f5b728a1SJean Delvare	  time).  If unsure, say N.
1523f5b728a1SJean Delvare
1524f5b728a1SJean Delvareconfig I2C_SIBYTE
15251da177e4SLinus Torvalds	tristate "SiByte SMBus interface"
15261da177e4SLinus Torvalds	depends on SIBYTE_SB1xxx_SOC
152716538e6bSJan Engelhardt	help
15281da177e4SLinus Torvalds	  Supports the SiByte SOC on-chip I2C interfaces (2 channels).
15291da177e4SLinus Torvalds
15301da177e4SLinus Torvaldsconfig I2C_CROS_EC_TUNNEL
15319d230c9eSDoug Anderson	tristate "ChromeOS EC tunnel I2C bus"
15329d230c9eSDoug Anderson	depends on CROS_EC
153347f11e0bSEnric Balletbo i Serra	help
15349d230c9eSDoug Anderson	  If you say yes here you get an I2C bus that will tunnel i2c commands
15359d230c9eSDoug Anderson	  through to the other side of the ChromeOS EC to the i2c bus
15369d230c9eSDoug Anderson	  connected there. This will work whatever the interface used to
15379d230c9eSDoug Anderson	  talk to the EC (SPI, I2C or LPC).
15389d230c9eSDoug Anderson
15399d230c9eSDoug Andersonconfig I2C_XGENE_SLIMPRO
1540f6505fbaSFeng Kan	tristate "APM X-Gene SoC I2C SLIMpro devices support"
1541f6505fbaSFeng Kan	depends on ARCH_XGENE && MAILBOX
1542f6505fbaSFeng Kan	help
1543f6505fbaSFeng Kan	  Enable I2C bus access using the APM X-Gene SoC SLIMpro
1544f6505fbaSFeng Kan	  co-processor. The I2C device access the I2C bus via the X-Gene
1545f6505fbaSFeng Kan	  to SLIMpro (On chip coprocessor) mailbox mechanism.
1546f6505fbaSFeng Kan	  If unsure, say N.
1547f6505fbaSFeng Kan
1548f6505fbaSFeng Kanconfig SCx200_ACB
15491da177e4SLinus Torvalds	tristate "Geode ACCESS.bus support"
1550a417bbd3SBen Gardner	depends on X86_32 && PCI && HAS_IOPORT
1551f40213cdSJohannes Berg	help
15521da177e4SLinus Torvalds	  Enable the use of the ACCESS.bus controllers on the Geode SCx200 and
1553a417bbd3SBen Gardner	  SC1100 processors and the CS5535 and CS5536 Geode companion devices.
1554a417bbd3SBen Gardner
15551da177e4SLinus Torvalds	  If you don't know what to do here, say N.
15561da177e4SLinus Torvalds
15571da177e4SLinus Torvalds	  This support is also available as a module.  If so, the module
15581da177e4SLinus Torvalds	  will be called scx200_acb.
15591da177e4SLinus Torvalds
15601da177e4SLinus Torvaldsconfig I2C_OPAL
156147083450SNeelesh Gupta	tristate "IBM OPAL I2C driver"
156247083450SNeelesh Gupta	depends on PPC_POWERNV
156347083450SNeelesh Gupta	default y
156447083450SNeelesh Gupta	help
156547083450SNeelesh Gupta	  This exposes the PowerNV platform i2c busses to the linux i2c layer,
156647083450SNeelesh Gupta	  the driver is based on the OPAL interfaces.
156747083450SNeelesh Gupta
156847083450SNeelesh Gupta	  This driver can also be built as a module. If so, the module will be
156947083450SNeelesh Gupta	  called as i2c-opal.
157047083450SNeelesh Gupta
157147083450SNeelesh Guptaconfig I2C_FSI
1572d6ffb630SEddie James	tristate "FSI I2C driver"
1573d6ffb630SEddie James	depends on FSI
1574d6ffb630SEddie James	help
1575d6ffb630SEddie James	  Driver for FSI bus attached I2C masters. These are I2C masters that
1576d6ffb630SEddie James	  are connected to the system over an FSI bus, instead of the more
1577d6ffb630SEddie James	  common PCI or MMIO interface.
1578d6ffb630SEddie James
1579d6ffb630SEddie James	  This driver can also be built as a module. If so, the module will be
1580d6ffb630SEddie James	  called as i2c-fsi.
1581d6ffb630SEddie James
1582d6ffb630SEddie Jamesconfig I2C_VIRTIO
15833cfc8838SJie Deng        tristate "Virtio I2C Adapter"
15843cfc8838SJie Deng        select VIRTIO
15853cfc8838SJie Deng        help
15863cfc8838SJie Deng          If you say yes to this option, support will be included for the virtio
15873cfc8838SJie Deng          I2C adapter driver. The hardware can be emulated by any device model
15883cfc8838SJie Deng          software according to the virtio protocol.
15893cfc8838SJie Deng
15903cfc8838SJie Deng          This driver can also be built as a module. If so, the module
15913cfc8838SJie Deng          will be called i2c-virtio.
15923cfc8838SJie Deng
15933cfc8838SJie Dengendmenu
15941da177e4SLinus Torvalds