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