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