]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blob - drivers/i2c/busses/Kconfig
mtd: nand: atmel: Relax tADL_min constraint
[mirror_ubuntu-artful-kernel.git] / drivers / i2c / busses / Kconfig
1 #
2 # Sensor device configuration
3 #
4
5 menu "I2C Hardware Bus support"
6 depends on HAS_IOMEM
7
8 comment "PC SMBus host controller drivers"
9 depends on PCI
10
11 config I2C_ALI1535
12 tristate "ALI 1535"
13 depends on PCI
14 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
23 config I2C_ALI1563
24 tristate "ALI 1563"
25 depends on PCI
26 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
35 config I2C_ALI15X3
36 tristate "ALI 15x3"
37 depends on PCI
38 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
45 config I2C_AMD756
46 tristate "AMD 756/766/768/8111 and nVidia nForce"
47 depends on PCI
48 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
57 config I2C_AMD756_S4882
58 tristate "SMBus multiplexing on the Tyan S4882"
59 depends on I2C_AMD756 && X86
60 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
70 config I2C_AMD8111
71 tristate "AMD 8111"
72 depends on PCI
73 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
80 config I2C_HIX5HD2
81 tristate "Hix5hd2 high-speed I2C driver"
82 depends on ARCH_HISI || ARCH_HIX5HD2 || COMPILE_TEST
83 help
84 Say Y here to include support for the high-speed I2C controller
85 used in HiSilicon hix5hd2 SoCs.
86
87 This driver can also be built as a module. If so, the module
88 will be called i2c-hix5hd2.
89
90 config I2C_I801
91 tristate "Intel 82801 (ICH/PCH)"
92 depends on PCI
93 select CHECK_SIGNATURE if X86 && DMI
94 select I2C_SMBUS
95 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
111 EP80579 (Tolapai)
112 ICH10
113 5/3400 Series (PCH)
114 6 Series (PCH)
115 Patsburg (PCH)
116 DH89xxCC (PCH)
117 Panther Point (PCH)
118 Lynx Point (PCH)
119 Lynx Point-LP (PCH)
120 Avoton (SOC)
121 Wellsburg (PCH)
122 Coleto Creek (PCH)
123 Wildcat Point (PCH)
124 Wildcat Point-LP (PCH)
125 BayTrail (SOC)
126 Sunrise Point-H (PCH)
127 Sunrise Point-LP (PCH)
128 DNV (SOC)
129 Broxton (SOC)
130 Lewisburg (PCH)
131 Gemini Lake (SOC)
132 Cannon Lake-H (PCH)
133 Cannon Lake-LP (PCH)
134
135 This driver can also be built as a module. If so, the module
136 will be called i2c-i801.
137
138 config I2C_ISCH
139 tristate "Intel SCH SMBus 1.0"
140 depends on PCI
141 select LPC_SCH
142 help
143 Say Y here if you want to use SMBus controller on the Intel SCH
144 based systems.
145
146 This driver can also be built as a module. If so, the module
147 will be called i2c-isch.
148
149 config I2C_ISMT
150 tristate "Intel iSMT SMBus Controller"
151 depends on PCI && X86
152 help
153 If you say yes to this option, support will be included for the Intel
154 iSMT SMBus host controller interface.
155
156 This driver can also be built as a module. If so, the module will be
157 called i2c-ismt.
158
159 config I2C_PIIX4
160 tristate "Intel PIIX4 and compatible (ATI/AMD/Serverworks/Broadcom/SMSC)"
161 depends on PCI
162 help
163 If you say yes to this option, support will be included for the Intel
164 PIIX4 family of mainboard I2C interfaces. Specifically, the following
165 versions of the chipset are supported (note that Serverworks is part
166 of Broadcom):
167 Intel PIIX4
168 Intel 440MX
169 ATI IXP200
170 ATI IXP300
171 ATI IXP400
172 ATI SB600
173 ATI SB700/SP5100
174 ATI SB800
175 AMD Hudson-2
176 AMD ML
177 AMD CZ
178 Serverworks OSB4
179 Serverworks CSB5
180 Serverworks CSB6
181 Serverworks HT-1000
182 Serverworks HT-1100
183 SMSC Victory66
184
185 Some AMD chipsets contain two PIIX4-compatible SMBus
186 controllers. This driver will attempt to use both controllers
187 on the SB700/SP5100, if they have been initialized by the BIOS.
188
189 This driver can also be built as a module. If so, the module
190 will be called i2c-piix4.
191
192 config I2C_NFORCE2
193 tristate "Nvidia nForce2, nForce3 and nForce4"
194 depends on PCI
195 help
196 If you say yes to this option, support will be included for the Nvidia
197 nForce2, nForce3 and nForce4 families of mainboard I2C interfaces.
198
199 This driver can also be built as a module. If so, the module
200 will be called i2c-nforce2.
201
202 config I2C_NFORCE2_S4985
203 tristate "SMBus multiplexing on the Tyan S4985"
204 depends on I2C_NFORCE2 && X86
205 help
206 Enabling this option will add specific SMBus support for the Tyan
207 S4985 motherboard. On this 4-CPU board, the SMBus is multiplexed
208 over 4 different channels, where the various memory module EEPROMs
209 live. Saying yes here will give you access to these in addition
210 to the trunk.
211
212 This driver can also be built as a module. If so, the module
213 will be called i2c-nforce2-s4985.
214
215 config I2C_SIS5595
216 tristate "SiS 5595"
217 depends on PCI
218 help
219 If you say yes to this option, support will be included for the
220 SiS5595 SMBus (a subset of I2C) interface.
221
222 This driver can also be built as a module. If so, the module
223 will be called i2c-sis5595.
224
225 config I2C_SIS630
226 tristate "SiS 630/730/964"
227 depends on PCI
228 help
229 If you say yes to this option, support will be included for the
230 SiS630, SiS730 and SiS964 SMBus (a subset of I2C) interface.
231
232 This driver can also be built as a module. If so, the module
233 will be called i2c-sis630.
234
235 config I2C_SIS96X
236 tristate "SiS 96x"
237 depends on PCI
238 help
239 If you say yes to this option, support will be included for the SiS
240 96x SMBus (a subset of I2C) interfaces. Specifically, the following
241 chipsets are supported:
242 645/961
243 645DX/961
244 645DX/962
245 648/961
246 650/961
247 735
248 745
249
250 This driver can also be built as a module. If so, the module
251 will be called i2c-sis96x.
252
253 config I2C_VIA
254 tristate "VIA VT82C586B"
255 depends on PCI
256 select I2C_ALGOBIT
257 help
258 If you say yes to this option, support will be included for the VIA
259 82C586B I2C interface
260
261 This driver can also be built as a module. If so, the module
262 will be called i2c-via.
263
264 config I2C_VIAPRO
265 tristate "VIA VT82C596/82C686/82xx and CX700/VX8xx/VX900"
266 depends on PCI
267 help
268 If you say yes to this option, support will be included for the VIA
269 VT82C596 and later SMBus interface. Specifically, the following
270 chipsets are supported:
271 VT82C596A/B
272 VT82C686A/B
273 VT8231
274 VT8233/A
275 VT8235
276 VT8237R/A/S
277 VT8251
278 CX700
279 VX800/VX820
280 VX855/VX875
281 VX900
282
283 This driver can also be built as a module. If so, the module
284 will be called i2c-viapro.
285
286 if ACPI
287
288 comment "ACPI drivers"
289
290 config I2C_SCMI
291 tristate "SMBus Control Method Interface"
292 help
293 This driver supports the SMBus Control Method Interface. It needs the
294 BIOS to declare ACPI control methods as described in the SMBus Control
295 Method Interface specification.
296
297 To compile this driver as a module, choose M here:
298 the module will be called i2c-scmi.
299
300 endif # ACPI
301
302 comment "Mac SMBus host controller drivers"
303 depends on PPC_CHRP || PPC_PMAC
304
305 config I2C_HYDRA
306 tristate "CHRP Apple Hydra Mac I/O I2C interface"
307 depends on PCI && PPC_CHRP
308 select I2C_ALGOBIT
309 help
310 This supports the use of the I2C interface in the Apple Hydra Mac
311 I/O chip on some CHRP machines (e.g. the LongTrail). Say Y if you
312 have such a machine.
313
314 This support is also available as a module. If so, the module
315 will be called i2c-hydra.
316
317 config I2C_POWERMAC
318 tristate "Powermac I2C interface"
319 depends on PPC_PMAC
320 default y
321 help
322 This exposes the various PowerMac i2c interfaces to the linux i2c
323 layer and to userland. It is used by various drivers on the PowerMac
324 platform, and should generally be enabled.
325
326 This support is also available as a module. If so, the module
327 will be called i2c-powermac.
328
329 comment "I2C system bus drivers (mostly embedded / system-on-chip)"
330
331 config I2C_ASPEED
332 tristate "Aspeed I2C Controller"
333 depends on ARCH_ASPEED || COMPILE_TEST
334 help
335 If you say yes to this option, support will be included for the
336 Aspeed I2C controller.
337
338 This driver can also be built as a module. If so, the module
339 will be called i2c-aspeed.
340
341 config I2C_AT91
342 tristate "Atmel AT91 I2C Two-Wire interface (TWI)"
343 depends on ARCH_AT91
344 help
345 This supports the use of the I2C interface on Atmel AT91
346 processors.
347
348 A serious problem is that there is no documented way to issue
349 repeated START conditions for more than two messages, as needed
350 to support combined I2C messages. Use the i2c-gpio driver
351 unless your system can cope with this limitation.
352
353 Caution! at91rm9200, at91sam9261, at91sam9260, at91sam9263 devices
354 don't have clock stretching in transmission mode. For that reason,
355 you can encounter underrun issues causing premature stop sendings if
356 the latency to fill the transmission register is too long. If you
357 are facing this situation, use the i2c-gpio driver.
358
359 config I2C_AU1550
360 tristate "Au1550/Au1200/Au1300 SMBus interface"
361 depends on MIPS_ALCHEMY
362 help
363 If you say yes to this option, support will be included for the
364 Au1550/Au1200/Au1300 SMBus interface.
365
366 This driver can also be built as a module. If so, the module
367 will be called i2c-au1550.
368
369 config I2C_AXXIA
370 tristate "Axxia I2C controller"
371 depends on ARCH_AXXIA || COMPILE_TEST
372 default ARCH_AXXIA
373 help
374 Say yes if you want to support the I2C bus on Axxia platforms.
375
376 Please note that this controller is limited to transfers of maximum
377 255 bytes in length. Any attempt to to a larger transfer will return
378 an error.
379
380 config I2C_BCM2835
381 tristate "Broadcom BCM2835 I2C controller"
382 depends on ARCH_BCM2835
383 help
384 If you say yes to this option, support will be included for the
385 BCM2835 I2C controller.
386
387 If you don't know what to do here, say N.
388
389 This support is also available as a module. If so, the module
390 will be called i2c-bcm2835.
391
392 config I2C_BCM_IPROC
393 tristate "Broadcom iProc I2C controller"
394 depends on ARCH_BCM_IPROC || COMPILE_TEST
395 default ARCH_BCM_IPROC
396 help
397 If you say yes to this option, support will be included for the
398 Broadcom iProc I2C controller.
399
400 If you don't know what to do here, say N.
401
402 config I2C_BCM_KONA
403 tristate "BCM Kona I2C adapter"
404 depends on ARCH_BCM_MOBILE
405 default y
406 help
407 If you say yes to this option, support will be included for the
408 I2C interface on the Broadcom Kona family of processors.
409
410 If you do not need KONA I2C interface, say N.
411
412 config I2C_BRCMSTB
413 tristate "BRCM Settop I2C controller"
414 depends on ARCH_BRCMSTB || BMIPS_GENERIC || COMPILE_TEST
415 default y
416 help
417 If you say yes to this option, support will be included for the
418 I2C interface on the Broadcom Settop SoCs.
419
420 If you do not need I2C interface, say N.
421
422 config I2C_BLACKFIN_TWI
423 tristate "Blackfin TWI I2C support"
424 depends on BLACKFIN
425 depends on !BF561 && !BF531 && !BF532 && !BF533
426 help
427 This is the I2C bus driver for Blackfin on-chip TWI interface.
428
429 This driver can also be built as a module. If so, the module
430 will be called i2c-bfin-twi.
431
432 config I2C_BLACKFIN_TWI_CLK_KHZ
433 int "Blackfin TWI I2C clock (kHz)"
434 depends on I2C_BLACKFIN_TWI
435 range 21 400
436 default 50
437 help
438 The unit of the TWI clock is kHz.
439
440 config I2C_CADENCE
441 tristate "Cadence I2C Controller"
442 depends on ARCH_ZYNQ || ARM64 || XTENSA
443 help
444 Say yes here to select Cadence I2C Host Controller. This controller is
445 e.g. used by Xilinx Zynq.
446
447 config I2C_CBUS_GPIO
448 tristate "CBUS I2C driver"
449 depends on GPIOLIB || COMPILE_TEST
450 help
451 Support for CBUS access using I2C API. Mostly relevant for Nokia
452 Internet Tablets (770, N800 and N810).
453
454 This driver can also be built as a module. If so, the module
455 will be called i2c-cbus-gpio.
456
457 config I2C_CPM
458 tristate "Freescale CPM1 or CPM2 (MPC8xx/826x)"
459 depends on CPM1 || CPM2
460 help
461 This supports the use of the I2C interface on Freescale
462 processors with CPM1 or CPM2.
463
464 This driver can also be built as a module. If so, the module
465 will be called i2c-cpm.
466
467 config I2C_DAVINCI
468 tristate "DaVinci I2C driver"
469 depends on ARCH_DAVINCI || ARCH_KEYSTONE
470 help
471 Support for TI DaVinci I2C controller driver.
472
473 This driver can also be built as a module. If so, the module
474 will be called i2c-davinci.
475
476 Please note that this driver might be needed to bring up other
477 devices such as DaVinci NIC.
478 For details please see http://www.ti.com/davinci
479
480 config I2C_DESIGNWARE_CORE
481 tristate
482
483 config I2C_DESIGNWARE_PLATFORM
484 tristate "Synopsys DesignWare Platform"
485 select I2C_DESIGNWARE_CORE
486 depends on (ACPI && COMMON_CLK) || !ACPI
487 help
488 If you say yes to this option, support will be included for the
489 Synopsys DesignWare I2C adapter.
490
491 This driver can also be built as a module. If so, the module
492 will be called i2c-designware-platform.
493
494 config I2C_DESIGNWARE_SLAVE
495 bool "Synopsys DesignWare Slave"
496 select I2C_SLAVE
497 depends on I2C_DESIGNWARE_PLATFORM
498 help
499 If you say yes to this option, support will be included for the
500 Synopsys DesignWare I2C slave adapter.
501
502 This is not a standalone module, this module compiles together with
503 i2c-designware-core.
504
505 config I2C_DESIGNWARE_PCI
506 tristate "Synopsys DesignWare PCI"
507 depends on PCI
508 select I2C_DESIGNWARE_CORE
509 help
510 If you say yes to this option, support will be included for the
511 Synopsys DesignWare I2C adapter. Only master mode is supported.
512
513 This driver can also be built as a module. If so, the module
514 will be called i2c-designware-pci.
515
516 config I2C_DESIGNWARE_BAYTRAIL
517 bool "Intel Baytrail I2C semaphore support"
518 depends on ACPI
519 depends on (I2C_DESIGNWARE_PLATFORM=m && IOSF_MBI) || \
520 (I2C_DESIGNWARE_PLATFORM=y && IOSF_MBI=y)
521 help
522 This driver enables managed host access to the PMIC I2C bus on select
523 Intel BayTrail platforms using the X-Powers AXP288 PMIC. It allows
524 the host to request uninterrupted access to the PMIC's I2C bus from
525 the platform firmware controlling it. You should say Y if running on
526 a BayTrail system using the AXP288.
527
528 config I2C_DIGICOLOR
529 tristate "Conexant Digicolor I2C driver"
530 depends on ARCH_DIGICOLOR
531 help
532 Support for Conexant Digicolor SoCs (CX92755) I2C controller driver.
533
534 This driver can also be built as a module. If so, the module
535 will be called i2c-digicolor.
536
537 config I2C_EFM32
538 tristate "EFM32 I2C controller"
539 depends on ARCH_EFM32 || COMPILE_TEST
540 help
541 This driver supports the i2c block found in Energy Micro's EFM32
542 SoCs.
543
544 config I2C_EG20T
545 tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) I2C"
546 depends on PCI && (X86_32 || MIPS || COMPILE_TEST)
547 help
548 This driver is for PCH(Platform controller Hub) I2C of EG20T which
549 is an IOH(Input/Output Hub) for x86 embedded processor.
550 This driver can access PCH I2C bus device.
551
552 This driver also can be used for LAPIS Semiconductor IOH(Input/
553 Output Hub), ML7213, ML7223 and ML7831.
554 ML7213 IOH is for IVI(In-Vehicle Infotainment) use, ML7223 IOH is
555 for MP(Media Phone) use and ML7831 IOH is for general purpose use.
556 ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series.
557 ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH.
558
559 config I2C_EMEV2
560 tristate "EMMA Mobile series I2C adapter"
561 depends on HAVE_CLK
562 select I2C_SLAVE
563 help
564 If you say yes to this option, support will be included for the
565 I2C interface on the Renesas Electronics EM/EV family of processors.
566
567 config I2C_EXYNOS5
568 tristate "Exynos5 high-speed I2C driver"
569 depends on ARCH_EXYNOS && OF
570 default y
571 help
572 High-speed I2C controller on Exynos5 based Samsung SoCs.
573
574 config I2C_GPIO
575 tristate "GPIO-based bitbanging I2C"
576 depends on GPIOLIB || COMPILE_TEST
577 select I2C_ALGOBIT
578 help
579 This is a very simple bitbanging I2C driver utilizing the
580 arch-neutral GPIO API to control the SCL and SDA lines.
581
582 config I2C_HIGHLANDER
583 tristate "Highlander FPGA SMBus interface"
584 depends on SH_HIGHLANDER
585 help
586 If you say yes to this option, support will be included for
587 the SMBus interface located in the FPGA on various Highlander
588 boards, particularly the R0P7780LC0011RL and R0P7785LC0011RL
589 FPGAs. This is wholly unrelated to the SoC I2C.
590
591 This driver can also be built as a module. If so, the module
592 will be called i2c-highlander.
593
594 config I2C_IBM_IIC
595 tristate "IBM PPC 4xx on-chip I2C interface"
596 depends on 4xx
597 help
598 Say Y here if you want to use IIC peripheral found on
599 embedded IBM PPC 4xx based systems.
600
601 This driver can also be built as a module. If so, the module
602 will be called i2c-ibm_iic.
603
604 config I2C_IMG
605 tristate "Imagination Technologies I2C SCB Controller"
606 depends on MIPS || METAG || COMPILE_TEST
607 help
608 Say Y here if you want to use the IMG I2C SCB controller,
609 available on the TZ1090 and other IMG SoCs.
610
611 This driver can also be built as a module. If so, the module
612 will be called i2c-img-scb.
613
614 config I2C_IMX
615 tristate "IMX I2C interface"
616 depends on ARCH_MXC || ARCH_LAYERSCAPE || COLDFIRE
617 help
618 Say Y here if you want to use the IIC bus controller on
619 the Freescale i.MX/MXC, Layerscape or ColdFire processors.
620
621 This driver can also be built as a module. If so, the module
622 will be called i2c-imx.
623
624 config I2C_IMX_LPI2C
625 tristate "IMX Low Power I2C interface"
626 depends on ARCH_MXC || COMPILE_TEST
627 help
628 Say Y here if you want to use the Low Power IIC bus controller
629 on the Freescale i.MX processors.
630
631 This driver can also be built as a module. If so, the module
632 will be called i2c-imx-lpi2c.
633
634 config I2C_IOP3XX
635 tristate "Intel IOPx3xx and IXP4xx on-chip I2C interface"
636 depends on ARCH_IOP32X || ARCH_IOP33X || ARCH_IXP4XX || ARCH_IOP13XX
637 help
638 Say Y here if you want to use the IIC bus controller on
639 the Intel IOPx3xx I/O Processors or IXP4xx Network Processors.
640
641 This driver can also be built as a module. If so, the module
642 will be called i2c-iop3xx.
643
644 config I2C_JZ4780
645 tristate "JZ4780 I2C controller interface support"
646 depends on MACH_JZ4780 || COMPILE_TEST
647 help
648 If you say yes to this option, support will be included for the
649 Ingenic JZ4780 I2C controller.
650
651 If you don't know what to do here, say N.
652
653 config I2C_KEMPLD
654 tristate "Kontron COM I2C Controller"
655 depends on MFD_KEMPLD
656 help
657 This enables support for the I2C bus interface on some Kontron ETX
658 and COMexpress (ETXexpress) modules.
659
660 This driver can also be built as a module. If so, the module
661 will be called i2c-kempld.
662
663 config I2C_LPC2K
664 tristate "I2C bus support for NXP LPC2K/LPC178x/18xx/43xx"
665 depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
666 help
667 This driver supports the I2C interface found several NXP
668 devices including LPC2xxx, LPC178x/7x and LPC18xx/43xx.
669
670 This driver can also be built as a module. If so, the module
671 will be called i2c-lpc2k.
672
673 config I2C_MESON
674 tristate "Amlogic Meson I2C controller"
675 depends on ARCH_MESON || COMPILE_TEST
676 help
677 If you say yes to this option, support will be included for the
678 I2C interface on the Amlogic Meson family of SoCs.
679
680 config I2C_MPC
681 tristate "MPC107/824x/85xx/512x/52xx/83xx/86xx"
682 depends on PPC
683 help
684 If you say yes to this option, support will be included for the
685 built-in I2C interface on the MPC107, Tsi107, MPC512x, MPC52xx,
686 MPC8240, MPC8245, MPC83xx, MPC85xx and MPC8641 family processors.
687
688 This driver can also be built as a module. If so, the module
689 will be called i2c-mpc.
690
691 config I2C_MT65XX
692 tristate "MediaTek I2C adapter"
693 depends on ARCH_MEDIATEK || COMPILE_TEST
694 depends on HAS_DMA
695 help
696 This selects the MediaTek(R) Integrated Inter Circuit bus driver
697 for MT65xx and MT81xx.
698 If you want to use MediaTek(R) I2C interface, say Y or M here.
699 If unsure, say N.
700
701 config I2C_MV64XXX
702 tristate "Marvell mv64xxx I2C Controller"
703 depends on MV64X60 || PLAT_ORION || ARCH_SUNXI || ARCH_MVEBU
704 help
705 If you say yes to this option, support will be included for the
706 built-in I2C interface on the Marvell 64xxx line of host bridges.
707 This driver is also used for Allwinner SoCs I2C controllers.
708
709 This driver can also be built as a module. If so, the module
710 will be called i2c-mv64xxx.
711
712 config I2C_MXS
713 tristate "Freescale i.MX28 I2C interface"
714 depends on SOC_IMX28
715 select STMP_DEVICE
716 help
717 Say Y here if you want to use the I2C bus controller on
718 the Freescale i.MX28 processors.
719
720 This driver can also be built as a module. If so, the module
721 will be called i2c-mxs.
722
723 config I2C_NOMADIK
724 tristate "ST-Ericsson Nomadik/Ux500 I2C Controller"
725 depends on ARM_AMBA
726 help
727 If you say yes to this option, support will be included for the
728 I2C interface from ST-Ericsson's Nomadik and Ux500 architectures,
729 as well as the STA2X11 PCIe I/O HUB.
730
731 config I2C_OCORES
732 tristate "OpenCores I2C Controller"
733 help
734 If you say yes to this option, support will be included for the
735 OpenCores I2C controller. For details see
736 http://www.opencores.org/projects.cgi/web/i2c/overview
737
738 This driver can also be built as a module. If so, the module
739 will be called i2c-ocores.
740
741 config I2C_OMAP
742 tristate "OMAP I2C adapter"
743 depends on ARCH_OMAP
744 default y if MACH_OMAP_H3 || MACH_OMAP_OSK
745 help
746 If you say yes to this option, support will be included for the
747 I2C interface on the Texas Instruments OMAP1/2 family of processors.
748 Like OMAP1510/1610/1710/5912 and OMAP242x.
749 For details see http://www.ti.com/omap.
750
751 config I2C_PASEMI
752 tristate "PA Semi SMBus interface"
753 depends on PPC_PASEMI && PCI
754 help
755 Supports the PA Semi PWRficient on-chip SMBus interfaces.
756
757 config I2C_PCA_PLATFORM
758 tristate "PCA9564/PCA9665 as platform device"
759 select I2C_ALGOPCA
760 default n
761 help
762 This driver supports a memory mapped Philips PCA9564/PCA9665
763 parallel bus to I2C bus controller.
764
765 This driver can also be built as a module. If so, the module
766 will be called i2c-pca-platform.
767
768 config I2C_PMCMSP
769 tristate "PMC MSP I2C TWI Controller"
770 depends on PMC_MSP
771 help
772 This driver supports the PMC TWI controller on MSP devices.
773
774 This driver can also be built as module. If so, the module
775 will be called i2c-pmcmsp.
776
777 config I2C_PNX
778 tristate "I2C bus support for Philips PNX and NXP LPC targets"
779 depends on ARCH_LPC32XX
780 help
781 This driver supports the Philips IP3204 I2C IP block master and/or
782 slave controller
783
784 This driver can also be built as a module. If so, the module
785 will be called i2c-pnx.
786
787 config I2C_PUV3
788 tristate "PKUnity v3 I2C bus support"
789 depends on UNICORE32 && ARCH_PUV3
790 select I2C_ALGOBIT
791 help
792 This driver supports the I2C IP inside the PKUnity-v3 SoC.
793 This I2C bus controller is under AMBA/AXI bus.
794
795 This driver can also be built as a module. If so, the module
796 will be called i2c-puv3.
797
798 config I2C_PXA
799 tristate "Intel PXA2XX I2C adapter"
800 depends on ARCH_PXA || ARCH_MMP || ARCH_MVEBU || (X86_32 && PCI && OF)
801 help
802 If you have devices in the PXA I2C bus, say yes to this option.
803 This driver can also be built as a module. If so, the module
804 will be called i2c-pxa.
805
806 config I2C_PXA_PCI
807 def_bool I2C_PXA && X86_32 && PCI && OF
808
809 config I2C_PXA_SLAVE
810 bool "Intel PXA2XX I2C Slave comms support"
811 depends on I2C_PXA && !X86_32
812 help
813 Support I2C slave mode communications on the PXA I2C bus. This
814 is necessary for systems where the PXA may be a target on the
815 I2C bus.
816
817 config I2C_QUP
818 tristate "Qualcomm QUP based I2C controller"
819 depends on ARCH_QCOM
820 help
821 If you say yes to this option, support will be included for the
822 built-in I2C interface on the Qualcomm SoCs.
823
824 This driver can also be built as a module. If so, the module
825 will be called i2c-qup.
826
827 config I2C_RIIC
828 tristate "Renesas RIIC adapter"
829 depends on ARCH_RENESAS || COMPILE_TEST
830 help
831 If you say yes to this option, support will be included for the
832 Renesas RIIC I2C interface.
833
834 This driver can also be built as a module. If so, the module
835 will be called i2c-riic.
836
837 config I2C_RK3X
838 tristate "Rockchip RK3xxx I2C adapter"
839 depends on OF && COMMON_CLK
840 help
841 Say Y here to include support for the I2C adapter in Rockchip RK3xxx
842 SoCs.
843
844 This driver can also be built as a module. If so, the module will
845 be called i2c-rk3x.
846
847 config HAVE_S3C2410_I2C
848 bool
849 help
850 This will include I2C support for Samsung SoCs. If you want to
851 include I2C support for any machine, kindly select this in the
852 respective Kconfig file.
853
854 config I2C_S3C2410
855 tristate "S3C2410 I2C Driver"
856 depends on HAVE_S3C2410_I2C
857 help
858 Say Y here to include support for I2C controller in the
859 Samsung SoCs.
860
861 config I2C_SH7760
862 tristate "Renesas SH7760 I2C Controller"
863 depends on CPU_SUBTYPE_SH7760
864 help
865 This driver supports the 2 I2C interfaces on the Renesas SH7760.
866
867 This driver can also be built as a module. If so, the module
868 will be called i2c-sh7760.
869
870 config I2C_SH_MOBILE
871 tristate "SuperH Mobile I2C Controller"
872 depends on HAS_DMA
873 depends on ARCH_SHMOBILE || ARCH_RENESAS || COMPILE_TEST
874 help
875 If you say yes to this option, support will be included for the
876 built-in I2C interface on the Renesas SH-Mobile processor.
877
878 This driver can also be built as a module. If so, the module
879 will be called i2c-sh_mobile.
880
881 config I2C_SIMTEC
882 tristate "Simtec Generic I2C interface"
883 select I2C_ALGOBIT
884 help
885 If you say yes to this option, support will be included for
886 the Simtec Generic I2C interface. This driver is for the
887 simple I2C bus used on newer Simtec products for general
888 I2C, such as DDC on the Simtec BBD2016A.
889
890 This driver can also be built as a module. If so, the module
891 will be called i2c-simtec.
892
893 config I2C_SIRF
894 tristate "CSR SiRFprimaII I2C interface"
895 depends on ARCH_SIRF
896 help
897 If you say yes to this option, support will be included for the
898 CSR SiRFprimaII I2C interface.
899
900 This driver can also be built as a module. If so, the module
901 will be called i2c-sirf.
902
903 config I2C_ST
904 tristate "STMicroelectronics SSC I2C support"
905 depends on ARCH_STI
906 help
907 Enable this option to add support for STMicroelectronics SoCs
908 hardware SSC (Synchronous Serial Controller) as an I2C controller.
909
910 This driver can also be built as module. If so, the module
911 will be called i2c-st.
912
913 config I2C_STM32F4
914 tristate "STMicroelectronics STM32F4 I2C support"
915 depends on ARCH_STM32 || COMPILE_TEST
916 help
917 Enable this option to add support for STM32 I2C controller embedded
918 in STM32F4 SoCs.
919
920 This driver can also be built as module. If so, the module
921 will be called i2c-stm32f4.
922
923 config I2C_STU300
924 tristate "ST Microelectronics DDC I2C interface"
925 depends on MACH_U300
926 default y if MACH_U300
927 help
928 If you say yes to this option, support will be included for the
929 I2C interface from ST Microelectronics simply called "DDC I2C"
930 supporting both I2C and DDC, used in e.g. the U300 series
931 mobile platforms.
932
933 This driver can also be built as a module. If so, the module
934 will be called i2c-stu300.
935
936 config I2C_SUN6I_P2WI
937 tristate "Allwinner sun6i internal P2WI controller"
938 depends on RESET_CONTROLLER
939 depends on MACH_SUN6I || COMPILE_TEST
940 help
941 If you say yes to this option, support will be included for the
942 P2WI (Push/Pull 2 Wire Interface) controller embedded in some sunxi
943 SOCs.
944 The P2WI looks like an SMBus controller (which supports only byte
945 accesses), except that it only supports one slave device.
946 This interface is used to connect to specific PMIC devices (like the
947 AXP221).
948
949 config I2C_TEGRA
950 tristate "NVIDIA Tegra internal I2C controller"
951 depends on ARCH_TEGRA
952 help
953 If you say yes to this option, support will be included for the
954 I2C controller embedded in NVIDIA Tegra SOCs
955
956 config I2C_TEGRA_BPMP
957 tristate "NVIDIA Tegra BPMP I2C controller"
958 depends on TEGRA_BPMP
959 default y
960 help
961 If you say yes to this option, support will be included for the I2C
962 controller embedded in NVIDIA Tegra SoCs accessed via the BPMP.
963
964 This I2C driver is a 'virtual' I2C driver. The real driver is part
965 of the BPMP firmware, and this driver merely communicates with that
966 real driver.
967
968 config I2C_UNIPHIER
969 tristate "UniPhier FIFO-less I2C controller"
970 depends on ARCH_UNIPHIER || COMPILE_TEST
971 help
972 If you say yes to this option, support will be included for
973 the UniPhier FIFO-less I2C interface embedded in PH1-LD4, PH1-sLD8,
974 or older UniPhier SoCs.
975
976 config I2C_UNIPHIER_F
977 tristate "UniPhier FIFO-builtin I2C controller"
978 depends on ARCH_UNIPHIER || COMPILE_TEST
979 help
980 If you say yes to this option, support will be included for
981 the UniPhier FIFO-builtin I2C interface embedded in PH1-Pro4,
982 PH1-Pro5, or newer UniPhier SoCs.
983
984 config I2C_VERSATILE
985 tristate "ARM Versatile/Realview I2C bus support"
986 depends on ARCH_VERSATILE || ARCH_REALVIEW || ARCH_VEXPRESS || COMPILE_TEST
987 select I2C_ALGOBIT
988 help
989 Say yes if you want to support the I2C serial bus on ARMs Versatile
990 range of platforms.
991
992 This driver can also be built as a module. If so, the module
993 will be called i2c-versatile.
994
995 config I2C_WMT
996 tristate "Wondermedia WM8xxx SoC I2C bus support"
997 depends on ARCH_VT8500
998 help
999 Say yes if you want to support the I2C bus on Wondermedia 8xxx-series
1000 SoCs.
1001
1002 This driver can also be built as a module. If so, the module will be
1003 called i2c-wmt.
1004
1005 config I2C_OCTEON
1006 tristate "Cavium OCTEON I2C bus support"
1007 depends on CAVIUM_OCTEON_SOC
1008 help
1009 Say yes if you want to support the I2C serial bus on Cavium
1010 OCTEON SOC.
1011
1012 This driver can also be built as a module. If so, the module
1013 will be called i2c-octeon.
1014
1015 config I2C_THUNDERX
1016 tristate "Cavium ThunderX I2C bus support"
1017 depends on 64BIT && PCI && (ARM64 || COMPILE_TEST)
1018 select I2C_SMBUS
1019 help
1020 Say yes if you want to support the I2C serial bus on Cavium
1021 ThunderX SOC.
1022
1023 This driver can also be built as a module. If so, the module
1024 will be called i2c-thunderx.
1025
1026 config I2C_XILINX
1027 tristate "Xilinx I2C Controller"
1028 depends on HAS_IOMEM
1029 help
1030 If you say yes to this option, support will be included for the
1031 Xilinx I2C controller.
1032
1033 This driver can also be built as a module. If so, the module
1034 will be called xilinx_i2c.
1035
1036 config I2C_XLR
1037 tristate "Netlogic XLR and Sigma Designs I2C support"
1038 depends on CPU_XLR || ARCH_TANGO
1039 help
1040 This driver enables support for the on-chip I2C interface of
1041 the Netlogic XLR/XLS MIPS processors and Sigma Designs SOCs.
1042
1043 This driver can also be built as a module. If so, the module
1044 will be called i2c-xlr.
1045
1046 config I2C_XLP9XX
1047 tristate "XLP9XX I2C support"
1048 depends on CPU_XLP || ARCH_THUNDER2 || COMPILE_TEST
1049 help
1050 This driver enables support for the on-chip I2C interface of
1051 the Broadcom XLP9xx/XLP5xx MIPS and Vulcan ARM64 processors.
1052
1053 This driver can also be built as a module. If so, the module will
1054 be called i2c-xlp9xx.
1055
1056 config I2C_RCAR
1057 tristate "Renesas R-Car I2C Controller"
1058 depends on HAS_DMA
1059 depends on ARCH_RENESAS || COMPILE_TEST
1060 select I2C_SLAVE
1061 help
1062 If you say yes to this option, support will be included for the
1063 R-Car I2C controller.
1064
1065 This driver can also be built as a module. If so, the module
1066 will be called i2c-rcar.
1067
1068 comment "External I2C/SMBus adapter drivers"
1069
1070 config I2C_DIOLAN_U2C
1071 tristate "Diolan U2C-12 USB adapter"
1072 depends on USB
1073 help
1074 If you say yes to this option, support will be included for Diolan
1075 U2C-12, a USB to I2C interface.
1076
1077 This driver can also be built as a module. If so, the module
1078 will be called i2c-diolan-u2c.
1079
1080 config I2C_DLN2
1081 tristate "Diolan DLN-2 USB I2C adapter"
1082 depends on MFD_DLN2
1083 help
1084 If you say yes to this option, support will be included for Diolan
1085 DLN2, a USB to I2C interface.
1086
1087 This driver can also be built as a module. If so, the module
1088 will be called i2c-dln2.
1089
1090 config I2C_PARPORT
1091 tristate "Parallel port adapter"
1092 depends on PARPORT
1093 select I2C_ALGOBIT
1094 select I2C_SMBUS
1095 help
1096 This supports parallel port I2C adapters such as the ones made by
1097 Philips or Velleman, Analog Devices evaluation boards, and more.
1098 Basically any adapter using the parallel port as an I2C bus with
1099 no extra chipset is supported by this driver, or could be.
1100
1101 This driver is a replacement for (and was inspired by) an older
1102 driver named i2c-philips-par. The new driver supports more devices,
1103 and makes it easier to add support for new devices.
1104
1105 An adapter type parameter is now mandatory. Please read the file
1106 Documentation/i2c/busses/i2c-parport for details.
1107
1108 Another driver exists, named i2c-parport-light, which doesn't depend
1109 on the parport driver. This is meant for embedded systems. Don't say
1110 Y here if you intend to say Y or M there.
1111
1112 This support is also available as a module. If so, the module
1113 will be called i2c-parport.
1114
1115 config I2C_PARPORT_LIGHT
1116 tristate "Parallel port adapter (light)"
1117 select I2C_ALGOBIT
1118 select I2C_SMBUS
1119 help
1120 This supports parallel port I2C adapters such as the ones made by
1121 Philips or Velleman, Analog Devices evaluation boards, and more.
1122 Basically any adapter using the parallel port as an I2C bus with
1123 no extra chipset is supported by this driver, or could be.
1124
1125 This driver is a light version of i2c-parport. It doesn't depend
1126 on the parport driver, and uses direct I/O access instead. This
1127 might be preferred on embedded systems where wasting memory for
1128 the clean but heavy parport handling is not an option. The
1129 drawback is a reduced portability and the impossibility to
1130 daisy-chain other parallel port devices.
1131
1132 Don't say Y here if you said Y or M to i2c-parport. Saying M to
1133 both is possible but both modules should not be loaded at the same
1134 time.
1135
1136 This support is also available as a module. If so, the module
1137 will be called i2c-parport-light.
1138
1139 config I2C_ROBOTFUZZ_OSIF
1140 tristate "RobotFuzz Open Source InterFace USB adapter"
1141 depends on USB
1142 help
1143 If you say yes to this option, support will be included for the
1144 RobotFuzz Open Source InterFace USB to I2C interface.
1145
1146 This driver can also be built as a module. If so, the module
1147 will be called i2c-osif.
1148
1149 config I2C_TAOS_EVM
1150 tristate "TAOS evaluation module"
1151 depends on TTY
1152 select SERIO
1153 select SERIO_SERPORT
1154 default n
1155 help
1156 This supports TAOS evaluation modules on serial port. In order to
1157 use this driver, you will need the inputattach tool, which is part
1158 of the input-utils package.
1159
1160 If unsure, say N.
1161
1162 This support is also available as a module. If so, the module
1163 will be called i2c-taos-evm.
1164
1165 config I2C_TINY_USB
1166 tristate "Tiny-USB adapter"
1167 depends on USB
1168 help
1169 If you say yes to this option, support will be included for the
1170 i2c-tiny-usb, a simple do-it-yourself USB to I2C interface. See
1171 http://www.harbaum.org/till/i2c_tiny_usb for hardware details.
1172
1173 This driver can also be built as a module. If so, the module
1174 will be called i2c-tiny-usb.
1175
1176 config I2C_VIPERBOARD
1177 tristate "Viperboard I2C master support"
1178 depends on MFD_VIPERBOARD && USB
1179 help
1180 Say yes here to access the I2C part of the Nano River
1181 Technologies Viperboard as I2C master.
1182 See viperboard API specification and Nano
1183 River Tech's viperboard.h for detailed meaning
1184 of the module parameters.
1185
1186 comment "Other I2C/SMBus bus drivers"
1187
1188 config I2C_ACORN
1189 tristate "Acorn IOC/IOMD I2C bus support"
1190 depends on ARCH_ACORN
1191 default y
1192 select I2C_ALGOBIT
1193 help
1194 Say yes if you want to support the I2C bus on Acorn platforms.
1195
1196 If you don't know, say Y.
1197
1198 config I2C_ELEKTOR
1199 tristate "Elektor ISA card"
1200 depends on ISA && HAS_IOPORT_MAP && BROKEN_ON_SMP
1201 select I2C_ALGOPCF
1202 help
1203 This supports the PCF8584 ISA bus I2C adapter. Say Y if you own
1204 such an adapter.
1205
1206 This support is also available as a module. If so, the module
1207 will be called i2c-elektor.
1208
1209 config I2C_MLXCPLD
1210 tristate "Mellanox I2C driver"
1211 depends on X86_64
1212 help
1213 This exposes the Mellanox platform I2C busses to the linux I2C layer
1214 for X86 based systems.
1215 Controller is implemented as CPLD logic.
1216
1217 This driver can also be built as a module. If so, the module will be
1218 called as i2c-mlxcpld.
1219
1220 config I2C_PCA_ISA
1221 tristate "PCA9564/PCA9665 on an ISA bus"
1222 depends on ISA
1223 select I2C_ALGOPCA
1224 default n
1225 help
1226 This driver supports ISA boards using the Philips PCA9564/PCA9665
1227 parallel bus to I2C bus controller.
1228
1229 This driver can also be built as a module. If so, the module
1230 will be called i2c-pca-isa.
1231
1232 This device is almost undetectable and using this driver on a
1233 system which doesn't have this device will result in long
1234 delays when I2C/SMBus chip drivers are loaded (e.g. at boot
1235 time). If unsure, say N.
1236
1237 config I2C_SIBYTE
1238 tristate "SiByte SMBus interface"
1239 depends on SIBYTE_SB1xxx_SOC
1240 help
1241 Supports the SiByte SOC on-chip I2C interfaces (2 channels).
1242
1243 config I2C_CROS_EC_TUNNEL
1244 tristate "ChromeOS EC tunnel I2C bus"
1245 depends on MFD_CROS_EC
1246 help
1247 If you say yes here you get an I2C bus that will tunnel i2c commands
1248 through to the other side of the ChromeOS EC to the i2c bus
1249 connected there. This will work whatever the interface used to
1250 talk to the EC (SPI, I2C or LPC).
1251
1252 config I2C_XGENE_SLIMPRO
1253 tristate "APM X-Gene SoC I2C SLIMpro devices support"
1254 depends on ARCH_XGENE && MAILBOX
1255 help
1256 Enable I2C bus access using the APM X-Gene SoC SLIMpro
1257 co-processor. The I2C device access the I2C bus via the X-Gene
1258 to SLIMpro (On chip coprocessor) mailbox mechanism.
1259 If unsure, say N.
1260
1261 config SCx200_ACB
1262 tristate "Geode ACCESS.bus support"
1263 depends on X86_32 && PCI
1264 help
1265 Enable the use of the ACCESS.bus controllers on the Geode SCx200 and
1266 SC1100 processors and the CS5535 and CS5536 Geode companion devices.
1267
1268 If you don't know what to do here, say N.
1269
1270 This support is also available as a module. If so, the module
1271 will be called scx200_acb.
1272
1273 config I2C_OPAL
1274 tristate "IBM OPAL I2C driver"
1275 depends on PPC_POWERNV
1276 default y
1277 help
1278 This exposes the PowerNV platform i2c busses to the linux i2c layer,
1279 the driver is based on the OPAL interfaces.
1280
1281 This driver can also be built as a module. If so, the module will be
1282 called as i2c-opal.
1283
1284 config I2C_ZX2967
1285 tristate "ZTE ZX2967 I2C support"
1286 depends on ARCH_ZX
1287 default y
1288 help
1289 Selecting this option will add ZX2967 I2C driver.
1290 This driver can also be built as a module. If so, the module will be
1291 called i2c-zx2967.
1292
1293 endmenu