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