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