Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf
[linux/fpc-iii.git] / drivers / i2c / busses / Kconfig
blob5c3993b261298ef3c9571e76307fe912548b9538
2 # Sensor device configuration
5 menu "I2C Hardware Bus support"
6         depends on HAS_IOMEM
8 comment "PC SMBus host controller drivers"
9         depends on PCI
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).
20           This driver can also be built as a module.  If so, the module
21           will be called i2c-ali1535.
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).
32           This driver can also be built as a module.  If so, the module
33           will be called i2c-ali1563.
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.
42           This driver can also be built as a module.  If so, the module
43           will be called i2c-ali15x3.
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.
54           This driver can also be built as a module.  If so, the module
55           will be called i2c-amd756.
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.
67           This driver can also be built as a module.  If so, the module
68           will be called i2c-amd756-s4882.
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.
77           This driver can also be built as a module.  If so, the module
78           will be called i2c-amd8111.
80 config I2C_HIX5HD2
81         tristate "Hix5hd2 high-speed I2C driver"
82         depends on ARCH_HIX5HD2 || COMPILE_TEST
83         help
84           Say Y here to include support for high-speed I2C controller in the
85           Hisilicon based hix5hd2 SoCs.
87           This driver can also be built as a module.  If so, the module
88           will be called i2c-hix5hd2.
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)
132           This driver can also be built as a module.  If so, the module
133           will be called i2c-i801.
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.
143           This driver can also be built as a module. If so, the module
144           will be called i2c-isch.
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.
153           This driver can also be built as a module.  If so, the module will be
154           called i2c-ismt.
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
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.
186           This driver can also be built as a module.  If so, the module
187           will be called i2c-piix4.
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.
196           This driver can also be built as a module.  If so, the module
197           will be called i2c-nforce2.
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.
209           This driver can also be built as a module.  If so, the module
210           will be called i2c-nforce2-s4985.
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.
219           This driver can also be built as a module.  If so, the module
220           will be called i2c-sis5595.
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.
229           This driver can also be built as a module.  If so, the module
230           will be called i2c-sis630.
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
247           This driver can also be built as a module.  If so, the module
248           will be called i2c-sis96x.
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
258           This driver can also be built as a module.  If so, the module
259           will be called i2c-via.
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
280           This driver can also be built as a module.  If so, the module
281           will be called i2c-viapro.
283 if ACPI
285 comment "ACPI drivers"
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.
294           To compile this driver as a module, choose M here:
295           the module will be called i2c-scmi.
297 endif # ACPI
299 comment "Mac SMBus host controller drivers"
300         depends on PPC_CHRP || PPC_PMAC
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.
311           This support is also available as a module.  If so, the module
312           will be called i2c-hydra.
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.
323           This support is also available as a module.  If so, the module
324           will be called i2c-powermac.
326 comment "I2C system bus drivers (mostly embedded / system-on-chip)"
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.
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.
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.
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.
353           This driver can also be built as a module.  If so, the module
354           will be called i2c-au1550.
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.
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.
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.
374           If you don't know what to do here, say N.
376           This support is also available as a module.  If so, the module
377           will be called i2c-bcm2835.
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.
387           If you don't know what to do here, say N.
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.
397           If you do not need KONA I2C interface, say N.
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.
407           If you do not need I2C interface, say N.
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.
416           This driver can also be built as a module.  If so, the module
417           will be called i2c-bfin-twi.
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.
427 config I2C_CADENCE
428         tristate "Cadence I2C Controller"
429         depends on ARCH_ZYNQ || ARM64
430         help
431           Say yes here to select Cadence I2C Host Controller. This controller is
432           e.g. used by Xilinx Zynq.
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).
441           This driver can also be built as a module.  If so, the module
442           will be called i2c-cbus-gpio.
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.
451           This driver can also be built as a module.  If so, the module
452           will be called i2c-cpm.
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.
460           This driver can also be built as a module.  If so, the module
461           will be called i2c-davinci.
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
467 config I2C_DESIGNWARE_CORE
468         tristate
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.
478           This driver can also be built as a module.  If so, the module
479           will be called i2c-designware-platform.
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.
489           This driver can also be built as a module.  If so, the module
490           will be called i2c-designware-pci.
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.
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.
510           This driver can also be built as a module.  If so, the module
511           will be called i2c-digicolor.
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.
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.
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.
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.
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.
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.
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.
567           This driver can also be built as a module.  If so, the module
568           will be called i2c-highlander.
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.
577           This driver can also be built as a module.  If so, the module
578           will be called i2c-ibm_iic.
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.
587           This driver can also be built as a module.  If so, the module
588           will be called i2c-img-scb.
590 config I2C_IMX
591         tristate "IMX I2C interface"
592         depends on ARCH_MXC || ARCH_LAYERSCAPE
593         help
594           Say Y here if you want to use the IIC bus controller on
595           the Freescale i.MX/MXC or Layerscape processors.
597           This driver can also be built as a module.  If so, the module
598           will be called i2c-imx.
600 config I2C_IOP3XX
601         tristate "Intel IOPx3xx and IXP4xx on-chip I2C interface"
602         depends on ARCH_IOP32X || ARCH_IOP33X || ARCH_IXP4XX || ARCH_IOP13XX
603         help
604           Say Y here if you want to use the IIC bus controller on
605           the Intel IOPx3xx I/O Processors or IXP4xx Network Processors.
607           This driver can also be built as a module.  If so, the module
608           will be called i2c-iop3xx.
610 config I2C_JZ4780
611         tristate "JZ4780 I2C controller interface support"
612         depends on MACH_JZ4780 || COMPILE_TEST
613         help
614          If you say yes to this option, support will be included for the
615          Ingenic JZ4780 I2C controller.
617          If you don't know what to do here, say N.
619 config I2C_KEMPLD
620         tristate "Kontron COM I2C Controller"
621         depends on MFD_KEMPLD
622         help
623           This enables support for the I2C bus interface on some Kontron ETX
624           and COMexpress (ETXexpress) modules.
626           This driver can also be built as a module. If so, the module
627           will be called i2c-kempld.
629 config I2C_LPC2K
630         tristate "I2C bus support for NXP LPC2K/LPC178x/18xx/43xx"
631         depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
632         help
633           This driver supports the I2C interface found several NXP
634           devices including LPC2xxx, LPC178x/7x and LPC18xx/43xx.
636           This driver can also be built as a module.  If so, the module
637           will be called i2c-lpc2k.
639 config I2C_MESON
640         tristate "Amlogic Meson I2C controller"
641         depends on ARCH_MESON || COMPILE_TEST
642         help
643           If you say yes to this option, support will be included for the
644           I2C interface on the Amlogic Meson family of SoCs.
646 config I2C_MPC
647         tristate "MPC107/824x/85xx/512x/52xx/83xx/86xx"
648         depends on PPC
649         help
650           If you say yes to this option, support will be included for the
651           built-in I2C interface on the MPC107, Tsi107, MPC512x, MPC52xx,
652           MPC8240, MPC8245, MPC83xx, MPC85xx and MPC8641 family processors.
654           This driver can also be built as a module.  If so, the module
655           will be called i2c-mpc.
657 config I2C_MT65XX
658         tristate "MediaTek I2C adapter"
659         depends on ARCH_MEDIATEK || COMPILE_TEST
660         depends on HAS_DMA
661         help
662           This selects the MediaTek(R) Integrated Inter Circuit bus driver
663           for MT65xx and MT81xx.
664           If you want to use MediaTek(R) I2C interface, say Y or M here.
665           If unsure, say N.
667 config I2C_MV64XXX
668         tristate "Marvell mv64xxx I2C Controller"
669         depends on MV64X60 || PLAT_ORION || ARCH_SUNXI || ARCH_MVEBU
670         help
671           If you say yes to this option, support will be included for the
672           built-in I2C interface on the Marvell 64xxx line of host bridges.
673           This driver is also used for Allwinner SoCs I2C controllers.
675           This driver can also be built as a module.  If so, the module
676           will be called i2c-mv64xxx.
678 config I2C_MXS
679         tristate "Freescale i.MX28 I2C interface"
680         depends on SOC_IMX28
681         select STMP_DEVICE
682         help
683           Say Y here if you want to use the I2C bus controller on
684           the Freescale i.MX28 processors.
686           This driver can also be built as a module.  If so, the module
687           will be called i2c-mxs.
689 config I2C_NOMADIK
690         tristate "ST-Ericsson Nomadik/Ux500 I2C Controller"
691         depends on ARM_AMBA
692         help
693           If you say yes to this option, support will be included for the
694           I2C interface from ST-Ericsson's Nomadik and Ux500 architectures,
695           as well as the STA2X11 PCIe I/O HUB.
697 config I2C_OCORES
698         tristate "OpenCores I2C Controller"
699         help
700           If you say yes to this option, support will be included for the
701           OpenCores I2C controller. For details see
702           http://www.opencores.org/projects.cgi/web/i2c/overview
704           This driver can also be built as a module.  If so, the module
705           will be called i2c-ocores.
707 config I2C_OMAP
708         tristate "OMAP I2C adapter"
709         depends on ARCH_OMAP
710         default y if MACH_OMAP_H3 || MACH_OMAP_OSK
711         help
712           If you say yes to this option, support will be included for the
713           I2C interface on the Texas Instruments OMAP1/2 family of processors.
714           Like OMAP1510/1610/1710/5912 and OMAP242x.
715           For details see http://www.ti.com/omap.
717 config I2C_PASEMI
718         tristate "PA Semi SMBus interface"
719         depends on PPC_PASEMI && PCI
720         help
721           Supports the PA Semi PWRficient on-chip SMBus interfaces.
723 config I2C_PCA_PLATFORM
724         tristate "PCA9564/PCA9665 as platform device"
725         select I2C_ALGOPCA
726         default n
727         help
728           This driver supports a memory mapped Philips PCA9564/PCA9665
729           parallel bus to I2C bus controller.
731           This driver can also be built as a module.  If so, the module
732           will be called i2c-pca-platform.
734 config I2C_PMCMSP
735         tristate "PMC MSP I2C TWI Controller"
736         depends on PMC_MSP
737         help
738           This driver supports the PMC TWI controller on MSP devices.
740           This driver can also be built as module. If so, the module
741           will be called i2c-pmcmsp.
743 config I2C_PNX
744         tristate "I2C bus support for Philips PNX and NXP LPC targets"
745         depends on ARCH_LPC32XX
746         help
747           This driver supports the Philips IP3204 I2C IP block master and/or
748           slave controller
750           This driver can also be built as a module.  If so, the module
751           will be called i2c-pnx.
753 config I2C_PUV3
754         tristate "PKUnity v3 I2C bus support"
755         depends on UNICORE32 && ARCH_PUV3
756         select I2C_ALGOBIT
757         help
758           This driver supports the I2C IP inside the PKUnity-v3 SoC.
759           This I2C bus controller is under AMBA/AXI bus.
761           This driver can also be built as a module.  If so, the module
762           will be called i2c-puv3.
764 config I2C_PXA
765         tristate "Intel PXA2XX I2C adapter"
766         depends on ARCH_PXA || ARCH_MMP || (X86_32 && PCI && OF)
767         help
768           If you have devices in the PXA I2C bus, say yes to this option.
769           This driver can also be built as a module.  If so, the module
770           will be called i2c-pxa.
772 config I2C_PXA_PCI
773         def_bool I2C_PXA && X86_32 && PCI && OF
775 config I2C_PXA_SLAVE
776         bool "Intel PXA2XX I2C Slave comms support"
777         depends on I2C_PXA && !X86_32
778         help
779           Support I2C slave mode communications on the PXA I2C bus.  This
780           is necessary for systems where the PXA may be a target on the
781           I2C bus.
783 config I2C_QUP
784         tristate "Qualcomm QUP based I2C controller"
785         depends on ARCH_QCOM
786         help
787           If you say yes to this option, support will be included for the
788           built-in I2C interface on the Qualcomm SoCs.
790           This driver can also be built as a module.  If so, the module
791           will be called i2c-qup.
793 config I2C_RIIC
794         tristate "Renesas RIIC adapter"
795         depends on ARCH_RENESAS || COMPILE_TEST
796         help
797           If you say yes to this option, support will be included for the
798           Renesas RIIC I2C interface.
800           This driver can also be built as a module.  If so, the module
801           will be called i2c-riic.
803 config I2C_RK3X
804         tristate "Rockchip RK3xxx I2C adapter"
805         depends on OF && COMMON_CLK
806         help
807           Say Y here to include support for the I2C adapter in Rockchip RK3xxx
808           SoCs.
810           This driver can also be built as a module. If so, the module will
811           be called i2c-rk3x.
813 config HAVE_S3C2410_I2C
814         bool
815         help
816           This will include I2C support for Samsung SoCs. If you want to
817           include I2C support for any machine, kindly select this in the
818           respective Kconfig file.
820 config I2C_S3C2410
821         tristate "S3C2410 I2C Driver"
822         depends on HAVE_S3C2410_I2C
823         help
824           Say Y here to include support for I2C controller in the
825           Samsung SoCs.
827 config I2C_SH7760
828         tristate "Renesas SH7760 I2C Controller"
829         depends on CPU_SUBTYPE_SH7760
830         help
831           This driver supports the 2 I2C interfaces on the Renesas SH7760.
833           This driver can also be built as a module.  If so, the module
834           will be called i2c-sh7760.
836 config I2C_SH_MOBILE
837         tristate "SuperH Mobile I2C Controller"
838         depends on HAS_DMA
839         depends on SUPERH || ARCH_RENESAS || COMPILE_TEST
840         help
841           If you say yes to this option, support will be included for the
842           built-in I2C interface on the Renesas SH-Mobile processor.
844           This driver can also be built as a module.  If so, the module
845           will be called i2c-sh_mobile.
847 config I2C_SIMTEC
848         tristate "Simtec Generic I2C interface"
849         select I2C_ALGOBIT
850         help
851           If you say yes to this option, support will be included for
852           the Simtec Generic I2C interface. This driver is for the
853           simple I2C bus used on newer Simtec products for general
854           I2C, such as DDC on the Simtec BBD2016A.
856           This driver can also be built as a module. If so, the module
857           will be called i2c-simtec.
859 config I2C_SIRF
860         tristate "CSR SiRFprimaII I2C interface"
861         depends on ARCH_SIRF
862         help
863           If you say yes to this option, support will be included for the
864           CSR SiRFprimaII I2C interface.
866           This driver can also be built as a module.  If so, the module
867           will be called i2c-sirf.
869 config I2C_ST
870         tristate "STMicroelectronics SSC I2C support"
871         depends on ARCH_STI
872         help
873           Enable this option to add support for STMicroelectronics SoCs
874           hardware SSC (Synchronous Serial Controller) as an I2C controller.
876           This driver can also be built as module. If so, the module
877           will be called i2c-st.
879 config I2C_STU300
880         tristate "ST Microelectronics DDC I2C interface"
881         depends on MACH_U300
882         default y if MACH_U300
883         help
884           If you say yes to this option, support will be included for the
885           I2C interface from ST Microelectronics simply called "DDC I2C"
886           supporting both I2C and DDC, used in e.g. the U300 series
887           mobile platforms.
889           This driver can also be built as a module. If so, the module
890           will be called i2c-stu300.
892 config I2C_SUN6I_P2WI
893         tristate "Allwinner sun6i internal P2WI controller"
894         depends on RESET_CONTROLLER
895         depends on MACH_SUN6I || COMPILE_TEST
896         help
897           If you say yes to this option, support will be included for the
898           P2WI (Push/Pull 2 Wire Interface) controller embedded in some sunxi
899           SOCs.
900           The P2WI looks like an SMBus controller (which supports only byte
901           accesses), except that it only supports one slave device.
902           This interface is used to connect to specific PMIC devices (like the
903           AXP221).
905 config I2C_TEGRA
906         tristate "NVIDIA Tegra internal I2C controller"
907         depends on ARCH_TEGRA
908         help
909           If you say yes to this option, support will be included for the
910           I2C controller embedded in NVIDIA Tegra SOCs
912 config I2C_UNIPHIER
913         tristate "UniPhier FIFO-less I2C controller"
914         depends on ARCH_UNIPHIER || COMPILE_TEST
915         help
916           If you say yes to this option, support will be included for
917           the UniPhier FIFO-less I2C interface embedded in PH1-LD4, PH1-sLD8,
918           or older UniPhier SoCs.
920 config I2C_UNIPHIER_F
921         tristate "UniPhier FIFO-builtin I2C controller"
922         depends on ARCH_UNIPHIER || COMPILE_TEST
923         help
924           If you say yes to this option, support will be included for
925           the UniPhier FIFO-builtin I2C interface embedded in PH1-Pro4,
926           PH1-Pro5, or newer UniPhier SoCs.
928 config I2C_VERSATILE
929         tristate "ARM Versatile/Realview I2C bus support"
930         depends on ARCH_VERSATILE || ARCH_REALVIEW || ARCH_VEXPRESS || COMPILE_TEST
931         select I2C_ALGOBIT
932         help
933           Say yes if you want to support the I2C serial bus on ARMs Versatile
934           range of platforms.
936           This driver can also be built as a module.  If so, the module
937           will be called i2c-versatile.
939 config I2C_WMT
940         tristate "Wondermedia WM8xxx SoC I2C bus support"
941         depends on ARCH_VT8500
942         help
943           Say yes if you want to support the I2C bus on Wondermedia 8xxx-series
944           SoCs.
946           This driver can also be built as a module. If so, the module will be
947           called i2c-wmt.
949 config I2C_OCTEON
950         tristate "Cavium OCTEON I2C bus support"
951         depends on CAVIUM_OCTEON_SOC
952         help
953           Say yes if you want to support the I2C serial bus on Cavium
954           OCTEON SOC.
956           This driver can also be built as a module.  If so, the module
957           will be called i2c-octeon.
959 config I2C_XILINX
960         tristate "Xilinx I2C Controller"
961         depends on HAS_IOMEM
962         help
963           If you say yes to this option, support will be included for the
964           Xilinx I2C controller.
966           This driver can also be built as a module.  If so, the module
967           will be called xilinx_i2c.
969 config I2C_XLR
970         tristate "Netlogic XLR and Sigma Designs I2C support"
971         depends on CPU_XLR || ARCH_TANGO
972         help
973           This driver enables support for the on-chip I2C interface of
974           the Netlogic XLR/XLS MIPS processors and Sigma Designs SOCs.
976           This driver can also be built as a module.  If so, the module
977           will be called i2c-xlr.
979 config I2C_XLP9XX
980         tristate "XLP9XX I2C support"
981         depends on CPU_XLP || ARCH_VULCAN || COMPILE_TEST
982         help
983           This driver enables support for the on-chip I2C interface of
984           the Broadcom XLP9xx/XLP5xx MIPS and Vulcan ARM64 processors.
986           This driver can also be built as a module.  If so, the module will
987           be called i2c-xlp9xx.
989 config I2C_RCAR
990         tristate "Renesas R-Car I2C Controller"
991         depends on HAS_DMA
992         depends on ARCH_RENESAS || COMPILE_TEST
993         select I2C_SLAVE
994         help
995           If you say yes to this option, support will be included for the
996           R-Car I2C controller.
998           This driver can also be built as a module.  If so, the module
999           will be called i2c-rcar.
1001 comment "External I2C/SMBus adapter drivers"
1003 config I2C_DIOLAN_U2C
1004         tristate "Diolan U2C-12 USB adapter"
1005         depends on USB
1006         help
1007           If you say yes to this option, support will be included for Diolan
1008           U2C-12, a USB to I2C interface.
1010           This driver can also be built as a module.  If so, the module
1011           will be called i2c-diolan-u2c.
1013 config I2C_DLN2
1014        tristate "Diolan DLN-2 USB I2C adapter"
1015        depends on MFD_DLN2
1016        help
1017          If you say yes to this option, support will be included for Diolan
1018          DLN2, a USB to I2C interface.
1020          This driver can also be built as a module.  If so, the module
1021          will be called i2c-dln2.
1023 config I2C_PARPORT
1024         tristate "Parallel port adapter"
1025         depends on PARPORT
1026         select I2C_ALGOBIT
1027         select I2C_SMBUS
1028         help
1029           This supports parallel port I2C adapters such as the ones made by
1030           Philips or Velleman, Analog Devices evaluation boards, and more.
1031           Basically any adapter using the parallel port as an I2C bus with
1032           no extra chipset is supported by this driver, or could be.
1034           This driver is a replacement for (and was inspired by) an older
1035           driver named i2c-philips-par.  The new driver supports more devices,
1036           and makes it easier to add support for new devices.
1038           An adapter type parameter is now mandatory.  Please read the file
1039           Documentation/i2c/busses/i2c-parport for details.
1041           Another driver exists, named i2c-parport-light, which doesn't depend
1042           on the parport driver.  This is meant for embedded systems. Don't say
1043           Y here if you intend to say Y or M there.
1045           This support is also available as a module.  If so, the module
1046           will be called i2c-parport.
1048 config I2C_PARPORT_LIGHT
1049         tristate "Parallel port adapter (light)"
1050         select I2C_ALGOBIT
1051         select I2C_SMBUS
1052         help
1053           This supports parallel port I2C adapters such as the ones made by
1054           Philips or Velleman, Analog Devices evaluation boards, and more.
1055           Basically any adapter using the parallel port as an I2C bus with
1056           no extra chipset is supported by this driver, or could be.
1058           This driver is a light version of i2c-parport.  It doesn't depend
1059           on the parport driver, and uses direct I/O access instead.  This
1060           might be preferred on embedded systems where wasting memory for
1061           the clean but heavy parport handling is not an option.  The
1062           drawback is a reduced portability and the impossibility to
1063           daisy-chain other parallel port devices.
1065           Don't say Y here if you said Y or M to i2c-parport.  Saying M to
1066           both is possible but both modules should not be loaded at the same
1067           time.
1069           This support is also available as a module.  If so, the module
1070           will be called i2c-parport-light.
1072 config I2C_ROBOTFUZZ_OSIF
1073         tristate "RobotFuzz Open Source InterFace USB adapter"
1074         depends on USB
1075         help
1076           If you say yes to this option, support will be included for the
1077           RobotFuzz Open Source InterFace USB to I2C interface.
1079           This driver can also be built as a module.  If so, the module
1080           will be called i2c-osif.
1082 config I2C_TAOS_EVM
1083         tristate "TAOS evaluation module"
1084         depends on TTY
1085         select SERIO
1086         select SERIO_SERPORT
1087         default n
1088         help
1089           This supports TAOS evaluation modules on serial port. In order to
1090           use this driver, you will need the inputattach tool, which is part
1091           of the input-utils package.
1093           If unsure, say N.
1095           This support is also available as a module.  If so, the module
1096           will be called i2c-taos-evm.
1098 config I2C_TINY_USB
1099         tristate "Tiny-USB adapter"
1100         depends on USB
1101         help
1102           If you say yes to this option, support will be included for the
1103           i2c-tiny-usb, a simple do-it-yourself USB to I2C interface. See
1104           http://www.harbaum.org/till/i2c_tiny_usb for hardware details.
1106           This driver can also be built as a module.  If so, the module
1107           will be called i2c-tiny-usb.
1109 config I2C_VIPERBOARD
1110         tristate "Viperboard I2C master support"
1111         depends on MFD_VIPERBOARD && USB
1112         help
1113           Say yes here to access the I2C part of the Nano River
1114           Technologies Viperboard as I2C master.
1115           See viperboard API specification and Nano
1116           River Tech's viperboard.h for detailed meaning
1117           of the module parameters.
1119 comment "Other I2C/SMBus bus drivers"
1121 config I2C_ACORN
1122         tristate "Acorn IOC/IOMD I2C bus support"
1123         depends on ARCH_ACORN
1124         default y
1125         select I2C_ALGOBIT
1126         help
1127           Say yes if you want to support the I2C bus on Acorn platforms.
1129           If you don't know, say Y.
1131 config I2C_ELEKTOR
1132         tristate "Elektor ISA card"
1133         depends on ISA && HAS_IOPORT_MAP && BROKEN_ON_SMP
1134         select I2C_ALGOPCF
1135         help
1136           This supports the PCF8584 ISA bus I2C adapter.  Say Y if you own
1137           such an adapter.
1139           This support is also available as a module.  If so, the module
1140           will be called i2c-elektor.
1142 config I2C_PCA_ISA
1143         tristate "PCA9564/PCA9665 on an ISA bus"
1144         depends on ISA
1145         select I2C_ALGOPCA
1146         default n
1147         help
1148           This driver supports ISA boards using the Philips PCA9564/PCA9665
1149           parallel bus to I2C bus controller.
1151           This driver can also be built as a module.  If so, the module
1152           will be called i2c-pca-isa.
1154           This device is almost undetectable and using this driver on a
1155           system which doesn't have this device will result in long
1156           delays when I2C/SMBus chip drivers are loaded (e.g. at boot
1157           time).  If unsure, say N.
1159 config I2C_SIBYTE
1160         tristate "SiByte SMBus interface"
1161         depends on SIBYTE_SB1xxx_SOC
1162         help
1163           Supports the SiByte SOC on-chip I2C interfaces (2 channels).
1165 config I2C_CROS_EC_TUNNEL
1166         tristate "ChromeOS EC tunnel I2C bus"
1167         depends on MFD_CROS_EC
1168         help
1169           If you say yes here you get an I2C bus that will tunnel i2c commands
1170           through to the other side of the ChromeOS EC to the i2c bus
1171           connected there. This will work whatever the interface used to
1172           talk to the EC (SPI, I2C or LPC).
1174 config I2C_XGENE_SLIMPRO
1175         tristate "APM X-Gene SoC I2C SLIMpro devices support"
1176         depends on ARCH_XGENE && MAILBOX
1177         help
1178           Enable I2C bus access using the APM X-Gene SoC SLIMpro
1179           co-processor. The I2C device access the I2C bus via the X-Gene
1180           to SLIMpro (On chip coprocessor) mailbox mechanism.
1181           If unsure, say N.
1183 config SCx200_ACB
1184         tristate "Geode ACCESS.bus support"
1185         depends on X86_32 && PCI
1186         help
1187           Enable the use of the ACCESS.bus controllers on the Geode SCx200 and
1188           SC1100 processors and the CS5535 and CS5536 Geode companion devices.
1190           If you don't know what to do here, say N.
1192           This support is also available as a module.  If so, the module
1193           will be called scx200_acb.
1195 config I2C_OPAL
1196         tristate "IBM OPAL I2C driver"
1197         depends on PPC_POWERNV
1198         default y
1199         help
1200           This exposes the PowerNV platform i2c busses to the linux i2c layer,
1201           the driver is based on the OPAL interfaces.
1203           This driver can also be built as a module. If so, the module will be
1204           called as i2c-opal.
1206 endmenu