Merge branch 'for-viro' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi...
[cascardo/linux.git] / drivers / mfd / Kconfig
1 #
2 # Multifunction miscellaneous devices
3 #
4
5 if HAS_IOMEM
6 menu "Multifunction device drivers"
7
8 config MFD_CORE
9         tristate
10         select IRQ_DOMAIN
11         default n
12
13 config MFD_CS5535
14         tristate "AMD CS5535 and CS5536 southbridge core functions"
15         select MFD_CORE
16         depends on PCI && (X86_32 || (X86 && COMPILE_TEST))
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
21 config MFD_ACT8945A
22         tristate "Active-semi ACT8945A"
23         select MFD_CORE
24         select REGMAP_I2C
25         depends on I2C && OF
26         help
27           Support for the ACT8945A PMIC from Active-semi. This device
28           features three step-down DC/DC converters and four low-dropout
29           linear regulators, along with a complete ActivePath battery
30           charger.
31
32 config MFD_AS3711
33         bool "AMS AS3711"
34         select MFD_CORE
35         select REGMAP_I2C
36         select REGMAP_IRQ
37         depends on I2C=y
38         help
39           Support for the AS3711 PMIC from AMS
40
41 config MFD_AS3722
42         bool "ams AS3722 Power Management IC"
43         select MFD_CORE
44         select REGMAP_I2C
45         select REGMAP_IRQ
46         depends on I2C=y && OF
47         help
48           The ams AS3722 is a compact system PMU suitable for mobile phones,
49           tablets etc. It has 4 DC/DC step-down regulators, 3 DC/DC step-down
50           controllers, 11 LDOs, RTC, automatic battery, temperature and
51           over current monitoring, GPIOs, ADC and a watchdog.
52
53 config PMIC_ADP5520
54         bool "Analog Devices ADP5520/01 MFD PMIC Core Support"
55         depends on I2C=y
56         help
57           Say yes here to add support for Analog Devices AD5520 and ADP5501,
58           Multifunction Power Management IC. This includes
59           the I2C driver and the core APIs _only_, you have to select
60           individual components like LCD backlight, LEDs, GPIOs and Kepad
61           under the corresponding menus.
62
63 config MFD_AAT2870_CORE
64         bool "AnalogicTech AAT2870"
65         select MFD_CORE
66         depends on I2C=y
67         depends on GPIOLIB || COMPILE_TEST
68         help
69           If you say yes here you get support for the AAT2870.
70           This driver provides common support for accessing the device,
71           additional drivers must be enabled in order to use the
72           functionality of the device.
73
74 config MFD_ATMEL_FLEXCOM
75         tristate "Atmel Flexcom (Flexible Serial Communication Unit)"
76         select MFD_CORE
77         depends on OF
78         help
79           Select this to get support for Atmel Flexcom. This is a wrapper
80           which embeds a SPI controller, a I2C controller and a USART. Only
81           one function can be used at a time. The choice is done at boot time
82           by the probe function of this MFD driver according to a device tree
83           property.
84
85 config MFD_ATMEL_HLCDC
86         tristate "Atmel HLCDC (High-end LCD Controller)"
87         select MFD_CORE
88         select REGMAP_MMIO
89         depends on OF
90         help
91           If you say yes here you get support for the HLCDC block.
92           This driver provides common support for accessing the device,
93           additional drivers must be enabled in order to use the
94           functionality of the device.
95
96 config MFD_BCM590XX
97         tristate "Broadcom BCM590xx PMUs"
98         select MFD_CORE
99         select REGMAP_I2C
100         depends on I2C
101         help
102           Support for the BCM590xx PMUs from Broadcom
103
104 config MFD_AXP20X
105         tristate
106         select MFD_CORE
107         select REGMAP_IRQ
108
109 config MFD_AXP20X_I2C
110         tristate "X-Powers AXP series PMICs with I2C"
111         select MFD_AXP20X
112         select REGMAP_I2C
113         depends on I2C
114         help
115           If you say Y here you get support for the X-Powers AXP series power
116           management ICs (PMICs) controlled with I2C.
117           This driver include only the core APIs. You have to select individual
118           components like regulators or the PEK (Power Enable Key) under the
119           corresponding menus.
120
121 config MFD_AXP20X_RSB
122         tristate "X-Powers AXP series PMICs with RSB"
123         select MFD_AXP20X
124         depends on SUNXI_RSB
125         help
126           If you say Y here you get support for the X-Powers AXP series power
127           management ICs (PMICs) controlled with RSB.
128           This driver include only the core APIs. You have to select individual
129           components like regulators or the PEK (Power Enable Key) under the
130           corresponding menus.
131
132 config MFD_CROS_EC
133         tristate "ChromeOS Embedded Controller"
134         select MFD_CORE
135         select CHROME_PLATFORMS
136         select CROS_EC_PROTO
137         depends on X86 || ARM || ARM64 || COMPILE_TEST
138         help
139           If you say Y here you get support for the ChromeOS Embedded
140           Controller (EC) providing keyboard, battery and power services.
141           You also need to enable the driver for the bus you are using. The
142           protocol for talking to the EC is defined by the bus driver.
143
144 config MFD_CROS_EC_I2C
145         tristate "ChromeOS Embedded Controller (I2C)"
146         depends on MFD_CROS_EC && I2C
147
148         help
149           If you say Y here, you get support for talking to the ChromeOS
150           EC through an I2C bus. This uses a simple byte-level protocol with
151           a checksum. Failing accesses will be retried three times to
152           improve reliability.
153
154 config MFD_CROS_EC_SPI
155         tristate "ChromeOS Embedded Controller (SPI)"
156         depends on MFD_CROS_EC && SPI
157
158         ---help---
159           If you say Y here, you get support for talking to the ChromeOS EC
160           through a SPI bus, using a byte-level protocol. Since the EC's
161           response time cannot be guaranteed, we support ignoring
162           'pre-amble' bytes before the response actually starts.
163
164 config MFD_ASIC3
165         bool "Compaq ASIC3"
166         depends on GPIOLIB && ARM
167         select MFD_CORE
168          ---help---
169           This driver supports the ASIC3 multifunction chip found on many
170           PDAs (mainly iPAQ and HTC based ones)
171
172 config PMIC_DA903X
173         bool "Dialog Semiconductor DA9030/DA9034 PMIC Support"
174         depends on I2C=y
175         help
176           Say yes here to add support for Dialog Semiconductor DA9030 (a.k.a
177           ARAVA) and DA9034 (a.k.a MICCO), these are Power Management IC
178           usually found on PXA processors-based platforms. This includes
179           the I2C driver and the core APIs _only_, you have to select
180           individual components like LCD backlight, voltage regulators,
181           LEDs and battery-charger under the corresponding menus.
182
183 config PMIC_DA9052
184         bool
185         select MFD_CORE
186
187 config MFD_DA9052_SPI
188         bool "Dialog Semiconductor DA9052/53 PMIC variants with SPI"
189         select REGMAP_SPI
190         select REGMAP_IRQ
191         select PMIC_DA9052
192         depends on SPI_MASTER=y
193         help
194           Support for the Dialog Semiconductor DA9052 PMIC
195           when controlled using SPI. This driver provides common support
196           for accessing the device, additional drivers must be enabled in
197           order to use the functionality of the device.
198
199 config MFD_DA9052_I2C
200         bool "Dialog Semiconductor DA9052/53 PMIC variants with I2C"
201         select REGMAP_I2C
202         select REGMAP_IRQ
203         select PMIC_DA9052
204         depends on I2C=y
205         help
206           Support for the Dialog Semiconductor DA9052 PMIC
207           when controlled using I2C. This driver provides common support
208           for accessing the device, additional drivers must be enabled in
209           order to use the functionality of the device.
210
211 config MFD_DA9055
212         bool "Dialog Semiconductor DA9055 PMIC Support"
213         select REGMAP_I2C
214         select REGMAP_IRQ
215         select MFD_CORE
216         depends on I2C=y
217         help
218           Say yes here for support of Dialog Semiconductor DA9055. This is
219           a Power Management IC. This driver provides common support for
220           accessing the device as well as the I2C interface to the chip itself.
221           Additional drivers must be enabled in order to use the functionality
222           of the device.
223
224           This driver can be built as a module. If built as a module it will be
225           called "da9055"
226
227 config MFD_DA9062
228         tristate "Dialog Semiconductor DA9062 PMIC Support"
229         select MFD_CORE
230         select REGMAP_I2C
231         select REGMAP_IRQ
232         depends on I2C
233         help
234           Say yes here for support for the Dialog Semiconductor DA9062 PMIC.
235           This includes the I2C driver and core APIs.
236           Additional drivers must be enabled in order to use the functionality
237           of the device.
238
239 config MFD_DA9063
240         tristate "Dialog Semiconductor DA9063 PMIC Support"
241         select MFD_CORE
242         select REGMAP_I2C
243         select REGMAP_IRQ
244         depends on I2C
245         help
246           Say yes here for support for the Dialog Semiconductor DA9063 PMIC.
247           This includes the I2C driver and core APIs.
248           Additional drivers must be enabled in order to use the functionality
249           of the device.
250
251 config MFD_DA9150
252         tristate "Dialog Semiconductor DA9150 Charger Fuel-Gauge chip"
253         depends on I2C
254         select MFD_CORE
255         select REGMAP_I2C
256         select REGMAP_IRQ
257         help
258           This adds support for the DA9150 integrated charger and fuel-gauge
259           chip. This driver provides common support for accessing the device.
260           Additional drivers must be enabled in order to use the specific
261           features of the device.
262
263 config MFD_DLN2
264         tristate "Diolan DLN2 support"
265         select MFD_CORE
266         depends on USB
267         help
268           This adds support for Diolan USB-I2C/SPI/GPIO Master Adapter
269           DLN-2. Additional drivers such as I2C_DLN2, GPIO_DLN2,
270           etc. must be enabled in order to use the functionality of
271           the device.
272
273 config MFD_MC13XXX
274         tristate
275         depends on (SPI_MASTER || I2C)
276         select MFD_CORE
277         select REGMAP_IRQ
278         help
279           Enable support for the Freescale MC13783 and MC13892 PMICs.
280           This driver provides common support for accessing the device,
281           additional drivers must be enabled in order to use the
282           functionality of the device.
283
284 config MFD_MC13XXX_SPI
285         tristate "Freescale MC13783 and MC13892 SPI interface"
286         depends on SPI_MASTER
287         select REGMAP_SPI
288         select MFD_MC13XXX
289         help
290           Select this if your MC13xxx is connected via an SPI bus.
291
292 config MFD_MC13XXX_I2C
293         tristate "Freescale MC13892 I2C interface"
294         depends on I2C
295         select REGMAP_I2C
296         select MFD_MC13XXX
297         help
298           Select this if your MC13xxx is connected via an I2C bus.
299
300 config MFD_MX25_TSADC
301         tristate "Freescale i.MX25 integrated Touchscreen and ADC unit"
302         select REGMAP_MMIO
303         depends on (SOC_IMX25 && OF) || COMPILE_TEST
304         help
305           Enable support for the integrated Touchscreen and ADC unit of the
306           i.MX25 processors. They consist of a conversion queue for general
307           purpose ADC and a queue for Touchscreens.
308
309 config MFD_HI6421_PMIC
310         tristate "HiSilicon Hi6421 PMU/Codec IC"
311         depends on OF
312         select MFD_CORE
313         select REGMAP_MMIO
314         help
315           Add support for HiSilicon Hi6421 PMIC. Hi6421 includes multi-
316           functions, such as regulators, RTC, codec, Coulomb counter, etc.
317           This driver includes core APIs _only_. You have to select
318           individul components like voltage regulators under corresponding
319           menus in order to enable them.
320           We communicate with the Hi6421 via memory-mapped I/O.
321
322 config MFD_HI655X_PMIC
323         tristate "HiSilicon Hi655X series PMU/Codec IC"
324         depends on ARCH_HISI || COMPILE_TEST
325         depends on OF
326         select MFD_CORE
327         select REGMAP_MMIO
328         select REGMAP_IRQ
329         help
330           Select this option to enable Hisilicon hi655x series pmic driver.
331
332 config HTC_EGPIO
333         bool "HTC EGPIO support"
334         depends on GPIOLIB && ARM
335         help
336             This driver supports the CPLD egpio chip present on
337             several HTC phones.  It provides basic support for input
338             pins, output pins, and irqs.
339
340 config HTC_PASIC3
341         tristate "HTC PASIC3 LED/DS1WM chip support"
342         select MFD_CORE
343         help
344           This core driver provides register access for the LED/DS1WM
345           chips labeled "AIC2" and "AIC3", found on HTC Blueangel and
346           HTC Magician devices, respectively. Actual functionality is
347           handled by the leds-pasic3 and ds1wm drivers.
348
349 config HTC_I2CPLD
350         bool "HTC I2C PLD chip support"
351         depends on I2C=y && GPIOLIB
352         help
353           If you say yes here you get support for the supposed CPLD
354           found on omap850 HTC devices like the HTC Wizard and HTC Herald.
355           This device provides input and output GPIOs through an I2C
356           interface to one or more sub-chips.
357
358 config MFD_INTEL_QUARK_I2C_GPIO
359         tristate "Intel Quark MFD I2C GPIO"
360         depends on PCI
361         depends on X86
362         depends on COMMON_CLK
363         select MFD_CORE
364         help
365           This MFD provides support for I2C and GPIO that exist only
366           in a single PCI device. It splits the 2 IO devices to
367           their respective IO driver.
368           The GPIO exports a total amount of 8 interrupt-capable GPIOs.
369
370 config LPC_ICH
371         tristate "Intel ICH LPC"
372         depends on PCI
373         select MFD_CORE
374         help
375           The LPC bridge function of the Intel ICH provides support for
376           many functional units. This driver provides needed support for
377           other drivers to control these functions, currently GPIO and
378           watchdog.
379
380 config LPC_SCH
381         tristate "Intel SCH LPC"
382         depends on PCI
383         select MFD_CORE
384         help
385           LPC bridge function of the Intel SCH provides support for
386           System Management Bus and General Purpose I/O.
387
388 config INTEL_SOC_PMIC
389         bool "Support for Intel Atom SoC PMIC"
390         depends on GPIOLIB
391         depends on I2C=y
392         select MFD_CORE
393         select REGMAP_I2C
394         select REGMAP_IRQ
395         help
396           Select this option to enable support for the PMIC device
397           on some Intel SoC systems. The PMIC provides ADC, GPIO,
398           thermal, charger and related power management functions
399           on these systems.
400
401 config MFD_INTEL_LPSS
402         tristate
403         select COMMON_CLK
404         select MFD_CORE
405
406 config MFD_INTEL_LPSS_ACPI
407         tristate "Intel Low Power Subsystem support in ACPI mode"
408         select MFD_INTEL_LPSS
409         depends on X86 && ACPI
410         help
411           This driver supports Intel Low Power Subsystem (LPSS) devices such as
412           I2C, SPI and HS-UART starting from Intel Sunrisepoint (Intel Skylake
413           PCH) in ACPI mode.
414
415 config MFD_INTEL_LPSS_PCI
416         tristate "Intel Low Power Subsystem support in PCI mode"
417         select MFD_INTEL_LPSS
418         depends on X86 && PCI
419         help
420           This driver supports Intel Low Power Subsystem (LPSS) devices such as
421           I2C, SPI and HS-UART starting from Intel Sunrisepoint (Intel Skylake
422           PCH) in PCI mode.
423
424 config MFD_INTEL_MSIC
425         bool "Intel MSIC"
426         depends on INTEL_SCU_IPC
427         select MFD_CORE
428         help
429           Select this option to enable access to Intel MSIC (Avatele
430           Passage) chip. This chip embeds audio, battery, GPIO, etc.
431           devices used in Intel Medfield platforms.
432
433 config MFD_IPAQ_MICRO
434         bool "Atmel Micro ASIC (iPAQ h3100/h3600/h3700) Support"
435         depends on SA1100_H3100 || SA1100_H3600
436         select MFD_CORE
437         help
438           Select this to get support for the Microcontroller found in
439           the Compaq iPAQ handheld computers. This is an Atmel
440           AT90LS8535 microcontroller flashed with a special iPAQ
441           firmware using the custom protocol implemented in this driver.
442
443 config MFD_JANZ_CMODIO
444         tristate "Janz CMOD-IO PCI MODULbus Carrier Board"
445         select MFD_CORE
446         depends on PCI
447         help
448           This is the core driver for the Janz CMOD-IO PCI MODULbus
449           carrier board. This device is a PCI to MODULbus bridge which may
450           host many different types of MODULbus daughterboards, including
451           CAN and GPIO controllers.
452
453 config MFD_JZ4740_ADC
454         bool "Janz JZ4740 ADC core"
455         select MFD_CORE
456         select GENERIC_IRQ_CHIP
457         depends on MACH_JZ4740
458         help
459           Say yes here if you want support for the ADC unit in the JZ4740 SoC.
460           This driver is necessary for jz4740-battery and jz4740-hwmon driver.
461
462 config MFD_KEMPLD
463         tristate "Kontron module PLD device"
464         select MFD_CORE
465         help
466           This is the core driver for the PLD (Programmable Logic Device) found
467           on some Kontron ETX and COMexpress (ETXexpress) modules. The PLD
468           device may provide functions like watchdog, GPIO, UART and I2C bus.
469
470           The following modules are supported:
471                 * COMe-bBL6
472                 * COMe-bHL6
473                 * COMe-bIP#
474                 * COMe-bPC2 (ETXexpress-PC)
475                 * COMe-bSC# (ETXexpress-SC T#)
476                 * COMe-cBL6
477                 * COMe-cBT6
478                 * COMe-cBW6
479                 * COMe-cCT6
480                 * COMe-cDC2 (microETXexpress-DC)
481                 * COMe-cHL6
482                 * COMe-cPC2 (microETXexpress-PC)
483                 * COMe-mBT10
484                 * COMe-mCT10
485                 * COMe-mTT10 (nanoETXexpress-TT)
486                 * ETX-OH
487
488           This driver can also be built as a module. If so, the module
489           will be called kempld-core.
490
491 config MFD_88PM800
492         tristate "Marvell 88PM800"
493         depends on I2C
494         select REGMAP_I2C
495         select REGMAP_IRQ
496         select MFD_CORE
497         help
498           This supports for Marvell 88PM800 Power Management IC.
499           This includes the I2C driver and the core APIs _only_, you have to
500           select individual components like voltage regulators, RTC and
501           battery-charger under the corresponding menus.
502
503 config MFD_88PM805
504         tristate "Marvell 88PM805"
505         depends on I2C
506         select REGMAP_I2C
507         select REGMAP_IRQ
508         select MFD_CORE
509         help
510           This supports for Marvell 88PM805 Power Management IC. This includes
511           the I2C driver and the core APIs _only_, you have to select individual
512           components like codec device, headset/Mic device under the
513           corresponding menus.
514
515 config MFD_88PM860X
516         bool "Marvell 88PM8606/88PM8607"
517         depends on I2C=y
518         select REGMAP_I2C
519         select MFD_CORE
520         help
521           This supports for Marvell 88PM8606/88PM8607 Power Management IC.
522           This includes the I2C driver and the core APIs _only_, you have to
523           select individual components like voltage regulators, RTC and
524           battery-charger under the corresponding menus.
525
526 config MFD_MAX14577
527         bool "Maxim Semiconductor MAX14577/77836 MUIC + Charger Support"
528         depends on I2C=y
529         select MFD_CORE
530         select REGMAP_I2C
531         select REGMAP_IRQ
532         select IRQ_DOMAIN
533         help
534           Say yes here to add support for Maxim Semiconductor MAX14577 and
535           MAX77836 Micro-USB ICs with battery charger.
536           This driver provides common support for accessing the device;
537           additional drivers must be enabled in order to use the functionality
538           of the device.
539
540 config MFD_MAX77620
541         bool "Maxim Semiconductor MAX77620 and MAX20024 PMIC Support"
542         depends on I2C=y
543         depends on OF
544         select MFD_CORE
545         select REGMAP_I2C
546         select REGMAP_IRQ
547         select IRQ_DOMAIN
548         help
549           Say yes here to add support for Maxim Semiconductor MAX77620 and
550           MAX20024 which are Power Management IC with General purpose pins,
551           RTC, regulators, clock generator, watchdog etc. This driver
552           provides common support for accessing the device; additional drivers
553           must be enabled in order to use the functionality of the device.
554
555 config MFD_MAX77686
556         tristate "Maxim Semiconductor MAX77686/802 PMIC Support"
557         depends on I2C
558         depends on OF
559         select MFD_CORE
560         select REGMAP_I2C
561         select REGMAP_IRQ
562         select IRQ_DOMAIN
563         help
564           Say yes here to add support for Maxim Semiconductor MAX77686 and
565           MAX77802 which are Power Management IC with an RTC on chip.
566           This driver provides common support for accessing the device;
567           additional drivers must be enabled in order to use the functionality
568           of the device.
569
570 config MFD_MAX77693
571         tristate "Maxim Semiconductor MAX77693 PMIC Support"
572         depends on I2C
573         select MFD_CORE
574         select REGMAP_I2C
575         select REGMAP_IRQ
576         help
577           Say yes here to add support for Maxim Semiconductor MAX77693.
578           This is a companion Power Management IC with Flash, Haptic, Charger,
579           and MUIC(Micro USB Interface Controller) controls on chip.
580           This driver provides common support for accessing the device;
581           additional drivers must be enabled in order to use the functionality
582           of the device.
583
584 config MFD_MAX77843
585         bool "Maxim Semiconductor MAX77843 PMIC Support"
586         depends on I2C=y
587         select MFD_CORE
588         select REGMAP_I2C
589         select REGMAP_IRQ
590         help
591           Say yes here to add support for Maxim Semiconductor MAX77843.
592           This is companion Power Management IC with LEDs, Haptic, Charger,
593           Fuel Gauge, MUIC(Micro USB Interface Controller) controls on chip.
594           This driver provides common support for accessing the device;
595           additional drivers must be enabled in order to use the functionality
596           of the device.
597
598 config MFD_MAX8907
599         tristate "Maxim Semiconductor MAX8907 PMIC Support"
600         select MFD_CORE
601         depends on I2C
602         select REGMAP_I2C
603         select REGMAP_IRQ
604         help
605           Say yes here to add support for Maxim Semiconductor MAX8907. This is
606           a Power Management IC. This driver provides common support for
607           accessing the device; additional drivers must be enabled in order
608           to use the functionality of the device.
609
610 config MFD_MAX8925
611         bool "Maxim Semiconductor MAX8925 PMIC Support"
612         depends on I2C=y
613         select MFD_CORE
614         help
615           Say yes here to add support for Maxim Semiconductor MAX8925. This is
616           a Power Management IC. This driver provides common support for
617           accessing the device, additional drivers must be enabled in order
618           to use the functionality of the device.
619
620 config MFD_MAX8997
621         bool "Maxim Semiconductor MAX8997/8966 PMIC Support"
622         depends on I2C=y
623         select MFD_CORE
624         select IRQ_DOMAIN
625         help
626           Say yes here to add support for Maxim Semiconductor MAX8997/8966.
627           This is a Power Management IC with RTC, Flash, Fuel Gauge, Haptic,
628           MUIC controls on chip.
629           This driver provides common support for accessing the device;
630           additional drivers must be enabled in order to use the functionality
631           of the device.
632
633 config MFD_MAX8998
634         bool "Maxim Semiconductor MAX8998/National LP3974 PMIC Support"
635         depends on I2C=y
636         select MFD_CORE
637         select IRQ_DOMAIN
638         help
639           Say yes here to add support for Maxim Semiconductor MAX8998 and
640           National Semiconductor LP3974. This is a Power Management IC.
641           This driver provides common support for accessing the device,
642           additional drivers must be enabled in order to use the functionality
643           of the device.
644
645 config MFD_MT6397
646         tristate "MediaTek MT6397 PMIC Support"
647         select MFD_CORE
648         select IRQ_DOMAIN
649         help
650           Say yes here to add support for MediaTek MT6397 PMIC. This is
651           a Power Management IC. This driver provides common support for
652           accessing the device; additional drivers must be enabled in order
653           to use the functionality of the device.
654
655 config MFD_MENF21BMC
656         tristate "MEN 14F021P00 Board Management Controller Support"
657         depends on I2C
658         select MFD_CORE
659         help
660           Say yes here to add support for the MEN 14F021P00 BMC
661           which is a Board Management Controller connected to the I2C bus.
662           The device supports multiple sub-devices like LED, HWMON and WDT.
663           This driver provides common support for accessing the devices;
664           additional drivers must be enabled in order to use the
665           functionality of the BMC device.
666
667           This driver can also be built as a module. If so the module
668           will be called menf21bmc.
669
670 config EZX_PCAP
671         bool "Motorola EZXPCAP Support"
672         depends on SPI_MASTER
673         help
674           This enables the PCAP ASIC present on EZX Phones. This is
675           needed for MMC, TouchScreen, Sound, USB, etc..
676
677 config MFD_VIPERBOARD
678         tristate "Nano River Technologies Viperboard"
679         select MFD_CORE
680         depends on USB
681         default n
682         help
683           Say yes here if you want support for Nano River Technologies
684           Viperboard.
685           There are mfd cell drivers available for i2c master, adc and
686           both gpios found on the board. The spi part does not yet
687           have a driver.
688           You need to select the mfd cell drivers separately.
689           The drivers do not support all features the board exposes.
690
691 config MFD_RETU
692         tristate "Nokia Retu and Tahvo multi-function device"
693         select MFD_CORE
694         depends on I2C
695         select REGMAP_IRQ
696         help
697           Retu and Tahvo are a multi-function devices found on Nokia
698           Internet Tablets (770, N800 and N810).
699
700 config MFD_PCF50633
701         tristate "NXP PCF50633"
702         depends on I2C
703         select REGMAP_I2C
704         help
705           Say yes here if you have NXP PCF50633 chip on your board.
706           This core driver provides register access and IRQ handling
707           facilities, and registers devices for the various functions
708           so that function-specific drivers can bind to them.
709
710 config PCF50633_ADC
711         tristate "NXP PCF50633 ADC"
712         depends on MFD_PCF50633
713         help
714          Say yes here if you want to include support for ADC in the
715          NXP PCF50633 chip.
716
717 config PCF50633_GPIO
718         tristate "NXP PCF50633 GPIO"
719         depends on MFD_PCF50633
720         help
721          Say yes here if you want to include support GPIO for pins on
722          the PCF50633 chip.
723
724 config UCB1400_CORE
725         tristate "Philips UCB1400 Core driver"
726         depends on AC97_BUS
727         depends on GPIOLIB
728         help
729           This enables support for the Philips UCB1400 core functions.
730           The UCB1400 is an AC97 audio codec.
731
732           To compile this driver as a module, choose M here: the
733           module will be called ucb1400_core.
734
735 config MFD_PM8XXX
736         tristate
737
738 config MFD_PM8921_CORE
739         tristate "Qualcomm PM8921 PMIC chip"
740         depends on (ARM || HEXAGON)
741         select IRQ_DOMAIN
742         select MFD_CORE
743         select MFD_PM8XXX
744         select REGMAP
745         help
746           If you say yes to this option, support will be included for the
747           built-in PM8921 PMIC chip.
748
749           This is required if your board has a PM8921 and uses its features,
750           such as: MPPs, GPIOs, regulators, interrupts, and PWM.
751
752           Say M here if you want to include support for PM8921 chip as a module.
753           This will build a module called "pm8921-core".
754
755 config MFD_QCOM_RPM
756         tristate "Qualcomm Resource Power Manager (RPM)"
757         depends on ARCH_QCOM && OF
758         help
759           If you say yes to this option, support will be included for the
760           Resource Power Manager system found in the Qualcomm 8660, 8960 and
761           8064 based devices.
762
763           This is required to access many regulators, clocks and bus
764           frequencies controlled by the RPM on these devices.
765
766           Say M here if you want to include support for the Qualcomm RPM as a
767           module. This will build a module called "qcom_rpm".
768
769 config MFD_SPMI_PMIC
770         tristate "Qualcomm SPMI PMICs"
771         depends on ARCH_QCOM || COMPILE_TEST
772         depends on OF
773         depends on SPMI
774         select REGMAP_SPMI
775         help
776           This enables support for the Qualcomm SPMI PMICs.
777           These PMICs are currently used with the Snapdragon 800 series of
778           SoCs.  Note, that this will only be useful paired with descriptions
779           of the independent functions as children nodes in the device tree.
780
781           Say M here if you want to include support for the SPMI PMIC
782           series as a module.  The module will be called "qcom-spmi-pmic".
783
784 config MFD_RDC321X
785         tristate "RDC R-321x southbridge"
786         select MFD_CORE
787         depends on PCI
788         help
789           Say yes here if you want to have support for the RDC R-321x SoC
790           southbridge which provides access to GPIOs and Watchdog using the
791           southbridge PCI device configuration space.
792
793 config MFD_RTSX_PCI
794         tristate "Realtek PCI-E card reader"
795         depends on PCI
796         select MFD_CORE
797         help
798           This supports for Realtek PCI-Express card reader including rts5209,
799           rts5227, rts522A, rts5229, rts5249, rts524A, rts525A, rtl8411, etc.
800           Realtek card reader supports access to many types of memory cards,
801           such as Memory Stick, Memory Stick Pro, Secure Digital and
802           MultiMediaCard.
803
804 config MFD_RT5033
805         tristate "Richtek RT5033 Power Management IC"
806         depends on I2C
807         select MFD_CORE
808         select REGMAP_I2C
809         select REGMAP_IRQ
810         help
811           This driver provides for the Richtek RT5033 Power Management IC,
812           which includes the I2C driver and the Core APIs. This driver provides
813           common support for accessing the device. The device supports multiple
814           sub-devices like charger, fuel gauge, flash LED, current source,
815           LDO and Buck.
816
817 config MFD_RTSX_USB
818         tristate "Realtek USB card reader"
819         depends on USB
820         select MFD_CORE
821         help
822           Select this option to get support for Realtek USB 2.0 card readers
823           including RTS5129, RTS5139, RTS5179 and RTS5170.
824           Realtek card reader supports access to many types of memory cards,
825           such as Memory Stick Pro, Secure Digital and MultiMediaCard.
826
827 config MFD_RC5T583
828         bool "Ricoh RC5T583 Power Management system device"
829         depends on I2C=y
830         select MFD_CORE
831         select REGMAP_I2C
832         help
833           Select this option to get support for the RICOH583 Power
834           Management system device.
835           This driver provides common support for accessing the device
836           through i2c interface. The device supports multiple sub-devices
837           like GPIO, interrupts, RTC, LDO and DCDC regulators, onkey.
838           Additional drivers must be enabled in order to use the
839           different functionality of the device.
840
841 config MFD_RK808
842         tristate "Rockchip RK808 Power Management chip"
843         depends on I2C && OF
844         select MFD_CORE
845         select REGMAP_I2C
846         select REGMAP_IRQ
847         help
848           If you say yes here you get support for the RK808
849           Power Management chips.
850           This driver provides common support for accessing the device
851           through I2C interface. The device supports multiple sub-devices
852           including interrupts, RTC, LDO & DCDC regulators, and onkey.
853
854 config MFD_RN5T618
855         tristate "Ricoh RN5T567/618 PMIC"
856         depends on I2C
857         depends on OF
858         select MFD_CORE
859         select REGMAP_I2C
860         help
861           Say yes here to add support for the Ricoh RN5T567 or R5T618 PMIC.
862           This driver provides common support for accessing the device,
863           additional drivers must be enabled in order to use the
864           functionality of the device.
865
866 config MFD_SEC_CORE
867         bool "SAMSUNG Electronics PMIC Series Support"
868         depends on I2C=y
869         select MFD_CORE
870         select REGMAP_I2C
871         select REGMAP_IRQ
872         help
873          Support for the Samsung Electronics MFD series.
874          This driver provides common support for accessing the device,
875          additional drivers must be enabled in order to use the functionality
876          of the device
877
878 config MFD_SI476X_CORE
879         tristate "Silicon Laboratories 4761/64/68 AM/FM radio."
880         depends on I2C
881         select MFD_CORE
882         select REGMAP_I2C
883         help
884           This is the core driver for the SI476x series of AM/FM
885           radio. This MFD driver connects the radio-si476x V4L2 module
886           and the si476x audio codec.
887
888           To compile this driver as a module, choose M here: the
889           module will be called si476x-core.
890
891 config MFD_SM501
892         tristate "Silicon Motion SM501"
893          ---help---
894           This is the core driver for the Silicon Motion SM501 multimedia
895           companion chip. This device is a multifunction device which may
896           provide numerous interfaces including USB host controller, USB gadget,
897           asynchronous serial ports, audio functions, and a dual display video
898           interface. The device may be connected by PCI or local bus with
899           varying functions enabled.
900
901 config MFD_SM501_GPIO
902         bool "Export GPIO via GPIO layer"
903         depends on MFD_SM501 && GPIOLIB
904          ---help---
905          This option uses the gpio library layer to export the 64 GPIO
906          lines on the SM501. The platform data is used to supply the
907          base number for the first GPIO line to register.
908
909 config MFD_SKY81452
910         tristate "Skyworks Solutions SKY81452"
911         select MFD_CORE
912         select REGMAP_I2C
913         depends on I2C
914         help
915           This is the core driver for the Skyworks SKY81452 backlight and
916           voltage regulator device.
917
918           This driver can also be built as a module.  If so, the module
919           will be called sky81452.
920
921 config MFD_SMSC
922        bool "SMSC ECE1099 series chips"
923        depends on I2C=y
924        select MFD_CORE
925        select REGMAP_I2C
926        help
927         If you say yes here you get support for the
928         ece1099 chips from SMSC.
929
930         To compile this driver as a module, choose M here: the
931         module will be called smsc.
932
933 config ABX500_CORE
934         bool "ST-Ericsson ABX500 Mixed Signal Circuit register functions"
935         default y if ARCH_U300 || ARCH_U8500
936         help
937           Say yes here if you have the ABX500 Mixed Signal IC family
938           chips. This core driver expose register access functions.
939           Functionality specific drivers using these functions can
940           remain unchanged when IC changes. Binding of the functions to
941           actual register access is done by the IC core driver.
942
943 config AB3100_CORE
944         bool "ST-Ericsson AB3100 Mixed Signal Circuit core functions"
945         depends on I2C=y && ABX500_CORE
946         select MFD_CORE
947         default y if ARCH_U300
948         help
949           Select this to enable the AB3100 Mixed Signal IC core
950           functionality. This connects to a AB3100 on the I2C bus
951           and expose a number of symbols needed for dependent devices
952           to read and write registers and subscribe to events from
953           this multi-functional IC. This is needed to use other features
954           of the AB3100 such as battery-backed RTC, charging control,
955           LEDs, vibrator, system power and temperature, power management
956           and ALSA sound.
957
958 config AB3100_OTP
959         tristate "ST-Ericsson AB3100 OTP functions"
960         depends on AB3100_CORE
961         default y if AB3100_CORE
962         help
963           Select this to enable the AB3100 Mixed Signal IC OTP (one-time
964           programmable memory) support. This exposes a sysfs file to read
965           out OTP values.
966
967 config AB8500_CORE
968         bool "ST-Ericsson AB8500 Mixed Signal Power Management chip"
969         depends on ABX500_CORE && MFD_DB8500_PRCMU
970         select POWER_SUPPLY
971         select MFD_CORE
972         select IRQ_DOMAIN
973         help
974           Select this option to enable access to AB8500 power management
975           chip. This connects to U8500 either on the SSP/SPI bus (deprecated
976           since hardware version v1.0) or the I2C bus via PRCMU. It also adds
977           the irq_chip parts for handling the Mixed Signal chip events.
978           This chip embeds various other multimedia funtionalities as well.
979
980 config AB8500_DEBUG
981        bool "Enable debug info via debugfs"
982        depends on AB8500_GPADC && DEBUG_FS
983        default y if DEBUG_FS
984        help
985          Select this option if you want debug information using the debug
986          filesystem, debugfs.
987
988 config AB8500_GPADC
989         bool "ST-Ericsson AB8500 GPADC driver"
990         depends on AB8500_CORE && REGULATOR_AB8500
991         default y
992         help
993           AB8500 GPADC driver used to convert Acc and battery/ac/usb voltage
994
995 config MFD_DB8500_PRCMU
996         bool "ST-Ericsson DB8500 Power Reset Control Management Unit"
997         depends on UX500_SOC_DB8500
998         select MFD_CORE
999         help
1000           Select this option to enable support for the DB8500 Power Reset
1001           and Control Management Unit. This is basically an autonomous
1002           system controller running an XP70 microprocessor, which is accessed
1003           through a register map.
1004
1005 config MFD_STMPE
1006         bool "STMicroelectronics STMPE"
1007         depends on (I2C=y || SPI_MASTER=y)
1008         depends on OF
1009         select MFD_CORE
1010         help
1011           Support for the STMPE family of I/O Expanders from
1012           STMicroelectronics.
1013
1014           Currently supported devices are:
1015
1016                 STMPE811: GPIO, Touchscreen
1017                 STMPE1601: GPIO, Keypad
1018                 STMPE1801: GPIO, Keypad
1019                 STMPE2401: GPIO, Keypad
1020                 STMPE2403: GPIO, Keypad
1021
1022           This driver provides common support for accessing the device,
1023           additional drivers must be enabled in order to use the functionality
1024           of the device.  Currently available sub drivers are:
1025
1026                 GPIO: stmpe-gpio
1027                 Keypad: stmpe-keypad
1028                 Touchscreen: stmpe-ts
1029
1030 menu "STMicroelectronics STMPE Interface Drivers"
1031 depends on MFD_STMPE
1032
1033 config STMPE_I2C
1034         bool "STMicroelectronics STMPE I2C Interface"
1035         depends on I2C=y
1036         default y
1037         help
1038           This is used to enable I2C interface of STMPE
1039
1040 config STMPE_SPI
1041         bool "STMicroelectronics STMPE SPI Interface"
1042         depends on SPI_MASTER
1043         help
1044           This is used to enable SPI interface of STMPE
1045 endmenu
1046
1047 config MFD_STA2X11
1048         bool "STMicroelectronics STA2X11"
1049         depends on STA2X11
1050         select MFD_CORE
1051         select REGMAP_MMIO
1052
1053 config MFD_SUN6I_PRCM
1054         bool "Allwinner A31 PRCM controller"
1055         depends on ARCH_SUNXI
1056         select MFD_CORE
1057         help
1058           Support for the PRCM (Power/Reset/Clock Management) unit available
1059           in A31 SoC.
1060
1061 config MFD_SYSCON
1062         bool "System Controller Register R/W Based on Regmap"
1063         select REGMAP_MMIO
1064         help
1065           Select this option to enable accessing system control registers
1066           via regmap.
1067
1068 config MFD_DAVINCI_VOICECODEC
1069         tristate
1070         select MFD_CORE
1071         select REGMAP_MMIO
1072
1073 config MFD_TI_AM335X_TSCADC
1074         tristate "TI ADC / Touch Screen chip support"
1075         select MFD_CORE
1076         select REGMAP
1077         select REGMAP_MMIO
1078         help
1079           If you say yes here you get support for Texas Instruments series
1080           of Touch Screen /ADC chips.
1081           To compile this driver as a module, choose M here: the
1082           module will be called ti_am335x_tscadc.
1083
1084 config MFD_DM355EVM_MSP
1085         bool "TI DaVinci DM355 EVM microcontroller"
1086         depends on I2C=y && MACH_DAVINCI_DM355_EVM
1087         help
1088           This driver supports the MSP430 microcontroller used on these
1089           boards.  MSP430 firmware manages resets and power sequencing,
1090           inputs from buttons and the IR remote, LEDs, an RTC, and more.
1091
1092 config MFD_LP3943
1093         tristate "TI/National Semiconductor LP3943 MFD Driver"
1094         depends on I2C
1095         select MFD_CORE
1096         select REGMAP_I2C
1097         help
1098           Support for the TI/National Semiconductor LP3943.
1099           This driver consists of GPIO and PWM drivers.
1100           With these functionalities, it can be used for LED string control or
1101           general usage such like a GPIO controller and a PWM controller.
1102
1103 config MFD_LP8788
1104         bool "TI LP8788 Power Management Unit Driver"
1105         depends on I2C=y
1106         select MFD_CORE
1107         select REGMAP_I2C
1108         select IRQ_DOMAIN
1109         help
1110           TI LP8788 PMU supports regulators, battery charger, RTC,
1111           ADC, backlight driver and current sinks.
1112
1113 config MFD_OMAP_USB_HOST
1114         bool "TI OMAP USBHS core and TLL driver"
1115         depends on USB_EHCI_HCD_OMAP || USB_OHCI_HCD_OMAP3
1116         default y
1117         help
1118           This is the core driver for the OAMP EHCI and OHCI drivers.
1119           This MFD driver does the required setup functionalities for
1120           OMAP USB Host drivers.
1121
1122 config MFD_PALMAS
1123         bool "TI Palmas series chips"
1124         select MFD_CORE
1125         select REGMAP_I2C
1126         select REGMAP_IRQ
1127         depends on I2C=y
1128         help
1129           If you say yes here you get support for the Palmas
1130           series of PMIC chips from Texas Instruments.
1131
1132 config TPS6105X
1133         tristate "TI TPS61050/61052 Boost Converters"
1134         depends on I2C
1135         select REGMAP_I2C
1136         select REGULATOR
1137         select MFD_CORE
1138         select REGULATOR_FIXED_VOLTAGE
1139         help
1140           This option enables a driver for the TP61050/TPS61052
1141           high-power "white LED driver". This boost converter is
1142           sometimes used for other things than white LEDs, and
1143           also contains a GPIO pin.
1144
1145 config TPS65010
1146         tristate "TI TPS6501x Power Management chips"
1147         depends on I2C && GPIOLIB
1148         default y if MACH_OMAP_H2 || MACH_OMAP_H3 || MACH_OMAP_OSK
1149         help
1150           If you say yes here you get support for the TPS6501x series of
1151           Power Management chips.  These include voltage regulators,
1152           lithium ion/polymer battery charging, and other features that
1153           are often used in portable devices like cell phones and cameras.
1154
1155           This driver can also be built as a module.  If so, the module
1156           will be called tps65010.
1157
1158 config TPS6507X
1159         tristate "TI TPS6507x Power Management / Touch Screen chips"
1160         select MFD_CORE
1161         depends on I2C
1162         help
1163           If you say yes here you get support for the TPS6507x series of
1164           Power Management / Touch Screen chips.  These include voltage
1165           regulators, lithium ion/polymer battery charging, touch screen
1166           and other features that are often used in portable devices.
1167           This driver can also be built as a module.  If so, the module
1168           will be called tps6507x.
1169
1170 config MFD_TPS65086
1171         tristate "TI TPS65086 Power Management Integrated Chips (PMICs)"
1172         select REGMAP
1173         select REGMAP_IRQ
1174         select REGMAP_I2C
1175         depends on I2C
1176         help
1177           If you say yes here you get support for the TPS65086 series of
1178           Power Management chips.
1179           This driver provides common support for accessing the device,
1180           additional drivers must be enabled in order to use the
1181           functionality of the device.
1182
1183 config TPS65911_COMPARATOR
1184         tristate
1185
1186 config MFD_TPS65090
1187         bool "TI TPS65090 Power Management chips"
1188         depends on I2C=y
1189         select MFD_CORE
1190         select REGMAP_I2C
1191         select REGMAP_IRQ
1192         help
1193           If you say yes here you get support for the TPS65090 series of
1194           Power Management chips.
1195           This driver provides common support for accessing the device,
1196           additional drivers must be enabled in order to use the
1197           functionality of the device.
1198
1199 config MFD_TPS65217
1200         tristate "TI TPS65217 Power Management / White LED chips"
1201         depends on I2C
1202         select MFD_CORE
1203         select REGMAP_I2C
1204         help
1205           If you say yes here you get support for the TPS65217 series of
1206           Power Management / White LED chips.
1207           These include voltage regulators, lithium ion/polymer battery
1208           charger, wled and other features that are often used in portable
1209           devices.
1210
1211           This driver can also be built as a module.  If so, the module
1212           will be called tps65217.
1213
1214 config MFD_TPS65218
1215         tristate "TI TPS65218 Power Management chips"
1216         depends on I2C
1217         select MFD_CORE
1218         select REGMAP_I2C
1219         select REGMAP_IRQ
1220         help
1221           If you say yes here you get support for the TPS65218 series of
1222           Power Management chips.
1223           These include voltage regulators, gpio and other features
1224           that are often used in portable devices. Only regulator
1225           component is currently supported.
1226
1227           This driver can also be built as a module.  If so, the module
1228           will be called tps65218.
1229
1230 config MFD_TPS6586X
1231         bool "TI TPS6586x Power Management chips"
1232         depends on I2C=y
1233         select MFD_CORE
1234         select REGMAP_I2C
1235         help
1236           If you say yes here you get support for the TPS6586X series of
1237           Power Management chips.
1238           This driver provides common support for accessing the device,
1239           additional drivers must be enabled in order to use the
1240           functionality of the device.
1241
1242           This driver can also be built as a module.  If so, the module
1243           will be called tps6586x.
1244
1245 config MFD_TPS65910
1246         bool "TI TPS65910 Power Management chip"
1247         depends on I2C=y
1248         depends on GPIOLIB || COMPILE_TEST
1249         select MFD_CORE
1250         select REGMAP_I2C
1251         select REGMAP_IRQ
1252         select IRQ_DOMAIN
1253         help
1254           if you say yes here you get support for the TPS65910 series of
1255           Power Management chips.
1256
1257 config MFD_TPS65912
1258         tristate
1259         select MFD_CORE
1260         select REGMAP
1261         select REGMAP_IRQ
1262
1263 config MFD_TPS65912_I2C
1264         tristate "TI TPS65912 Power Management chip with I2C"
1265         select MFD_TPS65912
1266         select REGMAP_I2C
1267         depends on I2C
1268         help
1269           If you say yes here you get support for the TPS65912 series of
1270           PM chips with I2C interface.
1271
1272 config MFD_TPS65912_SPI
1273         tristate "TI TPS65912 Power Management chip with SPI"
1274         select MFD_TPS65912
1275         select REGMAP_SPI
1276         depends on SPI_MASTER
1277         help
1278           If you say yes here you get support for the TPS65912 series of
1279           PM chips with SPI interface.
1280
1281 config MFD_TPS80031
1282         bool "TI TPS80031/TPS80032 Power Management chips"
1283         depends on I2C=y
1284         select MFD_CORE
1285         select REGMAP_I2C
1286         select REGMAP_IRQ
1287         help
1288           If you say yes here you get support for the Texas Instruments
1289           TPS80031/ TPS80032 Fully Integrated Power Management with Power
1290           Path and Battery Charger. The device provides five configurable
1291           step-down converters, 11 general purpose LDOs, USB OTG Module,
1292           ADC, RTC, 2 PWM, System Voltage Regulator/Battery Charger with
1293           Power Path from USB, 32K clock generator.
1294
1295 config TWL4030_CORE
1296         bool "TI TWL4030/TWL5030/TWL6030/TPS659x0 Support"
1297         depends on I2C=y
1298         select IRQ_DOMAIN
1299         select REGMAP_I2C
1300         help
1301           Say yes here if you have TWL4030 / TWL6030 family chip on your board.
1302           This core driver provides register access and IRQ handling
1303           facilities, and registers devices for the various functions
1304           so that function-specific drivers can bind to them.
1305
1306           These multi-function chips are found on many OMAP2 and OMAP3
1307           boards, providing power management, RTC, GPIO, keypad, a
1308           high speed USB OTG transceiver, an audio codec (on most
1309           versions) and many other features.
1310
1311 config TWL4030_POWER
1312         bool "TI TWL4030 power resources"
1313         depends on TWL4030_CORE && ARM
1314         help
1315           Say yes here if you want to use the power resources on the
1316           TWL4030 family chips.  Most of these resources are regulators,
1317           which have a separate driver; some are control signals, such
1318           as clock request handshaking.
1319
1320           This driver uses board-specific data to initialize the resources
1321           and load scripts controlling which resources are switched off/on
1322           or reset when a sleep, wakeup or warm reset event occurs.
1323
1324 config MFD_TWL4030_AUDIO
1325         bool "TI TWL4030 Audio"
1326         depends on TWL4030_CORE
1327         select MFD_CORE
1328         default n
1329
1330 config TWL6040_CORE
1331         bool "TI TWL6040 audio codec"
1332         depends on I2C=y
1333         select MFD_CORE
1334         select REGMAP_I2C
1335         select REGMAP_IRQ
1336         default n
1337         help
1338           Say yes here if you want support for Texas Instruments TWL6040 audio
1339           codec.
1340           This driver provides common support for accessing the device,
1341           additional drivers must be enabled in order to use the
1342           functionality of the device (audio, vibra).
1343
1344 config MENELAUS
1345         bool "TI TWL92330/Menelaus PM chip"
1346         depends on I2C=y && ARCH_OMAP2
1347         help
1348           If you say yes here you get support for the Texas Instruments
1349           TWL92330/Menelaus Power Management chip. This include voltage
1350           regulators, Dual slot memory card transceivers, real-time clock
1351           and other features that are often used in portable devices like
1352           cell phones and PDAs.
1353
1354 config MFD_WL1273_CORE
1355         tristate "TI WL1273 FM radio"
1356         depends on I2C
1357         select MFD_CORE
1358         default n
1359         help
1360           This is the core driver for the TI WL1273 FM radio. This MFD
1361           driver connects the radio-wl1273 V4L2 module and the wl1273
1362           audio codec.
1363
1364 config MFD_LM3533
1365         tristate "TI/National Semiconductor LM3533 Lighting Power chip"
1366         depends on I2C
1367         select MFD_CORE
1368         select REGMAP_I2C
1369         help
1370           Say yes here to enable support for National Semiconductor / TI
1371           LM3533 Lighting Power chips.
1372
1373           This driver provides common support for accessing the device;
1374           additional drivers must be enabled in order to use the LED,
1375           backlight or ambient-light-sensor functionality of the device.
1376
1377 config MFD_TIMBERDALE
1378         tristate "Timberdale FPGA"
1379         select MFD_CORE
1380         depends on PCI && GPIOLIB && (X86_32 || COMPILE_TEST)
1381         ---help---
1382         This is the core driver for the timberdale FPGA. This device is a
1383         multifunction device which exposes numerous platform devices.
1384
1385         The timberdale FPGA can be found on the Intel Atom development board
1386         for in-vehicle infontainment, called Russellville.
1387
1388 config MFD_TC3589X
1389         bool "Toshiba TC35892 and variants"
1390         depends on I2C=y
1391         depends on OF
1392         select MFD_CORE
1393         help
1394           Support for the Toshiba TC35892 and variants I/O Expander.
1395
1396           This driver provides common support for accessing the device,
1397           additional drivers must be enabled in order to use the
1398           functionality of the device.
1399
1400 config MFD_TMIO
1401         bool
1402         default n
1403
1404 config MFD_T7L66XB
1405         bool "Toshiba T7L66XB"
1406         depends on ARM && HAVE_CLK
1407         select MFD_CORE
1408         select MFD_TMIO
1409         help
1410           Support for Toshiba Mobile IO Controller T7L66XB
1411
1412 config MFD_TC6387XB
1413         bool "Toshiba TC6387XB"
1414         depends on ARM && HAVE_CLK
1415         select MFD_CORE
1416         select MFD_TMIO
1417         help
1418           Support for Toshiba Mobile IO Controller TC6387XB
1419
1420 config MFD_TC6393XB
1421         bool "Toshiba TC6393XB"
1422         depends on ARM && HAVE_CLK
1423         select GPIOLIB
1424         select MFD_CORE
1425         select MFD_TMIO
1426         help
1427           Support for Toshiba Mobile IO Controller TC6393XB
1428
1429 config MFD_VX855
1430         tristate "VIA VX855/VX875 integrated south bridge"
1431         depends on PCI
1432         select MFD_CORE
1433         help
1434           Say yes here to enable support for various functions of the
1435           VIA VX855/VX875 south bridge. You will need to enable the vx855_spi
1436           and/or vx855_gpio drivers for this to do anything useful.
1437
1438 config MFD_ARIZONA
1439         select REGMAP
1440         select REGMAP_IRQ
1441         select MFD_CORE
1442         bool
1443
1444 config MFD_ARIZONA_I2C
1445         tristate "Cirrus Logic/Wolfson Microelectronics Arizona platform with I2C"
1446         select MFD_ARIZONA
1447         select REGMAP_I2C
1448         depends on I2C
1449         help
1450           Support for the Cirrus Logic/Wolfson Microelectronics Arizona platform
1451           audio SoC core functionality controlled via I2C.
1452
1453 config MFD_ARIZONA_SPI
1454         tristate "Cirrus Logic/Wolfson Microelectronics Arizona platform with SPI"
1455         select MFD_ARIZONA
1456         select REGMAP_SPI
1457         depends on SPI_MASTER
1458         help
1459           Support for the Cirrus Logic/Wolfson Microelectronics Arizona platform
1460           audio SoC core functionality controlled via SPI.
1461
1462 config MFD_CS47L24
1463         bool "Cirrus Logic CS47L24 and WM1831"
1464         depends on MFD_ARIZONA
1465         help
1466           Support for Cirrus Logic CS47L24 and WM1831 low power audio SoC
1467
1468 config MFD_WM5102
1469         bool "Wolfson Microelectronics WM5102"
1470         depends on MFD_ARIZONA
1471         help
1472           Support for Wolfson Microelectronics WM5102 low power audio SoC
1473
1474 config MFD_WM5110
1475         bool "Wolfson Microelectronics WM5110 and WM8280/WM8281"
1476         depends on MFD_ARIZONA
1477         help
1478           Support for Wolfson Microelectronics WM5110 and WM8280/WM8281
1479           low power audio SoC
1480
1481 config MFD_WM8997
1482         bool "Wolfson Microelectronics WM8997"
1483         depends on MFD_ARIZONA
1484         help
1485           Support for Wolfson Microelectronics WM8997 low power audio SoC
1486
1487 config MFD_WM8998
1488         bool "Wolfson Microelectronics WM8998"
1489         depends on MFD_ARIZONA
1490         help
1491           Support for Wolfson Microelectronics WM8998 low power audio SoC
1492
1493 config MFD_WM8400
1494         bool "Wolfson Microelectronics WM8400"
1495         select MFD_CORE
1496         depends on I2C=y
1497         select REGMAP_I2C
1498         help
1499           Support for the Wolfson Microelecronics WM8400 PMIC and audio
1500           CODEC.  This driver provides common support for accessing
1501           the device, additional drivers must be enabled in order to use
1502           the functionality of the device.
1503
1504 config MFD_WM831X
1505         bool
1506
1507 config MFD_WM831X_I2C
1508         bool "Wolfson Microelectronics WM831x/2x PMICs with I2C"
1509         select MFD_CORE
1510         select MFD_WM831X
1511         select REGMAP_I2C
1512         select IRQ_DOMAIN
1513         depends on I2C=y
1514         help
1515           Support for the Wolfson Microelecronics WM831x and WM832x PMICs
1516           when controlled using I2C.  This driver provides common support
1517           for accessing the device, additional drivers must be enabled in
1518           order to use the functionality of the device.
1519
1520 config MFD_WM831X_SPI
1521         bool "Wolfson Microelectronics WM831x/2x PMICs with SPI"
1522         select MFD_CORE
1523         select MFD_WM831X
1524         select REGMAP_SPI
1525         select IRQ_DOMAIN
1526         depends on SPI_MASTER
1527         help
1528           Support for the Wolfson Microelecronics WM831x and WM832x PMICs
1529           when controlled using SPI.  This driver provides common support
1530           for accessing the device, additional drivers must be enabled in
1531           order to use the functionality of the device.
1532
1533 config MFD_WM8350
1534         bool
1535
1536 config MFD_WM8350_I2C
1537         bool "Wolfson Microelectronics WM8350 with I2C"
1538         select MFD_WM8350
1539         depends on I2C=y
1540         help
1541           The WM8350 is an integrated audio and power management
1542           subsystem with watchdog and RTC functionality for embedded
1543           systems.  This option enables core support for the WM8350 with
1544           I2C as the control interface.  Additional options must be
1545           selected to enable support for the functionality of the chip.
1546
1547 config MFD_WM8994
1548         tristate "Wolfson Microelectronics WM8994"
1549         select MFD_CORE
1550         select REGMAP_I2C
1551         select REGMAP_IRQ
1552         depends on I2C
1553         help
1554           The WM8994 is a highly integrated hi-fi CODEC designed for
1555           smartphone applications.  As well as audio functionality it
1556           has on board GPIO and regulator functionality which is
1557           supported via the relevant subsystems.  This driver provides
1558           core support for the WM8994, in order to use the actual
1559           functionaltiy of the device other drivers must be enabled.
1560
1561 config MFD_STW481X
1562         tristate "Support for ST Microelectronics STw481x"
1563         depends on I2C && (ARCH_NOMADIK || COMPILE_TEST)
1564         select REGMAP_I2C
1565         select MFD_CORE
1566         help
1567           Select this option to enable the STw481x chip driver used
1568           in various ST Microelectronics and ST-Ericsson embedded
1569           Nomadik series.
1570
1571 menu "Multimedia Capabilities Port drivers"
1572         depends on ARCH_SA1100
1573
1574 config MCP
1575         tristate
1576
1577 # Interface drivers
1578 config MCP_SA11X0
1579         tristate "Support SA11x0 MCP interface"
1580         depends on ARCH_SA1100
1581         select MCP
1582
1583 # Chip drivers
1584 config MCP_UCB1200
1585         tristate "Support for UCB1200 / UCB1300"
1586         depends on MCP_SA11X0
1587         select MCP
1588
1589 config MCP_UCB1200_TS
1590         tristate "Touchscreen interface support"
1591         depends on MCP_UCB1200 && INPUT
1592
1593 endmenu
1594
1595 config MFD_VEXPRESS_SYSREG
1596         bool "Versatile Express System Registers"
1597         depends on VEXPRESS_CONFIG && GPIOLIB && !ARCH_USES_GETTIMEOFFSET
1598         default y
1599         select CLKSRC_MMIO
1600         select GPIO_GENERIC_PLATFORM
1601         select MFD_CORE
1602         select MFD_SYSCON
1603         help
1604           System Registers are the platform configuration block
1605           on the ARM Ltd. Versatile Express board.
1606
1607 endmenu
1608 endif