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