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