OSDN Git Service

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