xref: /linux/drivers/mfd/Kconfig (revision 0b83ddebc6e884dc0221358cf68c461520fbdd8e)
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
380931a4c6SDavid Brownellconfig MFD_DM355EVM_MSP
390931a4c6SDavid Brownell	bool "DaVinci DM355 EVM microcontroller"
400931a4c6SDavid Brownell	depends on I2C && MACH_DAVINCI_DM355_EVM
410931a4c6SDavid Brownell	help
420931a4c6SDavid Brownell	  This driver supports the MSP430 microcontroller used on these
430931a4c6SDavid Brownell	  boards.  MSP430 firmware manages resets and power sequencing,
440931a4c6SDavid Brownell	  inputs from buttons and the IR remote, LEDs, an RTC, and more.
450931a4c6SDavid Brownell
46a1635b8fSPhilipp Zabelconfig HTC_EGPIO
47a1635b8fSPhilipp Zabel	bool "HTC EGPIO support"
487444a72eSMichael Buesch	depends on GENERIC_HARDIRQS && GPIOLIB && ARM
49a1635b8fSPhilipp Zabel	help
50a1635b8fSPhilipp Zabel	    This driver supports the CPLD egpio chip present on
51a1635b8fSPhilipp Zabel	    several HTC phones.  It provides basic support for input
52a1635b8fSPhilipp Zabel	    pins, output pins, and irqs.
53a1635b8fSPhilipp Zabel
545dc3339aSPhilipp Zabelconfig HTC_PASIC3
555dc3339aSPhilipp Zabel	tristate "HTC PASIC3 LED/DS1WM chip support"
560254a8f4SPhilipp Zabel	select MFD_CORE
575dc3339aSPhilipp Zabel	help
585dc3339aSPhilipp Zabel	  This core driver provides register access for the LED/DS1WM
595dc3339aSPhilipp Zabel	  chips labeled "AIC2" and "AIC3", found on HTC Blueangel and
605dc3339aSPhilipp Zabel	  HTC Magician devices, respectively. Actual functionality is
615dc3339aSPhilipp Zabel	  handled by the leds-pasic3 and ds1wm drivers.
625dc3339aSPhilipp Zabel
63d9105c2bSMarek Vašutconfig UCB1400_CORE
64d9105c2bSMarek Vašut	tristate "Philips UCB1400 Core driver"
65e4831802SRandy Dunlap	depends on AC97_BUS
665a49a540SAndrew Morton	depends on GPIOLIB
67d9105c2bSMarek Vašut	help
68d9105c2bSMarek Vašut	  This enables support for the Philips UCB1400 core functions.
69d9105c2bSMarek Vašut	  The UCB1400 is an AC97 audio codec.
70d9105c2bSMarek Vašut
71d9105c2bSMarek Vašut	  To compile this driver as a module, choose M here: the
72d9105c2bSMarek Vašut	  module will be called ucb1400_core.
73d9105c2bSMarek Vašut
7487c13493SDavid Brownellconfig TPS65010
7587c13493SDavid Brownell	tristate "TPS6501x Power Management chips"
7687c13493SDavid Brownell	depends on I2C && GPIOLIB
7787c13493SDavid Brownell	default y if MACH_OMAP_H2 || MACH_OMAP_H3 || MACH_OMAP_OSK
7887c13493SDavid Brownell	help
7987c13493SDavid Brownell	  If you say yes here you get support for the TPS6501x series of
8087c13493SDavid Brownell	  Power Management chips.  These include voltage regulators,
8187c13493SDavid Brownell	  lithium ion/polymer battery charging, and other features that
8287c13493SDavid Brownell	  are often used in portable devices like cell phones and cameras.
8387c13493SDavid Brownell
8487c13493SDavid Brownell	  This driver can also be built as a module.  If so, the module
8587c13493SDavid Brownell	  will be called tps65010.
8687c13493SDavid Brownell
8788e75cc3SDavid Brownellconfig MENELAUS
8888e75cc3SDavid Brownell	bool "Texas Instruments TWL92330/Menelaus PM chip"
8988e75cc3SDavid Brownell	depends on I2C=y && ARCH_OMAP24XX
9088e75cc3SDavid Brownell	help
9188e75cc3SDavid Brownell	  If you say yes here you get support for the Texas Instruments
9288e75cc3SDavid Brownell	  TWL92330/Menelaus Power Management chip. This include voltage
93692105b8SMatt LaPlante	  regulators, Dual slot memory card transceivers, real-time clock
9488e75cc3SDavid Brownell	  and other features that are often used in portable devices like
9588e75cc3SDavid Brownell	  cell phones and PDAs.
9688e75cc3SDavid Brownell
97a603a7faSDavid Brownellconfig TWL4030_CORE
98a603a7faSDavid Brownell	bool "Texas Instruments TWL4030/TPS659x0 Support"
9967460a7cSDavid Brownell	depends on I2C=y && GENERIC_HARDIRQS
100a603a7faSDavid Brownell	help
101a603a7faSDavid Brownell	  Say yes here if you have TWL4030 family chip on your board.
102a603a7faSDavid Brownell	  This core driver provides register access and IRQ handling
103a603a7faSDavid Brownell	  facilities, and registers devices for the various functions
104a603a7faSDavid Brownell	  so that function-specific drivers can bind to them.
105a603a7faSDavid Brownell
106a603a7faSDavid Brownell	  These multi-function chips are found on many OMAP2 and OMAP3
107a603a7faSDavid Brownell	  boards, providing power management, RTC, GPIO, keypad, a
108a603a7faSDavid Brownell	  high speed USB OTG transceiver, an audio codec (on most
109a603a7faSDavid Brownell	  versions) and many other features.
110a603a7faSDavid Brownell
111ebf0bd36SAmit Kucheriaconfig TWL4030_POWER
112ebf0bd36SAmit Kucheria	bool "Support power resources on TWL4030 family chips"
113ebf0bd36SAmit Kucheria	depends on TWL4030_CORE && ARM
114ebf0bd36SAmit Kucheria	help
115ebf0bd36SAmit Kucheria	  Say yes here if you want to use the power resources on the
116ebf0bd36SAmit Kucheria	  TWL4030 family chips.  Most of these resources are regulators,
117ebf0bd36SAmit Kucheria	  which have a separate driver; some are control signals, such
118ebf0bd36SAmit Kucheria	  as clock request handshaking.
119ebf0bd36SAmit Kucheria
120ebf0bd36SAmit Kucheria	  This driver uses board-specific data to initialize the resources
121ebf0bd36SAmit Kucheria	  and load scripts controling which resources are switched off/on
122ebf0bd36SAmit Kucheria	  or reset when a sleep, wakeup or warm reset event occurs.
123ebf0bd36SAmit Kucheria
124*0b83ddebSPeter Ujfalusiconfig TWL4030_CODEC
125*0b83ddebSPeter Ujfalusi	bool
126*0b83ddebSPeter Ujfalusi	depends on TWL4030_CORE
127*0b83ddebSPeter Ujfalusi	select MFD_CORE
128*0b83ddebSPeter Ujfalusi	default n
129*0b83ddebSPeter Ujfalusi
1301c2c30acSSamuel Ortizconfig MFD_TMIO
1311c2c30acSSamuel Ortiz	bool
1321c2c30acSSamuel Ortiz	default n
1331c2c30acSSamuel Ortiz
1341f192015SIan Moltonconfig MFD_T7L66XB
1351f192015SIan Molton	bool "Support Toshiba T7L66XB"
1369ca68233SAl Viro	depends on ARM && HAVE_CLK
1371f192015SIan Molton	select MFD_CORE
1381c2c30acSSamuel Ortiz	select MFD_TMIO
1391f192015SIan Molton	help
1401f192015SIan Molton	  Support for Toshiba Mobile IO Controller T7L66XB
1411f192015SIan Molton
142cbdfb426SIan Moltonconfig MFD_TC6387XB
143cbdfb426SIan Molton	bool "Support Toshiba TC6387XB"
1449ca68233SAl Viro	depends on ARM && HAVE_CLK
145cbdfb426SIan Molton	select MFD_CORE
1461c2c30acSSamuel Ortiz	select MFD_TMIO
147cbdfb426SIan Molton	help
148cbdfb426SIan Molton	  Support for Toshiba Mobile IO Controller TC6387XB
149cbdfb426SIan Molton
150d6315949SDmitry Baryshkovconfig MFD_TC6393XB
151d6315949SDmitry Baryshkov	bool "Support Toshiba TC6393XB"
1528d25b36bSAdrian Bunk	depends on GPIOLIB && ARM
153f024ff10SDmitry Baryshkov	select MFD_CORE
1541c2c30acSSamuel Ortiz	select MFD_TMIO
155d6315949SDmitry Baryshkov	help
156d6315949SDmitry Baryshkov	  Support for Toshiba Mobile IO Controller TC6393XB
157d6315949SDmitry Baryshkov
1588e2eaabfSSamuel Ortizconfig PMIC_DA903X
1598e2eaabfSSamuel Ortiz	bool "Dialog Semiconductor DA9030/DA9034 PMIC Support"
1608e2eaabfSSamuel Ortiz	depends on I2C=y
1618e2eaabfSSamuel Ortiz	help
1628e2eaabfSSamuel Ortiz	  Say yes here to support for Dialog Semiconductor DA9030 (a.k.a
1638e2eaabfSSamuel Ortiz	  ARAVA) and DA9034 (a.k.a MICCO), these are Power Management IC
1648e2eaabfSSamuel Ortiz	  usually found on PXA processors-based platforms. This includes
1658e2eaabfSSamuel Ortiz	  the I2C driver and the core APIs _only_, you have to select
1668e2eaabfSSamuel Ortiz	  individual components like LCD backlight, voltage regulators,
1678e2eaabfSSamuel Ortiz	  LEDs and battery-charger under the corresponding menus.
1688e2eaabfSSamuel Ortiz
1691d9f9f04SMark Brownconfig MFD_WM8400
1701d9f9f04SMark Brown	tristate "Support Wolfson Microelectronics WM8400"
171b8380c1aSMark Brown	select MFD_CORE
1729c366452SMark Brown	depends on I2C
1731d9f9f04SMark Brown	help
1741d9f9f04SMark Brown	  Support for the Wolfson Microelecronics WM8400 PMIC and audio
1759e5aca58SMark Brown	  CODEC.  This driver provides common support for accessing
1761d9f9f04SMark Brown	  the device, additional drivers must be enabled in order to use
1771d9f9f04SMark Brown	  the functionality of the device.
1781d9f9f04SMark Brown
179b11062b9SMark Brownconfig MFD_WM831X
180b11062b9SMark Brown	tristate "Support Wolfson Microelectronics WM831x PMICs"
181b11062b9SMark Brown	select MFD_CORE
182b11062b9SMark Brown	depends on I2C
183b11062b9SMark Brown	help
184b11062b9SMark Brown	  Support for the Wolfson Microelecronics WM831x PMICs.  This
185b11062b9SMark Brown	  driver provides common support for accessing the device,
186b11062b9SMark Brown	  additional drivers must be enabled in order to use the
187b11062b9SMark Brown	  functionality of the device.
188b11062b9SMark Brown
18989b4012bSMark Brownconfig MFD_WM8350
19089b4012bSMark Brown	tristate
19189b4012bSMark Brown
19289b4012bSMark Brownconfig MFD_WM8350_CONFIG_MODE_0
19389b4012bSMark Brown	bool
19489b4012bSMark Brown	depends on MFD_WM8350
19589b4012bSMark Brown
19689b4012bSMark Brownconfig MFD_WM8350_CONFIG_MODE_1
19789b4012bSMark Brown	bool
19889b4012bSMark Brown	depends on MFD_WM8350
19989b4012bSMark Brown
20089b4012bSMark Brownconfig MFD_WM8350_CONFIG_MODE_2
20189b4012bSMark Brown	bool
20289b4012bSMark Brown	depends on MFD_WM8350
20389b4012bSMark Brown
20489b4012bSMark Brownconfig MFD_WM8350_CONFIG_MODE_3
20589b4012bSMark Brown	bool
20689b4012bSMark Brown	depends on MFD_WM8350
20789b4012bSMark Brown
208ca23f8c1SMark Brownconfig MFD_WM8351_CONFIG_MODE_0
209ca23f8c1SMark Brown	bool
210ca23f8c1SMark Brown	depends on MFD_WM8350
211ca23f8c1SMark Brown
212ca23f8c1SMark Brownconfig MFD_WM8351_CONFIG_MODE_1
213ca23f8c1SMark Brown	bool
214ca23f8c1SMark Brown	depends on MFD_WM8350
215ca23f8c1SMark Brown
216ca23f8c1SMark Brownconfig MFD_WM8351_CONFIG_MODE_2
217ca23f8c1SMark Brown	bool
218ca23f8c1SMark Brown	depends on MFD_WM8350
219ca23f8c1SMark Brown
220ca23f8c1SMark Brownconfig MFD_WM8351_CONFIG_MODE_3
221ca23f8c1SMark Brown	bool
222ca23f8c1SMark Brown	depends on MFD_WM8350
223ca23f8c1SMark Brown
22496920630SMark Brownconfig MFD_WM8352_CONFIG_MODE_0
22596920630SMark Brown	bool
22696920630SMark Brown	depends on MFD_WM8350
22796920630SMark Brown
22896920630SMark Brownconfig MFD_WM8352_CONFIG_MODE_1
22996920630SMark Brown	bool
23096920630SMark Brown	depends on MFD_WM8350
23196920630SMark Brown
23296920630SMark Brownconfig MFD_WM8352_CONFIG_MODE_2
23396920630SMark Brown	bool
23496920630SMark Brown	depends on MFD_WM8350
23596920630SMark Brown
23696920630SMark Brownconfig MFD_WM8352_CONFIG_MODE_3
23796920630SMark Brown	bool
23896920630SMark Brown	depends on MFD_WM8350
23996920630SMark Brown
240c661a0b9SMark Brownconfig MFD_WM8350_I2C
241c661a0b9SMark Brown	tristate "Support Wolfson Microelectronics WM8350 with I2C"
242c661a0b9SMark Brown	select MFD_WM8350
243c661a0b9SMark Brown	depends on I2C
244c661a0b9SMark Brown	help
245c661a0b9SMark Brown	  The WM8350 is an integrated audio and power management
246c661a0b9SMark Brown	  subsystem with watchdog and RTC functionality for embedded
247c661a0b9SMark Brown	  systems.  This option enables core support for the WM8350 with
248c661a0b9SMark Brown	  I2C as the control interface.  Additional options must be
249c661a0b9SMark Brown	  selected to enable support for the functionality of the chip.
250c661a0b9SMark Brown
251f52046b1SBalaji Raoconfig MFD_PCF50633
252f52046b1SBalaji Rao	tristate "Support for NXP PCF50633"
253f52046b1SBalaji Rao	depends on I2C
254f52046b1SBalaji Rao	help
255f52046b1SBalaji Rao	  Say yes here if you have NXP PCF50633 chip on your board.
256f52046b1SBalaji Rao	  This core driver provides register access and IRQ handling
257f52046b1SBalaji Rao	  facilities, and registers devices for the various functions
258f52046b1SBalaji Rao	  so that function-specific drivers can bind to them.
259f52046b1SBalaji Rao
2608238addcSSascha Hauerconfig MFD_MC13783
2618238addcSSascha Hauer	tristate "Support Freescale MC13783"
2628238addcSSascha Hauer	depends on SPI_MASTER
2638238addcSSascha Hauer	select MFD_CORE
2648238addcSSascha Hauer	help
2658238addcSSascha Hauer	  Support for the Freescale (Atlas) MC13783 PMIC and audio CODEC.
2668238addcSSascha Hauer	  This driver provides common support for accessing  the device,
2678238addcSSascha Hauer	  additional drivers must be enabled in order to use the
2688238addcSSascha Hauer	  functionality of the device.
2698238addcSSascha Hauer
27008c3e06aSBalaji Raoconfig PCF50633_ADC
27108c3e06aSBalaji Rao	tristate "Support for NXP PCF50633 ADC"
27208c3e06aSBalaji Rao	depends on MFD_PCF50633
27308c3e06aSBalaji Rao	help
27408c3e06aSBalaji Rao	 Say yes here if you want to include support for ADC in the
27508c3e06aSBalaji Rao	 NXP PCF50633 chip.
27608c3e06aSBalaji Rao
2776a3d119bSBalaji Raoconfig PCF50633_GPIO
2786a3d119bSBalaji Rao	tristate "Support for NXP PCF50633 GPIO"
2796a3d119bSBalaji Rao	depends on MFD_PCF50633
2806a3d119bSBalaji Rao	help
2816a3d119bSBalaji Rao	 Say yes here if you want to include support GPIO for pins on
2826a3d119bSBalaji Rao	 the PCF50633 chip.
2836a3d119bSBalaji Rao
28414fa5691SLinus Walleijconfig AB3100_CORE
28514fa5691SLinus Walleij	tristate "ST-Ericsson AB3100 Mixed Signal Circuit core functions"
28614fa5691SLinus Walleij	depends on I2C
28714fa5691SLinus Walleij	default y if ARCH_U300
28814fa5691SLinus Walleij	help
28914fa5691SLinus Walleij	  Select this to enable the AB3100 Mixed Signal IC core
29014fa5691SLinus Walleij	  functionality. This connects to a AB3100 on the I2C bus
29114fa5691SLinus Walleij	  and expose a number of symbols needed for dependent devices
29214fa5691SLinus Walleij	  to read and write registers and subscribe to events from
29314fa5691SLinus Walleij	  this multi-functional IC. This is needed to use other features
29414fa5691SLinus Walleij	  of the AB3100 such as battery-backed RTC, charging control,
29514fa5691SLinus Walleij	  LEDs, vibrator, system power and temperature, power management
29614fa5691SLinus Walleij	  and ALSA sound.
29714fa5691SLinus Walleij
29812992dd8SLinus Walleijconfig AB3100_OTP
29912992dd8SLinus Walleij	tristate "ST-Ericsson AB3100 OTP functions"
30012992dd8SLinus Walleij	depends on AB3100_CORE
30112992dd8SLinus Walleij	default y if AB3100_CORE
30212992dd8SLinus Walleij	help
30312992dd8SLinus Walleij	  Select this to enable the AB3100 Mixed Signal IC OTP (one-time
30412992dd8SLinus Walleij	  programmable memory) support. This exposes a sysfs file to read
30512992dd8SLinus Walleij	  out OTP values.
30612992dd8SLinus Walleij
30713a09f93SDaniel Ribeiroconfig EZX_PCAP
30813a09f93SDaniel Ribeiro	bool "PCAP Support"
30913a09f93SDaniel Ribeiro	depends on GENERIC_HARDIRQS && SPI_MASTER
31013a09f93SDaniel Ribeiro	help
31113a09f93SDaniel Ribeiro	  This enables the PCAP ASIC present on EZX Phones. This is
31213a09f93SDaniel Ribeiro	  needed for MMC, TouchScreen, Sound, USB, etc..
31313a09f93SDaniel Ribeiro
314b6d6454fSBen Dooksendmenu
315b6d6454fSBen Dooks
316a4e137abSRussell Kingmenu "Multimedia Capabilities Port drivers"
317f751d50fSAdrian Bunk	depends on ARCH_SA1100
318a4e137abSRussell King
319a4e137abSRussell Kingconfig MCP
320a4e137abSRussell King	tristate
321a4e137abSRussell King
3225e742ad6SRussell King# Interface drivers
3235e742ad6SRussell Kingconfig MCP_SA11X0
3245e742ad6SRussell King	tristate "Support SA11x0 MCP interface"
3255e742ad6SRussell King	depends on ARCH_SA1100
3265e742ad6SRussell King	select MCP
3275e742ad6SRussell King
32805c45ca9SRussell King# Chip drivers
32905c45ca9SRussell Kingconfig MCP_UCB1200
33005c45ca9SRussell King	tristate "Support for UCB1200 / UCB1300"
33105c45ca9SRussell King	depends on MCP
33205c45ca9SRussell King
333acb45439SRussell Kingconfig MCP_UCB1200_TS
334acb45439SRussell King	tristate "Touchscreen interface support"
335acb45439SRussell King	depends on MCP_UCB1200 && INPUT
336acb45439SRussell King
337a4e137abSRussell Kingendmenu
338