Merge remote-tracking branch 'remotes/tegra/android-tegra-2.6.36-honeycomb-mr1' into...
[firefly-linux-kernel-4.4.55.git] / drivers / mfd / Kconfig
index 0e7a073d4472508ac42aad9dc5d44a9f50b13f4d..71ea410390bf936112fc115d49033b9e265f1983 100755 (executable)
@@ -2,13 +2,38 @@
 # Multifunction miscellaneous devices
 #
 
-menu "Multifunction device drivers"
+menuconfig MFD_SUPPORT
+       bool "Multifunction device drivers"
        depends on HAS_IOMEM
+       default y
+       help
+         Multifunction devices embed several functions (e.g. GPIOs,
+         touchscreens, keyboards, current regulators, power management chips,
+         etc...) in one single integrated circuit. They usually talk to the
+         main CPU through one or more IRQ lines and low speed data busses (SPI,
+         I2C, etc..). They appear as one single device to the main system
+         through the data bus and the MFD framework allows for sub devices
+         (a.k.a. functions) to appear as discrete platform devices.
+         MFDs are typically found on embedded platforms.
+
+         This option alone does not add any kernel code.
+
+if MFD_SUPPORT
 
 config MFD_CORE
        tristate
        default n
 
+config MFD_88PM860X
+       bool "Support Marvell 88PM8606/88PM8607"
+       depends on I2C=y && GENERIC_HARDIRQS
+       select MFD_CORE
+       help
+         This supports for Marvell 88PM8606/88PM8607 Power Management IC.
+         This includes the I2C driver and the core APIs _only_, you have to
+         select individual components like voltage regulators, RTC and
+         battery-charger under the corresponding menus.
+
 config MFD_SM501
        tristate "Support for Silicon Motion SM501"
         ---help---
@@ -35,6 +60,19 @@ config MFD_ASIC3
          This driver supports the ASIC3 multifunction chip found on many
          PDAs (mainly iPAQ and HTC based ones)
 
+config MFD_SH_MOBILE_SDHI
+       bool "Support for SuperH Mobile SDHI"
+       depends on SUPERH || ARCH_SHMOBILE
+       select MFD_CORE
+       select TMIO_MMC_DMA
+        ---help---
+         This driver supports the SDHI hardware block found in many
+         SuperH Mobile SoCs.
+
+config MFD_DAVINCI_VOICECODEC
+       tristate
+       select MFD_CORE
+
 config MFD_DM355EVM_MSP
        bool "DaVinci DM355 EVM microcontroller"
        depends on I2C && MACH_DAVINCI_DM355_EVM
@@ -60,6 +98,15 @@ config HTC_PASIC3
          HTC Magician devices, respectively. Actual functionality is
          handled by the leds-pasic3 and ds1wm drivers.
 
+config HTC_I2CPLD
+       bool "HTC I2C PLD chip support"
+       depends on I2C=y && GPIOLIB
+       help
+         If you say yes here you get support for the supposed CPLD
+         found on omap850 HTC devices like the HTC Wizard and HTC Herald.
+         This device provides input and output GPIOs through an I2C
+         interface to one or more sub-chips.
+
 config UCB1400_CORE
        tristate "Philips UCB1400 Core driver"
        depends on AC97_BUS
@@ -84,9 +131,21 @@ config TPS65010
          This driver can also be built as a module.  If so, the module
          will be called tps65010.
 
+config TPS6507X
+       tristate "TPS6507x Power Management / Touch Screen chips"
+       select MFD_CORE
+       depends on I2C
+       help
+         If you say yes here you get support for the TPS6507x series of
+         Power Management / Touch Screen chips.  These include voltage
+         regulators, lithium ion/polymer battery charging, touch screen
+         and other features that are often used in portable devices.
+         This driver can also be built as a module.  If so, the module
+         will be called tps6507x.
+
 config MENELAUS
        bool "Texas Instruments TWL92330/Menelaus PM chip"
-       depends on I2C=y && ARCH_OMAP24XX
+       depends on I2C=y && ARCH_OMAP2
        help
          If you say yes here you get support for the Texas Instruments
          TWL92330/Menelaus Power Management chip. This include voltage
@@ -95,10 +154,10 @@ config MENELAUS
          cell phones and PDAs.
 
 config TWL4030_CORE
-       bool "Texas Instruments TWL4030/TPS659x0 Support"
+       bool "Texas Instruments TWL4030/TWL5030/TWL6030/TPS659x0 Support"
        depends on I2C=y && GENERIC_HARDIRQS
        help
-         Say yes here if you have TWL4030 family chip on your board.
+         Say yes here if you have TWL4030 / TWL6030 family chip on your board.
          This core driver provides register access and IRQ handling
          facilities, and registers devices for the various functions
          so that function-specific drivers can bind to them.
@@ -133,10 +192,64 @@ config TPS65910_CORE
          These multi-function chips are found on many AM35xx boards,
           providing power management, RTC, GPIO features.
 
+config TWL4030_CODEC
+       bool
+       depends on TWL4030_CORE
+       select MFD_CORE
+       default n
+
+config TWL6030_PWM
+       tristate "TWL6030 PWM (Pulse Width Modulator) Support"
+       depends on TWL4030_CORE
+       select HAVE_PWM
+       default n
+       help
+         Say yes here if you want support for TWL6030 PWM.
+         This is used to control charging LED brightness.
+
+config MFD_STMPE
+       bool "Support STMicroelectronics STMPE"
+       depends on I2C=y && GENERIC_HARDIRQS
+       select MFD_CORE
+       help
+         Support for the STMPE family of I/O Expanders from
+         STMicroelectronics.
+
+         Currently supported devices are:
+
+               STMPE811: GPIO, Touchscreen
+               STMPE1601: GPIO, Keypad
+               STMPE2401: GPIO, Keypad
+               STMPE2403: GPIO, Keypad
+
+         This driver provides common support for accessing the device,
+         additional drivers must be enabled in order to use the functionality
+         of the device.  Currently available sub drivers are:
+
+               GPIO: stmpe-gpio
+               Keypad: stmpe-keypad
+               Touchscreen: stmpe-ts
+
+config MFD_TC35892
+       bool "Support Toshiba TC35892"
+       depends on I2C=y && GENERIC_HARDIRQS
+       select MFD_CORE
+       help
+         Support for the Toshiba TC35892 I/O Expander.
+
+         This driver provides common support for accessing the device,
+         additional drivers must be enabled in order to use the
+         functionality of the device.
+
 config MFD_TMIO
        bool
        default n
 
+config TMIO_MMC_DMA
+       bool
+       select DMA_ENGINE
+       select DMADEVICES
+
 config MFD_T7L66XB
        bool "Support Toshiba T7L66XB"
        depends on ARM && HAVE_CLK
@@ -171,18 +284,36 @@ config PMIC_DA903X
          the I2C driver and the core APIs _only_, you have to select
          individual components like LCD backlight, voltage regulators,
          LEDs and battery-charger under the corresponding menus.
-##and by qjb 
-config MFD_WM8994
-       tristate "Support Wolfson Microelectronics WM8994"
+
+config PMIC_ADP5520
+       bool "Analog Devices ADP5520/01 MFD PMIC Core Support"
+       depends on I2C=y
+       help
+         Say yes here to add support for Analog Devices AD5520 and ADP5501,
+         Multifunction Power Management IC. This includes
+         the I2C driver and the core APIs _only_, you have to select
+         individual components like LCD backlight, LEDs, GPIOs and Kepad
+         under the corresponding menus.
+
+config MFD_MAX8925
+       bool "Maxim Semiconductor MAX8925 PMIC Support"
+       depends on I2C=y && GENERIC_HARDIRQS
        select MFD_CORE
-       depends on I2C
        help
-         The WM8994 is a highly integrated hi-fi CODEC designed for
-         smartphone applicatiosn.  As well as audio functionality it
-         has on board GPIO and regulator functionality which is
-         supported via the relevant subsystems.  This driver provides
-         core support for the WM8994, in order to use the actual
-         functionaltiy of the device other drivers must be enabled.
+         Say yes here to support for Maxim Semiconductor MAX8925. This is
+         a Power Management IC. This driver provies common support for
+         accessing the device, additional drivers must be enabled in order
+         to use the functionality of the device.
+
+config MFD_MAX8998
+       bool "Maxim Semiconductor MAX8998 PMIC Support"
+       depends on I2C=y
+       select MFD_CORE
+       help
+         Say yes here to support for Maxim Semiconductor MAX8998. This is
+         a Power Management IC. This driver provies common support for
+         accessing the device, additional drivers must be enabled in order
+         to use the functionality of the device.
 
 config MFD_WM8400
        tristate "Support Wolfson Microelectronics WM8400"
@@ -232,7 +363,8 @@ config MFD_WM831X_SPI_A22
          order to use the functionality of the device.
          
 config MFD_WM8350
-       tristate
+       bool
+       depends on GENERIC_HARDIRQS
 
 config MFD_WM8350_CONFIG_MODE_0
        bool
@@ -283,9 +415,9 @@ config MFD_WM8352_CONFIG_MODE_3
        depends on MFD_WM8350
 
 config MFD_WM8350_I2C
-       tristate "Support Wolfson Microelectronics WM8350 with I2C"
+       bool "Support Wolfson Microelectronics WM8350 with I2C"
        select MFD_WM8350
-       depends on I2C
+       depends on I2C=y && GENERIC_HARDIRQS
        help
          The WM8350 is an integrated audio and power management
          subsystem with watchdog and RTC functionality for embedded
@@ -293,6 +425,18 @@ config MFD_WM8350_I2C
          I2C as the control interface.  Additional options must be
          selected to enable support for the functionality of the chip.
 
+config MFD_WM8994
+       bool "Support Wolfson Microelectronics WM8994"
+       select MFD_CORE
+       depends on I2C=y && GENERIC_HARDIRQS
+       help
+         The WM8994 is a highly integrated hi-fi CODEC designed for
+         smartphone applicatiosn.  As well as audio functionality it
+         has on board GPIO and regulator functionality which is
+         supported via the relevant subsystems.  This driver provides
+         core support for the WM8994, in order to use the actual
+         functionaltiy of the device other drivers must be enabled.
+
 config MFD_PCF50633
        tristate "Support for NXP PCF50633"
        depends on I2C
@@ -326,9 +470,19 @@ config PCF50633_GPIO
         Say yes here if you want to include support GPIO for pins on
         the PCF50633 chip.
 
+config ABX500_CORE
+       bool "ST-Ericsson ABX500 Mixed Signal Circuit register functions"
+       default y if ARCH_U300
+       help
+         Say yes here if you have the ABX500 Mixed Signal IC family
+         chips. This core driver expose register access functions.
+         Functionality specific drivers using these functions can
+         remain unchanged when IC changes. Binding of the functions to
+         actual register access is done by the IC core driver.
+
 config AB3100_CORE
-       tristate "ST-Ericsson AB3100 Mixed Signal Circuit core functions"
-       depends on I2C
+       bool "ST-Ericsson AB3100 Mixed Signal Circuit core functions"
+       depends on I2C=y && ABX500_CORE
        default y if ARCH_U300
        help
          Select this to enable the AB3100 Mixed Signal IC core
@@ -356,7 +510,97 @@ config EZX_PCAP
          This enables the PCAP ASIC present on EZX Phones. This is
          needed for MMC, TouchScreen, Sound, USB, etc..
 
-endmenu
+config AB8500_CORE
+       bool "ST-Ericsson AB8500 Mixed Signal Power Management chip"
+       depends on SPI=y && GENERIC_HARDIRQS
+       select MFD_CORE
+       help
+         Select this option to enable access to AB8500 power management
+         chip. This connects to U8500 on the SSP/SPI bus and exports
+         read/write functions for the devices to get access to this chip.
+         This chip embeds various other multimedia funtionalities as well.
+
+config AB3550_CORE
+        bool "ST-Ericsson AB3550 Mixed Signal Circuit core functions"
+       select MFD_CORE
+       depends on I2C=y && GENERIC_HARDIRQS && ABX500_CORE
+       help
+         Select this to enable the AB3550 Mixed Signal IC core
+         functionality. This connects to a AB3550 on the I2C bus
+         and expose a number of symbols needed for dependent devices
+         to read and write registers and subscribe to events from
+         this multi-functional IC. This is needed to use other features
+         of the AB3550 such as battery-backed RTC, charging control,
+         LEDs, vibrator, system power and temperature, power management
+         and ALSA sound.
+
+config MFD_TIMBERDALE
+       tristate "Support for the Timberdale FPGA"
+       select MFD_CORE
+       depends on PCI && GPIOLIB
+       ---help---
+       This is the core driver for the timberdale FPGA. This device is a
+       multifunction device which exposes numerous platform devices.
+
+       The timberdale FPGA can be found on the Intel Atom development board
+       for in-vehicle infontainment, called Russellville.
+
+config LPC_SCH
+       tristate "Intel SCH LPC"
+       depends on PCI
+       select MFD_CORE
+       help
+         LPC bridge function of the Intel SCH provides support for
+         System Management Bus and General Purpose I/O.
+
+config MFD_RDC321X
+       tristate "Support for RDC-R321x southbridge"
+       select MFD_CORE
+       depends on PCI
+       help
+         Say yes here if you want to have support for the RDC R-321x SoC
+         southbridge which provides access to GPIOs and Watchdog using the
+         southbridge PCI device configuration space.
+
+config MFD_CPCAP
+       tristate "Support for CPCAP"
+       depends on SPI && FIRMWARE_IN_KERNEL
+       help
+        Say yes here if you want to include drivers for the CPCAP chip.
+
+config MFD_JANZ_CMODIO
+       tristate "Support for Janz CMOD-IO PCI MODULbus Carrier Board"
+       select MFD_CORE
+       depends on PCI
+       help
+         This is the core driver for the Janz CMOD-IO PCI MODULbus
+         carrier board. This device is a PCI to MODULbus bridge which may
+         host many different types of MODULbus daughterboards, including
+         CAN and GPIO controllers.
+
+config MFD_JZ4740_ADC
+       tristate "Support for the JZ4740 SoC ADC core"
+       select MFD_CORE
+       depends on MACH_JZ4740
+       help
+         Say yes here if you want support for the ADC unit in the JZ4740 SoC.
+         This driver is necessary for jz4740-battery and jz4740-hwmon driver.
+
+config MFD_TPS6586X
+       bool "TPS6586x Power Management chips"
+       depends on I2C && GPIOLIB && GENERIC_HARDIRQS
+       select MFD_CORE
+       help
+         If you say yes here you get support for the TPS6586X series of
+         Power Management chips.
+         This driver provides common support for accessing the device,
+         additional drivers must be enabled in order to use the
+         functionality of the device.
+
+         This driver can also be built as a module.  If so, the module
+         will be called tps6586x.
+
+endif # MFD_SUPPORT
 
 menu "Multimedia Capabilities Port drivers"
        depends on ARCH_SA1100