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