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