xref: /openbmc/linux/drivers/mfd/Kconfig (revision f4e8afdc)
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
84a1635b8fSPhilipp Zabelconfig HTC_EGPIO
85a1635b8fSPhilipp Zabel	bool "HTC EGPIO support"
867444a72eSMichael Buesch	depends on GENERIC_HARDIRQS && GPIOLIB && ARM
87a1635b8fSPhilipp Zabel	help
88a1635b8fSPhilipp Zabel	    This driver supports the CPLD egpio chip present on
89a1635b8fSPhilipp Zabel	    several HTC phones.  It provides basic support for input
90a1635b8fSPhilipp Zabel	    pins, output pins, and irqs.
91a1635b8fSPhilipp Zabel
925dc3339aSPhilipp Zabelconfig HTC_PASIC3
935dc3339aSPhilipp Zabel	tristate "HTC PASIC3 LED/DS1WM chip support"
940254a8f4SPhilipp Zabel	select MFD_CORE
955dc3339aSPhilipp Zabel	help
965dc3339aSPhilipp Zabel	  This core driver provides register access for the LED/DS1WM
975dc3339aSPhilipp Zabel	  chips labeled "AIC2" and "AIC3", found on HTC Blueangel and
985dc3339aSPhilipp Zabel	  HTC Magician devices, respectively. Actual functionality is
995dc3339aSPhilipp Zabel	  handled by the leds-pasic3 and ds1wm drivers.
1005dc3339aSPhilipp Zabel
1016048a3ddSCory Maccarroneconfig HTC_I2CPLD
1026048a3ddSCory Maccarrone	bool "HTC I2C PLD chip support"
103bef3e20cSRandy Dunlap	depends on I2C=y && GPIOLIB
1046048a3ddSCory Maccarrone	help
1056048a3ddSCory Maccarrone	  If you say yes here you get support for the supposed CPLD
1066048a3ddSCory Maccarrone	  found on omap850 HTC devices like the HTC Wizard and HTC Herald.
1076048a3ddSCory Maccarrone	  This device provides input and output GPIOs through an I2C
1086048a3ddSCory Maccarrone	  interface to one or more sub-chips.
1096048a3ddSCory Maccarrone
110d9105c2bSMarek Vašutconfig UCB1400_CORE
111d9105c2bSMarek Vašut	tristate "Philips UCB1400 Core driver"
112e4831802SRandy Dunlap	depends on AC97_BUS
1135a49a540SAndrew Morton	depends on GPIOLIB
114d9105c2bSMarek Vašut	help
115d9105c2bSMarek Vašut	  This enables support for the Philips UCB1400 core functions.
116d9105c2bSMarek Vašut	  The UCB1400 is an AC97 audio codec.
117d9105c2bSMarek Vašut
118d9105c2bSMarek Vašut	  To compile this driver as a module, choose M here: the
119d9105c2bSMarek Vašut	  module will be called ucb1400_core.
120d9105c2bSMarek Vašut
12187c13493SDavid Brownellconfig TPS65010
12287c13493SDavid Brownell	tristate "TPS6501x Power Management chips"
12387c13493SDavid Brownell	depends on I2C && GPIOLIB
12487c13493SDavid Brownell	default y if MACH_OMAP_H2 || MACH_OMAP_H3 || MACH_OMAP_OSK
12587c13493SDavid Brownell	help
12687c13493SDavid Brownell	  If you say yes here you get support for the TPS6501x series of
12787c13493SDavid Brownell	  Power Management chips.  These include voltage regulators,
12887c13493SDavid Brownell	  lithium ion/polymer battery charging, and other features that
12987c13493SDavid Brownell	  are often used in portable devices like cell phones and cameras.
13087c13493SDavid Brownell
13187c13493SDavid Brownell	  This driver can also be built as a module.  If so, the module
13287c13493SDavid Brownell	  will be called tps65010.
13387c13493SDavid Brownell
13431dd6a26STodd Fischerconfig TPS6507X
13531dd6a26STodd Fischer	tristate "TPS6507x Power Management / Touch Screen chips"
13631dd6a26STodd Fischer	select MFD_CORE
13731dd6a26STodd Fischer	depends on I2C
13831dd6a26STodd Fischer	help
13931dd6a26STodd Fischer	  If you say yes here you get support for the TPS6507x series of
14031dd6a26STodd Fischer	  Power Management / Touch Screen chips.  These include voltage
14131dd6a26STodd Fischer	  regulators, lithium ion/polymer battery charging, touch screen
14231dd6a26STodd Fischer	  and other features that are often used in portable devices.
14331dd6a26STodd Fischer	  This driver can also be built as a module.  If so, the module
14431dd6a26STodd Fischer	  will be called tps6507x.
14531dd6a26STodd Fischer
14688e75cc3SDavid Brownellconfig MENELAUS
14788e75cc3SDavid Brownell	bool "Texas Instruments TWL92330/Menelaus PM chip"
148088ef950STony Lindgren	depends on I2C=y && ARCH_OMAP2
14988e75cc3SDavid Brownell	help
15088e75cc3SDavid Brownell	  If you say yes here you get support for the Texas Instruments
15188e75cc3SDavid Brownell	  TWL92330/Menelaus Power Management chip. This include voltage
152692105b8SMatt LaPlante	  regulators, Dual slot memory card transceivers, real-time clock
15388e75cc3SDavid Brownell	  and other features that are often used in portable devices like
15488e75cc3SDavid Brownell	  cell phones and PDAs.
15588e75cc3SDavid Brownell
156a603a7faSDavid Brownellconfig TWL4030_CORE
157e8deb28cSBalaji T K	bool "Texas Instruments TWL4030/TWL5030/TWL6030/TPS659x0 Support"
15867460a7cSDavid Brownell	depends on I2C=y && GENERIC_HARDIRQS
159a603a7faSDavid Brownell	help
160e8deb28cSBalaji T K	  Say yes here if you have TWL4030 / TWL6030 family chip on your board.
161a603a7faSDavid Brownell	  This core driver provides register access and IRQ handling
162a603a7faSDavid Brownell	  facilities, and registers devices for the various functions
163a603a7faSDavid Brownell	  so that function-specific drivers can bind to them.
164a603a7faSDavid Brownell
165a603a7faSDavid Brownell	  These multi-function chips are found on many OMAP2 and OMAP3
166a603a7faSDavid Brownell	  boards, providing power management, RTC, GPIO, keypad, a
167a603a7faSDavid Brownell	  high speed USB OTG transceiver, an audio codec (on most
168a603a7faSDavid Brownell	  versions) and many other features.
169a603a7faSDavid Brownell
170ebf0bd36SAmit Kucheriaconfig TWL4030_POWER
171ebf0bd36SAmit Kucheria	bool "Support power resources on TWL4030 family chips"
172ebf0bd36SAmit Kucheria	depends on TWL4030_CORE && ARM
173ebf0bd36SAmit Kucheria	help
174ebf0bd36SAmit Kucheria	  Say yes here if you want to use the power resources on the
175ebf0bd36SAmit Kucheria	  TWL4030 family chips.  Most of these resources are regulators,
176ebf0bd36SAmit Kucheria	  which have a separate driver; some are control signals, such
177ebf0bd36SAmit Kucheria	  as clock request handshaking.
178ebf0bd36SAmit Kucheria
179ebf0bd36SAmit Kucheria	  This driver uses board-specific data to initialize the resources
180ebf0bd36SAmit Kucheria	  and load scripts controling which resources are switched off/on
181ebf0bd36SAmit Kucheria	  or reset when a sleep, wakeup or warm reset event occurs.
182ebf0bd36SAmit Kucheria
1830b83ddebSPeter Ujfalusiconfig TWL4030_CODEC
1840b83ddebSPeter Ujfalusi	bool
1850b83ddebSPeter Ujfalusi	depends on TWL4030_CORE
1860b83ddebSPeter Ujfalusi	select MFD_CORE
1870b83ddebSPeter Ujfalusi	default n
1880b83ddebSPeter Ujfalusi
18931fc03dfSHemanth Vconfig TWL6030_PWM
19031fc03dfSHemanth V	tristate "TWL6030 PWM (Pulse Width Modulator) Support"
19131fc03dfSHemanth V	depends on TWL4030_CORE
19231fc03dfSHemanth V	select HAVE_PWM
19331fc03dfSHemanth V	default n
19431fc03dfSHemanth V	help
19531fc03dfSHemanth V	  Say yes here if you want support for TWL6030 PWM.
19631fc03dfSHemanth V	  This is used to control charging LED brightness.
19731fc03dfSHemanth V
19827e34995SRabin Vincentconfig MFD_STMPE
19927e34995SRabin Vincent	bool "Support STMicroelectronics STMPE"
20027e34995SRabin Vincent	depends on I2C=y && GENERIC_HARDIRQS
20127e34995SRabin Vincent	select MFD_CORE
20227e34995SRabin Vincent	help
20327e34995SRabin Vincent	  Support for the STMPE family of I/O Expanders from
20427e34995SRabin Vincent	  STMicroelectronics.
20527e34995SRabin Vincent
20627e34995SRabin Vincent	  Currently supported devices are:
20727e34995SRabin Vincent
20827e34995SRabin Vincent		STMPE811: GPIO, Touchscreen
20927e34995SRabin Vincent		STMPE1601: GPIO, Keypad
21027e34995SRabin Vincent		STMPE2401: GPIO, Keypad
21127e34995SRabin Vincent		STMPE2403: GPIO, Keypad
21227e34995SRabin Vincent
21327e34995SRabin Vincent	  This driver provides common support for accessing the device,
21427e34995SRabin Vincent	  additional drivers must be enabled in order to use the functionality
21527e34995SRabin Vincent	  of the device.  Currently available sub drivers are:
21627e34995SRabin Vincent
21727e34995SRabin Vincent		GPIO: stmpe-gpio
21827e34995SRabin Vincent		Keypad: stmpe-keypad
21927e34995SRabin Vincent		Touchscreen: stmpe-ts
22027e34995SRabin Vincent
221f4e8afdcSSundar Iyerconfig MFD_TC3589X
222f4e8afdcSSundar Iyer	bool "Support Toshiba TC35892 and variants"
223b4ecd326SRabin Vincent	depends on I2C=y && GENERIC_HARDIRQS
224b4ecd326SRabin Vincent	select MFD_CORE
225b4ecd326SRabin Vincent	help
226f4e8afdcSSundar Iyer	  Support for the Toshiba TC35892 and variants I/O Expander.
227b4ecd326SRabin Vincent
228b4ecd326SRabin Vincent	  This driver provides common support for accessing the device,
229b4ecd326SRabin Vincent	  additional drivers must be enabled in order to use the
230b4ecd326SRabin Vincent	  functionality of the device.
231b4ecd326SRabin Vincent
2321c2c30acSSamuel Ortizconfig MFD_TMIO
2331c2c30acSSamuel Ortiz	bool
2341c2c30acSSamuel Ortiz	default n
2351c2c30acSSamuel Ortiz
236311f3ac7SGuennadi Liakhovetskiconfig TMIO_MMC_DMA
237311f3ac7SGuennadi Liakhovetski	bool
238311f3ac7SGuennadi Liakhovetski	select DMA_ENGINE
239311f3ac7SGuennadi Liakhovetski	select DMADEVICES
240311f3ac7SGuennadi Liakhovetski
2411f192015SIan Moltonconfig MFD_T7L66XB
2421f192015SIan Molton	bool "Support Toshiba T7L66XB"
2439ca68233SAl Viro	depends on ARM && HAVE_CLK
2441f192015SIan Molton	select MFD_CORE
2451c2c30acSSamuel Ortiz	select MFD_TMIO
2461f192015SIan Molton	help
2471f192015SIan Molton	  Support for Toshiba Mobile IO Controller T7L66XB
2481f192015SIan Molton
249cbdfb426SIan Moltonconfig MFD_TC6387XB
250cbdfb426SIan Molton	bool "Support Toshiba TC6387XB"
2519ca68233SAl Viro	depends on ARM && HAVE_CLK
252cbdfb426SIan Molton	select MFD_CORE
2531c2c30acSSamuel Ortiz	select MFD_TMIO
254cbdfb426SIan Molton	help
255cbdfb426SIan Molton	  Support for Toshiba Mobile IO Controller TC6387XB
256cbdfb426SIan Molton
257d6315949SDmitry Baryshkovconfig MFD_TC6393XB
258d6315949SDmitry Baryshkov	bool "Support Toshiba TC6393XB"
2598d25b36bSAdrian Bunk	depends on GPIOLIB && ARM
260f024ff10SDmitry Baryshkov	select MFD_CORE
2611c2c30acSSamuel Ortiz	select MFD_TMIO
262d6315949SDmitry Baryshkov	help
263d6315949SDmitry Baryshkov	  Support for Toshiba Mobile IO Controller TC6393XB
264d6315949SDmitry Baryshkov
2658e2eaabfSSamuel Ortizconfig PMIC_DA903X
2668e2eaabfSSamuel Ortiz	bool "Dialog Semiconductor DA9030/DA9034 PMIC Support"
2678e2eaabfSSamuel Ortiz	depends on I2C=y
2688e2eaabfSSamuel Ortiz	help
2698e2eaabfSSamuel Ortiz	  Say yes here to support for Dialog Semiconductor DA9030 (a.k.a
2708e2eaabfSSamuel Ortiz	  ARAVA) and DA9034 (a.k.a MICCO), these are Power Management IC
2718e2eaabfSSamuel Ortiz	  usually found on PXA processors-based platforms. This includes
2728e2eaabfSSamuel Ortiz	  the I2C driver and the core APIs _only_, you have to select
2738e2eaabfSSamuel Ortiz	  individual components like LCD backlight, voltage regulators,
2748e2eaabfSSamuel Ortiz	  LEDs and battery-charger under the corresponding menus.
2758e2eaabfSSamuel Ortiz
276a5736e0bSMichael Hennerichconfig PMIC_ADP5520
277a5736e0bSMichael Hennerich	bool "Analog Devices ADP5520/01 MFD PMIC Core Support"
278a5736e0bSMichael Hennerich	depends on I2C=y
279a5736e0bSMichael Hennerich	help
280a5736e0bSMichael Hennerich	  Say yes here to add support for Analog Devices AD5520 and ADP5501,
281a5736e0bSMichael Hennerich	  Multifunction Power Management IC. This includes
282a5736e0bSMichael Hennerich	  the I2C driver and the core APIs _only_, you have to select
283a5736e0bSMichael Hennerich	  individual components like LCD backlight, LEDs, GPIOs and Kepad
284a5736e0bSMichael Hennerich	  under the corresponding menus.
285a5736e0bSMichael Hennerich
286d50f8f33SHaojian Zhuangconfig MFD_MAX8925
2871f1cf8f9SHaojian Zhuang	bool "Maxim Semiconductor MAX8925 PMIC Support"
2888d002bdcSGeert Uytterhoeven	depends on I2C=y && GENERIC_HARDIRQS
2891ad99893SHaojian Zhuang	select MFD_CORE
290d50f8f33SHaojian Zhuang	help
291d50f8f33SHaojian Zhuang	  Say yes here to support for Maxim Semiconductor MAX8925. This is
292d50f8f33SHaojian Zhuang	  a Power Management IC. This driver provies common support for
293d50f8f33SHaojian Zhuang	  accessing the device, additional drivers must be enabled in order
294d50f8f33SHaojian Zhuang	  to use the functionality of the device.
295d50f8f33SHaojian Zhuang
296156f2528SKyungmin Parkconfig MFD_MAX8998
297f8539ddcSKyungmin Park	bool "Maxim Semiconductor MAX8998/National LP3974 PMIC Support"
2982c7e6f57SJoonyoung Shim	depends on I2C=y && GENERIC_HARDIRQS
299156f2528SKyungmin Park	select MFD_CORE
300156f2528SKyungmin Park	help
301f8539ddcSKyungmin Park	  Say yes here to support for Maxim Semiconductor MAX8998 and
302f8539ddcSKyungmin Park	  National Semiconductor LP3974. This is a Power Management IC.
303f8539ddcSKyungmin Park	  This driver provies common support for accessing the device,
304f8539ddcSKyungmin Park	  additional drivers must be enabled in order to use the functionality
305f8539ddcSKyungmin Park	  of the device.
306156f2528SKyungmin Park
3071d9f9f04SMark Brownconfig MFD_WM8400
3081d9f9f04SMark Brown	tristate "Support Wolfson Microelectronics WM8400"
309b8380c1aSMark Brown	select MFD_CORE
3109c366452SMark Brown	depends on I2C
3111d9f9f04SMark Brown	help
3121d9f9f04SMark Brown	  Support for the Wolfson Microelecronics WM8400 PMIC and audio
3139e5aca58SMark Brown	  CODEC.  This driver provides common support for accessing
3141d9f9f04SMark Brown	  the device, additional drivers must be enabled in order to use
3151d9f9f04SMark Brown	  the functionality of the device.
3161d9f9f04SMark Brown
317b11062b9SMark Brownconfig MFD_WM831X
318e5b48684SMark Brown	bool
319e5b48684SMark Brown	depends on GENERIC_HARDIRQS
320e5b48684SMark Brown
321e5b48684SMark Brownconfig MFD_WM831X_I2C
322e5b48684SMark Brown	bool "Support Wolfson Microelectronics WM831x/2x PMICs with I2C"
323b11062b9SMark Brown	select MFD_CORE
324e5b48684SMark Brown	select MFD_WM831X
3258d002bdcSGeert Uytterhoeven	depends on I2C=y && GENERIC_HARDIRQS
326b11062b9SMark Brown	help
327e5b48684SMark Brown	  Support for the Wolfson Microelecronics WM831x and WM832x PMICs
328e5b48684SMark Brown	  when controlled using I2C.  This driver provides common support
329e5b48684SMark Brown	  for accessing the device, additional drivers must be enabled in
330e5b48684SMark Brown	  order to use the functionality of the device.
331b11062b9SMark Brown
3322aa13b9eSMark Brownconfig MFD_WM831X_SPI
3332aa13b9eSMark Brown	bool "Support Wolfson Microelectronics WM831x/2x PMICs with SPI"
3342aa13b9eSMark Brown	select MFD_CORE
3352aa13b9eSMark Brown	select MFD_WM831X
3362aa13b9eSMark Brown	depends on SPI_MASTER && GENERIC_HARDIRQS
3372aa13b9eSMark Brown	help
3382aa13b9eSMark Brown	  Support for the Wolfson Microelecronics WM831x and WM832x PMICs
3392aa13b9eSMark Brown	  when controlled using SPI.  This driver provides common support
3402aa13b9eSMark Brown	  for accessing the device, additional drivers must be enabled in
3412aa13b9eSMark Brown	  order to use the functionality of the device.
3422aa13b9eSMark Brown
34389b4012bSMark Brownconfig MFD_WM8350
344ecf926bcSMark Brown	bool
3458d002bdcSGeert Uytterhoeven	depends on GENERIC_HARDIRQS
34689b4012bSMark Brown
34789b4012bSMark Brownconfig MFD_WM8350_CONFIG_MODE_0
34889b4012bSMark Brown	bool
34989b4012bSMark Brown	depends on MFD_WM8350
35089b4012bSMark Brown
35189b4012bSMark Brownconfig MFD_WM8350_CONFIG_MODE_1
35289b4012bSMark Brown	bool
35389b4012bSMark Brown	depends on MFD_WM8350
35489b4012bSMark Brown
35589b4012bSMark Brownconfig MFD_WM8350_CONFIG_MODE_2
35689b4012bSMark Brown	bool
35789b4012bSMark Brown	depends on MFD_WM8350
35889b4012bSMark Brown
35989b4012bSMark Brownconfig MFD_WM8350_CONFIG_MODE_3
36089b4012bSMark Brown	bool
36189b4012bSMark Brown	depends on MFD_WM8350
36289b4012bSMark Brown
363ca23f8c1SMark Brownconfig MFD_WM8351_CONFIG_MODE_0
364ca23f8c1SMark Brown	bool
365ca23f8c1SMark Brown	depends on MFD_WM8350
366ca23f8c1SMark Brown
367ca23f8c1SMark Brownconfig MFD_WM8351_CONFIG_MODE_1
368ca23f8c1SMark Brown	bool
369ca23f8c1SMark Brown	depends on MFD_WM8350
370ca23f8c1SMark Brown
371ca23f8c1SMark Brownconfig MFD_WM8351_CONFIG_MODE_2
372ca23f8c1SMark Brown	bool
373ca23f8c1SMark Brown	depends on MFD_WM8350
374ca23f8c1SMark Brown
375ca23f8c1SMark Brownconfig MFD_WM8351_CONFIG_MODE_3
376ca23f8c1SMark Brown	bool
377ca23f8c1SMark Brown	depends on MFD_WM8350
378ca23f8c1SMark Brown
37996920630SMark Brownconfig MFD_WM8352_CONFIG_MODE_0
38096920630SMark Brown	bool
38196920630SMark Brown	depends on MFD_WM8350
38296920630SMark Brown
38396920630SMark Brownconfig MFD_WM8352_CONFIG_MODE_1
38496920630SMark Brown	bool
38596920630SMark Brown	depends on MFD_WM8350
38696920630SMark Brown
38796920630SMark Brownconfig MFD_WM8352_CONFIG_MODE_2
38896920630SMark Brown	bool
38996920630SMark Brown	depends on MFD_WM8350
39096920630SMark Brown
39196920630SMark Brownconfig MFD_WM8352_CONFIG_MODE_3
39296920630SMark Brown	bool
39396920630SMark Brown	depends on MFD_WM8350
39496920630SMark Brown
395c661a0b9SMark Brownconfig MFD_WM8350_I2C
396ecf926bcSMark Brown	bool "Support Wolfson Microelectronics WM8350 with I2C"
397c661a0b9SMark Brown	select MFD_WM8350
3988d002bdcSGeert Uytterhoeven	depends on I2C=y && GENERIC_HARDIRQS
399c661a0b9SMark Brown	help
400c661a0b9SMark Brown	  The WM8350 is an integrated audio and power management
401c661a0b9SMark Brown	  subsystem with watchdog and RTC functionality for embedded
402c661a0b9SMark Brown	  systems.  This option enables core support for the WM8350 with
403c661a0b9SMark Brown	  I2C as the control interface.  Additional options must be
404c661a0b9SMark Brown	  selected to enable support for the functionality of the chip.
405c661a0b9SMark Brown
4069e501086SMark Brownconfig MFD_WM8994
407c9fbf7e0SMark Brown	bool "Support Wolfson Microelectronics WM8994"
4089e501086SMark Brown	select MFD_CORE
409c9fbf7e0SMark Brown	depends on I2C=y && GENERIC_HARDIRQS
4109e501086SMark Brown	help
4119e501086SMark Brown	  The WM8994 is a highly integrated hi-fi CODEC designed for
4129e501086SMark Brown	  smartphone applicatiosn.  As well as audio functionality it
4139e501086SMark Brown	  has on board GPIO and regulator functionality which is
4149e501086SMark Brown	  supported via the relevant subsystems.  This driver provides
4159e501086SMark Brown	  core support for the WM8994, in order to use the actual
4169e501086SMark Brown	  functionaltiy of the device other drivers must be enabled.
4179e501086SMark Brown
418f52046b1SBalaji Raoconfig MFD_PCF50633
419f52046b1SBalaji Rao	tristate "Support for NXP PCF50633"
420f52046b1SBalaji Rao	depends on I2C
421f52046b1SBalaji Rao	help
422f52046b1SBalaji Rao	  Say yes here if you have NXP PCF50633 chip on your board.
423f52046b1SBalaji Rao	  This core driver provides register access and IRQ handling
424f52046b1SBalaji Rao	  facilities, and registers devices for the various functions
425f52046b1SBalaji Rao	  so that function-specific drivers can bind to them.
426f52046b1SBalaji Rao
4278238addcSSascha Hauerconfig MFD_MC13783
4288e005935SUwe Kleine-König	tristate
4298e005935SUwe Kleine-König
4308e005935SUwe Kleine-Königconfig MFD_MC13XXX
4318e005935SUwe Kleine-König	tristate "Support Freescale MC13783 and MC13892"
4328238addcSSascha Hauer	depends on SPI_MASTER
4338238addcSSascha Hauer	select MFD_CORE
4348e005935SUwe Kleine-König	select MFD_MC13783
4358238addcSSascha Hauer	help
4368e005935SUwe Kleine-König	  Support for the Freescale (Atlas) PMIC and audio CODECs
4378e005935SUwe Kleine-König	  MC13783 and MC13892.
4388238addcSSascha Hauer	  This driver provides common support for accessing  the device,
4398238addcSSascha Hauer	  additional drivers must be enabled in order to use the
4408238addcSSascha Hauer	  functionality of the device.
4418238addcSSascha Hauer
44208c3e06aSBalaji Raoconfig PCF50633_ADC
44308c3e06aSBalaji Rao	tristate "Support for NXP PCF50633 ADC"
44408c3e06aSBalaji Rao	depends on MFD_PCF50633
44508c3e06aSBalaji Rao	help
44608c3e06aSBalaji Rao	 Say yes here if you want to include support for ADC in the
44708c3e06aSBalaji Rao	 NXP PCF50633 chip.
44808c3e06aSBalaji Rao
4496a3d119bSBalaji Raoconfig PCF50633_GPIO
4506a3d119bSBalaji Rao	tristate "Support for NXP PCF50633 GPIO"
4516a3d119bSBalaji Rao	depends on MFD_PCF50633
4526a3d119bSBalaji Rao	help
4536a3d119bSBalaji Rao	 Say yes here if you want to include support GPIO for pins on
4546a3d119bSBalaji Rao	 the PCF50633 chip.
4556a3d119bSBalaji Rao
456fa661258SMattias Wallinconfig ABX500_CORE
457fa661258SMattias Wallin	bool "ST-Ericsson ABX500 Mixed Signal Circuit register functions"
45847c16975SMattias Wallin	default y if ARCH_U300 || ARCH_U8500
459fa661258SMattias Wallin	help
460fa661258SMattias Wallin	  Say yes here if you have the ABX500 Mixed Signal IC family
461fa661258SMattias Wallin	  chips. This core driver expose register access functions.
462fa661258SMattias Wallin	  Functionality specific drivers using these functions can
463fa661258SMattias Wallin	  remain unchanged when IC changes. Binding of the functions to
464fa661258SMattias Wallin	  actual register access is done by the IC core driver.
465fa661258SMattias Wallin
46614fa5691SLinus Walleijconfig AB3100_CORE
4672071db48SLinus Walleij	bool "ST-Ericsson AB3100 Mixed Signal Circuit core functions"
468fa661258SMattias Wallin	depends on I2C=y && ABX500_CORE
4698c96aefbSLinus Walleij	select MFD_CORE
47014fa5691SLinus Walleij	default y if ARCH_U300
47114fa5691SLinus Walleij	help
47214fa5691SLinus Walleij	  Select this to enable the AB3100 Mixed Signal IC core
47314fa5691SLinus Walleij	  functionality. This connects to a AB3100 on the I2C bus
47414fa5691SLinus Walleij	  and expose a number of symbols needed for dependent devices
47514fa5691SLinus Walleij	  to read and write registers and subscribe to events from
47614fa5691SLinus Walleij	  this multi-functional IC. This is needed to use other features
47714fa5691SLinus Walleij	  of the AB3100 such as battery-backed RTC, charging control,
47814fa5691SLinus Walleij	  LEDs, vibrator, system power and temperature, power management
47914fa5691SLinus Walleij	  and ALSA sound.
48014fa5691SLinus Walleij
48112992dd8SLinus Walleijconfig AB3100_OTP
48212992dd8SLinus Walleij	tristate "ST-Ericsson AB3100 OTP functions"
48312992dd8SLinus Walleij	depends on AB3100_CORE
48412992dd8SLinus Walleij	default y if AB3100_CORE
48512992dd8SLinus Walleij	help
48612992dd8SLinus Walleij	  Select this to enable the AB3100 Mixed Signal IC OTP (one-time
48712992dd8SLinus Walleij	  programmable memory) support. This exposes a sysfs file to read
48812992dd8SLinus Walleij	  out OTP values.
48912992dd8SLinus Walleij
49013a09f93SDaniel Ribeiroconfig EZX_PCAP
49113a09f93SDaniel Ribeiro	bool "PCAP Support"
49213a09f93SDaniel Ribeiro	depends on GENERIC_HARDIRQS && SPI_MASTER
49313a09f93SDaniel Ribeiro	help
49413a09f93SDaniel Ribeiro	  This enables the PCAP ASIC present on EZX Phones. This is
49513a09f93SDaniel Ribeiro	  needed for MMC, TouchScreen, Sound, USB, etc..
49613a09f93SDaniel Ribeiro
49762579266SRabin Vincentconfig AB8500_CORE
49862579266SRabin Vincent	bool "ST-Ericsson AB8500 Mixed Signal Power Management chip"
499d5a0514eSArun Murthy	depends on GENERIC_HARDIRQS && ABX500_CORE && SPI_MASTER && ARCH_U8500
50062579266SRabin Vincent	select MFD_CORE
5010c41839eSSrinidhi Kasagar	help
50262579266SRabin Vincent	  Select this option to enable access to AB8500 power management
50339368edaSMattias Wallin	  chip. This connects to U8500 either on the SSP/SPI bus
50439368edaSMattias Wallin	  or the I2C bus via PRCMU. It also adds the irq_chip
50539368edaSMattias Wallin	  parts for handling the Mixed Signal chip events.
5060c41839eSSrinidhi Kasagar	  This chip embeds various other multimedia funtionalities as well.
5070c41839eSSrinidhi Kasagar
50839368edaSMattias Wallinconfig AB8500_I2C_CORE
50939368edaSMattias Wallin	bool "AB8500 register access via PRCMU I2C"
51039368edaSMattias Wallin	depends on AB8500_CORE && UX500_SOC_DB8500
51139368edaSMattias Wallin	default y
51239368edaSMattias Wallin	help
51339368edaSMattias Wallin	  This enables register access to the AB8500 chip via PRCMU I2C.
51439368edaSMattias Wallin	  The AB8500 chip can be accessed via SPI or I2C. On DB8500 hardware
51539368edaSMattias Wallin	  the I2C bus is connected to the Power Reset
51639368edaSMattias Wallin	  and Mangagement Unit, PRCMU.
51739368edaSMattias Wallin
5185814fc35SMattias Wallinconfig AB8500_DEBUG
5195814fc35SMattias Wallin       bool "Enable debug info via debugfs"
5205814fc35SMattias Wallin       depends on AB8500_CORE && DEBUG_FS
5215814fc35SMattias Wallin       default y if DEBUG_FS
5225814fc35SMattias Wallin       help
5235814fc35SMattias Wallin         Select this option if you want debug information using the debug
5245814fc35SMattias Wallin         filesystem, debugfs.
5255814fc35SMattias Wallin
52609bcb3f3SMattias Wallinconfig AB3550_CORE
52709bcb3f3SMattias Wallin        bool "ST-Ericsson AB3550 Mixed Signal Circuit core functions"
52809bcb3f3SMattias Wallin	select MFD_CORE
52909bcb3f3SMattias Wallin	depends on I2C=y && GENERIC_HARDIRQS && ABX500_CORE
53009bcb3f3SMattias Wallin	help
53109bcb3f3SMattias Wallin	  Select this to enable the AB3550 Mixed Signal IC core
53209bcb3f3SMattias Wallin	  functionality. This connects to a AB3550 on the I2C bus
53309bcb3f3SMattias Wallin	  and expose a number of symbols needed for dependent devices
53409bcb3f3SMattias Wallin	  to read and write registers and subscribe to events from
53509bcb3f3SMattias Wallin	  this multi-functional IC. This is needed to use other features
53609bcb3f3SMattias Wallin	  of the AB3550 such as battery-backed RTC, charging control,
53709bcb3f3SMattias Wallin	  LEDs, vibrator, system power and temperature, power management
53809bcb3f3SMattias Wallin	  and ALSA sound.
53909bcb3f3SMattias Wallin
5408edbede9SRichard Röjforsconfig MFD_TIMBERDALE
5418edbede9SRichard Röjfors	tristate "Support for the Timberdale FPGA"
5428edbede9SRichard Röjfors	select MFD_CORE
543546e29b6SRandy Dunlap	depends on PCI && GPIOLIB
5448edbede9SRichard Röjfors	---help---
5458edbede9SRichard Röjfors	This is the core driver for the timberdale FPGA. This device is a
5468edbede9SRichard Röjfors	multifunction device which exposes numerous platform devices.
5478edbede9SRichard Röjfors
5488edbede9SRichard Röjfors	The timberdale FPGA can be found on the Intel Atom development board
5498edbede9SRichard Röjfors	for in-vehicle infontainment, called Russellville.
550e82c60aeSDenis Turischev
551e82c60aeSDenis Turischevconfig LPC_SCH
552e82c60aeSDenis Turischev	tristate "Intel SCH LPC"
553e82c60aeSDenis Turischev	depends on PCI
554e82c60aeSDenis Turischev	select MFD_CORE
555e82c60aeSDenis Turischev	help
556e82c60aeSDenis Turischev	  LPC bridge function of the Intel SCH provides support for
557e82c60aeSDenis Turischev	  System Management Bus and General Purpose I/O.
558e82c60aeSDenis Turischev
559e090d506SFlorian Fainelliconfig MFD_RDC321X
560e090d506SFlorian Fainelli	tristate "Support for RDC-R321x southbridge"
561e090d506SFlorian Fainelli	select MFD_CORE
562e090d506SFlorian Fainelli	depends on PCI
563e090d506SFlorian Fainelli	help
564e090d506SFlorian Fainelli	  Say yes here if you want to have support for the RDC R-321x SoC
565e090d506SFlorian Fainelli	  southbridge which provides access to GPIOs and Watchdog using the
566e090d506SFlorian Fainelli	  southbridge PCI device configuration space.
567e090d506SFlorian Fainelli
568bd358132SIra W. Snyderconfig MFD_JANZ_CMODIO
569bd358132SIra W. Snyder	tristate "Support for Janz CMOD-IO PCI MODULbus Carrier Board"
570bd358132SIra W. Snyder	select MFD_CORE
571bd358132SIra W. Snyder	depends on PCI
572bd358132SIra W. Snyder	help
573bd358132SIra W. Snyder	  This is the core driver for the Janz CMOD-IO PCI MODULbus
574bd358132SIra W. Snyder	  carrier board. This device is a PCI to MODULbus bridge which may
575bd358132SIra W. Snyder	  host many different types of MODULbus daughterboards, including
576bd358132SIra W. Snyder	  CAN and GPIO controllers.
577bd358132SIra W. Snyder
57891f4debfSLars-Peter Clausenconfig MFD_JZ4740_ADC
57991f4debfSLars-Peter Clausen	tristate "Support for the JZ4740 SoC ADC core"
58091f4debfSLars-Peter Clausen	select MFD_CORE
58191f4debfSLars-Peter Clausen	depends on MACH_JZ4740
58291f4debfSLars-Peter Clausen	help
58391f4debfSLars-Peter Clausen	  Say yes here if you want support for the ADC unit in the JZ4740 SoC.
58491f4debfSLars-Peter Clausen	  This driver is necessary for jz4740-battery and jz4740-hwmon driver.
58591f4debfSLars-Peter Clausen
586c6c19332SMike Rapoportconfig MFD_TPS6586X
587c26448c4SGary King	bool "TPS6586x Power Management chips"
588c26448c4SGary King	depends on I2C=y && GPIOLIB && GENERIC_HARDIRQS
589c6c19332SMike Rapoport	select MFD_CORE
590c6c19332SMike Rapoport	help
591c6c19332SMike Rapoport	  If you say yes here you get support for the TPS6586X series of
592c6c19332SMike Rapoport	  Power Management chips.
593c6c19332SMike Rapoport	  This driver provides common support for accessing the device,
594c6c19332SMike Rapoport	  additional drivers must be enabled in order to use the
595c6c19332SMike Rapoport	  functionality of the device.
596c6c19332SMike Rapoport
597c6c19332SMike Rapoport	  This driver can also be built as a module.  If so, the module
598c6c19332SMike Rapoport	  will be called tps6586x.
599c6c19332SMike Rapoport
600375fc77bSDaniel Drakeconfig MFD_VX855
601375fc77bSDaniel Drake	tristate "Support for VIA VX855/VX875 integrated south bridge"
602375fc77bSDaniel Drake	depends on PCI
603375fc77bSDaniel Drake	select MFD_CORE
604375fc77bSDaniel Drake	help
605375fc77bSDaniel Drake	  Say yes here to enable support for various functions of the
606375fc77bSDaniel Drake	  VIA VX855/VX875 south bridge. You will need to enable the vx855_spi
607375fc77bSDaniel Drake	  and/or vx855_gpio drivers for this to do anything useful.
608375fc77bSDaniel Drake
60938270644SRandy Dunlapendif # MFD_SUPPORT
610b6d6454fSBen Dooks
611a4e137abSRussell Kingmenu "Multimedia Capabilities Port drivers"
612f751d50fSAdrian Bunk	depends on ARCH_SA1100
613a4e137abSRussell King
614a4e137abSRussell Kingconfig MCP
615a4e137abSRussell King	tristate
616a4e137abSRussell King
6175e742ad6SRussell King# Interface drivers
6185e742ad6SRussell Kingconfig MCP_SA11X0
6195e742ad6SRussell King	tristate "Support SA11x0 MCP interface"
6205e742ad6SRussell King	depends on ARCH_SA1100
6215e742ad6SRussell King	select MCP
6225e742ad6SRussell King
62305c45ca9SRussell King# Chip drivers
62405c45ca9SRussell Kingconfig MCP_UCB1200
62505c45ca9SRussell King	tristate "Support for UCB1200 / UCB1300"
62605c45ca9SRussell King	depends on MCP
62705c45ca9SRussell King
628acb45439SRussell Kingconfig MCP_UCB1200_TS
629acb45439SRussell King	tristate "Touchscreen interface support"
630acb45439SRussell King	depends on MCP_UCB1200 && INPUT
631acb45439SRussell King
632a4e137abSRussell Kingendmenu
633