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