blob: c27fea6f2274b9be84d9cdb4a25ec00561e85ac7 [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 select MSM_SHOW_RESUME_IRQ
162 help
163 Say yes here for Qualcomm PM8058 chip.
164
165config PMIC8901
166 tristate "PMIC8901 Power Management chip"
167 depends on I2C_SSBI && ARCH_MSM8X60
168 default y if I2C_SSBI && ARCH_MSM8X60
169 select MFD_CORE
170 help
171 Say yes here for Qualcomm PM8901 chip.
172
173config MARIMBA_TSADC
174 tristate "Support for Marimba Touchscreen ADC"
175 depends on MARIMBA_CORE && ARCH_MSM7X30
176 default y if MARIMBA_CORE
177 help
178 Say yes here if you want to include support for TSADC in the
179 Qualcomm Marimba chip.
180
Todd Fischer31dd6a22010-04-08 09:04:55 +0200181config TPS6507X
182 tristate "TPS6507x Power Management / Touch Screen chips"
183 select MFD_CORE
184 depends on I2C
185 help
186 If you say yes here you get support for the TPS6507x series of
187 Power Management / Touch Screen chips. These include voltage
188 regulators, lithium ion/polymer battery charging, touch screen
189 and other features that are often used in portable devices.
190 This driver can also be built as a module. If so, the module
191 will be called tps6507x.
192
Axel Lin37df0032011-04-15 20:04:45 +0800193config MFD_TPS6586X
194 bool "TPS6586x Power Management chips"
195 depends on I2C=y && GPIOLIB && GENERIC_HARDIRQS
196 select MFD_CORE
197 help
198 If you say yes here you get support for the TPS6586X series of
199 Power Management chips.
200 This driver provides common support for accessing the device,
201 additional drivers must be enabled in order to use the
202 functionality of the device.
203
204 This driver can also be built as a module. If so, the module
205 will be called tps6586x.
206
David Brownell88e75cc2008-12-22 12:18:02 +0100207config MENELAUS
208 bool "Texas Instruments TWL92330/Menelaus PM chip"
Tony Lindgren088ef952010-02-12 12:26:47 -0800209 depends on I2C=y && ARCH_OMAP2
David Brownell88e75cc2008-12-22 12:18:02 +0100210 help
211 If you say yes here you get support for the Texas Instruments
212 TWL92330/Menelaus Power Management chip. This include voltage
Matt LaPlante692105b2009-01-26 11:12:25 +0100213 regulators, Dual slot memory card transceivers, real-time clock
David Brownell88e75cc2008-12-22 12:18:02 +0100214 and other features that are often used in portable devices like
215 cell phones and PDAs.
216
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700217config MARIMBA_CORE
218 tristate "Marimba Core"
219 depends on I2C && (ARCH_MSM7X30 || ARCH_MSM8X60 || ARCH_MSM7X27A)
220 default n
221 help
222 Enables the Marimba Core driver. The core driver provides
223 read/write capability to registers which are part of the
224 marimba core.
225 This driver dynamically detects the SoC and works for both
226 Marimba and Bahama Chip.
227
228config MARIMBA_CODEC
229 tristate "Marimba Codec"
230 depends on MARIMBA_CORE
231 default n
232 help
233 This driver programs Marimba Wideband Codec for input/output of
234 audio signal.
235
236config TIMPANI_CODEC
237 tristate "Timpani Codec"
238 depends on MARIMBA_CORE
239 default n
240 help
241 This driver programs Timpani Wideband Codec for input/output of
242 audio signal.
243
David Brownella603a7f2008-10-15 12:15:39 +0200244config TWL4030_CORE
Balaji T Ke8deb282009-12-14 00:25:31 +0100245 bool "Texas Instruments TWL4030/TWL5030/TWL6030/TPS659x0 Support"
David Brownell67460a72008-12-01 00:35:33 +0100246 depends on I2C=y && GENERIC_HARDIRQS
David Brownella603a7f2008-10-15 12:15:39 +0200247 help
Balaji T Ke8deb282009-12-14 00:25:31 +0100248 Say yes here if you have TWL4030 / TWL6030 family chip on your board.
David Brownella603a7f2008-10-15 12:15:39 +0200249 This core driver provides register access and IRQ handling
250 facilities, and registers devices for the various functions
251 so that function-specific drivers can bind to them.
252
253 These multi-function chips are found on many OMAP2 and OMAP3
254 boards, providing power management, RTC, GPIO, keypad, a
255 high speed USB OTG transceiver, an audio codec (on most
256 versions) and many other features.
257
Keerthyf99c1d42011-03-01 19:12:26 +0530258config TWL4030_MADC
259 tristate "Texas Instruments TWL4030 MADC"
260 depends on TWL4030_CORE
261 help
262 This driver provides support for triton TWL4030-MADC. The
263 driver supports both RT and SW conversion methods.
264
265 This driver can be built as a module. If so it will be
266 named twl4030-madc
267
Amit Kucheriaebf0bd32009-08-31 18:32:18 +0200268config TWL4030_POWER
269 bool "Support power resources on TWL4030 family chips"
270 depends on TWL4030_CORE && ARM
271 help
272 Say yes here if you want to use the power resources on the
273 TWL4030 family chips. Most of these resources are regulators,
274 which have a separate driver; some are control signals, such
275 as clock request handshaking.
276
277 This driver uses board-specific data to initialize the resources
Lucas De Marchi25985ed2011-03-30 22:57:33 -0300278 and load scripts controlling which resources are switched off/on
Amit Kucheriaebf0bd32009-08-31 18:32:18 +0200279 or reset when a sleep, wakeup or warm reset event occurs.
280
Peter Ujfalusid189dd52011-05-31 12:02:49 +0300281config MFD_TWL4030_AUDIO
Peter Ujfalusi0b83dde2009-10-22 13:26:45 +0300282 bool
283 depends on TWL4030_CORE
284 select MFD_CORE
285 default n
286
Hemanth V31fc03d2010-07-14 12:04:56 +0200287config TWL6030_PWM
288 tristate "TWL6030 PWM (Pulse Width Modulator) Support"
289 depends on TWL4030_CORE
290 select HAVE_PWM
291 default n
292 help
293 Say yes here if you want support for TWL6030 PWM.
294 This is used to control charging LED brightness.
295
Misael Lopez Cruz3c9d7a12011-04-27 02:14:07 -0500296config TWL6040_CORE
297 bool
298 depends on TWL4030_CORE && GENERIC_HARDIRQS
299 select MFD_CORE
300 default n
301
Rabin Vincent27e34992010-07-02 16:52:08 +0530302config MFD_STMPE
303 bool "Support STMicroelectronics STMPE"
304 depends on I2C=y && GENERIC_HARDIRQS
305 select MFD_CORE
306 help
307 Support for the STMPE family of I/O Expanders from
308 STMicroelectronics.
309
310 Currently supported devices are:
311
312 STMPE811: GPIO, Touchscreen
313 STMPE1601: GPIO, Keypad
314 STMPE2401: GPIO, Keypad
315 STMPE2403: GPIO, Keypad
316
317 This driver provides common support for accessing the device,
318 additional drivers must be enabled in order to use the functionality
319 of the device. Currently available sub drivers are:
320
321 GPIO: stmpe-gpio
322 Keypad: stmpe-keypad
323 Touchscreen: stmpe-ts
324
Sundar Iyerf4e8afd2010-12-13 09:33:13 +0530325config MFD_TC3589X
326 bool "Support Toshiba TC35892 and variants"
Rabin Vincentb4ecd322010-05-10 23:39:47 +0200327 depends on I2C=y && GENERIC_HARDIRQS
328 select MFD_CORE
329 help
Sundar Iyerf4e8afd2010-12-13 09:33:13 +0530330 Support for the Toshiba TC35892 and variants I/O Expander.
Rabin Vincentb4ecd322010-05-10 23:39:47 +0200331
332 This driver provides common support for accessing the device,
333 additional drivers must be enabled in order to use the
334 functionality of the device.
335
Samuel Ortiz1c2c30a2008-08-05 19:27:58 +0200336config MFD_TMIO
337 bool
338 default n
339
Ian Molton1f192012008-07-15 15:09:43 +0100340config MFD_T7L66XB
341 bool "Support Toshiba T7L66XB"
Al Viro9ca68232008-11-01 18:19:59 +0000342 depends on ARM && HAVE_CLK
Ian Molton1f192012008-07-15 15:09:43 +0100343 select MFD_CORE
Samuel Ortiz1c2c30a2008-08-05 19:27:58 +0200344 select MFD_TMIO
Ian Molton1f192012008-07-15 15:09:43 +0100345 help
346 Support for Toshiba Mobile IO Controller T7L66XB
347
Ian Moltoncbdfb422008-07-15 15:12:52 +0100348config MFD_TC6387XB
349 bool "Support Toshiba TC6387XB"
Al Viro9ca68232008-11-01 18:19:59 +0000350 depends on ARM && HAVE_CLK
Ian Moltoncbdfb422008-07-15 15:12:52 +0100351 select MFD_CORE
Samuel Ortiz1c2c30a2008-08-05 19:27:58 +0200352 select MFD_TMIO
Ian Moltoncbdfb422008-07-15 15:12:52 +0100353 help
354 Support for Toshiba Mobile IO Controller TC6387XB
355
Dmitry Baryshkovd6315942008-06-22 12:01:58 +0100356config MFD_TC6393XB
357 bool "Support Toshiba TC6393XB"
Adrian Bunk8d25b362008-07-26 02:38:00 +0300358 depends on GPIOLIB && ARM
Dmitry Baryshkovf024ff12008-06-27 10:37:57 +0100359 select MFD_CORE
Samuel Ortiz1c2c30a2008-08-05 19:27:58 +0200360 select MFD_TMIO
Dmitry Baryshkovd6315942008-06-22 12:01:58 +0100361 help
362 Support for Toshiba Mobile IO Controller TC6393XB
363
Samuel Ortiz8e2eaab2008-10-24 17:10:05 +0200364config PMIC_DA903X
365 bool "Dialog Semiconductor DA9030/DA9034 PMIC Support"
366 depends on I2C=y
367 help
368 Say yes here to support for Dialog Semiconductor DA9030 (a.k.a
369 ARAVA) and DA9034 (a.k.a MICCO), these are Power Management IC
370 usually found on PXA processors-based platforms. This includes
371 the I2C driver and the core APIs _only_, you have to select
372 individual components like LCD backlight, voltage regulators,
373 LEDs and battery-charger under the corresponding menus.
374
Michael Hennericha5736e02009-10-12 17:22:38 +0200375config PMIC_ADP5520
376 bool "Analog Devices ADP5520/01 MFD PMIC Core Support"
377 depends on I2C=y
378 help
379 Say yes here to add support for Analog Devices AD5520 and ADP5501,
380 Multifunction Power Management IC. This includes
381 the I2C driver and the core APIs _only_, you have to select
382 individual components like LCD backlight, LEDs, GPIOs and Kepad
383 under the corresponding menus.
384
Haojian Zhuangd50f8f32010-01-08 12:29:23 +0100385config MFD_MAX8925
Haojian Zhuang1f1cf8f2010-02-05 16:07:54 +0100386 bool "Maxim Semiconductor MAX8925 PMIC Support"
Geert Uytterhoeven8d002bd2009-12-15 21:49:57 +0100387 depends on I2C=y && GENERIC_HARDIRQS
Haojian Zhuang1ad99892010-01-08 12:43:29 -0500388 select MFD_CORE
Haojian Zhuangd50f8f32010-01-08 12:29:23 +0100389 help
390 Say yes here to support for Maxim Semiconductor MAX8925. This is
391 a Power Management IC. This driver provies common support for
392 accessing the device, additional drivers must be enabled in order
393 to use the functionality of the device.
394
MyungJoo Ham527e7e92011-03-04 15:50:26 +0900395config MFD_MAX8997
396 bool "Maxim Semiconductor MAX8997/8966 PMIC Support"
397 depends on I2C=y && GENERIC_HARDIRQS
398 select MFD_CORE
399 help
400 Say yes here to support for Maxim Semiconductor MAX8998/8966.
401 This is a Power Management IC with RTC, Flash, Fuel Gauge, Haptic,
402 MUIC controls on chip.
Randy Dunlapd7e8c012011-03-14 11:28:37 +0100403 This driver provides common support for accessing the device;
MyungJoo Ham527e7e92011-03-04 15:50:26 +0900404 additional drivers must be enabled in order to use the functionality
405 of the device.
406
Kyungmin Park156f2522010-06-16 09:04:16 +0200407config MFD_MAX8998
Kyungmin Parkf8539dd2010-08-23 13:46:49 +0900408 bool "Maxim Semiconductor MAX8998/National LP3974 PMIC Support"
Joonyoung Shim2c7e6f52010-09-10 18:36:39 +0200409 depends on I2C=y && GENERIC_HARDIRQS
Kyungmin Park156f2522010-06-16 09:04:16 +0200410 select MFD_CORE
411 help
Kyungmin Parkf8539dd2010-08-23 13:46:49 +0900412 Say yes here to support for Maxim Semiconductor MAX8998 and
413 National Semiconductor LP3974. This is a Power Management IC.
414 This driver provies common support for accessing the device,
415 additional drivers must be enabled in order to use the functionality
416 of the device.
Kyungmin Park156f2522010-06-16 09:04:16 +0200417
Mark Brown1d9f9f02008-09-10 18:58:42 +0100418config MFD_WM8400
419 tristate "Support Wolfson Microelectronics WM8400"
Mark Brownb8380c12008-12-18 10:54:22 +0100420 select MFD_CORE
Mark Brown9c366452008-10-24 17:16:11 +0200421 depends on I2C
Mark Brown1d9f9f02008-09-10 18:58:42 +0100422 help
423 Support for the Wolfson Microelecronics WM8400 PMIC and audio
Mark Brown9e5aca52009-05-29 11:34:18 +0100424 CODEC. This driver provides common support for accessing
Mark Brown1d9f9f02008-09-10 18:58:42 +0100425 the device, additional drivers must be enabled in order to use
426 the functionality of the device.
427
Mark Brownb11062b2009-07-27 14:45:58 +0100428config MFD_WM831X
Mark Browne5b48682010-10-19 23:57:56 +0200429 bool
430 depends on GENERIC_HARDIRQS
431
432config MFD_WM831X_I2C
433 bool "Support Wolfson Microelectronics WM831x/2x PMICs with I2C"
Mark Brownb11062b2009-07-27 14:45:58 +0100434 select MFD_CORE
Mark Browne5b48682010-10-19 23:57:56 +0200435 select MFD_WM831X
Geert Uytterhoeven8d002bd2009-12-15 21:49:57 +0100436 depends on I2C=y && GENERIC_HARDIRQS
Mark Brownb11062b2009-07-27 14:45:58 +0100437 help
Mark Browne5b48682010-10-19 23:57:56 +0200438 Support for the Wolfson Microelecronics WM831x and WM832x PMICs
439 when controlled using I2C. This driver provides common support
440 for accessing the device, additional drivers must be enabled in
441 order to use the functionality of the device.
Mark Brownb11062b2009-07-27 14:45:58 +0100442
Mark Brown2aa13b92010-10-20 00:00:11 +0200443config MFD_WM831X_SPI
444 bool "Support Wolfson Microelectronics WM831x/2x PMICs with SPI"
445 select MFD_CORE
446 select MFD_WM831X
447 depends on SPI_MASTER && GENERIC_HARDIRQS
448 help
449 Support for the Wolfson Microelecronics WM831x and WM832x PMICs
450 when controlled using SPI. This driver provides common support
451 for accessing the device, additional drivers must be enabled in
452 order to use the functionality of the device.
453
Mark Brown89b40122008-10-10 15:58:10 +0100454config MFD_WM8350
Mark Brownecf926b2010-01-05 20:40:47 +0000455 bool
Geert Uytterhoeven8d002bd2009-12-15 21:49:57 +0100456 depends on GENERIC_HARDIRQS
Mark Brown89b40122008-10-10 15:58:10 +0100457
458config MFD_WM8350_CONFIG_MODE_0
459 bool
460 depends on MFD_WM8350
461
462config MFD_WM8350_CONFIG_MODE_1
463 bool
464 depends on MFD_WM8350
465
466config MFD_WM8350_CONFIG_MODE_2
467 bool
468 depends on MFD_WM8350
469
470config MFD_WM8350_CONFIG_MODE_3
471 bool
472 depends on MFD_WM8350
473
Mark Brownca23f8c2008-12-18 23:12:28 +0100474config MFD_WM8351_CONFIG_MODE_0
475 bool
476 depends on MFD_WM8350
477
478config MFD_WM8351_CONFIG_MODE_1
479 bool
480 depends on MFD_WM8350
481
482config MFD_WM8351_CONFIG_MODE_2
483 bool
484 depends on MFD_WM8350
485
486config MFD_WM8351_CONFIG_MODE_3
487 bool
488 depends on MFD_WM8350
489
Mark Brown96920632008-12-18 23:09:50 +0100490config MFD_WM8352_CONFIG_MODE_0
491 bool
492 depends on MFD_WM8350
493
494config MFD_WM8352_CONFIG_MODE_1
495 bool
496 depends on MFD_WM8350
497
498config MFD_WM8352_CONFIG_MODE_2
499 bool
500 depends on MFD_WM8350
501
502config MFD_WM8352_CONFIG_MODE_3
503 bool
504 depends on MFD_WM8350
505
Mark Brownc661a0b2008-10-10 15:58:11 +0100506config MFD_WM8350_I2C
Mark Brownecf926b2010-01-05 20:40:47 +0000507 bool "Support Wolfson Microelectronics WM8350 with I2C"
Mark Brownc661a0b2008-10-10 15:58:11 +0100508 select MFD_WM8350
Geert Uytterhoeven8d002bd2009-12-15 21:49:57 +0100509 depends on I2C=y && GENERIC_HARDIRQS
Mark Brownc661a0b2008-10-10 15:58:11 +0100510 help
511 The WM8350 is an integrated audio and power management
512 subsystem with watchdog and RTC functionality for embedded
513 systems. This option enables core support for the WM8350 with
514 I2C as the control interface. Additional options must be
515 selected to enable support for the functionality of the chip.
516
Mark Brown9e501082010-01-29 18:20:29 +0000517config MFD_WM8994
Mark Brownc9fbf7e2010-03-26 16:49:15 +0000518 bool "Support Wolfson Microelectronics WM8994"
Mark Brown9e501082010-01-29 18:20:29 +0000519 select MFD_CORE
Mark Brownc9fbf7e2010-03-26 16:49:15 +0000520 depends on I2C=y && GENERIC_HARDIRQS
Mark Brown9e501082010-01-29 18:20:29 +0000521 help
522 The WM8994 is a highly integrated hi-fi CODEC designed for
523 smartphone applicatiosn. As well as audio functionality it
524 has on board GPIO and regulator functionality which is
525 supported via the relevant subsystems. This driver provides
526 core support for the WM8994, in order to use the actual
527 functionaltiy of the device other drivers must be enabled.
528
Balaji Raof52046b2009-01-09 01:49:01 +0100529config MFD_PCF50633
530 tristate "Support for NXP PCF50633"
531 depends on I2C
532 help
533 Say yes here if you have NXP PCF50633 chip on your board.
534 This core driver provides register access and IRQ handling
535 facilities, and registers devices for the various functions
536 so that function-specific drivers can bind to them.
537
Axel Lin13051342011-04-15 20:06:37 +0800538config PCF50633_ADC
539 tristate "Support for NXP PCF50633 ADC"
540 depends on MFD_PCF50633
541 help
542 Say yes here if you want to include support for ADC in the
543 NXP PCF50633 chip.
544
545config PCF50633_GPIO
546 tristate "Support for NXP PCF50633 GPIO"
547 depends on MFD_PCF50633
548 help
549 Say yes here if you want to include support GPIO for pins on
550 the PCF50633 chip.
551
Sascha Hauer8238add2009-08-19 01:40:28 +0200552config MFD_MC13783
Uwe Kleine-König8e005932010-09-28 16:37:20 +0200553 tristate
554
555config MFD_MC13XXX
556 tristate "Support Freescale MC13783 and MC13892"
Sascha Hauer8238add2009-08-19 01:40:28 +0200557 depends on SPI_MASTER
558 select MFD_CORE
Uwe Kleine-König8e005932010-09-28 16:37:20 +0200559 select MFD_MC13783
Sascha Hauer8238add2009-08-19 01:40:28 +0200560 help
Uwe Kleine-König8e005932010-09-28 16:37:20 +0200561 Support for the Freescale (Atlas) PMIC and audio CODECs
562 MC13783 and MC13892.
Sascha Hauer8238add2009-08-19 01:40:28 +0200563 This driver provides common support for accessing the device,
564 additional drivers must be enabled in order to use the
565 functionality of the device.
566
Mattias Wallinfa661252010-05-01 18:26:20 +0200567config ABX500_CORE
568 bool "ST-Ericsson ABX500 Mixed Signal Circuit register functions"
Mattias Wallin47c16972010-09-10 17:47:56 +0200569 default y if ARCH_U300 || ARCH_U8500
Mattias Wallinfa661252010-05-01 18:26:20 +0200570 help
571 Say yes here if you have the ABX500 Mixed Signal IC family
572 chips. This core driver expose register access functions.
573 Functionality specific drivers using these functions can
574 remain unchanged when IC changes. Binding of the functions to
575 actual register access is done by the IC core driver.
576
Linus Walleij14fa5692009-05-21 23:17:06 +0200577config AB3100_CORE
Linus Walleij2071db42010-01-19 11:41:52 +0100578 bool "ST-Ericsson AB3100 Mixed Signal Circuit core functions"
Mattias Wallinfa661252010-05-01 18:26:20 +0200579 depends on I2C=y && ABX500_CORE
Linus Walleij8c96aef2010-08-20 10:27:12 +0200580 select MFD_CORE
Linus Walleij14fa5692009-05-21 23:17:06 +0200581 default y if ARCH_U300
582 help
583 Select this to enable the AB3100 Mixed Signal IC core
584 functionality. This connects to a AB3100 on the I2C bus
585 and expose a number of symbols needed for dependent devices
586 to read and write registers and subscribe to events from
587 this multi-functional IC. This is needed to use other features
588 of the AB3100 such as battery-backed RTC, charging control,
589 LEDs, vibrator, system power and temperature, power management
590 and ALSA sound.
591
Linus Walleij12992dd2009-08-18 22:52:26 +0200592config AB3100_OTP
593 tristate "ST-Ericsson AB3100 OTP functions"
594 depends on AB3100_CORE
595 default y if AB3100_CORE
596 help
597 Select this to enable the AB3100 Mixed Signal IC OTP (one-time
598 programmable memory) support. This exposes a sysfs file to read
599 out OTP values.
600
Daniel Ribeiro13a09f92009-05-28 15:43:37 -0300601config EZX_PCAP
602 bool "PCAP Support"
603 depends on GENERIC_HARDIRQS && SPI_MASTER
604 help
605 This enables the PCAP ASIC present on EZX Phones. This is
606 needed for MMC, TouchScreen, Sound, USB, etc..
607
Rabin Vincent62579262010-05-19 11:39:02 +0200608config AB8500_CORE
609 bool "ST-Ericsson AB8500 Mixed Signal Power Management chip"
Sundar Iyer6680d942010-12-24 11:52:08 +0100610 depends on GENERIC_HARDIRQS && ABX500_CORE
Rabin Vincent62579262010-05-19 11:39:02 +0200611 select MFD_CORE
Srinidhi Kasagar0c418392009-10-12 17:11:52 +0200612 help
Rabin Vincent62579262010-05-19 11:39:02 +0200613 Select this option to enable access to AB8500 power management
Sundar Iyer6680d942010-12-24 11:52:08 +0100614 chip. This connects to U8500 either on the SSP/SPI bus (deprecated
615 since hardware version v1.0) or the I2C bus via PRCMU. It also adds
616 the irq_chip parts for handling the Mixed Signal chip events.
Srinidhi Kasagar0c418392009-10-12 17:11:52 +0200617 This chip embeds various other multimedia funtionalities as well.
618
Mattias Wallin39368ed2010-09-15 13:12:03 +0200619config AB8500_I2C_CORE
620 bool "AB8500 register access via PRCMU I2C"
Linus Walleij650c2a22011-05-15 22:53:56 +0200621 depends on AB8500_CORE && MFD_DB8500_PRCMU
Mattias Wallin39368ed2010-09-15 13:12:03 +0200622 default y
623 help
624 This enables register access to the AB8500 chip via PRCMU I2C.
625 The AB8500 chip can be accessed via SPI or I2C. On DB8500 hardware
626 the I2C bus is connected to the Power Reset
627 and Mangagement Unit, PRCMU.
628
Mattias Wallin5814fc32010-09-13 16:05:04 +0200629config AB8500_DEBUG
630 bool "Enable debug info via debugfs"
631 depends on AB8500_CORE && DEBUG_FS
632 default y if DEBUG_FS
633 help
634 Select this option if you want debug information using the debug
635 filesystem, debugfs.
636
Arun Murthydae2db32011-02-22 10:11:13 +0100637config AB8500_GPADC
638 bool "AB8500 GPADC driver"
639 depends on AB8500_CORE && REGULATOR_AB8500
640 default y
641 help
642 AB8500 GPADC driver used to convert Acc and battery/ac/usb voltage
643
Mattias Wallin09bcb3f2010-05-11 00:25:29 +0200644config AB3550_CORE
645 bool "ST-Ericsson AB3550 Mixed Signal Circuit core functions"
646 select MFD_CORE
647 depends on I2C=y && GENERIC_HARDIRQS && ABX500_CORE
648 help
649 Select this to enable the AB3550 Mixed Signal IC core
650 functionality. This connects to a AB3550 on the I2C bus
651 and expose a number of symbols needed for dependent devices
652 to read and write registers and subscribe to events from
653 this multi-functional IC. This is needed to use other features
654 of the AB3550 such as battery-backed RTC, charging control,
655 LEDs, vibrator, system power and temperature, power management
656 and ALSA sound.
657
Linus Walleij650c2a22011-05-15 22:53:56 +0200658config MFD_DB8500_PRCMU
659 bool "ST-Ericsson DB8500 Power Reset Control Management Unit"
660 depends on UX500_SOC_DB8500
661 select MFD_CORE
662 help
663 Select this option to enable support for the DB8500 Power Reset
664 and Control Management Unit. This is basically an autonomous
665 system controller running an XP70 microprocessor, which is accessed
666 through a register map.
667
Linus Walleij83177972011-05-03 18:14:48 +0200668config MFD_DB5500_PRCMU
669 bool "ST-Ericsson DB5500 Power Reset Control Management Unit"
670 depends on UX500_SOC_DB5500
671 select MFD_CORE
672 help
673 Select this option to enable support for the DB5500 Power Reset
674 and Control Management Unit. This is basically an autonomous
675 system controller running an XP70 microprocessor, which is accessed
676 through a register map.
677
Andres Salomonf71e1af2010-11-26 11:52:35 +0100678config MFD_CS5535
679 tristate "Support for CS5535 and CS5536 southbridge core functions"
680 select MFD_CORE
Andres Salomon15b7cf12011-03-27 21:26:03 -0700681 depends on PCI && X86
Andres Salomonf71e1af2010-11-26 11:52:35 +0100682 ---help---
683 This is the core driver for CS5535/CS5536 MFD functions. This is
684 necessary for using the board's GPIO and MFGPT functionality.
685
Richard Röjfors8edbede2010-02-04 08:18:52 -0300686config MFD_TIMBERDALE
687 tristate "Support for the Timberdale FPGA"
688 select MFD_CORE
Randy Dunlap546e29b2010-02-12 12:30:55 -0300689 depends on PCI && GPIOLIB
Richard Röjfors8edbede2010-02-04 08:18:52 -0300690 ---help---
691 This is the core driver for the timberdale FPGA. This device is a
692 multifunction device which exposes numerous platform devices.
693
694 The timberdale FPGA can be found on the Intel Atom development board
695 for in-vehicle infontainment, called Russellville.
Denis Turischeve82c60a2010-02-19 11:26:25 +0100696
697config LPC_SCH
698 tristate "Intel SCH LPC"
699 depends on PCI
700 select MFD_CORE
701 help
702 LPC bridge function of the Intel SCH provides support for
703 System Management Bus and General Purpose I/O.
704
Florian Fainellie090d502010-03-21 01:06:05 +0100705config MFD_RDC321X
706 tristate "Support for RDC-R321x southbridge"
707 select MFD_CORE
708 depends on PCI
709 help
710 Say yes here if you want to have support for the RDC R-321x SoC
711 southbridge which provides access to GPIOs and Watchdog using the
712 southbridge PCI device configuration space.
713
Ira W. Snyderbd358132010-04-07 09:43:00 +0200714config MFD_JANZ_CMODIO
715 tristate "Support for Janz CMOD-IO PCI MODULbus Carrier Board"
716 select MFD_CORE
717 depends on PCI
718 help
719 This is the core driver for the Janz CMOD-IO PCI MODULbus
720 carrier board. This device is a PCI to MODULbus bridge which may
721 host many different types of MODULbus daughterboards, including
722 CAN and GPIO controllers.
723
Lars-Peter Clausen91f4deb2010-07-12 03:48:08 +0200724config MFD_JZ4740_ADC
725 tristate "Support for the JZ4740 SoC ADC core"
726 select MFD_CORE
727 depends on MACH_JZ4740
728 help
729 Say yes here if you want support for the ADC unit in the JZ4740 SoC.
730 This driver is necessary for jz4740-battery and jz4740-hwmon driver.
731
Daniel Drake375fc772010-09-30 21:55:41 +0100732config MFD_VX855
733 tristate "Support for VIA VX855/VX875 integrated south bridge"
734 depends on PCI
735 select MFD_CORE
736 help
737 Say yes here to enable support for various functions of the
738 VIA VX855/VX875 south bridge. You will need to enable the vx855_spi
739 and/or vx855_gpio drivers for this to do anything useful.
740
Matti Aaltonen383268a2010-12-10 11:41:33 -0300741config MFD_WL1273_CORE
Matti Aaltonen94fd5b72011-03-01 10:10:35 -0300742 tristate "Support for TI WL1273 FM radio."
Matti Aaltonen383268a2010-12-10 11:41:33 -0300743 depends on I2C
744 select MFD_CORE
745 default n
746 help
747 This is the core driver for the TI WL1273 FM radio. This MFD
748 driver connects the radio-wl1273 V4L2 module and the wl1273
749 audio codec.
750
Keshava Munegowda17cdd292011-03-01 20:08:17 +0530751config MFD_OMAP_USB_HOST
752 bool "Support OMAP USBHS core driver"
753 depends on USB_EHCI_HCD_OMAP || USB_OHCI_HCD_OMAP3
754 default y
755 help
756 This is the core driver for the OAMP EHCI and OHCI drivers.
757 This MFD driver does the required setup functionalities for
758 OMAP USB Host drivers.
759
Abhijeet Dharmapurikarcbdb53e2011-04-05 14:40:52 -0700760config MFD_PM8XXX
761 tristate
762
763config MFD_PM8921_CORE
764 tristate "Qualcomm PM8921 PMIC chip"
765 depends on MSM_SSBI
766 select MFD_CORE
767 select MFD_PM8XXX
768 help
769 If you say yes to this option, support will be included for the
770 built-in PM8921 PMIC chip.
771
772 This is required if your board has a PM8921 and uses its features,
773 such as: MPPs, GPIOs, regulators, interrupts, and PWM.
774
775 Say M here if you want to include support for PM8921 chip as a module.
776 This will build a module called "pm8921-core".
777
Jay Chokshi24fc9b62011-07-18 10:51:05 -0700778config MFD_PM8821_CORE
779 tristate "Qualcomm PM8821 PMIC chip"
780 depends on MSM_SSBI
781 select MFD_CORE
782 select MFD_PM8XXX
783 help
784 If you say yes to this option, support will be included for the
785 built-in PM8821 PMIC chip.
786
787 This is required if your board has a PM8821 and uses its features,
788 such as: MPPs, and interrupts.
789
790 Say M here if you want to include support for PM8821 chip as a module.
791 This will build a module called "pm8821-core".
792
David Collinsfdefdf92011-09-08 14:18:59 -0700793config MFD_PM8018_CORE
794 tristate "Qualcomm PM8018 PMIC chip"
795 depends on MSM_SSBI
796 select MFD_CORE
797 select MFD_PM8XXX
798 help
799 If you say yes to this option, support will be included for the
800 built-in PM8018 PMIC chip.
801
802 This is required if your board has a PM8018 and uses its features,
803 such as: MPPs, GPIOs, regulators, interrupts, and PWM.
804
805 Say M here if you want to include support for PM8018 chip as a module.
806 This will build a module called "pm8018-core".
807
Abhijeet Dharmapurikarc013f0a2011-04-05 14:40:53 -0700808config MFD_PM8XXX_IRQ
809 bool "Support for Qualcomm PM8xxx IRQ features"
810 depends on MFD_PM8XXX
811 default y if MFD_PM8XXX
812 help
813 This is the IRQ driver for Qualcomm PM 8xxx PMIC chips.
814
815 This is required to use certain other PM 8xxx features, such as GPIO
816 and MPP.
817
Graeme Gregory27c67502011-05-02 16:19:46 -0500818config MFD_TPS65910
Jorge Eduardo Candelariaaec519b2011-05-10 12:30:36 -0500819 bool "TPS65910 Power Management chip"
Liam Girdwood66c500f2011-05-27 22:13:08 +0100820 depends on I2C=y && GPIOLIB
Graeme Gregory27c67502011-05-02 16:19:46 -0500821 select MFD_CORE
Jorge Eduardo Candelaria83545d82011-05-16 18:35:37 -0500822 select GPIO_TPS65910
Graeme Gregory27c67502011-05-02 16:19:46 -0500823 help
824 if you say yes here you get support for the TPS65910 series of
825 Power Management chips.
826
Axel Lin8509e142011-06-23 10:15:51 +0800827config TPS65911_COMPARATOR
828 tristate
829
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700830config MFD_PM8XXX_DEBUG
831 tristate "Qualcomm PM8xxx debugfs support"
832 depends on MFD_PM8XXX && DEBUG_FS
833 default y if MFD_PM8XXX
834 help
835 This driver provides a debugfs interface to the SSBI registers on
836 Qualcomm PM 8xxx PMIC chips. It allows for reads and writes to
837 arbitrary addresses. Writes are blocking so values are guaranteed to
838 be set into hardware registers upon return.
839
840config MFD_PM8XXX_PWM
841 tristate "Support for Qualcomm PM8xxx PWM feature"
842 depends on MFD_PM8XXX
843 default y if MFD_PM8XXX
844 help
845 This is the Pulse Width Modulation (PWM) driver for Qualcomm
846 PM 8xxx PMIC chips. It can drive 8 channels of PWM output, and
847 has a lookup table with size of 64 to be shared by any of the
848 8 channels.
849
850config MFD_PM8XXX_MISC
851 tristate "Support for Qualcomm PM8xxx miscellaneous APIs"
852 depends on MFD_PM8XXX
853 default y if MFD_PM8XXX
854 help
855 This driver implements several miscellaneous APIs that may be needed
856 in order to control the PM8XXX PMIC chip.
857
858config MFD_PM8XXX_BATT_ALARM
859 tristate "Support for Qualcomm PM8xxx battery voltage alarm"
860 depends on MFD_PM8XXX
861 help
862 This driver provides a means monitor battery under and over-voltage
863 conditions. An upper and/or lower threshold can be specified for
864 normal operation. A wakeable interrupt is triggered when the battery
865 voltage leaves the accepatable range which then calls a notifier call
866 chain.
867
868config WCD9310_CODEC
869 tristate "WCD9310 Codec"
Patrick Laiba1706d2011-07-25 17:02:19 -0700870 select SLIMBUS
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700871 select MFD_CORE
872 default n
873 help
874 Enables the WCD9310 core driver. The core driver provides
875 read/write capability to registers which are part of the
876 WCD9310 core and gives the ability to use the WCD9310 codec.
877
Randy Dunlap38270642010-05-11 01:07:34 +0200878endif # MFD_SUPPORT
Ben Dooksb6d64542007-02-20 13:58:01 -0800879
Russell Kinga4e137a2005-08-18 10:06:59 +0100880menu "Multimedia Capabilities Port drivers"
Adrian Bunkf751d502006-03-24 03:18:21 -0800881 depends on ARCH_SA1100
Russell Kinga4e137a2005-08-18 10:06:59 +0100882
883config MCP
884 tristate
885
Russell King5e742ad2005-08-18 10:08:15 +0100886# Interface drivers
887config MCP_SA11X0
888 tristate "Support SA11x0 MCP interface"
889 depends on ARCH_SA1100
890 select MCP
891
Russell King05c45ca2005-09-11 10:26:31 +0100892# Chip drivers
893config MCP_UCB1200
894 tristate "Support for UCB1200 / UCB1300"
895 depends on MCP
896
Russell Kingacb45432005-09-11 10:26:57 +0100897config MCP_UCB1200_TS
898 tristate "Touchscreen interface support"
899 depends on MCP_UCB1200 && INPUT
900
Russell Kinga4e137a2005-08-18 10:06:59 +0100901endmenu