GNU Linux-libre 6.1.24-gnu
[releases.git] / drivers / mfd / Kconfig
1 # SPDX-License-Identifier: GPL-2.0-only
2 #
3 # Multifunction miscellaneous devices
4 #
5
6 if HAS_IOMEM
7 menu "Multifunction device drivers"
8
9 config MFD_CORE
10         tristate
11         select IRQ_DOMAIN
12         default n
13
14 config MFD_CS5535
15         tristate "AMD CS5535 and CS5536 southbridge core functions"
16         select MFD_CORE
17         depends on PCI && (X86_32 || (X86 && COMPILE_TEST))
18         depends on !UML
19         help
20           This is the core driver for CS5535/CS5536 MFD functions.  This is
21           necessary for using the board's GPIO and MFGPT functionality.
22
23 config MFD_ALTERA_A10SR
24         bool "Altera Arria10 DevKit System Resource chip"
25         depends on ARCH_INTEL_SOCFPGA && SPI_MASTER=y && OF
26         select REGMAP_SPI
27         select MFD_CORE
28         help
29           Support for the Altera Arria10 DevKit MAX5 System Resource chip
30           using the SPI interface. This driver provides common support for
31           accessing the external gpio extender (LEDs & buttons) and
32           power supply alarms (hwmon).
33
34 config MFD_ALTERA_SYSMGR
35         bool "Altera SOCFPGA System Manager"
36         depends on ARCH_INTEL_SOCFPGA && OF
37         select MFD_SYSCON
38         help
39           Select this to get System Manager support for all Altera branded
40           SOCFPGAs. The SOCFPGA System Manager handles all SOCFPGAs by
41           using regmap_mmio accesses for ARM32 parts and SMC calls to
42           EL3 for ARM64 parts.
43
44 config MFD_ACT8945A
45         tristate "Active-semi ACT8945A"
46         select MFD_CORE
47         select REGMAP_I2C
48         depends on I2C && OF
49         help
50           Support for the ACT8945A PMIC from Active-semi. This device
51           features three step-down DC/DC converters and four low-dropout
52           linear regulators, along with a complete ActivePath battery
53           charger.
54
55 config MFD_SUN4I_GPADC
56         tristate "Allwinner sunxi platforms' GPADC MFD driver"
57         select MFD_CORE
58         select REGMAP_MMIO
59         select REGMAP_IRQ
60         depends on ARCH_SUNXI || COMPILE_TEST
61         depends on !TOUCHSCREEN_SUN4I
62         help
63           Select this to get support for Allwinner SoCs (A10, A13 and A31) ADC.
64           This driver will only map the hardware interrupt and registers, you
65           have to select individual drivers based on this MFD to be able to use
66           the ADC or the thermal sensor. This will try to probe the ADC driver
67           sun4i-gpadc-iio and the hwmon driver iio_hwmon.
68
69           To compile this driver as a module, choose M here: the module will be
70           called sun4i-gpadc.
71
72 config MFD_AS3711
73         bool "AMS AS3711"
74         select MFD_CORE
75         select REGMAP_I2C
76         select REGMAP_IRQ
77         depends on I2C=y
78         help
79           Support for the AS3711 PMIC from AMS
80
81 config MFD_AS3722
82         tristate "ams AS3722 Power Management IC"
83         select MFD_CORE
84         select REGMAP_I2C
85         select REGMAP_IRQ
86         depends on I2C=y && OF
87         help
88           The ams AS3722 is a compact system PMU suitable for mobile phones,
89           tablets etc. It has 4 DC/DC step-down regulators, 3 DC/DC step-down
90           controllers, 11 LDOs, RTC, automatic battery, temperature and
91           over current monitoring, GPIOs, ADC and a watchdog.
92
93 config PMIC_ADP5520
94         bool "Analog Devices ADP5520/01 MFD PMIC Core Support"
95         depends on I2C=y
96         help
97           Say yes here to add support for Analog Devices ADP5520 and ADP5501,
98           Multifunction Power Management IC. This includes
99           the I2C driver and the core APIs _only_, you have to select
100           individual components like LCD backlight, LEDs, GPIOs and Kepad
101           under the corresponding menus.
102
103 config MFD_AAT2870_CORE
104         bool "AnalogicTech AAT2870"
105         select MFD_CORE
106         depends on I2C=y
107         depends on GPIOLIB || COMPILE_TEST
108         help
109           If you say yes here you get support for the AAT2870.
110           This driver provides common support for accessing the device,
111           additional drivers must be enabled in order to use the
112           functionality of the device.
113
114 config MFD_AT91_USART
115         tristate "AT91 USART Driver"
116         select MFD_CORE
117         depends on ARCH_AT91 || COMPILE_TEST
118         help
119           Select this to get support for AT91 USART IP. This is a wrapper
120           over at91-usart-serial driver and usart-spi-driver. Only one function
121           can be used at a time. The choice is done at boot time by the probe
122           function of this MFD driver according to a device tree property.
123
124 config MFD_ATMEL_FLEXCOM
125         tristate "Atmel Flexcom (Flexible Serial Communication Unit)"
126         select MFD_CORE
127         depends on OF
128         help
129           Select this to get support for Atmel Flexcom. This is a wrapper
130           which embeds a SPI controller, a I2C controller and a USART. Only
131           one function can be used at a time. The choice is done at boot time
132           by the probe function of this MFD driver according to a device tree
133           property.
134
135 config MFD_ATMEL_HLCDC
136         tristate "Atmel HLCDC (High-end LCD Controller)"
137         select MFD_CORE
138         select REGMAP_MMIO
139         depends on OF
140         help
141           If you say yes here you get support for the HLCDC block.
142           This driver provides common support for accessing the device,
143           additional drivers must be enabled in order to use the
144           functionality of the device.
145
146 config MFD_ATMEL_SMC
147         bool
148         select MFD_SYSCON
149
150 config MFD_BCM590XX
151         tristate "Broadcom BCM590xx PMUs"
152         select MFD_CORE
153         select REGMAP_I2C
154         depends on I2C
155         help
156           Support for the BCM590xx PMUs from Broadcom
157
158 config MFD_BD9571MWV
159         tristate "ROHM BD9571MWV PMIC"
160         select MFD_CORE
161         select REGMAP_I2C
162         select REGMAP_IRQ
163         depends on I2C
164         help
165           Support for the ROHM BD9571MWV PMIC, which contains single
166           voltage regulator, voltage sampling units, GPIO block and
167           watchdog block.
168
169           This driver can also be built as a module. If so, the module
170           will be called bd9571mwv.
171
172 config MFD_AC100
173         tristate "X-Powers AC100"
174         select MFD_CORE
175         depends on SUNXI_RSB
176         help
177           If you say Y here you get support for the X-Powers AC100 audio codec
178           IC.
179           This driver include only the core APIs. You have to select individual
180           components like codecs or RTC under the corresponding menus.
181
182 config MFD_AXP20X
183         tristate
184         select MFD_CORE
185         select REGMAP_IRQ
186
187 config MFD_AXP20X_I2C
188         tristate "X-Powers AXP series PMICs with I2C"
189         select MFD_AXP20X
190         select REGMAP_I2C
191         depends on I2C
192         help
193           If you say Y here you get support for the X-Powers AXP series power
194           management ICs (PMICs) controlled with I2C.
195           This driver include only the core APIs. You have to select individual
196           components like regulators or the PEK (Power Enable Key) under the
197           corresponding menus.
198
199           Note on x86 this provides an ACPI OpRegion, so this must be 'y'
200           (builtin) and not a module, as the OpRegion must be available as
201           soon as possible. For the same reason the I2C bus driver options
202           I2C_DESIGNWARE_PLATFORM and I2C_DESIGNWARE_BAYTRAIL must be 'y' too.
203
204 config MFD_AXP20X_RSB
205         tristate "X-Powers AXP series PMICs with RSB"
206         select MFD_AXP20X
207         depends on SUNXI_RSB
208         help
209           If you say Y here you get support for the X-Powers AXP series power
210           management ICs (PMICs) controlled with RSB.
211           This driver include only the core APIs. You have to select individual
212           components like regulators or the PEK (Power Enable Key) under the
213           corresponding menus.
214
215 config MFD_CROS_EC_DEV
216         tristate "ChromeOS Embedded Controller multifunction device"
217         select MFD_CORE
218         depends on CROS_EC
219         default CROS_EC
220         help
221           Select this to get support for ChromeOS Embedded Controller
222           sub-devices. This driver will instantiate additional drivers such
223           as RTC, USBPD, etc. but you have to select the individual drivers.
224
225           To compile this driver as a module, choose M here: the module will be
226           called cros-ec-dev.
227
228 config MFD_MADERA
229         tristate "Cirrus Logic Madera codecs"
230         select MFD_CORE
231         select REGMAP
232         select REGMAP_IRQ
233         select MADERA_IRQ
234         select PINCTRL
235         select PINCTRL_MADERA
236         help
237           Support for the Cirrus Logic Madera platform audio codecs
238
239 config MFD_MADERA_I2C
240         tristate "Cirrus Logic Madera codecs with I2C"
241         depends on MFD_MADERA
242         depends on I2C
243         select REGMAP_I2C
244         help
245           Support for the Cirrus Logic Madera platform audio SoC
246           core functionality controlled via I2C.
247
248 config MFD_MADERA_SPI
249         tristate "Cirrus Logic Madera codecs with SPI"
250         depends on MFD_MADERA
251         depends on SPI_MASTER
252         select REGMAP_SPI
253         help
254           Support for the Cirrus Logic Madera platform audio SoC
255           core functionality controlled via SPI.
256
257 config MFD_CS47L15
258         bool "Cirrus Logic CS47L15"
259         select PINCTRL_CS47L15
260         depends on MFD_MADERA
261         help
262           Support for Cirrus Logic CS47L15 Smart Codec
263
264 config MFD_CS47L35
265         bool "Cirrus Logic CS47L35"
266         select PINCTRL_CS47L35
267         depends on MFD_MADERA
268         help
269           Support for Cirrus Logic CS47L35 Smart Codec
270
271 config MFD_CS47L85
272         bool "Cirrus Logic CS47L85"
273         select PINCTRL_CS47L85
274         depends on MFD_MADERA
275         help
276           Support for Cirrus Logic CS47L85 Smart Codec
277
278 config MFD_CS47L90
279         bool "Cirrus Logic CS47L90/91"
280         select PINCTRL_CS47L90
281         depends on MFD_MADERA
282         help
283           Support for Cirrus Logic CS47L90 and CS47L91 Smart Codecs
284
285 config MFD_CS47L92
286         bool "Cirrus Logic CS47L92/93"
287         select PINCTRL_CS47L92
288         depends on MFD_MADERA
289         help
290           Support for Cirrus Logic CS42L92, CS47L92 and CS47L93 Smart Codecs
291
292 config MFD_ASIC3
293         bool "Compaq ASIC3"
294         depends on GPIOLIB
295         depends on ARM || COMPILE_TEST
296         select MFD_CORE
297         help
298           This driver supports the ASIC3 multifunction chip found on many
299           PDAs (mainly iPAQ and HTC based ones)
300
301 config PMIC_DA903X
302         bool "Dialog Semiconductor DA9030/DA9034 PMIC Support"
303         depends on I2C=y
304         help
305           Say yes here to add support for Dialog Semiconductor DA9030 (a.k.a
306           ARAVA) and DA9034 (a.k.a MICCO), these are Power Management IC
307           usually found on PXA processors-based platforms. This includes
308           the I2C driver and the core APIs _only_, you have to select
309           individual components like LCD backlight, voltage regulators,
310           LEDs and battery-charger under the corresponding menus.
311
312 config PMIC_DA9052
313         bool
314         select MFD_CORE
315
316 config MFD_DA9052_SPI
317         bool "Dialog Semiconductor DA9052/53 PMIC variants with SPI"
318         select REGMAP_SPI
319         select REGMAP_IRQ
320         select PMIC_DA9052
321         depends on SPI_MASTER=y
322         help
323           Support for the Dialog Semiconductor DA9052 PMIC
324           when controlled using SPI. This driver provides common support
325           for accessing the device, additional drivers must be enabled in
326           order to use the functionality of the device.
327
328 config MFD_DA9052_I2C
329         bool "Dialog Semiconductor DA9052/53 PMIC variants with I2C"
330         select REGMAP_I2C
331         select REGMAP_IRQ
332         select PMIC_DA9052
333         depends on I2C=y
334         help
335           Support for the Dialog Semiconductor DA9052 PMIC
336           when controlled using I2C. This driver provides common support
337           for accessing the device, additional drivers must be enabled in
338           order to use the functionality of the device.
339
340 config MFD_DA9055
341         bool "Dialog Semiconductor DA9055 PMIC Support"
342         select REGMAP_I2C
343         select REGMAP_IRQ
344         select MFD_CORE
345         depends on I2C=y
346         help
347           Say yes here for support of Dialog Semiconductor DA9055. This is
348           a Power Management IC. This driver provides common support for
349           accessing the device as well as the I2C interface to the chip itself.
350           Additional drivers must be enabled in order to use the functionality
351           of the device.
352
353           This driver can be built as a module. If built as a module it will be
354           called "da9055"
355
356 config MFD_DA9062
357         tristate "Dialog Semiconductor DA9062/61 PMIC Support"
358         select MFD_CORE
359         select REGMAP_I2C
360         select REGMAP_IRQ
361         depends on I2C
362         help
363           Say yes here for support for the Dialog Semiconductor DA9061 and
364           DA9062 PMICs.
365           This includes the I2C driver and core APIs.
366           Additional drivers must be enabled in order to use the functionality
367           of the device.
368
369 config MFD_DA9063
370         tristate "Dialog Semiconductor DA9063 PMIC Support"
371         select MFD_CORE
372         select REGMAP_I2C
373         select REGMAP_IRQ
374         depends on I2C
375         help
376           Say yes here for support for the Dialog Semiconductor DA9063 PMIC.
377           This includes the I2C driver and core APIs.
378           Additional drivers must be enabled in order to use the functionality
379           of the device.
380
381 config MFD_DA9150
382         tristate "Dialog Semiconductor DA9150 Charger Fuel-Gauge chip"
383         depends on I2C
384         select MFD_CORE
385         select REGMAP_I2C
386         select REGMAP_IRQ
387         help
388           This adds support for the DA9150 integrated charger and fuel-gauge
389           chip. This driver provides common support for accessing the device.
390           Additional drivers must be enabled in order to use the specific
391           features of the device.
392
393 config MFD_DLN2
394         tristate "Diolan DLN2 support"
395         select MFD_CORE
396         depends on USB
397         help
398           This adds support for Diolan USB-I2C/SPI/GPIO Master Adapter
399           DLN-2. Additional drivers such as I2C_DLN2, GPIO_DLN2,
400           etc. must be enabled in order to use the functionality of
401           the device.
402
403 config MFD_ENE_KB3930
404         tristate "ENE KB3930 Embedded Controller support"
405         depends on I2C
406         depends on MACH_MMP3_DT || COMPILE_TEST
407         select MFD_CORE
408         help
409           This adds support for the power-off functionality and access to
410           the registers that control LEDS and USB port power on ENE KB3930
411           Embedded Controller. To use the LED functionality LEDS_ARIEL must
412           be enabled.
413
414 config MFD_EXYNOS_LPASS
415         tristate "Samsung Exynos SoC Low Power Audio Subsystem"
416         depends on ARCH_EXYNOS || COMPILE_TEST
417         select MFD_CORE
418         select REGMAP_MMIO
419         help
420           Select this option to enable support for Samsung Exynos Low Power
421           Audio Subsystem present on some of Samsung Exynos
422           SoCs (e.g. Exynos5433).
423           Choose Y here only if you build for such Samsung SoC.
424
425 config MFD_GATEWORKS_GSC
426         tristate "Gateworks System Controller"
427         depends on (I2C && OF)
428         select MFD_CORE
429         select REGMAP_I2C
430         select REGMAP_IRQ
431         help
432           Enable support for the Gateworks System Controller (GSC) found
433           on Gateworks Single Board Computers supporting system functions
434           such as push-button monitor, multiple ADC's for voltage and
435           temperature monitoring, fan controller and watchdog monitor.
436           This driver provides common support for accessing the device.
437           Additional drivers must be enabled in order to use the
438           functionality of the device.
439
440 config MFD_MC13XXX
441         tristate
442         depends on (SPI_MASTER || I2C)
443         select MFD_CORE
444         select REGMAP_IRQ
445         help
446           Enable support for the Freescale MC13783 and MC13892 PMICs.
447           This driver provides common support for accessing the device,
448           additional drivers must be enabled in order to use the
449           functionality of the device.
450
451 config MFD_MC13XXX_SPI
452         tristate "Freescale MC13783 and MC13892 SPI interface"
453         depends on SPI_MASTER
454         select REGMAP_SPI
455         select MFD_MC13XXX
456         help
457           Select this if your MC13xxx is connected via an SPI bus.
458
459 config MFD_MC13XXX_I2C
460         tristate "Freescale MC13892 I2C interface"
461         depends on I2C
462         select REGMAP_I2C
463         select MFD_MC13XXX
464         help
465           Select this if your MC13xxx is connected via an I2C bus.
466
467 config MFD_MP2629
468         tristate "Monolithic Power Systems MP2629 ADC and Battery charger"
469         depends on I2C
470         select REGMAP_I2C
471         select MFD_CORE
472         help
473           Select this option to enable support for Monolithic Power Systems
474           battery charger. This provides ADC, thermal and battery charger power
475           management functions.
476
477 config MFD_MXS_LRADC
478         tristate "Freescale i.MX23/i.MX28 LRADC"
479         depends on ARCH_MXS || COMPILE_TEST
480         select MFD_CORE
481         select STMP_DEVICE
482         help
483           Say yes here to build support for the Low Resolution
484           Analog-to-Digital Converter (LRADC) found on the i.MX23 and i.MX28
485           processors. This driver provides common support for accessing the
486           device, additional drivers must be enabled in order to use the
487           functionality of the device:
488                 mxs-lradc-adc for ADC readings
489                 mxs-lradc-ts  for touchscreen support
490
491           This driver can also be built as a module. If so, the module will be
492           called mxs-lradc.
493
494 config MFD_MX25_TSADC
495         tristate "Freescale i.MX25 integrated Touchscreen and ADC unit"
496         select REGMAP_MMIO
497         depends on (SOC_IMX25 && OF) || COMPILE_TEST
498         help
499           Enable support for the integrated Touchscreen and ADC unit of the
500           i.MX25 processors. They consist of a conversion queue for general
501           purpose ADC and a queue for Touchscreens.
502
503 config MFD_HI6421_PMIC
504         tristate "HiSilicon Hi6421 PMU/Codec IC"
505         depends on OF
506         select MFD_CORE
507         select REGMAP_MMIO
508         help
509           Add support for HiSilicon Hi6421 PMIC. Hi6421 includes multi-
510           functions, such as regulators, RTC, codec, Coulomb counter, etc.
511           This driver includes core APIs _only_. You have to select
512           individual components like voltage regulators under corresponding
513           menus in order to enable them.
514           We communicate with the Hi6421 via memory-mapped I/O.
515
516 config MFD_HI6421_SPMI
517         tristate "HiSilicon Hi6421v600 SPMI PMU/Codec IC"
518         depends on OF
519         depends on SPMI
520         select MFD_CORE
521         select REGMAP_SPMI
522         help
523           Add support for HiSilicon Hi6421v600 SPMI PMIC. Hi6421 includes
524           multi-functions, such as regulators, RTC, codec, Coulomb counter,
525           etc.
526
527           This driver includes core APIs _only_. You have to select
528           individual components like voltage regulators under corresponding
529           menus in order to enable them.
530           We communicate with the Hi6421v600 via a SPMI bus.
531
532 config MFD_HI655X_PMIC
533         tristate "HiSilicon Hi655X series PMU/Codec IC"
534         depends on ARCH_HISI || COMPILE_TEST
535         depends on OF
536         select MFD_CORE
537         select REGMAP_MMIO
538         select REGMAP_IRQ
539         help
540           Select this option to enable Hisilicon hi655x series pmic driver.
541
542 config HTC_PASIC3
543         tristate "HTC PASIC3 LED/DS1WM chip support"
544         select MFD_CORE
545         help
546           This core driver provides register access for the LED/DS1WM
547           chips labeled "AIC2" and "AIC3", found on HTC Blueangel and
548           HTC Magician devices, respectively. Actual functionality is
549           handled by the leds-pasic3 and ds1wm drivers.
550
551 config HTC_I2CPLD
552         bool "HTC I2C PLD chip support"
553         depends on I2C=y && GPIOLIB
554         help
555           If you say yes here you get support for the supposed CPLD
556           found on omap850 HTC devices like the HTC Wizard and HTC Herald.
557           This device provides input and output GPIOs through an I2C
558           interface to one or more sub-chips.
559
560 config MFD_INTEL_QUARK_I2C_GPIO
561         tristate "Intel Quark MFD I2C GPIO"
562         depends on PCI
563         depends on X86
564         depends on COMMON_CLK
565         select MFD_CORE
566         help
567           This MFD provides support for I2C and GPIO that exist only
568           in a single PCI device. It splits the 2 IO devices to
569           their respective IO driver.
570           The GPIO exports a total amount of 8 interrupt-capable GPIOs.
571
572 config LPC_ICH
573         tristate "Intel ICH LPC"
574         depends on PCI
575         select MFD_CORE
576         select P2SB if X86
577         help
578           The LPC bridge function of the Intel ICH provides support for
579           many functional units. This driver provides needed support for
580           other drivers to control these functions, currently GPIO and
581           watchdog.
582
583 config LPC_SCH
584         tristate "Intel SCH LPC"
585         depends on PCI
586         select MFD_CORE
587         help
588           LPC bridge function of the Intel SCH provides support for
589           System Management Bus and General Purpose I/O.
590
591 config INTEL_SOC_PMIC
592         bool "Support for Crystal Cove PMIC"
593         depends on HAS_IOMEM && I2C=y && GPIOLIB && COMMON_CLK
594         depends on (X86 && ACPI) || COMPILE_TEST
595         depends on I2C_DESIGNWARE_PLATFORM=y
596         select MFD_CORE
597         select REGMAP_I2C
598         select REGMAP_IRQ
599         help
600           Select this option to enable support for Crystal Cove PMIC
601           on some Intel SoC systems. The PMIC provides ADC, GPIO,
602           thermal, charger and related power management functions
603           on these systems.
604
605           This option is a bool as it provides an ACPI OpRegion which must be
606           available before any devices using it are probed. This option also
607           causes the designware-i2c driver to be builtin for the same reason.
608
609 config INTEL_SOC_PMIC_BXTWC
610         tristate "Support for Intel Broxton Whiskey Cove PMIC"
611         depends on MFD_INTEL_PMC_BXT
612         select MFD_CORE
613         select REGMAP_IRQ
614         help
615           Select this option to enable support for Whiskey Cove PMIC
616           on Intel Broxton systems. The PMIC provides ADC, GPIO,
617           thermal, charger and related power management functions
618           on these systems.
619
620 config INTEL_SOC_PMIC_CHTWC
621         bool "Support for Intel Cherry Trail Whiskey Cove PMIC"
622         depends on ACPI && HAS_IOMEM && I2C=y && COMMON_CLK
623         depends on X86 || COMPILE_TEST
624         depends on I2C_DESIGNWARE_PLATFORM=y
625         select MFD_CORE
626         select REGMAP_I2C
627         select REGMAP_IRQ
628         help
629           Select this option to enable support for the Intel Cherry Trail
630           Whiskey Cove PMIC found on some Intel Cherry Trail systems.
631
632           This option is a bool as it provides an ACPI OpRegion which must be
633           available before any devices using it are probed. This option also
634           causes the designware-i2c driver to be builtin for the same reason.
635
636 config INTEL_SOC_PMIC_CHTDC_TI
637         tristate "Support for Intel Cherry Trail Dollar Cove TI PMIC"
638         depends on GPIOLIB
639         depends on I2C=y && I2C_DESIGNWARE_PLATFORM=y
640         depends on ACPI
641         depends on X86
642         select MFD_CORE
643         select REGMAP_I2C
644         select REGMAP_IRQ
645         help
646           Select this option for supporting Dollar Cove (TI version) PMIC
647           device that is found on some Intel Cherry Trail systems.
648
649           This option is a bool as it provides an ACPI OpRegion which must be
650           available before any devices using it are probed. This option also
651           needs the designware-i2c driver to be builtin for the same reason.
652
653 config INTEL_SOC_PMIC_MRFLD
654         tristate "Support for Intel Merrifield Basin Cove PMIC"
655         depends on GPIOLIB
656         depends on ACPI
657         depends on INTEL_SCU
658         select MFD_CORE
659         select REGMAP_IRQ
660         help
661           Select this option for supporting Basin Cove PMIC device
662           that is found on Intel Merrifield systems.
663
664 config MFD_INTEL_LPSS
665         tristate
666         select COMMON_CLK
667         select MFD_CORE
668
669 config MFD_INTEL_LPSS_ACPI
670         tristate "Intel Low Power Subsystem support in ACPI mode"
671         select MFD_INTEL_LPSS
672         depends on X86 && ACPI
673         help
674           This driver supports Intel Low Power Subsystem (LPSS) devices such as
675           I2C, SPI and HS-UART starting from Intel Sunrisepoint (Intel Skylake
676           PCH) in ACPI mode.
677
678 config MFD_INTEL_LPSS_PCI
679         tristate "Intel Low Power Subsystem support in PCI mode"
680         select MFD_INTEL_LPSS
681         depends on X86 && PCI
682         help
683           This driver supports Intel Low Power Subsystem (LPSS) devices such as
684           I2C, SPI and HS-UART starting from Intel Sunrisepoint (Intel Skylake
685           PCH) in PCI mode.
686
687 config MFD_INTEL_PMC_BXT
688         tristate "Intel PMC Driver for Broxton"
689         depends on X86
690         depends on X86_PLATFORM_DEVICES
691         depends on ACPI
692         select INTEL_SCU_IPC
693         select MFD_CORE
694         help
695           This driver provides support for the PMC (Power Management
696           Controller) on Intel Broxton and Apollo Lake. The PMC is a
697           multi-function device that exposes IPC, General Control
698           Register and P-unit access. In addition this creates devices
699           for iTCO watchdog and telemetry that are part of the PMC.
700
701 config MFD_IPAQ_MICRO
702         bool "Atmel Micro ASIC (iPAQ h3100/h3600/h3700) Support"
703         depends on SA1100_H3100 || SA1100_H3600
704         select MFD_CORE
705         help
706           Select this to get support for the Microcontroller found in
707           the Compaq iPAQ handheld computers. This is an Atmel
708           AT90LS8535 microcontroller flashed with a special iPAQ
709           firmware using the custom protocol implemented in this driver.
710
711 config MFD_IQS62X
712         tristate "Azoteq IQS620A/621/622/624/625 core support"
713         depends on I2C
714         select MFD_CORE
715         select REGMAP_I2C
716         help
717           Say Y here if you want to build core support for the Azoteq IQS620A,
718           IQS621, IQS622, IQS624 and IQS625 multi-function sensors. Additional
719           options must be selected to enable device-specific functions.
720
721           To compile this driver as a module, choose M here: the module will
722           be called iqs62x.
723
724 config MFD_JANZ_CMODIO
725         tristate "Janz CMOD-IO PCI MODULbus Carrier Board"
726         select MFD_CORE
727         depends on PCI
728         help
729           This is the core driver for the Janz CMOD-IO PCI MODULbus
730           carrier board. This device is a PCI to MODULbus bridge which may
731           host many different types of MODULbus daughterboards, including
732           CAN and GPIO controllers.
733
734 config MFD_KEMPLD
735         tristate "Kontron module PLD device"
736         select MFD_CORE
737         help
738           This is the core driver for the PLD (Programmable Logic Device) found
739           on some Kontron ETX and nearly all COMexpress (ETXexpress) modules as
740           well as on some other Kontron products. The PLD device may provide
741           functions like watchdog, GPIO, UART and I2C bus.
742
743           This driver can also be built as a module. If so, the module
744           will be called kempld-core.
745
746 config MFD_88PM800
747         tristate "Marvell 88PM800"
748         depends on I2C
749         select REGMAP_I2C
750         select REGMAP_IRQ
751         select MFD_CORE
752         help
753           This supports for Marvell 88PM800 Power Management IC.
754           This includes the I2C driver and the core APIs _only_, you have to
755           select individual components like voltage regulators, RTC and
756           battery-charger under the corresponding menus.
757
758 config MFD_88PM805
759         tristate "Marvell 88PM805"
760         depends on I2C
761         select REGMAP_I2C
762         select REGMAP_IRQ
763         select MFD_CORE
764         help
765           This supports for Marvell 88PM805 Power Management IC. This includes
766           the I2C driver and the core APIs _only_, you have to select individual
767           components like codec device, headset/Mic device under the
768           corresponding menus.
769
770 config MFD_88PM860X
771         bool "Marvell 88PM8606/88PM8607"
772         depends on I2C=y
773         select REGMAP_I2C
774         select MFD_CORE
775         help
776           This supports for Marvell 88PM8606/88PM8607 Power Management IC.
777           This includes the I2C driver and the core APIs _only_, you have to
778           select individual components like voltage regulators, RTC and
779           battery-charger under the corresponding menus.
780
781 config MFD_MAX14577
782         tristate "Maxim Semiconductor MAX14577/77836 MUIC + Charger Support"
783         depends on I2C
784         select MFD_CORE
785         select REGMAP_I2C
786         select REGMAP_IRQ
787         select IRQ_DOMAIN
788         help
789           Say yes here to add support for Maxim Semiconductor MAX14577 and
790           MAX77836 Micro-USB ICs with battery charger.
791           This driver provides common support for accessing the device;
792           additional drivers must be enabled in order to use the functionality
793           of the device.
794
795 config MFD_MAX77620
796         bool "Maxim Semiconductor MAX77620 and MAX20024 PMIC Support"
797         depends on I2C=y
798         depends on OF || COMPILE_TEST
799         select MFD_CORE
800         select REGMAP_I2C
801         select REGMAP_IRQ
802         select IRQ_DOMAIN
803         help
804           Say yes here to add support for Maxim Semiconductor MAX77620 and
805           MAX20024 which are Power Management IC with General purpose pins,
806           RTC, regulators, clock generator, watchdog etc. This driver
807           provides common support for accessing the device; additional drivers
808           must be enabled in order to use the functionality of the device.
809
810 config MFD_MAX77650
811         tristate "Maxim MAX77650/77651 PMIC Support"
812         depends on I2C
813         depends on OF || COMPILE_TEST
814         select MFD_CORE
815         select REGMAP_I2C
816         select REGMAP_IRQ
817         help
818           Say Y here to add support for Maxim Semiconductor MAX77650 and
819           MAX77651 Power Management ICs. This is the core multifunction
820           driver for interacting with the device. The module name is
821           'max77650'. Additional drivers can be enabled in order to use
822           the following functionalities of the device: GPIO, regulator,
823           charger, LED, onkey.
824
825 config MFD_MAX77686
826         tristate "Maxim Semiconductor MAX77686/802 PMIC Support"
827         depends on I2C
828         depends on OF || COMPILE_TEST
829         select MFD_CORE
830         select REGMAP_I2C
831         select REGMAP_IRQ
832         select IRQ_DOMAIN
833         help
834           Say yes here to add support for Maxim Semiconductor MAX77686 and
835           MAX77802 which are Power Management IC with an RTC on chip.
836           This driver provides common support for accessing the device;
837           additional drivers must be enabled in order to use the functionality
838           of the device.
839
840 config MFD_MAX77693
841         tristate "Maxim Semiconductor MAX77693 PMIC Support"
842         depends on I2C
843         select MFD_CORE
844         select REGMAP_I2C
845         select REGMAP_IRQ
846         help
847           Say yes here to add support for Maxim Semiconductor MAX77693.
848           This is a companion Power Management IC with Flash, Haptic, Charger,
849           and MUIC(Micro USB Interface Controller) controls on chip.
850           This driver provides common support for accessing the device;
851           additional drivers must be enabled in order to use the functionality
852           of the device.
853
854 config MFD_MAX77714
855         tristate "Maxim Semiconductor MAX77714 PMIC Support"
856         depends on I2C
857         depends on OF || COMPILE_TEST
858         select MFD_CORE
859         select REGMAP_I2C
860         help
861           Say yes here to add support for Maxim Semiconductor MAX77714.
862           This is a Power Management IC with 4 buck regulators, 9
863           low-dropout regulators, 8 GPIOs, RTC, watchdog etc. This driver
864           provides common support for accessing the device; additional
865           drivers must be enabled in order to use each functionality of the
866           device.
867
868 config MFD_MAX77843
869         bool "Maxim Semiconductor MAX77843 PMIC Support"
870         depends on I2C=y
871         select MFD_CORE
872         select REGMAP_I2C
873         select REGMAP_IRQ
874         help
875           Say yes here to add support for Maxim Semiconductor MAX77843.
876           This is companion Power Management IC with LEDs, Haptic, Charger,
877           Fuel Gauge, MUIC(Micro USB Interface Controller) controls on chip.
878           This driver provides common support for accessing the device;
879           additional drivers must be enabled in order to use the functionality
880           of the device.
881
882 config MFD_MAX8907
883         tristate "Maxim Semiconductor MAX8907 PMIC Support"
884         select MFD_CORE
885         depends on I2C
886         select REGMAP_I2C
887         select REGMAP_IRQ
888         help
889           Say yes here to add support for Maxim Semiconductor MAX8907. This is
890           a Power Management IC. This driver provides common support for
891           accessing the device; additional drivers must be enabled in order
892           to use the functionality of the device.
893
894 config MFD_MAX8925
895         bool "Maxim Semiconductor MAX8925 PMIC Support"
896         depends on I2C=y
897         select MFD_CORE
898         help
899           Say yes here to add support for Maxim Semiconductor MAX8925. This is
900           a Power Management IC. This driver provides common support for
901           accessing the device, additional drivers must be enabled in order
902           to use the functionality of the device.
903
904 config MFD_MAX8997
905         bool "Maxim Semiconductor MAX8997/8966 PMIC Support"
906         depends on I2C=y
907         select MFD_CORE
908         select IRQ_DOMAIN
909         help
910           Say yes here to add support for Maxim Semiconductor MAX8997/8966.
911           This is a Power Management IC with RTC, Flash, Fuel Gauge, Haptic,
912           MUIC controls on chip.
913           This driver provides common support for accessing the device;
914           additional drivers must be enabled in order to use the functionality
915           of the device.
916
917 config MFD_MAX8998
918         bool "Maxim Semiconductor MAX8998/National LP3974 PMIC Support"
919         depends on I2C=y
920         select MFD_CORE
921         select IRQ_DOMAIN
922         help
923           Say yes here to add support for Maxim Semiconductor MAX8998 and
924           National Semiconductor LP3974. This is a Power Management IC.
925           This driver provides common support for accessing the device,
926           additional drivers must be enabled in order to use the functionality
927           of the device.
928
929 config MFD_MT6360
930         tristate "Mediatek MT6360 SubPMIC"
931         select MFD_CORE
932         select REGMAP_I2C
933         select REGMAP_IRQ
934         select CRC8
935         depends on I2C
936         help
937           Say Y here to enable MT6360 PMU/PMIC/LDO functional support.
938           PMU part includes Charger, Flashlight, RGB LED
939           PMIC part includes 2-channel BUCKs and 2-channel LDOs
940           LDO part includes 4-channel LDOs
941
942 config MFD_MT6370
943         tristate "MediaTek MT6370 SubPMIC"
944         select MFD_CORE
945         select REGMAP_I2C
946         select REGMAP_IRQ
947         depends on I2C
948         help
949           Say Y here to enable MT6370 SubPMIC functional support.
950           It consists of a single cell battery charger with ADC monitoring, RGB
951           LEDs, dual channel flashlight, WLED backlight driver, display bias
952           voltage supply, one general purpose LDO, and the USB Type-C & PD
953           controller complies with the latest USB Type-C and PD standards.
954
955           This driver can also be built as a module. If so, the module
956           will be called "mt6370".
957
958 config MFD_MT6397
959         tristate "MediaTek MT6397 PMIC Support"
960         select MFD_CORE
961         select IRQ_DOMAIN
962         help
963           Say yes here to add support for MediaTek MT6397 PMIC. This is
964           a Power Management IC. This driver provides common support for
965           accessing the device; additional drivers must be enabled in order
966           to use the functionality of the device.
967
968 config MFD_MENF21BMC
969         tristate "MEN 14F021P00 Board Management Controller Support"
970         depends on I2C
971         select MFD_CORE
972         help
973           Say yes here to add support for the MEN 14F021P00 BMC
974           which is a Board Management Controller connected to the I2C bus.
975           The device supports multiple sub-devices like LED, HWMON and WDT.
976           This driver provides common support for accessing the devices;
977           additional drivers must be enabled in order to use the
978           functionality of the BMC device.
979
980           This driver can also be built as a module. If so the module
981           will be called menf21bmc.
982
983 config MFD_OCELOT
984         tristate "Microsemi Ocelot External Control Support"
985         depends on SPI_MASTER
986         select MFD_CORE
987         select REGMAP_SPI
988         help
989           Ocelot is a family of networking chips that support multiple ethernet
990           and fibre interfaces. In addition to networking, they contain several
991           other functions, including pinctrl, MDIO, and communication with
992           external chips. While some chips have an internal processor capable of
993           running an OS, others don't. All chips can be controlled externally
994           through different interfaces, including SPI, I2C, and PCIe.
995
996           Say yes here to add support for Ocelot chips (VSC7511, VSC7512,
997           VSC7513, VSC7514) controlled externally.
998
999           To compile this driver as a module, choose M here: the module will be
1000           called ocelot-soc.
1001
1002           If unsure, say N.
1003
1004 config EZX_PCAP
1005         bool "Motorola EZXPCAP Support"
1006         depends on SPI_MASTER
1007         help
1008           This enables the PCAP ASIC present on EZX Phones. This is
1009           needed for MMC, TouchScreen, Sound, USB, etc..
1010
1011 config MFD_CPCAP
1012         tristate "Support for Motorola CPCAP"
1013         depends on SPI
1014         depends on OF || COMPILE_TEST
1015         select MFD_CORE
1016         select REGMAP_SPI
1017         select REGMAP_IRQ
1018         help
1019           Say yes here if you want to include driver for CPCAP.
1020           It is used on many Motorola phones and tablets as a PMIC.
1021           At least Motorola Droid 4 is known to use CPCAP.
1022
1023 config MFD_VIPERBOARD
1024         tristate "Nano River Technologies Viperboard"
1025         select MFD_CORE
1026         depends on USB
1027         default n
1028         help
1029           Say yes here if you want support for Nano River Technologies
1030           Viperboard.
1031           There are mfd cell drivers available for i2c master, adc and
1032           both gpios found on the board. The spi part does not yet
1033           have a driver.
1034           You need to select the mfd cell drivers separately.
1035           The drivers do not support all features the board exposes.
1036
1037 config MFD_NTXEC
1038         tristate "Netronix embedded controller (EC)"
1039         depends on OF || COMPILE_TEST
1040         depends on I2C
1041         select REGMAP_I2C
1042         select MFD_CORE
1043         help
1044           Say yes here if you want to support the embedded controller found in
1045           certain e-book readers designed by the original design manufacturer
1046           Netronix.
1047
1048 config MFD_RETU
1049         tristate "Nokia Retu and Tahvo multi-function device"
1050         select MFD_CORE
1051         depends on I2C
1052         select REGMAP_IRQ
1053         help
1054           Retu and Tahvo are a multi-function devices found on Nokia
1055           Internet Tablets (770, N800 and N810).
1056
1057 config MFD_PCF50633
1058         tristate "NXP PCF50633"
1059         depends on I2C
1060         select REGMAP_I2C
1061         help
1062           Say yes here if you have NXP PCF50633 chip on your board.
1063           This core driver provides register access and IRQ handling
1064           facilities, and registers devices for the various functions
1065           so that function-specific drivers can bind to them.
1066
1067 config PCF50633_ADC
1068         tristate "NXP PCF50633 ADC"
1069         depends on MFD_PCF50633
1070         help
1071           Say yes here if you want to include support for ADC in the
1072           NXP PCF50633 chip.
1073
1074 config PCF50633_GPIO
1075         tristate "NXP PCF50633 GPIO"
1076         depends on MFD_PCF50633
1077         help
1078           Say yes here if you want to include support GPIO for pins on
1079           the PCF50633 chip.
1080
1081 config UCB1400_CORE
1082         tristate "Philips UCB1400 Core driver"
1083         depends on AC97_BUS
1084         depends on GPIOLIB
1085         help
1086           This enables support for the Philips UCB1400 core functions.
1087           The UCB1400 is an AC97 audio codec.
1088
1089           To compile this driver as a module, choose M here: the
1090           module will be called ucb1400_core.
1091
1092 config MFD_PM8XXX
1093         tristate "Qualcomm PM8xxx PMIC chips driver"
1094         depends on (ARM || HEXAGON || COMPILE_TEST)
1095         select IRQ_DOMAIN_HIERARCHY
1096         select MFD_CORE
1097         select REGMAP
1098         help
1099           If you say yes to this option, support will be included for the
1100           built-in PM8xxx PMIC chips.
1101
1102           This is required if your board has a PM8xxx and uses its features,
1103           such as: MPPs, GPIOs, regulators, interrupts, and PWM.
1104
1105           Say M here if you want to include support for PM8xxx chips as a
1106           module. This will build a module called "pm8xxx-core".
1107
1108 config MFD_QCOM_RPM
1109         tristate "Qualcomm Resource Power Manager (RPM)"
1110         depends on ARCH_QCOM && OF
1111         help
1112           If you say yes to this option, support will be included for the
1113           Resource Power Manager system found in the Qualcomm 8660, 8960 and
1114           8064 based devices.
1115
1116           This is required to access many regulators, clocks and bus
1117           frequencies controlled by the RPM on these devices.
1118
1119           Say M here if you want to include support for the Qualcomm RPM as a
1120           module. This will build a module called "qcom_rpm".
1121
1122 config MFD_SPMI_PMIC
1123         tristate "Qualcomm SPMI PMICs"
1124         depends on ARCH_QCOM || COMPILE_TEST
1125         depends on OF
1126         depends on SPMI
1127         select REGMAP_SPMI
1128         help
1129           This enables support for the Qualcomm SPMI PMICs.
1130           These PMICs are currently used with the Snapdragon 800 series of
1131           SoCs.  Note, that this will only be useful paired with descriptions
1132           of the independent functions as children nodes in the device tree.
1133
1134           Say M here if you want to include support for the SPMI PMIC
1135           series as a module.  The module will be called "qcom-spmi-pmic".
1136
1137 config MFD_SY7636A
1138         tristate "Silergy SY7636A voltage regulator"
1139         depends on I2C
1140         select MFD_SIMPLE_MFD_I2C
1141         help
1142           Enable support for Silergy SY7636A voltage regulator.
1143
1144           To enable support for building sub-devices as modules,
1145           choose M here.
1146
1147 config MFD_RDC321X
1148         tristate "RDC R-321x southbridge"
1149         select MFD_CORE
1150         depends on PCI
1151         help
1152           Say yes here if you want to have support for the RDC R-321x SoC
1153           southbridge which provides access to GPIOs and Watchdog using the
1154           southbridge PCI device configuration space.
1155
1156 config MFD_RT4831
1157         tristate "Richtek RT4831 four channel WLED and Display Bias Voltage"
1158         depends on I2C
1159         select MFD_CORE
1160         select REGMAP_I2C
1161         help
1162           This enables support for the Richtek RT4831 that includes 4 channel
1163           WLED driving and Display Bias Voltage. It's commonly used to provide
1164           power to the LCD display and LCD backlight.
1165
1166 config MFD_RT5033
1167         tristate "Richtek RT5033 Power Management IC"
1168         depends on I2C
1169         select MFD_CORE
1170         select REGMAP_I2C
1171         select REGMAP_IRQ
1172         help
1173           This driver provides for the Richtek RT5033 Power Management IC,
1174           which includes the I2C driver and the Core APIs. This driver provides
1175           common support for accessing the device. The device supports multiple
1176           sub-devices like charger, fuel gauge, flash LED, current source,
1177           LDO and Buck.
1178
1179 config MFD_RT5120
1180         tristate "Richtek RT5120 Power Management IC"
1181         depends on I2C
1182         select MFD_CORE
1183         select REGMAP_I2C
1184         select REGMAP_IRQ
1185         help
1186           The enables support for Richtek RT5120 PMIC. It includes four high
1187           efficiency buck converters and one LDO voltage regulator. The device
1188           is targeted at providing the CPU voltage, memory, I/O and peripheral
1189           power rails in home entertainment devices.
1190
1191 config MFD_RC5T583
1192         bool "Ricoh RC5T583 Power Management system device"
1193         depends on I2C=y
1194         select MFD_CORE
1195         select REGMAP_I2C
1196         help
1197           Select this option to get support for the RICOH583 Power
1198           Management system device.
1199           This driver provides common support for accessing the device
1200           through i2c interface. The device supports multiple sub-devices
1201           like GPIO, interrupts, RTC, LDO and DCDC regulators, onkey.
1202           Additional drivers must be enabled in order to use the
1203           different functionality of the device.
1204
1205 config MFD_RK808
1206         tristate "Rockchip RK805/RK808/RK809/RK817/RK818 Power Management Chip"
1207         depends on I2C && OF
1208         select MFD_CORE
1209         select REGMAP_I2C
1210         select REGMAP_IRQ
1211         help
1212           If you say yes here you get support for the RK805, RK808, RK809,
1213           RK817 and RK818 Power Management chips.
1214           This driver provides common support for accessing the device
1215           through I2C interface. The device supports multiple sub-devices
1216           including interrupts, RTC, LDO & DCDC regulators, and onkey.
1217
1218 config MFD_RN5T618
1219         tristate "Ricoh RN5T567/618 PMIC"
1220         depends on I2C
1221         depends on OF
1222         select MFD_CORE
1223         select REGMAP_I2C
1224         select REGMAP_IRQ
1225         help
1226           Say yes here to add support for the Ricoh RN5T567,
1227           RN5T618, RC5T619 PMIC.
1228           This driver provides common support for accessing the device,
1229           additional drivers must be enabled in order to use the
1230           functionality of the device.
1231
1232 config MFD_SEC_CORE
1233         tristate "Samsung Electronics PMIC Series Support"
1234         depends on I2C=y
1235         depends on OF || COMPILE_TEST
1236         select MFD_CORE
1237         select REGMAP_I2C
1238         select REGMAP_IRQ
1239         help
1240           Support for the Samsung Electronics PMIC devices coming
1241           usually along with Samsung Exynos SoC chipset.
1242           This driver provides common support for accessing the device,
1243           additional drivers must be enabled in order to use the functionality
1244           of the device
1245
1246           To compile this driver as a module, choose M here: the
1247           module will be called sec-core.
1248           Have in mind that important core drivers (like regulators) depend
1249           on this driver so building this as a module might require proper
1250           initial ramdisk or might not boot up as well in certain scenarios.
1251
1252 config MFD_SI476X_CORE
1253         tristate "Silicon Laboratories 4761/64/68 AM/FM radio."
1254         depends on I2C
1255         select MFD_CORE
1256         select REGMAP_I2C
1257         help
1258           This is the core driver for the SI476x series of AM/FM
1259           radio. This MFD driver connects the radio-si476x V4L2 module
1260           and the si476x audio codec.
1261
1262           To compile this driver as a module, choose M here: the
1263           module will be called si476x-core.
1264
1265 config MFD_SIMPLE_MFD_I2C
1266         tristate
1267         depends on I2C
1268         select MFD_CORE
1269         select REGMAP_I2C
1270         help
1271           This driver creates a single register map with the intention for it
1272           to be shared by all sub-devices.
1273
1274           Once the register map has been successfully initialised, any
1275           sub-devices represented by child nodes in Device Tree will be
1276           subsequently registered.
1277
1278 config MFD_SL28CPLD
1279         tristate "Kontron sl28cpld Board Management Controller"
1280         depends on I2C
1281         depends on ARCH_LAYERSCAPE || COMPILE_TEST
1282         select MFD_SIMPLE_MFD_I2C
1283         help
1284           Say yes here to enable support for the Kontron sl28cpld board
1285           management controller.
1286
1287           It can be found on the following boards:
1288                 * SMARC-sAL28
1289
1290 config MFD_SM501
1291         tristate "Silicon Motion SM501"
1292         depends on HAS_DMA
1293         help
1294           This is the core driver for the Silicon Motion SM501 multimedia
1295           companion chip. This device is a multifunction device which may
1296           provide numerous interfaces including USB host controller, USB gadget,
1297           asynchronous serial ports, audio functions, and a dual display video
1298           interface. The device may be connected by PCI or local bus with
1299           varying functions enabled.
1300
1301 config MFD_SM501_GPIO
1302         bool "Export GPIO via GPIO layer"
1303         depends on MFD_SM501 && GPIOLIB
1304         help
1305           This option uses the gpio library layer to export the 64 GPIO
1306           lines on the SM501. The platform data is used to supply the
1307           base number for the first GPIO line to register.
1308
1309 config MFD_SKY81452
1310         tristate "Skyworks Solutions SKY81452"
1311         select MFD_CORE
1312         select REGMAP_I2C
1313         depends on I2C
1314         help
1315           This is the core driver for the Skyworks SKY81452 backlight and
1316           voltage regulator device.
1317
1318           This driver can also be built as a module.  If so, the module
1319           will be called sky81452.
1320
1321 config MFD_SC27XX_PMIC
1322         tristate "Spreadtrum SC27xx PMICs"
1323         depends on ARCH_SPRD || COMPILE_TEST
1324         depends on SPI_MASTER
1325         select MFD_CORE
1326         select REGMAP_SPI
1327         select REGMAP_IRQ
1328         help
1329           This enables support for the Spreadtrum SC27xx PMICs with SPI
1330           interface. The SC27xx series PMICs integrate power management,
1331           audio codec, battery management and user interface support
1332           function (such as RTC, Typec, indicator and so on) in a single chip.
1333
1334           This driver provides common support for accessing the SC27xx PMICs,
1335           and it also adds the irq_chip parts for handling the PMIC chip events.
1336
1337 config ABX500_CORE
1338         bool "ST-Ericsson ABX500 Mixed Signal Circuit register functions"
1339         depends on ARCH_U8500 || COMPILE_TEST
1340         default y if ARCH_U8500
1341         help
1342           Say yes here if you have the ABX500 Mixed Signal IC family
1343           chips. This core driver expose register access functions.
1344           Functionality specific drivers using these functions can
1345           remain unchanged when IC changes. Binding of the functions to
1346           actual register access is done by the IC core driver.
1347
1348 config AB8500_CORE
1349         bool "ST-Ericsson AB8500 Mixed Signal Power Management chip"
1350         depends on ABX500_CORE && MFD_DB8500_PRCMU
1351         select POWER_SUPPLY
1352         select MFD_CORE
1353         select IRQ_DOMAIN
1354         help
1355           Select this option to enable access to AB8500 power management
1356           chip. This connects to U8500 either on the SSP/SPI bus (deprecated
1357           since hardware version v1.0) or the I2C bus via PRCMU. It also adds
1358           the irq_chip parts for handling the Mixed Signal chip events.
1359           This chip embeds various other multimedia functionalities as well.
1360
1361 config MFD_DB8500_PRCMU
1362         bool "ST-Ericsson DB8500 Power Reset Control Management Unit"
1363         depends on UX500_SOC_DB8500
1364         select MFD_CORE
1365         help
1366           Select this option to enable support for the DB8500 Power Reset
1367           and Control Management Unit. This is basically an autonomous
1368           system controller running an XP70 microprocessor, which is accessed
1369           through a register map.
1370
1371 config MFD_STMPE
1372         bool "STMicroelectronics STMPE"
1373         depends on (I2C=y || SPI_MASTER=y)
1374         depends on OF
1375         select MFD_CORE
1376         help
1377           Support for the STMPE family of I/O Expanders from
1378           STMicroelectronics.
1379
1380           Currently supported devices are:
1381
1382                 STMPE811: GPIO, Touchscreen, ADC
1383                 STMPE1601: GPIO, Keypad
1384                 STMPE1801: GPIO, Keypad
1385                 STMPE2401: GPIO, Keypad
1386                 STMPE2403: GPIO, Keypad
1387
1388           This driver provides common support for accessing the device,
1389           additional drivers must be enabled in order to use the functionality
1390           of the device.  Currently available sub drivers are:
1391
1392                 GPIO: stmpe-gpio
1393                 Keypad: stmpe-keypad
1394                 Touchscreen: stmpe-ts
1395                 ADC: stmpe-adc
1396
1397 menu "STMicroelectronics STMPE Interface Drivers"
1398 depends on MFD_STMPE
1399
1400 config STMPE_I2C
1401         bool "STMicroelectronics STMPE I2C Interface"
1402         depends on I2C=y
1403         default y
1404         help
1405           This is used to enable I2C interface of STMPE
1406
1407 config STMPE_SPI
1408         bool "STMicroelectronics STMPE SPI Interface"
1409         depends on SPI_MASTER
1410         help
1411           This is used to enable SPI interface of STMPE
1412 endmenu
1413
1414 config MFD_STA2X11
1415         bool "STMicroelectronics STA2X11"
1416         depends on STA2X11
1417         select MFD_CORE
1418         select REGMAP_MMIO
1419
1420 config MFD_SUN6I_PRCM
1421         bool "Allwinner A31/A23/A33 PRCM controller"
1422         depends on ARCH_SUNXI || COMPILE_TEST
1423         select MFD_CORE
1424         help
1425           Support for the PRCM (Power/Reset/Clock Management) unit available
1426           in the A31, A23, and A33 SoCs. Other Allwinner SoCs contain similar
1427           hardware, but they do not use this driver.
1428
1429 config MFD_SYSCON
1430         bool "System Controller Register R/W Based on Regmap"
1431         select REGMAP_MMIO
1432         help
1433           Select this option to enable accessing system control registers
1434           via regmap.
1435
1436 config MFD_DAVINCI_VOICECODEC
1437         tristate
1438         select MFD_CORE
1439         select REGMAP_MMIO
1440
1441 config MFD_TI_AM335X_TSCADC
1442         tristate "TI ADC / Touch Screen chip support"
1443         select MFD_CORE
1444         select REGMAP
1445         select REGMAP_MMIO
1446         help
1447           If you say yes here you get support for Texas Instruments series
1448           of Touch Screen /ADC chips.
1449           To compile this driver as a module, choose M here: the
1450           module will be called ti_am335x_tscadc.
1451
1452 config MFD_DM355EVM_MSP
1453         bool "TI DaVinci DM355 EVM microcontroller"
1454         depends on I2C=y && MACH_DAVINCI_DM355_EVM
1455         help
1456           This driver supports the MSP430 microcontroller used on these
1457           boards.  MSP430 firmware manages resets and power sequencing,
1458           inputs from buttons and the IR remote, LEDs, an RTC, and more.
1459
1460 config MFD_LP3943
1461         tristate "TI/National Semiconductor LP3943 MFD Driver"
1462         depends on I2C
1463         select MFD_CORE
1464         select REGMAP_I2C
1465         help
1466           Support for the TI/National Semiconductor LP3943.
1467           This driver consists of GPIO and PWM drivers.
1468           With these functionalities, it can be used for LED string control or
1469           general usage such like a GPIO controller and a PWM controller.
1470
1471 config MFD_LP8788
1472         bool "TI LP8788 Power Management Unit Driver"
1473         depends on I2C=y
1474         select MFD_CORE
1475         select REGMAP_I2C
1476         select IRQ_DOMAIN
1477         help
1478           TI LP8788 PMU supports regulators, battery charger, RTC,
1479           ADC, backlight driver and current sinks.
1480
1481 config MFD_TI_LMU
1482         tristate "TI Lighting Management Unit driver"
1483         depends on I2C
1484         select MFD_CORE
1485         select REGMAP_I2C
1486         help
1487           Say yes here to enable support for TI LMU chips.
1488           TI LMU MFD supports LM3532, LM3631, LM3632, LM3633, LM3695 and
1489           LM36274.  It consists of backlight, LED and regulator driver.
1490           It provides consistent device controls for lighting functions.
1491
1492 config MFD_OMAP_USB_HOST
1493         bool "TI OMAP USBHS core and TLL driver"
1494         depends on USB_EHCI_HCD_OMAP || USB_OHCI_HCD_OMAP3
1495         depends on COMMON_CLK
1496         default y
1497         help
1498           This is the core driver for the OAMP EHCI and OHCI drivers.
1499           This MFD driver does the required setup functionalities for
1500           OMAP USB Host drivers.
1501
1502 config MFD_PALMAS
1503         bool "TI Palmas series chips"
1504         select MFD_CORE
1505         select REGMAP_I2C
1506         select REGMAP_IRQ
1507         depends on I2C=y
1508         help
1509           If you say yes here you get support for the Palmas
1510           series of PMIC chips from Texas Instruments.
1511
1512 config TPS6105X
1513         tristate "TI TPS61050/61052 Boost Converters"
1514         depends on I2C
1515         select REGMAP_I2C
1516         select REGULATOR
1517         select MFD_CORE
1518         select REGULATOR_FIXED_VOLTAGE
1519         help
1520           This option enables a driver for the TP61050/TPS61052
1521           high-power "white LED driver". This boost converter is
1522           sometimes used for other things than white LEDs, and
1523           also contains a GPIO pin.
1524
1525 config TPS65010
1526         tristate "TI TPS6501x Power Management chips"
1527         depends on I2C && GPIOLIB
1528         default y if MACH_OMAP_H2 || MACH_OMAP_H3 || MACH_OMAP_OSK
1529         help
1530           If you say yes here you get support for the TPS6501x series of
1531           Power Management chips.  These include voltage regulators,
1532           lithium ion/polymer battery charging, and other features that
1533           are often used in portable devices like cell phones and cameras.
1534
1535           This driver can also be built as a module.  If so, the module
1536           will be called tps65010.
1537
1538 config TPS6507X
1539         tristate "TI TPS6507x Power Management / Touch Screen chips"
1540         select MFD_CORE
1541         depends on I2C
1542         help
1543           If you say yes here you get support for the TPS6507x series of
1544           Power Management / Touch Screen chips.  These include voltage
1545           regulators, lithium ion/polymer battery charging, touch screen
1546           and other features that are often used in portable devices.
1547           This driver can also be built as a module.  If so, the module
1548           will be called tps6507x.
1549
1550 config MFD_TPS65086
1551         tristate "TI TPS65086 Power Management Integrated Chips (PMICs)"
1552         select MFD_CORE
1553         select REGMAP
1554         select REGMAP_IRQ
1555         select REGMAP_I2C
1556         depends on I2C
1557         help
1558           If you say yes here you get support for the TPS65086 series of
1559           Power Management chips.
1560           This driver provides common support for accessing the device,
1561           additional drivers must be enabled in order to use the
1562           functionality of the device.
1563
1564 config TPS65911_COMPARATOR
1565         tristate
1566
1567 config MFD_TPS65090
1568         bool "TI TPS65090 Power Management chips"
1569         depends on I2C=y
1570         select MFD_CORE
1571         select REGMAP_I2C
1572         select REGMAP_IRQ
1573         help
1574           If you say yes here you get support for the TPS65090 series of
1575           Power Management chips.
1576           This driver provides common support for accessing the device,
1577           additional drivers must be enabled in order to use the
1578           functionality of the device.
1579
1580 config MFD_TPS65217
1581         tristate "TI TPS65217 Power Management / White LED chips"
1582         depends on I2C && OF
1583         select MFD_CORE
1584         select REGMAP_I2C
1585         select IRQ_DOMAIN
1586         help
1587           If you say yes here you get support for the TPS65217 series of
1588           Power Management / White LED chips.
1589           These include voltage regulators, lithium ion/polymer battery
1590           charger, wled and other features that are often used in portable
1591           devices.
1592
1593           This driver can also be built as a module.  If so, the module
1594           will be called tps65217.
1595
1596 config MFD_TI_LP873X
1597         tristate "TI LP873X Power Management IC"
1598         depends on I2C
1599         select MFD_CORE
1600         select REGMAP_I2C
1601         help
1602           If you say yes here then you get support for the LP873X series of
1603           Power Management Integrated Circuits (PMIC).
1604           These include voltage regulators, thermal protection, configurable
1605           General Purpose Outputs (GPO) that are used in portable devices.
1606
1607           This driver can also be built as a module. If so, the module
1608           will be called lp873x.
1609
1610 config MFD_TI_LP87565
1611         tristate "TI LP87565 Power Management IC"
1612         depends on I2C && OF
1613         select MFD_CORE
1614         select REGMAP_I2C
1615         help
1616           If you say yes here then you get support for the LP87565 series of
1617           Power Management Integrated Circuits (PMIC).
1618           These include voltage regulators, thermal protection, configurable
1619           General Purpose Outputs (GPO) that are used in portable devices.
1620
1621           This driver can also be built as a module. If so, the module
1622           will be called lp87565.
1623
1624 config MFD_TPS65218
1625         tristate "TI TPS65218 Power Management chips"
1626         depends on I2C && OF
1627         select MFD_CORE
1628         select REGMAP_I2C
1629         select REGMAP_IRQ
1630         help
1631           If you say yes here you get support for the TPS65218 series of
1632           Power Management chips.
1633           These include voltage regulators, gpio and other features
1634           that are often used in portable devices.
1635
1636           This driver can also be built as a module.  If so, the module
1637           will be called tps65218.
1638
1639 config MFD_TPS6586X
1640         bool "TI TPS6586x Power Management chips"
1641         depends on I2C=y
1642         select MFD_CORE
1643         select REGMAP_I2C
1644         help
1645           If you say yes here you get support for the TPS6586X series of
1646           Power Management chips.
1647           This driver provides common support for accessing the device,
1648           additional drivers must be enabled in order to use the
1649           functionality of the device.
1650
1651           This driver can also be built as a module.  If so, the module
1652           will be called tps6586x.
1653
1654 config MFD_TPS65910
1655         bool "TI TPS65910 Power Management chip"
1656         depends on I2C=y
1657         depends on GPIOLIB || COMPILE_TEST
1658         select MFD_CORE
1659         select REGMAP_I2C
1660         select REGMAP_IRQ
1661         select IRQ_DOMAIN
1662         help
1663           if you say yes here you get support for the TPS65910 series of
1664           Power Management chips.
1665
1666 config MFD_TPS65912
1667         tristate
1668         select MFD_CORE
1669         select REGMAP
1670         select REGMAP_IRQ
1671
1672 config MFD_TPS65912_I2C
1673         tristate "TI TPS65912 Power Management chip with I2C"
1674         select MFD_TPS65912
1675         select REGMAP_I2C
1676         depends on I2C
1677         help
1678           If you say yes here you get support for the TPS65912 series of
1679           PM chips with I2C interface.
1680
1681 config MFD_TPS65912_SPI
1682         tristate "TI TPS65912 Power Management chip with SPI"
1683         select MFD_TPS65912
1684         select REGMAP_SPI
1685         depends on SPI_MASTER
1686         help
1687           If you say yes here you get support for the TPS65912 series of
1688           PM chips with SPI interface.
1689
1690 config TWL4030_CORE
1691         bool "TI TWL4030/TWL5030/TWL6030/TPS659x0 Support"
1692         depends on I2C=y
1693         select IRQ_DOMAIN
1694         select REGMAP_I2C
1695         help
1696           Say yes here if you have TWL4030 / TWL6030 family chip on your board.
1697           This core driver provides register access and IRQ handling
1698           facilities, and registers devices for the various functions
1699           so that function-specific drivers can bind to them.
1700
1701           These multi-function chips are found on many OMAP2 and OMAP3
1702           boards, providing power management, RTC, GPIO, keypad, a
1703           high speed USB OTG transceiver, an audio codec (on most
1704           versions) and many other features.
1705
1706 config TWL4030_POWER
1707         bool "TI TWL4030 power resources"
1708         depends on TWL4030_CORE && ARM
1709         help
1710           Say yes here if you want to use the power resources on the
1711           TWL4030 family chips.  Most of these resources are regulators,
1712           which have a separate driver; some are control signals, such
1713           as clock request handshaking.
1714
1715           This driver uses board-specific data to initialize the resources
1716           and load scripts controlling which resources are switched off/on
1717           or reset when a sleep, wakeup or warm reset event occurs.
1718
1719 config MFD_TWL4030_AUDIO
1720         bool "TI TWL4030 Audio"
1721         depends on TWL4030_CORE
1722         select MFD_CORE
1723         default n
1724
1725 config TWL6040_CORE
1726         bool "TI TWL6040 audio codec"
1727         depends on I2C=y
1728         select MFD_CORE
1729         select REGMAP_I2C
1730         select REGMAP_IRQ
1731         default n
1732         help
1733           Say yes here if you want support for Texas Instruments TWL6040 audio
1734           codec.
1735           This driver provides common support for accessing the device,
1736           additional drivers must be enabled in order to use the
1737           functionality of the device (audio, vibra).
1738
1739 config MENELAUS
1740         bool "TI TWL92330/Menelaus PM chip"
1741         depends on I2C=y && ARCH_OMAP2
1742         help
1743           If you say yes here you get support for the Texas Instruments
1744           TWL92330/Menelaus Power Management chip. This include voltage
1745           regulators, Dual slot memory card transceivers, real-time clock
1746           and other features that are often used in portable devices like
1747           cell phones and PDAs.
1748
1749 config MFD_WL1273_CORE
1750         tristate "TI WL1273 FM radio"
1751         depends on I2C
1752         select MFD_CORE
1753         default n
1754         help
1755           This is the core driver for the TI WL1273 FM radio. This MFD
1756           driver connects the radio-wl1273 V4L2 module and the wl1273
1757           audio codec.
1758
1759 config MFD_LM3533
1760         tristate "TI/National Semiconductor LM3533 Lighting Power chip"
1761         depends on I2C
1762         select MFD_CORE
1763         select REGMAP_I2C
1764         help
1765           Say yes here to enable support for National Semiconductor / TI
1766           LM3533 Lighting Power chips.
1767
1768           This driver provides common support for accessing the device;
1769           additional drivers must be enabled in order to use the LED,
1770           backlight or ambient-light-sensor functionality of the device.
1771
1772 config MFD_TIMBERDALE
1773         tristate "Timberdale FPGA"
1774         select MFD_CORE
1775         depends on PCI && GPIOLIB && (X86_32 || COMPILE_TEST)
1776         help
1777         This is the core driver for the timberdale FPGA. This device is a
1778         multifunction device which exposes numerous platform devices.
1779
1780         The timberdale FPGA can be found on the Intel Atom development board
1781         for in-vehicle infontainment, called Russellville.
1782
1783 config MFD_TC3589X
1784         bool "Toshiba TC35892 and variants"
1785         depends on I2C=y
1786         depends on OF
1787         select MFD_CORE
1788         help
1789           Support for the Toshiba TC35892 and variants I/O Expander.
1790
1791           This driver provides common support for accessing the device,
1792           additional drivers must be enabled in order to use the
1793           functionality of the device.
1794
1795 config MFD_TMIO
1796         bool
1797         default n
1798
1799 config MFD_T7L66XB
1800         bool "Toshiba T7L66XB"
1801         depends on ARM && HAVE_CLK
1802         select MFD_CORE
1803         select MFD_TMIO
1804         help
1805           Support for Toshiba Mobile IO Controller T7L66XB
1806
1807 config MFD_TC6387XB
1808         bool "Toshiba TC6387XB"
1809         depends on ARM && HAVE_CLK
1810         select MFD_CORE
1811         select MFD_TMIO
1812         help
1813           Support for Toshiba Mobile IO Controller TC6387XB
1814
1815 config MFD_TC6393XB
1816         bool "Toshiba TC6393XB"
1817         depends on ARM && HAVE_CLK
1818         select GPIOLIB
1819         select MFD_CORE
1820         select MFD_TMIO
1821         help
1822           Support for Toshiba Mobile IO Controller TC6393XB
1823
1824 config MFD_TQMX86
1825         tristate "TQ-Systems IO controller TQMX86"
1826         select MFD_CORE
1827         help
1828           Say yes here to enable support for various functions of the
1829           TQ-Systems IO controller and watchdog device, found on their
1830           ComExpress CPU modules.
1831
1832 config MFD_VX855
1833         tristate "VIA VX855/VX875 integrated south bridge"
1834         depends on PCI
1835         select MFD_CORE
1836         help
1837           Say yes here to enable support for various functions of the
1838           VIA VX855/VX875 south bridge. You will need to enable the vx855_spi
1839           and/or vx855_gpio drivers for this to do anything useful.
1840
1841 config MFD_LOCHNAGAR
1842         bool "Cirrus Logic Lochnagar Audio Development Board"
1843         select MFD_CORE
1844         select REGMAP_I2C
1845         depends on I2C=y && OF
1846         help
1847           Support for Cirrus Logic Lochnagar audio development board.
1848
1849 config MFD_ARIZONA
1850         select REGMAP
1851         select REGMAP_IRQ
1852         select MFD_CORE
1853         tristate
1854
1855 config MFD_ARIZONA_I2C
1856         tristate "Cirrus Logic/Wolfson Microelectronics Arizona platform with I2C"
1857         select MFD_ARIZONA
1858         select REGMAP_I2C
1859         depends on I2C
1860         help
1861           Support for the Cirrus Logic/Wolfson Microelectronics Arizona platform
1862           audio SoC core functionality controlled via I2C.
1863
1864 config MFD_ARIZONA_SPI
1865         tristate "Cirrus Logic/Wolfson Microelectronics Arizona platform with SPI"
1866         select MFD_ARIZONA
1867         select REGMAP_SPI
1868         depends on SPI_MASTER
1869         help
1870           Support for the Cirrus Logic/Wolfson Microelectronics Arizona platform
1871           audio SoC core functionality controlled via SPI.
1872
1873 config MFD_CS47L24
1874         bool "Cirrus Logic CS47L24 and WM1831"
1875         depends on MFD_ARIZONA
1876         help
1877           Support for Cirrus Logic CS47L24 and WM1831 low power audio SoC
1878
1879 config MFD_WM5102
1880         bool "Wolfson Microelectronics WM5102"
1881         depends on MFD_ARIZONA
1882         help
1883           Support for Wolfson Microelectronics WM5102 low power audio SoC
1884
1885 config MFD_WM5110
1886         bool "Wolfson Microelectronics WM5110 and WM8280/WM8281"
1887         depends on MFD_ARIZONA
1888         help
1889           Support for Wolfson Microelectronics WM5110 and WM8280/WM8281
1890           low power audio SoC
1891
1892 config MFD_WM8997
1893         bool "Wolfson Microelectronics WM8997"
1894         depends on MFD_ARIZONA
1895         help
1896           Support for Wolfson Microelectronics WM8997 low power audio SoC
1897
1898 config MFD_WM8998
1899         bool "Wolfson Microelectronics WM8998"
1900         depends on MFD_ARIZONA
1901         help
1902           Support for Wolfson Microelectronics WM8998 low power audio SoC
1903
1904 config MFD_WM8400
1905         bool "Wolfson Microelectronics WM8400"
1906         select MFD_CORE
1907         depends on I2C=y
1908         select REGMAP_I2C
1909         help
1910           Support for the Wolfson Microelecronics WM8400 PMIC and audio
1911           CODEC.  This driver provides common support for accessing
1912           the device, additional drivers must be enabled in order to use
1913           the functionality of the device.
1914
1915 config MFD_WM831X
1916         bool
1917
1918 config MFD_WM831X_I2C
1919         bool "Wolfson Microelectronics WM831x/2x PMICs with I2C"
1920         select MFD_CORE
1921         select MFD_WM831X
1922         select REGMAP_I2C
1923         select IRQ_DOMAIN
1924         depends on I2C=y
1925         help
1926           Support for the Wolfson Microelecronics WM831x and WM832x PMICs
1927           when controlled using I2C.  This driver provides common support
1928           for accessing the device, additional drivers must be enabled in
1929           order to use the functionality of the device.
1930
1931 config MFD_WM831X_SPI
1932         bool "Wolfson Microelectronics WM831x/2x PMICs with SPI"
1933         select MFD_CORE
1934         select MFD_WM831X
1935         select REGMAP_SPI
1936         select IRQ_DOMAIN
1937         depends on SPI_MASTER
1938         help
1939           Support for the Wolfson Microelecronics WM831x and WM832x PMICs
1940           when controlled using SPI.  This driver provides common support
1941           for accessing the device, additional drivers must be enabled in
1942           order to use the functionality of the device.
1943
1944 config MFD_WM8350
1945         bool
1946
1947 config MFD_WM8350_I2C
1948         bool "Wolfson Microelectronics WM8350 with I2C"
1949         select MFD_WM8350
1950         select REGMAP_I2C
1951         depends on I2C=y
1952         help
1953           The WM8350 is an integrated audio and power management
1954           subsystem with watchdog and RTC functionality for embedded
1955           systems.  This option enables core support for the WM8350 with
1956           I2C as the control interface.  Additional options must be
1957           selected to enable support for the functionality of the chip.
1958
1959 config MFD_WM8994
1960         tristate "Wolfson Microelectronics WM8994"
1961         select MFD_CORE
1962         select REGMAP_I2C
1963         select REGMAP_IRQ
1964         depends on I2C
1965         help
1966           The WM8994 is a highly integrated hi-fi CODEC designed for
1967           smartphone applications.  As well as audio functionality it
1968           has on board GPIO and regulator functionality which is
1969           supported via the relevant subsystems.  This driver provides
1970           core support for the WM8994, in order to use the actual
1971           functionality of the device other drivers must be enabled.
1972
1973 config MFD_WM97xx
1974         tristate "Wolfson Microelectronics WM97xx"
1975         select MFD_CORE
1976         select REGMAP_AC97
1977         select AC97_BUS_COMPAT
1978         depends on AC97_BUS_NEW
1979         help
1980           The WM9705, WM9712 and WM9713 is a highly integrated hi-fi CODEC
1981           designed for smartphone applications.  As well as audio functionality
1982           it has on board GPIO and a touchscreen functionality which is
1983           supported via the relevant subsystems.  This driver provides core
1984           support for the WM97xx, in order to use the actual functionality of
1985           the device other drivers must be enabled.
1986
1987 config MFD_STW481X
1988         tristate "Support for ST Microelectronics STw481x"
1989         depends on I2C && (ARCH_NOMADIK || COMPILE_TEST)
1990         select REGMAP_I2C
1991         select MFD_CORE
1992         help
1993           Select this option to enable the STw481x chip driver used
1994           in various ST Microelectronics and ST-Ericsson embedded
1995           Nomadik series.
1996
1997 config MFD_ROHM_BD718XX
1998         tristate "ROHM BD71837 Power Management IC"
1999         depends on I2C=y
2000         depends on OF
2001         select REGMAP_I2C
2002         select REGMAP_IRQ
2003         select MFD_CORE
2004         help
2005           Select this option to get support for the ROHM BD71837
2006           Power Management ICs. BD71837 is designed to power processors like
2007           NXP i.MX8. It contains 8 BUCK outputs and 7 LDOs, voltage monitoring
2008           and emergency shut down as well as 32,768KHz clock output.
2009
2010 config MFD_ROHM_BD71828
2011         tristate "ROHM BD71828 and BD71815 Power Management IC"
2012         depends on I2C=y
2013         depends on OF
2014         select REGMAP_I2C
2015         select REGMAP_IRQ
2016         select MFD_CORE
2017         help
2018           Select this option to get support for the ROHM BD71828 and BD71815
2019           Power Management ICs. BD71828GW and BD71815AGW are single-chip power
2020           management ICs mainly for battery-powered portable devices.
2021           The BD71828 integrates 7 buck converters and 7 LDOs. The BD71815
2022           has 5 bucks, 7 LDOs, and a boost for driving LEDs. Both ICs provide
2023           also a single-cell linear charger, a Coulomb counter, a real-time
2024           clock (RTC), GPIOs and a 32.768 kHz clock gate.
2025
2026 config MFD_ROHM_BD957XMUF
2027         tristate "ROHM BD9576MUF and BD9573MUF Power Management ICs"
2028         depends on I2C=y
2029         depends on OF
2030         select REGMAP_I2C
2031         select REGMAP_IRQ
2032         select MFD_CORE
2033         help
2034           Select this option to get support for the ROHM BD9576MUF and
2035           BD9573MUF Power Management ICs. BD9576 and BD9573 are primarily
2036           designed to be used to power R-Car series processors.
2037
2038 config MFD_STM32_LPTIMER
2039         tristate "Support for STM32 Low-Power Timer"
2040         depends on (ARCH_STM32 && OF) || COMPILE_TEST
2041         select MFD_CORE
2042         select REGMAP
2043         select REGMAP_MMIO
2044         help
2045           Select this option to enable STM32 Low-Power Timer driver
2046           used for PWM, IIO Trigger, IIO Encoder and Counter. Shared
2047           resources are also dealt with here.
2048
2049           To compile this driver as a module, choose M here: the
2050           module will be called stm32-lptimer.
2051
2052 config MFD_STM32_TIMERS
2053         tristate "Support for STM32 Timers"
2054         depends on (ARCH_STM32 && OF) || COMPILE_TEST
2055         select MFD_CORE
2056         select REGMAP
2057         select REGMAP_MMIO
2058         help
2059           Select this option to enable STM32 timers driver used
2060           for PWM and IIO Timer. This driver allow to share the
2061           registers between the others drivers.
2062
2063 config MFD_STPMIC1
2064         tristate "Support for STPMIC1 PMIC"
2065         depends on (I2C=y && OF)
2066         select REGMAP_I2C
2067         select REGMAP_IRQ
2068         select MFD_CORE
2069         help
2070           Support for ST Microelectronics STPMIC1 PMIC. STPMIC1 has power on
2071           key, watchdog and regulator functionalities which are supported via
2072           the relevant subsystems. This driver provides core support for the
2073           STPMIC1. In order to use the actual functionality of the device other
2074           drivers must be enabled.
2075
2076           To compile this driver as a module, choose M here: the
2077           module will be called stpmic1.
2078
2079 config MFD_STMFX
2080         tristate "Support for STMicroelectronics Multi-Function eXpander (STMFX)"
2081         depends on I2C
2082         depends on OF || COMPILE_TEST
2083         select MFD_CORE
2084         select REGMAP_I2C
2085         help
2086           Support for the STMicroelectronics Multi-Function eXpander.
2087
2088           This driver provides common support for accessing the device,
2089           additional drivers must be enabled in order to use the functionality
2090           of the device.
2091
2092 config MFD_WCD934X
2093         tristate "Support for WCD9340/WCD9341 Codec"
2094         depends on SLIMBUS
2095         select REGMAP
2096         select REGMAP_SLIMBUS
2097         select REGMAP_IRQ
2098         select MFD_CORE
2099         help
2100           Support for the Qualcomm WCD9340/WCD9341 Codec.
2101           This driver provides common support WCD934x audio codec and its
2102           associated Pin Controller, Soundwire Controller and Audio codec.
2103
2104 config MFD_ATC260X
2105         tristate
2106         select MFD_CORE
2107         select REGMAP
2108         select REGMAP_IRQ
2109
2110 config MFD_ATC260X_I2C
2111         tristate "Actions Semi ATC260x PMICs with I2C"
2112         select MFD_ATC260X
2113         select REGMAP_I2C
2114         depends on I2C
2115         help
2116           Support for the Actions Semi ATC260x PMICs controlled via I2C.
2117
2118           This driver provides common support for accessing the ATC2603C
2119           and ATC2609A chip variants, additional drivers must be enabled
2120           in order to use the functionality of the device.
2121
2122 config MFD_KHADAS_MCU
2123         tristate "Support for Khadas System control Microcontroller"
2124         depends on I2C
2125         depends on ARCH_MESON || ARCH_ROCKCHIP || COMPILE_TEST
2126         select MFD_CORE
2127         select REGMAP_I2C
2128         help
2129           Support for the Khadas System control Microcontroller interface
2130           present on their VIM and Edge boards.
2131
2132           This Microcontroller is present on the Khadas VIM1, VIM2, VIM3 and
2133           Edge boards.
2134
2135           It provides multiple boot control features like password check,
2136           power-on options, power-off control and system FAN control on recent
2137           boards.
2138
2139           This driver provides common support for accessing the device,
2140           additional drivers must be enabled in order to use the functionality
2141           of the device.
2142
2143 config MFD_ACER_A500_EC
2144         tristate "Support for Acer Iconia Tab A500 Embedded Controller"
2145         depends on I2C
2146         depends on (ARCH_TEGRA_2x_SOC && OF) || COMPILE_TEST
2147         select MFD_CORE
2148         select REGMAP
2149         help
2150           Support for Embedded Controller found on Acer Iconia Tab A500.
2151           The controller itself is ENE KB930, it is running firmware
2152           customized for the specific needs of the Acer A500 hardware.
2153
2154 config MFD_QCOM_PM8008
2155         tristate "QCOM PM8008 Power Management IC"
2156         depends on I2C && OF
2157         select REGMAP_I2C
2158         select REGMAP_IRQ
2159         help
2160           Select this option to get support for the Qualcomm Technologies, Inc.
2161           PM8008 PMIC chip. PM8008 is a dedicated camera PMIC that integrates
2162           all the necessary power management, housekeeping, and interface
2163           support functions into a single IC. This driver provides common
2164           support for accessing the device by instantiating all the child nodes
2165           under it in the device tree. Additional drivers must be enabled in
2166           order to use the functionality of the device.
2167
2168 menu "Multimedia Capabilities Port drivers"
2169         depends on ARCH_SA1100
2170
2171 config MCP
2172         tristate
2173
2174 # Interface drivers
2175 config MCP_SA11X0
2176         tristate "Support SA11x0 MCP interface"
2177         depends on ARCH_SA1100
2178         select MCP
2179
2180 # Chip drivers
2181 config MCP_UCB1200
2182         tristate "Support for UCB1200 / UCB1300"
2183         depends on MCP_SA11X0
2184         select MCP
2185
2186 config MCP_UCB1200_TS
2187         tristate "Touchscreen interface support"
2188         depends on MCP_UCB1200 && INPUT
2189
2190 endmenu
2191
2192 config MFD_VEXPRESS_SYSREG
2193         tristate "Versatile Express System Registers"
2194         depends on VEXPRESS_CONFIG && GPIOLIB
2195         default y
2196         select GPIO_GENERIC_PLATFORM
2197         select MFD_CORE
2198         select MFD_SYSCON
2199         help
2200           System Registers are the platform configuration block
2201           on the ARM Ltd. Versatile Express board.
2202
2203 config RAVE_SP_CORE
2204         tristate "RAVE SP MCU core driver"
2205         depends on SERIAL_DEV_BUS
2206         select CRC_CCITT
2207         help
2208           Select this to get support for the Supervisory Processor
2209           device found on several devices in RAVE line of hardware.
2210
2211 config SGI_MFD_IOC3
2212         bool "SGI IOC3 core driver"
2213         depends on PCI && MIPS && 64BIT
2214         select MFD_CORE
2215         help
2216           This option enables basic support for the SGI IOC3-based
2217           controller cards.  This option does not enable any specific
2218           functions on such a card, but provides necessary infrastructure
2219           for other drivers to utilize.
2220
2221           If you have an SGI Origin, Octane, or a PCI IOC3 card,
2222           then say Y. Otherwise say N.
2223
2224 config MFD_INTEL_M10_BMC
2225         tristate "Intel MAX 10 Board Management Controller"
2226         depends on SPI_MASTER
2227         select REGMAP_SPI_AVMM
2228         select MFD_CORE
2229         help
2230           Support for the Intel MAX 10 board management controller using the
2231           SPI interface.
2232
2233           This driver provides common support for accessing the device,
2234           additional drivers must be enabled in order to use the functionality
2235           of the device.
2236
2237 config MFD_RSMU_I2C
2238         tristate "Renesas Synchronization Management Unit with I2C"
2239         depends on I2C && OF
2240         select MFD_CORE
2241         select REGMAP_I2C
2242         help
2243           Support for the Renesas Synchronization Management Unit, such as
2244           Clockmatrix and 82P33XXX series. This option supports I2C as
2245           the control interface.
2246
2247           This driver provides common support for accessing the device.
2248           Additional drivers must be enabled in order to use the functionality
2249           of the device.
2250
2251 config MFD_RSMU_SPI
2252         tristate "Renesas Synchronization Management Unit with SPI"
2253         depends on SPI && OF
2254         select MFD_CORE
2255         select REGMAP_SPI
2256         help
2257           Support for the Renesas Synchronization Management Unit, such as
2258           Clockmatrix and 82P33XXX series. This option supports SPI as
2259           the control interface.
2260
2261           This driver provides common support for accessing the device.
2262           Additional drivers must be enabled in order to use the functionality
2263           of the device.
2264
2265 endmenu
2266 endif