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