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