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