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