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