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