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