blob: 77ac84563ae633fca10c9f8c5128fd7970f919c3 [file] [log] [blame]
Russell Kinga4e137a2005-08-18 10:06:59 +01001#
2# Multifunction miscellaneous devices
3#
4
Randy Dunlap38270642010-05-11 01:07:34 +02005menuconfig MFD_SUPPORT
6 bool "Multifunction device drivers"
Martin Schwidefskye25df122007-05-10 15:45:57 +02007 depends on HAS_IOMEM
Randy Dunlap38270642010-05-11 01:07:34 +02008 default y
9 help
Samuel Ortiz15742c82010-06-19 02:29:24 +020010 Multifunction devices embed several functions (e.g. GPIOs,
11 touchscreens, keyboards, current regulators, power management chips,
12 etc...) in one single integrated circuit. They usually talk to the
13 main CPU through one or more IRQ lines and low speed data busses (SPI,
14 I2C, etc..). They appear as one single device to the main system
15 through the data bus and the MFD framework allows for sub devices
16 (a.k.a. functions) to appear as discrete platform devices.
17 MFDs are typically found on embedded platforms.
18
19 This option alone does not add any kernel code.
Randy Dunlap38270642010-05-11 01:07:34 +020020
21if MFD_SUPPORT
Ben Dooksb6d64542007-02-20 13:58:01 -080022
Dmitry Baryshkovaa613de2008-06-27 10:37:19 +010023config MFD_CORE
24 tristate
25 default n
26
Haojian Zhuang2cc50be2010-01-06 17:07:13 -050027config MFD_88PM860X
28 bool "Support Marvell 88PM8606/88PM8607"
Geert Uytterhoeven8d002bd2009-12-15 21:49:57 +010029 depends on I2C=y && GENERIC_HARDIRQS
Haojian Zhuang2cc50be2010-01-06 17:07:13 -050030 select MFD_CORE
31 help
32 This supports for Marvell 88PM8606/88PM8607 Power Management IC.
33 This includes the I2C driver and the core APIs _only_, you have to
34 select individual components like voltage regulators, RTC and
35 battery-charger under the corresponding menus.
36
Ben Dooksb6d64542007-02-20 13:58:01 -080037config MFD_SM501
38 tristate "Support for Silicon Motion SM501"
39 ---help---
40 This is the core driver for the Silicon Motion SM501 multimedia
41 companion chip. This device is a multifunction device which may
Matt LaPlante01dd2fb2007-10-20 01:34:40 +020042 provide numerous interfaces including USB host controller, USB gadget,
43 asynchronous serial ports, audio functions, and a dual display video
Ben Dooksb6d64542007-02-20 13:58:01 -080044 interface. The device may be connected by PCI or local bus with
45 varying functions enabled.
46
Ben Dooksf61be272008-07-25 01:45:59 -070047config MFD_SM501_GPIO
48 bool "Export GPIO via GPIO layer"
Samuel Ortiz2eedd602008-09-25 00:39:05 +020049 depends on MFD_SM501 && GPIOLIB
Ben Dooksf61be272008-07-25 01:45:59 -070050 ---help---
51 This option uses the gpio library layer to export the 64 GPIO
52 lines on the SM501. The platform data is used to supply the
53 base number for the first GPIO line to register.
54
Samuel Ortizfa9ff4b2008-02-07 00:14:49 -080055config MFD_ASIC3
56 bool "Support for Compaq ASIC3"
Samuel Ortiz2eedd602008-09-25 00:39:05 +020057 depends on GENERIC_HARDIRQS && GPIOLIB && ARM
Philipp Zabel9461f652009-06-15 12:10:24 +020058 select MFD_CORE
Samuel Ortizfa9ff4b2008-02-07 00:14:49 -080059 ---help---
60 This driver supports the ASIC3 multifunction chip found on many
61 PDAs (mainly iPAQ and HTC based ones)
62
Miguel Aguilarca263082010-03-11 09:32:21 -060063config MFD_DAVINCI_VOICECODEC
64 tristate
65 select MFD_CORE
66
David Brownell0931a4c2008-12-22 12:05:27 +010067config MFD_DM355EVM_MSP
68 bool "DaVinci DM355 EVM microcontroller"
Samuel Ortiz1819ebc2010-09-20 00:19:27 +020069 depends on I2C=y && MACH_DAVINCI_DM355_EVM
David Brownell0931a4c2008-12-22 12:05:27 +010070 help
71 This driver supports the MSP430 microcontroller used on these
72 boards. MSP430 firmware manages resets and power sequencing,
73 inputs from buttons and the IR remote, LEDs, an RTC, and more.
74
Cyril Chemparathy03df0f62011-01-18 19:21:35 +000075config MFD_TI_SSP
76 tristate "TI Sequencer Serial Port support"
77 depends on ARCH_DAVINCI_TNETV107X
78 select MFD_CORE
79 ---help---
80 Say Y here if you want support for the Sequencer Serial Port
81 in a Texas Instruments TNETV107X SoC.
82
83 To compile this driver as a module, choose M here: the
84 module will be called ti-ssp.
85
Philipp Zabela1635b82008-04-09 19:20:34 +010086config HTC_EGPIO
87 bool "HTC EGPIO support"
Michael Buesch7444a722008-07-25 01:46:11 -070088 depends on GENERIC_HARDIRQS && GPIOLIB && ARM
Philipp Zabela1635b82008-04-09 19:20:34 +010089 help
90 This driver supports the CPLD egpio chip present on
91 several HTC phones. It provides basic support for input
92 pins, output pins, and irqs.
93
Philipp Zabel5dc33392008-04-12 13:25:41 +010094config HTC_PASIC3
95 tristate "HTC PASIC3 LED/DS1WM chip support"
Philipp Zabel0254a8f2009-02-17 10:06:45 +010096 select MFD_CORE
Philipp Zabel5dc33392008-04-12 13:25:41 +010097 help
98 This core driver provides register access for the LED/DS1WM
99 chips labeled "AIC2" and "AIC3", found on HTC Blueangel and
100 HTC Magician devices, respectively. Actual functionality is
101 handled by the leds-pasic3 and ds1wm drivers.
102
Cory Maccarrone6048a3d2010-01-19 11:22:45 +0100103config HTC_I2CPLD
104 bool "HTC I2C PLD chip support"
Randy Dunlapbef3e202010-01-20 19:55:34 -0800105 depends on I2C=y && GPIOLIB
Cory Maccarrone6048a3d2010-01-19 11:22:45 +0100106 help
107 If you say yes here you get support for the supposed CPLD
108 found on omap850 HTC devices like the HTC Wizard and HTC Herald.
109 This device provides input and output GPIOs through an I2C
110 interface to one or more sub-chips.
111
Marek Vašutd9105c22008-08-03 21:34:08 +0100112config UCB1400_CORE
113 tristate "Philips UCB1400 Core driver"
Randy Dunlape4831802008-10-15 13:29:07 +0200114 depends on AC97_BUS
Andrew Morton5a49a542008-10-15 13:30:47 +0200115 depends on GPIOLIB
Marek Vašutd9105c22008-08-03 21:34:08 +0100116 help
117 This enables support for the Philips UCB1400 core functions.
118 The UCB1400 is an AC97 audio codec.
119
120 To compile this driver as a module, choose M here: the
121 module will be called ucb1400_core.
122
Linus Walleij798a8ee2011-03-09 13:02:38 +0100123config TPS6105X
124 tristate "TPS61050/61052 Boost Converters"
125 depends on I2C
Linus Walleij2edd3b62011-03-09 12:02:55 +0000126 select REGULATOR
Guenter Roeckfc498fa2011-03-24 12:12:47 -0700127 select MFD_CORE
Linus Walleij2edd3b62011-03-09 12:02:55 +0000128 select REGULATOR_FIXED_VOLTAGE
Linus Walleij798a8ee2011-03-09 13:02:38 +0100129 help
130 This option enables a driver for the TP61050/TPS61052
131 high-power "white LED driver". This boost converter is
132 sometimes used for other things than white LEDs, and
133 also contains a GPIO pin.
134
David Brownell87c13492008-12-22 12:16:27 +0100135config TPS65010
136 tristate "TPS6501x Power Management chips"
137 depends on I2C && GPIOLIB
138 default y if MACH_OMAP_H2 || MACH_OMAP_H3 || MACH_OMAP_OSK
139 help
140 If you say yes here you get support for the TPS6501x series of
141 Power Management chips. These include voltage regulators,
142 lithium ion/polymer battery charging, and other features that
143 are often used in portable devices like cell phones and cameras.
144
145 This driver can also be built as a module. If so, the module
146 will be called tps65010.
147
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700148config TPS65023
149 tristate "TPS65023 Power Management chip"
150 depends on I2C && ARCH_MSM_SCORPION && !MSM_SMP
151 default y if I2C && ARCH_MSM_SCORPION && !MSM_SMP
152 help
153 Say yes here for Qualcomm QSD chips. The TI PMIC is used by the
154 QSD8x50 series of chips for power management.
155
156config PMIC8058
157 tristate "PMIC8058 Power Management chip"
Anirudh Ghayalf1f1e142011-10-10 17:47:45 +0530158 depends on MSM_SSBI
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700159 select MFD_CORE
Anirudh Ghayalc2019332011-11-12 06:29:10 +0530160 select MFD_PM8XXX
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700161 help
162 Say yes here for Qualcomm PM8058 chip.
163
164config PMIC8901
165 tristate "PMIC8901 Power Management chip"
Anirudh Ghayalc8051a82011-11-17 09:28:24 +0530166 depends on MSM_SSBI
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700167 select MFD_CORE
Anirudh Ghayalc8051a82011-11-17 09:28:24 +0530168 select MFD_PM8XXX
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700169 help
170 Say yes here for Qualcomm PM8901 chip.
171
172config MARIMBA_TSADC
173 tristate "Support for Marimba Touchscreen ADC"
174 depends on MARIMBA_CORE && ARCH_MSM7X30
175 default y if MARIMBA_CORE
176 help
177 Say yes here if you want to include support for TSADC in the
178 Qualcomm Marimba chip.
179
Todd Fischer31dd6a22010-04-08 09:04:55 +0200180config TPS6507X
181 tristate "TPS6507x Power Management / Touch Screen chips"
182 select MFD_CORE
183 depends on I2C
184 help
185 If you say yes here you get support for the TPS6507x series of
186 Power Management / Touch Screen chips. These include voltage
187 regulators, lithium ion/polymer battery charging, touch screen
188 and other features that are often used in portable devices.
189 This driver can also be built as a module. If so, the module
190 will be called tps6507x.
191
Axel Lin37df0032011-04-15 20:04:45 +0800192config MFD_TPS6586X
193 bool "TPS6586x Power Management chips"
194 depends on I2C=y && GPIOLIB && GENERIC_HARDIRQS
195 select MFD_CORE
196 help
197 If you say yes here you get support for the TPS6586X series of
198 Power Management chips.
199 This driver provides common support for accessing the device,
200 additional drivers must be enabled in order to use the
201 functionality of the device.
202
203 This driver can also be built as a module. If so, the module
204 will be called tps6586x.
205
David Brownell88e75cc2008-12-22 12:18:02 +0100206config MENELAUS
207 bool "Texas Instruments TWL92330/Menelaus PM chip"
Tony Lindgren088ef952010-02-12 12:26:47 -0800208 depends on I2C=y && ARCH_OMAP2
David Brownell88e75cc2008-12-22 12:18:02 +0100209 help
210 If you say yes here you get support for the Texas Instruments
211 TWL92330/Menelaus Power Management chip. This include voltage
Matt LaPlante692105b2009-01-26 11:12:25 +0100212 regulators, Dual slot memory card transceivers, real-time clock
David Brownell88e75cc2008-12-22 12:18:02 +0100213 and other features that are often used in portable devices like
214 cell phones and PDAs.
215
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700216config MARIMBA_CORE
217 tristate "Marimba Core"
218 depends on I2C && (ARCH_MSM7X30 || ARCH_MSM8X60 || ARCH_MSM7X27A)
219 default n
220 help
221 Enables the Marimba Core driver. The core driver provides
222 read/write capability to registers which are part of the
223 marimba core.
224 This driver dynamically detects the SoC and works for both
225 Marimba and Bahama Chip.
226
227config MARIMBA_CODEC
228 tristate "Marimba Codec"
229 depends on MARIMBA_CORE
230 default n
231 help
232 This driver programs Marimba Wideband Codec for input/output of
233 audio signal.
234
235config TIMPANI_CODEC
236 tristate "Timpani Codec"
237 depends on MARIMBA_CORE
238 default n
239 help
240 This driver programs Timpani Wideband Codec for input/output of
241 audio signal.
242
David Brownella603a7f2008-10-15 12:15:39 +0200243config TWL4030_CORE
Balaji T Ke8deb282009-12-14 00:25:31 +0100244 bool "Texas Instruments TWL4030/TWL5030/TWL6030/TPS659x0 Support"
David Brownell67460a72008-12-01 00:35:33 +0100245 depends on I2C=y && GENERIC_HARDIRQS
David Brownella603a7f2008-10-15 12:15:39 +0200246 help
Balaji T Ke8deb282009-12-14 00:25:31 +0100247 Say yes here if you have TWL4030 / TWL6030 family chip on your board.
David Brownella603a7f2008-10-15 12:15:39 +0200248 This core driver provides register access and IRQ handling
249 facilities, and registers devices for the various functions
250 so that function-specific drivers can bind to them.
251
252 These multi-function chips are found on many OMAP2 and OMAP3
253 boards, providing power management, RTC, GPIO, keypad, a
254 high speed USB OTG transceiver, an audio codec (on most
255 versions) and many other features.
256
Keerthyf99c1d42011-03-01 19:12:26 +0530257config TWL4030_MADC
258 tristate "Texas Instruments TWL4030 MADC"
259 depends on TWL4030_CORE
260 help
261 This driver provides support for triton TWL4030-MADC. The
262 driver supports both RT and SW conversion methods.
263
264 This driver can be built as a module. If so it will be
265 named twl4030-madc
266
Amit Kucheriaebf0bd32009-08-31 18:32:18 +0200267config TWL4030_POWER
268 bool "Support power resources on TWL4030 family chips"
269 depends on TWL4030_CORE && ARM
270 help
271 Say yes here if you want to use the power resources on the
272 TWL4030 family chips. Most of these resources are regulators,
273 which have a separate driver; some are control signals, such
274 as clock request handshaking.
275
276 This driver uses board-specific data to initialize the resources
Lucas De Marchi25985ed2011-03-30 22:57:33 -0300277 and load scripts controlling which resources are switched off/on
Amit Kucheriaebf0bd32009-08-31 18:32:18 +0200278 or reset when a sleep, wakeup or warm reset event occurs.
279
Peter Ujfalusid189dd52011-05-31 12:02:49 +0300280config MFD_TWL4030_AUDIO
Peter Ujfalusi0b83dde2009-10-22 13:26:45 +0300281 bool
282 depends on TWL4030_CORE
283 select MFD_CORE
284 default n
285
Hemanth V31fc03d2010-07-14 12:04:56 +0200286config TWL6030_PWM
287 tristate "TWL6030 PWM (Pulse Width Modulator) Support"
288 depends on TWL4030_CORE
289 select HAVE_PWM
290 default n
291 help
292 Say yes here if you want support for TWL6030 PWM.
293 This is used to control charging LED brightness.
294
Misael Lopez Cruz3c9d7a12011-04-27 02:14:07 -0500295config TWL6040_CORE
296 bool
297 depends on TWL4030_CORE && GENERIC_HARDIRQS
298 select MFD_CORE
299 default n
300
Rabin Vincent27e34992010-07-02 16:52:08 +0530301config MFD_STMPE
302 bool "Support STMicroelectronics STMPE"
303 depends on I2C=y && GENERIC_HARDIRQS
304 select MFD_CORE
305 help
306 Support for the STMPE family of I/O Expanders from
307 STMicroelectronics.
308
309 Currently supported devices are:
310
311 STMPE811: GPIO, Touchscreen
312 STMPE1601: GPIO, Keypad
313 STMPE2401: GPIO, Keypad
314 STMPE2403: GPIO, Keypad
315
316 This driver provides common support for accessing the device,
317 additional drivers must be enabled in order to use the functionality
318 of the device. Currently available sub drivers are:
319
320 GPIO: stmpe-gpio
321 Keypad: stmpe-keypad
322 Touchscreen: stmpe-ts
323
Sundar Iyerf4e8afd2010-12-13 09:33:13 +0530324config MFD_TC3589X
325 bool "Support Toshiba TC35892 and variants"
Rabin Vincentb4ecd322010-05-10 23:39:47 +0200326 depends on I2C=y && GENERIC_HARDIRQS
327 select MFD_CORE
328 help
Sundar Iyerf4e8afd2010-12-13 09:33:13 +0530329 Support for the Toshiba TC35892 and variants I/O Expander.
Rabin Vincentb4ecd322010-05-10 23:39:47 +0200330
331 This driver provides common support for accessing the device,
332 additional drivers must be enabled in order to use the
333 functionality of the device.
334
Samuel Ortiz1c2c30a2008-08-05 19:27:58 +0200335config MFD_TMIO
336 bool
337 default n
338
Ian Molton1f192012008-07-15 15:09:43 +0100339config MFD_T7L66XB
340 bool "Support Toshiba T7L66XB"
Al Viro9ca68232008-11-01 18:19:59 +0000341 depends on ARM && HAVE_CLK
Ian Molton1f192012008-07-15 15:09:43 +0100342 select MFD_CORE
Samuel Ortiz1c2c30a2008-08-05 19:27:58 +0200343 select MFD_TMIO
Ian Molton1f192012008-07-15 15:09:43 +0100344 help
345 Support for Toshiba Mobile IO Controller T7L66XB
346
Ian Moltoncbdfb422008-07-15 15:12:52 +0100347config MFD_TC6387XB
348 bool "Support Toshiba TC6387XB"
Al Viro9ca68232008-11-01 18:19:59 +0000349 depends on ARM && HAVE_CLK
Ian Moltoncbdfb422008-07-15 15:12:52 +0100350 select MFD_CORE
Samuel Ortiz1c2c30a2008-08-05 19:27:58 +0200351 select MFD_TMIO
Ian Moltoncbdfb422008-07-15 15:12:52 +0100352 help
353 Support for Toshiba Mobile IO Controller TC6387XB
354
Dmitry Baryshkovd6315942008-06-22 12:01:58 +0100355config MFD_TC6393XB
356 bool "Support Toshiba TC6393XB"
Adrian Bunk8d25b362008-07-26 02:38:00 +0300357 depends on GPIOLIB && ARM
Dmitry Baryshkovf024ff12008-06-27 10:37:57 +0100358 select MFD_CORE
Samuel Ortiz1c2c30a2008-08-05 19:27:58 +0200359 select MFD_TMIO
Dmitry Baryshkovd6315942008-06-22 12:01:58 +0100360 help
361 Support for Toshiba Mobile IO Controller TC6393XB
362
Samuel Ortiz8e2eaab2008-10-24 17:10:05 +0200363config PMIC_DA903X
364 bool "Dialog Semiconductor DA9030/DA9034 PMIC Support"
365 depends on I2C=y
366 help
367 Say yes here to support for Dialog Semiconductor DA9030 (a.k.a
368 ARAVA) and DA9034 (a.k.a MICCO), these are Power Management IC
369 usually found on PXA processors-based platforms. This includes
370 the I2C driver and the core APIs _only_, you have to select
371 individual components like LCD backlight, voltage regulators,
372 LEDs and battery-charger under the corresponding menus.
373
Michael Hennericha5736e02009-10-12 17:22:38 +0200374config PMIC_ADP5520
375 bool "Analog Devices ADP5520/01 MFD PMIC Core Support"
376 depends on I2C=y
377 help
378 Say yes here to add support for Analog Devices AD5520 and ADP5501,
379 Multifunction Power Management IC. This includes
380 the I2C driver and the core APIs _only_, you have to select
381 individual components like LCD backlight, LEDs, GPIOs and Kepad
382 under the corresponding menus.
383
Haojian Zhuangd50f8f32010-01-08 12:29:23 +0100384config MFD_MAX8925
Haojian Zhuang1f1cf8f2010-02-05 16:07:54 +0100385 bool "Maxim Semiconductor MAX8925 PMIC Support"
Geert Uytterhoeven8d002bd2009-12-15 21:49:57 +0100386 depends on I2C=y && GENERIC_HARDIRQS
Haojian Zhuang1ad99892010-01-08 12:43:29 -0500387 select MFD_CORE
Haojian Zhuangd50f8f32010-01-08 12:29:23 +0100388 help
389 Say yes here to support for Maxim Semiconductor MAX8925. This is
390 a Power Management IC. This driver provies common support for
391 accessing the device, additional drivers must be enabled in order
392 to use the functionality of the device.
393
MyungJoo Ham527e7e92011-03-04 15:50:26 +0900394config MFD_MAX8997
395 bool "Maxim Semiconductor MAX8997/8966 PMIC Support"
396 depends on I2C=y && GENERIC_HARDIRQS
397 select MFD_CORE
398 help
399 Say yes here to support for Maxim Semiconductor MAX8998/8966.
400 This is a Power Management IC with RTC, Flash, Fuel Gauge, Haptic,
401 MUIC controls on chip.
Randy Dunlapd7e8c012011-03-14 11:28:37 +0100402 This driver provides common support for accessing the device;
MyungJoo Ham527e7e92011-03-04 15:50:26 +0900403 additional drivers must be enabled in order to use the functionality
404 of the device.
405
Kyungmin Park156f2522010-06-16 09:04:16 +0200406config MFD_MAX8998
Kyungmin Parkf8539dd2010-08-23 13:46:49 +0900407 bool "Maxim Semiconductor MAX8998/National LP3974 PMIC Support"
Joonyoung Shim2c7e6f52010-09-10 18:36:39 +0200408 depends on I2C=y && GENERIC_HARDIRQS
Kyungmin Park156f2522010-06-16 09:04:16 +0200409 select MFD_CORE
410 help
Kyungmin Parkf8539dd2010-08-23 13:46:49 +0900411 Say yes here to support for Maxim Semiconductor MAX8998 and
412 National Semiconductor LP3974. This is a Power Management IC.
413 This driver provies common support for accessing the device,
414 additional drivers must be enabled in order to use the functionality
415 of the device.
Kyungmin Park156f2522010-06-16 09:04:16 +0200416
Mark Brown1d9f9f02008-09-10 18:58:42 +0100417config MFD_WM8400
418 tristate "Support Wolfson Microelectronics WM8400"
Mark Brownb8380c12008-12-18 10:54:22 +0100419 select MFD_CORE
Mark Brown9c366452008-10-24 17:16:11 +0200420 depends on I2C
Mark Brown1d9f9f02008-09-10 18:58:42 +0100421 help
422 Support for the Wolfson Microelecronics WM8400 PMIC and audio
Mark Brown9e5aca52009-05-29 11:34:18 +0100423 CODEC. This driver provides common support for accessing
Mark Brown1d9f9f02008-09-10 18:58:42 +0100424 the device, additional drivers must be enabled in order to use
425 the functionality of the device.
426
Mark Brownb11062b2009-07-27 14:45:58 +0100427config MFD_WM831X
Mark Browne5b48682010-10-19 23:57:56 +0200428 bool
429 depends on GENERIC_HARDIRQS
430
431config MFD_WM831X_I2C
432 bool "Support Wolfson Microelectronics WM831x/2x PMICs with I2C"
Mark Brownb11062b2009-07-27 14:45:58 +0100433 select MFD_CORE
Mark Browne5b48682010-10-19 23:57:56 +0200434 select MFD_WM831X
Geert Uytterhoeven8d002bd2009-12-15 21:49:57 +0100435 depends on I2C=y && GENERIC_HARDIRQS
Mark Brownb11062b2009-07-27 14:45:58 +0100436 help
Mark Browne5b48682010-10-19 23:57:56 +0200437 Support for the Wolfson Microelecronics WM831x and WM832x PMICs
438 when controlled using I2C. This driver provides common support
439 for accessing the device, additional drivers must be enabled in
440 order to use the functionality of the device.
Mark Brownb11062b2009-07-27 14:45:58 +0100441
Mark Brown2aa13b92010-10-20 00:00:11 +0200442config MFD_WM831X_SPI
443 bool "Support Wolfson Microelectronics WM831x/2x PMICs with SPI"
444 select MFD_CORE
445 select MFD_WM831X
446 depends on SPI_MASTER && GENERIC_HARDIRQS
447 help
448 Support for the Wolfson Microelecronics WM831x and WM832x PMICs
449 when controlled using SPI. This driver provides common support
450 for accessing the device, additional drivers must be enabled in
451 order to use the functionality of the device.
452
Mark Brown89b40122008-10-10 15:58:10 +0100453config MFD_WM8350
Mark Brownecf926b2010-01-05 20:40:47 +0000454 bool
Geert Uytterhoeven8d002bd2009-12-15 21:49:57 +0100455 depends on GENERIC_HARDIRQS
Mark Brown89b40122008-10-10 15:58:10 +0100456
457config MFD_WM8350_CONFIG_MODE_0
458 bool
459 depends on MFD_WM8350
460
461config MFD_WM8350_CONFIG_MODE_1
462 bool
463 depends on MFD_WM8350
464
465config MFD_WM8350_CONFIG_MODE_2
466 bool
467 depends on MFD_WM8350
468
469config MFD_WM8350_CONFIG_MODE_3
470 bool
471 depends on MFD_WM8350
472
Mark Brownca23f8c2008-12-18 23:12:28 +0100473config MFD_WM8351_CONFIG_MODE_0
474 bool
475 depends on MFD_WM8350
476
477config MFD_WM8351_CONFIG_MODE_1
478 bool
479 depends on MFD_WM8350
480
481config MFD_WM8351_CONFIG_MODE_2
482 bool
483 depends on MFD_WM8350
484
485config MFD_WM8351_CONFIG_MODE_3
486 bool
487 depends on MFD_WM8350
488
Mark Brown96920632008-12-18 23:09:50 +0100489config MFD_WM8352_CONFIG_MODE_0
490 bool
491 depends on MFD_WM8350
492
493config MFD_WM8352_CONFIG_MODE_1
494 bool
495 depends on MFD_WM8350
496
497config MFD_WM8352_CONFIG_MODE_2
498 bool
499 depends on MFD_WM8350
500
501config MFD_WM8352_CONFIG_MODE_3
502 bool
503 depends on MFD_WM8350
504
Mark Brownc661a0b2008-10-10 15:58:11 +0100505config MFD_WM8350_I2C
Mark Brownecf926b2010-01-05 20:40:47 +0000506 bool "Support Wolfson Microelectronics WM8350 with I2C"
Mark Brownc661a0b2008-10-10 15:58:11 +0100507 select MFD_WM8350
Geert Uytterhoeven8d002bd2009-12-15 21:49:57 +0100508 depends on I2C=y && GENERIC_HARDIRQS
Mark Brownc661a0b2008-10-10 15:58:11 +0100509 help
510 The WM8350 is an integrated audio and power management
511 subsystem with watchdog and RTC functionality for embedded
512 systems. This option enables core support for the WM8350 with
513 I2C as the control interface. Additional options must be
514 selected to enable support for the functionality of the chip.
515
Mark Brown9e501082010-01-29 18:20:29 +0000516config MFD_WM8994
Mark Brownc9fbf7e2010-03-26 16:49:15 +0000517 bool "Support Wolfson Microelectronics WM8994"
Mark Brown9e501082010-01-29 18:20:29 +0000518 select MFD_CORE
Mark Brownc9fbf7e2010-03-26 16:49:15 +0000519 depends on I2C=y && GENERIC_HARDIRQS
Mark Brown9e501082010-01-29 18:20:29 +0000520 help
521 The WM8994 is a highly integrated hi-fi CODEC designed for
522 smartphone applicatiosn. As well as audio functionality it
523 has on board GPIO and regulator functionality which is
524 supported via the relevant subsystems. This driver provides
525 core support for the WM8994, in order to use the actual
526 functionaltiy of the device other drivers must be enabled.
527
Balaji Raof52046b2009-01-09 01:49:01 +0100528config MFD_PCF50633
529 tristate "Support for NXP PCF50633"
530 depends on I2C
531 help
532 Say yes here if you have NXP PCF50633 chip on your board.
533 This core driver provides register access and IRQ handling
534 facilities, and registers devices for the various functions
535 so that function-specific drivers can bind to them.
536
Axel Lin13051342011-04-15 20:06:37 +0800537config PCF50633_ADC
538 tristate "Support for NXP PCF50633 ADC"
539 depends on MFD_PCF50633
540 help
541 Say yes here if you want to include support for ADC in the
542 NXP PCF50633 chip.
543
544config PCF50633_GPIO
545 tristate "Support for NXP PCF50633 GPIO"
546 depends on MFD_PCF50633
547 help
548 Say yes here if you want to include support GPIO for pins on
549 the PCF50633 chip.
550
Sascha Hauer8238add2009-08-19 01:40:28 +0200551config MFD_MC13783
Uwe Kleine-König8e005932010-09-28 16:37:20 +0200552 tristate
553
554config MFD_MC13XXX
555 tristate "Support Freescale MC13783 and MC13892"
Sascha Hauer8238add2009-08-19 01:40:28 +0200556 depends on SPI_MASTER
557 select MFD_CORE
Uwe Kleine-König8e005932010-09-28 16:37:20 +0200558 select MFD_MC13783
Sascha Hauer8238add2009-08-19 01:40:28 +0200559 help
Uwe Kleine-König8e005932010-09-28 16:37:20 +0200560 Support for the Freescale (Atlas) PMIC and audio CODECs
561 MC13783 and MC13892.
Sascha Hauer8238add2009-08-19 01:40:28 +0200562 This driver provides common support for accessing the device,
563 additional drivers must be enabled in order to use the
564 functionality of the device.
565
Mattias Wallinfa661252010-05-01 18:26:20 +0200566config ABX500_CORE
567 bool "ST-Ericsson ABX500 Mixed Signal Circuit register functions"
Mattias Wallin47c16972010-09-10 17:47:56 +0200568 default y if ARCH_U300 || ARCH_U8500
Mattias Wallinfa661252010-05-01 18:26:20 +0200569 help
570 Say yes here if you have the ABX500 Mixed Signal IC family
571 chips. This core driver expose register access functions.
572 Functionality specific drivers using these functions can
573 remain unchanged when IC changes. Binding of the functions to
574 actual register access is done by the IC core driver.
575
Linus Walleij14fa5692009-05-21 23:17:06 +0200576config AB3100_CORE
Linus Walleij2071db42010-01-19 11:41:52 +0100577 bool "ST-Ericsson AB3100 Mixed Signal Circuit core functions"
Mattias Wallinfa661252010-05-01 18:26:20 +0200578 depends on I2C=y && ABX500_CORE
Linus Walleij8c96aef2010-08-20 10:27:12 +0200579 select MFD_CORE
Linus Walleij14fa5692009-05-21 23:17:06 +0200580 default y if ARCH_U300
581 help
582 Select this to enable the AB3100 Mixed Signal IC core
583 functionality. This connects to a AB3100 on the I2C bus
584 and expose a number of symbols needed for dependent devices
585 to read and write registers and subscribe to events from
586 this multi-functional IC. This is needed to use other features
587 of the AB3100 such as battery-backed RTC, charging control,
588 LEDs, vibrator, system power and temperature, power management
589 and ALSA sound.
590
Linus Walleij12992dd2009-08-18 22:52:26 +0200591config AB3100_OTP
592 tristate "ST-Ericsson AB3100 OTP functions"
593 depends on AB3100_CORE
594 default y if AB3100_CORE
595 help
596 Select this to enable the AB3100 Mixed Signal IC OTP (one-time
597 programmable memory) support. This exposes a sysfs file to read
598 out OTP values.
599
Daniel Ribeiro13a09f92009-05-28 15:43:37 -0300600config EZX_PCAP
601 bool "PCAP Support"
602 depends on GENERIC_HARDIRQS && SPI_MASTER
603 help
604 This enables the PCAP ASIC present on EZX Phones. This is
605 needed for MMC, TouchScreen, Sound, USB, etc..
606
Rabin Vincent62579262010-05-19 11:39:02 +0200607config AB8500_CORE
608 bool "ST-Ericsson AB8500 Mixed Signal Power Management chip"
Sundar Iyer6680d942010-12-24 11:52:08 +0100609 depends on GENERIC_HARDIRQS && ABX500_CORE
Rabin Vincent62579262010-05-19 11:39:02 +0200610 select MFD_CORE
Srinidhi Kasagar0c418392009-10-12 17:11:52 +0200611 help
Rabin Vincent62579262010-05-19 11:39:02 +0200612 Select this option to enable access to AB8500 power management
Sundar Iyer6680d942010-12-24 11:52:08 +0100613 chip. This connects to U8500 either on the SSP/SPI bus (deprecated
614 since hardware version v1.0) or the I2C bus via PRCMU. It also adds
615 the irq_chip parts for handling the Mixed Signal chip events.
Srinidhi Kasagar0c418392009-10-12 17:11:52 +0200616 This chip embeds various other multimedia funtionalities as well.
617
Mattias Wallin39368ed2010-09-15 13:12:03 +0200618config AB8500_I2C_CORE
619 bool "AB8500 register access via PRCMU I2C"
Linus Walleij650c2a22011-05-15 22:53:56 +0200620 depends on AB8500_CORE && MFD_DB8500_PRCMU
Mattias Wallin39368ed2010-09-15 13:12:03 +0200621 default y
622 help
623 This enables register access to the AB8500 chip via PRCMU I2C.
624 The AB8500 chip can be accessed via SPI or I2C. On DB8500 hardware
625 the I2C bus is connected to the Power Reset
626 and Mangagement Unit, PRCMU.
627
Mattias Wallin5814fc32010-09-13 16:05:04 +0200628config AB8500_DEBUG
629 bool "Enable debug info via debugfs"
630 depends on AB8500_CORE && DEBUG_FS
631 default y if DEBUG_FS
632 help
633 Select this option if you want debug information using the debug
634 filesystem, debugfs.
635
Arun Murthydae2db32011-02-22 10:11:13 +0100636config AB8500_GPADC
637 bool "AB8500 GPADC driver"
638 depends on AB8500_CORE && REGULATOR_AB8500
639 default y
640 help
641 AB8500 GPADC driver used to convert Acc and battery/ac/usb voltage
642
Mattias Wallin09bcb3f2010-05-11 00:25:29 +0200643config AB3550_CORE
644 bool "ST-Ericsson AB3550 Mixed Signal Circuit core functions"
645 select MFD_CORE
646 depends on I2C=y && GENERIC_HARDIRQS && ABX500_CORE
647 help
648 Select this to enable the AB3550 Mixed Signal IC core
649 functionality. This connects to a AB3550 on the I2C bus
650 and expose a number of symbols needed for dependent devices
651 to read and write registers and subscribe to events from
652 this multi-functional IC. This is needed to use other features
653 of the AB3550 such as battery-backed RTC, charging control,
654 LEDs, vibrator, system power and temperature, power management
655 and ALSA sound.
656
Linus Walleij650c2a22011-05-15 22:53:56 +0200657config MFD_DB8500_PRCMU
658 bool "ST-Ericsson DB8500 Power Reset Control Management Unit"
659 depends on UX500_SOC_DB8500
660 select MFD_CORE
661 help
662 Select this option to enable support for the DB8500 Power Reset
663 and Control Management Unit. This is basically an autonomous
664 system controller running an XP70 microprocessor, which is accessed
665 through a register map.
666
Linus Walleij83177972011-05-03 18:14:48 +0200667config MFD_DB5500_PRCMU
668 bool "ST-Ericsson DB5500 Power Reset Control Management Unit"
669 depends on UX500_SOC_DB5500
670 select MFD_CORE
671 help
672 Select this option to enable support for the DB5500 Power Reset
673 and Control Management Unit. This is basically an autonomous
674 system controller running an XP70 microprocessor, which is accessed
675 through a register map.
676
Andres Salomonf71e1af2010-11-26 11:52:35 +0100677config MFD_CS5535
678 tristate "Support for CS5535 and CS5536 southbridge core functions"
679 select MFD_CORE
Andres Salomon15b7cf12011-03-27 21:26:03 -0700680 depends on PCI && X86
Andres Salomonf71e1af2010-11-26 11:52:35 +0100681 ---help---
682 This is the core driver for CS5535/CS5536 MFD functions. This is
683 necessary for using the board's GPIO and MFGPT functionality.
684
Richard Röjfors8edbede2010-02-04 08:18:52 -0300685config MFD_TIMBERDALE
686 tristate "Support for the Timberdale FPGA"
687 select MFD_CORE
Randy Dunlap546e29b2010-02-12 12:30:55 -0300688 depends on PCI && GPIOLIB
Richard Röjfors8edbede2010-02-04 08:18:52 -0300689 ---help---
690 This is the core driver for the timberdale FPGA. This device is a
691 multifunction device which exposes numerous platform devices.
692
693 The timberdale FPGA can be found on the Intel Atom development board
694 for in-vehicle infontainment, called Russellville.
Denis Turischeve82c60a2010-02-19 11:26:25 +0100695
696config LPC_SCH
697 tristate "Intel SCH LPC"
698 depends on PCI
699 select MFD_CORE
700 help
701 LPC bridge function of the Intel SCH provides support for
702 System Management Bus and General Purpose I/O.
703
Florian Fainellie090d502010-03-21 01:06:05 +0100704config MFD_RDC321X
705 tristate "Support for RDC-R321x southbridge"
706 select MFD_CORE
707 depends on PCI
708 help
709 Say yes here if you want to have support for the RDC R-321x SoC
710 southbridge which provides access to GPIOs and Watchdog using the
711 southbridge PCI device configuration space.
712
Ira W. Snyderbd358132010-04-07 09:43:00 +0200713config MFD_JANZ_CMODIO
714 tristate "Support for Janz CMOD-IO PCI MODULbus Carrier Board"
715 select MFD_CORE
716 depends on PCI
717 help
718 This is the core driver for the Janz CMOD-IO PCI MODULbus
719 carrier board. This device is a PCI to MODULbus bridge which may
720 host many different types of MODULbus daughterboards, including
721 CAN and GPIO controllers.
722
Lars-Peter Clausen91f4deb2010-07-12 03:48:08 +0200723config MFD_JZ4740_ADC
724 tristate "Support for the JZ4740 SoC ADC core"
725 select MFD_CORE
726 depends on MACH_JZ4740
727 help
728 Say yes here if you want support for the ADC unit in the JZ4740 SoC.
729 This driver is necessary for jz4740-battery and jz4740-hwmon driver.
730
Daniel Drake375fc772010-09-30 21:55:41 +0100731config MFD_VX855
732 tristate "Support for VIA VX855/VX875 integrated south bridge"
733 depends on PCI
734 select MFD_CORE
735 help
736 Say yes here to enable support for various functions of the
737 VIA VX855/VX875 south bridge. You will need to enable the vx855_spi
738 and/or vx855_gpio drivers for this to do anything useful.
739
Matti Aaltonen383268a2010-12-10 11:41:33 -0300740config MFD_WL1273_CORE
Matti Aaltonen94fd5b72011-03-01 10:10:35 -0300741 tristate "Support for TI WL1273 FM radio."
Matti Aaltonen383268a2010-12-10 11:41:33 -0300742 depends on I2C
743 select MFD_CORE
744 default n
745 help
746 This is the core driver for the TI WL1273 FM radio. This MFD
747 driver connects the radio-wl1273 V4L2 module and the wl1273
748 audio codec.
749
Keshava Munegowda17cdd292011-03-01 20:08:17 +0530750config MFD_OMAP_USB_HOST
751 bool "Support OMAP USBHS core driver"
752 depends on USB_EHCI_HCD_OMAP || USB_OHCI_HCD_OMAP3
753 default y
754 help
755 This is the core driver for the OAMP EHCI and OHCI drivers.
756 This MFD driver does the required setup functionalities for
757 OMAP USB Host drivers.
758
Abhijeet Dharmapurikarcbdb53e2011-04-05 14:40:52 -0700759config MFD_PM8XXX
760 tristate
761
762config MFD_PM8921_CORE
763 tristate "Qualcomm PM8921 PMIC chip"
764 depends on MSM_SSBI
765 select MFD_CORE
766 select MFD_PM8XXX
767 help
768 If you say yes to this option, support will be included for the
769 built-in PM8921 PMIC chip.
770
771 This is required if your board has a PM8921 and uses its features,
772 such as: MPPs, GPIOs, regulators, interrupts, and PWM.
773
774 Say M here if you want to include support for PM8921 chip as a module.
775 This will build a module called "pm8921-core".
776
Jay Chokshi24fc9b62011-07-18 10:51:05 -0700777config MFD_PM8821_CORE
778 tristate "Qualcomm PM8821 PMIC chip"
779 depends on MSM_SSBI
780 select MFD_CORE
781 select MFD_PM8XXX
782 help
783 If you say yes to this option, support will be included for the
784 built-in PM8821 PMIC chip.
785
786 This is required if your board has a PM8821 and uses its features,
787 such as: MPPs, and interrupts.
788
789 Say M here if you want to include support for PM8821 chip as a module.
790 This will build a module called "pm8821-core".
791
David Collinsfdefdf92011-09-08 14:18:59 -0700792config MFD_PM8018_CORE
793 tristate "Qualcomm PM8018 PMIC chip"
794 depends on MSM_SSBI
795 select MFD_CORE
796 select MFD_PM8XXX
797 help
798 If you say yes to this option, support will be included for the
799 built-in PM8018 PMIC chip.
800
801 This is required if your board has a PM8018 and uses its features,
802 such as: MPPs, GPIOs, regulators, interrupts, and PWM.
803
804 Say M here if you want to include support for PM8018 chip as a module.
805 This will build a module called "pm8018-core".
806
Jay Chokshi9d36a3d2011-10-26 15:57:51 -0700807config MFD_PM8038_CORE
808 tristate "Qualcomm PM8038 PMIC chip"
809 depends on MSM_SSBI
810 select MFD_CORE
811 select MFD_PM8XXX
812 help
813 If you say yes to this option, support will be included for the
814 built-in PM8038 PMIC chip.
815
816 This is required if your board has a PM8038 and uses its features,
817 such as: MPPs, GPIOs, regulators, interrupts, and PWM.
818
819 Say M here if you want to include support for PM8038 chip as a module.
820 This will build a module called "pm8038-core".
821
Abhijeet Dharmapurikarc013f0a2011-04-05 14:40:53 -0700822config MFD_PM8XXX_IRQ
823 bool "Support for Qualcomm PM8xxx IRQ features"
824 depends on MFD_PM8XXX
825 default y if MFD_PM8XXX
826 help
827 This is the IRQ driver for Qualcomm PM 8xxx PMIC chips.
828
829 This is required to use certain other PM 8xxx features, such as GPIO
830 and MPP.
831
Graeme Gregory27c67502011-05-02 16:19:46 -0500832config MFD_TPS65910
Jorge Eduardo Candelariaaec519b2011-05-10 12:30:36 -0500833 bool "TPS65910 Power Management chip"
Liam Girdwood66c500f2011-05-27 22:13:08 +0100834 depends on I2C=y && GPIOLIB
Graeme Gregory27c67502011-05-02 16:19:46 -0500835 select MFD_CORE
Jorge Eduardo Candelaria83545d82011-05-16 18:35:37 -0500836 select GPIO_TPS65910
Graeme Gregory27c67502011-05-02 16:19:46 -0500837 help
838 if you say yes here you get support for the TPS65910 series of
839 Power Management chips.
840
Axel Lin8509e142011-06-23 10:15:51 +0800841config TPS65911_COMPARATOR
842 tristate
843
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700844config MFD_PM8XXX_DEBUG
845 tristate "Qualcomm PM8xxx debugfs support"
846 depends on MFD_PM8XXX && DEBUG_FS
847 default y if MFD_PM8XXX
848 help
849 This driver provides a debugfs interface to the SSBI registers on
850 Qualcomm PM 8xxx PMIC chips. It allows for reads and writes to
851 arbitrary addresses. Writes are blocking so values are guaranteed to
852 be set into hardware registers upon return.
853
854config MFD_PM8XXX_PWM
855 tristate "Support for Qualcomm PM8xxx PWM feature"
856 depends on MFD_PM8XXX
857 default y if MFD_PM8XXX
858 help
859 This is the Pulse Width Modulation (PWM) driver for Qualcomm
860 PM 8xxx PMIC chips. It can drive 8 channels of PWM output, and
861 has a lookup table with size of 64 to be shared by any of the
862 8 channels.
863
864config MFD_PM8XXX_MISC
865 tristate "Support for Qualcomm PM8xxx miscellaneous APIs"
866 depends on MFD_PM8XXX
867 default y if MFD_PM8XXX
868 help
869 This driver implements several miscellaneous APIs that may be needed
870 in order to control the PM8XXX PMIC chip.
871
872config MFD_PM8XXX_BATT_ALARM
873 tristate "Support for Qualcomm PM8xxx battery voltage alarm"
874 depends on MFD_PM8XXX
875 help
876 This driver provides a means monitor battery under and over-voltage
877 conditions. An upper and/or lower threshold can be specified for
878 normal operation. A wakeable interrupt is triggered when the battery
879 voltage leaves the accepatable range which then calls a notifier call
880 chain.
881
882config WCD9310_CODEC
883 tristate "WCD9310 Codec"
Patrick Laiba1706d2011-07-25 17:02:19 -0700884 select SLIMBUS
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700885 select MFD_CORE
886 default n
887 help
888 Enables the WCD9310 core driver. The core driver provides
889 read/write capability to registers which are part of the
890 WCD9310 core and gives the ability to use the WCD9310 codec.
891
Randy Dunlap38270642010-05-11 01:07:34 +0200892endif # MFD_SUPPORT
Ben Dooksb6d64542007-02-20 13:58:01 -0800893
Russell Kinga4e137a2005-08-18 10:06:59 +0100894menu "Multimedia Capabilities Port drivers"
Adrian Bunkf751d502006-03-24 03:18:21 -0800895 depends on ARCH_SA1100
Russell Kinga4e137a2005-08-18 10:06:59 +0100896
897config MCP
898 tristate
899
Russell King5e742ad2005-08-18 10:08:15 +0100900# Interface drivers
901config MCP_SA11X0
902 tristate "Support SA11x0 MCP interface"
903 depends on ARCH_SA1100
904 select MCP
905
Russell King05c45ca2005-09-11 10:26:31 +0100906# Chip drivers
907config MCP_UCB1200
908 tristate "Support for UCB1200 / UCB1300"
909 depends on MCP
910
Russell Kingacb45432005-09-11 10:26:57 +0100911config MCP_UCB1200_TS
912 tristate "Touchscreen interface support"
913 depends on MCP_UCB1200 && INPUT
914
Russell Kinga4e137a2005-08-18 10:06:59 +0100915endmenu