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