xref: /linux/drivers/mfd/Kconfig (revision b889fcf63cb62e7fdb7816565e28f44dbe4a76a5)
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	help
226	  If you say yes here you get support for the TPS6586X series of
227	  Power Management chips.
228	  This driver provides common support for accessing the device,
229	  additional drivers must be enabled in order to use the
230	  functionality of the device.
231
232	  This driver can also be built as a module.  If so, the module
233	  will be called tps6586x.
234
235config MFD_TPS65910
236	bool "TPS65910 Power Management chip"
237	depends on I2C=y && GPIOLIB
238	select MFD_CORE
239	select REGMAP_I2C
240	select IRQ_DOMAIN
241	help
242	  if you say yes here you get support for the TPS65910 series of
243	  Power Management chips.
244
245config MFD_TPS65912
246	bool
247	depends on GPIOLIB
248
249config MFD_TPS65912_I2C
250	bool "TPS65912 Power Management chip with I2C"
251	select MFD_CORE
252	select MFD_TPS65912
253	depends on I2C=y && GPIOLIB
254	help
255	  If you say yes here you get support for the TPS65912 series of
256	  PM chips with I2C interface.
257
258config MFD_TPS65912_SPI
259	bool "TPS65912 Power Management chip with SPI"
260	select MFD_CORE
261	select MFD_TPS65912
262	depends on SPI_MASTER && GPIOLIB
263	help
264	  If you say yes here you get support for the TPS65912 series of
265	  PM chips with SPI interface.
266
267config MFD_TPS80031
268	bool "TI TPS80031/TPS80032 Power Management chips"
269	depends on I2C=y && GENERIC_HARDIRQS
270	select MFD_CORE
271	select REGMAP_I2C
272	select REGMAP_IRQ
273	help
274	  If you say yes here you get support for the Texas Instruments
275	  TPS80031/ TPS80032 Fully Integrated Power Management with Power
276	  Path and Battery Charger. The device provides five configurable
277	  step-down converters, 11 general purpose LDOs, USB OTG Module,
278	  ADC, RTC, 2 PWM, System Voltage Regulator/Battery Charger with
279	  Power Path from USB, 32K clock generator.
280
281config MENELAUS
282	bool "Texas Instruments TWL92330/Menelaus PM chip"
283	depends on I2C=y && ARCH_OMAP2
284	help
285	  If you say yes here you get support for the Texas Instruments
286	  TWL92330/Menelaus Power Management chip. This include voltage
287	  regulators, Dual slot memory card transceivers, real-time clock
288	  and other features that are often used in portable devices like
289	  cell phones and PDAs.
290
291config TWL4030_CORE
292	bool "Texas Instruments TWL4030/TWL5030/TWL6030/TPS659x0 Support"
293	depends on I2C=y && GENERIC_HARDIRQS
294	select IRQ_DOMAIN
295	help
296	  Say yes here if you have TWL4030 / TWL6030 family chip on your board.
297	  This core driver provides register access and IRQ handling
298	  facilities, and registers devices for the various functions
299	  so that function-specific drivers can bind to them.
300
301	  These multi-function chips are found on many OMAP2 and OMAP3
302	  boards, providing power management, RTC, GPIO, keypad, a
303	  high speed USB OTG transceiver, an audio codec (on most
304	  versions) and many other features.
305
306config TWL4030_MADC
307	tristate "Texas Instruments TWL4030 MADC"
308	depends on TWL4030_CORE
309	help
310	This driver provides support for triton TWL4030-MADC. The
311	driver supports both RT and SW conversion methods.
312
313	This driver can be built as a module. If so it will be
314	named twl4030-madc
315
316config TWL4030_POWER
317	bool "Support power resources on TWL4030 family chips"
318	depends on TWL4030_CORE && ARM
319	help
320	  Say yes here if you want to use the power resources on the
321	  TWL4030 family chips.  Most of these resources are regulators,
322	  which have a separate driver; some are control signals, such
323	  as clock request handshaking.
324
325	  This driver uses board-specific data to initialize the resources
326	  and load scripts controlling which resources are switched off/on
327	  or reset when a sleep, wakeup or warm reset event occurs.
328
329config MFD_TWL4030_AUDIO
330	bool
331	depends on TWL4030_CORE
332	select MFD_CORE
333	default n
334
335config TWL6040_CORE
336	bool "Support for TWL6040 audio codec"
337	depends on I2C=y
338	select MFD_CORE
339	select REGMAP_I2C
340	select REGMAP_IRQ
341	default n
342	help
343	  Say yes here if you want support for Texas Instruments TWL6040 audio
344	  codec.
345	  This driver provides common support for accessing the device,
346	  additional drivers must be enabled in order to use the
347	  functionality of the device (audio, vibra).
348
349config MFD_STMPE
350	bool "Support STMicroelectronics STMPE"
351	depends on (I2C=y || SPI_MASTER=y) && GENERIC_HARDIRQS
352	select MFD_CORE
353	help
354	  Support for the STMPE family of I/O Expanders from
355	  STMicroelectronics.
356
357	  Currently supported devices are:
358
359		STMPE811: GPIO, Touchscreen
360		STMPE1601: GPIO, Keypad
361		STMPE2401: GPIO, Keypad
362		STMPE2403: GPIO, Keypad
363
364	  This driver provides common support for accessing the device,
365	  additional drivers must be enabled in order to use the functionality
366	  of the device.  Currently available sub drivers are:
367
368		GPIO: stmpe-gpio
369		Keypad: stmpe-keypad
370		Touchscreen: stmpe-ts
371
372menu "STMPE Interface Drivers"
373depends on MFD_STMPE
374
375config STMPE_I2C
376	bool "STMPE I2C Inteface"
377	depends on I2C=y
378	default y
379	help
380	  This is used to enable I2C interface of STMPE
381
382config STMPE_SPI
383	bool "STMPE SPI Inteface"
384	depends on SPI_MASTER
385	help
386	  This is used to enable SPI interface of STMPE
387endmenu
388
389config MFD_TC3589X
390	bool "Support Toshiba TC35892 and variants"
391	depends on I2C=y && GENERIC_HARDIRQS
392	select MFD_CORE
393	help
394	  Support for the Toshiba TC35892 and variants I/O Expander.
395
396	  This driver provides common support for accessing the device,
397	  additional drivers must be enabled in order to use the
398	  functionality of the device.
399
400config MFD_TMIO
401	bool
402	default n
403
404config MFD_T7L66XB
405	bool "Support Toshiba T7L66XB"
406	depends on ARM && HAVE_CLK
407	select MFD_CORE
408	select MFD_TMIO
409	help
410	  Support for Toshiba Mobile IO Controller T7L66XB
411
412config MFD_SMSC
413       bool "Support for the SMSC ECE1099 series chips"
414       depends on I2C=y
415       select MFD_CORE
416       select REGMAP_I2C
417       help
418        If you say yes here you get support for the
419        ece1099 chips from SMSC.
420
421        To compile this driver as a module, choose M here: the
422        module will be called smsc.
423
424config MFD_TC6387XB
425	bool "Support Toshiba TC6387XB"
426	depends on ARM && HAVE_CLK
427	select MFD_CORE
428	select MFD_TMIO
429	help
430	  Support for Toshiba Mobile IO Controller TC6387XB
431
432config MFD_TC6393XB
433	bool "Support Toshiba TC6393XB"
434	depends on ARM && HAVE_CLK
435	select GPIOLIB
436	select MFD_CORE
437	select MFD_TMIO
438	help
439	  Support for Toshiba Mobile IO Controller TC6393XB
440
441config PMIC_DA903X
442	bool "Dialog Semiconductor DA9030/DA9034 PMIC Support"
443	depends on I2C=y
444	help
445	  Say yes here to support for Dialog Semiconductor DA9030 (a.k.a
446	  ARAVA) and DA9034 (a.k.a MICCO), these are Power Management IC
447	  usually found on PXA processors-based platforms. This includes
448	  the I2C driver and the core APIs _only_, you have to select
449	  individual components like LCD backlight, voltage regulators,
450	  LEDs and battery-charger under the corresponding menus.
451
452config PMIC_DA9052
453	bool
454	select MFD_CORE
455
456config MFD_DA9052_SPI
457	bool "Support Dialog Semiconductor DA9052/53 PMIC variants with SPI"
458	select REGMAP_SPI
459	select REGMAP_IRQ
460	select PMIC_DA9052
461	depends on SPI_MASTER=y
462	help
463	  Support for the Dialog Semiconductor DA9052 PMIC
464	  when controlled using SPI. This driver provides common support
465	  for accessing the device, additional drivers must be enabled in
466	  order to use the functionality of the device.
467
468config MFD_DA9052_I2C
469	bool "Support Dialog Semiconductor DA9052/53 PMIC variants with I2C"
470	select REGMAP_I2C
471	select REGMAP_IRQ
472	select PMIC_DA9052
473	depends on I2C=y
474	help
475	  Support for the Dialog Semiconductor DA9052 PMIC
476	  when controlled using I2C. This driver provides common support
477	  for accessing the device, additional drivers must be enabled in
478	  order to use the functionality of the device.
479
480config MFD_DA9055
481	bool "Dialog Semiconductor DA9055 PMIC Support"
482	select REGMAP_I2C
483	select REGMAP_IRQ
484	select PMIC_DA9055
485	select MFD_CORE
486	depends on I2C=y
487	help
488	  Say yes here for support of Dialog Semiconductor DA9055. This is
489	  a Power Management IC. This driver provides common support for
490	  accessing the device as well as the I2C interface to the chip itself.
491	  Additional drivers must be enabled in order to use the functionality
492	  of the device.
493
494	  This driver can be built as a module. If built as a module it will be
495	  called "da9055"
496
497config PMIC_ADP5520
498	bool "Analog Devices ADP5520/01 MFD PMIC Core Support"
499	depends on I2C=y
500	help
501	  Say yes here to add support for Analog Devices AD5520 and ADP5501,
502	  Multifunction Power Management IC. This includes
503	  the I2C driver and the core APIs _only_, you have to select
504	  individual components like LCD backlight, LEDs, GPIOs and Kepad
505	  under the corresponding menus.
506
507config MFD_LP8788
508	bool "Texas Instruments LP8788 Power Management Unit Driver"
509	depends on I2C=y
510	select MFD_CORE
511	select REGMAP_I2C
512	select IRQ_DOMAIN
513	help
514	  TI LP8788 PMU supports regulators, battery charger, RTC,
515	  ADC, backlight driver and current sinks.
516
517config MFD_MAX77686
518	bool "Maxim Semiconductor MAX77686 PMIC Support"
519	depends on I2C=y && GENERIC_HARDIRQS
520	select MFD_CORE
521	select REGMAP_I2C
522	select IRQ_DOMAIN
523	help
524	  Say yes here to support for Maxim Semiconductor MAX77686.
525	  This is a Power Management IC with RTC on chip.
526	  This driver provides common support for accessing the device;
527	  additional drivers must be enabled in order to use the functionality
528	  of the device.
529
530config MFD_MAX77693
531	bool "Maxim Semiconductor MAX77693 PMIC Support"
532	depends on I2C=y && GENERIC_HARDIRQS
533	select MFD_CORE
534	select REGMAP_I2C
535	help
536	  Say yes here to support for Maxim Semiconductor MAX77693.
537	  This is a companion Power Management IC with Flash, Haptic, Charger,
538	  and MUIC(Micro USB Interface Controller) controls on chip.
539	  This driver provides common support for accessing the device;
540	  additional drivers must be enabled in order to use the functionality
541	  of the device.
542
543config MFD_MAX8907
544	tristate "Maxim Semiconductor MAX8907 PMIC Support"
545	select MFD_CORE
546	depends on I2C=y && GENERIC_HARDIRQS
547	select REGMAP_I2C
548	select REGMAP_IRQ
549	help
550	  Say yes here to support for Maxim Semiconductor MAX8907. This is
551	  a Power Management IC. This driver provides common support for
552	  accessing the device; additional drivers must be enabled in order
553	  to use the functionality of the device.
554
555config MFD_MAX8925
556	bool "Maxim Semiconductor MAX8925 PMIC Support"
557	depends on I2C=y && GENERIC_HARDIRQS
558	select MFD_CORE
559	help
560	  Say yes here to support for Maxim Semiconductor MAX8925. This is
561	  a Power Management IC. This driver provides common support for
562	  accessing the device, additional drivers must be enabled in order
563	  to use the functionality of the device.
564
565config MFD_MAX8997
566	bool "Maxim Semiconductor MAX8997/8966 PMIC Support"
567	depends on I2C=y && GENERIC_HARDIRQS
568	select MFD_CORE
569	select IRQ_DOMAIN
570	help
571	  Say yes here to support for Maxim Semiconductor MAX8997/8966.
572	  This is a Power Management IC with RTC, Flash, Fuel Gauge, Haptic,
573	  MUIC controls on chip.
574	  This driver provides common support for accessing the device;
575	  additional drivers must be enabled in order to use the functionality
576	  of the device.
577
578config MFD_MAX8998
579	bool "Maxim Semiconductor MAX8998/National LP3974 PMIC Support"
580	depends on I2C=y && GENERIC_HARDIRQS
581	select MFD_CORE
582	help
583	  Say yes here to support for Maxim Semiconductor MAX8998 and
584	  National Semiconductor LP3974. This is a Power Management IC.
585	  This driver provides common support for accessing the device,
586	  additional drivers must be enabled in order to use the functionality
587	  of the device.
588
589config MFD_SEC_CORE
590	bool "SAMSUNG Electronics PMIC Series Support"
591	depends on I2C=y && GENERIC_HARDIRQS
592	select MFD_CORE
593	select REGMAP_I2C
594	select REGMAP_IRQ
595	help
596	 Support for the Samsung Electronics MFD series.
597	 This driver provides common support for accessing the device,
598	 additional drivers must be enabled in order to use the functionality
599	 of the device
600
601config MFD_ARIZONA
602	select REGMAP
603	select REGMAP_IRQ
604	select MFD_CORE
605	bool
606
607config MFD_ARIZONA_I2C
608	tristate "Support Wolfson Microelectronics Arizona platform with I2C"
609	select MFD_ARIZONA
610	select MFD_CORE
611	select REGMAP_I2C
612	depends on I2C
613	help
614	  Support for the Wolfson Microelectronics Arizona platform audio SoC
615	  core functionality controlled via I2C.
616
617config MFD_ARIZONA_SPI
618	tristate "Support Wolfson Microelectronics Arizona platform with SPI"
619	select MFD_ARIZONA
620	select MFD_CORE
621	select REGMAP_SPI
622	depends on SPI_MASTER
623	help
624	  Support for the Wolfson Microelectronics Arizona platform audio SoC
625	  core functionality controlled via I2C.
626
627config MFD_WM5102
628	bool "Support Wolfson Microelectronics WM5102"
629	depends on MFD_ARIZONA
630	help
631	  Support for Wolfson Microelectronics WM5102 low power audio SoC
632
633config MFD_WM5110
634	bool "Support Wolfson Microelectronics WM5110"
635	depends on MFD_ARIZONA
636	help
637	  Support for Wolfson Microelectronics WM5110 low power audio SoC
638
639config MFD_WM8400
640	bool "Support Wolfson Microelectronics WM8400"
641	select MFD_CORE
642	depends on I2C=y
643	select REGMAP_I2C
644	help
645	  Support for the Wolfson Microelecronics WM8400 PMIC and audio
646	  CODEC.  This driver provides common support for accessing
647	  the device, additional drivers must be enabled in order to use
648	  the functionality of the device.
649
650config MFD_WM831X
651	bool
652	depends on GENERIC_HARDIRQS
653
654config MFD_WM831X_I2C
655	bool "Support Wolfson Microelectronics WM831x/2x PMICs with I2C"
656	select MFD_CORE
657	select MFD_WM831X
658	select REGMAP_I2C
659	select IRQ_DOMAIN
660	depends on I2C=y && GENERIC_HARDIRQS
661	help
662	  Support for the Wolfson Microelecronics WM831x and WM832x PMICs
663	  when controlled using I2C.  This driver provides common support
664	  for accessing the device, additional drivers must be enabled in
665	  order to use the functionality of the device.
666
667config MFD_WM831X_SPI
668	bool "Support Wolfson Microelectronics WM831x/2x PMICs with SPI"
669	select MFD_CORE
670	select MFD_WM831X
671	select REGMAP_SPI
672	select IRQ_DOMAIN
673	depends on SPI_MASTER && GENERIC_HARDIRQS
674	help
675	  Support for the Wolfson Microelecronics WM831x and WM832x PMICs
676	  when controlled using SPI.  This driver provides common support
677	  for accessing the device, additional drivers must be enabled in
678	  order to use the functionality of the device.
679
680config MFD_WM8350
681	bool
682	depends on GENERIC_HARDIRQS
683
684config MFD_WM8350_CONFIG_MODE_0
685	bool
686	depends on MFD_WM8350
687
688config MFD_WM8350_CONFIG_MODE_1
689	bool
690	depends on MFD_WM8350
691
692config MFD_WM8350_CONFIG_MODE_2
693	bool
694	depends on MFD_WM8350
695
696config MFD_WM8350_CONFIG_MODE_3
697	bool
698	depends on MFD_WM8350
699
700config MFD_WM8351_CONFIG_MODE_0
701	bool
702	depends on MFD_WM8350
703
704config MFD_WM8351_CONFIG_MODE_1
705	bool
706	depends on MFD_WM8350
707
708config MFD_WM8351_CONFIG_MODE_2
709	bool
710	depends on MFD_WM8350
711
712config MFD_WM8351_CONFIG_MODE_3
713	bool
714	depends on MFD_WM8350
715
716config MFD_WM8352_CONFIG_MODE_0
717	bool
718	depends on MFD_WM8350
719
720config MFD_WM8352_CONFIG_MODE_1
721	bool
722	depends on MFD_WM8350
723
724config MFD_WM8352_CONFIG_MODE_2
725	bool
726	depends on MFD_WM8350
727
728config MFD_WM8352_CONFIG_MODE_3
729	bool
730	depends on MFD_WM8350
731
732config MFD_WM8350_I2C
733	bool "Support Wolfson Microelectronics WM8350 with I2C"
734	select MFD_WM8350
735	depends on I2C=y && GENERIC_HARDIRQS
736	help
737	  The WM8350 is an integrated audio and power management
738	  subsystem with watchdog and RTC functionality for embedded
739	  systems.  This option enables core support for the WM8350 with
740	  I2C as the control interface.  Additional options must be
741	  selected to enable support for the functionality of the chip.
742
743config MFD_WM8994
744	bool "Support Wolfson Microelectronics WM8994"
745	select MFD_CORE
746	select REGMAP_I2C
747	select REGMAP_IRQ
748	depends on I2C=y && GENERIC_HARDIRQS
749	help
750	  The WM8994 is a highly integrated hi-fi CODEC designed for
751	  smartphone applicatiosn.  As well as audio functionality it
752	  has on board GPIO and regulator functionality which is
753	  supported via the relevant subsystems.  This driver provides
754	  core support for the WM8994, in order to use the actual
755	  functionaltiy of the device other drivers must be enabled.
756
757config MFD_PCF50633
758	tristate "Support for NXP PCF50633"
759	depends on I2C
760	select REGMAP_I2C
761	help
762	  Say yes here if you have NXP PCF50633 chip on your board.
763	  This core driver provides register access and IRQ handling
764	  facilities, and registers devices for the various functions
765	  so that function-specific drivers can bind to them.
766
767config PCF50633_ADC
768	tristate "Support for NXP PCF50633 ADC"
769	depends on MFD_PCF50633
770	help
771	 Say yes here if you want to include support for ADC in the
772	 NXP PCF50633 chip.
773
774config PCF50633_GPIO
775	tristate "Support for NXP PCF50633 GPIO"
776	depends on MFD_PCF50633
777	help
778	 Say yes here if you want to include support GPIO for pins on
779	 the PCF50633 chip.
780
781config MFD_MC13783
782	tristate
783
784config MFD_MC13XXX
785	tristate
786	depends on SPI_MASTER || I2C
787	select MFD_CORE
788	select MFD_MC13783
789	help
790	  Enable support for the Freescale MC13783 and MC13892 PMICs.
791	  This driver provides common support for accessing the device,
792	  additional drivers must be enabled in order to use the
793	  functionality of the device.
794
795config MFD_MC13XXX_SPI
796	tristate "Freescale MC13783 and MC13892 SPI interface"
797	depends on SPI_MASTER
798	select REGMAP_SPI
799	select MFD_MC13XXX
800	help
801	  Select this if your MC13xxx is connected via an SPI bus.
802
803config MFD_MC13XXX_I2C
804	tristate "Freescale MC13892 I2C interface"
805	depends on I2C
806	select REGMAP_I2C
807	select MFD_MC13XXX
808	help
809	  Select this if your MC13xxx is connected via an I2C bus.
810
811config ABX500_CORE
812	bool "ST-Ericsson ABX500 Mixed Signal Circuit register functions"
813	default y if ARCH_U300 || ARCH_U8500
814	help
815	  Say yes here if you have the ABX500 Mixed Signal IC family
816	  chips. This core driver expose register access functions.
817	  Functionality specific drivers using these functions can
818	  remain unchanged when IC changes. Binding of the functions to
819	  actual register access is done by the IC core driver.
820
821config AB3100_CORE
822	bool "ST-Ericsson AB3100 Mixed Signal Circuit core functions"
823	depends on I2C=y && ABX500_CORE
824	select MFD_CORE
825	default y if ARCH_U300
826	help
827	  Select this to enable the AB3100 Mixed Signal IC core
828	  functionality. This connects to a AB3100 on the I2C bus
829	  and expose a number of symbols needed for dependent devices
830	  to read and write registers and subscribe to events from
831	  this multi-functional IC. This is needed to use other features
832	  of the AB3100 such as battery-backed RTC, charging control,
833	  LEDs, vibrator, system power and temperature, power management
834	  and ALSA sound.
835
836config AB3100_OTP
837	tristate "ST-Ericsson AB3100 OTP functions"
838	depends on AB3100_CORE
839	default y if AB3100_CORE
840	help
841	  Select this to enable the AB3100 Mixed Signal IC OTP (one-time
842	  programmable memory) support. This exposes a sysfs file to read
843	  out OTP values.
844
845config EZX_PCAP
846	bool "PCAP Support"
847	depends on GENERIC_HARDIRQS && SPI_MASTER
848	help
849	  This enables the PCAP ASIC present on EZX Phones. This is
850	  needed for MMC, TouchScreen, Sound, USB, etc..
851
852config AB8500_CORE
853	bool "ST-Ericsson AB8500 Mixed Signal Power Management chip"
854	depends on GENERIC_HARDIRQS && ABX500_CORE && MFD_DB8500_PRCMU
855	select MFD_CORE
856	select IRQ_DOMAIN
857	help
858	  Select this option to enable access to AB8500 power management
859	  chip. This connects to U8500 either on the SSP/SPI bus (deprecated
860	  since hardware version v1.0) or the I2C bus via PRCMU. It also adds
861	  the irq_chip parts for handling the Mixed Signal chip events.
862	  This chip embeds various other multimedia funtionalities as well.
863
864config AB8500_DEBUG
865       bool "Enable debug info via debugfs"
866       depends on AB8500_CORE && DEBUG_FS
867       default y if DEBUG_FS
868       help
869         Select this option if you want debug information using the debug
870         filesystem, debugfs.
871
872config AB8500_GPADC
873	bool "AB8500 GPADC driver"
874	depends on AB8500_CORE && REGULATOR_AB8500
875	default y
876	help
877	  AB8500 GPADC driver used to convert Acc and battery/ac/usb voltage
878
879config MFD_DB8500_PRCMU
880	bool "ST-Ericsson DB8500 Power Reset Control Management Unit"
881	depends on UX500_SOC_DB8500
882	select MFD_CORE
883	help
884	  Select this option to enable support for the DB8500 Power Reset
885	  and Control Management Unit. This is basically an autonomous
886	  system controller running an XP70 microprocessor, which is accessed
887	  through a register map.
888
889config MFD_CS5535
890	tristate "Support for CS5535 and CS5536 southbridge core functions"
891	select MFD_CORE
892	depends on PCI && X86
893	---help---
894	  This is the core driver for CS5535/CS5536 MFD functions.  This is
895          necessary for using the board's GPIO and MFGPT functionality.
896
897config MFD_TIMBERDALE
898	tristate "Support for the Timberdale FPGA"
899	select MFD_CORE
900	depends on PCI && GPIOLIB
901	---help---
902	This is the core driver for the timberdale FPGA. This device is a
903	multifunction device which exposes numerous platform devices.
904
905	The timberdale FPGA can be found on the Intel Atom development board
906	for in-vehicle infontainment, called Russellville.
907
908config LPC_SCH
909	tristate "Intel SCH LPC"
910	depends on PCI
911	select MFD_CORE
912	help
913	  LPC bridge function of the Intel SCH provides support for
914	  System Management Bus and General Purpose I/O.
915
916config LPC_ICH
917	tristate "Intel ICH LPC"
918	depends on PCI
919	select MFD_CORE
920	help
921	  The LPC bridge function of the Intel ICH provides support for
922	  many functional units. This driver provides needed support for
923	  other drivers to control these functions, currently GPIO and
924	  watchdog.
925
926config MFD_RDC321X
927	tristate "Support for RDC-R321x southbridge"
928	select MFD_CORE
929	depends on PCI
930	help
931	  Say yes here if you want to have support for the RDC R-321x SoC
932	  southbridge which provides access to GPIOs and Watchdog using the
933	  southbridge PCI device configuration space.
934
935config MFD_JANZ_CMODIO
936	tristate "Support for Janz CMOD-IO PCI MODULbus Carrier Board"
937	select MFD_CORE
938	depends on PCI
939	help
940	  This is the core driver for the Janz CMOD-IO PCI MODULbus
941	  carrier board. This device is a PCI to MODULbus bridge which may
942	  host many different types of MODULbus daughterboards, including
943	  CAN and GPIO controllers.
944
945config MFD_JZ4740_ADC
946	bool "Support for the JZ4740 SoC ADC core"
947	select MFD_CORE
948	select GENERIC_IRQ_CHIP
949	depends on MACH_JZ4740
950	help
951	  Say yes here if you want support for the ADC unit in the JZ4740 SoC.
952	  This driver is necessary for jz4740-battery and jz4740-hwmon driver.
953
954config MFD_VX855
955	tristate "Support for VIA VX855/VX875 integrated south bridge"
956	depends on PCI
957	select MFD_CORE
958	help
959	  Say yes here to enable support for various functions of the
960	  VIA VX855/VX875 south bridge. You will need to enable the vx855_spi
961	  and/or vx855_gpio drivers for this to do anything useful.
962
963config MFD_WL1273_CORE
964	tristate "Support for TI WL1273 FM radio."
965	depends on I2C
966	select MFD_CORE
967	default n
968	help
969	  This is the core driver for the TI WL1273 FM radio. This MFD
970	  driver connects the radio-wl1273 V4L2 module and the wl1273
971	  audio codec.
972
973config MFD_OMAP_USB_HOST
974	bool "Support OMAP USBHS core and TLL driver"
975	depends on USB_EHCI_HCD_OMAP || USB_OHCI_HCD_OMAP3
976	default y
977	help
978	  This is the core driver for the OAMP EHCI and OHCI drivers.
979	  This MFD driver does the required setup functionalities for
980	  OMAP USB Host drivers.
981
982config MFD_PM8XXX
983	tristate
984
985config MFD_PM8921_CORE
986	tristate "Qualcomm PM8921 PMIC chip"
987	depends on MSM_SSBI
988	select MFD_CORE
989	select MFD_PM8XXX
990	help
991	  If you say yes to this option, support will be included for the
992	  built-in PM8921 PMIC chip.
993
994	  This is required if your board has a PM8921 and uses its features,
995	  such as: MPPs, GPIOs, regulators, interrupts, and PWM.
996
997	  Say M here if you want to include support for PM8921 chip as a module.
998	  This will build a module called "pm8921-core".
999
1000config MFD_PM8XXX_IRQ
1001	bool "Support for Qualcomm PM8xxx IRQ features"
1002	depends on MFD_PM8XXX
1003	default y if MFD_PM8XXX
1004	help
1005	  This is the IRQ driver for Qualcomm PM 8xxx PMIC chips.
1006
1007	  This is required to use certain other PM 8xxx features, such as GPIO
1008	  and MPP.
1009
1010config TPS65911_COMPARATOR
1011	tristate
1012
1013config MFD_TPS65090
1014	bool "TPS65090 Power Management chips"
1015	depends on I2C=y && GENERIC_HARDIRQS
1016	select MFD_CORE
1017	select REGMAP_I2C
1018	select REGMAP_IRQ
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
1142config VEXPRESS_CONFIG
1143	bool
1144	help
1145	  Platform configuration infrastructure for the ARM Ltd.
1146	  Versatile Express.
1147