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