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