xref: /openbmc/linux/drivers/mfd/Kconfig (revision d2999e1b)
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	select REGMAP_MMIO
764
765config MFD_TI_AM335X_TSCADC
766	tristate "TI ADC / Touch Screen chip support"
767	select MFD_CORE
768	select REGMAP
769	select REGMAP_MMIO
770	help
771	  If you say yes here you get support for Texas Instruments series
772	  of Touch Screen /ADC chips.
773	  To compile this driver as a module, choose M here: the
774	  module will be called ti_am335x_tscadc.
775
776config MFD_DM355EVM_MSP
777	bool "TI DaVinci DM355 EVM microcontroller"
778	depends on I2C=y && MACH_DAVINCI_DM355_EVM
779	help
780	  This driver supports the MSP430 microcontroller used on these
781	  boards.  MSP430 firmware manages resets and power sequencing,
782	  inputs from buttons and the IR remote, LEDs, an RTC, and more.
783
784config MFD_LP3943
785	tristate "TI/National Semiconductor LP3943 MFD Driver"
786	depends on I2C
787	select MFD_CORE
788	select REGMAP_I2C
789	help
790	  Support for the TI/National Semiconductor LP3943.
791	  This driver consists of GPIO and PWM drivers.
792	  With these functionalities, it can be used for LED string control or
793	  general usage such like a GPIO controller and a PWM controller.
794
795config MFD_LP8788
796	bool "TI LP8788 Power Management Unit Driver"
797	depends on I2C=y
798	select MFD_CORE
799	select REGMAP_I2C
800	select IRQ_DOMAIN
801	help
802	  TI LP8788 PMU supports regulators, battery charger, RTC,
803	  ADC, backlight driver and current sinks.
804
805config MFD_OMAP_USB_HOST
806	bool "TI OMAP USBHS core and TLL driver"
807	depends on USB_EHCI_HCD_OMAP || USB_OHCI_HCD_OMAP3
808	default y
809	help
810	  This is the core driver for the OAMP EHCI and OHCI drivers.
811	  This MFD driver does the required setup functionalities for
812	  OMAP USB Host drivers.
813
814config MFD_PALMAS
815	bool "TI Palmas series chips"
816	select MFD_CORE
817	select REGMAP_I2C
818	select REGMAP_IRQ
819	depends on I2C=y
820	help
821	  If you say yes here you get support for the Palmas
822	  series of PMIC chips from Texas Instruments.
823
824config TPS6105X
825	tristate "TI TPS61050/61052 Boost Converters"
826	depends on I2C
827	select REGULATOR
828	select MFD_CORE
829	select REGULATOR_FIXED_VOLTAGE
830	help
831	  This option enables a driver for the TP61050/TPS61052
832	  high-power "white LED driver". This boost converter is
833	  sometimes used for other things than white LEDs, and
834	  also contains a GPIO pin.
835
836config TPS65010
837	tristate "TI TPS6501x Power Management chips"
838	depends on I2C && GPIOLIB
839	default y if MACH_OMAP_H2 || MACH_OMAP_H3 || MACH_OMAP_OSK
840	help
841	  If you say yes here you get support for the TPS6501x series of
842	  Power Management chips.  These include voltage regulators,
843	  lithium ion/polymer battery charging, and other features that
844	  are often used in portable devices like cell phones and cameras.
845
846	  This driver can also be built as a module.  If so, the module
847	  will be called tps65010.
848
849config TPS6507X
850	tristate "TI TPS6507x Power Management / Touch Screen chips"
851	select MFD_CORE
852	depends on I2C
853	help
854	  If you say yes here you get support for the TPS6507x series of
855	  Power Management / Touch Screen chips.  These include voltage
856	  regulators, lithium ion/polymer battery charging, touch screen
857	  and other features that are often used in portable devices.
858	  This driver can also be built as a module.  If so, the module
859	  will be called tps6507x.
860
861config TPS65911_COMPARATOR
862	tristate
863
864config MFD_TPS65090
865	bool "TI TPS65090 Power Management chips"
866	depends on I2C=y
867	select MFD_CORE
868	select REGMAP_I2C
869	select REGMAP_IRQ
870	help
871	  If you say yes here you get support for the TPS65090 series of
872	  Power Management chips.
873	  This driver provides common support for accessing the device,
874	  additional drivers must be enabled in order to use the
875	  functionality of the device.
876
877config MFD_TPS65217
878	tristate "TI TPS65217 Power Management / White LED chips"
879	depends on I2C
880	select MFD_CORE
881	select REGMAP_I2C
882	help
883	  If you say yes here you get support for the TPS65217 series of
884	  Power Management / White LED chips.
885	  These include voltage regulators, lithium ion/polymer battery
886	  charger, wled and other features that are often used in portable
887	  devices.
888
889	  This driver can also be built as a module.  If so, the module
890	  will be called tps65217.
891
892config MFD_TPS65218
893	tristate "TI TPS65218 Power Management chips"
894	depends on I2C
895	select MFD_CORE
896	select REGMAP_I2C
897	select REGMAP_IRQ
898	help
899	  If you say yes here you get support for the TPS65218 series of
900	  Power Management chips.
901	  These include voltage regulators, gpio and other features
902	  that are often used in portable devices. Only regulator
903	  component is currently supported.
904
905	  This driver can also be built as a module.  If so, the module
906	  will be called tps65218.
907
908config MFD_TPS6586X
909	bool "TI TPS6586x Power Management chips"
910	depends on I2C=y
911	select MFD_CORE
912	select REGMAP_I2C
913	help
914	  If you say yes here you get support for the TPS6586X series of
915	  Power Management chips.
916	  This driver provides common support for accessing the device,
917	  additional drivers must be enabled in order to use the
918	  functionality of the device.
919
920	  This driver can also be built as a module.  If so, the module
921	  will be called tps6586x.
922
923config MFD_TPS65910
924	bool "TI TPS65910 Power Management chip"
925	depends on I2C=y && GPIOLIB
926	select MFD_CORE
927	select REGMAP_I2C
928	select REGMAP_IRQ
929	select IRQ_DOMAIN
930	help
931	  if you say yes here you get support for the TPS65910 series of
932	  Power Management chips.
933
934config MFD_TPS65912
935	bool "TI TPS65912 Power Management chip"
936	depends on GPIOLIB
937	select MFD_CORE
938	help
939	  If you say yes here you get support for the TPS65912 series of
940	  PM chips.
941
942config MFD_TPS65912_I2C
943	bool "TI TPS65912 Power Management chip with I2C"
944	select MFD_CORE
945	select MFD_TPS65912
946	depends on I2C=y && GPIOLIB
947	help
948	  If you say yes here you get support for the TPS65912 series of
949	  PM chips with I2C interface.
950
951config MFD_TPS65912_SPI
952	bool "TI TPS65912 Power Management chip with SPI"
953	select MFD_CORE
954	select MFD_TPS65912
955	depends on SPI_MASTER && GPIOLIB
956	help
957	  If you say yes here you get support for the TPS65912 series of
958	  PM chips with SPI interface.
959
960config MFD_TPS80031
961	bool "TI TPS80031/TPS80032 Power Management chips"
962	depends on I2C=y
963	select MFD_CORE
964	select REGMAP_I2C
965	select REGMAP_IRQ
966	help
967	  If you say yes here you get support for the Texas Instruments
968	  TPS80031/ TPS80032 Fully Integrated Power Management with Power
969	  Path and Battery Charger. The device provides five configurable
970	  step-down converters, 11 general purpose LDOs, USB OTG Module,
971	  ADC, RTC, 2 PWM, System Voltage Regulator/Battery Charger with
972	  Power Path from USB, 32K clock generator.
973
974config TWL4030_CORE
975	bool "TI TWL4030/TWL5030/TWL6030/TPS659x0 Support"
976	depends on I2C=y
977	select IRQ_DOMAIN
978	select REGMAP_I2C
979	help
980	  Say yes here if you have TWL4030 / TWL6030 family chip on your board.
981	  This core driver provides register access and IRQ handling
982	  facilities, and registers devices for the various functions
983	  so that function-specific drivers can bind to them.
984
985	  These multi-function chips are found on many OMAP2 and OMAP3
986	  boards, providing power management, RTC, GPIO, keypad, a
987	  high speed USB OTG transceiver, an audio codec (on most
988	  versions) and many other features.
989
990config TWL4030_POWER
991	bool "TI TWL4030 power resources"
992	depends on TWL4030_CORE && ARM
993	help
994	  Say yes here if you want to use the power resources on the
995	  TWL4030 family chips.  Most of these resources are regulators,
996	  which have a separate driver; some are control signals, such
997	  as clock request handshaking.
998
999	  This driver uses board-specific data to initialize the resources
1000	  and load scripts controlling which resources are switched off/on
1001	  or reset when a sleep, wakeup or warm reset event occurs.
1002
1003config MFD_TWL4030_AUDIO
1004	bool "TI TWL4030 Audio"
1005	depends on TWL4030_CORE
1006	select MFD_CORE
1007	default n
1008
1009config TWL6040_CORE
1010	bool "TI TWL6040 audio codec"
1011	depends on I2C=y
1012	select MFD_CORE
1013	select REGMAP_I2C
1014	select REGMAP_IRQ
1015	default n
1016	help
1017	  Say yes here if you want support for Texas Instruments TWL6040 audio
1018	  codec.
1019	  This driver provides common support for accessing the device,
1020	  additional drivers must be enabled in order to use the
1021	  functionality of the device (audio, vibra).
1022
1023config MENELAUS
1024	bool "TI TWL92330/Menelaus PM chip"
1025	depends on I2C=y && ARCH_OMAP2
1026	help
1027	  If you say yes here you get support for the Texas Instruments
1028	  TWL92330/Menelaus Power Management chip. This include voltage
1029	  regulators, Dual slot memory card transceivers, real-time clock
1030	  and other features that are often used in portable devices like
1031	  cell phones and PDAs.
1032
1033config MFD_WL1273_CORE
1034	tristate "TI WL1273 FM radio"
1035	depends on I2C
1036	select MFD_CORE
1037	default n
1038	help
1039	  This is the core driver for the TI WL1273 FM radio. This MFD
1040	  driver connects the radio-wl1273 V4L2 module and the wl1273
1041	  audio codec.
1042
1043config MFD_LM3533
1044	tristate "TI/National Semiconductor LM3533 Lighting Power chip"
1045	depends on I2C
1046	select MFD_CORE
1047	select REGMAP_I2C
1048	help
1049	  Say yes here to enable support for National Semiconductor / TI
1050	  LM3533 Lighting Power chips.
1051
1052	  This driver provides common support for accessing the device;
1053	  additional drivers must be enabled in order to use the LED,
1054	  backlight or ambient-light-sensor functionality of the device.
1055
1056config MFD_TIMBERDALE
1057	tristate "Timberdale FPGA"
1058	select MFD_CORE
1059	depends on PCI && GPIOLIB
1060	---help---
1061	This is the core driver for the timberdale FPGA. This device is a
1062	multifunction device which exposes numerous platform devices.
1063
1064	The timberdale FPGA can be found on the Intel Atom development board
1065	for in-vehicle infontainment, called Russellville.
1066
1067config MFD_TC3589X
1068	bool "Toshiba TC35892 and variants"
1069	depends on I2C=y
1070	select MFD_CORE
1071	help
1072	  Support for the Toshiba TC35892 and variants I/O Expander.
1073
1074	  This driver provides common support for accessing the device,
1075	  additional drivers must be enabled in order to use the
1076	  functionality of the device.
1077
1078config MFD_TMIO
1079	bool
1080	default n
1081
1082config MFD_T7L66XB
1083	bool "Toshiba T7L66XB"
1084	depends on ARM && HAVE_CLK
1085	select MFD_CORE
1086	select MFD_TMIO
1087	help
1088	  Support for Toshiba Mobile IO Controller T7L66XB
1089
1090config MFD_TC6387XB
1091	bool "Toshiba TC6387XB"
1092	depends on ARM && HAVE_CLK
1093	select MFD_CORE
1094	select MFD_TMIO
1095	help
1096	  Support for Toshiba Mobile IO Controller TC6387XB
1097
1098config MFD_TC6393XB
1099	bool "Toshiba TC6393XB"
1100	depends on ARM && HAVE_CLK
1101	select GPIOLIB
1102	select MFD_CORE
1103	select MFD_TMIO
1104	help
1105	  Support for Toshiba Mobile IO Controller TC6393XB
1106
1107config MFD_VX855
1108	tristate "VIA VX855/VX875 integrated south bridge"
1109	depends on PCI
1110	select MFD_CORE
1111	help
1112	  Say yes here to enable support for various functions of the
1113	  VIA VX855/VX875 south bridge. You will need to enable the vx855_spi
1114	  and/or vx855_gpio drivers for this to do anything useful.
1115
1116config MFD_ARIZONA
1117	select REGMAP
1118	select REGMAP_IRQ
1119	select MFD_CORE
1120	bool
1121
1122config MFD_ARIZONA_I2C
1123	tristate "Wolfson Microelectronics Arizona platform with I2C"
1124	select MFD_ARIZONA
1125	select MFD_CORE
1126	select REGMAP_I2C
1127	depends on I2C
1128	help
1129	  Support for the Wolfson Microelectronics Arizona platform audio SoC
1130	  core functionality controlled via I2C.
1131
1132config MFD_ARIZONA_SPI
1133	tristate "Wolfson Microelectronics Arizona platform with SPI"
1134	select MFD_ARIZONA
1135	select MFD_CORE
1136	select REGMAP_SPI
1137	depends on SPI_MASTER
1138	help
1139	  Support for the Wolfson Microelectronics Arizona platform audio SoC
1140	  core functionality controlled via I2C.
1141
1142config MFD_WM5102
1143	bool "Wolfson Microelectronics WM5102"
1144	depends on MFD_ARIZONA
1145	help
1146	  Support for Wolfson Microelectronics WM5102 low power audio SoC
1147
1148config MFD_WM5110
1149	bool "Wolfson Microelectronics WM5110"
1150	depends on MFD_ARIZONA
1151	help
1152	  Support for Wolfson Microelectronics WM5110 low power audio SoC
1153
1154config MFD_WM8997
1155	bool "Wolfson Microelectronics WM8997"
1156	depends on MFD_ARIZONA
1157	help
1158	  Support for Wolfson Microelectronics WM8997 low power audio SoC
1159
1160config MFD_WM8400
1161	bool "Wolfson Microelectronics WM8400"
1162	select MFD_CORE
1163	depends on I2C=y
1164	select REGMAP_I2C
1165	help
1166	  Support for the Wolfson Microelecronics WM8400 PMIC and audio
1167	  CODEC.  This driver provides common support for accessing
1168	  the device, additional drivers must be enabled in order to use
1169	  the functionality of the device.
1170
1171config MFD_WM831X
1172	bool
1173
1174config MFD_WM831X_I2C
1175	bool "Wolfson Microelectronics WM831x/2x PMICs with I2C"
1176	select MFD_CORE
1177	select MFD_WM831X
1178	select REGMAP_I2C
1179	select IRQ_DOMAIN
1180	depends on I2C=y
1181	help
1182	  Support for the Wolfson Microelecronics WM831x and WM832x PMICs
1183	  when controlled using I2C.  This driver provides common support
1184	  for accessing the device, additional drivers must be enabled in
1185	  order to use the functionality of the device.
1186
1187config MFD_WM831X_SPI
1188	bool "Wolfson Microelectronics WM831x/2x PMICs with SPI"
1189	select MFD_CORE
1190	select MFD_WM831X
1191	select REGMAP_SPI
1192	select IRQ_DOMAIN
1193	depends on SPI_MASTER
1194	help
1195	  Support for the Wolfson Microelecronics WM831x and WM832x PMICs
1196	  when controlled using SPI.  This driver provides common support
1197	  for accessing the device, additional drivers must be enabled in
1198	  order to use the functionality of the device.
1199
1200config MFD_WM8350
1201	bool
1202
1203config MFD_WM8350_I2C
1204	bool "Wolfson Microelectronics WM8350 with I2C"
1205	select MFD_WM8350
1206	depends on I2C=y
1207	help
1208	  The WM8350 is an integrated audio and power management
1209	  subsystem with watchdog and RTC functionality for embedded
1210	  systems.  This option enables core support for the WM8350 with
1211	  I2C as the control interface.  Additional options must be
1212	  selected to enable support for the functionality of the chip.
1213
1214config MFD_WM8994
1215	bool "Wolfson Microelectronics WM8994"
1216	select MFD_CORE
1217	select REGMAP_I2C
1218	select REGMAP_IRQ
1219	depends on I2C=y
1220	help
1221	  The WM8994 is a highly integrated hi-fi CODEC designed for
1222	  smartphone applicatiosn.  As well as audio functionality it
1223	  has on board GPIO and regulator functionality which is
1224	  supported via the relevant subsystems.  This driver provides
1225	  core support for the WM8994, in order to use the actual
1226	  functionaltiy of the device other drivers must be enabled.
1227
1228config MFD_STW481X
1229	tristate "Support for ST Microelectronics STw481x"
1230	depends on I2C && ARCH_NOMADIK
1231	select REGMAP_I2C
1232	select MFD_CORE
1233	help
1234	  Select this option to enable the STw481x chip driver used
1235	  in various ST Microelectronics and ST-Ericsson embedded
1236	  Nomadik series.
1237
1238menu "Multimedia Capabilities Port drivers"
1239	depends on ARCH_SA1100
1240
1241config MCP
1242	tristate
1243
1244# Interface drivers
1245config MCP_SA11X0
1246	tristate "Support SA11x0 MCP interface"
1247	depends on ARCH_SA1100
1248	select MCP
1249
1250# Chip drivers
1251config MCP_UCB1200
1252	tristate "Support for UCB1200 / UCB1300"
1253	depends on MCP_SA11X0
1254	select MCP
1255
1256config MCP_UCB1200_TS
1257	tristate "Touchscreen interface support"
1258	depends on MCP_UCB1200 && INPUT
1259
1260endmenu
1261
1262config MFD_VEXPRESS_SYSREG
1263	bool "Versatile Express System Registers"
1264	depends on VEXPRESS_CONFIG && GPIOLIB
1265	default y
1266	select CLKSRC_MMIO
1267	select GPIO_GENERIC_PLATFORM
1268	select MFD_CORE
1269	select MFD_SYSCON
1270	help
1271	  System Registers are the platform configuration block
1272	  on the ARM Ltd. Versatile Express board.
1273
1274endmenu
1275endif
1276