GNU Linux-libre 4.9.326-gnu1
[releases.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/DSL I2C controller"
401         depends on ARCH_BRCMSTB || BMIPS_GENERIC || ARCH_BCM_63XX || \
402                    COMPILE_TEST
403         default y
404         help
405           If you say yes to this option, support will be included for the
406           I2C interface on the Broadcom Settop/DSL SoCs.
407
408           If you do not need I2C interface, say N.
409
410 config I2C_BLACKFIN_TWI
411         tristate "Blackfin TWI I2C support"
412         depends on BLACKFIN
413         depends on !BF561 && !BF531 && !BF532 && !BF533
414         help
415           This is the I2C bus driver for Blackfin on-chip TWI interface.
416
417           This driver can also be built as a module.  If so, the module
418           will be called i2c-bfin-twi.
419
420 config I2C_BLACKFIN_TWI_CLK_KHZ
421         int "Blackfin TWI I2C clock (kHz)"
422         depends on I2C_BLACKFIN_TWI
423         range 21 400
424         default 50
425         help
426           The unit of the TWI clock is kHz.
427
428 config I2C_CADENCE
429         tristate "Cadence I2C Controller"
430         depends on ARCH_ZYNQ || ARM64
431         help
432           Say yes here to select Cadence I2C Host Controller. This controller is
433           e.g. used by Xilinx Zynq.
434
435 config I2C_CBUS_GPIO
436         tristate "CBUS I2C driver"
437         depends on GPIOLIB || COMPILE_TEST
438         help
439           Support for CBUS access using I2C API. Mostly relevant for Nokia
440           Internet Tablets (770, N800 and N810).
441
442           This driver can also be built as a module.  If so, the module
443           will be called i2c-cbus-gpio.
444
445 config I2C_CPM
446         tristate "Freescale CPM1 or CPM2 (MPC8xx/826x)"
447         depends on CPM1 || CPM2
448         help
449           This supports the use of the I2C interface on Freescale
450           processors with CPM1 or CPM2.
451
452           This driver can also be built as a module.  If so, the module
453           will be called i2c-cpm.
454
455 config I2C_DAVINCI
456         tristate "DaVinci I2C driver"
457         depends on ARCH_DAVINCI || ARCH_KEYSTONE
458         help
459           Support for TI DaVinci I2C controller driver.
460
461           This driver can also be built as a module.  If so, the module
462           will be called i2c-davinci.
463
464           Please note that this driver might be needed to bring up other
465           devices such as DaVinci NIC.
466           For details please see http://www.ti.com/davinci
467
468 config I2C_DESIGNWARE_CORE
469         tristate
470
471 config I2C_DESIGNWARE_PLATFORM
472         tristate "Synopsys DesignWare Platform"
473         select I2C_DESIGNWARE_CORE
474         depends on (ACPI && COMMON_CLK) || !ACPI
475         help
476           If you say yes to this option, support will be included for the
477           Synopsys DesignWare I2C adapter. Only master mode is supported.
478
479           This driver can also be built as a module.  If so, the module
480           will be called i2c-designware-platform.
481
482 config I2C_DESIGNWARE_PCI
483         tristate "Synopsys DesignWare PCI"
484         depends on PCI
485         select I2C_DESIGNWARE_CORE
486         help
487           If you say yes to this option, support will be included for the
488           Synopsys DesignWare I2C adapter. Only master mode is supported.
489
490           This driver can also be built as a module.  If so, the module
491           will be called i2c-designware-pci.
492
493 config I2C_DESIGNWARE_BAYTRAIL
494         bool "Intel Baytrail I2C semaphore support"
495         depends on ACPI
496         depends on (I2C_DESIGNWARE_PLATFORM=m && IOSF_MBI) || \
497                    (I2C_DESIGNWARE_PLATFORM=y && IOSF_MBI=y)
498         help
499           This driver enables managed host access to the PMIC I2C bus on select
500           Intel BayTrail platforms using the X-Powers AXP288 PMIC. It allows
501           the host to request uninterrupted access to the PMIC's I2C bus from
502           the platform firmware controlling it. You should say Y if running on
503           a BayTrail system using the AXP288.
504
505 config I2C_DIGICOLOR
506         tristate "Conexant Digicolor I2C driver"
507         depends on ARCH_DIGICOLOR
508         help
509           Support for Conexant Digicolor SoCs (CX92755) I2C controller driver.
510
511           This driver can also be built as a module.  If so, the module
512           will be called i2c-digicolor.
513
514 config I2C_EFM32
515         tristate "EFM32 I2C controller"
516         depends on ARCH_EFM32 || COMPILE_TEST
517         help
518           This driver supports the i2c block found in Energy Micro's EFM32
519           SoCs.
520
521 config I2C_EG20T
522         tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) I2C"
523         depends on PCI && (X86_32 || MIPS || COMPILE_TEST)
524         help
525           This driver is for PCH(Platform controller Hub) I2C of EG20T which
526           is an IOH(Input/Output Hub) for x86 embedded processor.
527           This driver can access PCH I2C bus device.
528
529           This driver also can be used for LAPIS Semiconductor IOH(Input/
530           Output Hub), ML7213, ML7223 and ML7831.
531           ML7213 IOH is for IVI(In-Vehicle Infotainment) use, ML7223 IOH is
532           for MP(Media Phone) use and ML7831 IOH is for general purpose use.
533           ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series.
534           ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH.
535
536 config I2C_EMEV2
537         tristate "EMMA Mobile series I2C adapter"
538         depends on HAVE_CLK
539         select I2C_SLAVE
540         help
541           If you say yes to this option, support will be included for the
542           I2C interface on the Renesas Electronics EM/EV family of processors.
543
544 config I2C_EXYNOS5
545         tristate "Exynos5 high-speed I2C driver"
546         depends on ARCH_EXYNOS && OF
547         default y
548         help
549           High-speed I2C controller on Exynos5 based Samsung SoCs.
550
551 config I2C_GPIO
552         tristate "GPIO-based bitbanging I2C"
553         depends on GPIOLIB || COMPILE_TEST
554         select I2C_ALGOBIT
555         help
556           This is a very simple bitbanging I2C driver utilizing the
557           arch-neutral GPIO API to control the SCL and SDA lines.
558
559 config I2C_HIGHLANDER
560         tristate "Highlander FPGA SMBus interface"
561         depends on SH_HIGHLANDER
562         help
563           If you say yes to this option, support will be included for
564           the SMBus interface located in the FPGA on various Highlander
565           boards, particularly the R0P7780LC0011RL and R0P7785LC0011RL
566           FPGAs. This is wholly unrelated to the SoC I2C.
567
568           This driver can also be built as a module.  If so, the module
569           will be called i2c-highlander.
570
571 config I2C_IBM_IIC
572         tristate "IBM PPC 4xx on-chip I2C interface"
573         depends on 4xx
574         help
575           Say Y here if you want to use IIC peripheral found on
576           embedded IBM PPC 4xx based systems.
577
578           This driver can also be built as a module.  If so, the module
579           will be called i2c-ibm_iic.
580
581 config I2C_IMG
582         tristate "Imagination Technologies I2C SCB Controller"
583         depends on MIPS || METAG || COMPILE_TEST
584         help
585           Say Y here if you want to use the IMG I2C SCB controller,
586           available on the TZ1090 and other IMG SoCs.
587
588           This driver can also be built as a module.  If so, the module
589           will be called i2c-img-scb.
590
591 config I2C_IMX
592         tristate "IMX I2C interface"
593         depends on ARCH_MXC || ARCH_LAYERSCAPE || COLDFIRE
594         help
595           Say Y here if you want to use the IIC bus controller on
596           the Freescale i.MX/MXC, Layerscape or ColdFire processors.
597
598           This driver can also be built as a module.  If so, the module
599           will be called i2c-imx.
600
601 config I2C_IOP3XX
602         tristate "Intel IOPx3xx and IXP4xx on-chip I2C interface"
603         depends on ARCH_IOP32X || ARCH_IOP33X || ARCH_IXP4XX || ARCH_IOP13XX
604         help
605           Say Y here if you want to use the IIC bus controller on
606           the Intel IOPx3xx I/O Processors or IXP4xx Network Processors.
607
608           This driver can also be built as a module.  If so, the module
609           will be called i2c-iop3xx.
610
611 config I2C_JZ4780
612         tristate "JZ4780 I2C controller interface support"
613         depends on MACH_JZ4780 || COMPILE_TEST
614         help
615          If you say yes to this option, support will be included for the
616          Ingenic JZ4780 I2C controller.
617
618          If you don't know what to do here, say N.
619
620 config I2C_KEMPLD
621         tristate "Kontron COM I2C Controller"
622         depends on MFD_KEMPLD
623         help
624           This enables support for the I2C bus interface on some Kontron ETX
625           and COMexpress (ETXexpress) modules.
626
627           This driver can also be built as a module. If so, the module
628           will be called i2c-kempld.
629
630 config I2C_LPC2K
631         tristate "I2C bus support for NXP LPC2K/LPC178x/18xx/43xx"
632         depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
633         help
634           This driver supports the I2C interface found several NXP
635           devices including LPC2xxx, LPC178x/7x and LPC18xx/43xx.
636
637           This driver can also be built as a module.  If so, the module
638           will be called i2c-lpc2k.
639
640 config I2C_MESON
641         tristate "Amlogic Meson I2C controller"
642         depends on ARCH_MESON || COMPILE_TEST
643         help
644           If you say yes to this option, support will be included for the
645           I2C interface on the Amlogic Meson family of SoCs.
646
647 config I2C_MPC
648         tristate "MPC107/824x/85xx/512x/52xx/83xx/86xx"
649         depends on PPC
650         help
651           If you say yes to this option, support will be included for the
652           built-in I2C interface on the MPC107, Tsi107, MPC512x, MPC52xx,
653           MPC8240, MPC8245, MPC83xx, MPC85xx and MPC8641 family processors.
654
655           This driver can also be built as a module.  If so, the module
656           will be called i2c-mpc.
657
658 config I2C_MT65XX
659         tristate "MediaTek I2C adapter"
660         depends on ARCH_MEDIATEK || COMPILE_TEST
661         depends on HAS_DMA
662         help
663           This selects the MediaTek(R) Integrated Inter Circuit bus driver
664           for MT65xx and MT81xx.
665           If you want to use MediaTek(R) I2C interface, say Y or M here.
666           If unsure, say N.
667
668 config I2C_MV64XXX
669         tristate "Marvell mv64xxx I2C Controller"
670         depends on MV64X60 || PLAT_ORION || ARCH_SUNXI || ARCH_MVEBU
671         help
672           If you say yes to this option, support will be included for the
673           built-in I2C interface on the Marvell 64xxx line of host bridges.
674           This driver is also used for Allwinner SoCs I2C controllers.
675
676           This driver can also be built as a module.  If so, the module
677           will be called i2c-mv64xxx.
678
679 config I2C_MXS
680         tristate "Freescale i.MX28 I2C interface"
681         depends on SOC_IMX28
682         select STMP_DEVICE
683         help
684           Say Y here if you want to use the I2C bus controller on
685           the Freescale i.MX28 processors.
686
687           This driver can also be built as a module.  If so, the module
688           will be called i2c-mxs.
689
690 config I2C_NOMADIK
691         tristate "ST-Ericsson Nomadik/Ux500 I2C Controller"
692         depends on ARM_AMBA
693         help
694           If you say yes to this option, support will be included for the
695           I2C interface from ST-Ericsson's Nomadik and Ux500 architectures,
696           as well as the STA2X11 PCIe I/O HUB.
697
698 config I2C_OCORES
699         tristate "OpenCores I2C Controller"
700         help
701           If you say yes to this option, support will be included for the
702           OpenCores I2C controller. For details see
703           http://www.opencores.org/projects.cgi/web/i2c/overview
704
705           This driver can also be built as a module.  If so, the module
706           will be called i2c-ocores.
707
708 config I2C_OMAP
709         tristate "OMAP I2C adapter"
710         depends on ARCH_OMAP
711         default y if MACH_OMAP_H3 || MACH_OMAP_OSK
712         help
713           If you say yes to this option, support will be included for the
714           I2C interface on the Texas Instruments OMAP1/2 family of processors.
715           Like OMAP1510/1610/1710/5912 and OMAP242x.
716           For details see http://www.ti.com/omap.
717
718 config I2C_PASEMI
719         tristate "PA Semi SMBus interface"
720         depends on PPC_PASEMI && PCI
721         help
722           Supports the PA Semi PWRficient on-chip SMBus interfaces.
723
724 config I2C_PCA_PLATFORM
725         tristate "PCA9564/PCA9665 as platform device"
726         select I2C_ALGOPCA
727         default n
728         help
729           This driver supports a memory mapped Philips PCA9564/PCA9665
730           parallel bus to I2C bus controller.
731
732           This driver can also be built as a module.  If so, the module
733           will be called i2c-pca-platform.
734
735 config I2C_PMCMSP
736         tristate "PMC MSP I2C TWI Controller"
737         depends on PMC_MSP
738         help
739           This driver supports the PMC TWI controller on MSP devices.
740
741           This driver can also be built as module. If so, the module
742           will be called i2c-pmcmsp.
743
744 config I2C_PNX
745         tristate "I2C bus support for Philips PNX and NXP LPC targets"
746         depends on ARCH_LPC32XX
747         help
748           This driver supports the Philips IP3204 I2C IP block master and/or
749           slave controller
750
751           This driver can also be built as a module.  If so, the module
752           will be called i2c-pnx.
753
754 config I2C_PUV3
755         tristate "PKUnity v3 I2C bus support"
756         depends on UNICORE32 && ARCH_PUV3
757         select I2C_ALGOBIT
758         help
759           This driver supports the I2C IP inside the PKUnity-v3 SoC.
760           This I2C bus controller is under AMBA/AXI bus.
761
762           This driver can also be built as a module.  If so, the module
763           will be called i2c-puv3.
764
765 config I2C_PXA
766         tristate "Intel PXA2XX I2C adapter"
767         depends on ARCH_PXA || ARCH_MMP || (X86_32 && PCI && OF)
768         help
769           If you have devices in the PXA I2C bus, say yes to this option.
770           This driver can also be built as a module.  If so, the module
771           will be called i2c-pxa.
772
773 config I2C_PXA_PCI
774         def_bool I2C_PXA && X86_32 && PCI && OF
775
776 config I2C_PXA_SLAVE
777         bool "Intel PXA2XX I2C Slave comms support"
778         depends on I2C_PXA && !X86_32
779         help
780           Support I2C slave mode communications on the PXA I2C bus.  This
781           is necessary for systems where the PXA may be a target on the
782           I2C bus.
783
784 config I2C_QUP
785         tristate "Qualcomm QUP based I2C controller"
786         depends on ARCH_QCOM || COMPILE_TEST
787         help
788           If you say yes to this option, support will be included for the
789           built-in I2C interface on the Qualcomm SoCs.
790
791           This driver can also be built as a module.  If so, the module
792           will be called i2c-qup.
793
794 config I2C_RIIC
795         tristate "Renesas RIIC adapter"
796         depends on ARCH_RENESAS || COMPILE_TEST
797         help
798           If you say yes to this option, support will be included for the
799           Renesas RIIC I2C interface.
800
801           This driver can also be built as a module.  If so, the module
802           will be called i2c-riic.
803
804 config I2C_RK3X
805         tristate "Rockchip RK3xxx I2C adapter"
806         depends on OF && COMMON_CLK
807         help
808           Say Y here to include support for the I2C adapter in Rockchip RK3xxx
809           SoCs.
810
811           This driver can also be built as a module. If so, the module will
812           be called i2c-rk3x.
813
814 config HAVE_S3C2410_I2C
815         bool
816         help
817           This will include I2C support for Samsung SoCs. If you want to
818           include I2C support for any machine, kindly select this in the
819           respective Kconfig file.
820
821 config I2C_S3C2410
822         tristate "S3C2410 I2C Driver"
823         depends on HAVE_S3C2410_I2C
824         help
825           Say Y here to include support for I2C controller in the
826           Samsung SoCs.
827
828 config I2C_SH7760
829         tristate "Renesas SH7760 I2C Controller"
830         depends on CPU_SUBTYPE_SH7760
831         help
832           This driver supports the 2 I2C interfaces on the Renesas SH7760.
833
834           This driver can also be built as a module.  If so, the module
835           will be called i2c-sh7760.
836
837 config I2C_SH_MOBILE
838         tristate "SuperH Mobile I2C Controller"
839         depends on HAS_DMA
840         depends on ARCH_SHMOBILE || ARCH_RENESAS || COMPILE_TEST
841         help
842           If you say yes to this option, support will be included for the
843           built-in I2C interface on the Renesas SH-Mobile processor.
844
845           This driver can also be built as a module.  If so, the module
846           will be called i2c-sh_mobile.
847
848 config I2C_SIMTEC
849         tristate "Simtec Generic I2C interface"
850         select I2C_ALGOBIT
851         help
852           If you say yes to this option, support will be included for
853           the Simtec Generic I2C interface. This driver is for the
854           simple I2C bus used on newer Simtec products for general
855           I2C, such as DDC on the Simtec BBD2016A.
856
857           This driver can also be built as a module. If so, the module
858           will be called i2c-simtec.
859
860 config I2C_SIRF
861         tristate "CSR SiRFprimaII I2C interface"
862         depends on ARCH_SIRF
863         help
864           If you say yes to this option, support will be included for the
865           CSR SiRFprimaII I2C interface.
866
867           This driver can also be built as a module.  If so, the module
868           will be called i2c-sirf.
869
870 config I2C_ST
871         tristate "STMicroelectronics SSC I2C support"
872         depends on ARCH_STI
873         help
874           Enable this option to add support for STMicroelectronics SoCs
875           hardware SSC (Synchronous Serial Controller) as an I2C controller.
876
877           This driver can also be built as module. If so, the module
878           will be called i2c-st.
879
880 config I2C_STU300
881         tristate "ST Microelectronics DDC I2C interface"
882         depends on MACH_U300
883         default y if MACH_U300
884         help
885           If you say yes to this option, support will be included for the
886           I2C interface from ST Microelectronics simply called "DDC I2C"
887           supporting both I2C and DDC, used in e.g. the U300 series
888           mobile platforms.
889
890           This driver can also be built as a module. If so, the module
891           will be called i2c-stu300.
892
893 config I2C_SUN6I_P2WI
894         tristate "Allwinner sun6i internal P2WI controller"
895         depends on RESET_CONTROLLER
896         depends on MACH_SUN6I || COMPILE_TEST
897         help
898           If you say yes to this option, support will be included for the
899           P2WI (Push/Pull 2 Wire Interface) controller embedded in some sunxi
900           SOCs.
901           The P2WI looks like an SMBus controller (which supports only byte
902           accesses), except that it only supports one slave device.
903           This interface is used to connect to specific PMIC devices (like the
904           AXP221).
905
906 config I2C_TEGRA
907         tristate "NVIDIA Tegra internal I2C controller"
908         depends on ARCH_TEGRA
909         help
910           If you say yes to this option, support will be included for the
911           I2C controller embedded in NVIDIA Tegra SOCs
912
913 config I2C_UNIPHIER
914         tristate "UniPhier FIFO-less I2C controller"
915         depends on ARCH_UNIPHIER || COMPILE_TEST
916         help
917           If you say yes to this option, support will be included for
918           the UniPhier FIFO-less I2C interface embedded in PH1-LD4, PH1-sLD8,
919           or older UniPhier SoCs.
920
921 config I2C_UNIPHIER_F
922         tristate "UniPhier FIFO-builtin I2C controller"
923         depends on ARCH_UNIPHIER || COMPILE_TEST
924         help
925           If you say yes to this option, support will be included for
926           the UniPhier FIFO-builtin I2C interface embedded in PH1-Pro4,
927           PH1-Pro5, or newer UniPhier SoCs.
928
929 config I2C_VERSATILE
930         tristate "ARM Versatile/Realview I2C bus support"
931         depends on ARCH_VERSATILE || ARCH_REALVIEW || ARCH_VEXPRESS || COMPILE_TEST
932         select I2C_ALGOBIT
933         help
934           Say yes if you want to support the I2C serial bus on ARMs Versatile
935           range of platforms.
936
937           This driver can also be built as a module.  If so, the module
938           will be called i2c-versatile.
939
940 config I2C_WMT
941         tristate "Wondermedia WM8xxx SoC I2C bus support"
942         depends on ARCH_VT8500
943         help
944           Say yes if you want to support the I2C bus on Wondermedia 8xxx-series
945           SoCs.
946
947           This driver can also be built as a module. If so, the module will be
948           called i2c-wmt.
949
950 config I2C_OCTEON
951         tristate "Cavium OCTEON I2C bus support"
952         depends on CAVIUM_OCTEON_SOC
953         help
954           Say yes if you want to support the I2C serial bus on Cavium
955           OCTEON SOC.
956
957           This driver can also be built as a module.  If so, the module
958           will be called i2c-octeon.
959
960 config I2C_THUNDERX
961         tristate "Cavium ThunderX I2C bus support"
962         depends on 64BIT && PCI && (ARM64 || COMPILE_TEST)
963         select I2C_SMBUS
964         help
965           Say yes if you want to support the I2C serial bus on Cavium
966           ThunderX SOC.
967
968           This driver can also be built as a module.  If so, the module
969           will be called i2c-thunderx.
970
971 config I2C_XILINX
972         tristate "Xilinx I2C Controller"
973         depends on HAS_IOMEM
974         help
975           If you say yes to this option, support will be included for the
976           Xilinx I2C controller.
977
978           This driver can also be built as a module.  If so, the module
979           will be called xilinx_i2c.
980
981 config I2C_XLR
982         tristate "Netlogic XLR and Sigma Designs I2C support"
983         depends on CPU_XLR || ARCH_TANGO
984         help
985           This driver enables support for the on-chip I2C interface of
986           the Netlogic XLR/XLS MIPS processors and Sigma Designs SOCs.
987
988           This driver can also be built as a module.  If so, the module
989           will be called i2c-xlr.
990
991 config I2C_XLP9XX
992         tristate "XLP9XX I2C support"
993         depends on CPU_XLP || ARCH_VULCAN || COMPILE_TEST
994         help
995           This driver enables support for the on-chip I2C interface of
996           the Broadcom XLP9xx/XLP5xx MIPS and Vulcan ARM64 processors.
997
998           This driver can also be built as a module.  If so, the module will
999           be called i2c-xlp9xx.
1000
1001 config I2C_RCAR
1002         tristate "Renesas R-Car I2C Controller"
1003         depends on HAS_DMA
1004         depends on ARCH_RENESAS || COMPILE_TEST
1005         select I2C_SLAVE
1006         help
1007           If you say yes to this option, support will be included for the
1008           R-Car I2C controller.
1009
1010           This driver can also be built as a module.  If so, the module
1011           will be called i2c-rcar.
1012
1013 comment "External I2C/SMBus adapter drivers"
1014
1015 config I2C_DIOLAN_U2C
1016         tristate "Diolan U2C-12 USB adapter"
1017         depends on USB
1018         help
1019           If you say yes to this option, support will be included for Diolan
1020           U2C-12, a USB to I2C interface.
1021
1022           This driver can also be built as a module.  If so, the module
1023           will be called i2c-diolan-u2c.
1024
1025 config I2C_DLN2
1026        tristate "Diolan DLN-2 USB I2C adapter"
1027        depends on MFD_DLN2
1028        help
1029          If you say yes to this option, support will be included for Diolan
1030          DLN2, a USB to I2C interface.
1031
1032          This driver can also be built as a module.  If so, the module
1033          will be called i2c-dln2.
1034
1035 config I2C_PARPORT
1036         tristate "Parallel port adapter"
1037         depends on PARPORT
1038         select I2C_ALGOBIT
1039         select I2C_SMBUS
1040         help
1041           This supports parallel port I2C adapters such as the ones made by
1042           Philips or Velleman, Analog Devices evaluation boards, and more.
1043           Basically any adapter using the parallel port as an I2C bus with
1044           no extra chipset is supported by this driver, or could be.
1045
1046           This driver is a replacement for (and was inspired by) an older
1047           driver named i2c-philips-par.  The new driver supports more devices,
1048           and makes it easier to add support for new devices.
1049
1050           An adapter type parameter is now mandatory.  Please read the file
1051           Documentation/i2c/busses/i2c-parport for details.
1052
1053           Another driver exists, named i2c-parport-light, which doesn't depend
1054           on the parport driver.  This is meant for embedded systems. Don't say
1055           Y here if you intend to say Y or M there.
1056
1057           This support is also available as a module.  If so, the module
1058           will be called i2c-parport.
1059
1060 config I2C_PARPORT_LIGHT
1061         tristate "Parallel port adapter (light)"
1062         select I2C_ALGOBIT
1063         select I2C_SMBUS
1064         help
1065           This supports parallel port I2C adapters such as the ones made by
1066           Philips or Velleman, Analog Devices evaluation boards, and more.
1067           Basically any adapter using the parallel port as an I2C bus with
1068           no extra chipset is supported by this driver, or could be.
1069
1070           This driver is a light version of i2c-parport.  It doesn't depend
1071           on the parport driver, and uses direct I/O access instead.  This
1072           might be preferred on embedded systems where wasting memory for
1073           the clean but heavy parport handling is not an option.  The
1074           drawback is a reduced portability and the impossibility to
1075           daisy-chain other parallel port devices.
1076
1077           Don't say Y here if you said Y or M to i2c-parport.  Saying M to
1078           both is possible but both modules should not be loaded at the same
1079           time.
1080
1081           This support is also available as a module.  If so, the module
1082           will be called i2c-parport-light.
1083
1084 config I2C_ROBOTFUZZ_OSIF
1085         tristate "RobotFuzz Open Source InterFace USB adapter"
1086         depends on USB
1087         help
1088           If you say yes to this option, support will be included for the
1089           RobotFuzz Open Source InterFace USB to I2C interface.
1090
1091           This driver can also be built as a module.  If so, the module
1092           will be called i2c-osif.
1093
1094 config I2C_TAOS_EVM
1095         tristate "TAOS evaluation module"
1096         depends on TTY
1097         select SERIO
1098         select SERIO_SERPORT
1099         default n
1100         help
1101           This supports TAOS evaluation modules on serial port. In order to
1102           use this driver, you will need the inputattach tool, which is part
1103           of the input-utils package.
1104
1105           If unsure, say N.
1106
1107           This support is also available as a module.  If so, the module
1108           will be called i2c-taos-evm.
1109
1110 config I2C_TINY_USB
1111         tristate "Tiny-USB adapter"
1112         depends on USB
1113         help
1114           If you say yes to this option, support will be included for the
1115           i2c-tiny-usb, a simple do-it-yourself USB to I2C interface. See
1116           http://www.harbaum.org/till/i2c_tiny_usb for hardware details.
1117
1118           This driver can also be built as a module.  If so, the module
1119           will be called i2c-tiny-usb.
1120
1121 config I2C_VIPERBOARD
1122         tristate "Viperboard I2C master support"
1123         depends on MFD_VIPERBOARD && USB
1124         help
1125           Say yes here to access the I2C part of the Nano River
1126           Technologies Viperboard as I2C master.
1127           See viperboard API specification and Nano
1128           River Tech's viperboard.h for detailed meaning
1129           of the module parameters.
1130
1131 comment "Other I2C/SMBus bus drivers"
1132
1133 config I2C_ACORN
1134         tristate "Acorn IOC/IOMD I2C bus support"
1135         depends on ARCH_ACORN
1136         default y
1137         select I2C_ALGOBIT
1138         help
1139           Say yes if you want to support the I2C bus on Acorn platforms.
1140
1141           If you don't know, say Y.
1142
1143 config I2C_ELEKTOR
1144         tristate "Elektor ISA card"
1145         depends on ISA && HAS_IOPORT_MAP && BROKEN_ON_SMP
1146         select I2C_ALGOPCF
1147         help
1148           This supports the PCF8584 ISA bus I2C adapter.  Say Y if you own
1149           such an adapter.
1150
1151           This support is also available as a module.  If so, the module
1152           will be called i2c-elektor.
1153
1154 config I2C_PCA_ISA
1155         tristate "PCA9564/PCA9665 on an ISA bus"
1156         depends on ISA
1157         select I2C_ALGOPCA
1158         default n
1159         help
1160           This driver supports ISA boards using the Philips PCA9564/PCA9665
1161           parallel bus to I2C bus controller.
1162
1163           This driver can also be built as a module.  If so, the module
1164           will be called i2c-pca-isa.
1165
1166           This device is almost undetectable and using this driver on a
1167           system which doesn't have this device will result in long
1168           delays when I2C/SMBus chip drivers are loaded (e.g. at boot
1169           time).  If unsure, say N.
1170
1171 config I2C_SIBYTE
1172         tristate "SiByte SMBus interface"
1173         depends on SIBYTE_SB1xxx_SOC
1174         help
1175           Supports the SiByte SOC on-chip I2C interfaces (2 channels).
1176
1177 config I2C_CROS_EC_TUNNEL
1178         tristate "ChromeOS EC tunnel I2C bus"
1179         depends on MFD_CROS_EC
1180         help
1181           If you say yes here you get an I2C bus that will tunnel i2c commands
1182           through to the other side of the ChromeOS EC to the i2c bus
1183           connected there. This will work whatever the interface used to
1184           talk to the EC (SPI, I2C or LPC).
1185
1186 config I2C_XGENE_SLIMPRO
1187         tristate "APM X-Gene SoC I2C SLIMpro devices support"
1188         depends on ARCH_XGENE && MAILBOX
1189         help
1190           Enable I2C bus access using the APM X-Gene SoC SLIMpro
1191           co-processor. The I2C device access the I2C bus via the X-Gene
1192           to SLIMpro (On chip coprocessor) mailbox mechanism.
1193           If unsure, say N.
1194
1195 config SCx200_ACB
1196         tristate "Geode ACCESS.bus support"
1197         depends on X86_32 && PCI
1198         help
1199           Enable the use of the ACCESS.bus controllers on the Geode SCx200 and
1200           SC1100 processors and the CS5535 and CS5536 Geode companion devices.
1201
1202           If you don't know what to do here, say N.
1203
1204           This support is also available as a module.  If so, the module
1205           will be called scx200_acb.
1206
1207 config I2C_OPAL
1208         tristate "IBM OPAL I2C driver"
1209         depends on PPC_POWERNV
1210         default y
1211         help
1212           This exposes the PowerNV platform i2c busses to the linux i2c layer,
1213           the driver is based on the OPAL interfaces.
1214
1215           This driver can also be built as a module. If so, the module will be
1216           called as i2c-opal.
1217
1218 endmenu