xref: /linux/drivers/mfd/Kconfig (revision a87d563873a6f1ee98233b57af665f2d0fc90ebb)
1a4e137abSRussell King#
2a4e137abSRussell King# Multifunction miscellaneous devices
3a4e137abSRussell King#
4a4e137abSRussell King
5b6d6454fSBen Dooksmenu "Multifunction device drivers"
6e25df120SMartin Schwidefsky	depends on HAS_IOMEM
7b6d6454fSBen Dooks
8aa613de6SDmitry Baryshkovconfig MFD_CORE
9aa613de6SDmitry Baryshkov	tristate
10aa613de6SDmitry Baryshkov	default n
11aa613de6SDmitry Baryshkov
12b6d6454fSBen Dooksconfig MFD_SM501
13b6d6454fSBen Dooks	tristate "Support for Silicon Motion SM501"
14b6d6454fSBen Dooks	 ---help---
15b6d6454fSBen Dooks	  This is the core driver for the Silicon Motion SM501 multimedia
16b6d6454fSBen Dooks	  companion chip. This device is a multifunction device which may
1701dd2fbfSMatt LaPlante	  provide numerous interfaces including USB host controller, USB gadget,
1801dd2fbfSMatt LaPlante	  asynchronous serial ports, audio functions, and a dual display video
19b6d6454fSBen Dooks	  interface. The device may be connected by PCI or local bus with
20b6d6454fSBen Dooks	  varying functions enabled.
21b6d6454fSBen Dooks
22f61be273SBen Dooksconfig MFD_SM501_GPIO
23f61be273SBen Dooks	bool "Export GPIO via GPIO layer"
242eedd604SSamuel Ortiz	depends on MFD_SM501 && GPIOLIB
25f61be273SBen Dooks	 ---help---
26f61be273SBen Dooks	 This option uses the gpio library layer to export the 64 GPIO
27f61be273SBen Dooks	 lines on the SM501. The platform data is used to supply the
28f61be273SBen Dooks	 base number for the first GPIO line to register.
29f61be273SBen Dooks
30fa9ff4b1SSamuel Ortizconfig MFD_ASIC3
31fa9ff4b1SSamuel Ortiz	bool "Support for Compaq ASIC3"
322eedd604SSamuel Ortiz	depends on GENERIC_HARDIRQS && GPIOLIB && ARM
339461f65aSPhilipp Zabel	select MFD_CORE
34fa9ff4b1SSamuel Ortiz	 ---help---
35fa9ff4b1SSamuel Ortiz	  This driver supports the ASIC3 multifunction chip found on many
36fa9ff4b1SSamuel Ortiz	  PDAs (mainly iPAQ and HTC based ones)
37fa9ff4b1SSamuel Ortiz
38*a87d5638SMagnus Dammconfig MFD_SH_MOBILE_SDHI
39*a87d5638SMagnus Damm	bool "Support for SuperH Mobile SDHI"
40*a87d5638SMagnus Damm	depends on SUPERH
41*a87d5638SMagnus Damm	select MFD_CORE
42*a87d5638SMagnus Damm	 ---help---
43*a87d5638SMagnus Damm	  This driver supports the SDHI hardware block found in many
44*a87d5638SMagnus Damm	  SuperH Mobile SoCs.
45*a87d5638SMagnus Damm
460931a4c6SDavid Brownellconfig MFD_DM355EVM_MSP
470931a4c6SDavid Brownell	bool "DaVinci DM355 EVM microcontroller"
480931a4c6SDavid Brownell	depends on I2C && MACH_DAVINCI_DM355_EVM
490931a4c6SDavid Brownell	help
500931a4c6SDavid Brownell	  This driver supports the MSP430 microcontroller used on these
510931a4c6SDavid Brownell	  boards.  MSP430 firmware manages resets and power sequencing,
520931a4c6SDavid Brownell	  inputs from buttons and the IR remote, LEDs, an RTC, and more.
530931a4c6SDavid Brownell
54a1635b8fSPhilipp Zabelconfig HTC_EGPIO
55a1635b8fSPhilipp Zabel	bool "HTC EGPIO support"
567444a72eSMichael Buesch	depends on GENERIC_HARDIRQS && GPIOLIB && ARM
57a1635b8fSPhilipp Zabel	help
58a1635b8fSPhilipp Zabel	    This driver supports the CPLD egpio chip present on
59a1635b8fSPhilipp Zabel	    several HTC phones.  It provides basic support for input
60a1635b8fSPhilipp Zabel	    pins, output pins, and irqs.
61a1635b8fSPhilipp Zabel
625dc3339aSPhilipp Zabelconfig HTC_PASIC3
635dc3339aSPhilipp Zabel	tristate "HTC PASIC3 LED/DS1WM chip support"
640254a8f4SPhilipp Zabel	select MFD_CORE
655dc3339aSPhilipp Zabel	help
665dc3339aSPhilipp Zabel	  This core driver provides register access for the LED/DS1WM
675dc3339aSPhilipp Zabel	  chips labeled "AIC2" and "AIC3", found on HTC Blueangel and
685dc3339aSPhilipp Zabel	  HTC Magician devices, respectively. Actual functionality is
695dc3339aSPhilipp Zabel	  handled by the leds-pasic3 and ds1wm drivers.
705dc3339aSPhilipp Zabel
71d9105c2bSMarek Vašutconfig UCB1400_CORE
72d9105c2bSMarek Vašut	tristate "Philips UCB1400 Core driver"
73e4831802SRandy Dunlap	depends on AC97_BUS
745a49a540SAndrew Morton	depends on GPIOLIB
75d9105c2bSMarek Vašut	help
76d9105c2bSMarek Vašut	  This enables support for the Philips UCB1400 core functions.
77d9105c2bSMarek Vašut	  The UCB1400 is an AC97 audio codec.
78d9105c2bSMarek Vašut
79d9105c2bSMarek Vašut	  To compile this driver as a module, choose M here: the
80d9105c2bSMarek Vašut	  module will be called ucb1400_core.
81d9105c2bSMarek Vašut
8287c13493SDavid Brownellconfig TPS65010
8387c13493SDavid Brownell	tristate "TPS6501x Power Management chips"
8487c13493SDavid Brownell	depends on I2C && GPIOLIB
8587c13493SDavid Brownell	default y if MACH_OMAP_H2 || MACH_OMAP_H3 || MACH_OMAP_OSK
8687c13493SDavid Brownell	help
8787c13493SDavid Brownell	  If you say yes here you get support for the TPS6501x series of
8887c13493SDavid Brownell	  Power Management chips.  These include voltage regulators,
8987c13493SDavid Brownell	  lithium ion/polymer battery charging, and other features that
9087c13493SDavid Brownell	  are often used in portable devices like cell phones and cameras.
9187c13493SDavid Brownell
9287c13493SDavid Brownell	  This driver can also be built as a module.  If so, the module
9387c13493SDavid Brownell	  will be called tps65010.
9487c13493SDavid Brownell
9588e75cc3SDavid Brownellconfig MENELAUS
9688e75cc3SDavid Brownell	bool "Texas Instruments TWL92330/Menelaus PM chip"
9788e75cc3SDavid Brownell	depends on I2C=y && ARCH_OMAP24XX
9888e75cc3SDavid Brownell	help
9988e75cc3SDavid Brownell	  If you say yes here you get support for the Texas Instruments
10088e75cc3SDavid Brownell	  TWL92330/Menelaus Power Management chip. This include voltage
101692105b8SMatt LaPlante	  regulators, Dual slot memory card transceivers, real-time clock
10288e75cc3SDavid Brownell	  and other features that are often used in portable devices like
10388e75cc3SDavid Brownell	  cell phones and PDAs.
10488e75cc3SDavid Brownell
105a603a7faSDavid Brownellconfig TWL4030_CORE
106a603a7faSDavid Brownell	bool "Texas Instruments TWL4030/TPS659x0 Support"
10767460a7cSDavid Brownell	depends on I2C=y && GENERIC_HARDIRQS
108a603a7faSDavid Brownell	help
109a603a7faSDavid Brownell	  Say yes here if you have TWL4030 family chip on your board.
110a603a7faSDavid Brownell	  This core driver provides register access and IRQ handling
111a603a7faSDavid Brownell	  facilities, and registers devices for the various functions
112a603a7faSDavid Brownell	  so that function-specific drivers can bind to them.
113a603a7faSDavid Brownell
114a603a7faSDavid Brownell	  These multi-function chips are found on many OMAP2 and OMAP3
115a603a7faSDavid Brownell	  boards, providing power management, RTC, GPIO, keypad, a
116a603a7faSDavid Brownell	  high speed USB OTG transceiver, an audio codec (on most
117a603a7faSDavid Brownell	  versions) and many other features.
118a603a7faSDavid Brownell
119ebf0bd36SAmit Kucheriaconfig TWL4030_POWER
120ebf0bd36SAmit Kucheria	bool "Support power resources on TWL4030 family chips"
121ebf0bd36SAmit Kucheria	depends on TWL4030_CORE && ARM
122ebf0bd36SAmit Kucheria	help
123ebf0bd36SAmit Kucheria	  Say yes here if you want to use the power resources on the
124ebf0bd36SAmit Kucheria	  TWL4030 family chips.  Most of these resources are regulators,
125ebf0bd36SAmit Kucheria	  which have a separate driver; some are control signals, such
126ebf0bd36SAmit Kucheria	  as clock request handshaking.
127ebf0bd36SAmit Kucheria
128ebf0bd36SAmit Kucheria	  This driver uses board-specific data to initialize the resources
129ebf0bd36SAmit Kucheria	  and load scripts controling which resources are switched off/on
130ebf0bd36SAmit Kucheria	  or reset when a sleep, wakeup or warm reset event occurs.
131ebf0bd36SAmit Kucheria
1321c2c30acSSamuel Ortizconfig MFD_TMIO
1331c2c30acSSamuel Ortiz	bool
1341c2c30acSSamuel Ortiz	default n
1351c2c30acSSamuel Ortiz
1361f192015SIan Moltonconfig MFD_T7L66XB
1371f192015SIan Molton	bool "Support Toshiba T7L66XB"
1389ca68233SAl Viro	depends on ARM && HAVE_CLK
1391f192015SIan Molton	select MFD_CORE
1401c2c30acSSamuel Ortiz	select MFD_TMIO
1411f192015SIan Molton	help
1421f192015SIan Molton	  Support for Toshiba Mobile IO Controller T7L66XB
1431f192015SIan Molton
144cbdfb426SIan Moltonconfig MFD_TC6387XB
145cbdfb426SIan Molton	bool "Support Toshiba TC6387XB"
1469ca68233SAl Viro	depends on ARM && HAVE_CLK
147cbdfb426SIan Molton	select MFD_CORE
1481c2c30acSSamuel Ortiz	select MFD_TMIO
149cbdfb426SIan Molton	help
150cbdfb426SIan Molton	  Support for Toshiba Mobile IO Controller TC6387XB
151cbdfb426SIan Molton
152d6315949SDmitry Baryshkovconfig MFD_TC6393XB
153d6315949SDmitry Baryshkov	bool "Support Toshiba TC6393XB"
1548d25b36bSAdrian Bunk	depends on GPIOLIB && ARM
155f024ff10SDmitry Baryshkov	select MFD_CORE
1561c2c30acSSamuel Ortiz	select MFD_TMIO
157d6315949SDmitry Baryshkov	help
158d6315949SDmitry Baryshkov	  Support for Toshiba Mobile IO Controller TC6393XB
159d6315949SDmitry Baryshkov
1608e2eaabfSSamuel Ortizconfig PMIC_DA903X
1618e2eaabfSSamuel Ortiz	bool "Dialog Semiconductor DA9030/DA9034 PMIC Support"
1628e2eaabfSSamuel Ortiz	depends on I2C=y
1638e2eaabfSSamuel Ortiz	help
1648e2eaabfSSamuel Ortiz	  Say yes here to support for Dialog Semiconductor DA9030 (a.k.a
1658e2eaabfSSamuel Ortiz	  ARAVA) and DA9034 (a.k.a MICCO), these are Power Management IC
1668e2eaabfSSamuel Ortiz	  usually found on PXA processors-based platforms. This includes
1678e2eaabfSSamuel Ortiz	  the I2C driver and the core APIs _only_, you have to select
1688e2eaabfSSamuel Ortiz	  individual components like LCD backlight, voltage regulators,
1698e2eaabfSSamuel Ortiz	  LEDs and battery-charger under the corresponding menus.
1708e2eaabfSSamuel Ortiz
1711d9f9f04SMark Brownconfig MFD_WM8400
1721d9f9f04SMark Brown	tristate "Support Wolfson Microelectronics WM8400"
173b8380c1aSMark Brown	select MFD_CORE
1749c366452SMark Brown	depends on I2C
1751d9f9f04SMark Brown	help
1761d9f9f04SMark Brown	  Support for the Wolfson Microelecronics WM8400 PMIC and audio
1779e5aca58SMark Brown	  CODEC.  This driver provides common support for accessing
1781d9f9f04SMark Brown	  the device, additional drivers must be enabled in order to use
1791d9f9f04SMark Brown	  the functionality of the device.
1801d9f9f04SMark Brown
181b11062b9SMark Brownconfig MFD_WM831X
182b11062b9SMark Brown	tristate "Support Wolfson Microelectronics WM831x PMICs"
183b11062b9SMark Brown	select MFD_CORE
184b11062b9SMark Brown	depends on I2C
185b11062b9SMark Brown	help
186b11062b9SMark Brown	  Support for the Wolfson Microelecronics WM831x PMICs.  This
187b11062b9SMark Brown	  driver provides common support for accessing the device,
188b11062b9SMark Brown	  additional drivers must be enabled in order to use the
189b11062b9SMark Brown	  functionality of the device.
190b11062b9SMark Brown
19189b4012bSMark Brownconfig MFD_WM8350
19289b4012bSMark Brown	tristate
19389b4012bSMark Brown
19489b4012bSMark Brownconfig MFD_WM8350_CONFIG_MODE_0
19589b4012bSMark Brown	bool
19689b4012bSMark Brown	depends on MFD_WM8350
19789b4012bSMark Brown
19889b4012bSMark Brownconfig MFD_WM8350_CONFIG_MODE_1
19989b4012bSMark Brown	bool
20089b4012bSMark Brown	depends on MFD_WM8350
20189b4012bSMark Brown
20289b4012bSMark Brownconfig MFD_WM8350_CONFIG_MODE_2
20389b4012bSMark Brown	bool
20489b4012bSMark Brown	depends on MFD_WM8350
20589b4012bSMark Brown
20689b4012bSMark Brownconfig MFD_WM8350_CONFIG_MODE_3
20789b4012bSMark Brown	bool
20889b4012bSMark Brown	depends on MFD_WM8350
20989b4012bSMark Brown
210ca23f8c1SMark Brownconfig MFD_WM8351_CONFIG_MODE_0
211ca23f8c1SMark Brown	bool
212ca23f8c1SMark Brown	depends on MFD_WM8350
213ca23f8c1SMark Brown
214ca23f8c1SMark Brownconfig MFD_WM8351_CONFIG_MODE_1
215ca23f8c1SMark Brown	bool
216ca23f8c1SMark Brown	depends on MFD_WM8350
217ca23f8c1SMark Brown
218ca23f8c1SMark Brownconfig MFD_WM8351_CONFIG_MODE_2
219ca23f8c1SMark Brown	bool
220ca23f8c1SMark Brown	depends on MFD_WM8350
221ca23f8c1SMark Brown
222ca23f8c1SMark Brownconfig MFD_WM8351_CONFIG_MODE_3
223ca23f8c1SMark Brown	bool
224ca23f8c1SMark Brown	depends on MFD_WM8350
225ca23f8c1SMark Brown
22696920630SMark Brownconfig MFD_WM8352_CONFIG_MODE_0
22796920630SMark Brown	bool
22896920630SMark Brown	depends on MFD_WM8350
22996920630SMark Brown
23096920630SMark Brownconfig MFD_WM8352_CONFIG_MODE_1
23196920630SMark Brown	bool
23296920630SMark Brown	depends on MFD_WM8350
23396920630SMark Brown
23496920630SMark Brownconfig MFD_WM8352_CONFIG_MODE_2
23596920630SMark Brown	bool
23696920630SMark Brown	depends on MFD_WM8350
23796920630SMark Brown
23896920630SMark Brownconfig MFD_WM8352_CONFIG_MODE_3
23996920630SMark Brown	bool
24096920630SMark Brown	depends on MFD_WM8350
24196920630SMark Brown
242c661a0b9SMark Brownconfig MFD_WM8350_I2C
243c661a0b9SMark Brown	tristate "Support Wolfson Microelectronics WM8350 with I2C"
244c661a0b9SMark Brown	select MFD_WM8350
245c661a0b9SMark Brown	depends on I2C
246c661a0b9SMark Brown	help
247c661a0b9SMark Brown	  The WM8350 is an integrated audio and power management
248c661a0b9SMark Brown	  subsystem with watchdog and RTC functionality for embedded
249c661a0b9SMark Brown	  systems.  This option enables core support for the WM8350 with
250c661a0b9SMark Brown	  I2C as the control interface.  Additional options must be
251c661a0b9SMark Brown	  selected to enable support for the functionality of the chip.
252c661a0b9SMark Brown
253f52046b1SBalaji Raoconfig MFD_PCF50633
254f52046b1SBalaji Rao	tristate "Support for NXP PCF50633"
255f52046b1SBalaji Rao	depends on I2C
256f52046b1SBalaji Rao	help
257f52046b1SBalaji Rao	  Say yes here if you have NXP PCF50633 chip on your board.
258f52046b1SBalaji Rao	  This core driver provides register access and IRQ handling
259f52046b1SBalaji Rao	  facilities, and registers devices for the various functions
260f52046b1SBalaji Rao	  so that function-specific drivers can bind to them.
261f52046b1SBalaji Rao
2628238addcSSascha Hauerconfig MFD_MC13783
2638238addcSSascha Hauer	tristate "Support Freescale MC13783"
2648238addcSSascha Hauer	depends on SPI_MASTER
2658238addcSSascha Hauer	select MFD_CORE
2668238addcSSascha Hauer	help
2678238addcSSascha Hauer	  Support for the Freescale (Atlas) MC13783 PMIC and audio CODEC.
2688238addcSSascha Hauer	  This driver provides common support for accessing  the device,
2698238addcSSascha Hauer	  additional drivers must be enabled in order to use the
2708238addcSSascha Hauer	  functionality of the device.
2718238addcSSascha Hauer
27208c3e06aSBalaji Raoconfig PCF50633_ADC
27308c3e06aSBalaji Rao	tristate "Support for NXP PCF50633 ADC"
27408c3e06aSBalaji Rao	depends on MFD_PCF50633
27508c3e06aSBalaji Rao	help
27608c3e06aSBalaji Rao	 Say yes here if you want to include support for ADC in the
27708c3e06aSBalaji Rao	 NXP PCF50633 chip.
27808c3e06aSBalaji Rao
2796a3d119bSBalaji Raoconfig PCF50633_GPIO
2806a3d119bSBalaji Rao	tristate "Support for NXP PCF50633 GPIO"
2816a3d119bSBalaji Rao	depends on MFD_PCF50633
2826a3d119bSBalaji Rao	help
2836a3d119bSBalaji Rao	 Say yes here if you want to include support GPIO for pins on
2846a3d119bSBalaji Rao	 the PCF50633 chip.
2856a3d119bSBalaji Rao
28614fa5691SLinus Walleijconfig AB3100_CORE
28714fa5691SLinus Walleij	tristate "ST-Ericsson AB3100 Mixed Signal Circuit core functions"
28814fa5691SLinus Walleij	depends on I2C
28914fa5691SLinus Walleij	default y if ARCH_U300
29014fa5691SLinus Walleij	help
29114fa5691SLinus Walleij	  Select this to enable the AB3100 Mixed Signal IC core
29214fa5691SLinus Walleij	  functionality. This connects to a AB3100 on the I2C bus
29314fa5691SLinus Walleij	  and expose a number of symbols needed for dependent devices
29414fa5691SLinus Walleij	  to read and write registers and subscribe to events from
29514fa5691SLinus Walleij	  this multi-functional IC. This is needed to use other features
29614fa5691SLinus Walleij	  of the AB3100 such as battery-backed RTC, charging control,
29714fa5691SLinus Walleij	  LEDs, vibrator, system power and temperature, power management
29814fa5691SLinus Walleij	  and ALSA sound.
29914fa5691SLinus Walleij
30012992dd8SLinus Walleijconfig AB3100_OTP
30112992dd8SLinus Walleij	tristate "ST-Ericsson AB3100 OTP functions"
30212992dd8SLinus Walleij	depends on AB3100_CORE
30312992dd8SLinus Walleij	default y if AB3100_CORE
30412992dd8SLinus Walleij	help
30512992dd8SLinus Walleij	  Select this to enable the AB3100 Mixed Signal IC OTP (one-time
30612992dd8SLinus Walleij	  programmable memory) support. This exposes a sysfs file to read
30712992dd8SLinus Walleij	  out OTP values.
30812992dd8SLinus Walleij
30913a09f93SDaniel Ribeiroconfig EZX_PCAP
31013a09f93SDaniel Ribeiro	bool "PCAP Support"
31113a09f93SDaniel Ribeiro	depends on GENERIC_HARDIRQS && SPI_MASTER
31213a09f93SDaniel Ribeiro	help
31313a09f93SDaniel Ribeiro	  This enables the PCAP ASIC present on EZX Phones. This is
31413a09f93SDaniel Ribeiro	  needed for MMC, TouchScreen, Sound, USB, etc..
31513a09f93SDaniel Ribeiro
316b6d6454fSBen Dooksendmenu
317b6d6454fSBen Dooks
318a4e137abSRussell Kingmenu "Multimedia Capabilities Port drivers"
319f751d50fSAdrian Bunk	depends on ARCH_SA1100
320a4e137abSRussell King
321a4e137abSRussell Kingconfig MCP
322a4e137abSRussell King	tristate
323a4e137abSRussell King
3245e742ad6SRussell King# Interface drivers
3255e742ad6SRussell Kingconfig MCP_SA11X0
3265e742ad6SRussell King	tristate "Support SA11x0 MCP interface"
3275e742ad6SRussell King	depends on ARCH_SA1100
3285e742ad6SRussell King	select MCP
3295e742ad6SRussell King
33005c45ca9SRussell King# Chip drivers
33105c45ca9SRussell Kingconfig MCP_UCB1200
33205c45ca9SRussell King	tristate "Support for UCB1200 / UCB1300"
33305c45ca9SRussell King	depends on MCP
33405c45ca9SRussell King
335acb45439SRussell Kingconfig MCP_UCB1200_TS
336acb45439SRussell King	tristate "Touchscreen interface support"
337acb45439SRussell King	depends on MCP_UCB1200 && INPUT
338acb45439SRussell King
339a4e137abSRussell Kingendmenu
340