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