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