62579266cf
Add a new driver to support the AB8500 Power Management chip, replacing the current AB4500. The new driver replaces the old one, instead of an incremental modification, because this is a substantial overhaul including: - Split of the driver into -core and -spi portions, to allow another interface layer to be added - Addition of interrupt support - Switch to MFD core API for handling subdevices - Simplification of the APIs to remove a redundant block parameter - Rename of the APIs and macros from ab4500_* to ab8500_* - Rename of the files from ab4500* to ab8500* - Change of the driver name from ab4500 to ab8500 Acked-by: Linus Walleij <linus.walleij@stericsson.com> Acked-by: Srinidhi Kasagar <srinidhi.kasagar@stericsson.com> Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
509 lines
15 KiB
Plaintext
509 lines
15 KiB
Plaintext
#
|
|
# Multifunction miscellaneous devices
|
|
#
|
|
|
|
menuconfig MFD_SUPPORT
|
|
bool "Multifunction device drivers"
|
|
depends on HAS_IOMEM
|
|
default y
|
|
help
|
|
Configure MFD device drivers.
|
|
|
|
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---
|
|
This is the core driver for the Silicon Motion SM501 multimedia
|
|
companion chip. This device is a multifunction device which may
|
|
provide numerous interfaces including USB host controller, USB gadget,
|
|
asynchronous serial ports, audio functions, and a dual display video
|
|
interface. The device may be connected by PCI or local bus with
|
|
varying functions enabled.
|
|
|
|
config MFD_SM501_GPIO
|
|
bool "Export GPIO via GPIO layer"
|
|
depends on MFD_SM501 && GPIOLIB
|
|
---help---
|
|
This option uses the gpio library layer to export the 64 GPIO
|
|
lines on the SM501. The platform data is used to supply the
|
|
base number for the first GPIO line to register.
|
|
|
|
config MFD_ASIC3
|
|
bool "Support for Compaq ASIC3"
|
|
depends on GENERIC_HARDIRQS && GPIOLIB && ARM
|
|
select MFD_CORE
|
|
---help---
|
|
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
|
|
help
|
|
This driver supports the MSP430 microcontroller used on these
|
|
boards. MSP430 firmware manages resets and power sequencing,
|
|
inputs from buttons and the IR remote, LEDs, an RTC, and more.
|
|
|
|
config HTC_EGPIO
|
|
bool "HTC EGPIO support"
|
|
depends on GENERIC_HARDIRQS && GPIOLIB && ARM
|
|
help
|
|
This driver supports the CPLD egpio chip present on
|
|
several HTC phones. It provides basic support for input
|
|
pins, output pins, and irqs.
|
|
|
|
config HTC_PASIC3
|
|
tristate "HTC PASIC3 LED/DS1WM chip support"
|
|
select MFD_CORE
|
|
help
|
|
This core driver provides register access for the LED/DS1WM
|
|
chips labeled "AIC2" and "AIC3", found on HTC Blueangel and
|
|
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
|
|
depends on GPIOLIB
|
|
help
|
|
This enables support for the Philips UCB1400 core functions.
|
|
The UCB1400 is an AC97 audio codec.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called ucb1400_core.
|
|
|
|
config TPS65010
|
|
tristate "TPS6501x Power Management chips"
|
|
depends on I2C && GPIOLIB
|
|
default y if MACH_OMAP_H2 || MACH_OMAP_H3 || MACH_OMAP_OSK
|
|
help
|
|
If you say yes here you get support for the TPS6501x series of
|
|
Power Management chips. These include voltage regulators,
|
|
lithium ion/polymer battery charging, and other features that
|
|
are often used in portable devices like cell phones and cameras.
|
|
|
|
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_OMAP2
|
|
help
|
|
If you say yes here you get support for the Texas Instruments
|
|
TWL92330/Menelaus Power Management chip. This include voltage
|
|
regulators, Dual slot memory card transceivers, real-time clock
|
|
and other features that are often used in portable devices like
|
|
cell phones and PDAs.
|
|
|
|
config TWL4030_CORE
|
|
bool "Texas Instruments TWL4030/TWL5030/TWL6030/TPS659x0 Support"
|
|
depends on I2C=y && GENERIC_HARDIRQS
|
|
help
|
|
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.
|
|
|
|
These multi-function chips are found on many OMAP2 and OMAP3
|
|
boards, providing power management, RTC, GPIO, keypad, a
|
|
high speed USB OTG transceiver, an audio codec (on most
|
|
versions) and many other features.
|
|
|
|
config TWL4030_POWER
|
|
bool "Support power resources on TWL4030 family chips"
|
|
depends on TWL4030_CORE && ARM
|
|
help
|
|
Say yes here if you want to use the power resources on the
|
|
TWL4030 family chips. Most of these resources are regulators,
|
|
which have a separate driver; some are control signals, such
|
|
as clock request handshaking.
|
|
|
|
This driver uses board-specific data to initialize the resources
|
|
and load scripts controling which resources are switched off/on
|
|
or reset when a sleep, wakeup or warm reset event occurs.
|
|
|
|
config TWL4030_CODEC
|
|
bool
|
|
depends on TWL4030_CORE
|
|
select MFD_CORE
|
|
default n
|
|
|
|
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
|
|
select MFD_CORE
|
|
select MFD_TMIO
|
|
help
|
|
Support for Toshiba Mobile IO Controller T7L66XB
|
|
|
|
config MFD_TC6387XB
|
|
bool "Support Toshiba TC6387XB"
|
|
depends on ARM && HAVE_CLK
|
|
select MFD_CORE
|
|
select MFD_TMIO
|
|
help
|
|
Support for Toshiba Mobile IO Controller TC6387XB
|
|
|
|
config MFD_TC6393XB
|
|
bool "Support Toshiba TC6393XB"
|
|
depends on GPIOLIB && ARM
|
|
select MFD_CORE
|
|
select MFD_TMIO
|
|
help
|
|
Support for Toshiba Mobile IO Controller TC6393XB
|
|
|
|
config PMIC_DA903X
|
|
bool "Dialog Semiconductor DA9030/DA9034 PMIC Support"
|
|
depends on I2C=y
|
|
help
|
|
Say yes here to support for Dialog Semiconductor DA9030 (a.k.a
|
|
ARAVA) and DA9034 (a.k.a MICCO), these are Power Management IC
|
|
usually found on PXA processors-based platforms. This includes
|
|
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.
|
|
|
|
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
|
|
help
|
|
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_WM8400
|
|
tristate "Support Wolfson Microelectronics WM8400"
|
|
select MFD_CORE
|
|
depends on I2C
|
|
help
|
|
Support for the Wolfson Microelecronics WM8400 PMIC and audio
|
|
CODEC. 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_WM831X
|
|
bool "Support Wolfson Microelectronics WM831x/2x PMICs"
|
|
select MFD_CORE
|
|
depends on I2C=y && GENERIC_HARDIRQS
|
|
help
|
|
Support for the Wolfson Microelecronics WM831x and WM832x PMICs.
|
|
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_WM8350
|
|
bool
|
|
depends on GENERIC_HARDIRQS
|
|
|
|
config MFD_WM8350_CONFIG_MODE_0
|
|
bool
|
|
depends on MFD_WM8350
|
|
|
|
config MFD_WM8350_CONFIG_MODE_1
|
|
bool
|
|
depends on MFD_WM8350
|
|
|
|
config MFD_WM8350_CONFIG_MODE_2
|
|
bool
|
|
depends on MFD_WM8350
|
|
|
|
config MFD_WM8350_CONFIG_MODE_3
|
|
bool
|
|
depends on MFD_WM8350
|
|
|
|
config MFD_WM8351_CONFIG_MODE_0
|
|
bool
|
|
depends on MFD_WM8350
|
|
|
|
config MFD_WM8351_CONFIG_MODE_1
|
|
bool
|
|
depends on MFD_WM8350
|
|
|
|
config MFD_WM8351_CONFIG_MODE_2
|
|
bool
|
|
depends on MFD_WM8350
|
|
|
|
config MFD_WM8351_CONFIG_MODE_3
|
|
bool
|
|
depends on MFD_WM8350
|
|
|
|
config MFD_WM8352_CONFIG_MODE_0
|
|
bool
|
|
depends on MFD_WM8350
|
|
|
|
config MFD_WM8352_CONFIG_MODE_1
|
|
bool
|
|
depends on MFD_WM8350
|
|
|
|
config MFD_WM8352_CONFIG_MODE_2
|
|
bool
|
|
depends on MFD_WM8350
|
|
|
|
config MFD_WM8352_CONFIG_MODE_3
|
|
bool
|
|
depends on MFD_WM8350
|
|
|
|
config MFD_WM8350_I2C
|
|
bool "Support Wolfson Microelectronics WM8350 with I2C"
|
|
select MFD_WM8350
|
|
depends on I2C=y && GENERIC_HARDIRQS
|
|
help
|
|
The WM8350 is an integrated audio and power management
|
|
subsystem with watchdog and RTC functionality for embedded
|
|
systems. This option enables core support for the WM8350 with
|
|
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
|
|
help
|
|
Say yes here if you have NXP PCF50633 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.
|
|
|
|
config MFD_MC13783
|
|
tristate "Support Freescale MC13783"
|
|
depends on SPI_MASTER
|
|
select MFD_CORE
|
|
help
|
|
Support for the Freescale (Atlas) MC13783 PMIC and audio CODEC.
|
|
This driver provides common support for accessing the device,
|
|
additional drivers must be enabled in order to use the
|
|
functionality of the device.
|
|
|
|
config PCF50633_ADC
|
|
tristate "Support for NXP PCF50633 ADC"
|
|
depends on MFD_PCF50633
|
|
help
|
|
Say yes here if you want to include support for ADC in the
|
|
NXP PCF50633 chip.
|
|
|
|
config PCF50633_GPIO
|
|
tristate "Support for NXP PCF50633 GPIO"
|
|
depends on MFD_PCF50633
|
|
help
|
|
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
|
|
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
|
|
functionality. This connects to a AB3100 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 AB3100 such as battery-backed RTC, charging control,
|
|
LEDs, vibrator, system power and temperature, power management
|
|
and ALSA sound.
|
|
|
|
config AB3100_OTP
|
|
tristate "ST-Ericsson AB3100 OTP functions"
|
|
depends on AB3100_CORE
|
|
default y if AB3100_CORE
|
|
help
|
|
Select this to enable the AB3100 Mixed Signal IC OTP (one-time
|
|
programmable memory) support. This exposes a sysfs file to read
|
|
out OTP values.
|
|
|
|
config EZX_PCAP
|
|
bool "PCAP Support"
|
|
depends on GENERIC_HARDIRQS && SPI_MASTER
|
|
help
|
|
This enables the PCAP ASIC present on EZX Phones. This is
|
|
needed for MMC, TouchScreen, Sound, USB, etc..
|
|
|
|
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_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.
|
|
|
|
endif # MFD_SUPPORT
|
|
|
|
menu "Multimedia Capabilities Port drivers"
|
|
depends on ARCH_SA1100
|
|
|
|
config MCP
|
|
tristate
|
|
|
|
# Interface drivers
|
|
config MCP_SA11X0
|
|
tristate "Support SA11x0 MCP interface"
|
|
depends on ARCH_SA1100
|
|
select MCP
|
|
|
|
# Chip drivers
|
|
config MCP_UCB1200
|
|
tristate "Support for UCB1200 / UCB1300"
|
|
depends on MCP
|
|
|
|
config MCP_UCB1200_TS
|
|
tristate "Touchscreen interface support"
|
|
depends on MCP_UCB1200 && INPUT
|
|
|
|
endmenu
|