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