blob: a9805c7cb305ac56162519a65b4398cb2f39fd73 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#
2# Sensor device configuration
3#
4
5menu "I2C Hardware Bus support"
Peter Huewe3ddb59d2012-10-05 22:23:52 +02006 depends on HAS_IOMEM
Linus Torvalds1da177e2005-04-16 15:20:36 -07007
Jean Delvaref5b728a2008-07-14 22:38:23 +02008comment "PC SMBus host controller drivers"
9 depends on PCI
10
Linus Torvalds1da177e2005-04-16 15:20:36 -070011config I2C_ALI1535
12 tristate "ALI 1535"
Jan Engelhardt16538e62007-05-01 23:26:34 +020013 depends on PCI
Linus Torvalds1da177e2005-04-16 15:20:36 -070014 help
15 If you say yes to this option, support will be included for the SMB
16 Host controller on Acer Labs Inc. (ALI) M1535 South Bridges. The SMB
17 controller is part of the 7101 device, which is an ACPI-compliant
18 Power Management Unit (PMU).
19
20 This driver can also be built as a module. If so, the module
21 will be called i2c-ali1535.
22
23config I2C_ALI1563
24 tristate "ALI 1563"
Kees Cook417e86c2013-01-16 18:53:37 -080025 depends on PCI
Linus Torvalds1da177e2005-04-16 15:20:36 -070026 help
27 If you say yes to this option, support will be included for the SMB
28 Host controller on Acer Labs Inc. (ALI) M1563 South Bridges. The SMB
29 controller is part of the 7101 device, which is an ACPI-compliant
30 Power Management Unit (PMU).
31
32 This driver can also be built as a module. If so, the module
33 will be called i2c-ali1563.
34
35config I2C_ALI15X3
36 tristate "ALI 15x3"
Jan Engelhardt16538e62007-05-01 23:26:34 +020037 depends on PCI
Linus Torvalds1da177e2005-04-16 15:20:36 -070038 help
39 If you say yes to this option, support will be included for the
40 Acer Labs Inc. (ALI) M1514 and M1543 motherboard I2C interfaces.
41
42 This driver can also be built as a module. If so, the module
43 will be called i2c-ali15x3.
44
45config I2C_AMD756
46 tristate "AMD 756/766/768/8111 and nVidia nForce"
Jan Engelhardt16538e62007-05-01 23:26:34 +020047 depends on PCI
Linus Torvalds1da177e2005-04-16 15:20:36 -070048 help
49 If you say yes to this option, support will be included for the AMD
50 756/766/768 mainboard I2C interfaces. The driver also includes
51 support for the first (SMBus 1.0) I2C interface of the AMD 8111 and
52 the nVidia nForce I2C interface.
53
54 This driver can also be built as a module. If so, the module
55 will be called i2c-amd756.
56
57config I2C_AMD756_S4882
58 tristate "SMBus multiplexing on the Tyan S4882"
Kees Cook417e86c2013-01-16 18:53:37 -080059 depends on I2C_AMD756 && X86
Linus Torvalds1da177e2005-04-16 15:20:36 -070060 help
61 Enabling this option will add specific SMBus support for the Tyan
62 S4882 motherboard. On this 4-CPU board, the SMBus is multiplexed
63 over 8 different channels, where the various memory module EEPROMs
64 and temperature sensors live. Saying yes here will give you access
65 to these in addition to the trunk.
66
67 This driver can also be built as a module. If so, the module
68 will be called i2c-amd756-s4882.
69
70config I2C_AMD8111
71 tristate "AMD 8111"
Jan Engelhardt16538e62007-05-01 23:26:34 +020072 depends on PCI
Linus Torvalds1da177e2005-04-16 15:20:36 -070073 help
74 If you say yes to this option, support will be included for the
75 second (SMBus 2.0) AMD 8111 mainboard I2C interface.
76
77 This driver can also be built as a module. If so, the module
78 will be called i2c-amd8111.
79
Wei Yan15ef2772014-10-07 09:04:12 +080080config I2C_HIX5HD2
81 tristate "Hix5hd2 high-speed I2C driver"
Ruqiang Juae824f02016-10-24 16:39:49 +080082 depends on ARCH_HISI || ARCH_HIX5HD2 || COMPILE_TEST
Wei Yan15ef2772014-10-07 09:04:12 +080083 help
Ruqiang Juae824f02016-10-24 16:39:49 +080084 Say Y here to include support for the high-speed I2C controller
85 used in HiSilicon hix5hd2 SoCs.
Wei Yan15ef2772014-10-07 09:04:12 +080086
Ruqiang Juae824f02016-10-24 16:39:49 +080087 This driver can also be built as a module. If so, the module
Wei Yan15ef2772014-10-07 09:04:12 +080088 will be called i2c-hix5hd2.
89
Jean Delvaref5b728a2008-07-14 22:38:23 +020090config I2C_I801
Seth Heasley39376432010-03-02 12:23:39 +010091 tristate "Intel 82801 (ICH/PCH)"
Jean Delvaref5b728a2008-07-14 22:38:23 +020092 depends on PCI
Jean Delvare8eacfce2011-05-24 20:58:49 +020093 select CHECK_SIGNATURE if X86 && DMI
Benjamin Tissoires7b0ed332016-06-24 16:39:49 +020094 select I2C_SMBUS
Jean Delvaref5b728a2008-07-14 22:38:23 +020095 help
96 If you say yes to this option, support will be included for the Intel
97 801 family of mainboard I2C interfaces. Specifically, the following
98 versions of the chipset are supported:
99 82801AA
100 82801AB
101 82801BA
102 82801CA/CAM
103 82801DB
104 82801EB/ER (ICH5/ICH5R)
105 6300ESB
106 ICH6
107 ICH7
108 ESB2
109 ICH8
110 ICH9
Seth Heasleycb04e952010-10-04 13:27:14 -0700111 EP80579 (Tolapai)
Jean Delvaref5b728a2008-07-14 22:38:23 +0200112 ICH10
Seth Heasleycb04e952010-10-04 13:27:14 -0700113 5/3400 Series (PCH)
Seth Heasley662cda82011-03-20 14:50:53 +0100114 6 Series (PCH)
Seth Heasleye30d9852010-10-31 21:06:59 +0100115 Patsburg (PCH)
Seth Heasley662cda82011-03-20 14:50:53 +0100116 DH89xxCC (PCH)
Seth Heasley6e2a8512011-05-24 20:58:49 +0200117 Panther Point (PCH)
Seth Heasley062737f2012-03-26 21:47:19 +0200118 Lynx Point (PCH)
James Ralston4a8f1dd2012-09-10 10:14:02 +0200119 Lynx Point-LP (PCH)
Seth Heasleyc2db409c2013-01-30 15:25:32 +0000120 Avoton (SOC)
James Ralstona3fc0ff2013-02-14 09:15:33 +0000121 Wellsburg (PCH)
Seth Heasleyf39901c2013-06-19 16:59:57 -0700122 Coleto Creek (PCH)
Jean Delvareb299de82014-07-17 15:04:41 +0200123 Wildcat Point (PCH)
James Ralstonafc65922013-11-04 09:29:48 -0800124 Wildcat Point-LP (PCH)
Chew, Kean ho1b31e9b2014-03-01 00:03:56 +0800125 BayTrail (SOC)
james.d.ralston@intel.com3e27a842014-10-13 15:20:24 -0700126 Sunrise Point-H (PCH)
Devin Ryles3eee17992014-11-05 16:30:03 -0500127 Sunrise Point-LP (PCH)
Jarkko Nikula2b630df72015-10-26 13:26:56 +0200128 DNV (SOC)
129 Broxton (SOC)
Alexandra Yatescdc5a312015-11-05 11:40:25 -0800130 Lewisburg (PCH)
Mika Westerberg9827f9e2017-02-01 19:20:59 +0300131 Gemini Lake (SOC)
Srinivas Pandruvada09a1de02017-05-18 11:23:06 +0300132 Cannon Lake-H (PCH)
133 Cannon Lake-LP (PCH)
Jarkko Nikulacb09d942017-09-21 16:23:16 +0300134 Cedar Fork (PCH)
Jean Delvaref5b728a2008-07-14 22:38:23 +0200135
136 This driver can also be built as a module. If so, the module
137 will be called i2c-i801.
138
Alek Du5bc12002008-07-14 22:38:27 +0200139config I2C_ISCH
140 tristate "Intel SCH SMBus 1.0"
Martin Schwidefsky0244ad02013-08-30 09:39:53 +0200141 depends on PCI
Denis Turischevfd46a002010-03-01 18:59:55 +0200142 select LPC_SCH
Alek Du5bc12002008-07-14 22:38:27 +0200143 help
144 Say Y here if you want to use SMBus controller on the Intel SCH
145 based systems.
146
147 This driver can also be built as a module. If so, the module
148 will be called i2c-isch.
149
Neil Horman13f35ac2013-02-04 14:54:10 -0500150config I2C_ISMT
151 tristate "Intel iSMT SMBus Controller"
152 depends on PCI && X86
153 help
154 If you say yes to this option, support will be included for the Intel
155 iSMT SMBus host controller interface.
156
157 This driver can also be built as a module. If so, the module will be
158 called i2c-ismt.
159
Jean Delvaref5b728a2008-07-14 22:38:23 +0200160config I2C_PIIX4
Crane Cai76b3e282009-09-18 22:45:50 +0200161 tristate "Intel PIIX4 and compatible (ATI/AMD/Serverworks/Broadcom/SMSC)"
Jean Delvaref5b728a2008-07-14 22:38:23 +0200162 depends on PCI
163 help
164 If you say yes to this option, support will be included for the Intel
165 PIIX4 family of mainboard I2C interfaces. Specifically, the following
166 versions of the chipset are supported (note that Serverworks is part
167 of Broadcom):
168 Intel PIIX4
169 Intel 440MX
170 ATI IXP200
171 ATI IXP300
172 ATI IXP400
173 ATI SB600
Andrew Armenia2a2f7402012-07-24 14:13:57 +0200174 ATI SB700/SP5100
Jean Delvaref5b728a2008-07-14 22:38:23 +0200175 ATI SB800
Crane Cai3806e94b2009-11-07 13:10:46 +0100176 AMD Hudson-2
Shane Huang032f7082014-01-22 14:05:46 -0800177 AMD ML
Shane Huangb996ac92013-06-03 18:24:55 +0800178 AMD CZ
Jean Delvaref5b728a2008-07-14 22:38:23 +0200179 Serverworks OSB4
180 Serverworks CSB5
181 Serverworks CSB6
182 Serverworks HT-1000
Flavio Leitner506a8b62009-03-28 21:34:46 +0100183 Serverworks HT-1100
Jean Delvaref5b728a2008-07-14 22:38:23 +0200184 SMSC Victory66
185
Andrew Armenia2a2f7402012-07-24 14:13:57 +0200186 Some AMD chipsets contain two PIIX4-compatible SMBus
187 controllers. This driver will attempt to use both controllers
188 on the SB700/SP5100, if they have been initialized by the BIOS.
189
Jean Delvaref5b728a2008-07-14 22:38:23 +0200190 This driver can also be built as a module. If so, the module
191 will be called i2c-piix4.
192
Hans de Goede17a924b2017-08-13 12:16:51 +0200193config I2C_CHT_WC
194 tristate "Intel Cherry Trail Whiskey Cove PMIC smbus controller"
195 depends on INTEL_SOC_PMIC_CHTWC
196 help
197 If you say yes to this option, support will be included for the
198 SMBus controller found in the Intel Cherry Trail Whiskey Cove PMIC
199 found on some Intel Cherry Trail systems.
200
Hans de Goede0224d452017-10-11 11:41:20 +0200201 Note this controller is hooked up to a TI bq24292i charger-IC,
202 combined with a FUSB302 Type-C port-controller as such it is advised
203 to also select CONFIG_CHARGER_BQ24190=m and CONFIG_TYPEC_FUSB302=m
204 (the fusb302 driver currently is in drivers/staging).
205
Jean Delvaref5b728a2008-07-14 22:38:23 +0200206config I2C_NFORCE2
207 tristate "Nvidia nForce2, nForce3 and nForce4"
208 depends on PCI
209 help
210 If you say yes to this option, support will be included for the Nvidia
211 nForce2, nForce3 and nForce4 families of mainboard I2C interfaces.
212
213 This driver can also be built as a module. If so, the module
214 will be called i2c-nforce2.
215
216config I2C_NFORCE2_S4985
217 tristate "SMBus multiplexing on the Tyan S4985"
Kees Cook417e86c2013-01-16 18:53:37 -0800218 depends on I2C_NFORCE2 && X86
Jean Delvaref5b728a2008-07-14 22:38:23 +0200219 help
220 Enabling this option will add specific SMBus support for the Tyan
221 S4985 motherboard. On this 4-CPU board, the SMBus is multiplexed
222 over 4 different channels, where the various memory module EEPROMs
223 live. Saying yes here will give you access to these in addition
224 to the trunk.
225
226 This driver can also be built as a module. If so, the module
227 will be called i2c-nforce2-s4985.
228
229config I2C_SIS5595
230 tristate "SiS 5595"
231 depends on PCI
232 help
233 If you say yes to this option, support will be included for the
234 SiS5595 SMBus (a subset of I2C) interface.
235
236 This driver can also be built as a module. If so, the module
237 will be called i2c-sis5595.
238
239config I2C_SIS630
Amaury Decrême974d6a32013-01-28 22:21:05 +0100240 tristate "SiS 630/730/964"
Jean Delvaref5b728a2008-07-14 22:38:23 +0200241 depends on PCI
242 help
243 If you say yes to this option, support will be included for the
Amaury Decrême974d6a32013-01-28 22:21:05 +0100244 SiS630, SiS730 and SiS964 SMBus (a subset of I2C) interface.
Jean Delvaref5b728a2008-07-14 22:38:23 +0200245
246 This driver can also be built as a module. If so, the module
247 will be called i2c-sis630.
248
249config I2C_SIS96X
250 tristate "SiS 96x"
251 depends on PCI
252 help
253 If you say yes to this option, support will be included for the SiS
254 96x SMBus (a subset of I2C) interfaces. Specifically, the following
255 chipsets are supported:
256 645/961
257 645DX/961
258 645DX/962
259 648/961
260 650/961
261 735
262 745
263
264 This driver can also be built as a module. If so, the module
265 will be called i2c-sis96x.
266
267config I2C_VIA
268 tristate "VIA VT82C586B"
Kees Cook417e86c2013-01-16 18:53:37 -0800269 depends on PCI
Jean Delvaref5b728a2008-07-14 22:38:23 +0200270 select I2C_ALGOBIT
271 help
272 If you say yes to this option, support will be included for the VIA
273 82C586B I2C interface
274
275 This driver can also be built as a module. If so, the module
276 will be called i2c-via.
277
278config I2C_VIAPRO
Jean Delvare01d56a62012-10-05 22:23:53 +0200279 tristate "VIA VT82C596/82C686/82xx and CX700/VX8xx/VX900"
Jean Delvaref5b728a2008-07-14 22:38:23 +0200280 depends on PCI
281 help
282 If you say yes to this option, support will be included for the VIA
283 VT82C596 and later SMBus interface. Specifically, the following
284 chipsets are supported:
285 VT82C596A/B
286 VT82C686A/B
287 VT8231
288 VT8233/A
289 VT8235
290 VT8237R/A/S
291 VT8251
292 CX700
Harald Weltea2315912009-06-15 18:01:49 +0200293 VX800/VX820
294 VX855/VX875
Jean Delvare01d56a62012-10-05 22:23:53 +0200295 VX900
Jean Delvaref5b728a2008-07-14 22:38:23 +0200296
297 This driver can also be built as a module. If so, the module
298 will be called i2c-viapro.
299
Jean Delvarecfd550e2009-09-18 22:45:52 +0200300if ACPI
301
302comment "ACPI drivers"
303
304config I2C_SCMI
305 tristate "SMBus Control Method Interface"
306 help
307 This driver supports the SMBus Control Method Interface. It needs the
308 BIOS to declare ACPI control methods as described in the SMBus Control
309 Method Interface specification.
310
311 To compile this driver as a module, choose M here:
312 the module will be called i2c-scmi.
313
314endif # ACPI
315
Jean Delvaref5b728a2008-07-14 22:38:23 +0200316comment "Mac SMBus host controller drivers"
317 depends on PPC_CHRP || PPC_PMAC
318
319config I2C_HYDRA
320 tristate "CHRP Apple Hydra Mac I/O I2C interface"
Kees Cook417e86c2013-01-16 18:53:37 -0800321 depends on PCI && PPC_CHRP
Jean Delvaref5b728a2008-07-14 22:38:23 +0200322 select I2C_ALGOBIT
323 help
324 This supports the use of the I2C interface in the Apple Hydra Mac
325 I/O chip on some CHRP machines (e.g. the LongTrail). Say Y if you
326 have such a machine.
327
328 This support is also available as a module. If so, the module
329 will be called i2c-hydra.
330
331config I2C_POWERMAC
332 tristate "Powermac I2C interface"
333 depends on PPC_PMAC
334 default y
335 help
336 This exposes the various PowerMac i2c interfaces to the linux i2c
337 layer and to userland. It is used by various drivers on the PowerMac
338 platform, and should generally be enabled.
339
340 This support is also available as a module. If so, the module
341 will be called i2c-powermac.
342
343comment "I2C system bus drivers (mostly embedded / system-on-chip)"
344
Thor Thayer0560ad52017-09-11 16:17:20 -0500345config I2C_ALTERA
346 tristate "Altera Soft IP I2C"
347 depends on (ARCH_SOCFPGA || NIOS2) && OF
348 help
349 If you say yes to this option, support will be included for the
350 Altera Soft IP I2C interfaces on SoCFPGA and Nios2 architectures.
351
352 This driver can also be built as a module. If so, the module
353 will be called i2c-altera.
354
Brendan Higginsf327c682017-06-20 14:15:15 -0700355config I2C_ASPEED
356 tristate "Aspeed I2C Controller"
357 depends on ARCH_ASPEED || COMPILE_TEST
358 help
359 If you say yes to this option, support will be included for the
360 Aspeed I2C controller.
361
362 This driver can also be built as a module. If so, the module
363 will be called i2c-aspeed.
364
Andrew Victor813e30e2006-12-10 21:21:30 +0100365config I2C_AT91
366 tristate "Atmel AT91 I2C Two-Wire interface (TWI)"
Kees Cook417e86c2013-01-16 18:53:37 -0800367 depends on ARCH_AT91
Andrew Victor813e30e2006-12-10 21:21:30 +0100368 help
369 This supports the use of the I2C interface on Atmel AT91
370 processors.
371
Nikolaus Vossfac368a2011-11-08 11:49:46 +0100372 A serious problem is that there is no documented way to issue
373 repeated START conditions for more than two messages, as needed
David Brownell24d0fb42007-10-13 23:56:32 +0200374 to support combined I2C messages. Use the i2c-gpio driver
Nikolaus Vossfac368a2011-11-08 11:49:46 +0100375 unless your system can cope with this limitation.
376
377 Caution! at91rm9200, at91sam9261, at91sam9260, at91sam9263 devices
378 don't have clock stretching in transmission mode. For that reason,
379 you can encounter underrun issues causing premature stop sendings if
380 the latency to fill the transmission register is too long. If you
381 are facing this situation, use the i2c-gpio driver.
David Brownell24d0fb42007-10-13 23:56:32 +0200382
Linus Torvalds1da177e2005-04-16 15:20:36 -0700383config I2C_AU1550
Manuel Lauss809f36c2011-11-01 20:03:30 +0100384 tristate "Au1550/Au1200/Au1300 SMBus interface"
Manuel Lauss3766386032011-08-12 11:39:45 +0200385 depends on MIPS_ALCHEMY
Linus Torvalds1da177e2005-04-16 15:20:36 -0700386 help
387 If you say yes to this option, support will be included for the
Manuel Lauss809f36c2011-11-01 20:03:30 +0100388 Au1550/Au1200/Au1300 SMBus interface.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700389
390 This driver can also be built as a module. If so, the module
391 will be called i2c-au1550.
392
Anders Berg08678b82014-10-03 13:08:02 +0200393config I2C_AXXIA
394 tristate "Axxia I2C controller"
395 depends on ARCH_AXXIA || COMPILE_TEST
396 default ARCH_AXXIA
397 help
398 Say yes if you want to support the I2C bus on Axxia platforms.
399
400 Please note that this controller is limited to transfers of maximum
401 255 bytes in length. Any attempt to to a larger transfer will return
402 an error.
403
Stephen Warrenf3b54b92013-02-11 19:47:56 -0700404config I2C_BCM2835
405 tristate "Broadcom BCM2835 I2C controller"
406 depends on ARCH_BCM2835
407 help
408 If you say yes to this option, support will be included for the
409 BCM2835 I2C controller.
410
411 If you don't know what to do here, say N.
412
413 This support is also available as a module. If so, the module
414 will be called i2c-bcm2835.
415
Ray Juie6e5dd32015-02-07 21:25:24 -0800416config I2C_BCM_IPROC
417 tristate "Broadcom iProc I2C controller"
418 depends on ARCH_BCM_IPROC || COMPILE_TEST
419 default ARCH_BCM_IPROC
420 help
421 If you say yes to this option, support will be included for the
422 Broadcom iProc I2C controller.
423
424 If you don't know what to do here, say N.
425
Tim Kryger93d17242013-11-14 13:02:13 -0800426config I2C_BCM_KONA
427 tristate "BCM Kona I2C adapter"
428 depends on ARCH_BCM_MOBILE
429 default y
430 help
431 If you say yes to this option, support will be included for the
432 I2C interface on the Broadcom Kona family of processors.
433
Masanari Iidaf54619f2014-09-18 12:09:42 +0900434 If you do not need KONA I2C interface, say N.
Tim Kryger93d17242013-11-14 13:02:13 -0800435
Kamal Dasudd1aa252015-06-09 15:36:20 -0400436config I2C_BRCMSTB
437 tristate "BRCM Settop I2C controller"
Jaedon Shinbcf358a2016-07-15 12:45:08 +0900438 depends on ARCH_BRCMSTB || BMIPS_GENERIC || COMPILE_TEST
Kamal Dasudd1aa252015-06-09 15:36:20 -0400439 default y
440 help
441 If you say yes to this option, support will be included for the
442 I2C interface on the Broadcom Settop SoCs.
443
444 If you do not need I2C interface, say N.
445
Bryan Wud24ecfc2007-05-01 23:26:32 +0200446config I2C_BLACKFIN_TWI
447 tristate "Blackfin TWI I2C support"
Bryan Wud4ce2202008-04-22 22:16:48 +0200448 depends on BLACKFIN
Mike Frysinger4d2bee52008-07-14 22:38:22 +0200449 depends on !BF561 && !BF531 && !BF532 && !BF533
Bryan Wud24ecfc2007-05-01 23:26:32 +0200450 help
Mike Frysinger4d2bee52008-07-14 22:38:22 +0200451 This is the I2C bus driver for Blackfin on-chip TWI interface.
Bryan Wud4ce2202008-04-22 22:16:48 +0200452
Bryan Wud24ecfc2007-05-01 23:26:32 +0200453 This driver can also be built as a module. If so, the module
454 will be called i2c-bfin-twi.
455
456config I2C_BLACKFIN_TWI_CLK_KHZ
457 int "Blackfin TWI I2C clock (kHz)"
458 depends on I2C_BLACKFIN_TWI
Michael Hennerich9528d1c2009-05-18 08:14:41 -0400459 range 21 400
Bryan Wud24ecfc2007-05-01 23:26:32 +0200460 default 50
461 help
462 The unit of the TWI clock is kHz.
463
Soren Brinkmanndf8eb562014-04-04 14:27:55 -0700464config I2C_CADENCE
465 tristate "Cadence I2C Controller"
Jan Kotasf8989782016-12-08 09:47:58 +0000466 depends on ARCH_ZYNQ || ARM64 || XTENSA
Soren Brinkmanndf8eb562014-04-04 14:27:55 -0700467 help
468 Say yes here to select Cadence I2C Host Controller. This controller is
469 e.g. used by Xilinx Zynq.
470
Aaro Koskinen0857ba32012-11-18 18:36:19 +0200471config I2C_CBUS_GPIO
472 tristate "CBUS I2C driver"
Geert Uytterhoeven7e5cd692015-05-05 18:32:22 +0200473 depends on GPIOLIB || COMPILE_TEST
Aaro Koskinen0857ba32012-11-18 18:36:19 +0200474 help
475 Support for CBUS access using I2C API. Mostly relevant for Nokia
476 Internet Tablets (770, N800 and N810).
477
478 This driver can also be built as a module. If so, the module
479 will be called i2c-cbus-gpio.
480
Jochen Friedrich61045db2008-07-14 22:38:27 +0200481config I2C_CPM
482 tristate "Freescale CPM1 or CPM2 (MPC8xx/826x)"
Richard Weinberger62c19c92014-02-09 19:47:40 +0100483 depends on CPM1 || CPM2
Jochen Friedrich61045db2008-07-14 22:38:27 +0200484 help
485 This supports the use of the I2C interface on Freescale
486 processors with CPM1 or CPM2.
487
488 This driver can also be built as a module. If so, the module
489 will be called i2c-cpm.
490
Vladimir Barinov95a7f102007-10-13 23:56:30 +0200491config I2C_DAVINCI
492 tristate "DaVinci I2C driver"
Santosh Shilimkard654b542013-07-24 20:28:19 -0400493 depends on ARCH_DAVINCI || ARCH_KEYSTONE
Vladimir Barinov95a7f102007-10-13 23:56:30 +0200494 help
495 Support for TI DaVinci I2C controller driver.
496
497 This driver can also be built as a module. If so, the module
498 will be called i2c-davinci.
499
500 Please note that this driver might be needed to bring up other
501 devices such as DaVinci NIC.
502 For details please see http://www.ti.com/davinci
503
Axel Line68bb912012-09-10 10:14:02 +0200504config I2C_DESIGNWARE_CORE
505 tristate
506
Dirk Brandewie2373f6b2011-10-29 10:57:23 +0100507config I2C_DESIGNWARE_PLATFORM
Masanari Iida6b2aac42012-04-14 00:14:11 +0900508 tristate "Synopsys DesignWare Platform"
Axel Line68bb912012-09-10 10:14:02 +0200509 select I2C_DESIGNWARE_CORE
Carl Penga4459002014-09-30 13:04:55 +0300510 depends on (ACPI && COMMON_CLK) || !ACPI
Baruch Siach1ab52cf2009-06-22 16:36:29 +0300511 help
512 If you say yes to this option, support will be included for the
Luis Oliveira9f3e0652017-06-22 11:17:32 +0100513 Synopsys DesignWare I2C adapter.
Baruch Siach1ab52cf2009-06-22 16:36:29 +0300514
515 This driver can also be built as a module. If so, the module
Dirk Brandewie2373f6b2011-10-29 10:57:23 +0100516 will be called i2c-designware-platform.
Baruch Siach1ab52cf2009-06-22 16:36:29 +0300517
Luis Oliveira9f3e0652017-06-22 11:17:32 +0100518config I2C_DESIGNWARE_SLAVE
519 bool "Synopsys DesignWare Slave"
520 select I2C_SLAVE
521 depends on I2C_DESIGNWARE_PLATFORM
522 help
523 If you say yes to this option, support will be included for the
524 Synopsys DesignWare I2C slave adapter.
525
526 This is not a standalone module, this module compiles together with
527 i2c-designware-core.
528
Dirk Brandewiefe20ff52011-10-06 11:26:35 -0700529config I2C_DESIGNWARE_PCI
530 tristate "Synopsys DesignWare PCI"
531 depends on PCI
Axel Line68bb912012-09-10 10:14:02 +0200532 select I2C_DESIGNWARE_CORE
Dirk Brandewiefe20ff52011-10-06 11:26:35 -0700533 help
534 If you say yes to this option, support will be included for the
535 Synopsys DesignWare I2C adapter. Only master mode is supported.
536
537 This driver can also be built as a module. If so, the module
538 will be called i2c-designware-pci.
Paul Mundt4ad48e62008-10-14 17:30:03 +0200539
David Box894acb22015-01-15 01:12:17 -0800540config I2C_DESIGNWARE_BAYTRAIL
541 bool "Intel Baytrail I2C semaphore support"
Jarkko Nikulaf41021b2015-12-10 13:48:44 +0200542 depends on ACPI
543 depends on (I2C_DESIGNWARE_PLATFORM=m && IOSF_MBI) || \
544 (I2C_DESIGNWARE_PLATFORM=y && IOSF_MBI=y)
David Box894acb22015-01-15 01:12:17 -0800545 help
546 This driver enables managed host access to the PMIC I2C bus on select
547 Intel BayTrail platforms using the X-Powers AXP288 PMIC. It allows
548 the host to request uninterrupted access to the PMIC's I2C bus from
549 the platform firmware controlling it. You should say Y if running on
550 a BayTrail system using the AXP288.
551
Baruch Siach4a7a0822015-03-19 13:16:46 +0200552config I2C_DIGICOLOR
553 tristate "Conexant Digicolor I2C driver"
554 depends on ARCH_DIGICOLOR
555 help
556 Support for Conexant Digicolor SoCs (CX92755) I2C controller driver.
557
558 This driver can also be built as a module. If so, the module
559 will be called i2c-digicolor.
560
Uwe Kleine-König1b5b2372014-03-25 11:48:46 +0100561config I2C_EFM32
562 tristate "EFM32 I2C controller"
563 depends on ARCH_EFM32 || COMPILE_TEST
564 help
565 This driver supports the i2c block found in Energy Micro's EFM32
566 SoCs.
567
Jayachandran C3e1b76b2012-01-23 18:01:29 +0530568config I2C_EG20T
569 tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) I2C"
Paul Burton7a852b02015-11-30 16:21:39 +0000570 depends on PCI && (X86_32 || MIPS || COMPILE_TEST)
Jayachandran C3e1b76b2012-01-23 18:01:29 +0530571 help
572 This driver is for PCH(Platform controller Hub) I2C of EG20T which
573 is an IOH(Input/Output Hub) for x86 embedded processor.
574 This driver can access PCH I2C bus device.
575
576 This driver also can be used for LAPIS Semiconductor IOH(Input/
577 Output Hub), ML7213, ML7223 and ML7831.
578 ML7213 IOH is for IVI(In-Vehicle Infotainment) use, ML7223 IOH is
579 for MP(Media Phone) use and ML7831 IOH is for general purpose use.
580 ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series.
581 ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH.
582
Wolfram Sang5faf6e12015-07-11 09:46:23 +0200583config I2C_EMEV2
584 tristate "EMMA Mobile series I2C adapter"
585 depends on HAVE_CLK
Wolfram Sangb7d518e2015-12-17 13:09:32 +0100586 select I2C_SLAVE
Wolfram Sang5faf6e12015-07-11 09:46:23 +0200587 help
588 If you say yes to this option, support will be included for the
589 I2C interface on the Renesas Electronics EM/EV family of processors.
590
Naveen Krishna Ch8a73cd42013-10-16 11:00:42 +0530591config I2C_EXYNOS5
592 tristate "Exynos5 high-speed I2C driver"
Naveen Krishna Ch2374a532014-09-16 15:03:17 +0530593 depends on ARCH_EXYNOS && OF
Sachin Kamat741d3582014-06-25 15:32:03 +0530594 default y
Naveen Krishna Ch8a73cd42013-10-16 11:00:42 +0530595 help
Sachin Kamat741d3582014-06-25 15:32:03 +0530596 High-speed I2C controller on Exynos5 based Samsung SoCs.
Naveen Krishna Ch8a73cd42013-10-16 11:00:42 +0530597
Haavard Skinnemoen1c23af92007-05-01 23:26:34 +0200598config I2C_GPIO
599 tristate "GPIO-based bitbanging I2C"
Geert Uytterhoeven7e5cd692015-05-05 18:32:22 +0200600 depends on GPIOLIB || COMPILE_TEST
Haavard Skinnemoen1c23af92007-05-01 23:26:34 +0200601 select I2C_ALGOBIT
602 help
603 This is a very simple bitbanging I2C driver utilizing the
604 arch-neutral GPIO API to control the SCL and SDA lines.
605
Wolfram Sang14911c62017-11-28 16:53:32 +0100606config I2C_GPIO_FAULT_INJECTOR
607 bool "GPIO-based fault injector"
608 depends on I2C_GPIO
609 help
610 This adds some functionality to the i2c-gpio driver which can inject
611 faults to an I2C bus, so another bus master can be stress-tested.
612 This is for debugging. If unsure, say 'no'.
613
Paul Mundt4ad48e62008-10-14 17:30:03 +0200614config I2C_HIGHLANDER
615 tristate "Highlander FPGA SMBus interface"
616 depends on SH_HIGHLANDER
617 help
618 If you say yes to this option, support will be included for
619 the SMBus interface located in the FPGA on various Highlander
620 boards, particularly the R0P7780LC0011RL and R0P7785LC0011RL
621 FPGAs. This is wholly unrelated to the SoC I2C.
622
623 This driver can also be built as a module. If so, the module
624 will be called i2c-highlander.
625
Linus Torvalds1da177e2005-04-16 15:20:36 -0700626config I2C_IBM_IIC
627 tristate "IBM PPC 4xx on-chip I2C interface"
Sean MacLennan838349b2008-04-22 22:16:47 +0200628 depends on 4xx
Linus Torvalds1da177e2005-04-16 15:20:36 -0700629 help
Wolfram Sang4c03f682008-04-22 22:16:47 +0200630 Say Y here if you want to use IIC peripheral found on
631 embedded IBM PPC 4xx based systems.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700632
633 This driver can also be built as a module. If so, the module
634 will be called i2c-ibm_iic.
635
James Hogan27bce452014-11-13 15:32:21 -0300636config I2C_IMG
637 tristate "Imagination Technologies I2C SCB Controller"
Andrew Bresticker062052062014-11-18 15:58:33 -0800638 depends on MIPS || METAG || COMPILE_TEST
James Hogan27bce452014-11-13 15:32:21 -0300639 help
640 Say Y here if you want to use the IMG I2C SCB controller,
Andrew Bresticker062052062014-11-18 15:58:33 -0800641 available on the TZ1090 and other IMG SoCs.
James Hogan27bce452014-11-13 15:32:21 -0300642
643 This driver can also be built as a module. If so, the module
644 will be called i2c-img-scb.
645
Darius Augulisaa11e382009-01-30 10:32:28 +0200646config I2C_IMX
647 tristate "IMX I2C interface"
Greg Ungerer17791652016-10-17 11:54:05 +1000648 depends on ARCH_MXC || ARCH_LAYERSCAPE || COLDFIRE
Darius Augulisaa11e382009-01-30 10:32:28 +0200649 help
650 Say Y here if you want to use the IIC bus controller on
Greg Ungerer17791652016-10-17 11:54:05 +1000651 the Freescale i.MX/MXC, Layerscape or ColdFire processors.
Darius Augulisaa11e382009-01-30 10:32:28 +0200652
653 This driver can also be built as a module. If so, the module
654 will be called i2c-imx.
655
Gao Pana55fa9d2016-11-30 10:40:47 +0800656config I2C_IMX_LPI2C
657 tristate "IMX Low Power I2C interface"
658 depends on ARCH_MXC || COMPILE_TEST
659 help
660 Say Y here if you want to use the Low Power IIC bus controller
661 on the Freescale i.MX processors.
662
663 This driver can also be built as a module. If so, the module
664 will be called i2c-imx-lpi2c.
665
Linus Torvalds1da177e2005-04-16 15:20:36 -0700666config I2C_IOP3XX
Dan Williams285f5fa2006-12-07 02:59:39 +0100667 tristate "Intel IOPx3xx and IXP4xx on-chip I2C interface"
Jan Engelhardt16538e62007-05-01 23:26:34 +0200668 depends on ARCH_IOP32X || ARCH_IOP33X || ARCH_IXP4XX || ARCH_IOP13XX
Linus Torvalds1da177e2005-04-16 15:20:36 -0700669 help
670 Say Y here if you want to use the IIC bus controller on
Dan Williams285f5fa2006-12-07 02:59:39 +0100671 the Intel IOPx3xx I/O Processors or IXP4xx Network Processors.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700672
673 This driver can also be built as a module. If so, the module
674 will be called i2c-iop3xx.
675
Zubair Lutfullah Kakakhelba922222015-03-31 14:03:55 +0100676config I2C_JZ4780
677 tristate "JZ4780 I2C controller interface support"
678 depends on MACH_JZ4780 || COMPILE_TEST
679 help
680 If you say yes to this option, support will be included for the
681 Ingenic JZ4780 I2C controller.
682
683 If you don't know what to do here, say N.
684
Kevin Strassere0b9b7b2013-06-23 21:00:04 -0700685config I2C_KEMPLD
686 tristate "Kontron COM I2C Controller"
687 depends on MFD_KEMPLD
688 help
689 This enables support for the I2C bus interface on some Kontron ETX
690 and COMexpress (ETXexpress) modules.
691
692 This driver can also be built as a module. If so, the module
693 will be called i2c-kempld.
694
Joachim Eastwood3f9c37a2015-08-16 20:10:16 +0200695config I2C_LPC2K
696 tristate "I2C bus support for NXP LPC2K/LPC178x/18xx/43xx"
697 depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
698 help
699 This driver supports the I2C interface found several NXP
700 devices including LPC2xxx, LPC178x/7x and LPC18xx/43xx.
701
702 This driver can also be built as a module. If so, the module
703 will be called i2c-lpc2k.
704
Beniamino Galvani30021e32014-11-13 20:32:01 +0100705config I2C_MESON
706 tristate "Amlogic Meson I2C controller"
Ben Dooks91401782016-07-06 21:17:05 +0100707 depends on ARCH_MESON || COMPILE_TEST
Beniamino Galvani30021e32014-11-13 20:32:01 +0100708 help
709 If you say yes to this option, support will be included for the
710 I2C interface on the Amlogic Meson family of SoCs.
711
Linus Torvalds1da177e2005-04-16 15:20:36 -0700712config I2C_MPC
Wolfgang Grandeggerf00d7382010-02-17 11:19:19 +0100713 tristate "MPC107/824x/85xx/512x/52xx/83xx/86xx"
Kumar Gala0724d462011-03-15 11:02:43 -0500714 depends on PPC
Linus Torvalds1da177e2005-04-16 15:20:36 -0700715 help
716 If you say yes to this option, support will be included for the
Wolfgang Grandeggerf00d7382010-02-17 11:19:19 +0100717 built-in I2C interface on the MPC107, Tsi107, MPC512x, MPC52xx,
718 MPC8240, MPC8245, MPC83xx, MPC85xx and MPC8641 family processors.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700719
720 This driver can also be built as a module. If so, the module
721 will be called i2c-mpc.
722
Xudong Chence388152015-05-21 16:53:28 +0800723config I2C_MT65XX
724 tristate "MediaTek I2C adapter"
725 depends on ARCH_MEDIATEK || COMPILE_TEST
Geert Uytterhoevenfc0a1f02015-06-26 14:12:10 +0200726 depends on HAS_DMA
Xudong Chence388152015-05-21 16:53:28 +0800727 help
728 This selects the MediaTek(R) Integrated Inter Circuit bus driver
729 for MT65xx and MT81xx.
730 If you want to use MediaTek(R) I2C interface, say Y or M here.
731 If unsure, say N.
732
Jean Delvaref5b728a2008-07-14 22:38:23 +0200733config I2C_MV64XXX
734 tristate "Marvell mv64xxx I2C Controller"
Thomas Petazzoni05872b82016-04-22 15:19:51 +0200735 depends on MV64X60 || PLAT_ORION || ARCH_SUNXI || ARCH_MVEBU
Linus Torvalds1da177e2005-04-16 15:20:36 -0700736 help
Jean Delvaref5b728a2008-07-14 22:38:23 +0200737 If you say yes to this option, support will be included for the
738 built-in I2C interface on the Marvell 64xxx line of host bridges.
Maxime Ripard3d66ac72013-06-12 18:53:32 +0200739 This driver is also used for Allwinner SoCs I2C controllers.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700740
741 This driver can also be built as a module. If so, the module
Jean Delvaref5b728a2008-07-14 22:38:23 +0200742 will be called i2c-mv64xxx.
Jean Delvare279e9022008-07-14 22:38:21 +0200743
Wolfram Sanga8da7fe2011-02-16 13:39:16 +0100744config I2C_MXS
745 tristate "Freescale i.MX28 I2C interface"
746 depends on SOC_IMX28
Wolfram Sang6b866c12011-08-31 20:37:50 +0200747 select STMP_DEVICE
Wolfram Sanga8da7fe2011-02-16 13:39:16 +0100748 help
749 Say Y here if you want to use the I2C bus controller on
750 the Freescale i.MX28 processors.
751
752 This driver can also be built as a module. If so, the module
753 will be called i2c-mxs.
754
srinidhi kasagar3f9900f2010-02-01 19:44:54 +0530755config I2C_NOMADIK
756 tristate "ST-Ericsson Nomadik/Ux500 I2C Controller"
Alessandro Rubini419408e2012-06-11 22:56:49 +0200757 depends on ARM_AMBA
srinidhi kasagar3f9900f2010-02-01 19:44:54 +0530758 help
759 If you say yes to this option, support will be included for the
Alessandro Rubini419408e2012-06-11 22:56:49 +0200760 I2C interface from ST-Ericsson's Nomadik and Ux500 architectures,
761 as well as the STA2X11 PCIe I/O HUB.
srinidhi kasagar3f9900f2010-02-01 19:44:54 +0530762
Peter Korsgaard18f98b12006-06-04 20:01:08 +0200763config I2C_OCORES
764 tristate "OpenCores I2C Controller"
Peter Korsgaard18f98b12006-06-04 20:01:08 +0200765 help
766 If you say yes to this option, support will be included for the
767 OpenCores I2C controller. For details see
768 http://www.opencores.org/projects.cgi/web/i2c/overview
769
770 This driver can also be built as a module. If so, the module
771 will be called i2c-ocores.
772
Komal Shah010d442c42006-08-13 23:44:09 +0200773config I2C_OMAP
774 tristate "OMAP I2C adapter"
Jan Engelhardt16538e62007-05-01 23:26:34 +0200775 depends on ARCH_OMAP
Komal Shah010d442c42006-08-13 23:44:09 +0200776 default y if MACH_OMAP_H3 || MACH_OMAP_OSK
777 help
778 If you say yes to this option, support will be included for the
779 I2C interface on the Texas Instruments OMAP1/2 family of processors.
780 Like OMAP1510/1610/1710/5912 and OMAP242x.
781 For details see http://www.ti.com/omap.
782
Jean Delvaref5b728a2008-07-14 22:38:23 +0200783config I2C_PASEMI
784 tristate "PA Semi SMBus interface"
785 depends on PPC_PASEMI && PCI
786 help
787 Supports the PA Semi PWRficient on-chip SMBus interfaces.
788
Wolfram Sang35bfc352010-06-03 11:33:56 +0200789config I2C_PCA_PLATFORM
790 tristate "PCA9564/PCA9665 as platform device"
791 select I2C_ALGOPCA
792 default n
793 help
794 This driver supports a memory mapped Philips PCA9564/PCA9665
795 parallel bus to I2C bus controller.
796
797 This driver can also be built as a module. If so, the module
798 will be called i2c-pca-platform.
799
800config I2C_PMCMSP
801 tristate "PMC MSP I2C TWI Controller"
802 depends on PMC_MSP
803 help
804 This driver supports the PMC TWI controller on MSP devices.
805
806 This driver can also be built as module. If so, the module
807 will be called i2c-pmcmsp.
808
Jean Delvaref5b728a2008-07-14 22:38:23 +0200809config I2C_PNX
Kevin Wellsc1151672010-08-05 15:40:17 -0700810 tristate "I2C bus support for Philips PNX and NXP LPC targets"
Roland Stigged684f052012-08-26 16:30:37 +0200811 depends on ARCH_LPC32XX
Jean Delvaref5b728a2008-07-14 22:38:23 +0200812 help
813 This driver supports the Philips IP3204 I2C IP block master and/or
814 slave controller
815
816 This driver can also be built as a module. If so, the module
817 will be called i2c-pnx.
818
GuanXuetaod10e4a62011-02-26 21:29:29 +0800819config I2C_PUV3
820 tristate "PKUnity v3 I2C bus support"
821 depends on UNICORE32 && ARCH_PUV3
822 select I2C_ALGOBIT
823 help
824 This driver supports the I2C IP inside the PKUnity-v3 SoC.
825 This I2C bus controller is under AMBA/AXI bus.
826
827 This driver can also be built as a module. If so, the module
828 will be called i2c-puv3.
829
Jean Delvaref5b728a2008-07-14 22:38:23 +0200830config I2C_PXA
Haojian Zhuangd7c46dd2009-09-04 17:37:17 +0800831 tristate "Intel PXA2XX I2C adapter"
Romain Perier294be032016-12-01 12:04:38 +0100832 depends on ARCH_PXA || ARCH_MMP || ARCH_MVEBU || (X86_32 && PCI && OF)
Jean Delvaref5b728a2008-07-14 22:38:23 +0200833 help
834 If you have devices in the PXA I2C bus, say yes to this option.
835 This driver can also be built as a module. If so, the module
836 will be called i2c-pxa.
837
Sebastian Andrzej Siewior7e94dd12011-03-02 11:26:53 +0100838config I2C_PXA_PCI
839 def_bool I2C_PXA && X86_32 && PCI && OF
840
Jean Delvaref5b728a2008-07-14 22:38:23 +0200841config I2C_PXA_SLAVE
842 bool "Intel PXA2XX I2C Slave comms support"
Sebastian Andrzej Siewior7e94dd12011-03-02 11:26:53 +0100843 depends on I2C_PXA && !X86_32
Jean Delvaref5b728a2008-07-14 22:38:23 +0200844 help
845 Support I2C slave mode communications on the PXA I2C bus. This
846 is necessary for systems where the PXA may be a target on the
847 I2C bus.
848
Bjorn Andersson10c5a842014-03-13 19:07:43 -0700849config I2C_QUP
850 tristate "Qualcomm QUP based I2C controller"
851 depends on ARCH_QCOM
852 help
853 If you say yes to this option, support will be included for the
854 built-in I2C interface on the Qualcomm SoCs.
855
856 This driver can also be built as a module. If so, the module
857 will be called i2c-qup.
858
Wolfram Sang310c18a2013-12-20 19:08:50 +0100859config I2C_RIIC
860 tristate "Renesas RIIC adapter"
Simon Horman07316142016-02-22 10:15:19 +0900861 depends on ARCH_RENESAS || COMPILE_TEST
Wolfram Sang310c18a2013-12-20 19:08:50 +0100862 help
863 If you say yes to this option, support will be included for the
864 Renesas RIIC I2C interface.
865
866 This driver can also be built as a module. If so, the module
867 will be called i2c-riic.
868
Max Schwarzc41aa3c2014-06-11 22:34:37 +0200869config I2C_RK3X
870 tristate "Rockchip RK3xxx I2C adapter"
Max Schwarz80f17742014-11-24 01:32:27 +0100871 depends on OF && COMMON_CLK
Max Schwarzc41aa3c2014-06-11 22:34:37 +0200872 help
873 Say Y here to include support for the I2C adapter in Rockchip RK3xxx
874 SoCs.
875
876 This driver can also be built as a module. If so, the module will
877 be called i2c-rk3x.
878
Naveen Krishna Ch4b623922010-07-29 18:49:34 +0900879config HAVE_S3C2410_I2C
880 bool
881 help
882 This will include I2C support for Samsung SoCs. If you want to
883 include I2C support for any machine, kindly select this in the
884 respective Kconfig file.
885
Jean Delvaref5b728a2008-07-14 22:38:23 +0200886config I2C_S3C2410
887 tristate "S3C2410 I2C Driver"
Naveen Krishna Ch4b623922010-07-29 18:49:34 +0900888 depends on HAVE_S3C2410_I2C
Jean Delvaref5b728a2008-07-14 22:38:23 +0200889 help
890 Say Y here to include support for I2C controller in the
Naveen Krishna Ch4b623922010-07-29 18:49:34 +0900891 Samsung SoCs.
Jean Delvaref5b728a2008-07-14 22:38:23 +0200892
893config I2C_SH7760
894 tristate "Renesas SH7760 I2C Controller"
895 depends on CPU_SUBTYPE_SH7760
896 help
897 This driver supports the 2 I2C interfaces on the Renesas SH7760.
898
899 This driver can also be built as a module. If so, the module
900 will be called i2c-sh7760.
901
902config I2C_SH_MOBILE
903 tristate "SuperH Mobile I2C Controller"
Geert Uytterhoevenf16ea4f2014-12-15 14:37:04 +0100904 depends on HAS_DMA
Geert Uytterhoeven17f80482016-08-31 11:35:13 +0200905 depends on ARCH_SHMOBILE || ARCH_RENESAS || COMPILE_TEST
Jean Delvaref5b728a2008-07-14 22:38:23 +0200906 help
907 If you say yes to this option, support will be included for the
908 built-in I2C interface on the Renesas SH-Mobile processor.
909
910 This driver can also be built as a module. If so, the module
911 will be called i2c-sh_mobile.
912
913config I2C_SIMTEC
914 tristate "Simtec Generic I2C interface"
915 select I2C_ALGOBIT
916 help
917 If you say yes to this option, support will be included for
918 the Simtec Generic I2C interface. This driver is for the
919 simple I2C bus used on newer Simtec products for general
920 I2C, such as DDC on the Simtec BBD2016A.
921
922 This driver can also be built as a module. If so, the module
923 will be called i2c-simtec.
924
Zhiwu Song979b9072012-02-08 23:28:35 +0800925config I2C_SIRF
926 tristate "CSR SiRFprimaII I2C interface"
Arnd Bergmannc5dece32013-06-10 18:07:14 +0200927 depends on ARCH_SIRF
Zhiwu Song979b9072012-02-08 23:28:35 +0800928 help
929 If you say yes to this option, support will be included for the
930 CSR SiRFprimaII I2C interface.
931
932 This driver can also be built as a module. If so, the module
933 will be called i2c-sirf.
934
Baolin Wang8b9ec072017-08-29 11:35:04 +0800935config I2C_SPRD
936 bool "Spreadtrum I2C interface"
Baolin Wang8ce906c2017-08-30 11:05:47 +0800937 depends on I2C=y && ARCH_SPRD
Baolin Wang8b9ec072017-08-29 11:35:04 +0800938 help
939 If you say yes to this option, support will be included for the
940 Spreadtrum I2C interface.
941
Maxime COQUELIN85b4fab2013-11-06 09:25:12 +0100942config I2C_ST
943 tristate "STMicroelectronics SSC I2C support"
944 depends on ARCH_STI
945 help
946 Enable this option to add support for STMicroelectronics SoCs
947 hardware SSC (Synchronous Serial Controller) as an I2C controller.
948
949 This driver can also be built as module. If so, the module
950 will be called i2c-st.
951
M'boumba Cedric Madianga62817fc2017-01-19 14:25:13 +0100952config I2C_STM32F4
953 tristate "STMicroelectronics STM32F4 I2C support"
954 depends on ARCH_STM32 || COMPILE_TEST
955 help
956 Enable this option to add support for STM32 I2C controller embedded
957 in STM32F4 SoCs.
958
959 This driver can also be built as module. If so, the module
960 will be called i2c-stm32f4.
961
Pierre-Yves MORDRETaeb068c2017-09-14 16:28:37 +0200962config I2C_STM32F7
963 tristate "STMicroelectronics STM32F7 I2C support"
964 depends on ARCH_STM32 || COMPILE_TEST
965 help
966 Enable this option to add support for STM32 I2C controller embedded
967 in STM32F7 SoCs.
968
969 This driver can also be built as module. If so, the module
970 will be called i2c-stm32f7.
971
Linus Walleij18904c02009-06-13 21:51:34 +0200972config I2C_STU300
973 tristate "ST Microelectronics DDC I2C interface"
Linus Walleij4eaad8a2009-06-15 00:30:18 +0200974 depends on MACH_U300
Linus Walleij18904c02009-06-13 21:51:34 +0200975 default y if MACH_U300
976 help
977 If you say yes to this option, support will be included for the
978 I2C interface from ST Microelectronics simply called "DDC I2C"
979 supporting both I2C and DDC, used in e.g. the U300 series
980 mobile platforms.
981
982 This driver can also be built as a module. If so, the module
983 will be called i2c-stu300.
984
Boris BREZILLON3e833492014-06-11 11:17:30 +0200985config I2C_SUN6I_P2WI
986 tristate "Allwinner sun6i internal P2WI controller"
987 depends on RESET_CONTROLLER
988 depends on MACH_SUN6I || COMPILE_TEST
989 help
990 If you say yes to this option, support will be included for the
991 P2WI (Push/Pull 2 Wire Interface) controller embedded in some sunxi
992 SOCs.
993 The P2WI looks like an SMBus controller (which supports only byte
994 accesses), except that it only supports one slave device.
995 This interface is used to connect to specific PMIC devices (like the
996 AXP221).
997
Colin Crossdb811ca2011-02-20 17:14:21 -0800998config I2C_TEGRA
999 tristate "NVIDIA Tegra internal I2C controller"
1000 depends on ARCH_TEGRA
1001 help
1002 If you say yes to this option, support will be included for the
1003 I2C controller embedded in NVIDIA Tegra SOCs
1004
Shardar Shariff Md0297ffa2017-02-20 17:52:34 +01001005config I2C_TEGRA_BPMP
1006 tristate "NVIDIA Tegra BPMP I2C controller"
1007 depends on TEGRA_BPMP
Jon Hunter1ae52142017-03-23 11:56:56 +00001008 default y
Shardar Shariff Md0297ffa2017-02-20 17:52:34 +01001009 help
1010 If you say yes to this option, support will be included for the I2C
1011 controller embedded in NVIDIA Tegra SoCs accessed via the BPMP.
1012
1013 This I2C driver is a 'virtual' I2C driver. The real driver is part
1014 of the BPMP firmware, and this driver merely communicates with that
1015 real driver.
1016
Masahiro Yamadadd6fd4a2015-10-23 19:51:59 +09001017config I2C_UNIPHIER
1018 tristate "UniPhier FIFO-less I2C controller"
Masahiro Yamada61c18ae2016-01-31 22:34:02 +09001019 depends on ARCH_UNIPHIER || COMPILE_TEST
Masahiro Yamadadd6fd4a2015-10-23 19:51:59 +09001020 help
1021 If you say yes to this option, support will be included for
1022 the UniPhier FIFO-less I2C interface embedded in PH1-LD4, PH1-sLD8,
1023 or older UniPhier SoCs.
1024
Masahiro Yamada6a629742015-10-23 19:52:00 +09001025config I2C_UNIPHIER_F
1026 tristate "UniPhier FIFO-builtin I2C controller"
Masahiro Yamada61c18ae2016-01-31 22:34:02 +09001027 depends on ARCH_UNIPHIER || COMPILE_TEST
Masahiro Yamada6a629742015-10-23 19:52:00 +09001028 help
1029 If you say yes to this option, support will be included for
1030 the UniPhier FIFO-builtin I2C interface embedded in PH1-Pro4,
1031 PH1-Pro5, or newer UniPhier SoCs.
1032
Jean Delvaref5b728a2008-07-14 22:38:23 +02001033config I2C_VERSATILE
1034 tristate "ARM Versatile/Realview I2C bus support"
Russell King5871a152017-07-26 11:03:49 +01001035 depends on ARCH_MPS2 || ARCH_VERSATILE || ARCH_REALVIEW || ARCH_VEXPRESS || COMPILE_TEST
Jean Delvaref5b728a2008-07-14 22:38:23 +02001036 select I2C_ALGOBIT
1037 help
1038 Say yes if you want to support the I2C serial bus on ARMs Versatile
1039 range of platforms.
1040
1041 This driver can also be built as a module. If so, the module
1042 will be called i2c-versatile.
1043
Tony Prisk560746e2013-06-15 09:52:16 +12001044config I2C_WMT
1045 tristate "Wondermedia WM8xxx SoC I2C bus support"
1046 depends on ARCH_VT8500
1047 help
1048 Say yes if you want to support the I2C bus on Wondermedia 8xxx-series
1049 SoCs.
1050
1051 This driver can also be built as a module. If so, the module will be
1052 called i2c-wmt.
1053
Rade Bozic85660f42010-01-28 12:47:07 -08001054config I2C_OCTEON
1055 tristate "Cavium OCTEON I2C bus support"
David Daney9ddebc42013-05-22 15:10:46 +00001056 depends on CAVIUM_OCTEON_SOC
Rade Bozic85660f42010-01-28 12:47:07 -08001057 help
1058 Say yes if you want to support the I2C serial bus on Cavium
1059 OCTEON SOC.
1060
1061 This driver can also be built as a module. If so, the module
1062 will be called i2c-octeon.
1063
Jan Glauber22d40202016-08-24 23:25:44 +02001064config I2C_THUNDERX
1065 tristate "Cavium ThunderX I2C bus support"
1066 depends on 64BIT && PCI && (ARM64 || COMPILE_TEST)
Jan Glauber1e586672016-08-24 23:25:45 +02001067 select I2C_SMBUS
Jan Glauber22d40202016-08-24 23:25:44 +02001068 help
1069 Say yes if you want to support the I2C serial bus on Cavium
1070 ThunderX SOC.
1071
1072 This driver can also be built as a module. If so, the module
1073 will be called i2c-thunderx.
1074
Richard Röjforse1d5b652010-02-11 10:42:00 +01001075config I2C_XILINX
1076 tristate "Xilinx I2C Controller"
Kees Cook417e86c2013-01-16 18:53:37 -08001077 depends on HAS_IOMEM
Richard Röjforse1d5b652010-02-11 10:42:00 +01001078 help
1079 If you say yes to this option, support will be included for the
1080 Xilinx I2C controller.
1081
1082 This driver can also be built as a module. If so, the module
1083 will be called xilinx_i2c.
1084
Ganesan Ramalingam401c3432012-01-27 14:15:37 +05301085config I2C_XLR
Måns Rullgård75d31c22015-11-02 02:03:36 +00001086 tristate "Netlogic XLR and Sigma Designs I2C support"
Marc Gonzaleze3879e42016-05-11 17:20:05 +02001087 depends on CPU_XLR || ARCH_TANGO
Ganesan Ramalingam401c3432012-01-27 14:15:37 +05301088 help
1089 This driver enables support for the on-chip I2C interface of
Måns Rullgård75d31c22015-11-02 02:03:36 +00001090 the Netlogic XLR/XLS MIPS processors and Sigma Designs SOCs.
Ganesan Ramalingam401c3432012-01-27 14:15:37 +05301091
1092 This driver can also be built as a module. If so, the module
1093 will be called i2c-xlr.
1094
Subhendu Sekhar Behera2bbd6812015-03-18 17:20:29 +05301095config I2C_XLP9XX
1096 tristate "XLP9XX I2C support"
Jayachandran C4165bd42017-03-12 10:54:55 +00001097 depends on CPU_XLP || ARCH_THUNDER2 || COMPILE_TEST
Subhendu Sekhar Behera2bbd6812015-03-18 17:20:29 +05301098 help
1099 This driver enables support for the on-chip I2C interface of
Tanmay Jagdale8574ad72016-04-11 18:01:26 +05301100 the Broadcom XLP9xx/XLP5xx MIPS and Vulcan ARM64 processors.
Subhendu Sekhar Behera2bbd6812015-03-18 17:20:29 +05301101
1102 This driver can also be built as a module. If so, the module will
1103 be called i2c-xlp9xx.
1104
Kuninori Morimoto6ccbe602012-09-27 23:44:25 -07001105config I2C_RCAR
1106 tristate "Renesas R-Car I2C Controller"
Geert Uytterhoeven79439d832016-05-22 09:38:35 +02001107 depends on HAS_DMA
Simon Horman07316142016-02-22 10:15:19 +09001108 depends on ARCH_RENESAS || COMPILE_TEST
Jean Delvared5fd1202015-01-26 20:59:31 +01001109 select I2C_SLAVE
Kuninori Morimoto6ccbe602012-09-27 23:44:25 -07001110 help
1111 If you say yes to this option, support will be included for the
1112 R-Car I2C controller.
1113
1114 This driver can also be built as a module. If so, the module
1115 will be called i2c-rcar.
1116
Jean Delvaref5b728a2008-07-14 22:38:23 +02001117comment "External I2C/SMBus adapter drivers"
1118
Guenter Roeck335d7c52011-01-26 11:45:49 -08001119config I2C_DIOLAN_U2C
1120 tristate "Diolan U2C-12 USB adapter"
1121 depends on USB
1122 help
1123 If you say yes to this option, support will be included for Diolan
1124 U2C-12, a USB to I2C interface.
1125
1126 This driver can also be built as a module. If so, the module
1127 will be called i2c-diolan-u2c.
1128
Laurentiu Palcudb23e502014-11-06 15:48:04 +02001129config I2C_DLN2
1130 tristate "Diolan DLN-2 USB I2C adapter"
1131 depends on MFD_DLN2
1132 help
1133 If you say yes to this option, support will be included for Diolan
1134 DLN2, a USB to I2C interface.
1135
1136 This driver can also be built as a module. If so, the module
1137 will be called i2c-dln2.
1138
Linus Torvalds1da177e2005-04-16 15:20:36 -07001139config I2C_PARPORT
1140 tristate "Parallel port adapter"
Martin Schwidefsky0244ad02013-08-30 09:39:53 +02001141 depends on PARPORT
Linus Torvalds1da177e2005-04-16 15:20:36 -07001142 select I2C_ALGOBIT
Jean Delvare35859252010-03-02 12:23:44 +01001143 select I2C_SMBUS
Linus Torvalds1da177e2005-04-16 15:20:36 -07001144 help
1145 This supports parallel port I2C adapters such as the ones made by
1146 Philips or Velleman, Analog Devices evaluation boards, and more.
1147 Basically any adapter using the parallel port as an I2C bus with
1148 no extra chipset is supported by this driver, or could be.
1149
1150 This driver is a replacement for (and was inspired by) an older
1151 driver named i2c-philips-par. The new driver supports more devices,
1152 and makes it easier to add support for new devices.
Mark M. Hoffmane97b81d2006-03-23 16:50:25 +01001153
1154 An adapter type parameter is now mandatory. Please read the file
1155 Documentation/i2c/busses/i2c-parport for details.
1156
Linus Torvalds1da177e2005-04-16 15:20:36 -07001157 Another driver exists, named i2c-parport-light, which doesn't depend
1158 on the parport driver. This is meant for embedded systems. Don't say
1159 Y here if you intend to say Y or M there.
1160
Wolfram Sang4c03f682008-04-22 22:16:47 +02001161 This support is also available as a module. If so, the module
Linus Torvalds1da177e2005-04-16 15:20:36 -07001162 will be called i2c-parport.
1163
1164config I2C_PARPORT_LIGHT
1165 tristate "Parallel port adapter (light)"
Linus Torvalds1da177e2005-04-16 15:20:36 -07001166 select I2C_ALGOBIT
Jean Delvare927ab2f2010-03-02 12:23:45 +01001167 select I2C_SMBUS
Linus Torvalds1da177e2005-04-16 15:20:36 -07001168 help
1169 This supports parallel port I2C adapters such as the ones made by
1170 Philips or Velleman, Analog Devices evaluation boards, and more.
1171 Basically any adapter using the parallel port as an I2C bus with
1172 no extra chipset is supported by this driver, or could be.
1173
1174 This driver is a light version of i2c-parport. It doesn't depend
1175 on the parport driver, and uses direct I/O access instead. This
Matt LaPlante09509602006-10-03 22:31:37 +02001176 might be preferred on embedded systems where wasting memory for
Linus Torvalds1da177e2005-04-16 15:20:36 -07001177 the clean but heavy parport handling is not an option. The
1178 drawback is a reduced portability and the impossibility to
Matt LaPlante09509602006-10-03 22:31:37 +02001179 daisy-chain other parallel port devices.
Wolfram Sang4c03f682008-04-22 22:16:47 +02001180
Linus Torvalds1da177e2005-04-16 15:20:36 -07001181 Don't say Y here if you said Y or M to i2c-parport. Saying M to
1182 both is possible but both modules should not be loaded at the same
1183 time.
1184
Wolfram Sang4c03f682008-04-22 22:16:47 +02001185 This support is also available as a module. If so, the module
Linus Torvalds1da177e2005-04-16 15:20:36 -07001186 will be called i2c-parport-light.
1187
Andrew Lunn83e53a82014-01-11 00:23:59 +01001188config I2C_ROBOTFUZZ_OSIF
1189 tristate "RobotFuzz Open Source InterFace USB adapter"
1190 depends on USB
1191 help
1192 If you say yes to this option, support will be included for the
1193 RobotFuzz Open Source InterFace USB to I2C interface.
1194
1195 This driver can also be built as a module. If so, the module
1196 will be called i2c-osif.
1197
Jean Delvaref5b728a2008-07-14 22:38:23 +02001198config I2C_TAOS_EVM
1199 tristate "TAOS evaluation module"
Linus Torvalds21eaab62013-02-21 13:41:04 -08001200 depends on TTY
Jean Delvaref5b728a2008-07-14 22:38:23 +02001201 select SERIO
1202 select SERIO_SERPORT
1203 default n
Olof Johanssonbeb58aa2007-02-13 22:09:03 +01001204 help
Jean Delvaref5b728a2008-07-14 22:38:23 +02001205 This supports TAOS evaluation modules on serial port. In order to
1206 use this driver, you will need the inputattach tool, which is part
1207 of the input-utils package.
Olof Johanssonbeb58aa2007-02-13 22:09:03 +01001208
Jean Delvaref5b728a2008-07-14 22:38:23 +02001209 If unsure, say N.
1210
1211 This support is also available as a module. If so, the module
1212 will be called i2c-taos-evm.
1213
1214config I2C_TINY_USB
1215 tristate "Tiny-USB adapter"
1216 depends on USB
Linus Torvalds1da177e2005-04-16 15:20:36 -07001217 help
Jean Delvaref5b728a2008-07-14 22:38:23 +02001218 If you say yes to this option, support will be included for the
1219 i2c-tiny-usb, a simple do-it-yourself USB to I2C interface. See
1220 http://www.harbaum.org/till/i2c_tiny_usb for hardware details.
1221
1222 This driver can also be built as a module. If so, the module
1223 will be called i2c-tiny-usb.
1224
Lars Poeschel174a13a2012-11-19 16:36:04 +01001225config I2C_VIPERBOARD
1226 tristate "Viperboard I2C master support"
1227 depends on MFD_VIPERBOARD && USB
1228 help
1229 Say yes here to access the I2C part of the Nano River
1230 Technologies Viperboard as I2C master.
1231 See viperboard API specification and Nano
1232 River Tech's viperboard.h for detailed meaning
1233 of the module parameters.
1234
Jean Delvaref5b728a2008-07-14 22:38:23 +02001235comment "Other I2C/SMBus bus drivers"
1236
1237config I2C_ACORN
1238 tristate "Acorn IOC/IOMD I2C bus support"
1239 depends on ARCH_ACORN
1240 default y
1241 select I2C_ALGOBIT
1242 help
1243 Say yes if you want to support the I2C bus on Acorn platforms.
1244
1245 If you don't know, say Y.
1246
1247config I2C_ELEKTOR
1248 tristate "Elektor ISA card"
Uwe Kleine-Königce816fa2014-04-07 15:39:19 -07001249 depends on ISA && HAS_IOPORT_MAP && BROKEN_ON_SMP
Jean Delvaref5b728a2008-07-14 22:38:23 +02001250 select I2C_ALGOPCF
1251 help
1252 This supports the PCF8584 ISA bus I2C adapter. Say Y if you own
1253 such an adapter.
1254
1255 This support is also available as a module. If so, the module
1256 will be called i2c-elektor.
1257
Vadim Pasternak6bec23b2016-11-20 16:56:14 +00001258config I2C_MLXCPLD
1259 tristate "Mellanox I2C driver"
1260 depends on X86_64
1261 help
1262 This exposes the Mellanox platform I2C busses to the linux I2C layer
1263 for X86 based systems.
1264 Controller is implemented as CPLD logic.
1265
1266 This driver can also be built as a module. If so, the module will be
1267 called as i2c-mlxcpld.
1268
Jean Delvaref5b728a2008-07-14 22:38:23 +02001269config I2C_PCA_ISA
Marco Aurelio da Costaeff9ec92009-03-28 21:34:44 +01001270 tristate "PCA9564/PCA9665 on an ISA bus"
Jean Delvaref5b728a2008-07-14 22:38:23 +02001271 depends on ISA
1272 select I2C_ALGOPCA
1273 default n
1274 help
Marco Aurelio da Costaeff9ec92009-03-28 21:34:44 +01001275 This driver supports ISA boards using the Philips PCA9564/PCA9665
Jean Delvaref5b728a2008-07-14 22:38:23 +02001276 parallel bus to I2C bus controller.
1277
1278 This driver can also be built as a module. If so, the module
1279 will be called i2c-pca-isa.
1280
1281 This device is almost undetectable and using this driver on a
1282 system which doesn't have this device will result in long
1283 delays when I2C/SMBus chip drivers are loaded (e.g. at boot
1284 time). If unsure, say N.
1285
Linus Torvalds1da177e2005-04-16 15:20:36 -07001286config I2C_SIBYTE
1287 tristate "SiByte SMBus interface"
Jan Engelhardt16538e62007-05-01 23:26:34 +02001288 depends on SIBYTE_SB1xxx_SOC
Linus Torvalds1da177e2005-04-16 15:20:36 -07001289 help
1290 Supports the SiByte SOC on-chip I2C interfaces (2 channels).
1291
Doug Anderson9d230c92014-04-30 10:44:09 -07001292config I2C_CROS_EC_TUNNEL
1293 tristate "ChromeOS EC tunnel I2C bus"
Javier Martinez Canillas480b1412015-08-19 13:19:57 +02001294 depends on MFD_CROS_EC
Doug Anderson9d230c92014-04-30 10:44:09 -07001295 help
1296 If you say yes here you get an I2C bus that will tunnel i2c commands
1297 through to the other side of the ChromeOS EC to the i2c bus
1298 connected there. This will work whatever the interface used to
1299 talk to the EC (SPI, I2C or LPC).
1300
Feng Kanf6505fb2015-04-24 15:17:50 -07001301config I2C_XGENE_SLIMPRO
1302 tristate "APM X-Gene SoC I2C SLIMpro devices support"
1303 depends on ARCH_XGENE && MAILBOX
1304 help
1305 Enable I2C bus access using the APM X-Gene SoC SLIMpro
1306 co-processor. The I2C device access the I2C bus via the X-Gene
1307 to SLIMpro (On chip coprocessor) mailbox mechanism.
1308 If unsure, say N.
1309
Linus Torvalds1da177e2005-04-16 15:20:36 -07001310config SCx200_ACB
Ben Gardnera417bbd2006-01-18 22:53:09 +01001311 tristate "Geode ACCESS.bus support"
Jan Engelhardt16538e62007-05-01 23:26:34 +02001312 depends on X86_32 && PCI
Linus Torvalds1da177e2005-04-16 15:20:36 -07001313 help
Ben Gardnera417bbd2006-01-18 22:53:09 +01001314 Enable the use of the ACCESS.bus controllers on the Geode SCx200 and
1315 SC1100 processors and the CS5535 and CS5536 Geode companion devices.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001316
1317 If you don't know what to do here, say N.
1318
Wolfram Sang4c03f682008-04-22 22:16:47 +02001319 This support is also available as a module. If so, the module
Linus Torvalds1da177e2005-04-16 15:20:36 -07001320 will be called scx200_acb.
1321
Neelesh Gupta47083452014-12-13 23:31:05 +05301322config I2C_OPAL
1323 tristate "IBM OPAL I2C driver"
1324 depends on PPC_POWERNV
1325 default y
1326 help
1327 This exposes the PowerNV platform i2c busses to the linux i2c layer,
1328 the driver is based on the OPAL interfaces.
1329
1330 This driver can also be built as a module. If so, the module will be
1331 called as i2c-opal.
1332
Baoyou Xie9615a012017-06-22 20:56:55 +08001333config I2C_ZX2967
1334 tristate "ZTE ZX2967 I2C support"
Shawn Guo86766a32017-06-24 22:25:26 +08001335 depends on ARCH_ZX
Baoyou Xie9615a012017-06-22 20:56:55 +08001336 default y
1337 help
1338 Selecting this option will add ZX2967 I2C driver.
1339 This driver can also be built as a module. If so, the module will be
1340 called i2c-zx2967.
1341
Linus Torvalds1da177e2005-04-16 15:20:36 -07001342endmenu