xref: /openbmc/linux/drivers/mfd/Kconfig (revision 275876e2)
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_AS3711
22	bool "AMS AS3711"
23	select MFD_CORE
24	select REGMAP_I2C
25	select REGMAP_IRQ
26	depends on I2C=y
27	help
28	  Support for the AS3711 PMIC from AMS
29
30config MFD_AS3722
31	bool "ams AS3722 Power Management IC"
32	select MFD_CORE
33	select REGMAP_I2C
34	select REGMAP_IRQ
35	depends on I2C=y && OF
36	help
37	  The ams AS3722 is a compact system PMU suitable for mobile phones,
38	  tablets etc. It has 4 DC/DC step-down regulators, 3 DC/DC step-down
39	  controllers, 11 LDOs, RTC, automatic battery, temperature and
40	  over current monitoring, GPIOs, ADC and a watchdog.
41
42config PMIC_ADP5520
43	bool "Analog Devices ADP5520/01 MFD PMIC Core Support"
44	depends on I2C=y
45	help
46	  Say yes here to add support for Analog Devices AD5520 and ADP5501,
47	  Multifunction Power Management IC. This includes
48	  the I2C driver and the core APIs _only_, you have to select
49	  individual components like LCD backlight, LEDs, GPIOs and Kepad
50	  under the corresponding menus.
51
52config MFD_AAT2870_CORE
53	bool "AnalogicTech AAT2870"
54	select MFD_CORE
55	depends on I2C=y && GPIOLIB
56	help
57	  If you say yes here you get support for the AAT2870.
58	  This driver provides common support for accessing the device,
59	  additional drivers must be enabled in order to use the
60	  functionality of the device.
61
62config MFD_BCM590XX
63	tristate "Broadcom BCM590xx PMUs"
64	select MFD_CORE
65	select REGMAP_I2C
66	depends on I2C
67	help
68	  Support for the BCM590xx PMUs from Broadcom
69
70config MFD_AXP20X
71	bool "X-Powers AXP20X"
72	select MFD_CORE
73	select REGMAP_I2C
74	select REGMAP_IRQ
75	depends on I2C=y
76	help
77	  If you say Y here you get support for the X-Powers AXP202 and AXP209.
78	  This driver include only the core APIs. You have to select individual
79	  components like regulators or the PEK (Power Enable Key) under the
80	  corresponding menus.
81
82config MFD_CROS_EC
83	tristate "ChromeOS Embedded Controller"
84	select MFD_CORE
85	help
86	  If you say Y here you get support for the ChromeOS Embedded
87	  Controller (EC) providing keyboard, battery and power services.
88	  You also need to enable the driver for the bus you are using. The
89	  protocol for talking to the EC is defined by the bus driver.
90
91config MFD_CROS_EC_I2C
92	tristate "ChromeOS Embedded Controller (I2C)"
93	depends on MFD_CROS_EC && I2C
94
95	help
96	  If you say Y here, you get support for talking to the ChromeOS
97	  EC through an I2C bus. This uses a simple byte-level protocol with
98	  a checksum. Failing accesses will be retried three times to
99	  improve reliability.
100
101config MFD_CROS_EC_SPI
102	tristate "ChromeOS Embedded Controller (SPI)"
103	depends on MFD_CROS_EC && SPI && OF
104
105	---help---
106	  If you say Y here, you get support for talking to the ChromeOS EC
107	  through a SPI bus, using a byte-level protocol. Since the EC's
108	  response time cannot be guaranteed, we support ignoring
109	  'pre-amble' bytes before the response actually starts.
110
111config MFD_ASIC3
112	bool "Compaq ASIC3"
113	depends on GPIOLIB && ARM
114	select MFD_CORE
115	 ---help---
116	  This driver supports the ASIC3 multifunction chip found on many
117	  PDAs (mainly iPAQ and HTC based ones)
118
119config PMIC_DA903X
120	bool "Dialog Semiconductor DA9030/DA9034 PMIC Support"
121	depends on I2C=y
122	help
123	  Say yes here to add support for Dialog Semiconductor DA9030 (a.k.a
124	  ARAVA) and DA9034 (a.k.a MICCO), these are Power Management IC
125	  usually found on PXA processors-based platforms. This includes
126	  the I2C driver and the core APIs _only_, you have to select
127	  individual components like LCD backlight, voltage regulators,
128	  LEDs and battery-charger under the corresponding menus.
129
130config PMIC_DA9052
131	bool
132	select MFD_CORE
133
134config MFD_DA9052_SPI
135	bool "Dialog Semiconductor DA9052/53 PMIC variants with SPI"
136	select REGMAP_SPI
137	select REGMAP_IRQ
138	select PMIC_DA9052
139	depends on SPI_MASTER=y
140	help
141	  Support for the Dialog Semiconductor DA9052 PMIC
142	  when controlled using SPI. This driver provides common support
143	  for accessing the device, additional drivers must be enabled in
144	  order to use the functionality of the device.
145
146config MFD_DA9052_I2C
147	bool "Dialog Semiconductor DA9052/53 PMIC variants with I2C"
148	select REGMAP_I2C
149	select REGMAP_IRQ
150	select PMIC_DA9052
151	depends on I2C=y
152	help
153	  Support for the Dialog Semiconductor DA9052 PMIC
154	  when controlled using I2C. This driver provides common support
155	  for accessing the device, additional drivers must be enabled in
156	  order to use the functionality of the device.
157
158config MFD_DA9055
159	bool "Dialog Semiconductor DA9055 PMIC Support"
160	select REGMAP_I2C
161	select REGMAP_IRQ
162	select MFD_CORE
163	depends on I2C=y
164	help
165	  Say yes here for support of Dialog Semiconductor DA9055. This is
166	  a Power Management IC. This driver provides common support for
167	  accessing the device as well as the I2C interface to the chip itself.
168	  Additional drivers must be enabled in order to use the functionality
169	  of the device.
170
171	  This driver can be built as a module. If built as a module it will be
172	  called "da9055"
173
174config MFD_DA9063
175	bool "Dialog Semiconductor DA9063 PMIC Support"
176	select MFD_CORE
177	select REGMAP_I2C
178	select REGMAP_IRQ
179	depends on I2C=y
180	help
181	  Say yes here for support for the Dialog Semiconductor DA9063 PMIC.
182	  This includes the I2C driver and core APIs.
183	  Additional drivers must be enabled in order to use the functionality
184	  of the device.
185
186config MFD_MC13XXX
187	tristate
188	depends on (SPI_MASTER || I2C)
189	select MFD_CORE
190	select REGMAP_IRQ
191	help
192	  Enable support for the Freescale MC13783 and MC13892 PMICs.
193	  This driver provides common support for accessing the device,
194	  additional drivers must be enabled in order to use the
195	  functionality of the device.
196
197config MFD_MC13XXX_SPI
198	tristate "Freescale MC13783 and MC13892 SPI interface"
199	depends on SPI_MASTER
200	select REGMAP_SPI
201	select MFD_MC13XXX
202	help
203	  Select this if your MC13xxx is connected via an SPI bus.
204
205config MFD_MC13XXX_I2C
206	tristate "Freescale MC13892 I2C interface"
207	depends on I2C
208	select REGMAP_I2C
209	select MFD_MC13XXX
210	help
211	  Select this if your MC13xxx is connected via an I2C bus.
212
213config HTC_EGPIO
214	bool "HTC EGPIO support"
215	depends on GPIOLIB && ARM
216	help
217	    This driver supports the CPLD egpio chip present on
218	    several HTC phones.  It provides basic support for input
219	    pins, output pins, and irqs.
220
221config HTC_PASIC3
222	tristate "HTC PASIC3 LED/DS1WM chip support"
223	select MFD_CORE
224	help
225	  This core driver provides register access for the LED/DS1WM
226	  chips labeled "AIC2" and "AIC3", found on HTC Blueangel and
227	  HTC Magician devices, respectively. Actual functionality is
228	  handled by the leds-pasic3 and ds1wm drivers.
229
230config HTC_I2CPLD
231	bool "HTC I2C PLD chip support"
232	depends on I2C=y && GPIOLIB
233	help
234	  If you say yes here you get support for the supposed CPLD
235	  found on omap850 HTC devices like the HTC Wizard and HTC Herald.
236	  This device provides input and output GPIOs through an I2C
237	  interface to one or more sub-chips.
238
239config LPC_ICH
240	tristate "Intel ICH LPC"
241	depends on PCI
242	select MFD_CORE
243	help
244	  The LPC bridge function of the Intel ICH provides support for
245	  many functional units. This driver provides needed support for
246	  other drivers to control these functions, currently GPIO and
247	  watchdog.
248
249config LPC_SCH
250	tristate "Intel SCH LPC"
251	depends on PCI
252	select MFD_CORE
253	help
254	  LPC bridge function of the Intel SCH provides support for
255	  System Management Bus and General Purpose I/O.
256
257config INTEL_SOC_PMIC
258	bool "Support for Intel Atom SoC PMIC"
259	depends on I2C=y
260	select MFD_CORE
261	select REGMAP_I2C
262	select REGMAP_IRQ
263	help
264	  Select this option to enable support for the PMIC device
265	  on some Intel SoC systems. The PMIC provides ADC, GPIO,
266	  thermal, charger and related power management functions
267	  on these systems.
268
269config MFD_INTEL_MSIC
270	bool "Intel MSIC"
271	depends on INTEL_SCU_IPC
272	select MFD_CORE
273	help
274	  Select this option to enable access to Intel MSIC (Avatele
275	  Passage) chip. This chip embeds audio, battery, GPIO, etc.
276	  devices used in Intel Medfield platforms.
277
278config MFD_IPAQ_MICRO
279	bool "Atmel Micro ASIC (iPAQ h3100/h3600/h3700) Support"
280	depends on SA1100_H3100 || SA1100_H3600
281	select MFD_CORE
282	help
283	  Select this to get support for the Microcontroller found in
284	  the Compaq iPAQ handheld computers. This is an Atmel
285	  AT90LS8535 microcontroller flashed with a special iPAQ
286	  firmware using the custom protocol implemented in this driver.
287
288config MFD_JANZ_CMODIO
289	tristate "Janz CMOD-IO PCI MODULbus Carrier Board"
290	select MFD_CORE
291	depends on PCI
292	help
293	  This is the core driver for the Janz CMOD-IO PCI MODULbus
294	  carrier board. This device is a PCI to MODULbus bridge which may
295	  host many different types of MODULbus daughterboards, including
296	  CAN and GPIO controllers.
297
298config MFD_JZ4740_ADC
299	bool "Janz JZ4740 ADC core"
300	select MFD_CORE
301	select GENERIC_IRQ_CHIP
302	depends on MACH_JZ4740
303	help
304	  Say yes here if you want support for the ADC unit in the JZ4740 SoC.
305	  This driver is necessary for jz4740-battery and jz4740-hwmon driver.
306
307config MFD_KEMPLD
308	tristate "Kontron module PLD device"
309	select MFD_CORE
310	help
311	  This is the core driver for the PLD (Programmable Logic Device) found
312	  on some Kontron ETX and COMexpress (ETXexpress) modules. The PLD
313	  device may provide functions like watchdog, GPIO, UART and I2C bus.
314
315	  The following modules are supported:
316		* COMe-bHL6
317		* COMe-bIP#
318		* COMe-bPC2 (ETXexpress-PC)
319		* COMe-bSC# (ETXexpress-SC T#)
320		* COMe-cBT6
321		* COMe-cCT6
322		* COMe-cDC2 (microETXexpress-DC)
323		* COMe-cHL6
324		* COMe-cPC2 (microETXexpress-PC)
325		* COMe-mBT10
326		* COMe-mCT10
327		* COMe-mTT10 (nanoETXexpress-TT)
328		* ETX-OH
329
330	  This driver can also be built as a module. If so, the module
331	  will be called kempld-core.
332
333config MFD_88PM800
334	tristate "Marvell 88PM800"
335	depends on I2C=y
336	select REGMAP_I2C
337	select REGMAP_IRQ
338	select MFD_CORE
339	help
340	  This supports for Marvell 88PM800 Power Management IC.
341	  This includes the I2C driver and the core APIs _only_, you have to
342	  select individual components like voltage regulators, RTC and
343	  battery-charger under the corresponding menus.
344
345config MFD_88PM805
346	tristate "Marvell 88PM805"
347	depends on I2C=y
348	select REGMAP_I2C
349	select REGMAP_IRQ
350	select MFD_CORE
351	help
352	  This supports for Marvell 88PM805 Power Management IC. This includes
353	  the I2C driver and the core APIs _only_, you have to select individual
354	  components like codec device, headset/Mic device under the
355	  corresponding menus.
356
357config MFD_88PM860X
358	bool "Marvell 88PM8606/88PM8607"
359	depends on I2C=y
360	select REGMAP_I2C
361	select MFD_CORE
362	help
363	  This supports for Marvell 88PM8606/88PM8607 Power Management IC.
364	  This includes the I2C driver and the core APIs _only_, you have to
365	  select individual components like voltage regulators, RTC and
366	  battery-charger under the corresponding menus.
367
368config MFD_MAX14577
369	bool "Maxim Semiconductor MAX14577/77836 MUIC + Charger Support"
370	depends on I2C=y
371	select MFD_CORE
372	select REGMAP_I2C
373	select REGMAP_IRQ
374	select IRQ_DOMAIN
375	help
376	  Say yes here to add support for Maxim Semiconductor MAX14577 and
377	  MAX77836 Micro-USB ICs with battery charger.
378	  This driver provides common support for accessing the device;
379	  additional drivers must be enabled in order to use the functionality
380	  of the device.
381
382config MFD_MAX77686
383	bool "Maxim Semiconductor MAX77686/802 PMIC Support"
384	depends on I2C=y
385	select MFD_CORE
386	select REGMAP_I2C
387	select REGMAP_IRQ
388	select IRQ_DOMAIN
389	help
390	  Say yes here to add support for Maxim Semiconductor MAX77686 and
391	  MAX77802 which are Power Management IC with an RTC on chip.
392	  This driver provides common support for accessing the device;
393	  additional drivers must be enabled in order to use the functionality
394	  of the device.
395
396config MFD_MAX77693
397	bool "Maxim Semiconductor MAX77693 PMIC Support"
398	depends on I2C=y
399	select MFD_CORE
400	select REGMAP_I2C
401	select REGMAP_IRQ
402	help
403	  Say yes here to add support for Maxim Semiconductor MAX77693.
404	  This is a companion Power Management IC with Flash, Haptic, Charger,
405	  and MUIC(Micro USB Interface Controller) controls on chip.
406	  This driver provides common support for accessing the device;
407	  additional drivers must be enabled in order to use the functionality
408	  of the device.
409
410config MFD_MAX8907
411	tristate "Maxim Semiconductor MAX8907 PMIC Support"
412	select MFD_CORE
413	depends on I2C=y
414	select REGMAP_I2C
415	select REGMAP_IRQ
416	help
417	  Say yes here to add support for Maxim Semiconductor MAX8907. This is
418	  a Power Management IC. This driver provides common support for
419	  accessing the device; additional drivers must be enabled in order
420	  to use the functionality of the device.
421
422config MFD_MAX8925
423	bool "Maxim Semiconductor MAX8925 PMIC Support"
424	depends on I2C=y
425	select MFD_CORE
426	help
427	  Say yes here to add support for Maxim Semiconductor MAX8925. This is
428	  a Power Management IC. This driver provides common support for
429	  accessing the device, additional drivers must be enabled in order
430	  to use the functionality of the device.
431
432config MFD_MAX8997
433	bool "Maxim Semiconductor MAX8997/8966 PMIC Support"
434	depends on I2C=y
435	select MFD_CORE
436	select IRQ_DOMAIN
437	help
438	  Say yes here to add support for Maxim Semiconductor MAX8997/8966.
439	  This is a Power Management IC with RTC, Flash, Fuel Gauge, Haptic,
440	  MUIC controls on chip.
441	  This driver provides common support for accessing the device;
442	  additional drivers must be enabled in order to use the functionality
443	  of the device.
444
445config MFD_MAX8998
446	bool "Maxim Semiconductor MAX8998/National LP3974 PMIC Support"
447	depends on I2C=y
448	select MFD_CORE
449	select IRQ_DOMAIN
450	help
451	  Say yes here to add support for Maxim Semiconductor MAX8998 and
452	  National Semiconductor LP3974. This is a Power Management IC.
453	  This driver provides common support for accessing the device,
454	  additional drivers must be enabled in order to use the functionality
455	  of the device.
456
457config EZX_PCAP
458	bool "Motorola EZXPCAP Support"
459	depends on SPI_MASTER
460	help
461	  This enables the PCAP ASIC present on EZX Phones. This is
462	  needed for MMC, TouchScreen, Sound, USB, etc..
463
464config MFD_VIPERBOARD
465        tristate "Nano River Technologies Viperboard"
466	select MFD_CORE
467	depends on USB
468	default n
469	help
470	  Say yes here if you want support for Nano River Technologies
471	  Viperboard.
472	  There are mfd cell drivers available for i2c master, adc and
473	  both gpios found on the board. The spi part does not yet
474	  have a driver.
475	  You need to select the mfd cell drivers separately.
476	  The drivers do not support all features the board exposes.
477
478config MFD_RETU
479	tristate "Nokia Retu and Tahvo multi-function device"
480	select MFD_CORE
481	depends on I2C
482	select REGMAP_IRQ
483	help
484	  Retu and Tahvo are a multi-function devices found on Nokia
485	  Internet Tablets (770, N800 and N810).
486
487config MFD_PCF50633
488	tristate "NXP PCF50633"
489	depends on I2C
490	select REGMAP_I2C
491	help
492	  Say yes here if you have NXP PCF50633 chip on your board.
493	  This core driver provides register access and IRQ handling
494	  facilities, and registers devices for the various functions
495	  so that function-specific drivers can bind to them.
496
497config PCF50633_ADC
498	tristate "NXP PCF50633 ADC"
499	depends on MFD_PCF50633
500	help
501	 Say yes here if you want to include support for ADC in the
502	 NXP PCF50633 chip.
503
504config PCF50633_GPIO
505	tristate "NXP PCF50633 GPIO"
506	depends on MFD_PCF50633
507	help
508	 Say yes here if you want to include support GPIO for pins on
509	 the PCF50633 chip.
510
511config UCB1400_CORE
512	tristate "Philips UCB1400 Core driver"
513	depends on AC97_BUS
514	depends on GPIOLIB
515	help
516	  This enables support for the Philips UCB1400 core functions.
517	  The UCB1400 is an AC97 audio codec.
518
519	  To compile this driver as a module, choose M here: the
520	  module will be called ucb1400_core.
521
522config MFD_PM8XXX
523	tristate
524
525config MFD_PM8921_CORE
526	tristate "Qualcomm PM8921 PMIC chip"
527	depends on (ARM || HEXAGON)
528	select IRQ_DOMAIN
529	select MFD_CORE
530	select MFD_PM8XXX
531	select REGMAP
532	help
533	  If you say yes to this option, support will be included for the
534	  built-in PM8921 PMIC chip.
535
536	  This is required if your board has a PM8921 and uses its features,
537	  such as: MPPs, GPIOs, regulators, interrupts, and PWM.
538
539	  Say M here if you want to include support for PM8921 chip as a module.
540	  This will build a module called "pm8921-core".
541
542config MFD_RDC321X
543	tristate "RDC R-321x southbridge"
544	select MFD_CORE
545	depends on PCI
546	help
547	  Say yes here if you want to have support for the RDC R-321x SoC
548	  southbridge which provides access to GPIOs and Watchdog using the
549	  southbridge PCI device configuration space.
550
551config MFD_RTSX_PCI
552	tristate "Realtek PCI-E card reader"
553	depends on PCI
554	select MFD_CORE
555	help
556	  This supports for Realtek PCI-Express card reader including rts5209,
557	  rts5229, rtl8411, etc. Realtek card reader supports access to many
558	  types of memory cards, such as Memory Stick, Memory Stick Pro,
559	  Secure Digital and MultiMediaCard.
560
561config MFD_RTSX_USB
562	tristate "Realtek USB card reader"
563	depends on USB
564	select MFD_CORE
565	help
566	  Select this option to get support for Realtek USB 2.0 card readers
567	  including RTS5129, RTS5139, RTS5179 and RTS5170.
568	  Realtek card reader supports access to many types of memory cards,
569	  such as Memory Stick Pro, Secure Digital and MultiMediaCard.
570
571config MFD_RC5T583
572	bool "Ricoh RC5T583 Power Management system device"
573	depends on I2C=y
574	select MFD_CORE
575	select REGMAP_I2C
576	help
577	  Select this option to get support for the RICOH583 Power
578	  Management system device.
579	  This driver provides common support for accessing the device
580	  through i2c interface. The device supports multiple sub-devices
581	  like GPIO, interrupts, RTC, LDO and DCDC regulators, onkey.
582	  Additional drivers must be enabled in order to use the
583	  different functionality of the device.
584
585config MFD_SEC_CORE
586	bool "SAMSUNG Electronics PMIC Series Support"
587	depends on I2C=y
588	select MFD_CORE
589	select REGMAP_I2C
590	select REGMAP_IRQ
591	select REGULATOR
592	help
593	 Support for the Samsung Electronics MFD series.
594	 This driver provides common support for accessing the device,
595	 additional drivers must be enabled in order to use the functionality
596	 of the device
597
598config MFD_SI476X_CORE
599	tristate "Silicon Laboratories 4761/64/68 AM/FM radio."
600	depends on I2C
601	select MFD_CORE
602	select REGMAP_I2C
603	help
604	  This is the core driver for the SI476x series of AM/FM
605	  radio. This MFD driver connects the radio-si476x V4L2 module
606	  and the si476x audio codec.
607
608	  To compile this driver as a module, choose M here: the
609	  module will be called si476x-core.
610
611config MFD_SM501
612	tristate "Silicon Motion SM501"
613	 ---help---
614	  This is the core driver for the Silicon Motion SM501 multimedia
615	  companion chip. This device is a multifunction device which may
616	  provide numerous interfaces including USB host controller, USB gadget,
617	  asynchronous serial ports, audio functions, and a dual display video
618	  interface. The device may be connected by PCI or local bus with
619	  varying functions enabled.
620
621config MFD_SM501_GPIO
622	bool "Export GPIO via GPIO layer"
623	depends on MFD_SM501 && GPIOLIB
624	 ---help---
625	 This option uses the gpio library layer to export the 64 GPIO
626	 lines on the SM501. The platform data is used to supply the
627	 base number for the first GPIO line to register.
628
629config MFD_SMSC
630       bool "SMSC ECE1099 series chips"
631       depends on I2C=y
632       select MFD_CORE
633       select REGMAP_I2C
634       help
635        If you say yes here you get support for the
636        ece1099 chips from SMSC.
637
638        To compile this driver as a module, choose M here: the
639        module will be called smsc.
640
641config ABX500_CORE
642	bool "ST-Ericsson ABX500 Mixed Signal Circuit register functions"
643	default y if ARCH_U300 || ARCH_U8500
644	help
645	  Say yes here if you have the ABX500 Mixed Signal IC family
646	  chips. This core driver expose register access functions.
647	  Functionality specific drivers using these functions can
648	  remain unchanged when IC changes. Binding of the functions to
649	  actual register access is done by the IC core driver.
650
651config AB3100_CORE
652	bool "ST-Ericsson AB3100 Mixed Signal Circuit core functions"
653	depends on I2C=y && ABX500_CORE
654	select MFD_CORE
655	default y if ARCH_U300
656	help
657	  Select this to enable the AB3100 Mixed Signal IC core
658	  functionality. This connects to a AB3100 on the I2C bus
659	  and expose a number of symbols needed for dependent devices
660	  to read and write registers and subscribe to events from
661	  this multi-functional IC. This is needed to use other features
662	  of the AB3100 such as battery-backed RTC, charging control,
663	  LEDs, vibrator, system power and temperature, power management
664	  and ALSA sound.
665
666config AB3100_OTP
667	tristate "ST-Ericsson AB3100 OTP functions"
668	depends on AB3100_CORE
669	default y if AB3100_CORE
670	help
671	  Select this to enable the AB3100 Mixed Signal IC OTP (one-time
672	  programmable memory) support. This exposes a sysfs file to read
673	  out OTP values.
674
675config AB8500_CORE
676	bool "ST-Ericsson AB8500 Mixed Signal Power Management chip"
677	depends on ABX500_CORE && MFD_DB8500_PRCMU
678	select POWER_SUPPLY
679	select MFD_CORE
680	select IRQ_DOMAIN
681	help
682	  Select this option to enable access to AB8500 power management
683	  chip. This connects to U8500 either on the SSP/SPI bus (deprecated
684	  since hardware version v1.0) or the I2C bus via PRCMU. It also adds
685	  the irq_chip parts for handling the Mixed Signal chip events.
686	  This chip embeds various other multimedia funtionalities as well.
687
688config AB8500_DEBUG
689       bool "Enable debug info via debugfs"
690       depends on AB8500_GPADC && DEBUG_FS
691       default y if DEBUG_FS
692       help
693         Select this option if you want debug information using the debug
694         filesystem, debugfs.
695
696config AB8500_GPADC
697	bool "ST-Ericsson AB8500 GPADC driver"
698	depends on AB8500_CORE && REGULATOR_AB8500
699	default y
700	help
701	  AB8500 GPADC driver used to convert Acc and battery/ac/usb voltage
702
703config MFD_DB8500_PRCMU
704	bool "ST-Ericsson DB8500 Power Reset Control Management Unit"
705	depends on UX500_SOC_DB8500
706	select MFD_CORE
707	help
708	  Select this option to enable support for the DB8500 Power Reset
709	  and Control Management Unit. This is basically an autonomous
710	  system controller running an XP70 microprocessor, which is accessed
711	  through a register map.
712
713config MFD_STMPE
714	bool "STMicroelectronics STMPE"
715	depends on (I2C=y || SPI_MASTER=y)
716	depends on OF
717	select MFD_CORE
718	help
719	  Support for the STMPE family of I/O Expanders from
720	  STMicroelectronics.
721
722	  Currently supported devices are:
723
724		STMPE811: GPIO, Touchscreen
725		STMPE1601: GPIO, Keypad
726		STMPE1801: GPIO, Keypad
727		STMPE2401: GPIO, Keypad
728		STMPE2403: GPIO, Keypad
729
730	  This driver provides common support for accessing the device,
731	  additional drivers must be enabled in order to use the functionality
732	  of the device.  Currently available sub drivers are:
733
734		GPIO: stmpe-gpio
735		Keypad: stmpe-keypad
736		Touchscreen: stmpe-ts
737
738menu "STMicroelectronics STMPE Interface Drivers"
739depends on MFD_STMPE
740
741config STMPE_I2C
742	bool "STMicroelectronics STMPE I2C Interface"
743	depends on I2C=y
744	default y
745	help
746	  This is used to enable I2C interface of STMPE
747
748config STMPE_SPI
749	bool "STMicroelectronics STMPE SPI Interface"
750	depends on SPI_MASTER
751	help
752	  This is used to enable SPI interface of STMPE
753endmenu
754
755config MFD_STA2X11
756	bool "STMicroelectronics STA2X11"
757	depends on STA2X11
758	select MFD_CORE
759	select REGMAP_MMIO
760
761config MFD_SUN6I_PRCM
762	bool "Allwinner A31 PRCM controller"
763	depends on ARCH_SUNXI
764	select MFD_CORE
765	help
766	  Support for the PRCM (Power/Reset/Clock Management) unit available
767	  in A31 SoC.
768
769config MFD_SYSCON
770	bool "System Controller Register R/W Based on Regmap"
771	select REGMAP_MMIO
772	help
773	  Select this option to enable accessing system control registers
774	  via regmap.
775
776config MFD_DAVINCI_VOICECODEC
777	tristate
778	select MFD_CORE
779	select REGMAP_MMIO
780
781config MFD_TI_AM335X_TSCADC
782	tristate "TI ADC / Touch Screen chip support"
783	select MFD_CORE
784	select REGMAP
785	select REGMAP_MMIO
786	help
787	  If you say yes here you get support for Texas Instruments series
788	  of Touch Screen /ADC chips.
789	  To compile this driver as a module, choose M here: the
790	  module will be called ti_am335x_tscadc.
791
792config MFD_DM355EVM_MSP
793	bool "TI DaVinci DM355 EVM microcontroller"
794	depends on I2C=y && MACH_DAVINCI_DM355_EVM
795	help
796	  This driver supports the MSP430 microcontroller used on these
797	  boards.  MSP430 firmware manages resets and power sequencing,
798	  inputs from buttons and the IR remote, LEDs, an RTC, and more.
799
800config MFD_LP3943
801	tristate "TI/National Semiconductor LP3943 MFD Driver"
802	depends on I2C
803	select MFD_CORE
804	select REGMAP_I2C
805	help
806	  Support for the TI/National Semiconductor LP3943.
807	  This driver consists of GPIO and PWM drivers.
808	  With these functionalities, it can be used for LED string control or
809	  general usage such like a GPIO controller and a PWM controller.
810
811config MFD_LP8788
812	bool "TI LP8788 Power Management Unit Driver"
813	depends on I2C=y
814	select MFD_CORE
815	select REGMAP_I2C
816	select IRQ_DOMAIN
817	help
818	  TI LP8788 PMU supports regulators, battery charger, RTC,
819	  ADC, backlight driver and current sinks.
820
821config MFD_OMAP_USB_HOST
822	bool "TI OMAP USBHS core and TLL driver"
823	depends on USB_EHCI_HCD_OMAP || USB_OHCI_HCD_OMAP3
824	default y
825	help
826	  This is the core driver for the OAMP EHCI and OHCI drivers.
827	  This MFD driver does the required setup functionalities for
828	  OMAP USB Host drivers.
829
830config MFD_PALMAS
831	bool "TI Palmas series chips"
832	select MFD_CORE
833	select REGMAP_I2C
834	select REGMAP_IRQ
835	depends on I2C=y
836	help
837	  If you say yes here you get support for the Palmas
838	  series of PMIC chips from Texas Instruments.
839
840config TPS6105X
841	tristate "TI TPS61050/61052 Boost Converters"
842	depends on I2C
843	select REGULATOR
844	select MFD_CORE
845	select REGULATOR_FIXED_VOLTAGE
846	help
847	  This option enables a driver for the TP61050/TPS61052
848	  high-power "white LED driver". This boost converter is
849	  sometimes used for other things than white LEDs, and
850	  also contains a GPIO pin.
851
852config TPS65010
853	tristate "TI TPS6501x Power Management chips"
854	depends on I2C && GPIOLIB
855	default y if MACH_OMAP_H2 || MACH_OMAP_H3 || MACH_OMAP_OSK
856	help
857	  If you say yes here you get support for the TPS6501x series of
858	  Power Management chips.  These include voltage regulators,
859	  lithium ion/polymer battery charging, and other features that
860	  are often used in portable devices like cell phones and cameras.
861
862	  This driver can also be built as a module.  If so, the module
863	  will be called tps65010.
864
865config TPS6507X
866	tristate "TI TPS6507x Power Management / Touch Screen chips"
867	select MFD_CORE
868	depends on I2C
869	help
870	  If you say yes here you get support for the TPS6507x series of
871	  Power Management / Touch Screen chips.  These include voltage
872	  regulators, lithium ion/polymer battery charging, touch screen
873	  and other features that are often used in portable devices.
874	  This driver can also be built as a module.  If so, the module
875	  will be called tps6507x.
876
877config TPS65911_COMPARATOR
878	tristate
879
880config MFD_TPS65090
881	bool "TI TPS65090 Power Management chips"
882	depends on I2C=y
883	select MFD_CORE
884	select REGMAP_I2C
885	select REGMAP_IRQ
886	help
887	  If you say yes here you get support for the TPS65090 series of
888	  Power Management chips.
889	  This driver provides common support for accessing the device,
890	  additional drivers must be enabled in order to use the
891	  functionality of the device.
892
893config MFD_TPS65217
894	tristate "TI TPS65217 Power Management / White LED chips"
895	depends on I2C
896	select MFD_CORE
897	select REGMAP_I2C
898	help
899	  If you say yes here you get support for the TPS65217 series of
900	  Power Management / White LED chips.
901	  These include voltage regulators, lithium ion/polymer battery
902	  charger, wled and other features that are often used in portable
903	  devices.
904
905	  This driver can also be built as a module.  If so, the module
906	  will be called tps65217.
907
908config MFD_TPS65218
909	tristate "TI TPS65218 Power Management chips"
910	depends on I2C
911	select MFD_CORE
912	select REGMAP_I2C
913	select REGMAP_IRQ
914	help
915	  If you say yes here you get support for the TPS65218 series of
916	  Power Management chips.
917	  These include voltage regulators, gpio and other features
918	  that are often used in portable devices. Only regulator
919	  component is currently supported.
920
921	  This driver can also be built as a module.  If so, the module
922	  will be called tps65218.
923
924config MFD_TPS6586X
925	bool "TI TPS6586x Power Management chips"
926	depends on I2C=y
927	select MFD_CORE
928	select REGMAP_I2C
929	help
930	  If you say yes here you get support for the TPS6586X series of
931	  Power Management chips.
932	  This driver provides common support for accessing the device,
933	  additional drivers must be enabled in order to use the
934	  functionality of the device.
935
936	  This driver can also be built as a module.  If so, the module
937	  will be called tps6586x.
938
939config MFD_TPS65910
940	bool "TI TPS65910 Power Management chip"
941	depends on I2C=y && GPIOLIB
942	select MFD_CORE
943	select REGMAP_I2C
944	select REGMAP_IRQ
945	select IRQ_DOMAIN
946	help
947	  if you say yes here you get support for the TPS65910 series of
948	  Power Management chips.
949
950config MFD_TPS65912
951	bool "TI TPS65912 Power Management chip"
952	depends on GPIOLIB
953	select MFD_CORE
954	help
955	  If you say yes here you get support for the TPS65912 series of
956	  PM chips.
957
958config MFD_TPS65912_I2C
959	bool "TI TPS65912 Power Management chip with I2C"
960	select MFD_CORE
961	select MFD_TPS65912
962	depends on I2C=y && GPIOLIB
963	help
964	  If you say yes here you get support for the TPS65912 series of
965	  PM chips with I2C interface.
966
967config MFD_TPS65912_SPI
968	bool "TI TPS65912 Power Management chip with SPI"
969	select MFD_CORE
970	select MFD_TPS65912
971	depends on SPI_MASTER && GPIOLIB
972	help
973	  If you say yes here you get support for the TPS65912 series of
974	  PM chips with SPI interface.
975
976config MFD_TPS80031
977	bool "TI TPS80031/TPS80032 Power Management chips"
978	depends on I2C=y
979	select MFD_CORE
980	select REGMAP_I2C
981	select REGMAP_IRQ
982	help
983	  If you say yes here you get support for the Texas Instruments
984	  TPS80031/ TPS80032 Fully Integrated Power Management with Power
985	  Path and Battery Charger. The device provides five configurable
986	  step-down converters, 11 general purpose LDOs, USB OTG Module,
987	  ADC, RTC, 2 PWM, System Voltage Regulator/Battery Charger with
988	  Power Path from USB, 32K clock generator.
989
990config TWL4030_CORE
991	bool "TI TWL4030/TWL5030/TWL6030/TPS659x0 Support"
992	depends on I2C=y
993	select IRQ_DOMAIN
994	select REGMAP_I2C
995	help
996	  Say yes here if you have TWL4030 / TWL6030 family chip on your board.
997	  This core driver provides register access and IRQ handling
998	  facilities, and registers devices for the various functions
999	  so that function-specific drivers can bind to them.
1000
1001	  These multi-function chips are found on many OMAP2 and OMAP3
1002	  boards, providing power management, RTC, GPIO, keypad, a
1003	  high speed USB OTG transceiver, an audio codec (on most
1004	  versions) and many other features.
1005
1006config TWL4030_POWER
1007	bool "TI TWL4030 power resources"
1008	depends on TWL4030_CORE && ARM
1009	help
1010	  Say yes here if you want to use the power resources on the
1011	  TWL4030 family chips.  Most of these resources are regulators,
1012	  which have a separate driver; some are control signals, such
1013	  as clock request handshaking.
1014
1015	  This driver uses board-specific data to initialize the resources
1016	  and load scripts controlling which resources are switched off/on
1017	  or reset when a sleep, wakeup or warm reset event occurs.
1018
1019config MFD_TWL4030_AUDIO
1020	bool "TI TWL4030 Audio"
1021	depends on TWL4030_CORE
1022	select MFD_CORE
1023	default n
1024
1025config TWL6040_CORE
1026	bool "TI TWL6040 audio codec"
1027	depends on I2C=y
1028	select MFD_CORE
1029	select REGMAP_I2C
1030	select REGMAP_IRQ
1031	default n
1032	help
1033	  Say yes here if you want support for Texas Instruments TWL6040 audio
1034	  codec.
1035	  This driver provides common support for accessing the device,
1036	  additional drivers must be enabled in order to use the
1037	  functionality of the device (audio, vibra).
1038
1039config MENELAUS
1040	bool "TI TWL92330/Menelaus PM chip"
1041	depends on I2C=y && ARCH_OMAP2
1042	help
1043	  If you say yes here you get support for the Texas Instruments
1044	  TWL92330/Menelaus Power Management chip. This include voltage
1045	  regulators, Dual slot memory card transceivers, real-time clock
1046	  and other features that are often used in portable devices like
1047	  cell phones and PDAs.
1048
1049config MFD_WL1273_CORE
1050	tristate "TI WL1273 FM radio"
1051	depends on I2C
1052	select MFD_CORE
1053	default n
1054	help
1055	  This is the core driver for the TI WL1273 FM radio. This MFD
1056	  driver connects the radio-wl1273 V4L2 module and the wl1273
1057	  audio codec.
1058
1059config MFD_LM3533
1060	tristate "TI/National Semiconductor LM3533 Lighting Power chip"
1061	depends on I2C
1062	select MFD_CORE
1063	select REGMAP_I2C
1064	help
1065	  Say yes here to enable support for National Semiconductor / TI
1066	  LM3533 Lighting Power chips.
1067
1068	  This driver provides common support for accessing the device;
1069	  additional drivers must be enabled in order to use the LED,
1070	  backlight or ambient-light-sensor functionality of the device.
1071
1072config MFD_TIMBERDALE
1073	tristate "Timberdale FPGA"
1074	select MFD_CORE
1075	depends on PCI && GPIOLIB && (X86_32 || COMPILE_TEST)
1076	---help---
1077	This is the core driver for the timberdale FPGA. This device is a
1078	multifunction device which exposes numerous platform devices.
1079
1080	The timberdale FPGA can be found on the Intel Atom development board
1081	for in-vehicle infontainment, called Russellville.
1082
1083config MFD_TC3589X
1084	bool "Toshiba TC35892 and variants"
1085	depends on I2C=y
1086	select MFD_CORE
1087	help
1088	  Support for the Toshiba TC35892 and variants I/O Expander.
1089
1090	  This driver provides common support for accessing the device,
1091	  additional drivers must be enabled in order to use the
1092	  functionality of the device.
1093
1094config MFD_TMIO
1095	bool
1096	default n
1097
1098config MFD_T7L66XB
1099	bool "Toshiba T7L66XB"
1100	depends on ARM && HAVE_CLK
1101	select MFD_CORE
1102	select MFD_TMIO
1103	help
1104	  Support for Toshiba Mobile IO Controller T7L66XB
1105
1106config MFD_TC6387XB
1107	bool "Toshiba TC6387XB"
1108	depends on ARM && HAVE_CLK
1109	select MFD_CORE
1110	select MFD_TMIO
1111	help
1112	  Support for Toshiba Mobile IO Controller TC6387XB
1113
1114config MFD_TC6393XB
1115	bool "Toshiba TC6393XB"
1116	depends on ARM && HAVE_CLK
1117	select GPIOLIB
1118	select MFD_CORE
1119	select MFD_TMIO
1120	help
1121	  Support for Toshiba Mobile IO Controller TC6393XB
1122
1123config MFD_VX855
1124	tristate "VIA VX855/VX875 integrated south bridge"
1125	depends on PCI
1126	select MFD_CORE
1127	help
1128	  Say yes here to enable support for various functions of the
1129	  VIA VX855/VX875 south bridge. You will need to enable the vx855_spi
1130	  and/or vx855_gpio drivers for this to do anything useful.
1131
1132config MFD_ARIZONA
1133	select REGMAP
1134	select REGMAP_IRQ
1135	select MFD_CORE
1136	bool
1137
1138config MFD_ARIZONA_I2C
1139	tristate "Wolfson Microelectronics Arizona platform with I2C"
1140	select MFD_ARIZONA
1141	select MFD_CORE
1142	select REGMAP_I2C
1143	depends on I2C
1144	help
1145	  Support for the Wolfson Microelectronics Arizona platform audio SoC
1146	  core functionality controlled via I2C.
1147
1148config MFD_ARIZONA_SPI
1149	tristate "Wolfson Microelectronics Arizona platform with SPI"
1150	select MFD_ARIZONA
1151	select MFD_CORE
1152	select REGMAP_SPI
1153	depends on SPI_MASTER
1154	help
1155	  Support for the Wolfson Microelectronics Arizona platform audio SoC
1156	  core functionality controlled via I2C.
1157
1158config MFD_WM5102
1159	bool "Wolfson Microelectronics WM5102"
1160	depends on MFD_ARIZONA
1161	help
1162	  Support for Wolfson Microelectronics WM5102 low power audio SoC
1163
1164config MFD_WM5110
1165	bool "Wolfson Microelectronics WM5110"
1166	depends on MFD_ARIZONA
1167	help
1168	  Support for Wolfson Microelectronics WM5110 low power audio SoC
1169
1170config MFD_WM8997
1171	bool "Wolfson Microelectronics WM8997"
1172	depends on MFD_ARIZONA
1173	help
1174	  Support for Wolfson Microelectronics WM8997 low power audio SoC
1175
1176config MFD_WM8400
1177	bool "Wolfson Microelectronics WM8400"
1178	select MFD_CORE
1179	depends on I2C=y
1180	select REGMAP_I2C
1181	help
1182	  Support for the Wolfson Microelecronics WM8400 PMIC and audio
1183	  CODEC.  This driver provides common support for accessing
1184	  the device, additional drivers must be enabled in order to use
1185	  the functionality of the device.
1186
1187config MFD_WM831X
1188	bool
1189
1190config MFD_WM831X_I2C
1191	bool "Wolfson Microelectronics WM831x/2x PMICs with I2C"
1192	select MFD_CORE
1193	select MFD_WM831X
1194	select REGMAP_I2C
1195	select IRQ_DOMAIN
1196	depends on I2C=y
1197	help
1198	  Support for the Wolfson Microelecronics WM831x and WM832x PMICs
1199	  when controlled using I2C.  This driver provides common support
1200	  for accessing the device, additional drivers must be enabled in
1201	  order to use the functionality of the device.
1202
1203config MFD_WM831X_SPI
1204	bool "Wolfson Microelectronics WM831x/2x PMICs with SPI"
1205	select MFD_CORE
1206	select MFD_WM831X
1207	select REGMAP_SPI
1208	select IRQ_DOMAIN
1209	depends on SPI_MASTER
1210	help
1211	  Support for the Wolfson Microelecronics WM831x and WM832x PMICs
1212	  when controlled using SPI.  This driver provides common support
1213	  for accessing the device, additional drivers must be enabled in
1214	  order to use the functionality of the device.
1215
1216config MFD_WM8350
1217	bool
1218
1219config MFD_WM8350_I2C
1220	bool "Wolfson Microelectronics WM8350 with I2C"
1221	select MFD_WM8350
1222	depends on I2C=y
1223	help
1224	  The WM8350 is an integrated audio and power management
1225	  subsystem with watchdog and RTC functionality for embedded
1226	  systems.  This option enables core support for the WM8350 with
1227	  I2C as the control interface.  Additional options must be
1228	  selected to enable support for the functionality of the chip.
1229
1230config MFD_WM8994
1231	bool "Wolfson Microelectronics WM8994"
1232	select MFD_CORE
1233	select REGMAP_I2C
1234	select REGMAP_IRQ
1235	depends on I2C=y
1236	help
1237	  The WM8994 is a highly integrated hi-fi CODEC designed for
1238	  smartphone applicatiosn.  As well as audio functionality it
1239	  has on board GPIO and regulator functionality which is
1240	  supported via the relevant subsystems.  This driver provides
1241	  core support for the WM8994, in order to use the actual
1242	  functionaltiy of the device other drivers must be enabled.
1243
1244config MFD_STW481X
1245	tristate "Support for ST Microelectronics STw481x"
1246	depends on I2C && ARCH_NOMADIK
1247	select REGMAP_I2C
1248	select MFD_CORE
1249	help
1250	  Select this option to enable the STw481x chip driver used
1251	  in various ST Microelectronics and ST-Ericsson embedded
1252	  Nomadik series.
1253
1254menu "Multimedia Capabilities Port drivers"
1255	depends on ARCH_SA1100
1256
1257config MCP
1258	tristate
1259
1260# Interface drivers
1261config MCP_SA11X0
1262	tristate "Support SA11x0 MCP interface"
1263	depends on ARCH_SA1100
1264	select MCP
1265
1266# Chip drivers
1267config MCP_UCB1200
1268	tristate "Support for UCB1200 / UCB1300"
1269	depends on MCP_SA11X0
1270	select MCP
1271
1272config MCP_UCB1200_TS
1273	tristate "Touchscreen interface support"
1274	depends on MCP_UCB1200 && INPUT
1275
1276endmenu
1277
1278config MFD_VEXPRESS_SYSREG
1279	bool "Versatile Express System Registers"
1280	depends on VEXPRESS_CONFIG && GPIOLIB
1281	default y
1282	select CLKSRC_MMIO
1283	select GPIO_GENERIC_PLATFORM
1284	select MFD_CORE
1285	select MFD_SYSCON
1286	help
1287	  System Registers are the platform configuration block
1288	  on the ARM Ltd. Versatile Express board.
1289
1290endmenu
1291endif
1292