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