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