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