Merge remote-tracking branch 'remotes/tegra/android-tegra-2.6.36-honeycomb-mr1' into...
[firefly-linux-kernel-4.4.55.git] / drivers / i2c / busses / Kconfig
index 9a1686e939cc09f58e6f0fc276a301ea9da50641..612c2088327b95086535edec79429cbe1d8eec3e 100644 (file)
@@ -106,6 +106,8 @@ config I2C_I801
 config I2C_ISCH
        tristate "Intel SCH SMBus 1.0"
        depends on PCI
+       select MFD_CORE
+       select LPC_SCH
        help
          Say Y here if you want to use SMBus controller on the Intel SCH
          based systems.
@@ -267,6 +269,512 @@ config I2C_HYDRA
 config I2C_POWERMAC
        tristate "Powermac I2C interface"
        depends on PPC_PMAC
+       default y
+       help
+         This exposes the various PowerMac i2c interfaces to the linux i2c
+         layer and to userland. It is used by various drivers on the PowerMac
+         platform, and should generally be enabled.
+
+         This support is also available as a module.  If so, the module
+         will be called i2c-powermac.
+
+comment "I2C system bus drivers (mostly embedded / system-on-chip)"
+
+config I2C_AT91
+       tristate "Atmel AT91 I2C Two-Wire interface (TWI)"
+       depends on ARCH_AT91 && EXPERIMENTAL && BROKEN
+       help
+         This supports the use of the I2C interface on Atmel AT91
+         processors.
+
+         This driver is BROKEN because the controller which it uses
+         will easily trigger RX overrun and TX underrun errors.  Using
+         low I2C clock rates may partially work around those issues
+         on some systems.  Another serious problem is that there is no
+         documented way to issue repeated START conditions, as needed
+         to support combined I2C messages.  Use the i2c-gpio driver
+         unless your system can cope with those limitations.
+
+config I2C_AU1550
+       tristate "Au1550/Au1200 SMBus interface"
+       depends on SOC_AU1550 || SOC_AU1200
+       help
+         If you say yes to this option, support will be included for the
+         Au1550 and Au1200 SMBus interface.
+
+         This driver can also be built as a module.  If so, the module
+         will be called i2c-au1550.
+
+config I2C_BLACKFIN_TWI
+       tristate "Blackfin TWI I2C support"
+       depends on BLACKFIN
+       depends on !BF561 && !BF531 && !BF532 && !BF533
+       help
+         This is the I2C bus driver for Blackfin on-chip TWI interface.
+
+         This driver can also be built as a module.  If so, the module
+         will be called i2c-bfin-twi.
+
+config I2C_BLACKFIN_TWI_CLK_KHZ
+       int "Blackfin TWI I2C clock (kHz)"
+       depends on I2C_BLACKFIN_TWI
+       range 21 400
+       default 50
+       help
+         The unit of the TWI clock is kHz.
+
+config I2C_CPM
+       tristate "Freescale CPM1 or CPM2 (MPC8xx/826x)"
+       depends on (CPM1 || CPM2) && OF_I2C
+       help
+         This supports the use of the I2C interface on Freescale
+         processors with CPM1 or CPM2.
+
+         This driver can also be built as a module.  If so, the module
+         will be called i2c-cpm.
+
+config I2C_DAVINCI
+       tristate "DaVinci I2C driver"
+       depends on ARCH_DAVINCI
+       help
+         Support for TI DaVinci I2C controller driver.
+
+         This driver can also be built as a module.  If so, the module
+         will be called i2c-davinci.
+
+         Please note that this driver might be needed to bring up other
+         devices such as DaVinci NIC.
+         For details please see http://www.ti.com/davinci
+
+config I2C_DESIGNWARE
+       tristate "Synopsys DesignWare"
+       depends on HAVE_CLK
+       help
+         If you say yes to this option, support will be included for the
+         Synopsys DesignWare I2C adapter. Only master mode is supported.
+
+         This driver can also be built as a module.  If so, the module
+         will be called i2c-designware.
+
+config I2C_GPIO
+       tristate "GPIO-based bitbanging I2C"
+       depends on GENERIC_GPIO
+       select I2C_ALGOBIT
+       help
+         This is a very simple bitbanging I2C driver utilizing the
+         arch-neutral GPIO API to control the SCL and SDA lines.
+
+config I2C_HIGHLANDER
+       tristate "Highlander FPGA SMBus interface"
+       depends on SH_HIGHLANDER
+       help
+         If you say yes to this option, support will be included for
+         the SMBus interface located in the FPGA on various Highlander
+         boards, particularly the R0P7780LC0011RL and R0P7785LC0011RL
+         FPGAs. This is wholly unrelated to the SoC I2C.
+
+         This driver can also be built as a module.  If so, the module
+         will be called i2c-highlander.
+
+config I2C_IBM_IIC
+       tristate "IBM PPC 4xx on-chip I2C interface"
+       depends on 4xx
+       help
+         Say Y here if you want to use IIC peripheral found on
+         embedded IBM PPC 4xx based systems.
+
+         This driver can also be built as a module.  If so, the module
+         will be called i2c-ibm_iic.
+
+config I2C_IMX
+       tristate "IMX I2C interface"
+       depends on ARCH_MXC
+       help
+         Say Y here if you want to use the IIC bus controller on
+         the Freescale i.MX/MXC processors.
+
+         This driver can also be built as a module.  If so, the module
+         will be called i2c-imx.
+
+config I2C_IOP3XX
+       tristate "Intel IOPx3xx and IXP4xx on-chip I2C interface"
+       depends on ARCH_IOP32X || ARCH_IOP33X || ARCH_IXP4XX || ARCH_IOP13XX
+       help
+         Say Y here if you want to use the IIC bus controller on
+         the Intel IOPx3xx I/O Processors or IXP4xx Network Processors.
+
+         This driver can also be built as a module.  If so, the module
+         will be called i2c-iop3xx.
+
+config I2C_IXP2000
+       tristate "IXP2000 GPIO-Based I2C Interface (DEPRECATED)"
+       depends on ARCH_IXP2000
+       select I2C_ALGOBIT
+       help
+         Say Y here if you have an Intel IXP2000 (2400, 2800, 2850) based
+         system and are using GPIO lines for an I2C bus.
+
+         This support is also available as a module. If so, the module
+         will be called i2c-ixp2000.
+
+         This driver is deprecated and will be dropped soon. Use i2c-gpio
+         instead.
+
+config I2C_MPC
+       tristate "MPC107/824x/85xx/512x/52xx/83xx/86xx"
+       depends on PPC32
+       help
+         If you say yes to this option, support will be included for the
+         built-in I2C interface on the MPC107, Tsi107, MPC512x, MPC52xx,
+         MPC8240, MPC8245, MPC83xx, MPC85xx and MPC8641 family processors.
+
+         This driver can also be built as a module.  If so, the module
+         will be called i2c-mpc.
+
+config I2C_MV64XXX
+       tristate "Marvell mv64xxx I2C Controller"
+       depends on (MV64X60 || PLAT_ORION) && EXPERIMENTAL
+       help
+         If you say yes to this option, support will be included for the
+         built-in I2C interface on the Marvell 64xxx line of host bridges.
+
+         This driver can also be built as a module.  If so, the module
+         will be called i2c-mv64xxx.
+
+config I2C_NOMADIK
+       tristate "ST-Ericsson Nomadik/Ux500 I2C Controller"
+       depends on PLAT_NOMADIK
+       help
+         If you say yes to this option, support will be included for the
+         I2C interface from ST-Ericsson's Nomadik and Ux500 architectures.
+
+config I2C_NUC900
+       tristate "NUC900 I2C Driver"
+       depends on ARCH_W90X900
+       help
+         Say Y here to include support for I2C controller in the
+         Winbond/Nuvoton NUC900 based System-on-Chip devices.
+
+config I2C_OCORES
+       tristate "OpenCores I2C Controller"
+       depends on EXPERIMENTAL
+       help
+         If you say yes to this option, support will be included for the
+         OpenCores I2C controller. For details see
+         http://www.opencores.org/projects.cgi/web/i2c/overview
+
+         This driver can also be built as a module.  If so, the module
+         will be called i2c-ocores.
+
+config I2C_OMAP
+       tristate "OMAP I2C adapter"
+       depends on ARCH_OMAP
+       default y if MACH_OMAP_H3 || MACH_OMAP_OSK
+       help
+         If you say yes to this option, support will be included for the
+         I2C interface on the Texas Instruments OMAP1/2 family of processors.
+         Like OMAP1510/1610/1710/5912 and OMAP242x.
+         For details see http://www.ti.com/omap.
+
+config I2C_PASEMI
+       tristate "PA Semi SMBus interface"
+       depends on PPC_PASEMI && PCI
+       help
+         Supports the PA Semi PWRficient on-chip SMBus interfaces.
+
+config I2C_PCA_PLATFORM
+       tristate "PCA9564/PCA9665 as platform device"
+       select I2C_ALGOPCA
+       default n
+       help
+         This driver supports a memory mapped Philips PCA9564/PCA9665
+         parallel bus to I2C bus controller.
+
+         This driver can also be built as a module.  If so, the module
+         will be called i2c-pca-platform.
+
+config I2C_PMCMSP
+       tristate "PMC MSP I2C TWI Controller"
+       depends on PMC_MSP
+       help
+         This driver supports the PMC TWI controller on MSP devices.
+
+         This driver can also be built as module. If so, the module
+         will be called i2c-pmcmsp.
+
+config I2C_PNX
+       tristate "I2C bus support for Philips PNX and NXP LPC targets"
+       depends on ARCH_PNX4008 || ARCH_LPC32XX
+       help
+         This driver supports the Philips IP3204 I2C IP block master and/or
+         slave controller
+
+         This driver can also be built as a module.  If so, the module
+         will be called i2c-pnx.
+
+config I2C_PXA
+       tristate "Intel PXA2XX I2C adapter"
+       depends on ARCH_PXA || ARCH_MMP
+       help
+         If you have devices in the PXA I2C bus, say yes to this option.
+         This driver can also be built as a module.  If so, the module
+         will be called i2c-pxa.
+
+config I2C_PXA_SLAVE
+       bool "Intel PXA2XX I2C Slave comms support"
+       depends on I2C_PXA
+       help
+         Support I2C slave mode communications on the PXA I2C bus.  This
+         is necessary for systems where the PXA may be a target on the
+         I2C bus.
+
+config HAVE_S3C2410_I2C
+       bool
+       help
+         This will include I2C support for Samsung SoCs. If you want to
+         include I2C support for any machine, kindly select this in the
+         respective Kconfig file.
+
+config I2C_S3C2410
+       tristate "S3C2410 I2C Driver"
+       depends on HAVE_S3C2410_I2C
+       help
+         Say Y here to include support for I2C controller in the
+         Samsung SoCs.
+
+config I2C_S6000
+       tristate "S6000 I2C support"
+       depends on XTENSA_VARIANT_S6000
+       help
+         This driver supports the on chip I2C device on the
+         S6000 xtensa processor family.
+
+         To compile this driver as a module, choose M here. The module
+         will be called i2c-s6000.
+
+config I2C_SH7760
+       tristate "Renesas SH7760 I2C Controller"
+       depends on CPU_SUBTYPE_SH7760
+       help
+         This driver supports the 2 I2C interfaces on the Renesas SH7760.
+
+         This driver can also be built as a module.  If so, the module
+         will be called i2c-sh7760.
+
+config I2C_SH_MOBILE
+       tristate "SuperH Mobile I2C Controller"
+       depends on SUPERH || ARCH_SHMOBILE
+       help
+         If you say yes to this option, support will be included for the
+         built-in I2C interface on the Renesas SH-Mobile processor.
+
+         This driver can also be built as a module.  If so, the module
+         will be called i2c-sh_mobile.
+
+config I2C_SIMTEC
+       tristate "Simtec Generic I2C interface"
+       select I2C_ALGOBIT
+       help
+         If you say yes to this option, support will be included for
+         the Simtec Generic I2C interface. This driver is for the
+         simple I2C bus used on newer Simtec products for general
+         I2C, such as DDC on the Simtec BBD2016A.
+
+         This driver can also be built as a module. If so, the module
+         will be called i2c-simtec.
+
+config I2C_STU300
+       tristate "ST Microelectronics DDC I2C interface"
+       depends on MACH_U300
+       default y if MACH_U300
+       help
+         If you say yes to this option, support will be included for the
+         I2C interface from ST Microelectronics simply called "DDC I2C"
+         supporting both I2C and DDC, used in e.g. the U300 series
+         mobile platforms.
+
+         This driver can also be built as a module. If so, the module
+         will be called i2c-stu300.
+
+config I2C_TEGRA
+       tristate "NVIDIA Tegra internal I2C controller"
+       depends on ARCH_TEGRA
+       help
+         If you say yes to this option, support will be included for the
+         I2C controller embedded in NVIDIA Tegra SOCs
+
+config I2C_VERSATILE
+       tristate "ARM Versatile/Realview I2C bus support"
+       depends on ARCH_VERSATILE || ARCH_REALVIEW || ARCH_VEXPRESS
+       select I2C_ALGOBIT
+       help
+         Say yes if you want to support the I2C serial bus on ARMs Versatile
+         range of platforms.
+
+         This driver can also be built as a module.  If so, the module
+         will be called i2c-versatile.
+
+config I2C_OCTEON
+       tristate "Cavium OCTEON I2C bus support"
+       depends on CPU_CAVIUM_OCTEON
+       help
+         Say yes if you want to support the I2C serial bus on Cavium
+         OCTEON SOC.
+
+         This driver can also be built as a module.  If so, the module
+         will be called i2c-octeon.
+
+config I2C_XILINX
+       tristate "Xilinx I2C Controller"
+       depends on EXPERIMENTAL && HAS_IOMEM
+       help
+         If you say yes to this option, support will be included for the
+         Xilinx I2C controller.
+
+         This driver can also be built as a module.  If so, the module
+         will be called xilinx_i2c.
+
+comment "External I2C/SMBus adapter drivers"
+
+config I2C_PARPORT
+       tristate "Parallel port adapter"
+       depends on PARPORT
+       select I2C_ALGOBIT
+       select I2C_SMBUS
+       help
+         This supports parallel port I2C adapters such as the ones made by
+         Philips or Velleman, Analog Devices evaluation boards, and more.
+         Basically any adapter using the parallel port as an I2C bus with
+         no extra chipset is supported by this driver, or could be.
+
+         This driver is a replacement for (and was inspired by) an older
+         driver named i2c-philips-par.  The new driver supports more devices,
+         and makes it easier to add support for new devices.
+
+         An adapter type parameter is now mandatory.  Please read the file
+         Documentation/i2c/busses/i2c-parport for details.
+
+         Another driver exists, named i2c-parport-light, which doesn't depend
+         on the parport driver.  This is meant for embedded systems. Don't say
+         Y here if you intend to say Y or M there.
+
+         This support is also available as a module.  If so, the module
+         will be called i2c-parport.
+
+config I2C_PARPORT_LIGHT
+       tristate "Parallel port adapter (light)"
+       select I2C_ALGOBIT
+       select I2C_SMBUS
+       help
+         This supports parallel port I2C adapters such as the ones made by
+         Philips or Velleman, Analog Devices evaluation boards, and more.
+         Basically any adapter using the parallel port as an I2C bus with
+         no extra chipset is supported by this driver, or could be.
+
+         This driver is a light version of i2c-parport.  It doesn't depend
+         on the parport driver, and uses direct I/O access instead.  This
+         might be preferred on embedded systems where wasting memory for
+         the clean but heavy parport handling is not an option.  The
+         drawback is a reduced portability and the impossibility to
+         daisy-chain other parallel port devices.
+
+         Don't say Y here if you said Y or M to i2c-parport.  Saying M to
+         both is possible but both modules should not be loaded at the same
+         time.
+
+         This support is also available as a module.  If so, the module
+         will be called i2c-parport-light.
+
+config I2C_TAOS_EVM
+       tristate "TAOS evaluation module"
+       depends on EXPERIMENTAL
+       select SERIO
+       select SERIO_SERPORT
+       default n
+       help
+         This supports TAOS evaluation modules on serial port. In order to
+         use this driver, you will need the inputattach tool, which is part
+         of the input-utils package.
+
+         If unsure, say N.
+
+         This support is also available as a module.  If so, the module
+         will be called i2c-taos-evm.
+
+config I2C_TINY_USB
+       tristate "Tiny-USB adapter"
+       depends on USB
+       help
+         If you say yes to this option, support will be included for the
+         i2c-tiny-usb, a simple do-it-yourself USB to I2C interface. See
+         http://www.harbaum.org/till/i2c_tiny_usb for hardware details.
+
+         This driver can also be built as a module.  If so, the module
+         will be called i2c-tiny-usb.
+
+comment "Other I2C/SMBus bus drivers"
+
+config I2C_ACORN
+       tristate "Acorn IOC/IOMD I2C bus support"
+       depends on ARCH_ACORN
+       default y
+       select I2C_ALGOBIT
+       help
+         Say yes if you want to support the I2C bus on Acorn platforms.
+
+         If you don't know, say Y.
+
+config I2C_ELEKTOR
+       tristate "Elektor ISA card"
+       depends on ISA && BROKEN_ON_SMP
+       select I2C_ALGOPCF
+       help
+         This supports the PCF8584 ISA bus I2C adapter.  Say Y if you own
+         such an adapter.
+
+         This support is also available as a module.  If so, the module
+         will be called i2c-elektor.
+
+config I2C_PCA_ISA
+       tristate "PCA9564/PCA9665 on an ISA bus"
+       depends on ISA
+       select I2C_ALGOPCA
+       default n
+       help
+         This driver supports ISA boards using the Philips PCA9564/PCA9665
+         parallel bus to I2C bus controller.
+
+         This driver can also be built as a module.  If so, the module
+         will be called i2c-pca-isa.
+
+         This device is almost undetectable and using this driver on a
+         system which doesn't have this device will result in long
+         delays when I2C/SMBus chip drivers are loaded (e.g. at boot
+         time).  If unsure, say N.
+
+config I2C_SIBYTE
+       tristate "SiByte SMBus interface"
+       depends on SIBYTE_SB1xxx_SOC
+       help
+         Supports the SiByte SOC on-chip I2C interfaces (2 channels).
+
+config I2C_STUB
+       tristate "I2C/SMBus Test Stub"
+       depends on EXPERIMENTAL && m
+       default 'n'
+       help
+         This module may be useful to developers of SMBus client drivers,
+         especially for certain kinds of sensor chips.
+
+         If you do build this module, be sure to read the notes and warnings
+         in <file:Documentation/i2c/i2c-stub>.
+
+         If you don't know what to do here, definitely say N.
+
+config SCx200_I2C
+       tristate "NatSemi SCx200 I2C using GPIO pins (DEPRECATED)"
+       depends on SCx200_GPIO
+       select I2C_ALGOBIT
 
 config I2C_RK29
        tristate "RK29 i2c interface (I2C)"