mfd: axp20x: Split the driver into core and i2c bits
[cascardo/linux.git] / drivers / mfd / Kconfig
1 #
2 # Multifunction miscellaneous devices
3 #
4
5 if HAS_IOMEM
6 menu "Multifunction device drivers"
7
8 config MFD_CORE
9         tristate
10         select IRQ_DOMAIN
11         default n
12
13 config MFD_CS5535
14         tristate "AMD CS5535 and CS5536 southbridge core functions"
15         select MFD_CORE
16         depends on PCI && (X86_32 || (X86 && COMPILE_TEST))
17         ---help---
18           This is the core driver for CS5535/CS5536 MFD functions.  This is
19           necessary for using the board's GPIO and MFGPT functionality.
20
21 config MFD_AS3711
22         bool "AMS AS3711"
23         select MFD_CORE
24         select REGMAP_I2C
25         select REGMAP_IRQ
26         depends on I2C=y
27         help
28           Support for the AS3711 PMIC from AMS
29
30 config MFD_AS3722
31         bool "ams AS3722 Power Management IC"
32         select MFD_CORE
33         select REGMAP_I2C
34         select REGMAP_IRQ
35         depends on I2C=y && OF
36         help
37           The ams AS3722 is a compact system PMU suitable for mobile phones,
38           tablets etc. It has 4 DC/DC step-down regulators, 3 DC/DC step-down
39           controllers, 11 LDOs, RTC, automatic battery, temperature and
40           over current monitoring, GPIOs, ADC and a watchdog.
41
42 config PMIC_ADP5520
43         bool "Analog Devices ADP5520/01 MFD PMIC Core Support"
44         depends on I2C=y
45         help
46           Say yes here to add support for Analog Devices AD5520 and ADP5501,
47           Multifunction Power Management IC. This includes
48           the I2C driver and the core APIs _only_, you have to select
49           individual components like LCD backlight, LEDs, GPIOs and Kepad
50           under the corresponding menus.
51
52 config MFD_AAT2870_CORE
53         bool "AnalogicTech AAT2870"
54         select MFD_CORE
55         depends on I2C=y
56         depends on GPIOLIB || COMPILE_TEST
57         help
58           If you say yes here you get support for the AAT2870.
59           This driver provides common support for accessing the device,
60           additional drivers must be enabled in order to use the
61           functionality of the device.
62
63 config MFD_ATMEL_FLEXCOM
64         tristate "Atmel Flexcom (Flexible Serial Communication Unit)"
65         select MFD_CORE
66         depends on OF
67         help
68           Select this to get support for Atmel Flexcom. This is a wrapper
69           which embeds a SPI controller, a I2C controller and a USART. Only
70           one function can be used at a time. The choice is done at boot time
71           by the probe function of this MFD driver according to a device tree
72           property.
73
74 config MFD_ATMEL_HLCDC
75         tristate "Atmel HLCDC (High-end LCD Controller)"
76         select MFD_CORE
77         select REGMAP_MMIO
78         depends on OF
79         help
80           If you say yes here you get support for the HLCDC block.
81           This driver provides common support for accessing the device,
82           additional drivers must be enabled in order to use the
83           functionality of the device.
84
85 config MFD_BCM590XX
86         tristate "Broadcom BCM590xx PMUs"
87         select MFD_CORE
88         select REGMAP_I2C
89         depends on I2C
90         help
91           Support for the BCM590xx PMUs from Broadcom
92
93 config MFD_AXP20X
94         tristate
95         select MFD_CORE
96         select REGMAP_IRQ
97
98 config MFD_AXP20X_I2C
99         tristate "X-Powers AXP series PMICs with I2C"
100         select MFD_AXP20X
101         select REGMAP_I2C
102         depends on I2C
103         help
104           If you say Y here you get support for the X-Powers AXP series power
105           management ICs (PMICs) controlled with I2C.
106           This driver include only the core APIs. You have to select individual
107           components like regulators or the PEK (Power Enable Key) under the
108           corresponding menus.
109
110 config MFD_CROS_EC
111         tristate "ChromeOS Embedded Controller"
112         select MFD_CORE
113         select CHROME_PLATFORMS
114         select CROS_EC_PROTO
115         depends on X86 || ARM || COMPILE_TEST
116         help
117           If you say Y here you get support for the ChromeOS Embedded
118           Controller (EC) providing keyboard, battery and power services.
119           You also need to enable the driver for the bus you are using. The
120           protocol for talking to the EC is defined by the bus driver.
121
122 config MFD_CROS_EC_I2C
123         tristate "ChromeOS Embedded Controller (I2C)"
124         depends on MFD_CROS_EC && I2C
125
126         help
127           If you say Y here, you get support for talking to the ChromeOS
128           EC through an I2C bus. This uses a simple byte-level protocol with
129           a checksum. Failing accesses will be retried three times to
130           improve reliability.
131
132 config MFD_CROS_EC_SPI
133         tristate "ChromeOS Embedded Controller (SPI)"
134         depends on MFD_CROS_EC && SPI
135
136         ---help---
137           If you say Y here, you get support for talking to the ChromeOS EC
138           through a SPI bus, using a byte-level protocol. Since the EC's
139           response time cannot be guaranteed, we support ignoring
140           'pre-amble' bytes before the response actually starts.
141
142 config MFD_ASIC3
143         bool "Compaq ASIC3"
144         depends on GPIOLIB && ARM
145         select MFD_CORE
146          ---help---
147           This driver supports the ASIC3 multifunction chip found on many
148           PDAs (mainly iPAQ and HTC based ones)
149
150 config PMIC_DA903X
151         bool "Dialog Semiconductor DA9030/DA9034 PMIC Support"
152         depends on I2C=y
153         help
154           Say yes here to add support for Dialog Semiconductor DA9030 (a.k.a
155           ARAVA) and DA9034 (a.k.a MICCO), these are Power Management IC
156           usually found on PXA processors-based platforms. This includes
157           the I2C driver and the core APIs _only_, you have to select
158           individual components like LCD backlight, voltage regulators,
159           LEDs and battery-charger under the corresponding menus.
160
161 config PMIC_DA9052
162         bool
163         select MFD_CORE
164
165 config MFD_DA9052_SPI
166         bool "Dialog Semiconductor DA9052/53 PMIC variants with SPI"
167         select REGMAP_SPI
168         select REGMAP_IRQ
169         select PMIC_DA9052
170         depends on SPI_MASTER=y
171         help
172           Support for the Dialog Semiconductor DA9052 PMIC
173           when controlled using SPI. This driver provides common support
174           for accessing the device, additional drivers must be enabled in
175           order to use the functionality of the device.
176
177 config MFD_DA9052_I2C
178         bool "Dialog Semiconductor DA9052/53 PMIC variants with I2C"
179         select REGMAP_I2C
180         select REGMAP_IRQ
181         select PMIC_DA9052
182         depends on I2C=y
183         help
184           Support for the Dialog Semiconductor DA9052 PMIC
185           when controlled using I2C. This driver provides common support
186           for accessing the device, additional drivers must be enabled in
187           order to use the functionality of the device.
188
189 config MFD_DA9055
190         bool "Dialog Semiconductor DA9055 PMIC Support"
191         select REGMAP_I2C
192         select REGMAP_IRQ
193         select MFD_CORE
194         depends on I2C=y
195         help
196           Say yes here for support of Dialog Semiconductor DA9055. This is
197           a Power Management IC. This driver provides common support for
198           accessing the device as well as the I2C interface to the chip itself.
199           Additional drivers must be enabled in order to use the functionality
200           of the device.
201
202           This driver can be built as a module. If built as a module it will be
203           called "da9055"
204
205 config MFD_DA9062
206         tristate "Dialog Semiconductor DA9062 PMIC Support"
207         select MFD_CORE
208         select REGMAP_I2C
209         select REGMAP_IRQ
210         depends on I2C=y
211         help
212           Say yes here for support for the Dialog Semiconductor DA9062 PMIC.
213           This includes the I2C driver and core APIs.
214           Additional drivers must be enabled in order to use the functionality
215           of the device.
216
217 config MFD_DA9063
218         tristate "Dialog Semiconductor DA9063 PMIC Support"
219         select MFD_CORE
220         select REGMAP_I2C
221         select REGMAP_IRQ
222         depends on I2C=y
223         help
224           Say yes here for support for the Dialog Semiconductor DA9063 PMIC.
225           This includes the I2C driver and core APIs.
226           Additional drivers must be enabled in order to use the functionality
227           of the device.
228
229 config MFD_DA9150
230         tristate "Dialog Semiconductor DA9150 Charger Fuel-Gauge chip"
231         depends on I2C=y
232         select MFD_CORE
233         select REGMAP_I2C
234         select REGMAP_IRQ
235         help
236           This adds support for the DA9150 integrated charger and fuel-gauge
237           chip. This driver provides common support for accessing the device.
238           Additional drivers must be enabled in order to use the specific
239           features of the device.
240
241 config MFD_DLN2
242         tristate "Diolan DLN2 support"
243         select MFD_CORE
244         depends on USB
245         help
246           This adds support for Diolan USB-I2C/SPI/GPIO Master Adapter
247           DLN-2. Additional drivers such as I2C_DLN2, GPIO_DLN2,
248           etc. must be enabled in order to use the functionality of
249           the device.
250
251 config MFD_MC13XXX
252         tristate
253         depends on (SPI_MASTER || I2C)
254         select MFD_CORE
255         select REGMAP_IRQ
256         help
257           Enable support for the Freescale MC13783 and MC13892 PMICs.
258           This driver provides common support for accessing the device,
259           additional drivers must be enabled in order to use the
260           functionality of the device.
261
262 config MFD_MC13XXX_SPI
263         tristate "Freescale MC13783 and MC13892 SPI interface"
264         depends on SPI_MASTER
265         select REGMAP_SPI
266         select MFD_MC13XXX
267         help
268           Select this if your MC13xxx is connected via an SPI bus.
269
270 config MFD_MC13XXX_I2C
271         tristate "Freescale MC13892 I2C interface"
272         depends on I2C
273         select REGMAP_I2C
274         select MFD_MC13XXX
275         help
276           Select this if your MC13xxx is connected via an I2C bus.
277
278 config MFD_HI6421_PMIC
279         tristate "HiSilicon Hi6421 PMU/Codec IC"
280         depends on OF
281         select MFD_CORE
282         select REGMAP_MMIO
283         help
284           Add support for HiSilicon Hi6421 PMIC. Hi6421 includes multi-
285           functions, such as regulators, RTC, codec, Coulomb counter, etc.
286           This driver includes core APIs _only_. You have to select
287           individul components like voltage regulators under corresponding
288           menus in order to enable them.
289           We communicate with the Hi6421 via memory-mapped I/O.
290
291 config HTC_EGPIO
292         bool "HTC EGPIO support"
293         depends on GPIOLIB && ARM
294         help
295             This driver supports the CPLD egpio chip present on
296             several HTC phones.  It provides basic support for input
297             pins, output pins, and irqs.
298
299 config HTC_PASIC3
300         tristate "HTC PASIC3 LED/DS1WM chip support"
301         select MFD_CORE
302         help
303           This core driver provides register access for the LED/DS1WM
304           chips labeled "AIC2" and "AIC3", found on HTC Blueangel and
305           HTC Magician devices, respectively. Actual functionality is
306           handled by the leds-pasic3 and ds1wm drivers.
307
308 config HTC_I2CPLD
309         bool "HTC I2C PLD chip support"
310         depends on I2C=y && GPIOLIB
311         help
312           If you say yes here you get support for the supposed CPLD
313           found on omap850 HTC devices like the HTC Wizard and HTC Herald.
314           This device provides input and output GPIOs through an I2C
315           interface to one or more sub-chips.
316
317 config MFD_INTEL_QUARK_I2C_GPIO
318         tristate "Intel Quark MFD I2C GPIO"
319         depends on PCI
320         depends on X86
321         depends on COMMON_CLK
322         select MFD_CORE
323         help
324           This MFD provides support for I2C and GPIO that exist only
325           in a single PCI device. It splits the 2 IO devices to
326           their respective IO driver.
327           The GPIO exports a total amount of 8 interrupt-capable GPIOs.
328
329 config LPC_ICH
330         tristate "Intel ICH LPC"
331         depends on PCI
332         select MFD_CORE
333         help
334           The LPC bridge function of the Intel ICH provides support for
335           many functional units. This driver provides needed support for
336           other drivers to control these functions, currently GPIO and
337           watchdog.
338
339 config LPC_SCH
340         tristate "Intel SCH LPC"
341         depends on PCI
342         select MFD_CORE
343         help
344           LPC bridge function of the Intel SCH provides support for
345           System Management Bus and General Purpose I/O.
346
347 config INTEL_SOC_PMIC
348         bool "Support for Intel Atom SoC PMIC"
349         depends on GPIOLIB
350         depends on I2C=y
351         select MFD_CORE
352         select REGMAP_I2C
353         select REGMAP_IRQ
354         help
355           Select this option to enable support for the PMIC device
356           on some Intel SoC systems. The PMIC provides ADC, GPIO,
357           thermal, charger and related power management functions
358           on these systems.
359
360 config MFD_INTEL_LPSS
361         tristate
362         select COMMON_CLK
363         select MFD_CORE
364
365 config MFD_INTEL_LPSS_ACPI
366         tristate "Intel Low Power Subsystem support in ACPI mode"
367         select MFD_INTEL_LPSS
368         depends on X86 && ACPI
369         help
370           This driver supports Intel Low Power Subsystem (LPSS) devices such as
371           I2C, SPI and HS-UART starting from Intel Sunrisepoint (Intel Skylake
372           PCH) in ACPI mode.
373
374 config MFD_INTEL_LPSS_PCI
375         tristate "Intel Low Power Subsystem support in PCI mode"
376         select MFD_INTEL_LPSS
377         depends on X86 && PCI
378         help
379           This driver supports Intel Low Power Subsystem (LPSS) devices such as
380           I2C, SPI and HS-UART starting from Intel Sunrisepoint (Intel Skylake
381           PCH) in PCI mode.
382
383 config MFD_INTEL_MSIC
384         bool "Intel MSIC"
385         depends on INTEL_SCU_IPC
386         select MFD_CORE
387         help
388           Select this option to enable access to Intel MSIC (Avatele
389           Passage) chip. This chip embeds audio, battery, GPIO, etc.
390           devices used in Intel Medfield platforms.
391
392 config MFD_IPAQ_MICRO
393         bool "Atmel Micro ASIC (iPAQ h3100/h3600/h3700) Support"
394         depends on SA1100_H3100 || SA1100_H3600
395         select MFD_CORE
396         help
397           Select this to get support for the Microcontroller found in
398           the Compaq iPAQ handheld computers. This is an Atmel
399           AT90LS8535 microcontroller flashed with a special iPAQ
400           firmware using the custom protocol implemented in this driver.
401
402 config MFD_JANZ_CMODIO
403         tristate "Janz CMOD-IO PCI MODULbus Carrier Board"
404         select MFD_CORE
405         depends on PCI
406         help
407           This is the core driver for the Janz CMOD-IO PCI MODULbus
408           carrier board. This device is a PCI to MODULbus bridge which may
409           host many different types of MODULbus daughterboards, including
410           CAN and GPIO controllers.
411
412 config MFD_JZ4740_ADC
413         bool "Janz JZ4740 ADC core"
414         select MFD_CORE
415         select GENERIC_IRQ_CHIP
416         depends on MACH_JZ4740
417         help
418           Say yes here if you want support for the ADC unit in the JZ4740 SoC.
419           This driver is necessary for jz4740-battery and jz4740-hwmon driver.
420
421 config MFD_KEMPLD
422         tristate "Kontron module PLD device"
423         select MFD_CORE
424         help
425           This is the core driver for the PLD (Programmable Logic Device) found
426           on some Kontron ETX and COMexpress (ETXexpress) modules. The PLD
427           device may provide functions like watchdog, GPIO, UART and I2C bus.
428
429           The following modules are supported:
430                 * COMe-bBL6
431                 * COMe-bHL6
432                 * COMe-bIP#
433                 * COMe-bPC2 (ETXexpress-PC)
434                 * COMe-bSC# (ETXexpress-SC T#)
435                 * COMe-cBL6
436                 * COMe-cBT6
437                 * COMe-cBW6
438                 * COMe-cCT6
439                 * COMe-cDC2 (microETXexpress-DC)
440                 * COMe-cHL6
441                 * COMe-cPC2 (microETXexpress-PC)
442                 * COMe-mBT10
443                 * COMe-mCT10
444                 * COMe-mTT10 (nanoETXexpress-TT)
445                 * ETX-OH
446
447           This driver can also be built as a module. If so, the module
448           will be called kempld-core.
449
450 config MFD_88PM800
451         tristate "Marvell 88PM800"
452         depends on I2C=y
453         select REGMAP_I2C
454         select REGMAP_IRQ
455         select MFD_CORE
456         help
457           This supports for Marvell 88PM800 Power Management IC.
458           This includes the I2C driver and the core APIs _only_, you have to
459           select individual components like voltage regulators, RTC and
460           battery-charger under the corresponding menus.
461
462 config MFD_88PM805
463         tristate "Marvell 88PM805"
464         depends on I2C=y
465         select REGMAP_I2C
466         select REGMAP_IRQ
467         select MFD_CORE
468         help
469           This supports for Marvell 88PM805 Power Management IC. This includes
470           the I2C driver and the core APIs _only_, you have to select individual
471           components like codec device, headset/Mic device under the
472           corresponding menus.
473
474 config MFD_88PM860X
475         bool "Marvell 88PM8606/88PM8607"
476         depends on I2C=y
477         select REGMAP_I2C
478         select MFD_CORE
479         help
480           This supports for Marvell 88PM8606/88PM8607 Power Management IC.
481           This includes the I2C driver and the core APIs _only_, you have to
482           select individual components like voltage regulators, RTC and
483           battery-charger under the corresponding menus.
484
485 config MFD_MAX14577
486         bool "Maxim Semiconductor MAX14577/77836 MUIC + Charger Support"
487         depends on I2C=y
488         select MFD_CORE
489         select REGMAP_I2C
490         select REGMAP_IRQ
491         select IRQ_DOMAIN
492         help
493           Say yes here to add support for Maxim Semiconductor MAX14577 and
494           MAX77836 Micro-USB ICs with battery charger.
495           This driver provides common support for accessing the device;
496           additional drivers must be enabled in order to use the functionality
497           of the device.
498
499 config MFD_MAX77686
500         bool "Maxim Semiconductor MAX77686/802 PMIC Support"
501         depends on I2C=y
502         depends on OF
503         select MFD_CORE
504         select REGMAP_I2C
505         select REGMAP_IRQ
506         select IRQ_DOMAIN
507         help
508           Say yes here to add support for Maxim Semiconductor MAX77686 and
509           MAX77802 which are Power Management IC with an RTC on chip.
510           This driver provides common support for accessing the device;
511           additional drivers must be enabled in order to use the functionality
512           of the device.
513
514 config MFD_MAX77693
515         bool "Maxim Semiconductor MAX77693 PMIC Support"
516         depends on I2C=y
517         select MFD_CORE
518         select REGMAP_I2C
519         select REGMAP_IRQ
520         help
521           Say yes here to add support for Maxim Semiconductor MAX77693.
522           This is a companion Power Management IC with Flash, Haptic, Charger,
523           and MUIC(Micro USB Interface Controller) controls on chip.
524           This driver provides common support for accessing the device;
525           additional drivers must be enabled in order to use the functionality
526           of the device.
527
528 config MFD_MAX77843
529         bool "Maxim Semiconductor MAX77843 PMIC Support"
530         depends on I2C=y
531         select MFD_CORE
532         select REGMAP_I2C
533         select REGMAP_IRQ
534         help
535           Say yes here to add support for Maxim Semiconductor MAX77843.
536           This is companion Power Management IC with LEDs, Haptic, Charger,
537           Fuel Gauge, MUIC(Micro USB Interface Controller) controls on chip.
538           This driver provides common support for accessing the device;
539           additional drivers must be enabled in order to use the functionality
540           of the device.
541
542 config MFD_MAX8907
543         tristate "Maxim Semiconductor MAX8907 PMIC Support"
544         select MFD_CORE
545         depends on I2C=y
546         select REGMAP_I2C
547         select REGMAP_IRQ
548         help
549           Say yes here to add support for Maxim Semiconductor MAX8907. This is
550           a Power Management IC. This driver provides common support for
551           accessing the device; additional drivers must be enabled in order
552           to use the functionality of the device.
553
554 config MFD_MAX8925
555         bool "Maxim Semiconductor MAX8925 PMIC Support"
556         depends on I2C=y
557         select MFD_CORE
558         help
559           Say yes here to add support for Maxim Semiconductor MAX8925. This is
560           a Power Management IC. This driver provides common support for
561           accessing the device, additional drivers must be enabled in order
562           to use the functionality of the device.
563
564 config MFD_MAX8997
565         bool "Maxim Semiconductor MAX8997/8966 PMIC Support"
566         depends on I2C=y
567         select MFD_CORE
568         select IRQ_DOMAIN
569         help
570           Say yes here to add support for Maxim Semiconductor MAX8997/8966.
571           This is a Power Management IC with RTC, Flash, Fuel Gauge, Haptic,
572           MUIC controls on chip.
573           This driver provides common support for accessing the device;
574           additional drivers must be enabled in order to use the functionality
575           of the device.
576
577 config MFD_MAX8998
578         bool "Maxim Semiconductor MAX8998/National LP3974 PMIC Support"
579         depends on I2C=y
580         select MFD_CORE
581         select IRQ_DOMAIN
582         help
583           Say yes here to add support for Maxim Semiconductor MAX8998 and
584           National Semiconductor LP3974. This is a Power Management IC.
585           This driver provides common support for accessing the device,
586           additional drivers must be enabled in order to use the functionality
587           of the device.
588
589 config MFD_MT6397
590         tristate "MediaTek MT6397 PMIC Support"
591         select MFD_CORE
592         select IRQ_DOMAIN
593         help
594           Say yes here to add support for MediaTek MT6397 PMIC. This is
595           a Power Management IC. This driver provides common support for
596           accessing the device; additional drivers must be enabled in order
597           to use the functionality of the device.
598
599 config MFD_MENF21BMC
600         tristate "MEN 14F021P00 Board Management Controller Support"
601         depends on I2C
602         select MFD_CORE
603         help
604           Say yes here to add support for the MEN 14F021P00 BMC
605           which is a Board Management Controller connected to the I2C bus.
606           The device supports multiple sub-devices like LED, HWMON and WDT.
607           This driver provides common support for accessing the devices;
608           additional drivers must be enabled in order to use the
609           functionality of the BMC device.
610
611           This driver can also be built as a module. If so the module
612           will be called menf21bmc.
613
614 config EZX_PCAP
615         bool "Motorola EZXPCAP Support"
616         depends on SPI_MASTER
617         help
618           This enables the PCAP ASIC present on EZX Phones. This is
619           needed for MMC, TouchScreen, Sound, USB, etc..
620
621 config MFD_VIPERBOARD
622         tristate "Nano River Technologies Viperboard"
623         select MFD_CORE
624         depends on USB
625         default n
626         help
627           Say yes here if you want support for Nano River Technologies
628           Viperboard.
629           There are mfd cell drivers available for i2c master, adc and
630           both gpios found on the board. The spi part does not yet
631           have a driver.
632           You need to select the mfd cell drivers separately.
633           The drivers do not support all features the board exposes.
634
635 config MFD_RETU
636         tristate "Nokia Retu and Tahvo multi-function device"
637         select MFD_CORE
638         depends on I2C
639         select REGMAP_IRQ
640         help
641           Retu and Tahvo are a multi-function devices found on Nokia
642           Internet Tablets (770, N800 and N810).
643
644 config MFD_PCF50633
645         tristate "NXP PCF50633"
646         depends on I2C
647         select REGMAP_I2C
648         help
649           Say yes here if you have NXP PCF50633 chip on your board.
650           This core driver provides register access and IRQ handling
651           facilities, and registers devices for the various functions
652           so that function-specific drivers can bind to them.
653
654 config PCF50633_ADC
655         tristate "NXP PCF50633 ADC"
656         depends on MFD_PCF50633
657         help
658          Say yes here if you want to include support for ADC in the
659          NXP PCF50633 chip.
660
661 config PCF50633_GPIO
662         tristate "NXP PCF50633 GPIO"
663         depends on MFD_PCF50633
664         help
665          Say yes here if you want to include support GPIO for pins on
666          the PCF50633 chip.
667
668 config UCB1400_CORE
669         tristate "Philips UCB1400 Core driver"
670         depends on AC97_BUS
671         depends on GPIOLIB
672         help
673           This enables support for the Philips UCB1400 core functions.
674           The UCB1400 is an AC97 audio codec.
675
676           To compile this driver as a module, choose M here: the
677           module will be called ucb1400_core.
678
679 config MFD_PM8XXX
680         tristate
681
682 config MFD_PM8921_CORE
683         tristate "Qualcomm PM8921 PMIC chip"
684         depends on (ARM || HEXAGON)
685         select IRQ_DOMAIN
686         select MFD_CORE
687         select MFD_PM8XXX
688         select REGMAP
689         help
690           If you say yes to this option, support will be included for the
691           built-in PM8921 PMIC chip.
692
693           This is required if your board has a PM8921 and uses its features,
694           such as: MPPs, GPIOs, regulators, interrupts, and PWM.
695
696           Say M here if you want to include support for PM8921 chip as a module.
697           This will build a module called "pm8921-core".
698
699 config MFD_QCOM_RPM
700         tristate "Qualcomm Resource Power Manager (RPM)"
701         depends on ARCH_QCOM && OF
702         help
703           If you say yes to this option, support will be included for the
704           Resource Power Manager system found in the Qualcomm 8660, 8960 and
705           8064 based devices.
706
707           This is required to access many regulators, clocks and bus
708           frequencies controlled by the RPM on these devices.
709
710           Say M here if you want to include support for the Qualcomm RPM as a
711           module. This will build a module called "qcom_rpm".
712
713 config MFD_SPMI_PMIC
714         tristate "Qualcomm SPMI PMICs"
715         depends on ARCH_QCOM || COMPILE_TEST
716         depends on OF
717         depends on SPMI
718         select REGMAP_SPMI
719         help
720           This enables support for the Qualcomm SPMI PMICs.
721           These PMICs are currently used with the Snapdragon 800 series of
722           SoCs.  Note, that this will only be useful paired with descriptions
723           of the independent functions as children nodes in the device tree.
724
725           Say M here if you want to include support for the SPMI PMIC
726           series as a module.  The module will be called "qcom-spmi-pmic".
727
728 config MFD_RDC321X
729         tristate "RDC R-321x southbridge"
730         select MFD_CORE
731         depends on PCI
732         help
733           Say yes here if you want to have support for the RDC R-321x SoC
734           southbridge which provides access to GPIOs and Watchdog using the
735           southbridge PCI device configuration space.
736
737 config MFD_RTSX_PCI
738         tristate "Realtek PCI-E card reader"
739         depends on PCI
740         select MFD_CORE
741         help
742           This supports for Realtek PCI-Express card reader including rts5209,
743           rts5227, rts522A, rts5229, rts5249, rts524A, rts525A, rtl8411, etc.
744           Realtek card reader supports access to many types of memory cards,
745           such as Memory Stick, Memory Stick Pro, Secure Digital and
746           MultiMediaCard.
747
748 config MFD_RT5033
749         tristate "Richtek RT5033 Power Management IC"
750         depends on I2C=y
751         select MFD_CORE
752         select REGMAP_I2C
753         select REGMAP_IRQ
754         help
755           This driver provides for the Richtek RT5033 Power Management IC,
756           which includes the I2C driver and the Core APIs. This driver provides
757           common support for accessing the device. The device supports multiple
758           sub-devices like charger, fuel gauge, flash LED, current source,
759           LDO and Buck.
760
761 config MFD_RTSX_USB
762         tristate "Realtek USB card reader"
763         depends on USB
764         select MFD_CORE
765         help
766           Select this option to get support for Realtek USB 2.0 card readers
767           including RTS5129, RTS5139, RTS5179 and RTS5170.
768           Realtek card reader supports access to many types of memory cards,
769           such as Memory Stick Pro, Secure Digital and MultiMediaCard.
770
771 config MFD_RC5T583
772         bool "Ricoh RC5T583 Power Management system device"
773         depends on I2C=y
774         select MFD_CORE
775         select REGMAP_I2C
776         help
777           Select this option to get support for the RICOH583 Power
778           Management system device.
779           This driver provides common support for accessing the device
780           through i2c interface. The device supports multiple sub-devices
781           like GPIO, interrupts, RTC, LDO and DCDC regulators, onkey.
782           Additional drivers must be enabled in order to use the
783           different functionality of the device.
784
785 config MFD_RK808
786         tristate "Rockchip RK808 Power Management chip"
787         depends on I2C && OF
788         select MFD_CORE
789         select REGMAP_I2C
790         select REGMAP_IRQ
791         help
792           If you say yes here you get support for the RK808
793           Power Management chips.
794           This driver provides common support for accessing the device
795           through I2C interface. The device supports multiple sub-devices
796           including interrupts, RTC, LDO & DCDC regulators, and onkey.
797
798 config MFD_RN5T618
799         tristate "Ricoh RN5T5618 PMIC"
800         depends on I2C
801         select MFD_CORE
802         select REGMAP_I2C
803         help
804           Say yes here to add support for the Ricoh RN5T618 PMIC. This
805           driver provides common support for accessing the device,
806           additional drivers must be enabled in order to use the
807           functionality of the device.
808
809 config MFD_SEC_CORE
810         bool "SAMSUNG Electronics PMIC Series Support"
811         depends on I2C=y
812         select MFD_CORE
813         select REGMAP_I2C
814         select REGMAP_IRQ
815         help
816          Support for the Samsung Electronics MFD series.
817          This driver provides common support for accessing the device,
818          additional drivers must be enabled in order to use the functionality
819          of the device
820
821 config MFD_SI476X_CORE
822         tristate "Silicon Laboratories 4761/64/68 AM/FM radio."
823         depends on I2C
824         select MFD_CORE
825         select REGMAP_I2C
826         help
827           This is the core driver for the SI476x series of AM/FM
828           radio. This MFD driver connects the radio-si476x V4L2 module
829           and the si476x audio codec.
830
831           To compile this driver as a module, choose M here: the
832           module will be called si476x-core.
833
834 config MFD_SM501
835         tristate "Silicon Motion SM501"
836          ---help---
837           This is the core driver for the Silicon Motion SM501 multimedia
838           companion chip. This device is a multifunction device which may
839           provide numerous interfaces including USB host controller, USB gadget,
840           asynchronous serial ports, audio functions, and a dual display video
841           interface. The device may be connected by PCI or local bus with
842           varying functions enabled.
843
844 config MFD_SM501_GPIO
845         bool "Export GPIO via GPIO layer"
846         depends on MFD_SM501 && GPIOLIB
847          ---help---
848          This option uses the gpio library layer to export the 64 GPIO
849          lines on the SM501. The platform data is used to supply the
850          base number for the first GPIO line to register.
851
852 config MFD_SKY81452
853         tristate "Skyworks Solutions SKY81452"
854         select MFD_CORE
855         select REGMAP_I2C
856         depends on I2C
857         help
858           This is the core driver for the Skyworks SKY81452 backlight and
859           voltage regulator device.
860
861           This driver can also be built as a module.  If so, the module
862           will be called sky81452.
863
864 config MFD_SMSC
865        bool "SMSC ECE1099 series chips"
866        depends on I2C=y
867        select MFD_CORE
868        select REGMAP_I2C
869        help
870         If you say yes here you get support for the
871         ece1099 chips from SMSC.
872
873         To compile this driver as a module, choose M here: the
874         module will be called smsc.
875
876 config ABX500_CORE
877         bool "ST-Ericsson ABX500 Mixed Signal Circuit register functions"
878         default y if ARCH_U300 || ARCH_U8500
879         help
880           Say yes here if you have the ABX500 Mixed Signal IC family
881           chips. This core driver expose register access functions.
882           Functionality specific drivers using these functions can
883           remain unchanged when IC changes. Binding of the functions to
884           actual register access is done by the IC core driver.
885
886 config AB3100_CORE
887         bool "ST-Ericsson AB3100 Mixed Signal Circuit core functions"
888         depends on I2C=y && ABX500_CORE
889         select MFD_CORE
890         default y if ARCH_U300
891         help
892           Select this to enable the AB3100 Mixed Signal IC core
893           functionality. This connects to a AB3100 on the I2C bus
894           and expose a number of symbols needed for dependent devices
895           to read and write registers and subscribe to events from
896           this multi-functional IC. This is needed to use other features
897           of the AB3100 such as battery-backed RTC, charging control,
898           LEDs, vibrator, system power and temperature, power management
899           and ALSA sound.
900
901 config AB3100_OTP
902         tristate "ST-Ericsson AB3100 OTP functions"
903         depends on AB3100_CORE
904         default y if AB3100_CORE
905         help
906           Select this to enable the AB3100 Mixed Signal IC OTP (one-time
907           programmable memory) support. This exposes a sysfs file to read
908           out OTP values.
909
910 config AB8500_CORE
911         bool "ST-Ericsson AB8500 Mixed Signal Power Management chip"
912         depends on ABX500_CORE && MFD_DB8500_PRCMU
913         select POWER_SUPPLY
914         select MFD_CORE
915         select IRQ_DOMAIN
916         help
917           Select this option to enable access to AB8500 power management
918           chip. This connects to U8500 either on the SSP/SPI bus (deprecated
919           since hardware version v1.0) or the I2C bus via PRCMU. It also adds
920           the irq_chip parts for handling the Mixed Signal chip events.
921           This chip embeds various other multimedia funtionalities as well.
922
923 config AB8500_DEBUG
924        bool "Enable debug info via debugfs"
925        depends on AB8500_GPADC && DEBUG_FS
926        default y if DEBUG_FS
927        help
928          Select this option if you want debug information using the debug
929          filesystem, debugfs.
930
931 config AB8500_GPADC
932         bool "ST-Ericsson AB8500 GPADC driver"
933         depends on AB8500_CORE && REGULATOR_AB8500
934         default y
935         help
936           AB8500 GPADC driver used to convert Acc and battery/ac/usb voltage
937
938 config MFD_DB8500_PRCMU
939         bool "ST-Ericsson DB8500 Power Reset Control Management Unit"
940         depends on UX500_SOC_DB8500
941         select MFD_CORE
942         help
943           Select this option to enable support for the DB8500 Power Reset
944           and Control Management Unit. This is basically an autonomous
945           system controller running an XP70 microprocessor, which is accessed
946           through a register map.
947
948 config MFD_STMPE
949         bool "STMicroelectronics STMPE"
950         depends on (I2C=y || SPI_MASTER=y)
951         depends on OF
952         select MFD_CORE
953         help
954           Support for the STMPE family of I/O Expanders from
955           STMicroelectronics.
956
957           Currently supported devices are:
958
959                 STMPE811: GPIO, Touchscreen
960                 STMPE1601: GPIO, Keypad
961                 STMPE1801: GPIO, Keypad
962                 STMPE2401: GPIO, Keypad
963                 STMPE2403: GPIO, Keypad
964
965           This driver provides common support for accessing the device,
966           additional drivers must be enabled in order to use the functionality
967           of the device.  Currently available sub drivers are:
968
969                 GPIO: stmpe-gpio
970                 Keypad: stmpe-keypad
971                 Touchscreen: stmpe-ts
972
973 menu "STMicroelectronics STMPE Interface Drivers"
974 depends on MFD_STMPE
975
976 config STMPE_I2C
977         bool "STMicroelectronics STMPE I2C Interface"
978         depends on I2C=y
979         default y
980         help
981           This is used to enable I2C interface of STMPE
982
983 config STMPE_SPI
984         bool "STMicroelectronics STMPE SPI Interface"
985         depends on SPI_MASTER
986         help
987           This is used to enable SPI interface of STMPE
988 endmenu
989
990 config MFD_STA2X11
991         bool "STMicroelectronics STA2X11"
992         depends on STA2X11
993         select MFD_CORE
994         select REGMAP_MMIO
995
996 config MFD_SUN6I_PRCM
997         bool "Allwinner A31 PRCM controller"
998         depends on ARCH_SUNXI
999         select MFD_CORE
1000         help
1001           Support for the PRCM (Power/Reset/Clock Management) unit available
1002           in A31 SoC.
1003
1004 config MFD_SYSCON
1005         bool "System Controller Register R/W Based on Regmap"
1006         select REGMAP_MMIO
1007         help
1008           Select this option to enable accessing system control registers
1009           via regmap.
1010
1011 config MFD_DAVINCI_VOICECODEC
1012         tristate
1013         select MFD_CORE
1014         select REGMAP_MMIO
1015
1016 config MFD_TI_AM335X_TSCADC
1017         tristate "TI ADC / Touch Screen chip support"
1018         select MFD_CORE
1019         select REGMAP
1020         select REGMAP_MMIO
1021         help
1022           If you say yes here you get support for Texas Instruments series
1023           of Touch Screen /ADC chips.
1024           To compile this driver as a module, choose M here: the
1025           module will be called ti_am335x_tscadc.
1026
1027 config MFD_DM355EVM_MSP
1028         bool "TI DaVinci DM355 EVM microcontroller"
1029         depends on I2C=y && MACH_DAVINCI_DM355_EVM
1030         help
1031           This driver supports the MSP430 microcontroller used on these
1032           boards.  MSP430 firmware manages resets and power sequencing,
1033           inputs from buttons and the IR remote, LEDs, an RTC, and more.
1034
1035 config MFD_LP3943
1036         tristate "TI/National Semiconductor LP3943 MFD Driver"
1037         depends on I2C
1038         select MFD_CORE
1039         select REGMAP_I2C
1040         help
1041           Support for the TI/National Semiconductor LP3943.
1042           This driver consists of GPIO and PWM drivers.
1043           With these functionalities, it can be used for LED string control or
1044           general usage such like a GPIO controller and a PWM controller.
1045
1046 config MFD_LP8788
1047         bool "TI LP8788 Power Management Unit Driver"
1048         depends on I2C=y
1049         select MFD_CORE
1050         select REGMAP_I2C
1051         select IRQ_DOMAIN
1052         help
1053           TI LP8788 PMU supports regulators, battery charger, RTC,
1054           ADC, backlight driver and current sinks.
1055
1056 config MFD_OMAP_USB_HOST
1057         bool "TI OMAP USBHS core and TLL driver"
1058         depends on USB_EHCI_HCD_OMAP || USB_OHCI_HCD_OMAP3
1059         default y
1060         help
1061           This is the core driver for the OAMP EHCI and OHCI drivers.
1062           This MFD driver does the required setup functionalities for
1063           OMAP USB Host drivers.
1064
1065 config MFD_PALMAS
1066         bool "TI Palmas series chips"
1067         select MFD_CORE
1068         select REGMAP_I2C
1069         select REGMAP_IRQ
1070         depends on I2C=y
1071         help
1072           If you say yes here you get support for the Palmas
1073           series of PMIC chips from Texas Instruments.
1074
1075 config TPS6105X
1076         tristate "TI TPS61050/61052 Boost Converters"
1077         depends on I2C
1078         select REGMAP_I2C
1079         select REGULATOR
1080         select MFD_CORE
1081         select REGULATOR_FIXED_VOLTAGE
1082         help
1083           This option enables a driver for the TP61050/TPS61052
1084           high-power "white LED driver". This boost converter is
1085           sometimes used for other things than white LEDs, and
1086           also contains a GPIO pin.
1087
1088 config TPS65010
1089         tristate "TI TPS6501x Power Management chips"
1090         depends on I2C && GPIOLIB
1091         default y if MACH_OMAP_H2 || MACH_OMAP_H3 || MACH_OMAP_OSK
1092         help
1093           If you say yes here you get support for the TPS6501x series of
1094           Power Management chips.  These include voltage regulators,
1095           lithium ion/polymer battery charging, and other features that
1096           are often used in portable devices like cell phones and cameras.
1097
1098           This driver can also be built as a module.  If so, the module
1099           will be called tps65010.
1100
1101 config TPS6507X
1102         tristate "TI TPS6507x Power Management / Touch Screen chips"
1103         select MFD_CORE
1104         depends on I2C
1105         help
1106           If you say yes here you get support for the TPS6507x series of
1107           Power Management / Touch Screen chips.  These include voltage
1108           regulators, lithium ion/polymer battery charging, touch screen
1109           and other features that are often used in portable devices.
1110           This driver can also be built as a module.  If so, the module
1111           will be called tps6507x.
1112
1113 config TPS65911_COMPARATOR
1114         tristate
1115
1116 config MFD_TPS65090
1117         bool "TI TPS65090 Power Management chips"
1118         depends on I2C=y
1119         select MFD_CORE
1120         select REGMAP_I2C
1121         select REGMAP_IRQ
1122         help
1123           If you say yes here you get support for the TPS65090 series of
1124           Power Management chips.
1125           This driver provides common support for accessing the device,
1126           additional drivers must be enabled in order to use the
1127           functionality of the device.
1128
1129 config MFD_TPS65217
1130         tristate "TI TPS65217 Power Management / White LED chips"
1131         depends on I2C
1132         select MFD_CORE
1133         select REGMAP_I2C
1134         help
1135           If you say yes here you get support for the TPS65217 series of
1136           Power Management / White LED chips.
1137           These include voltage regulators, lithium ion/polymer battery
1138           charger, wled and other features that are often used in portable
1139           devices.
1140
1141           This driver can also be built as a module.  If so, the module
1142           will be called tps65217.
1143
1144 config MFD_TPS65218
1145         tristate "TI TPS65218 Power Management chips"
1146         depends on I2C
1147         select MFD_CORE
1148         select REGMAP_I2C
1149         select REGMAP_IRQ
1150         help
1151           If you say yes here you get support for the TPS65218 series of
1152           Power Management chips.
1153           These include voltage regulators, gpio and other features
1154           that are often used in portable devices. Only regulator
1155           component is currently supported.
1156
1157           This driver can also be built as a module.  If so, the module
1158           will be called tps65218.
1159
1160 config MFD_TPS6586X
1161         bool "TI TPS6586x Power Management chips"
1162         depends on I2C=y
1163         select MFD_CORE
1164         select REGMAP_I2C
1165         help
1166           If you say yes here you get support for the TPS6586X series of
1167           Power Management chips.
1168           This driver provides common support for accessing the device,
1169           additional drivers must be enabled in order to use the
1170           functionality of the device.
1171
1172           This driver can also be built as a module.  If so, the module
1173           will be called tps6586x.
1174
1175 config MFD_TPS65910
1176         bool "TI TPS65910 Power Management chip"
1177         depends on I2C=y
1178         depends on GPIOLIB || COMPILE_TEST
1179         select MFD_CORE
1180         select REGMAP_I2C
1181         select REGMAP_IRQ
1182         select IRQ_DOMAIN
1183         help
1184           if you say yes here you get support for the TPS65910 series of
1185           Power Management chips.
1186
1187 config MFD_TPS65912
1188         bool "TI TPS65912 Power Management chip"
1189         depends on GPIOLIB
1190         select MFD_CORE
1191         help
1192           If you say yes here you get support for the TPS65912 series of
1193           PM chips.
1194
1195 config MFD_TPS65912_I2C
1196         bool "TI TPS65912 Power Management chip with I2C"
1197         select MFD_CORE
1198         select MFD_TPS65912
1199         depends on I2C=y && GPIOLIB
1200         help
1201           If you say yes here you get support for the TPS65912 series of
1202           PM chips with I2C interface.
1203
1204 config MFD_TPS65912_SPI
1205         bool "TI TPS65912 Power Management chip with SPI"
1206         select MFD_CORE
1207         select MFD_TPS65912
1208         depends on SPI_MASTER && GPIOLIB
1209         help
1210           If you say yes here you get support for the TPS65912 series of
1211           PM chips with SPI interface.
1212
1213 config MFD_TPS80031
1214         bool "TI TPS80031/TPS80032 Power Management chips"
1215         depends on I2C=y
1216         select MFD_CORE
1217         select REGMAP_I2C
1218         select REGMAP_IRQ
1219         help
1220           If you say yes here you get support for the Texas Instruments
1221           TPS80031/ TPS80032 Fully Integrated Power Management with Power
1222           Path and Battery Charger. The device provides five configurable
1223           step-down converters, 11 general purpose LDOs, USB OTG Module,
1224           ADC, RTC, 2 PWM, System Voltage Regulator/Battery Charger with
1225           Power Path from USB, 32K clock generator.
1226
1227 config TWL4030_CORE
1228         bool "TI TWL4030/TWL5030/TWL6030/TPS659x0 Support"
1229         depends on I2C=y
1230         select IRQ_DOMAIN
1231         select REGMAP_I2C
1232         help
1233           Say yes here if you have TWL4030 / TWL6030 family chip on your board.
1234           This core driver provides register access and IRQ handling
1235           facilities, and registers devices for the various functions
1236           so that function-specific drivers can bind to them.
1237
1238           These multi-function chips are found on many OMAP2 and OMAP3
1239           boards, providing power management, RTC, GPIO, keypad, a
1240           high speed USB OTG transceiver, an audio codec (on most
1241           versions) and many other features.
1242
1243 config TWL4030_POWER
1244         bool "TI TWL4030 power resources"
1245         depends on TWL4030_CORE && ARM
1246         help
1247           Say yes here if you want to use the power resources on the
1248           TWL4030 family chips.  Most of these resources are regulators,
1249           which have a separate driver; some are control signals, such
1250           as clock request handshaking.
1251
1252           This driver uses board-specific data to initialize the resources
1253           and load scripts controlling which resources are switched off/on
1254           or reset when a sleep, wakeup or warm reset event occurs.
1255
1256 config MFD_TWL4030_AUDIO
1257         bool "TI TWL4030 Audio"
1258         depends on TWL4030_CORE
1259         select MFD_CORE
1260         default n
1261
1262 config TWL6040_CORE
1263         bool "TI TWL6040 audio codec"
1264         depends on I2C=y
1265         select MFD_CORE
1266         select REGMAP_I2C
1267         select REGMAP_IRQ
1268         default n
1269         help
1270           Say yes here if you want support for Texas Instruments TWL6040 audio
1271           codec.
1272           This driver provides common support for accessing the device,
1273           additional drivers must be enabled in order to use the
1274           functionality of the device (audio, vibra).
1275
1276 config MENELAUS
1277         bool "TI TWL92330/Menelaus PM chip"
1278         depends on I2C=y && ARCH_OMAP2
1279         help
1280           If you say yes here you get support for the Texas Instruments
1281           TWL92330/Menelaus Power Management chip. This include voltage
1282           regulators, Dual slot memory card transceivers, real-time clock
1283           and other features that are often used in portable devices like
1284           cell phones and PDAs.
1285
1286 config MFD_WL1273_CORE
1287         tristate "TI WL1273 FM radio"
1288         depends on I2C
1289         select MFD_CORE
1290         default n
1291         help
1292           This is the core driver for the TI WL1273 FM radio. This MFD
1293           driver connects the radio-wl1273 V4L2 module and the wl1273
1294           audio codec.
1295
1296 config MFD_LM3533
1297         tristate "TI/National Semiconductor LM3533 Lighting Power chip"
1298         depends on I2C
1299         select MFD_CORE
1300         select REGMAP_I2C
1301         help
1302           Say yes here to enable support for National Semiconductor / TI
1303           LM3533 Lighting Power chips.
1304
1305           This driver provides common support for accessing the device;
1306           additional drivers must be enabled in order to use the LED,
1307           backlight or ambient-light-sensor functionality of the device.
1308
1309 config MFD_TIMBERDALE
1310         tristate "Timberdale FPGA"
1311         select MFD_CORE
1312         depends on PCI && GPIOLIB && (X86_32 || COMPILE_TEST)
1313         ---help---
1314         This is the core driver for the timberdale FPGA. This device is a
1315         multifunction device which exposes numerous platform devices.
1316
1317         The timberdale FPGA can be found on the Intel Atom development board
1318         for in-vehicle infontainment, called Russellville.
1319
1320 config MFD_TC3589X
1321         bool "Toshiba TC35892 and variants"
1322         depends on I2C=y
1323         depends on OF
1324         select MFD_CORE
1325         help
1326           Support for the Toshiba TC35892 and variants I/O Expander.
1327
1328           This driver provides common support for accessing the device,
1329           additional drivers must be enabled in order to use the
1330           functionality of the device.
1331
1332 config MFD_TMIO
1333         bool
1334         default n
1335
1336 config MFD_T7L66XB
1337         bool "Toshiba T7L66XB"
1338         depends on ARM && HAVE_CLK
1339         select MFD_CORE
1340         select MFD_TMIO
1341         help
1342           Support for Toshiba Mobile IO Controller T7L66XB
1343
1344 config MFD_TC6387XB
1345         bool "Toshiba TC6387XB"
1346         depends on ARM && HAVE_CLK
1347         select MFD_CORE
1348         select MFD_TMIO
1349         help
1350           Support for Toshiba Mobile IO Controller TC6387XB
1351
1352 config MFD_TC6393XB
1353         bool "Toshiba TC6393XB"
1354         depends on ARM && HAVE_CLK
1355         select GPIOLIB
1356         select MFD_CORE
1357         select MFD_TMIO
1358         help
1359           Support for Toshiba Mobile IO Controller TC6393XB
1360
1361 config MFD_VX855
1362         tristate "VIA VX855/VX875 integrated south bridge"
1363         depends on PCI
1364         select MFD_CORE
1365         help
1366           Say yes here to enable support for various functions of the
1367           VIA VX855/VX875 south bridge. You will need to enable the vx855_spi
1368           and/or vx855_gpio drivers for this to do anything useful.
1369
1370 config MFD_ARIZONA
1371         select REGMAP
1372         select REGMAP_IRQ
1373         select MFD_CORE
1374         bool
1375
1376 config MFD_ARIZONA_I2C
1377         tristate "Cirrus Logic/Wolfson Microelectronics Arizona platform with I2C"
1378         select MFD_ARIZONA
1379         select MFD_CORE
1380         select REGMAP_I2C
1381         depends on I2C
1382         help
1383           Support for the Cirrus Logic/Wolfson Microelectronics Arizona platform
1384           audio SoC core functionality controlled via I2C.
1385
1386 config MFD_ARIZONA_SPI
1387         tristate "Cirrus Logic/Wolfson Microelectronics Arizona platform with SPI"
1388         select MFD_ARIZONA
1389         select MFD_CORE
1390         select REGMAP_SPI
1391         depends on SPI_MASTER
1392         help
1393           Support for the Cirrus Logic/Wolfson Microelectronics Arizona platform
1394           audio SoC core functionality controlled via I2C.
1395
1396 config MFD_CS47L24
1397         bool "Cirrus Logic CS47L24 and WM1831"
1398         depends on MFD_ARIZONA
1399         help
1400           Support for Cirrus Logic CS47L24 and WM1831 low power audio SoC
1401
1402 config MFD_WM5102
1403         bool "Wolfson Microelectronics WM5102"
1404         depends on MFD_ARIZONA
1405         help
1406           Support for Wolfson Microelectronics WM5102 low power audio SoC
1407
1408 config MFD_WM5110
1409         bool "Wolfson Microelectronics WM5110 and WM8280/WM8281"
1410         depends on MFD_ARIZONA
1411         help
1412           Support for Wolfson Microelectronics WM5110 and WM8280/WM8281
1413           low power audio SoC
1414
1415 config MFD_WM8997
1416         bool "Wolfson Microelectronics WM8997"
1417         depends on MFD_ARIZONA
1418         help
1419           Support for Wolfson Microelectronics WM8997 low power audio SoC
1420
1421 config MFD_WM8998
1422         bool "Wolfson Microelectronics WM8998"
1423         depends on MFD_ARIZONA
1424         help
1425           Support for Wolfson Microelectronics WM8998 low power audio SoC
1426
1427 config MFD_WM8400
1428         bool "Wolfson Microelectronics WM8400"
1429         select MFD_CORE
1430         depends on I2C=y
1431         select REGMAP_I2C
1432         help
1433           Support for the Wolfson Microelecronics WM8400 PMIC and audio
1434           CODEC.  This driver provides common support for accessing
1435           the device, additional drivers must be enabled in order to use
1436           the functionality of the device.
1437
1438 config MFD_WM831X
1439         bool
1440
1441 config MFD_WM831X_I2C
1442         bool "Wolfson Microelectronics WM831x/2x PMICs with I2C"
1443         select MFD_CORE
1444         select MFD_WM831X
1445         select REGMAP_I2C
1446         select IRQ_DOMAIN
1447         depends on I2C=y
1448         help
1449           Support for the Wolfson Microelecronics WM831x and WM832x PMICs
1450           when controlled using I2C.  This driver provides common support
1451           for accessing the device, additional drivers must be enabled in
1452           order to use the functionality of the device.
1453
1454 config MFD_WM831X_SPI
1455         bool "Wolfson Microelectronics WM831x/2x PMICs with SPI"
1456         select MFD_CORE
1457         select MFD_WM831X
1458         select REGMAP_SPI
1459         select IRQ_DOMAIN
1460         depends on SPI_MASTER
1461         help
1462           Support for the Wolfson Microelecronics WM831x and WM832x PMICs
1463           when controlled using SPI.  This driver provides common support
1464           for accessing the device, additional drivers must be enabled in
1465           order to use the functionality of the device.
1466
1467 config MFD_WM8350
1468         bool
1469
1470 config MFD_WM8350_I2C
1471         bool "Wolfson Microelectronics WM8350 with I2C"
1472         select MFD_WM8350
1473         depends on I2C=y
1474         help
1475           The WM8350 is an integrated audio and power management
1476           subsystem with watchdog and RTC functionality for embedded
1477           systems.  This option enables core support for the WM8350 with
1478           I2C as the control interface.  Additional options must be
1479           selected to enable support for the functionality of the chip.
1480
1481 config MFD_WM8994
1482         tristate "Wolfson Microelectronics WM8994"
1483         select MFD_CORE
1484         select REGMAP_I2C
1485         select REGMAP_IRQ
1486         depends on I2C
1487         help
1488           The WM8994 is a highly integrated hi-fi CODEC designed for
1489           smartphone applications.  As well as audio functionality it
1490           has on board GPIO and regulator functionality which is
1491           supported via the relevant subsystems.  This driver provides
1492           core support for the WM8994, in order to use the actual
1493           functionaltiy of the device other drivers must be enabled.
1494
1495 config MFD_STW481X
1496         tristate "Support for ST Microelectronics STw481x"
1497         depends on I2C && (ARCH_NOMADIK || COMPILE_TEST)
1498         select REGMAP_I2C
1499         select MFD_CORE
1500         help
1501           Select this option to enable the STw481x chip driver used
1502           in various ST Microelectronics and ST-Ericsson embedded
1503           Nomadik series.
1504
1505 menu "Multimedia Capabilities Port drivers"
1506         depends on ARCH_SA1100
1507
1508 config MCP
1509         tristate
1510
1511 # Interface drivers
1512 config MCP_SA11X0
1513         tristate "Support SA11x0 MCP interface"
1514         depends on ARCH_SA1100
1515         select MCP
1516
1517 # Chip drivers
1518 config MCP_UCB1200
1519         tristate "Support for UCB1200 / UCB1300"
1520         depends on MCP_SA11X0
1521         select MCP
1522
1523 config MCP_UCB1200_TS
1524         tristate "Touchscreen interface support"
1525         depends on MCP_UCB1200 && INPUT
1526
1527 endmenu
1528
1529 config MFD_VEXPRESS_SYSREG
1530         bool "Versatile Express System Registers"
1531         depends on VEXPRESS_CONFIG && GPIOLIB
1532         default y
1533         select CLKSRC_MMIO
1534         select GPIO_GENERIC_PLATFORM
1535         select MFD_CORE
1536         select MFD_SYSCON
1537         help
1538           System Registers are the platform configuration block
1539           on the ARM Ltd. Versatile Express board.
1540
1541 endmenu
1542 endif