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