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