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