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