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