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