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