Commit | Line | Data |
---|---|---|
ec8f24b7 | 1 | # SPDX-License-Identifier: GPL-2.0-only |
1da177e4 LT |
2 | # |
3 | # Sensor device configuration | |
4 | # | |
5 | ||
6 | menu "I2C Hardware Bus support" | |
3ddb59d4 | 7 | depends on HAS_IOMEM |
1da177e4 | 8 | |
f5b728a1 JD |
9 | comment "PC SMBus host controller drivers" |
10 | depends on PCI | |
11 | ||
1da177e4 LT |
12 | config I2C_ALI1535 |
13 | tristate "ALI 1535" | |
16538e6b | 14 | depends on PCI |
1da177e4 LT |
15 | help |
16 | If you say yes to this option, support will be included for the SMB | |
17 | Host controller on Acer Labs Inc. (ALI) M1535 South Bridges. The SMB | |
18 | controller is part of the 7101 device, which is an ACPI-compliant | |
19 | Power Management Unit (PMU). | |
20 | ||
21 | This driver can also be built as a module. If so, the module | |
22 | will be called i2c-ali1535. | |
23 | ||
24 | config I2C_ALI1563 | |
25 | tristate "ALI 1563" | |
417e86ce | 26 | depends on PCI |
1da177e4 LT |
27 | help |
28 | If you say yes to this option, support will be included for the SMB | |
29 | Host controller on Acer Labs Inc. (ALI) M1563 South Bridges. The SMB | |
30 | controller is part of the 7101 device, which is an ACPI-compliant | |
31 | Power Management Unit (PMU). | |
32 | ||
33 | This driver can also be built as a module. If so, the module | |
34 | will be called i2c-ali1563. | |
35 | ||
36 | config I2C_ALI15X3 | |
37 | tristate "ALI 15x3" | |
16538e6b | 38 | depends on PCI |
1da177e4 LT |
39 | help |
40 | If you say yes to this option, support will be included for the | |
41 | Acer Labs Inc. (ALI) M1514 and M1543 motherboard I2C interfaces. | |
42 | ||
43 | This driver can also be built as a module. If so, the module | |
44 | will be called i2c-ali15x3. | |
45 | ||
46 | config I2C_AMD756 | |
47 | tristate "AMD 756/766/768/8111 and nVidia nForce" | |
16538e6b | 48 | depends on PCI |
1da177e4 LT |
49 | help |
50 | If you say yes to this option, support will be included for the AMD | |
51 | 756/766/768 mainboard I2C interfaces. The driver also includes | |
52 | support for the first (SMBus 1.0) I2C interface of the AMD 8111 and | |
53 | the nVidia nForce I2C interface. | |
54 | ||
55 | This driver can also be built as a module. If so, the module | |
56 | will be called i2c-amd756. | |
57 | ||
58 | config I2C_AMD756_S4882 | |
59 | tristate "SMBus multiplexing on the Tyan S4882" | |
417e86ce | 60 | depends on I2C_AMD756 && X86 |
1da177e4 LT |
61 | help |
62 | Enabling this option will add specific SMBus support for the Tyan | |
63 | S4882 motherboard. On this 4-CPU board, the SMBus is multiplexed | |
64 | over 8 different channels, where the various memory module EEPROMs | |
65 | and temperature sensors live. Saying yes here will give you access | |
66 | to these in addition to the trunk. | |
67 | ||
68 | This driver can also be built as a module. If so, the module | |
69 | will be called i2c-amd756-s4882. | |
70 | ||
71 | config I2C_AMD8111 | |
72 | tristate "AMD 8111" | |
16538e6b | 73 | depends on PCI |
1da177e4 LT |
74 | help |
75 | If you say yes to this option, support will be included for the | |
76 | second (SMBus 2.0) AMD 8111 mainboard I2C interface. | |
77 | ||
78 | This driver can also be built as a module. If so, the module | |
79 | will be called i2c-amd8111. | |
80 | ||
529766e0 EM |
81 | config I2C_AMD_MP2 |
82 | tristate "AMD MP2 PCIe" | |
83 | depends on PCI && ACPI | |
84 | help | |
85 | If you say yes to this option, support will be included for the AMD | |
86 | MP2 PCIe I2C adapter. | |
87 | ||
88 | This driver can also be built as modules. If so, the modules will | |
89 | be called i2c-amd-mp2-pci and i2c-amd-mp2-plat. | |
90 | ||
15ef2775 WY |
91 | config I2C_HIX5HD2 |
92 | tristate "Hix5hd2 high-speed I2C driver" | |
ae824f00 | 93 | depends on ARCH_HISI || ARCH_HIX5HD2 || COMPILE_TEST |
15ef2775 | 94 | help |
ae824f00 RJ |
95 | Say Y here to include support for the high-speed I2C controller |
96 | used in HiSilicon hix5hd2 SoCs. | |
15ef2775 | 97 | |
ae824f00 | 98 | This driver can also be built as a module. If so, the module |
15ef2775 WY |
99 | will be called i2c-hix5hd2. |
100 | ||
1da177e4 | 101 | config I2C_I801 |
39376434 | 102 | tristate "Intel 82801 (ICH/PCH)" |
16538e6b | 103 | depends on PCI |
8eacfceb | 104 | select CHECK_SIGNATURE if X86 && DMI |
7b0ed334 | 105 | select I2C_SMBUS |
1da177e4 LT |
106 | help |
107 | If you say yes to this option, support will be included for the Intel | |
108 | 801 family of mainboard I2C interfaces. Specifically, the following | |
109 | versions of the chipset are supported: | |
110 | 82801AA | |
111 | 82801AB | |
112 | 82801BA | |
113 | 82801CA/CAM | |
114 | 82801DB | |
115 | 82801EB/ER (ICH5/ICH5R) | |
116 | 6300ESB | |
117 | ICH6 | |
118 | ICH7 | |
b0a70b57 | 119 | ESB2 |
8254fc4a | 120 | ICH8 |
adbc2a10 | 121 | ICH9 |
cb04e95b | 122 | EP80579 (Tolapai) |
d28dc711 | 123 | ICH10 |
cb04e95b | 124 | 5/3400 Series (PCH) |
662cda8a | 125 | 6 Series (PCH) |
e30d9859 | 126 | Patsburg (PCH) |
662cda8a | 127 | DH89xxCC (PCH) |
6e2a851e | 128 | Panther Point (PCH) |
062737fb | 129 | Lynx Point (PCH) |
c2db409c | 130 | Avoton (SOC) |
a3fc0ff0 | 131 | Wellsburg (PCH) |
f39901c1 | 132 | Coleto Creek (PCH) |
b299de83 | 133 | Wildcat Point (PCH) |
1b31e9b7 | 134 | BayTrail (SOC) |
15407798 | 135 | Braswell (SOC) |
80d943ab JN |
136 | Sunrise Point (PCH) |
137 | Kaby Lake (PCH) | |
2b630df7 JN |
138 | DNV (SOC) |
139 | Broxton (SOC) | |
cdc5a311 | 140 | Lewisburg (PCH) |
9827f9eb | 141 | Gemini Lake (SOC) |
80d943ab | 142 | Cannon Lake (PCH) |
cb09d943 | 143 | Cedar Fork (PCH) |
0bff2a86 | 144 | Ice Lake (PCH) |
5cd1c56c | 145 | Comet Lake (PCH) |
1da177e4 LT |
146 | |
147 | This driver can also be built as a module. If so, the module | |
148 | will be called i2c-i801. | |
149 | ||
5bc12008 AD |
150 | config I2C_ISCH |
151 | tristate "Intel SCH SMBus 1.0" | |
0244ad00 | 152 | depends on PCI |
fd46a006 | 153 | select LPC_SCH |
5bc12008 AD |
154 | help |
155 | Say Y here if you want to use SMBus controller on the Intel SCH | |
156 | based systems. | |
157 | ||
158 | This driver can also be built as a module. If so, the module | |
159 | will be called i2c-isch. | |
160 | ||
13f35ac1 NH |
161 | config I2C_ISMT |
162 | tristate "Intel iSMT SMBus Controller" | |
163 | depends on PCI && X86 | |
164 | help | |
165 | If you say yes to this option, support will be included for the Intel | |
166 | iSMT SMBus host controller interface. | |
167 | ||
168 | This driver can also be built as a module. If so, the module will be | |
169 | called i2c-ismt. | |
170 | ||
1da177e4 | 171 | config I2C_PIIX4 |
76b3e28f | 172 | tristate "Intel PIIX4 and compatible (ATI/AMD/Serverworks/Broadcom/SMSC)" |
16538e6b | 173 | depends on PCI |
1da177e4 LT |
174 | help |
175 | If you say yes to this option, support will be included for the Intel | |
176 | PIIX4 family of mainboard I2C interfaces. Specifically, the following | |
5f7ea3c5 MD |
177 | versions of the chipset are supported (note that Serverworks is part |
178 | of Broadcom): | |
1da177e4 LT |
179 | Intel PIIX4 |
180 | Intel 440MX | |
02e0c5d5 RM |
181 | ATI IXP200 |
182 | ATI IXP300 | |
183 | ATI IXP400 | |
4e6697fc | 184 | ATI SB600 |
2a2f7404 | 185 | ATI SB700/SP5100 |
60693e5a | 186 | ATI SB800 |
3806e94b | 187 | AMD Hudson-2 |
032f708b | 188 | AMD ML |
b996ac90 | 189 | AMD CZ |
24beb83a | 190 | Hygon CZ |
1da177e4 LT |
191 | Serverworks OSB4 |
192 | Serverworks CSB5 | |
193 | Serverworks CSB6 | |
5f7ea3c5 | 194 | Serverworks HT-1000 |
506a8b6c | 195 | Serverworks HT-1100 |
1da177e4 LT |
196 | SMSC Victory66 |
197 | ||
2a2f7404 AA |
198 | Some AMD chipsets contain two PIIX4-compatible SMBus |
199 | controllers. This driver will attempt to use both controllers | |
200 | on the SB700/SP5100, if they have been initialized by the BIOS. | |
201 | ||
1da177e4 LT |
202 | This driver can also be built as a module. If so, the module |
203 | will be called i2c-piix4. | |
204 | ||
17a924bf HG |
205 | config I2C_CHT_WC |
206 | tristate "Intel Cherry Trail Whiskey Cove PMIC smbus controller" | |
207 | depends on INTEL_SOC_PMIC_CHTWC | |
208 | help | |
209 | If you say yes to this option, support will be included for the | |
210 | SMBus controller found in the Intel Cherry Trail Whiskey Cove PMIC | |
211 | found on some Intel Cherry Trail systems. | |
212 | ||
0224d45c HG |
213 | Note this controller is hooked up to a TI bq24292i charger-IC, |
214 | combined with a FUSB302 Type-C port-controller as such it is advised | |
7c8d4456 | 215 | to also select CONFIG_TYPEC_FUSB302=m. |
0224d45c | 216 | |
1da177e4 | 217 | config I2C_NFORCE2 |
5d740fe9 | 218 | tristate "Nvidia nForce2, nForce3 and nForce4" |
16538e6b | 219 | depends on PCI |
1da177e4 LT |
220 | help |
221 | If you say yes to this option, support will be included for the Nvidia | |
5d740fe9 | 222 | nForce2, nForce3 and nForce4 families of mainboard I2C interfaces. |
1da177e4 LT |
223 | |
224 | This driver can also be built as a module. If so, the module | |
225 | will be called i2c-nforce2. | |
226 | ||
279e9024 JD |
227 | config I2C_NFORCE2_S4985 |
228 | tristate "SMBus multiplexing on the Tyan S4985" | |
417e86ce | 229 | depends on I2C_NFORCE2 && X86 |
279e9024 JD |
230 | help |
231 | Enabling this option will add specific SMBus support for the Tyan | |
232 | S4985 motherboard. On this 4-CPU board, the SMBus is multiplexed | |
233 | over 4 different channels, where the various memory module EEPROMs | |
234 | live. Saying yes here will give you access to these in addition | |
235 | to the trunk. | |
236 | ||
237 | This driver can also be built as a module. If so, the module | |
238 | will be called i2c-nforce2-s4985. | |
239 | ||
c71bcdcb AG |
240 | config I2C_NVIDIA_GPU |
241 | tristate "NVIDIA GPU I2C controller" | |
242 | depends on PCI | |
243 | help | |
244 | If you say yes to this option, support will be included for the | |
245 | NVIDIA GPU I2C controller which is used to communicate with the GPU's | |
246 | Type-C controller. This driver can also be built as a module called | |
247 | i2c-nvidia-gpu. | |
248 | ||
f5b728a1 JD |
249 | config I2C_SIS5595 |
250 | tristate "SiS 5595" | |
251 | depends on PCI | |
18f98b1e PK |
252 | help |
253 | If you say yes to this option, support will be included for the | |
f5b728a1 | 254 | SiS5595 SMBus (a subset of I2C) interface. |
18f98b1e PK |
255 | |
256 | This driver can also be built as a module. If so, the module | |
f5b728a1 | 257 | will be called i2c-sis5595. |
18f98b1e | 258 | |
f5b728a1 | 259 | config I2C_SIS630 |
974d6a37 | 260 | tristate "SiS 630/730/964" |
f5b728a1 | 261 | depends on PCI |
010d442c KS |
262 | help |
263 | If you say yes to this option, support will be included for the | |
974d6a37 | 264 | SiS630, SiS730 and SiS964 SMBus (a subset of I2C) interface. |
010d442c | 265 | |
f5b728a1 JD |
266 | This driver can also be built as a module. If so, the module |
267 | will be called i2c-sis630. | |
268 | ||
269 | config I2C_SIS96X | |
270 | tristate "SiS 96x" | |
271 | depends on PCI | |
272 | help | |
273 | If you say yes to this option, support will be included for the SiS | |
274 | 96x SMBus (a subset of I2C) interfaces. Specifically, the following | |
275 | chipsets are supported: | |
276 | 645/961 | |
277 | 645DX/961 | |
278 | 645DX/962 | |
279 | 648/961 | |
280 | 650/961 | |
281 | 735 | |
282 | 745 | |
283 | ||
284 | This driver can also be built as a module. If so, the module | |
285 | will be called i2c-sis96x. | |
286 | ||
287 | config I2C_VIA | |
288 | tristate "VIA VT82C586B" | |
417e86ce | 289 | depends on PCI |
1da177e4 LT |
290 | select I2C_ALGOBIT |
291 | help | |
f5b728a1 JD |
292 | If you say yes to this option, support will be included for the VIA |
293 | 82C586B I2C interface | |
1da177e4 | 294 | |
f5b728a1 JD |
295 | This driver can also be built as a module. If so, the module |
296 | will be called i2c-via. | |
e97b81dd | 297 | |
f5b728a1 | 298 | config I2C_VIAPRO |
01d56a6a | 299 | tristate "VIA VT82C596/82C686/82xx and CX700/VX8xx/VX900" |
f5b728a1 JD |
300 | depends on PCI |
301 | help | |
302 | If you say yes to this option, support will be included for the VIA | |
303 | VT82C596 and later SMBus interface. Specifically, the following | |
304 | chipsets are supported: | |
305 | VT82C596A/B | |
306 | VT82C686A/B | |
307 | VT8231 | |
308 | VT8233/A | |
309 | VT8235 | |
310 | VT8237R/A/S | |
311 | VT8251 | |
312 | CX700 | |
a231591f HW |
313 | VX800/VX820 |
314 | VX855/VX875 | |
01d56a6a | 315 | VX900 |
e97b81dd | 316 | |
f5b728a1 JD |
317 | This driver can also be built as a module. If so, the module |
318 | will be called i2c-viapro. | |
1da177e4 | 319 | |
cfd550ed JD |
320 | if ACPI |
321 | ||
322 | comment "ACPI drivers" | |
323 | ||
324 | config I2C_SCMI | |
325 | tristate "SMBus Control Method Interface" | |
326 | help | |
327 | This driver supports the SMBus Control Method Interface. It needs the | |
328 | BIOS to declare ACPI control methods as described in the SMBus Control | |
329 | Method Interface specification. | |
330 | ||
331 | To compile this driver as a module, choose M here: | |
332 | the module will be called i2c-scmi. | |
333 | ||
334 | endif # ACPI | |
335 | ||
f5b728a1 JD |
336 | comment "Mac SMBus host controller drivers" |
337 | depends on PPC_CHRP || PPC_PMAC | |
1da177e4 | 338 | |
f5b728a1 JD |
339 | config I2C_HYDRA |
340 | tristate "CHRP Apple Hydra Mac I/O I2C interface" | |
417e86ce | 341 | depends on PCI && PPC_CHRP |
1da177e4 LT |
342 | select I2C_ALGOBIT |
343 | help | |
f5b728a1 JD |
344 | This supports the use of the I2C interface in the Apple Hydra Mac |
345 | I/O chip on some CHRP machines (e.g. the LongTrail). Say Y if you | |
346 | have such a machine. | |
4c03f68f | 347 | |
f5b728a1 JD |
348 | This support is also available as a module. If so, the module |
349 | will be called i2c-hydra. | |
350 | ||
351 | config I2C_POWERMAC | |
352 | tristate "Powermac I2C interface" | |
353 | depends on PPC_PMAC | |
354 | default y | |
355 | help | |
356 | This exposes the various PowerMac i2c interfaces to the linux i2c | |
357 | layer and to userland. It is used by various drivers on the PowerMac | |
358 | platform, and should generally be enabled. | |
1da177e4 | 359 | |
4c03f68f | 360 | This support is also available as a module. If so, the module |
f5b728a1 JD |
361 | will be called i2c-powermac. |
362 | ||
363 | comment "I2C system bus drivers (mostly embedded / system-on-chip)" | |
364 | ||
0560ad57 TT |
365 | config I2C_ALTERA |
366 | tristate "Altera Soft IP I2C" | |
367 | depends on (ARCH_SOCFPGA || NIOS2) && OF | |
368 | help | |
369 | If you say yes to this option, support will be included for the | |
370 | Altera Soft IP I2C interfaces on SoCFPGA and Nios2 architectures. | |
371 | ||
372 | This driver can also be built as a module. If so, the module | |
373 | will be called i2c-altera. | |
374 | ||
f327c686 BH |
375 | config I2C_ASPEED |
376 | tristate "Aspeed I2C Controller" | |
377 | depends on ARCH_ASPEED || COMPILE_TEST | |
378 | help | |
379 | If you say yes to this option, support will be included for the | |
380 | Aspeed I2C controller. | |
381 | ||
382 | This driver can also be built as a module. If so, the module | |
383 | will be called i2c-aspeed. | |
384 | ||
f5b728a1 JD |
385 | config I2C_AT91 |
386 | tristate "Atmel AT91 I2C Two-Wire interface (TWI)" | |
417e86ce | 387 | depends on ARCH_AT91 |
f5b728a1 JD |
388 | help |
389 | This supports the use of the I2C interface on Atmel AT91 | |
390 | processors. | |
391 | ||
fac368a0 NV |
392 | A serious problem is that there is no documented way to issue |
393 | repeated START conditions for more than two messages, as needed | |
f5b728a1 | 394 | to support combined I2C messages. Use the i2c-gpio driver |
fac368a0 NV |
395 | unless your system can cope with this limitation. |
396 | ||
397 | Caution! at91rm9200, at91sam9261, at91sam9260, at91sam9263 devices | |
398 | don't have clock stretching in transmission mode. For that reason, | |
399 | you can encounter underrun issues causing premature stop sendings if | |
400 | the latency to fill the transmission register is too long. If you | |
401 | are facing this situation, use the i2c-gpio driver. | |
f5b728a1 | 402 | |
9d3ca54b JF |
403 | config I2C_AT91_SLAVE_EXPERIMENTAL |
404 | tristate "Microchip AT91 I2C experimental slave mode" | |
405 | depends on I2C_AT91 | |
406 | select I2C_SLAVE | |
407 | help | |
408 | If you say yes to this option, support for the slave mode will be | |
409 | added. Caution: do not use it for production. This feature has not | |
410 | been tested in a heavy way, help wanted. | |
411 | There are known bugs: | |
412 | - It can hang, on a SAMA5D4, after several transfers. | |
413 | - There are some mismtaches with a SAMA5D4 as slave and a SAMA5D2 as | |
414 | master. | |
415 | ||
f5b728a1 | 416 | config I2C_AU1550 |
809f36c6 | 417 | tristate "Au1550/Au1200/Au1300 SMBus interface" |
37663860 | 418 | depends on MIPS_ALCHEMY |
f5b728a1 JD |
419 | help |
420 | If you say yes to this option, support will be included for the | |
809f36c6 | 421 | Au1550/Au1200/Au1300 SMBus interface. |
f5b728a1 JD |
422 | |
423 | This driver can also be built as a module. If so, the module | |
424 | will be called i2c-au1550. | |
425 | ||
08678b85 AB |
426 | config I2C_AXXIA |
427 | tristate "Axxia I2C controller" | |
428 | depends on ARCH_AXXIA || COMPILE_TEST | |
429 | default ARCH_AXXIA | |
430 | help | |
431 | Say yes if you want to support the I2C bus on Axxia platforms. | |
432 | ||
433 | Please note that this controller is limited to transfers of maximum | |
434 | 255 bytes in length. Any attempt to to a larger transfer will return | |
435 | an error. | |
436 | ||
f3b54b9a SW |
437 | config I2C_BCM2835 |
438 | tristate "Broadcom BCM2835 I2C controller" | |
439 | depends on ARCH_BCM2835 | |
440 | help | |
441 | If you say yes to this option, support will be included for the | |
442 | BCM2835 I2C controller. | |
443 | ||
444 | If you don't know what to do here, say N. | |
445 | ||
446 | This support is also available as a module. If so, the module | |
447 | will be called i2c-bcm2835. | |
448 | ||
e6e5dd35 RJ |
449 | config I2C_BCM_IPROC |
450 | tristate "Broadcom iProc I2C controller" | |
451 | depends on ARCH_BCM_IPROC || COMPILE_TEST | |
452 | default ARCH_BCM_IPROC | |
f34b8d90 | 453 | select I2C_SLAVE |
e6e5dd35 RJ |
454 | help |
455 | If you say yes to this option, support will be included for the | |
456 | Broadcom iProc I2C controller. | |
457 | ||
458 | If you don't know what to do here, say N. | |
459 | ||
93d17247 TK |
460 | config I2C_BCM_KONA |
461 | tristate "BCM Kona I2C adapter" | |
462 | depends on ARCH_BCM_MOBILE | |
463 | default y | |
464 | help | |
465 | If you say yes to this option, support will be included for the | |
466 | I2C interface on the Broadcom Kona family of processors. | |
467 | ||
f54619f2 | 468 | If you do not need KONA I2C interface, say N. |
93d17247 | 469 | |
dd1aa252 | 470 | config I2C_BRCMSTB |
e1eba2ea FF |
471 | tristate "BRCM Settop/DSL I2C controller" |
472 | depends on ARCH_BRCMSTB || BMIPS_GENERIC || ARCH_BCM_63XX || \ | |
473 | COMPILE_TEST | |
dd1aa252 KD |
474 | default y |
475 | help | |
476 | If you say yes to this option, support will be included for the | |
e1eba2ea | 477 | I2C interface on the Broadcom Settop/DSL SoCs. |
dd1aa252 KD |
478 | |
479 | If you do not need I2C interface, say N. | |
480 | ||
df8eb569 SB |
481 | config I2C_CADENCE |
482 | tristate "Cadence I2C Controller" | |
f8989783 | 483 | depends on ARCH_ZYNQ || ARM64 || XTENSA |
df8eb569 SB |
484 | help |
485 | Say yes here to select Cadence I2C Host Controller. This controller is | |
486 | e.g. used by Xilinx Zynq. | |
487 | ||
0857ba3c AK |
488 | config I2C_CBUS_GPIO |
489 | tristate "CBUS I2C driver" | |
7e5cd69a | 490 | depends on GPIOLIB || COMPILE_TEST |
0857ba3c AK |
491 | help |
492 | Support for CBUS access using I2C API. Mostly relevant for Nokia | |
493 | Internet Tablets (770, N800 and N810). | |
494 | ||
495 | This driver can also be built as a module. If so, the module | |
496 | will be called i2c-cbus-gpio. | |
497 | ||
61045dbe JF |
498 | config I2C_CPM |
499 | tristate "Freescale CPM1 or CPM2 (MPC8xx/826x)" | |
62c19c9d | 500 | depends on CPM1 || CPM2 |
61045dbe JF |
501 | help |
502 | This supports the use of the I2C interface on Freescale | |
503 | processors with CPM1 or CPM2. | |
504 | ||
505 | This driver can also be built as a module. If so, the module | |
506 | will be called i2c-cpm. | |
507 | ||
f5b728a1 JD |
508 | config I2C_DAVINCI |
509 | tristate "DaVinci I2C driver" | |
d654b548 | 510 | depends on ARCH_DAVINCI || ARCH_KEYSTONE |
f5b728a1 JD |
511 | help |
512 | Support for TI DaVinci I2C controller driver. | |
513 | ||
514 | This driver can also be built as a module. If so, the module | |
515 | will be called i2c-davinci. | |
516 | ||
517 | Please note that this driver might be needed to bring up other | |
518 | devices such as DaVinci NIC. | |
519 | For details please see http://www.ti.com/davinci | |
520 | ||
e68bb91b AL |
521 | config I2C_DESIGNWARE_CORE |
522 | tristate | |
523 | ||
2373f6b9 | 524 | config I2C_DESIGNWARE_PLATFORM |
6b2aac42 | 525 | tristate "Synopsys DesignWare Platform" |
e68bb91b | 526 | select I2C_DESIGNWARE_CORE |
a445900c | 527 | depends on (ACPI && COMMON_CLK) || !ACPI |
1ab52cf9 BS |
528 | help |
529 | If you say yes to this option, support will be included for the | |
9f3e065c | 530 | Synopsys DesignWare I2C adapter. |
1ab52cf9 BS |
531 | |
532 | This driver can also be built as a module. If so, the module | |
2373f6b9 | 533 | will be called i2c-designware-platform. |
1ab52cf9 | 534 | |
9f3e065c LO |
535 | config I2C_DESIGNWARE_SLAVE |
536 | bool "Synopsys DesignWare Slave" | |
537 | select I2C_SLAVE | |
538 | depends on I2C_DESIGNWARE_PLATFORM | |
539 | help | |
540 | If you say yes to this option, support will be included for the | |
541 | Synopsys DesignWare I2C slave adapter. | |
542 | ||
543 | This is not a standalone module, this module compiles together with | |
544 | i2c-designware-core. | |
545 | ||
fe20ff5c DB |
546 | config I2C_DESIGNWARE_PCI |
547 | tristate "Synopsys DesignWare PCI" | |
548 | depends on PCI | |
e68bb91b | 549 | select I2C_DESIGNWARE_CORE |
fe20ff5c DB |
550 | help |
551 | If you say yes to this option, support will be included for the | |
552 | Synopsys DesignWare I2C adapter. Only master mode is supported. | |
553 | ||
554 | This driver can also be built as a module. If so, the module | |
555 | will be called i2c-designware-pci. | |
1ab52cf9 | 556 | |
894acb2f DB |
557 | config I2C_DESIGNWARE_BAYTRAIL |
558 | bool "Intel Baytrail I2C semaphore support" | |
f41021bb JN |
559 | depends on ACPI |
560 | depends on (I2C_DESIGNWARE_PLATFORM=m && IOSF_MBI) || \ | |
561 | (I2C_DESIGNWARE_PLATFORM=y && IOSF_MBI=y) | |
894acb2f DB |
562 | help |
563 | This driver enables managed host access to the PMIC I2C bus on select | |
564 | Intel BayTrail platforms using the X-Powers AXP288 PMIC. It allows | |
565 | the host to request uninterrupted access to the PMIC's I2C bus from | |
566 | the platform firmware controlling it. You should say Y if running on | |
567 | a BayTrail system using the AXP288. | |
568 | ||
4a7a0822 BS |
569 | config I2C_DIGICOLOR |
570 | tristate "Conexant Digicolor I2C driver" | |
571 | depends on ARCH_DIGICOLOR | |
572 | help | |
573 | Support for Conexant Digicolor SoCs (CX92755) I2C controller driver. | |
574 | ||
575 | This driver can also be built as a module. If so, the module | |
576 | will be called i2c-digicolor. | |
577 | ||
1b5b2371 UKK |
578 | config I2C_EFM32 |
579 | tristate "EFM32 I2C controller" | |
580 | depends on ARCH_EFM32 || COMPILE_TEST | |
581 | help | |
582 | This driver supports the i2c block found in Energy Micro's EFM32 | |
583 | SoCs. | |
584 | ||
3e1b76be J |
585 | config I2C_EG20T |
586 | tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) I2C" | |
7a852b02 | 587 | depends on PCI && (X86_32 || MIPS || COMPILE_TEST) |
3e1b76be J |
588 | help |
589 | This driver is for PCH(Platform controller Hub) I2C of EG20T which | |
590 | is an IOH(Input/Output Hub) for x86 embedded processor. | |
591 | This driver can access PCH I2C bus device. | |
592 | ||
593 | This driver also can be used for LAPIS Semiconductor IOH(Input/ | |
594 | Output Hub), ML7213, ML7223 and ML7831. | |
595 | ML7213 IOH is for IVI(In-Vehicle Infotainment) use, ML7223 IOH is | |
596 | for MP(Media Phone) use and ML7831 IOH is for general purpose use. | |
597 | ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series. | |
598 | ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH. | |
599 | ||
5faf6e1f WS |
600 | config I2C_EMEV2 |
601 | tristate "EMMA Mobile series I2C adapter" | |
602 | depends on HAVE_CLK | |
b7d518e6 | 603 | select I2C_SLAVE |
5faf6e1f WS |
604 | help |
605 | If you say yes to this option, support will be included for the | |
606 | I2C interface on the Renesas Electronics EM/EV family of processors. | |
607 | ||
8a73cd4c NKC |
608 | config I2C_EXYNOS5 |
609 | tristate "Exynos5 high-speed I2C driver" | |
2374a539 | 610 | depends on ARCH_EXYNOS && OF |
741d3589 | 611 | default y |
8a73cd4c | 612 | help |
741d3589 | 613 | High-speed I2C controller on Exynos5 based Samsung SoCs. |
8a73cd4c | 614 | |
f5b728a1 JD |
615 | config I2C_GPIO |
616 | tristate "GPIO-based bitbanging I2C" | |
7e5cd69a | 617 | depends on GPIOLIB || COMPILE_TEST |
f5b728a1 JD |
618 | select I2C_ALGOBIT |
619 | help | |
620 | This is a very simple bitbanging I2C driver utilizing the | |
621 | arch-neutral GPIO API to control the SCL and SDA lines. | |
622 | ||
14911c6f WS |
623 | config I2C_GPIO_FAULT_INJECTOR |
624 | bool "GPIO-based fault injector" | |
625 | depends on I2C_GPIO | |
626 | help | |
627 | This adds some functionality to the i2c-gpio driver which can inject | |
628 | faults to an I2C bus, so another bus master can be stress-tested. | |
629 | This is for debugging. If unsure, say 'no'. | |
630 | ||
4ad48e6a PM |
631 | config I2C_HIGHLANDER |
632 | tristate "Highlander FPGA SMBus interface" | |
633 | depends on SH_HIGHLANDER | |
634 | help | |
635 | If you say yes to this option, support will be included for | |
636 | the SMBus interface located in the FPGA on various Highlander | |
637 | boards, particularly the R0P7780LC0011RL and R0P7785LC0011RL | |
638 | FPGAs. This is wholly unrelated to the SoC I2C. | |
639 | ||
640 | This driver can also be built as a module. If so, the module | |
641 | will be called i2c-highlander. | |
642 | ||
f5b728a1 JD |
643 | config I2C_IBM_IIC |
644 | tristate "IBM PPC 4xx on-chip I2C interface" | |
645 | depends on 4xx | |
646 | help | |
647 | Say Y here if you want to use IIC peripheral found on | |
648 | embedded IBM PPC 4xx based systems. | |
649 | ||
650 | This driver can also be built as a module. If so, the module | |
651 | will be called i2c-ibm_iic. | |
652 | ||
27bce457 JH |
653 | config I2C_IMG |
654 | tristate "Imagination Technologies I2C SCB Controller" | |
8d06c330 | 655 | depends on MIPS || COMPILE_TEST |
27bce457 JH |
656 | help |
657 | Say Y here if you want to use the IMG I2C SCB controller, | |
06205206 | 658 | available on the TZ1090 and other IMG SoCs. |
27bce457 JH |
659 | |
660 | This driver can also be built as a module. If so, the module | |
661 | will be called i2c-img-scb. | |
662 | ||
aa11e38c DA |
663 | config I2C_IMX |
664 | tristate "IMX I2C interface" | |
17791650 | 665 | depends on ARCH_MXC || ARCH_LAYERSCAPE || COLDFIRE |
aa11e38c DA |
666 | help |
667 | Say Y here if you want to use the IIC bus controller on | |
17791650 | 668 | the Freescale i.MX/MXC, Layerscape or ColdFire processors. |
aa11e38c DA |
669 | |
670 | This driver can also be built as a module. If so, the module | |
671 | will be called i2c-imx. | |
672 | ||
a55fa9d0 GP |
673 | config I2C_IMX_LPI2C |
674 | tristate "IMX Low Power I2C interface" | |
675 | depends on ARCH_MXC || COMPILE_TEST | |
676 | help | |
677 | Say Y here if you want to use the Low Power IIC bus controller | |
678 | on the Freescale i.MX processors. | |
679 | ||
680 | This driver can also be built as a module. If so, the module | |
681 | will be called i2c-imx-lpi2c. | |
682 | ||
f5b728a1 JD |
683 | config I2C_IOP3XX |
684 | tristate "Intel IOPx3xx and IXP4xx on-chip I2C interface" | |
685 | depends on ARCH_IOP32X || ARCH_IOP33X || ARCH_IXP4XX || ARCH_IOP13XX | |
686 | help | |
687 | Say Y here if you want to use the IIC bus controller on | |
688 | the Intel IOPx3xx I/O Processors or IXP4xx Network Processors. | |
689 | ||
690 | This driver can also be built as a module. If so, the module | |
691 | will be called i2c-iop3xx. | |
692 | ||
ba92222e ZLK |
693 | config I2C_JZ4780 |
694 | tristate "JZ4780 I2C controller interface support" | |
695 | depends on MACH_JZ4780 || COMPILE_TEST | |
696 | help | |
697 | If you say yes to this option, support will be included for the | |
698 | Ingenic JZ4780 I2C controller. | |
699 | ||
700 | If you don't know what to do here, say N. | |
701 | ||
e0b9b7b0 KS |
702 | config I2C_KEMPLD |
703 | tristate "Kontron COM I2C Controller" | |
704 | depends on MFD_KEMPLD | |
705 | help | |
706 | This enables support for the I2C bus interface on some Kontron ETX | |
707 | and COMexpress (ETXexpress) modules. | |
708 | ||
709 | This driver can also be built as a module. If so, the module | |
710 | will be called i2c-kempld. | |
711 | ||
3f9c37a0 JE |
712 | config I2C_LPC2K |
713 | tristate "I2C bus support for NXP LPC2K/LPC178x/18xx/43xx" | |
714 | depends on OF && (ARCH_LPC18XX || COMPILE_TEST) | |
715 | help | |
716 | This driver supports the I2C interface found several NXP | |
717 | devices including LPC2xxx, LPC178x/7x and LPC18xx/43xx. | |
718 | ||
719 | This driver can also be built as a module. If so, the module | |
720 | will be called i2c-lpc2k. | |
721 | ||
30021e37 BG |
722 | config I2C_MESON |
723 | tristate "Amlogic Meson I2C controller" | |
91401783 | 724 | depends on ARCH_MESON || COMPILE_TEST |
30021e37 BG |
725 | help |
726 | If you say yes to this option, support will be included for the | |
727 | I2C interface on the Amlogic Meson family of SoCs. | |
728 | ||
f5b728a1 | 729 | config I2C_MPC |
f00d738f | 730 | tristate "MPC107/824x/85xx/512x/52xx/83xx/86xx" |
0724d464 | 731 | depends on PPC |
f5b728a1 JD |
732 | help |
733 | If you say yes to this option, support will be included for the | |
f00d738f WG |
734 | built-in I2C interface on the MPC107, Tsi107, MPC512x, MPC52xx, |
735 | MPC8240, MPC8245, MPC83xx, MPC85xx and MPC8641 family processors. | |
f5b728a1 JD |
736 | |
737 | This driver can also be built as a module. If so, the module | |
738 | will be called i2c-mpc. | |
739 | ||
ce38815d XC |
740 | config I2C_MT65XX |
741 | tristate "MediaTek I2C adapter" | |
742 | depends on ARCH_MEDIATEK || COMPILE_TEST | |
743 | help | |
744 | This selects the MediaTek(R) Integrated Inter Circuit bus driver | |
745 | for MT65xx and MT81xx. | |
746 | If you want to use MediaTek(R) I2C interface, say Y or M here. | |
747 | If unsure, say N. | |
748 | ||
f5b728a1 JD |
749 | config I2C_MV64XXX |
750 | tristate "Marvell mv64xxx I2C Controller" | |
05872b80 | 751 | depends on MV64X60 || PLAT_ORION || ARCH_SUNXI || ARCH_MVEBU |
f5b728a1 JD |
752 | help |
753 | If you say yes to this option, support will be included for the | |
754 | built-in I2C interface on the Marvell 64xxx line of host bridges. | |
3d66ac7d | 755 | This driver is also used for Allwinner SoCs I2C controllers. |
f5b728a1 JD |
756 | |
757 | This driver can also be built as a module. If so, the module | |
758 | will be called i2c-mv64xxx. | |
759 | ||
a8da7fec WS |
760 | config I2C_MXS |
761 | tristate "Freescale i.MX28 I2C interface" | |
762 | depends on SOC_IMX28 | |
6b866c15 | 763 | select STMP_DEVICE |
a8da7fec WS |
764 | help |
765 | Say Y here if you want to use the I2C bus controller on | |
766 | the Freescale i.MX28 processors. | |
767 | ||
768 | This driver can also be built as a module. If so, the module | |
769 | will be called i2c-mxs. | |
770 | ||
3f9900f1 | 771 | config I2C_NOMADIK |
772 | tristate "ST-Ericsson Nomadik/Ux500 I2C Controller" | |
419408ed | 773 | depends on ARM_AMBA |
3f9900f1 | 774 | help |
775 | If you say yes to this option, support will be included for the | |
419408ed AR |
776 | I2C interface from ST-Ericsson's Nomadik and Ux500 architectures, |
777 | as well as the STA2X11 PCIe I/O HUB. | |
3f9900f1 | 778 | |
f5b728a1 JD |
779 | config I2C_OCORES |
780 | tristate "OpenCores I2C Controller" | |
f5b728a1 JD |
781 | help |
782 | If you say yes to this option, support will be included for the | |
783 | OpenCores I2C controller. For details see | |
784 | http://www.opencores.org/projects.cgi/web/i2c/overview | |
785 | ||
786 | This driver can also be built as a module. If so, the module | |
787 | will be called i2c-ocores. | |
788 | ||
789 | config I2C_OMAP | |
790 | tristate "OMAP I2C adapter" | |
5b277402 | 791 | depends on ARCH_OMAP || ARCH_K3 |
f5b728a1 JD |
792 | default y if MACH_OMAP_H3 || MACH_OMAP_OSK |
793 | help | |
794 | If you say yes to this option, support will be included for the | |
795 | I2C interface on the Texas Instruments OMAP1/2 family of processors. | |
796 | Like OMAP1510/1610/1710/5912 and OMAP242x. | |
797 | For details see http://www.ti.com/omap. | |
1da177e4 | 798 | |
d211e62a MS |
799 | config I2C_OWL |
800 | tristate "Actions Semiconductor Owl I2C Controller" | |
801 | depends on ARCH_ACTIONS || COMPILE_TEST | |
802 | help | |
803 | Say Y here if you want to use the I2C bus controller on | |
804 | the Actions Semiconductor Owl SoC's. | |
805 | ||
beb58aa3 OJ |
806 | config I2C_PASEMI |
807 | tristate "PA Semi SMBus interface" | |
16538e6b | 808 | depends on PPC_PASEMI && PCI |
beb58aa3 OJ |
809 | help |
810 | Supports the PA Semi PWRficient on-chip SMBus interfaces. | |
811 | ||
35bfc353 WS |
812 | config I2C_PCA_PLATFORM |
813 | tristate "PCA9564/PCA9665 as platform device" | |
814 | select I2C_ALGOPCA | |
815 | default n | |
816 | help | |
817 | This driver supports a memory mapped Philips PCA9564/PCA9665 | |
818 | parallel bus to I2C bus controller. | |
819 | ||
820 | This driver can also be built as a module. If so, the module | |
821 | will be called i2c-pca-platform. | |
822 | ||
823 | config I2C_PMCMSP | |
824 | tristate "PMC MSP I2C TWI Controller" | |
825 | depends on PMC_MSP | |
826 | help | |
827 | This driver supports the PMC TWI controller on MSP devices. | |
828 | ||
829 | This driver can also be built as module. If so, the module | |
830 | will be called i2c-pmcmsp. | |
831 | ||
f5b728a1 | 832 | config I2C_PNX |
c115167a | 833 | tristate "I2C bus support for Philips PNX and NXP LPC targets" |
d684f05f | 834 | depends on ARCH_LPC32XX |
f5b728a1 JD |
835 | help |
836 | This driver supports the Philips IP3204 I2C IP block master and/or | |
837 | slave controller | |
838 | ||
839 | This driver can also be built as a module. If so, the module | |
840 | will be called i2c-pnx. | |
841 | ||
d10e4a66 G |
842 | config I2C_PUV3 |
843 | tristate "PKUnity v3 I2C bus support" | |
844 | depends on UNICORE32 && ARCH_PUV3 | |
845 | select I2C_ALGOBIT | |
846 | help | |
847 | This driver supports the I2C IP inside the PKUnity-v3 SoC. | |
848 | This I2C bus controller is under AMBA/AXI bus. | |
849 | ||
850 | This driver can also be built as a module. If so, the module | |
851 | will be called i2c-puv3. | |
852 | ||
f5b728a1 | 853 | config I2C_PXA |
d7c46ddd | 854 | tristate "Intel PXA2XX I2C adapter" |
294be03c | 855 | depends on ARCH_PXA || ARCH_MMP || ARCH_MVEBU || (X86_32 && PCI && OF) |
f5b728a1 JD |
856 | help |
857 | If you have devices in the PXA I2C bus, say yes to this option. | |
858 | This driver can also be built as a module. If so, the module | |
859 | will be called i2c-pxa. | |
860 | ||
7e94dd15 SAS |
861 | config I2C_PXA_PCI |
862 | def_bool I2C_PXA && X86_32 && PCI && OF | |
863 | ||
f5b728a1 JD |
864 | config I2C_PXA_SLAVE |
865 | bool "Intel PXA2XX I2C Slave comms support" | |
7e94dd15 | 866 | depends on I2C_PXA && !X86_32 |
f5b728a1 JD |
867 | help |
868 | Support I2C slave mode communications on the PXA I2C bus. This | |
869 | is necessary for systems where the PXA may be a target on the | |
870 | I2C bus. | |
871 | ||
37692de5 KR |
872 | config I2C_QCOM_GENI |
873 | tristate "Qualcomm Technologies Inc.'s GENI based I2C controller" | |
874 | depends on ARCH_QCOM || COMPILE_TEST | |
875 | depends on QCOM_GENI_SE | |
876 | help | |
877 | This driver supports GENI serial engine based I2C controller in | |
878 | master mode on the Qualcomm Technologies Inc.'s SoCs. If you say | |
879 | yes to this option, support will be included for the built-in I2C | |
880 | interface on the Qualcomm Technologies Inc.'s SoCs. | |
881 | ||
882 | This driver can also be built as a module. If so, the module | |
883 | will be called i2c-qcom-geni. | |
884 | ||
10c5a842 BA |
885 | config I2C_QUP |
886 | tristate "Qualcomm QUP based I2C controller" | |
887 | depends on ARCH_QCOM | |
888 | help | |
889 | If you say yes to this option, support will be included for the | |
890 | built-in I2C interface on the Qualcomm SoCs. | |
891 | ||
892 | This driver can also be built as a module. If so, the module | |
893 | will be called i2c-qup. | |
894 | ||
310c18a4 WS |
895 | config I2C_RIIC |
896 | tristate "Renesas RIIC adapter" | |
07316149 | 897 | depends on ARCH_RENESAS || COMPILE_TEST |
310c18a4 WS |
898 | help |
899 | If you say yes to this option, support will be included for the | |
900 | Renesas RIIC I2C interface. | |
901 | ||
902 | This driver can also be built as a module. If so, the module | |
903 | will be called i2c-riic. | |
904 | ||
c41aa3ce MS |
905 | config I2C_RK3X |
906 | tristate "Rockchip RK3xxx I2C adapter" | |
80f1774f | 907 | depends on OF && COMMON_CLK |
c41aa3ce MS |
908 | help |
909 | Say Y here to include support for the I2C adapter in Rockchip RK3xxx | |
910 | SoCs. | |
911 | ||
912 | This driver can also be built as a module. If so, the module will | |
913 | be called i2c-rk3x. | |
914 | ||
4b623926 NKC |
915 | config HAVE_S3C2410_I2C |
916 | bool | |
917 | help | |
918 | This will include I2C support for Samsung SoCs. If you want to | |
919 | include I2C support for any machine, kindly select this in the | |
920 | respective Kconfig file. | |
921 | ||
1da177e4 LT |
922 | config I2C_S3C2410 |
923 | tristate "S3C2410 I2C Driver" | |
4b623926 | 924 | depends on HAVE_S3C2410_I2C |
1da177e4 LT |
925 | help |
926 | Say Y here to include support for I2C controller in the | |
4b623926 | 927 | Samsung SoCs. |
1da177e4 | 928 | |
f5b728a1 JD |
929 | config I2C_SH7760 |
930 | tristate "Renesas SH7760 I2C Controller" | |
931 | depends on CPU_SUBTYPE_SH7760 | |
1da177e4 | 932 | help |
f5b728a1 JD |
933 | This driver supports the 2 I2C interfaces on the Renesas SH7760. |
934 | ||
935 | This driver can also be built as a module. If so, the module | |
936 | will be called i2c-sh7760. | |
937 | ||
938 | config I2C_SH_MOBILE | |
939 | tristate "SuperH Mobile I2C Controller" | |
17f80487 | 940 | depends on ARCH_SHMOBILE || ARCH_RENESAS || COMPILE_TEST |
f5b728a1 JD |
941 | help |
942 | If you say yes to this option, support will be included for the | |
943 | built-in I2C interface on the Renesas SH-Mobile processor. | |
944 | ||
945 | This driver can also be built as a module. If so, the module | |
946 | will be called i2c-sh_mobile. | |
1da177e4 | 947 | |
bcda9f1e BD |
948 | config I2C_SIMTEC |
949 | tristate "Simtec Generic I2C interface" | |
950 | select I2C_ALGOBIT | |
951 | help | |
01dd2fbf | 952 | If you say yes to this option, support will be included for |
bcda9f1e BD |
953 | the Simtec Generic I2C interface. This driver is for the |
954 | simple I2C bus used on newer Simtec products for general | |
955 | I2C, such as DDC on the Simtec BBD2016A. | |
956 | ||
01dd2fbf | 957 | This driver can also be built as a module. If so, the module |
bcda9f1e BD |
958 | will be called i2c-simtec. |
959 | ||
979b907f ZS |
960 | config I2C_SIRF |
961 | tristate "CSR SiRFprimaII I2C interface" | |
c5dece37 | 962 | depends on ARCH_SIRF |
979b907f ZS |
963 | help |
964 | If you say yes to this option, support will be included for the | |
965 | CSR SiRFprimaII I2C interface. | |
966 | ||
967 | This driver can also be built as a module. If so, the module | |
968 | will be called i2c-sirf. | |
969 | ||
8b9ec071 BW |
970 | config I2C_SPRD |
971 | bool "Spreadtrum I2C interface" | |
8ce906c1 | 972 | depends on I2C=y && ARCH_SPRD |
8b9ec071 BW |
973 | help |
974 | If you say yes to this option, support will be included for the | |
975 | Spreadtrum I2C interface. | |
976 | ||
85b4fab2 MC |
977 | config I2C_ST |
978 | tristate "STMicroelectronics SSC I2C support" | |
979 | depends on ARCH_STI | |
980 | help | |
981 | Enable this option to add support for STMicroelectronics SoCs | |
982 | hardware SSC (Synchronous Serial Controller) as an I2C controller. | |
983 | ||
984 | This driver can also be built as module. If so, the module | |
985 | will be called i2c-st. | |
986 | ||
62817fc8 CM |
987 | config I2C_STM32F4 |
988 | tristate "STMicroelectronics STM32F4 I2C support" | |
989 | depends on ARCH_STM32 || COMPILE_TEST | |
990 | help | |
991 | Enable this option to add support for STM32 I2C controller embedded | |
992 | in STM32F4 SoCs. | |
993 | ||
994 | This driver can also be built as module. If so, the module | |
995 | will be called i2c-stm32f4. | |
996 | ||
aeb068c5 PYM |
997 | config I2C_STM32F7 |
998 | tristate "STMicroelectronics STM32F7 I2C support" | |
999 | depends on ARCH_STM32 || COMPILE_TEST | |
60d609f3 | 1000 | select I2C_SLAVE |
aeb068c5 PYM |
1001 | help |
1002 | Enable this option to add support for STM32 I2C controller embedded | |
1003 | in STM32F7 SoCs. | |
1004 | ||
1005 | This driver can also be built as module. If so, the module | |
1006 | will be called i2c-stm32f7. | |
1007 | ||
18904c0e LW |
1008 | config I2C_STU300 |
1009 | tristate "ST Microelectronics DDC I2C interface" | |
4eaad8ad | 1010 | depends on MACH_U300 |
18904c0e LW |
1011 | default y if MACH_U300 |
1012 | help | |
1013 | If you say yes to this option, support will be included for the | |
1014 | I2C interface from ST Microelectronics simply called "DDC I2C" | |
1015 | supporting both I2C and DDC, used in e.g. the U300 series | |
1016 | mobile platforms. | |
1017 | ||
1018 | This driver can also be built as a module. If so, the module | |
1019 | will be called i2c-stu300. | |
1020 | ||
3e833490 BB |
1021 | config I2C_SUN6I_P2WI |
1022 | tristate "Allwinner sun6i internal P2WI controller" | |
1023 | depends on RESET_CONTROLLER | |
1024 | depends on MACH_SUN6I || COMPILE_TEST | |
1025 | help | |
1026 | If you say yes to this option, support will be included for the | |
1027 | P2WI (Push/Pull 2 Wire Interface) controller embedded in some sunxi | |
1028 | SOCs. | |
1029 | The P2WI looks like an SMBus controller (which supports only byte | |
1030 | accesses), except that it only supports one slave device. | |
1031 | This interface is used to connect to specific PMIC devices (like the | |
1032 | AXP221). | |
1033 | ||
0d676a6c AB |
1034 | config I2C_SYNQUACER |
1035 | tristate "Socionext SynQuacer I2C controller" | |
1036 | depends on ARCH_SYNQUACER || COMPILE_TEST | |
1037 | help | |
1038 | Say Y here to include support for the I2C controller used in some | |
1039 | Fujitsu and Socionext SoCs. | |
1040 | ||
1041 | This driver can also be built as a module. If so, the module | |
1042 | will be called i2c-synquacer. | |
1043 | ||
db811ca0 CC |
1044 | config I2C_TEGRA |
1045 | tristate "NVIDIA Tegra internal I2C controller" | |
1046 | depends on ARCH_TEGRA | |
1047 | help | |
1048 | If you say yes to this option, support will be included for the | |
1049 | I2C controller embedded in NVIDIA Tegra SOCs | |
1050 | ||
0297ffa6 SSM |
1051 | config I2C_TEGRA_BPMP |
1052 | tristate "NVIDIA Tegra BPMP I2C controller" | |
1053 | depends on TEGRA_BPMP | |
1ae5214a | 1054 | default y |
0297ffa6 SSM |
1055 | help |
1056 | If you say yes to this option, support will be included for the I2C | |
1057 | controller embedded in NVIDIA Tegra SoCs accessed via the BPMP. | |
1058 | ||
1059 | This I2C driver is a 'virtual' I2C driver. The real driver is part | |
1060 | of the BPMP firmware, and this driver merely communicates with that | |
1061 | real driver. | |
1062 | ||
dd6fd4a3 MY |
1063 | config I2C_UNIPHIER |
1064 | tristate "UniPhier FIFO-less I2C controller" | |
61c18aeb | 1065 | depends on ARCH_UNIPHIER || COMPILE_TEST |
dd6fd4a3 MY |
1066 | help |
1067 | If you say yes to this option, support will be included for | |
1068 | the UniPhier FIFO-less I2C interface embedded in PH1-LD4, PH1-sLD8, | |
1069 | or older UniPhier SoCs. | |
1070 | ||
6a62974b MY |
1071 | config I2C_UNIPHIER_F |
1072 | tristate "UniPhier FIFO-builtin I2C controller" | |
61c18aeb | 1073 | depends on ARCH_UNIPHIER || COMPILE_TEST |
6a62974b MY |
1074 | help |
1075 | If you say yes to this option, support will be included for | |
1076 | the UniPhier FIFO-builtin I2C interface embedded in PH1-Pro4, | |
1077 | PH1-Pro5, or newer UniPhier SoCs. | |
1078 | ||
f5b728a1 JD |
1079 | config I2C_VERSATILE |
1080 | tristate "ARM Versatile/Realview I2C bus support" | |
5871a153 | 1081 | depends on ARCH_MPS2 || ARCH_VERSATILE || ARCH_REALVIEW || ARCH_VEXPRESS || COMPILE_TEST |
1da177e4 LT |
1082 | select I2C_ALGOBIT |
1083 | help | |
f5b728a1 JD |
1084 | Say yes if you want to support the I2C serial bus on ARMs Versatile |
1085 | range of platforms. | |
1da177e4 | 1086 | |
f5b728a1 JD |
1087 | This driver can also be built as a module. If so, the module |
1088 | will be called i2c-versatile. | |
1da177e4 | 1089 | |
560746eb TP |
1090 | config I2C_WMT |
1091 | tristate "Wondermedia WM8xxx SoC I2C bus support" | |
1092 | depends on ARCH_VT8500 | |
1093 | help | |
1094 | Say yes if you want to support the I2C bus on Wondermedia 8xxx-series | |
1095 | SoCs. | |
1096 | ||
1097 | This driver can also be built as a module. If so, the module will be | |
1098 | called i2c-wmt. | |
1099 | ||
85660f43 RB |
1100 | config I2C_OCTEON |
1101 | tristate "Cavium OCTEON I2C bus support" | |
9ddebc46 | 1102 | depends on CAVIUM_OCTEON_SOC |
85660f43 RB |
1103 | help |
1104 | Say yes if you want to support the I2C serial bus on Cavium | |
1105 | OCTEON SOC. | |
1106 | ||
1107 | This driver can also be built as a module. If so, the module | |
1108 | will be called i2c-octeon. | |
1109 | ||
22d40209 JG |
1110 | config I2C_THUNDERX |
1111 | tristate "Cavium ThunderX I2C bus support" | |
1112 | depends on 64BIT && PCI && (ARM64 || COMPILE_TEST) | |
1e586671 | 1113 | select I2C_SMBUS |
22d40209 JG |
1114 | help |
1115 | Say yes if you want to support the I2C serial bus on Cavium | |
1116 | ThunderX SOC. | |
1117 | ||
1118 | This driver can also be built as a module. If so, the module | |
1119 | will be called i2c-thunderx. | |
1120 | ||
e1d5b659 RR |
1121 | config I2C_XILINX |
1122 | tristate "Xilinx I2C Controller" | |
417e86ce | 1123 | depends on HAS_IOMEM |
e1d5b659 RR |
1124 | help |
1125 | If you say yes to this option, support will be included for the | |
1126 | Xilinx I2C controller. | |
1127 | ||
1128 | This driver can also be built as a module. If so, the module | |
1129 | will be called xilinx_i2c. | |
1130 | ||
401c3434 | 1131 | config I2C_XLR |
75d31c23 | 1132 | tristate "Netlogic XLR and Sigma Designs I2C support" |
e3879e4f | 1133 | depends on CPU_XLR || ARCH_TANGO |
401c3434 GR |
1134 | help |
1135 | This driver enables support for the on-chip I2C interface of | |
75d31c23 | 1136 | the Netlogic XLR/XLS MIPS processors and Sigma Designs SOCs. |
401c3434 GR |
1137 | |
1138 | This driver can also be built as a module. If so, the module | |
1139 | will be called i2c-xlr. | |
1140 | ||
2bbd681b SSB |
1141 | config I2C_XLP9XX |
1142 | tristate "XLP9XX I2C support" | |
4165bd4b | 1143 | depends on CPU_XLP || ARCH_THUNDER2 || COMPILE_TEST |
2bbd681b SSB |
1144 | help |
1145 | This driver enables support for the on-chip I2C interface of | |
8574ad78 | 1146 | the Broadcom XLP9xx/XLP5xx MIPS and Vulcan ARM64 processors. |
2bbd681b SSB |
1147 | |
1148 | This driver can also be built as a module. If so, the module will | |
1149 | be called i2c-xlp9xx. | |
1150 | ||
6ccbe607 KM |
1151 | config I2C_RCAR |
1152 | tristate "Renesas R-Car I2C Controller" | |
07316149 | 1153 | depends on ARCH_RENESAS || COMPILE_TEST |
d5fd120e | 1154 | select I2C_SLAVE |
6ccbe607 KM |
1155 | help |
1156 | If you say yes to this option, support will be included for the | |
1157 | R-Car I2C controller. | |
1158 | ||
1159 | This driver can also be built as a module. If so, the module | |
1160 | will be called i2c-rcar. | |
1161 | ||
f5b728a1 | 1162 | comment "External I2C/SMBus adapter drivers" |
11de70bd | 1163 | |
335d7c58 GR |
1164 | config I2C_DIOLAN_U2C |
1165 | tristate "Diolan U2C-12 USB adapter" | |
1166 | depends on USB | |
1167 | help | |
1168 | If you say yes to this option, support will be included for Diolan | |
1169 | U2C-12, a USB to I2C interface. | |
1170 | ||
1171 | This driver can also be built as a module. If so, the module | |
1172 | will be called i2c-diolan-u2c. | |
1173 | ||
db23e500 LP |
1174 | config I2C_DLN2 |
1175 | tristate "Diolan DLN-2 USB I2C adapter" | |
1176 | depends on MFD_DLN2 | |
1177 | help | |
1178 | If you say yes to this option, support will be included for Diolan | |
1179 | DLN2, a USB to I2C interface. | |
1180 | ||
1181 | This driver can also be built as a module. If so, the module | |
1182 | will be called i2c-dln2. | |
1183 | ||
f5b728a1 JD |
1184 | config I2C_PARPORT |
1185 | tristate "Parallel port adapter" | |
0244ad00 | 1186 | depends on PARPORT |
f5b728a1 | 1187 | select I2C_ALGOBIT |
35859254 | 1188 | select I2C_SMBUS |
1da177e4 | 1189 | help |
f5b728a1 JD |
1190 | This supports parallel port I2C adapters such as the ones made by |
1191 | Philips or Velleman, Analog Devices evaluation boards, and more. | |
1192 | Basically any adapter using the parallel port as an I2C bus with | |
1193 | no extra chipset is supported by this driver, or could be. | |
1da177e4 | 1194 | |
f5b728a1 JD |
1195 | This driver is a replacement for (and was inspired by) an older |
1196 | driver named i2c-philips-par. The new driver supports more devices, | |
1197 | and makes it easier to add support for new devices. | |
1da177e4 | 1198 | |
f5b728a1 JD |
1199 | An adapter type parameter is now mandatory. Please read the file |
1200 | Documentation/i2c/busses/i2c-parport for details. | |
1da177e4 | 1201 | |
f5b728a1 JD |
1202 | Another driver exists, named i2c-parport-light, which doesn't depend |
1203 | on the parport driver. This is meant for embedded systems. Don't say | |
1204 | Y here if you intend to say Y or M there. | |
1da177e4 | 1205 | |
4c03f68f | 1206 | This support is also available as a module. If so, the module |
f5b728a1 | 1207 | will be called i2c-parport. |
1da177e4 | 1208 | |
f5b728a1 JD |
1209 | config I2C_PARPORT_LIGHT |
1210 | tristate "Parallel port adapter (light)" | |
1211 | select I2C_ALGOBIT | |
927ab2f8 | 1212 | select I2C_SMBUS |
1da177e4 | 1213 | help |
f5b728a1 JD |
1214 | This supports parallel port I2C adapters such as the ones made by |
1215 | Philips or Velleman, Analog Devices evaluation boards, and more. | |
1216 | Basically any adapter using the parallel port as an I2C bus with | |
1217 | no extra chipset is supported by this driver, or could be. | |
1da177e4 | 1218 | |
f5b728a1 JD |
1219 | This driver is a light version of i2c-parport. It doesn't depend |
1220 | on the parport driver, and uses direct I/O access instead. This | |
1221 | might be preferred on embedded systems where wasting memory for | |
1222 | the clean but heavy parport handling is not an option. The | |
1223 | drawback is a reduced portability and the impossibility to | |
1224 | daisy-chain other parallel port devices. | |
1da177e4 | 1225 | |
f5b728a1 JD |
1226 | Don't say Y here if you said Y or M to i2c-parport. Saying M to |
1227 | both is possible but both modules should not be loaded at the same | |
1228 | time. | |
1da177e4 | 1229 | |
f5b728a1 JD |
1230 | This support is also available as a module. If so, the module |
1231 | will be called i2c-parport-light. | |
1da177e4 | 1232 | |
83e53a8f AL |
1233 | config I2C_ROBOTFUZZ_OSIF |
1234 | tristate "RobotFuzz Open Source InterFace USB adapter" | |
1235 | depends on USB | |
1236 | help | |
1237 | If you say yes to this option, support will be included for the | |
1238 | RobotFuzz Open Source InterFace USB to I2C interface. | |
1239 | ||
1240 | This driver can also be built as a module. If so, the module | |
1241 | will be called i2c-osif. | |
1242 | ||
b9cdad74 JD |
1243 | config I2C_TAOS_EVM |
1244 | tristate "TAOS evaluation module" | |
21eaab6d | 1245 | depends on TTY |
b9cdad74 JD |
1246 | select SERIO |
1247 | select SERIO_SERPORT | |
1248 | default n | |
1249 | help | |
1250 | This supports TAOS evaluation modules on serial port. In order to | |
1251 | use this driver, you will need the inputattach tool, which is part | |
1252 | of the input-utils package. | |
1253 | ||
1254 | If unsure, say N. | |
1255 | ||
1256 | This support is also available as a module. If so, the module | |
1257 | will be called i2c-taos-evm. | |
1258 | ||
e8c76eed | 1259 | config I2C_TINY_USB |
f5b728a1 | 1260 | tristate "Tiny-USB adapter" |
e8c76eed TH |
1261 | depends on USB |
1262 | help | |
1263 | If you say yes to this option, support will be included for the | |
1264 | i2c-tiny-usb, a simple do-it-yourself USB to I2C interface. See | |
1265 | http://www.harbaum.org/till/i2c_tiny_usb for hardware details. | |
1266 | ||
1267 | This driver can also be built as a module. If so, the module | |
1268 | will be called i2c-tiny-usb. | |
1269 | ||
174a13aa LP |
1270 | config I2C_VIPERBOARD |
1271 | tristate "Viperboard I2C master support" | |
1272 | depends on MFD_VIPERBOARD && USB | |
1273 | help | |
1274 | Say yes here to access the I2C part of the Nano River | |
1275 | Technologies Viperboard as I2C master. | |
1276 | See viperboard API specification and Nano | |
1277 | River Tech's viperboard.h for detailed meaning | |
1278 | of the module parameters. | |
1279 | ||
f5b728a1 | 1280 | comment "Other I2C/SMBus bus drivers" |
6b65cd74 | 1281 | |
8d91cbad | 1282 | config I2C_ACORN |
2a9915c8 | 1283 | tristate "Acorn IOC/IOMD I2C bus support" |
16538e6b | 1284 | depends on ARCH_ACORN |
8d91cbad RK |
1285 | default y |
1286 | select I2C_ALGOBIT | |
1287 | help | |
1288 | Say yes if you want to support the I2C bus on Acorn platforms. | |
1289 | ||
1290 | If you don't know, say Y. | |
1291 | ||
f5b728a1 JD |
1292 | config I2C_ELEKTOR |
1293 | tristate "Elektor ISA card" | |
ce816fa8 | 1294 | depends on ISA && HAS_IOPORT_MAP && BROKEN_ON_SMP |
f5b728a1 | 1295 | select I2C_ALGOPCF |
1da177e4 | 1296 | help |
f5b728a1 JD |
1297 | This supports the PCF8584 ISA bus I2C adapter. Say Y if you own |
1298 | such an adapter. | |
1da177e4 | 1299 | |
f5b728a1 JD |
1300 | This support is also available as a module. If so, the module |
1301 | will be called i2c-elektor. | |
1da177e4 | 1302 | |
6bec23bf VP |
1303 | config I2C_MLXCPLD |
1304 | tristate "Mellanox I2C driver" | |
1305 | depends on X86_64 | |
1306 | help | |
1307 | This exposes the Mellanox platform I2C busses to the linux I2C layer | |
1308 | for X86 based systems. | |
1309 | Controller is implemented as CPLD logic. | |
1310 | ||
1311 | This driver can also be built as a module. If so, the module will be | |
1312 | called as i2c-mlxcpld. | |
1313 | ||
1da177e4 | 1314 | config I2C_PCA_ISA |
eff9ec95 | 1315 | tristate "PCA9564/PCA9665 on an ISA bus" |
16538e6b | 1316 | depends on ISA |
1da177e4 | 1317 | select I2C_ALGOPCA |
aee62305 | 1318 | default n |
1da177e4 | 1319 | help |
eff9ec95 | 1320 | This driver supports ISA boards using the Philips PCA9564/PCA9665 |
244fbbb8 | 1321 | parallel bus to I2C bus controller. |
4c03f68f | 1322 | |
1da177e4 LT |
1323 | This driver can also be built as a module. If so, the module |
1324 | will be called i2c-pca-isa. | |
1325 | ||
aee62305 JD |
1326 | This device is almost undetectable and using this driver on a |
1327 | system which doesn't have this device will result in long | |
1328 | delays when I2C/SMBus chip drivers are loaded (e.g. at boot | |
1329 | time). If unsure, say N. | |
1330 | ||
f5b728a1 JD |
1331 | config I2C_SIBYTE |
1332 | tristate "SiByte SMBus interface" | |
1333 | depends on SIBYTE_SB1xxx_SOC | |
a26c20b1 | 1334 | help |
f5b728a1 | 1335 | Supports the SiByte SOC on-chip I2C interfaces (2 channels). |
a26c20b1 | 1336 | |
9d230c9e DA |
1337 | config I2C_CROS_EC_TUNNEL |
1338 | tristate "ChromeOS EC tunnel I2C bus" | |
480b141a | 1339 | depends on MFD_CROS_EC |
9d230c9e DA |
1340 | help |
1341 | If you say yes here you get an I2C bus that will tunnel i2c commands | |
1342 | through to the other side of the ChromeOS EC to the i2c bus | |
1343 | connected there. This will work whatever the interface used to | |
1344 | talk to the EC (SPI, I2C or LPC). | |
1345 | ||
f6505fba FK |
1346 | config I2C_XGENE_SLIMPRO |
1347 | tristate "APM X-Gene SoC I2C SLIMpro devices support" | |
1348 | depends on ARCH_XGENE && MAILBOX | |
1349 | help | |
1350 | Enable I2C bus access using the APM X-Gene SoC SLIMpro | |
1351 | co-processor. The I2C device access the I2C bus via the X-Gene | |
1352 | to SLIMpro (On chip coprocessor) mailbox mechanism. | |
1353 | If unsure, say N. | |
1354 | ||
f5b728a1 JD |
1355 | config SCx200_ACB |
1356 | tristate "Geode ACCESS.bus support" | |
1357 | depends on X86_32 && PCI | |
1358 | help | |
1359 | Enable the use of the ACCESS.bus controllers on the Geode SCx200 and | |
1360 | SC1100 processors and the CS5535 and CS5536 Geode companion devices. | |
1361 | ||
1362 | If you don't know what to do here, say N. | |
1363 | ||
1364 | This support is also available as a module. If so, the module | |
1365 | will be called scx200_acb. | |
da672773 | 1366 | |
47083450 NG |
1367 | config I2C_OPAL |
1368 | tristate "IBM OPAL I2C driver" | |
1369 | depends on PPC_POWERNV | |
1370 | default y | |
1371 | help | |
1372 | This exposes the PowerNV platform i2c busses to the linux i2c layer, | |
1373 | the driver is based on the OPAL interfaces. | |
1374 | ||
1375 | This driver can also be built as a module. If so, the module will be | |
1376 | called as i2c-opal. | |
1377 | ||
9615a01f BX |
1378 | config I2C_ZX2967 |
1379 | tristate "ZTE ZX2967 I2C support" | |
86766a3e | 1380 | depends on ARCH_ZX |
9615a01f BX |
1381 | default y |
1382 | help | |
1383 | Selecting this option will add ZX2967 I2C driver. | |
1384 | This driver can also be built as a module. If so, the module will be | |
1385 | called i2c-zx2967. | |
1386 | ||
d6ffb630 EJ |
1387 | config I2C_FSI |
1388 | tristate "FSI I2C driver" | |
1389 | depends on FSI | |
1390 | help | |
1391 | Driver for FSI bus attached I2C masters. These are I2C masters that | |
1392 | are connected to the system over an FSI bus, instead of the more | |
1393 | common PCI or MMIO interface. | |
1394 | ||
1395 | This driver can also be built as a module. If so, the module will be | |
1396 | called as i2c-fsi. | |
1397 | ||
1da177e4 | 1398 | endmenu |