xref: /linux/drivers/mfd/Kconfig (revision f99c1d4f94f91fd3a20bd2eaa3be9c5e7d2668eb)
1a4e137abSRussell King#
2a4e137abSRussell King# Multifunction miscellaneous devices
3a4e137abSRussell King#
4a4e137abSRussell King
538270644SRandy Dunlapmenuconfig MFD_SUPPORT
638270644SRandy Dunlap	bool "Multifunction device drivers"
7e25df120SMartin Schwidefsky	depends on HAS_IOMEM
838270644SRandy Dunlap	default y
938270644SRandy Dunlap	help
1015742c8aSSamuel Ortiz	  Multifunction devices embed several functions (e.g. GPIOs,
1115742c8aSSamuel Ortiz	  touchscreens, keyboards, current regulators, power management chips,
1215742c8aSSamuel Ortiz	  etc...) in one single integrated circuit. They usually talk to the
1315742c8aSSamuel Ortiz	  main CPU through one or more IRQ lines and low speed data busses (SPI,
1415742c8aSSamuel Ortiz	  I2C, etc..). They appear as one single device to the main system
1515742c8aSSamuel Ortiz	  through the data bus and the MFD framework allows for sub devices
1615742c8aSSamuel Ortiz	  (a.k.a. functions) to appear as discrete platform devices.
1715742c8aSSamuel Ortiz	  MFDs are typically found on embedded platforms.
1815742c8aSSamuel Ortiz
1915742c8aSSamuel Ortiz	  This option alone does not add any kernel code.
2038270644SRandy Dunlap
2138270644SRandy Dunlapif MFD_SUPPORT
22b6d6454fSBen Dooks
23aa613de6SDmitry Baryshkovconfig MFD_CORE
24aa613de6SDmitry Baryshkov	tristate
25aa613de6SDmitry Baryshkov	default n
26aa613de6SDmitry Baryshkov
272cc50beeSHaojian Zhuangconfig MFD_88PM860X
282cc50beeSHaojian Zhuang	bool "Support Marvell 88PM8606/88PM8607"
298d002bdcSGeert Uytterhoeven	depends on I2C=y && GENERIC_HARDIRQS
302cc50beeSHaojian Zhuang	select MFD_CORE
312cc50beeSHaojian Zhuang	help
322cc50beeSHaojian Zhuang	  This supports for Marvell 88PM8606/88PM8607 Power Management IC.
332cc50beeSHaojian Zhuang	  This includes the I2C driver and the core APIs _only_, you have to
342cc50beeSHaojian Zhuang	  select individual components like voltage regulators, RTC and
352cc50beeSHaojian Zhuang	  battery-charger under the corresponding menus.
362cc50beeSHaojian Zhuang
37b6d6454fSBen Dooksconfig MFD_SM501
38b6d6454fSBen Dooks	tristate "Support for Silicon Motion SM501"
39b6d6454fSBen Dooks	 ---help---
40b6d6454fSBen Dooks	  This is the core driver for the Silicon Motion SM501 multimedia
41b6d6454fSBen Dooks	  companion chip. This device is a multifunction device which may
4201dd2fbfSMatt LaPlante	  provide numerous interfaces including USB host controller, USB gadget,
4301dd2fbfSMatt LaPlante	  asynchronous serial ports, audio functions, and a dual display video
44b6d6454fSBen Dooks	  interface. The device may be connected by PCI or local bus with
45b6d6454fSBen Dooks	  varying functions enabled.
46b6d6454fSBen Dooks
47f61be273SBen Dooksconfig MFD_SM501_GPIO
48f61be273SBen Dooks	bool "Export GPIO via GPIO layer"
492eedd604SSamuel Ortiz	depends on MFD_SM501 && GPIOLIB
50f61be273SBen Dooks	 ---help---
51f61be273SBen Dooks	 This option uses the gpio library layer to export the 64 GPIO
52f61be273SBen Dooks	 lines on the SM501. The platform data is used to supply the
53f61be273SBen Dooks	 base number for the first GPIO line to register.
54f61be273SBen Dooks
55fa9ff4b1SSamuel Ortizconfig MFD_ASIC3
56fa9ff4b1SSamuel Ortiz	bool "Support for Compaq ASIC3"
572eedd604SSamuel Ortiz	depends on GENERIC_HARDIRQS && GPIOLIB && ARM
589461f65aSPhilipp Zabel	select MFD_CORE
59fa9ff4b1SSamuel Ortiz	 ---help---
60fa9ff4b1SSamuel Ortiz	  This driver supports the ASIC3 multifunction chip found on many
61fa9ff4b1SSamuel Ortiz	  PDAs (mainly iPAQ and HTC based ones)
62fa9ff4b1SSamuel Ortiz
63a87d5638SMagnus Dammconfig MFD_SH_MOBILE_SDHI
64a87d5638SMagnus Damm	bool "Support for SuperH Mobile SDHI"
653d8ca8c0SMagnus Damm	depends on SUPERH || ARCH_SHMOBILE
66a87d5638SMagnus Damm	select MFD_CORE
67311f3ac7SGuennadi Liakhovetski	select TMIO_MMC_DMA
68a87d5638SMagnus Damm	 ---help---
69a87d5638SMagnus Damm	  This driver supports the SDHI hardware block found in many
70a87d5638SMagnus Damm	  SuperH Mobile SoCs.
71a87d5638SMagnus Damm
72ca26308cSMiguel Aguilarconfig MFD_DAVINCI_VOICECODEC
73ca26308cSMiguel Aguilar	tristate
74ca26308cSMiguel Aguilar	select MFD_CORE
75ca26308cSMiguel Aguilar
760931a4c6SDavid Brownellconfig MFD_DM355EVM_MSP
770931a4c6SDavid Brownell	bool "DaVinci DM355 EVM microcontroller"
781819ebcfSSamuel Ortiz	depends on I2C=y && MACH_DAVINCI_DM355_EVM
790931a4c6SDavid Brownell	help
800931a4c6SDavid Brownell	  This driver supports the MSP430 microcontroller used on these
810931a4c6SDavid Brownell	  boards.  MSP430 firmware manages resets and power sequencing,
820931a4c6SDavid Brownell	  inputs from buttons and the IR remote, LEDs, an RTC, and more.
830931a4c6SDavid Brownell
8403df0f62SCyril Chemparathyconfig MFD_TI_SSP
8503df0f62SCyril Chemparathy	tristate "TI Sequencer Serial Port support"
8603df0f62SCyril Chemparathy	depends on ARCH_DAVINCI_TNETV107X
8703df0f62SCyril Chemparathy	select MFD_CORE
8803df0f62SCyril Chemparathy	---help---
8903df0f62SCyril Chemparathy	  Say Y here if you want support for the Sequencer Serial Port
9003df0f62SCyril Chemparathy	  in a Texas Instruments TNETV107X SoC.
9103df0f62SCyril Chemparathy
9203df0f62SCyril Chemparathy	  To compile this driver as a module, choose M here: the
9303df0f62SCyril Chemparathy	  module will be called ti-ssp.
9403df0f62SCyril Chemparathy
95a1635b8fSPhilipp Zabelconfig HTC_EGPIO
96a1635b8fSPhilipp Zabel	bool "HTC EGPIO support"
977444a72eSMichael Buesch	depends on GENERIC_HARDIRQS && GPIOLIB && ARM
98a1635b8fSPhilipp Zabel	help
99a1635b8fSPhilipp Zabel	    This driver supports the CPLD egpio chip present on
100a1635b8fSPhilipp Zabel	    several HTC phones.  It provides basic support for input
101a1635b8fSPhilipp Zabel	    pins, output pins, and irqs.
102a1635b8fSPhilipp Zabel
1035dc3339aSPhilipp Zabelconfig HTC_PASIC3
1045dc3339aSPhilipp Zabel	tristate "HTC PASIC3 LED/DS1WM chip support"
1050254a8f4SPhilipp Zabel	select MFD_CORE
1065dc3339aSPhilipp Zabel	help
1075dc3339aSPhilipp Zabel	  This core driver provides register access for the LED/DS1WM
1085dc3339aSPhilipp Zabel	  chips labeled "AIC2" and "AIC3", found on HTC Blueangel and
1095dc3339aSPhilipp Zabel	  HTC Magician devices, respectively. Actual functionality is
1105dc3339aSPhilipp Zabel	  handled by the leds-pasic3 and ds1wm drivers.
1115dc3339aSPhilipp Zabel
1126048a3ddSCory Maccarroneconfig HTC_I2CPLD
1136048a3ddSCory Maccarrone	bool "HTC I2C PLD chip support"
114bef3e20cSRandy Dunlap	depends on I2C=y && GPIOLIB
1156048a3ddSCory Maccarrone	help
1166048a3ddSCory Maccarrone	  If you say yes here you get support for the supposed CPLD
1176048a3ddSCory Maccarrone	  found on omap850 HTC devices like the HTC Wizard and HTC Herald.
1186048a3ddSCory Maccarrone	  This device provides input and output GPIOs through an I2C
1196048a3ddSCory Maccarrone	  interface to one or more sub-chips.
1206048a3ddSCory Maccarrone
121d9105c2bSMarek Vašutconfig UCB1400_CORE
122d9105c2bSMarek Vašut	tristate "Philips UCB1400 Core driver"
123e4831802SRandy Dunlap	depends on AC97_BUS
1245a49a540SAndrew Morton	depends on GPIOLIB
125d9105c2bSMarek Vašut	help
126d9105c2bSMarek Vašut	  This enables support for the Philips UCB1400 core functions.
127d9105c2bSMarek Vašut	  The UCB1400 is an AC97 audio codec.
128d9105c2bSMarek Vašut
129d9105c2bSMarek Vašut	  To compile this driver as a module, choose M here: the
130d9105c2bSMarek Vašut	  module will be called ucb1400_core.
131d9105c2bSMarek Vašut
13287c13493SDavid Brownellconfig TPS65010
13387c13493SDavid Brownell	tristate "TPS6501x Power Management chips"
13487c13493SDavid Brownell	depends on I2C && GPIOLIB
13587c13493SDavid Brownell	default y if MACH_OMAP_H2 || MACH_OMAP_H3 || MACH_OMAP_OSK
13687c13493SDavid Brownell	help
13787c13493SDavid Brownell	  If you say yes here you get support for the TPS6501x series of
13887c13493SDavid Brownell	  Power Management chips.  These include voltage regulators,
13987c13493SDavid Brownell	  lithium ion/polymer battery charging, and other features that
14087c13493SDavid Brownell	  are often used in portable devices like cell phones and cameras.
14187c13493SDavid Brownell
14287c13493SDavid Brownell	  This driver can also be built as a module.  If so, the module
14387c13493SDavid Brownell	  will be called tps65010.
14487c13493SDavid Brownell
14531dd6a26STodd Fischerconfig TPS6507X
14631dd6a26STodd Fischer	tristate "TPS6507x Power Management / Touch Screen chips"
14731dd6a26STodd Fischer	select MFD_CORE
14831dd6a26STodd Fischer	depends on I2C
14931dd6a26STodd Fischer	help
15031dd6a26STodd Fischer	  If you say yes here you get support for the TPS6507x series of
15131dd6a26STodd Fischer	  Power Management / Touch Screen chips.  These include voltage
15231dd6a26STodd Fischer	  regulators, lithium ion/polymer battery charging, touch screen
15331dd6a26STodd Fischer	  and other features that are often used in portable devices.
15431dd6a26STodd Fischer	  This driver can also be built as a module.  If so, the module
15531dd6a26STodd Fischer	  will be called tps6507x.
15631dd6a26STodd Fischer
15788e75cc3SDavid Brownellconfig MENELAUS
15888e75cc3SDavid Brownell	bool "Texas Instruments TWL92330/Menelaus PM chip"
159088ef950STony Lindgren	depends on I2C=y && ARCH_OMAP2
16088e75cc3SDavid Brownell	help
16188e75cc3SDavid Brownell	  If you say yes here you get support for the Texas Instruments
16288e75cc3SDavid Brownell	  TWL92330/Menelaus Power Management chip. This include voltage
163692105b8SMatt LaPlante	  regulators, Dual slot memory card transceivers, real-time clock
16488e75cc3SDavid Brownell	  and other features that are often used in portable devices like
16588e75cc3SDavid Brownell	  cell phones and PDAs.
16688e75cc3SDavid Brownell
167a603a7faSDavid Brownellconfig TWL4030_CORE
168e8deb28cSBalaji T K	bool "Texas Instruments TWL4030/TWL5030/TWL6030/TPS659x0 Support"
16967460a7cSDavid Brownell	depends on I2C=y && GENERIC_HARDIRQS
170a603a7faSDavid Brownell	help
171e8deb28cSBalaji T K	  Say yes here if you have TWL4030 / TWL6030 family chip on your board.
172a603a7faSDavid Brownell	  This core driver provides register access and IRQ handling
173a603a7faSDavid Brownell	  facilities, and registers devices for the various functions
174a603a7faSDavid Brownell	  so that function-specific drivers can bind to them.
175a603a7faSDavid Brownell
176a603a7faSDavid Brownell	  These multi-function chips are found on many OMAP2 and OMAP3
177a603a7faSDavid Brownell	  boards, providing power management, RTC, GPIO, keypad, a
178a603a7faSDavid Brownell	  high speed USB OTG transceiver, an audio codec (on most
179a603a7faSDavid Brownell	  versions) and many other features.
180a603a7faSDavid Brownell
181*f99c1d4fSKeerthyconfig TWL4030_MADC
182*f99c1d4fSKeerthy	tristate "Texas Instruments TWL4030 MADC"
183*f99c1d4fSKeerthy	depends on TWL4030_CORE
184*f99c1d4fSKeerthy	help
185*f99c1d4fSKeerthy	This driver provides support for triton TWL4030-MADC. The
186*f99c1d4fSKeerthy	driver supports both RT and SW conversion methods.
187*f99c1d4fSKeerthy
188*f99c1d4fSKeerthy	This driver can be built as a module. If so it will be
189*f99c1d4fSKeerthy	named twl4030-madc
190*f99c1d4fSKeerthy
191ebf0bd36SAmit Kucheriaconfig TWL4030_POWER
192ebf0bd36SAmit Kucheria	bool "Support power resources on TWL4030 family chips"
193ebf0bd36SAmit Kucheria	depends on TWL4030_CORE && ARM
194ebf0bd36SAmit Kucheria	help
195ebf0bd36SAmit Kucheria	  Say yes here if you want to use the power resources on the
196ebf0bd36SAmit Kucheria	  TWL4030 family chips.  Most of these resources are regulators,
197ebf0bd36SAmit Kucheria	  which have a separate driver; some are control signals, such
198ebf0bd36SAmit Kucheria	  as clock request handshaking.
199ebf0bd36SAmit Kucheria
200ebf0bd36SAmit Kucheria	  This driver uses board-specific data to initialize the resources
201ebf0bd36SAmit Kucheria	  and load scripts controling which resources are switched off/on
202ebf0bd36SAmit Kucheria	  or reset when a sleep, wakeup or warm reset event occurs.
203ebf0bd36SAmit Kucheria
2040b83ddebSPeter Ujfalusiconfig TWL4030_CODEC
2050b83ddebSPeter Ujfalusi	bool
2060b83ddebSPeter Ujfalusi	depends on TWL4030_CORE
2070b83ddebSPeter Ujfalusi	select MFD_CORE
2080b83ddebSPeter Ujfalusi	default n
2090b83ddebSPeter Ujfalusi
21031fc03dfSHemanth Vconfig TWL6030_PWM
21131fc03dfSHemanth V	tristate "TWL6030 PWM (Pulse Width Modulator) Support"
21231fc03dfSHemanth V	depends on TWL4030_CORE
21331fc03dfSHemanth V	select HAVE_PWM
21431fc03dfSHemanth V	default n
21531fc03dfSHemanth V	help
21631fc03dfSHemanth V	  Say yes here if you want support for TWL6030 PWM.
21731fc03dfSHemanth V	  This is used to control charging LED brightness.
21831fc03dfSHemanth V
21927e34995SRabin Vincentconfig MFD_STMPE
22027e34995SRabin Vincent	bool "Support STMicroelectronics STMPE"
22127e34995SRabin Vincent	depends on I2C=y && GENERIC_HARDIRQS
22227e34995SRabin Vincent	select MFD_CORE
22327e34995SRabin Vincent	help
22427e34995SRabin Vincent	  Support for the STMPE family of I/O Expanders from
22527e34995SRabin Vincent	  STMicroelectronics.
22627e34995SRabin Vincent
22727e34995SRabin Vincent	  Currently supported devices are:
22827e34995SRabin Vincent
22927e34995SRabin Vincent		STMPE811: GPIO, Touchscreen
23027e34995SRabin Vincent		STMPE1601: GPIO, Keypad
23127e34995SRabin Vincent		STMPE2401: GPIO, Keypad
23227e34995SRabin Vincent		STMPE2403: GPIO, Keypad
23327e34995SRabin Vincent
23427e34995SRabin Vincent	  This driver provides common support for accessing the device,
23527e34995SRabin Vincent	  additional drivers must be enabled in order to use the functionality
23627e34995SRabin Vincent	  of the device.  Currently available sub drivers are:
23727e34995SRabin Vincent
23827e34995SRabin Vincent		GPIO: stmpe-gpio
23927e34995SRabin Vincent		Keypad: stmpe-keypad
24027e34995SRabin Vincent		Touchscreen: stmpe-ts
24127e34995SRabin Vincent
242f4e8afdcSSundar Iyerconfig MFD_TC3589X
243f4e8afdcSSundar Iyer	bool "Support Toshiba TC35892 and variants"
244b4ecd326SRabin Vincent	depends on I2C=y && GENERIC_HARDIRQS
245b4ecd326SRabin Vincent	select MFD_CORE
246b4ecd326SRabin Vincent	help
247f4e8afdcSSundar Iyer	  Support for the Toshiba TC35892 and variants I/O Expander.
248b4ecd326SRabin Vincent
249b4ecd326SRabin Vincent	  This driver provides common support for accessing the device,
250b4ecd326SRabin Vincent	  additional drivers must be enabled in order to use the
251b4ecd326SRabin Vincent	  functionality of the device.
252b4ecd326SRabin Vincent
2531c2c30acSSamuel Ortizconfig MFD_TMIO
2541c2c30acSSamuel Ortiz	bool
2551c2c30acSSamuel Ortiz	default n
2561c2c30acSSamuel Ortiz
257311f3ac7SGuennadi Liakhovetskiconfig TMIO_MMC_DMA
258311f3ac7SGuennadi Liakhovetski	bool
259311f3ac7SGuennadi Liakhovetski	select DMA_ENGINE
260311f3ac7SGuennadi Liakhovetski	select DMADEVICES
261311f3ac7SGuennadi Liakhovetski
2621f192015SIan Moltonconfig MFD_T7L66XB
2631f192015SIan Molton	bool "Support Toshiba T7L66XB"
2649ca68233SAl Viro	depends on ARM && HAVE_CLK
2651f192015SIan Molton	select MFD_CORE
2661c2c30acSSamuel Ortiz	select MFD_TMIO
2671f192015SIan Molton	help
2681f192015SIan Molton	  Support for Toshiba Mobile IO Controller T7L66XB
2691f192015SIan Molton
270cbdfb426SIan Moltonconfig MFD_TC6387XB
271cbdfb426SIan Molton	bool "Support Toshiba TC6387XB"
2729ca68233SAl Viro	depends on ARM && HAVE_CLK
273cbdfb426SIan Molton	select MFD_CORE
2741c2c30acSSamuel Ortiz	select MFD_TMIO
275cbdfb426SIan Molton	help
276cbdfb426SIan Molton	  Support for Toshiba Mobile IO Controller TC6387XB
277cbdfb426SIan Molton
278d6315949SDmitry Baryshkovconfig MFD_TC6393XB
279d6315949SDmitry Baryshkov	bool "Support Toshiba TC6393XB"
2808d25b36bSAdrian Bunk	depends on GPIOLIB && ARM
281f024ff10SDmitry Baryshkov	select MFD_CORE
2821c2c30acSSamuel Ortiz	select MFD_TMIO
283d6315949SDmitry Baryshkov	help
284d6315949SDmitry Baryshkov	  Support for Toshiba Mobile IO Controller TC6393XB
285d6315949SDmitry Baryshkov
2868e2eaabfSSamuel Ortizconfig PMIC_DA903X
2878e2eaabfSSamuel Ortiz	bool "Dialog Semiconductor DA9030/DA9034 PMIC Support"
2888e2eaabfSSamuel Ortiz	depends on I2C=y
2898e2eaabfSSamuel Ortiz	help
2908e2eaabfSSamuel Ortiz	  Say yes here to support for Dialog Semiconductor DA9030 (a.k.a
2918e2eaabfSSamuel Ortiz	  ARAVA) and DA9034 (a.k.a MICCO), these are Power Management IC
2928e2eaabfSSamuel Ortiz	  usually found on PXA processors-based platforms. This includes
2938e2eaabfSSamuel Ortiz	  the I2C driver and the core APIs _only_, you have to select
2948e2eaabfSSamuel Ortiz	  individual components like LCD backlight, voltage regulators,
2958e2eaabfSSamuel Ortiz	  LEDs and battery-charger under the corresponding menus.
2968e2eaabfSSamuel Ortiz
297a5736e0bSMichael Hennerichconfig PMIC_ADP5520
298a5736e0bSMichael Hennerich	bool "Analog Devices ADP5520/01 MFD PMIC Core Support"
299a5736e0bSMichael Hennerich	depends on I2C=y
300a5736e0bSMichael Hennerich	help
301a5736e0bSMichael Hennerich	  Say yes here to add support for Analog Devices AD5520 and ADP5501,
302a5736e0bSMichael Hennerich	  Multifunction Power Management IC. This includes
303a5736e0bSMichael Hennerich	  the I2C driver and the core APIs _only_, you have to select
304a5736e0bSMichael Hennerich	  individual components like LCD backlight, LEDs, GPIOs and Kepad
305a5736e0bSMichael Hennerich	  under the corresponding menus.
306a5736e0bSMichael Hennerich
307d50f8f33SHaojian Zhuangconfig MFD_MAX8925
3081f1cf8f9SHaojian Zhuang	bool "Maxim Semiconductor MAX8925 PMIC Support"
3098d002bdcSGeert Uytterhoeven	depends on I2C=y && GENERIC_HARDIRQS
3101ad99893SHaojian Zhuang	select MFD_CORE
311d50f8f33SHaojian Zhuang	help
312d50f8f33SHaojian Zhuang	  Say yes here to support for Maxim Semiconductor MAX8925. This is
313d50f8f33SHaojian Zhuang	  a Power Management IC. This driver provies common support for
314d50f8f33SHaojian Zhuang	  accessing the device, additional drivers must be enabled in order
315d50f8f33SHaojian Zhuang	  to use the functionality of the device.
316d50f8f33SHaojian Zhuang
317156f2528SKyungmin Parkconfig MFD_MAX8998
318f8539ddcSKyungmin Park	bool "Maxim Semiconductor MAX8998/National LP3974 PMIC Support"
3192c7e6f57SJoonyoung Shim	depends on I2C=y && GENERIC_HARDIRQS
320156f2528SKyungmin Park	select MFD_CORE
321156f2528SKyungmin Park	help
322f8539ddcSKyungmin Park	  Say yes here to support for Maxim Semiconductor MAX8998 and
323f8539ddcSKyungmin Park	  National Semiconductor LP3974. This is a Power Management IC.
324f8539ddcSKyungmin Park	  This driver provies common support for accessing the device,
325f8539ddcSKyungmin Park	  additional drivers must be enabled in order to use the functionality
326f8539ddcSKyungmin Park	  of the device.
327156f2528SKyungmin Park
3281d9f9f04SMark Brownconfig MFD_WM8400
3291d9f9f04SMark Brown	tristate "Support Wolfson Microelectronics WM8400"
330b8380c1aSMark Brown	select MFD_CORE
3319c366452SMark Brown	depends on I2C
3321d9f9f04SMark Brown	help
3331d9f9f04SMark Brown	  Support for the Wolfson Microelecronics WM8400 PMIC and audio
3349e5aca58SMark Brown	  CODEC.  This driver provides common support for accessing
3351d9f9f04SMark Brown	  the device, additional drivers must be enabled in order to use
3361d9f9f04SMark Brown	  the functionality of the device.
3371d9f9f04SMark Brown
338b11062b9SMark Brownconfig MFD_WM831X
339e5b48684SMark Brown	bool
340e5b48684SMark Brown	depends on GENERIC_HARDIRQS
341e5b48684SMark Brown
342e5b48684SMark Brownconfig MFD_WM831X_I2C
343e5b48684SMark Brown	bool "Support Wolfson Microelectronics WM831x/2x PMICs with I2C"
344b11062b9SMark Brown	select MFD_CORE
345e5b48684SMark Brown	select MFD_WM831X
3468d002bdcSGeert Uytterhoeven	depends on I2C=y && GENERIC_HARDIRQS
347b11062b9SMark Brown	help
348e5b48684SMark Brown	  Support for the Wolfson Microelecronics WM831x and WM832x PMICs
349e5b48684SMark Brown	  when controlled using I2C.  This driver provides common support
350e5b48684SMark Brown	  for accessing the device, additional drivers must be enabled in
351e5b48684SMark Brown	  order to use the functionality of the device.
352b11062b9SMark Brown
3532aa13b9eSMark Brownconfig MFD_WM831X_SPI
3542aa13b9eSMark Brown	bool "Support Wolfson Microelectronics WM831x/2x PMICs with SPI"
3552aa13b9eSMark Brown	select MFD_CORE
3562aa13b9eSMark Brown	select MFD_WM831X
3572aa13b9eSMark Brown	depends on SPI_MASTER && GENERIC_HARDIRQS
3582aa13b9eSMark Brown	help
3592aa13b9eSMark Brown	  Support for the Wolfson Microelecronics WM831x and WM832x PMICs
3602aa13b9eSMark Brown	  when controlled using SPI.  This driver provides common support
3612aa13b9eSMark Brown	  for accessing the device, additional drivers must be enabled in
3622aa13b9eSMark Brown	  order to use the functionality of the device.
3632aa13b9eSMark Brown
36489b4012bSMark Brownconfig MFD_WM8350
365ecf926bcSMark Brown	bool
3668d002bdcSGeert Uytterhoeven	depends on GENERIC_HARDIRQS
36789b4012bSMark Brown
36889b4012bSMark Brownconfig MFD_WM8350_CONFIG_MODE_0
36989b4012bSMark Brown	bool
37089b4012bSMark Brown	depends on MFD_WM8350
37189b4012bSMark Brown
37289b4012bSMark Brownconfig MFD_WM8350_CONFIG_MODE_1
37389b4012bSMark Brown	bool
37489b4012bSMark Brown	depends on MFD_WM8350
37589b4012bSMark Brown
37689b4012bSMark Brownconfig MFD_WM8350_CONFIG_MODE_2
37789b4012bSMark Brown	bool
37889b4012bSMark Brown	depends on MFD_WM8350
37989b4012bSMark Brown
38089b4012bSMark Brownconfig MFD_WM8350_CONFIG_MODE_3
38189b4012bSMark Brown	bool
38289b4012bSMark Brown	depends on MFD_WM8350
38389b4012bSMark Brown
384ca23f8c1SMark Brownconfig MFD_WM8351_CONFIG_MODE_0
385ca23f8c1SMark Brown	bool
386ca23f8c1SMark Brown	depends on MFD_WM8350
387ca23f8c1SMark Brown
388ca23f8c1SMark Brownconfig MFD_WM8351_CONFIG_MODE_1
389ca23f8c1SMark Brown	bool
390ca23f8c1SMark Brown	depends on MFD_WM8350
391ca23f8c1SMark Brown
392ca23f8c1SMark Brownconfig MFD_WM8351_CONFIG_MODE_2
393ca23f8c1SMark Brown	bool
394ca23f8c1SMark Brown	depends on MFD_WM8350
395ca23f8c1SMark Brown
396ca23f8c1SMark Brownconfig MFD_WM8351_CONFIG_MODE_3
397ca23f8c1SMark Brown	bool
398ca23f8c1SMark Brown	depends on MFD_WM8350
399ca23f8c1SMark Brown
40096920630SMark Brownconfig MFD_WM8352_CONFIG_MODE_0
40196920630SMark Brown	bool
40296920630SMark Brown	depends on MFD_WM8350
40396920630SMark Brown
40496920630SMark Brownconfig MFD_WM8352_CONFIG_MODE_1
40596920630SMark Brown	bool
40696920630SMark Brown	depends on MFD_WM8350
40796920630SMark Brown
40896920630SMark Brownconfig MFD_WM8352_CONFIG_MODE_2
40996920630SMark Brown	bool
41096920630SMark Brown	depends on MFD_WM8350
41196920630SMark Brown
41296920630SMark Brownconfig MFD_WM8352_CONFIG_MODE_3
41396920630SMark Brown	bool
41496920630SMark Brown	depends on MFD_WM8350
41596920630SMark Brown
416c661a0b9SMark Brownconfig MFD_WM8350_I2C
417ecf926bcSMark Brown	bool "Support Wolfson Microelectronics WM8350 with I2C"
418c661a0b9SMark Brown	select MFD_WM8350
4198d002bdcSGeert Uytterhoeven	depends on I2C=y && GENERIC_HARDIRQS
420c661a0b9SMark Brown	help
421c661a0b9SMark Brown	  The WM8350 is an integrated audio and power management
422c661a0b9SMark Brown	  subsystem with watchdog and RTC functionality for embedded
423c661a0b9SMark Brown	  systems.  This option enables core support for the WM8350 with
424c661a0b9SMark Brown	  I2C as the control interface.  Additional options must be
425c661a0b9SMark Brown	  selected to enable support for the functionality of the chip.
426c661a0b9SMark Brown
4279e501086SMark Brownconfig MFD_WM8994
428c9fbf7e0SMark Brown	bool "Support Wolfson Microelectronics WM8994"
4299e501086SMark Brown	select MFD_CORE
430c9fbf7e0SMark Brown	depends on I2C=y && GENERIC_HARDIRQS
4319e501086SMark Brown	help
4329e501086SMark Brown	  The WM8994 is a highly integrated hi-fi CODEC designed for
4339e501086SMark Brown	  smartphone applicatiosn.  As well as audio functionality it
4349e501086SMark Brown	  has on board GPIO and regulator functionality which is
4359e501086SMark Brown	  supported via the relevant subsystems.  This driver provides
4369e501086SMark Brown	  core support for the WM8994, in order to use the actual
4379e501086SMark Brown	  functionaltiy of the device other drivers must be enabled.
4389e501086SMark Brown
439f52046b1SBalaji Raoconfig MFD_PCF50633
440f52046b1SBalaji Rao	tristate "Support for NXP PCF50633"
441f52046b1SBalaji Rao	depends on I2C
442f52046b1SBalaji Rao	help
443f52046b1SBalaji Rao	  Say yes here if you have NXP PCF50633 chip on your board.
444f52046b1SBalaji Rao	  This core driver provides register access and IRQ handling
445f52046b1SBalaji Rao	  facilities, and registers devices for the various functions
446f52046b1SBalaji Rao	  so that function-specific drivers can bind to them.
447f52046b1SBalaji Rao
4488238addcSSascha Hauerconfig MFD_MC13783
4498e005935SUwe Kleine-König	tristate
4508e005935SUwe Kleine-König
4518e005935SUwe Kleine-Königconfig MFD_MC13XXX
4528e005935SUwe Kleine-König	tristate "Support Freescale MC13783 and MC13892"
4538238addcSSascha Hauer	depends on SPI_MASTER
4548238addcSSascha Hauer	select MFD_CORE
4558e005935SUwe Kleine-König	select MFD_MC13783
4568238addcSSascha Hauer	help
4578e005935SUwe Kleine-König	  Support for the Freescale (Atlas) PMIC and audio CODECs
4588e005935SUwe Kleine-König	  MC13783 and MC13892.
4598238addcSSascha Hauer	  This driver provides common support for accessing  the device,
4608238addcSSascha Hauer	  additional drivers must be enabled in order to use the
4618238addcSSascha Hauer	  functionality of the device.
4628238addcSSascha Hauer
46308c3e06aSBalaji Raoconfig PCF50633_ADC
46408c3e06aSBalaji Rao	tristate "Support for NXP PCF50633 ADC"
46508c3e06aSBalaji Rao	depends on MFD_PCF50633
46608c3e06aSBalaji Rao	help
46708c3e06aSBalaji Rao	 Say yes here if you want to include support for ADC in the
46808c3e06aSBalaji Rao	 NXP PCF50633 chip.
46908c3e06aSBalaji Rao
4706a3d119bSBalaji Raoconfig PCF50633_GPIO
4716a3d119bSBalaji Rao	tristate "Support for NXP PCF50633 GPIO"
4726a3d119bSBalaji Rao	depends on MFD_PCF50633
4736a3d119bSBalaji Rao	help
4746a3d119bSBalaji Rao	 Say yes here if you want to include support GPIO for pins on
4756a3d119bSBalaji Rao	 the PCF50633 chip.
4766a3d119bSBalaji Rao
477fa661258SMattias Wallinconfig ABX500_CORE
478fa661258SMattias Wallin	bool "ST-Ericsson ABX500 Mixed Signal Circuit register functions"
47947c16975SMattias Wallin	default y if ARCH_U300 || ARCH_U8500
480fa661258SMattias Wallin	help
481fa661258SMattias Wallin	  Say yes here if you have the ABX500 Mixed Signal IC family
482fa661258SMattias Wallin	  chips. This core driver expose register access functions.
483fa661258SMattias Wallin	  Functionality specific drivers using these functions can
484fa661258SMattias Wallin	  remain unchanged when IC changes. Binding of the functions to
485fa661258SMattias Wallin	  actual register access is done by the IC core driver.
486fa661258SMattias Wallin
48714fa5691SLinus Walleijconfig AB3100_CORE
4882071db48SLinus Walleij	bool "ST-Ericsson AB3100 Mixed Signal Circuit core functions"
489fa661258SMattias Wallin	depends on I2C=y && ABX500_CORE
4908c96aefbSLinus Walleij	select MFD_CORE
49114fa5691SLinus Walleij	default y if ARCH_U300
49214fa5691SLinus Walleij	help
49314fa5691SLinus Walleij	  Select this to enable the AB3100 Mixed Signal IC core
49414fa5691SLinus Walleij	  functionality. This connects to a AB3100 on the I2C bus
49514fa5691SLinus Walleij	  and expose a number of symbols needed for dependent devices
49614fa5691SLinus Walleij	  to read and write registers and subscribe to events from
49714fa5691SLinus Walleij	  this multi-functional IC. This is needed to use other features
49814fa5691SLinus Walleij	  of the AB3100 such as battery-backed RTC, charging control,
49914fa5691SLinus Walleij	  LEDs, vibrator, system power and temperature, power management
50014fa5691SLinus Walleij	  and ALSA sound.
50114fa5691SLinus Walleij
50212992dd8SLinus Walleijconfig AB3100_OTP
50312992dd8SLinus Walleij	tristate "ST-Ericsson AB3100 OTP functions"
50412992dd8SLinus Walleij	depends on AB3100_CORE
50512992dd8SLinus Walleij	default y if AB3100_CORE
50612992dd8SLinus Walleij	help
50712992dd8SLinus Walleij	  Select this to enable the AB3100 Mixed Signal IC OTP (one-time
50812992dd8SLinus Walleij	  programmable memory) support. This exposes a sysfs file to read
50912992dd8SLinus Walleij	  out OTP values.
51012992dd8SLinus Walleij
51113a09f93SDaniel Ribeiroconfig EZX_PCAP
51213a09f93SDaniel Ribeiro	bool "PCAP Support"
51313a09f93SDaniel Ribeiro	depends on GENERIC_HARDIRQS && SPI_MASTER
51413a09f93SDaniel Ribeiro	help
51513a09f93SDaniel Ribeiro	  This enables the PCAP ASIC present on EZX Phones. This is
51613a09f93SDaniel Ribeiro	  needed for MMC, TouchScreen, Sound, USB, etc..
51713a09f93SDaniel Ribeiro
51862579266SRabin Vincentconfig AB8500_CORE
51962579266SRabin Vincent	bool "ST-Ericsson AB8500 Mixed Signal Power Management chip"
5206680d940SSundar Iyer	depends on GENERIC_HARDIRQS && ABX500_CORE
52162579266SRabin Vincent	select MFD_CORE
5220c41839eSSrinidhi Kasagar	help
52362579266SRabin Vincent	  Select this option to enable access to AB8500 power management
5246680d940SSundar Iyer	  chip. This connects to U8500 either on the SSP/SPI bus (deprecated
5256680d940SSundar Iyer	  since hardware version v1.0) or the I2C bus via PRCMU. It also adds
5266680d940SSundar Iyer	  the irq_chip parts for handling the Mixed Signal chip events.
5270c41839eSSrinidhi Kasagar	  This chip embeds various other multimedia funtionalities as well.
5280c41839eSSrinidhi Kasagar
52939368edaSMattias Wallinconfig AB8500_I2C_CORE
53039368edaSMattias Wallin	bool "AB8500 register access via PRCMU I2C"
53139368edaSMattias Wallin	depends on AB8500_CORE && UX500_SOC_DB8500
53239368edaSMattias Wallin	default y
53339368edaSMattias Wallin	help
53439368edaSMattias Wallin	  This enables register access to the AB8500 chip via PRCMU I2C.
53539368edaSMattias Wallin	  The AB8500 chip can be accessed via SPI or I2C. On DB8500 hardware
53639368edaSMattias Wallin	  the I2C bus is connected to the Power Reset
53739368edaSMattias Wallin	  and Mangagement Unit, PRCMU.
53839368edaSMattias Wallin
5395814fc35SMattias Wallinconfig AB8500_DEBUG
5405814fc35SMattias Wallin       bool "Enable debug info via debugfs"
5415814fc35SMattias Wallin       depends on AB8500_CORE && DEBUG_FS
5425814fc35SMattias Wallin       default y if DEBUG_FS
5435814fc35SMattias Wallin       help
5445814fc35SMattias Wallin         Select this option if you want debug information using the debug
5455814fc35SMattias Wallin         filesystem, debugfs.
5465814fc35SMattias Wallin
547dae2db30SArun Murthyconfig AB8500_GPADC
548dae2db30SArun Murthy	bool "AB8500 GPADC driver"
549dae2db30SArun Murthy	depends on AB8500_CORE && REGULATOR_AB8500
550dae2db30SArun Murthy	default y
551dae2db30SArun Murthy	help
552dae2db30SArun Murthy	  AB8500 GPADC driver used to convert Acc and battery/ac/usb voltage
553dae2db30SArun Murthy
55409bcb3f3SMattias Wallinconfig AB3550_CORE
55509bcb3f3SMattias Wallin        bool "ST-Ericsson AB3550 Mixed Signal Circuit core functions"
55609bcb3f3SMattias Wallin	select MFD_CORE
55709bcb3f3SMattias Wallin	depends on I2C=y && GENERIC_HARDIRQS && ABX500_CORE
55809bcb3f3SMattias Wallin	help
55909bcb3f3SMattias Wallin	  Select this to enable the AB3550 Mixed Signal IC core
56009bcb3f3SMattias Wallin	  functionality. This connects to a AB3550 on the I2C bus
56109bcb3f3SMattias Wallin	  and expose a number of symbols needed for dependent devices
56209bcb3f3SMattias Wallin	  to read and write registers and subscribe to events from
56309bcb3f3SMattias Wallin	  this multi-functional IC. This is needed to use other features
56409bcb3f3SMattias Wallin	  of the AB3550 such as battery-backed RTC, charging control,
56509bcb3f3SMattias Wallin	  LEDs, vibrator, system power and temperature, power management
56609bcb3f3SMattias Wallin	  and ALSA sound.
56709bcb3f3SMattias Wallin
568f71e1afdSAndres Salomonconfig MFD_CS5535
569f71e1afdSAndres Salomon	tristate "Support for CS5535 and CS5536 southbridge core functions"
570f71e1afdSAndres Salomon	select MFD_CORE
571f71e1afdSAndres Salomon	depends on PCI
572f71e1afdSAndres Salomon	---help---
573f71e1afdSAndres Salomon	  This is the core driver for CS5535/CS5536 MFD functions.  This is
574f71e1afdSAndres Salomon          necessary for using the board's GPIO and MFGPT functionality.
575f71e1afdSAndres Salomon
5768edbede9SRichard Röjforsconfig MFD_TIMBERDALE
5778edbede9SRichard Röjfors	tristate "Support for the Timberdale FPGA"
5788edbede9SRichard Röjfors	select MFD_CORE
579546e29b6SRandy Dunlap	depends on PCI && GPIOLIB
5808edbede9SRichard Röjfors	---help---
5818edbede9SRichard Röjfors	This is the core driver for the timberdale FPGA. This device is a
5828edbede9SRichard Röjfors	multifunction device which exposes numerous platform devices.
5838edbede9SRichard Röjfors
5848edbede9SRichard Röjfors	The timberdale FPGA can be found on the Intel Atom development board
5858edbede9SRichard Röjfors	for in-vehicle infontainment, called Russellville.
586e82c60aeSDenis Turischev
587e82c60aeSDenis Turischevconfig LPC_SCH
588e82c60aeSDenis Turischev	tristate "Intel SCH LPC"
589e82c60aeSDenis Turischev	depends on PCI
590e82c60aeSDenis Turischev	select MFD_CORE
591e82c60aeSDenis Turischev	help
592e82c60aeSDenis Turischev	  LPC bridge function of the Intel SCH provides support for
593e82c60aeSDenis Turischev	  System Management Bus and General Purpose I/O.
594e82c60aeSDenis Turischev
595e090d506SFlorian Fainelliconfig MFD_RDC321X
596e090d506SFlorian Fainelli	tristate "Support for RDC-R321x southbridge"
597e090d506SFlorian Fainelli	select MFD_CORE
598e090d506SFlorian Fainelli	depends on PCI
599e090d506SFlorian Fainelli	help
600e090d506SFlorian Fainelli	  Say yes here if you want to have support for the RDC R-321x SoC
601e090d506SFlorian Fainelli	  southbridge which provides access to GPIOs and Watchdog using the
602e090d506SFlorian Fainelli	  southbridge PCI device configuration space.
603e090d506SFlorian Fainelli
604bd358132SIra W. Snyderconfig MFD_JANZ_CMODIO
605bd358132SIra W. Snyder	tristate "Support for Janz CMOD-IO PCI MODULbus Carrier Board"
606bd358132SIra W. Snyder	select MFD_CORE
607bd358132SIra W. Snyder	depends on PCI
608bd358132SIra W. Snyder	help
609bd358132SIra W. Snyder	  This is the core driver for the Janz CMOD-IO PCI MODULbus
610bd358132SIra W. Snyder	  carrier board. This device is a PCI to MODULbus bridge which may
611bd358132SIra W. Snyder	  host many different types of MODULbus daughterboards, including
612bd358132SIra W. Snyder	  CAN and GPIO controllers.
613bd358132SIra W. Snyder
61491f4debfSLars-Peter Clausenconfig MFD_JZ4740_ADC
61591f4debfSLars-Peter Clausen	tristate "Support for the JZ4740 SoC ADC core"
61691f4debfSLars-Peter Clausen	select MFD_CORE
61791f4debfSLars-Peter Clausen	depends on MACH_JZ4740
61891f4debfSLars-Peter Clausen	help
61991f4debfSLars-Peter Clausen	  Say yes here if you want support for the ADC unit in the JZ4740 SoC.
62091f4debfSLars-Peter Clausen	  This driver is necessary for jz4740-battery and jz4740-hwmon driver.
62191f4debfSLars-Peter Clausen
622c6c19332SMike Rapoportconfig MFD_TPS6586X
623c26448c4SGary King	bool "TPS6586x Power Management chips"
624c26448c4SGary King	depends on I2C=y && GPIOLIB && GENERIC_HARDIRQS
625c6c19332SMike Rapoport	select MFD_CORE
626c6c19332SMike Rapoport	help
627c6c19332SMike Rapoport	  If you say yes here you get support for the TPS6586X series of
628c6c19332SMike Rapoport	  Power Management chips.
629c6c19332SMike Rapoport	  This driver provides common support for accessing the device,
630c6c19332SMike Rapoport	  additional drivers must be enabled in order to use the
631c6c19332SMike Rapoport	  functionality of the device.
632c6c19332SMike Rapoport
633c6c19332SMike Rapoport	  This driver can also be built as a module.  If so, the module
634c6c19332SMike Rapoport	  will be called tps6586x.
635c6c19332SMike Rapoport
636375fc77bSDaniel Drakeconfig MFD_VX855
637375fc77bSDaniel Drake	tristate "Support for VIA VX855/VX875 integrated south bridge"
638375fc77bSDaniel Drake	depends on PCI
639375fc77bSDaniel Drake	select MFD_CORE
640375fc77bSDaniel Drake	help
641375fc77bSDaniel Drake	  Say yes here to enable support for various functions of the
642375fc77bSDaniel Drake	  VIA VX855/VX875 south bridge. You will need to enable the vx855_spi
643375fc77bSDaniel Drake	  and/or vx855_gpio drivers for this to do anything useful.
644375fc77bSDaniel Drake
645383268a8SMatti Aaltonenconfig MFD_WL1273_CORE
646383268a8SMatti Aaltonen	tristate
647383268a8SMatti Aaltonen	depends on I2C
648383268a8SMatti Aaltonen	select MFD_CORE
649383268a8SMatti Aaltonen	default n
650383268a8SMatti Aaltonen	help
651383268a8SMatti Aaltonen	  This is the core driver for the TI WL1273 FM radio. This MFD
652383268a8SMatti Aaltonen	  driver connects the radio-wl1273 V4L2 module and the wl1273
653383268a8SMatti Aaltonen	  audio codec.
654383268a8SMatti Aaltonen
65517cdd29dSKeshava Munegowdaconfig MFD_OMAP_USB_HOST
65617cdd29dSKeshava Munegowda	bool "Support OMAP USBHS core driver"
65717cdd29dSKeshava Munegowda	depends on USB_EHCI_HCD_OMAP || USB_OHCI_HCD_OMAP3
65817cdd29dSKeshava Munegowda	default y
65917cdd29dSKeshava Munegowda	help
66017cdd29dSKeshava Munegowda	  This is the core driver for the OAMP EHCI and OHCI drivers.
66117cdd29dSKeshava Munegowda	  This MFD driver does the required setup functionalities for
66217cdd29dSKeshava Munegowda	  OMAP USB Host drivers.
66317cdd29dSKeshava Munegowda
66438270644SRandy Dunlapendif # MFD_SUPPORT
665b6d6454fSBen Dooks
666a4e137abSRussell Kingmenu "Multimedia Capabilities Port drivers"
667f751d50fSAdrian Bunk	depends on ARCH_SA1100
668a4e137abSRussell King
669a4e137abSRussell Kingconfig MCP
670a4e137abSRussell King	tristate
671a4e137abSRussell King
6725e742ad6SRussell King# Interface drivers
6735e742ad6SRussell Kingconfig MCP_SA11X0
6745e742ad6SRussell King	tristate "Support SA11x0 MCP interface"
6755e742ad6SRussell King	depends on ARCH_SA1100
6765e742ad6SRussell King	select MCP
6775e742ad6SRussell King
67805c45ca9SRussell King# Chip drivers
67905c45ca9SRussell Kingconfig MCP_UCB1200
68005c45ca9SRussell King	tristate "Support for UCB1200 / UCB1300"
68105c45ca9SRussell King	depends on MCP
68205c45ca9SRussell King
683acb45439SRussell Kingconfig MCP_UCB1200_TS
684acb45439SRussell King	tristate "Touchscreen interface support"
685acb45439SRussell King	depends on MCP_UCB1200 && INPUT
686acb45439SRussell King
687a4e137abSRussell Kingendmenu
688