Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1# SPDX-License-Identifier: GPL-2.0-only
2#
3# Multifunction miscellaneous devices
4#
5
6if HAS_IOMEM
7menu "Multifunction device drivers"
8
9config MFD_CORE
10 tristate
11 select IRQ_DOMAIN
12 default n
13
14config MFD_CS5535
15 tristate "AMD CS5535 and CS5536 southbridge core functions"
16 select MFD_CORE
17 depends on PCI && (X86_32 || (X86 && COMPILE_TEST))
18 depends on !UML
19 help
20 This is the core driver for CS5535/CS5536 MFD functions. This is
21 necessary for using the board's GPIO and MFGPT functionality.
22
23config MFD_ADP5585
24 tristate "Analog Devices ADP5585 keypad decoder and I/O expander driver"
25 select MFD_CORE
26 select REGMAP_I2C
27 depends on I2C
28 depends on OF
29 help
30 Say yes here to add support for the Analog Devices ADP5585 GPIO
31 expander, PWM and keypad controller. This includes the I2C driver and
32 the core APIs _only_, you have to select individual components like
33 the GPIO and PWM functions under the corresponding menus.
34
35config MFD_ALTERA_A10SR
36 bool "Altera Arria10 DevKit System Resource chip"
37 depends on ARCH_INTEL_SOCFPGA && SPI_MASTER=y && OF
38 select REGMAP_SPI
39 select MFD_CORE
40 help
41 Support for the Altera Arria10 DevKit MAX5 System Resource chip
42 using the SPI interface. This driver provides common support for
43 accessing the external gpio extender (LEDs & buttons) and
44 power supply alarms (hwmon).
45
46config MFD_ALTERA_SYSMGR
47 bool "Altera SOCFPGA System Manager"
48 depends on ARCH_INTEL_SOCFPGA || COMPILE_TEST
49 depends on OF
50 select MFD_SYSCON
51 help
52 Select this to get System Manager support for all Altera branded
53 SOCFPGAs. The SOCFPGA System Manager handles all SOCFPGAs by
54 using regmap_mmio accesses for ARM32 parts and SMC calls to
55 EL3 for ARM64 parts.
56
57config MFD_ACT8945A
58 tristate "Active-semi ACT8945A"
59 select MFD_CORE
60 select REGMAP_I2C
61 depends on I2C && OF
62 help
63 Support for the ACT8945A PMIC from Active-semi. This device
64 features three step-down DC/DC converters and four low-dropout
65 linear regulators, along with a complete ActivePath battery
66 charger.
67
68config MFD_SUN4I_GPADC
69 tristate "Allwinner sunxi platforms' GPADC MFD driver"
70 select MFD_CORE
71 select REGMAP_MMIO
72 select REGMAP_IRQ
73 depends on ARCH_SUNXI || COMPILE_TEST
74 depends on !TOUCHSCREEN_SUN4I
75 help
76 Select this to get support for Allwinner SoCs (A10, A13 and A31) ADC.
77 This driver will only map the hardware interrupt and registers, you
78 have to select individual drivers based on this MFD to be able to use
79 the ADC or the thermal sensor. This will try to probe the ADC driver
80 sun4i-gpadc-iio and the hwmon driver iio_hwmon.
81
82 To compile this driver as a module, choose M here: the module will be
83 called sun4i-gpadc.
84
85config MFD_AS3711
86 bool "AMS AS3711"
87 select MFD_CORE
88 select REGMAP_I2C
89 select REGMAP_IRQ
90 depends on I2C=y
91 help
92 Support for the AS3711 PMIC from AMS
93
94config MFD_SMPRO
95 tristate "Ampere Computing SMpro core driver"
96 depends on I2C
97 select MFD_CORE
98 select REGMAP_I2C
99 help
100 Say yes here to enable SMpro driver support for Ampere's Altra
101 processor family.
102
103 Ampere's Altra SMpro exposes an I2C regmap interface that can
104 be accessed by child devices.
105
106config MFD_AS3722
107 tristate "ams AS3722 Power Management IC"
108 select MFD_CORE
109 select REGMAP_I2C
110 select REGMAP_IRQ
111 depends on I2C=y && OF
112 help
113 The ams AS3722 is a compact system PMU suitable for mobile phones,
114 tablets etc. It has 4 DC/DC step-down regulators, 3 DC/DC step-down
115 controllers, 11 LDOs, RTC, automatic battery, temperature and
116 over current monitoring, GPIOs, ADC and a watchdog.
117
118config PMIC_ADP5520
119 bool "Analog Devices ADP5520/01 MFD PMIC Core Support"
120 depends on I2C=y
121 help
122 Say yes here to add support for Analog Devices ADP5520 and ADP5501,
123 Multifunction Power Management IC. This includes
124 the I2C driver and the core APIs _only_, you have to select
125 individual components like LCD backlight, LEDs, GPIOs and Kepad
126 under the corresponding menus.
127
128config MFD_AAT2870_CORE
129 bool "AnalogicTech AAT2870"
130 select MFD_CORE
131 depends on I2C=y
132 depends on GPIOLIB || COMPILE_TEST
133 depends on GPIOLIB_LEGACY
134 help
135 If you say yes here you get support for the AAT2870.
136 This driver provides common support for accessing the device,
137 additional drivers must be enabled in order to use the
138 functionality of the device.
139
140config MFD_AT91_USART
141 tristate "AT91 USART Driver"
142 select MFD_CORE
143 depends on ARCH_MICROCHIP || COMPILE_TEST
144 help
145 Select this to get support for AT91 USART IP. This is a wrapper
146 over at91-usart-serial driver and usart-spi-driver. Only one function
147 can be used at a time. The choice is done at boot time by the probe
148 function of this MFD driver according to a device tree property.
149
150config MFD_ATMEL_FLEXCOM
151 tristate "Atmel Flexcom (Flexible Serial Communication Unit)"
152 select MFD_CORE
153 depends on OF
154 help
155 Select this to get support for Atmel Flexcom. This is a wrapper
156 which embeds a SPI controller, a I2C controller and a USART. Only
157 one function can be used at a time. The choice is done at boot time
158 by the probe function of this MFD driver according to a device tree
159 property.
160
161config MFD_ATMEL_HLCDC
162 tristate "Atmel HLCDC (High-end LCD Controller)"
163 select MFD_CORE
164 select REGMAP_MMIO
165 depends on OF
166 help
167 If you say yes here you get support for the HLCDC block.
168 This driver provides common support for accessing the device,
169 additional drivers must be enabled in order to use the
170 functionality of the device.
171
172config MFD_ATMEL_SMC
173 bool
174 select MFD_SYSCON
175
176config MFD_BCM590XX
177 tristate "Broadcom BCM590xx PMUs"
178 select MFD_CORE
179 select REGMAP_I2C
180 depends on I2C
181 help
182 Support for the BCM590xx PMUs from Broadcom
183
184config MFD_BD9571MWV
185 tristate "ROHM BD9571MWV PMIC"
186 select MFD_CORE
187 select REGMAP_I2C
188 select REGMAP_IRQ
189 depends on I2C
190 help
191 Support for the ROHM BD9571MWV PMIC, which contains single
192 voltage regulator, voltage sampling units, GPIO block and
193 watchdog block.
194
195 This driver can also be built as a module. If so, the module
196 will be called bd9571mwv.
197
198config MFD_AC100
199 tristate "X-Powers AC100"
200 select MFD_CORE
201 depends on SUNXI_RSB
202 help
203 If you say Y here you get support for the X-Powers AC100 audio codec
204 IC.
205 This driver include only the core APIs. You have to select individual
206 components like codecs or RTC under the corresponding menus.
207
208config MFD_AXP20X
209 tristate
210 select MFD_CORE
211 select REGMAP_IRQ
212
213config MFD_AXP20X_I2C
214 tristate "X-Powers AXP series PMICs with I2C"
215 select MFD_AXP20X
216 select REGMAP_I2C
217 depends on I2C
218 help
219 If you say Y here you get support for the X-Powers AXP series power
220 management ICs (PMICs) controlled with I2C.
221 This driver include only the core APIs. You have to select individual
222 components like regulators or the PEK (Power Enable Key) under the
223 corresponding menus.
224
225 Note on x86 this provides an ACPI OpRegion, so this must be 'y'
226 (builtin) and not a module, as the OpRegion must be available as
227 soon as possible. For the same reason the I2C bus driver options
228 I2C_DESIGNWARE_PLATFORM and I2C_DESIGNWARE_BAYTRAIL must be 'y' too.
229
230config MFD_AXP20X_RSB
231 tristate "X-Powers AXP series PMICs with RSB"
232 select MFD_AXP20X
233 depends on SUNXI_RSB
234 help
235 If you say Y here you get support for the X-Powers AXP series power
236 management ICs (PMICs) controlled with RSB.
237 This driver include only the core APIs. You have to select individual
238 components like regulators or the PEK (Power Enable Key) under the
239 corresponding menus.
240
241config MFD_CGBC
242 tristate "Congatec Board Controller"
243 select MFD_CORE
244 depends on X86
245 help
246 This is the core driver of the Board Controller found on some Congatec
247 SMARC modules. The Board Controller provides functions like watchdog,
248 I2C busses, and GPIO controller.
249
250 To compile this driver as a module, choose M here: the module will be
251 called cgbc-core.
252
253config MFD_CROS_EC_DEV
254 tristate "ChromeOS Embedded Controller multifunction device"
255 select MFD_CORE
256 depends on CROS_EC
257 default CROS_EC
258 help
259 Select this to get support for ChromeOS Embedded Controller
260 sub-devices. This driver will instantiate additional drivers such
261 as RTC, USBPD, etc. but you have to select the individual drivers.
262
263 To compile this driver as a module, choose M here: the module will be
264 called cros-ec-dev.
265
266config MFD_CS40L50_CORE
267 tristate
268 select MFD_CORE
269 select FW_CS_DSP
270 select REGMAP_IRQ
271
272config MFD_CS40L50_I2C
273 tristate "Cirrus Logic CS40L50 (I2C)"
274 select REGMAP_I2C
275 select MFD_CS40L50_CORE
276 depends on I2C
277 help
278 Select this to support the Cirrus Logic CS40L50 Haptic
279 Driver over I2C.
280
281 This driver can be built as a module. If built as a module it will be
282 called "cs40l50-i2c".
283
284config MFD_CS40L50_SPI
285 tristate "Cirrus Logic CS40L50 (SPI)"
286 select REGMAP_SPI
287 select MFD_CS40L50_CORE
288 depends on SPI
289 help
290 Select this to support the Cirrus Logic CS40L50 Haptic
291 Driver over SPI.
292
293 This driver can be built as a module. If built as a module it will be
294 called "cs40l50-spi".
295
296config MFD_CS42L43
297 tristate
298 select MFD_CORE
299 select REGMAP
300 select REGMAP_IRQ
301
302config MFD_CS42L43_I2C
303 tristate "Cirrus Logic CS42L43 (I2C)"
304 depends on I2C
305 select REGMAP_I2C
306 select MFD_CS42L43
307 help
308 Select this to support the Cirrus Logic CS42L43 PC CODEC with
309 headphone and class D speaker drivers over I2C.
310
311config MFD_CS42L43_SDW
312 tristate "Cirrus Logic CS42L43 (SoundWire)"
313 depends on SOUNDWIRE
314 select REGMAP_SOUNDWIRE
315 select MFD_CS42L43
316 help
317 Select this to support the Cirrus Logic CS42L43 PC CODEC with
318 headphone and class D speaker drivers over SoundWire.
319
320config MFD_LOCHNAGAR
321 bool "Cirrus Logic Lochnagar Audio Development Board"
322 select MFD_CORE
323 select REGMAP_I2C
324 depends on I2C=y && OF
325 help
326 Support for Cirrus Logic Lochnagar audio development board.
327
328config MFD_MACSMC
329 tristate "Apple Silicon System Management Controller (SMC)"
330 depends on ARCH_APPLE || COMPILE_TEST
331 depends on OF
332 depends on APPLE_RTKIT
333 select MFD_CORE
334 help
335 The System Management Controller (SMC) on Apple Silicon machines is a
336 piece of hardware that exposes various functionalities such as
337 temperature sensors, voltage/power meters, shutdown/reboot handling,
338 GPIOs and more.
339
340 Communication happens via a shared mailbox using the RTKit protocol
341 which is also used for other co-processors. The SMC protocol then
342 allows reading and writing many different keys which implement the
343 various features. The MFD core device handles this protocol and
344 exposes it to the sub-devices.
345
346config MFD_MADERA
347 tristate "Cirrus Logic Madera codecs"
348 select MFD_CORE
349 select REGMAP
350 select REGMAP_IRQ
351 select MADERA_IRQ
352 select PINCTRL
353 select PINCTRL_MADERA
354 help
355 Support for the Cirrus Logic Madera platform audio codecs
356
357config MFD_MADERA_I2C
358 tristate "Cirrus Logic Madera codecs with I2C"
359 depends on MFD_MADERA
360 depends on I2C
361 select REGMAP_I2C
362 help
363 Support for the Cirrus Logic Madera platform audio SoC
364 core functionality controlled via I2C.
365
366config MFD_MADERA_SPI
367 tristate "Cirrus Logic Madera codecs with SPI"
368 depends on MFD_MADERA
369 depends on SPI_MASTER
370 select REGMAP_SPI
371 help
372 Support for the Cirrus Logic Madera platform audio SoC
373 core functionality controlled via SPI.
374
375config MFD_CS47L15
376 bool "Cirrus Logic CS47L15"
377 select PINCTRL_CS47L15
378 depends on MFD_MADERA
379 help
380 Support for Cirrus Logic CS47L15 Smart Codec
381
382config MFD_CS47L35
383 bool "Cirrus Logic CS47L35"
384 select PINCTRL_CS47L35
385 depends on MFD_MADERA
386 help
387 Support for Cirrus Logic CS47L35 Smart Codec
388
389config MFD_CS47L85
390 bool "Cirrus Logic CS47L85"
391 select PINCTRL_CS47L85
392 depends on MFD_MADERA
393 help
394 Support for Cirrus Logic CS47L85 Smart Codec
395
396config MFD_CS47L90
397 bool "Cirrus Logic CS47L90/91"
398 select PINCTRL_CS47L90
399 depends on MFD_MADERA
400 help
401 Support for Cirrus Logic CS47L90 and CS47L91 Smart Codecs
402
403config MFD_CS47L92
404 bool "Cirrus Logic CS47L92/93"
405 select PINCTRL_CS47L92
406 depends on MFD_MADERA
407 help
408 Support for Cirrus Logic CS42L92, CS47L92 and CS47L93 Smart Codecs
409
410config PMIC_DA903X
411 bool "Dialog Semiconductor DA9030/DA9034 PMIC Support"
412 depends on I2C=y
413 help
414 Say yes here to add support for Dialog Semiconductor DA9030 (a.k.a
415 ARAVA) and DA9034 (a.k.a MICCO), these are Power Management IC
416 usually found on PXA processors-based platforms. This includes
417 the I2C driver and the core APIs _only_, you have to select
418 individual components like LCD backlight, voltage regulators,
419 LEDs and battery-charger under the corresponding menus.
420
421config PMIC_DA9052
422 bool
423 select MFD_CORE
424
425config MFD_DA9052_SPI
426 bool "Dialog Semiconductor DA9052/53 PMIC variants with SPI"
427 select REGMAP_SPI
428 select REGMAP_IRQ
429 select PMIC_DA9052
430 depends on SPI_MASTER=y
431 help
432 Support for the Dialog Semiconductor DA9052 PMIC
433 when controlled using SPI. This driver provides common support
434 for accessing the device, additional drivers must be enabled in
435 order to use the functionality of the device.
436
437config MFD_DA9052_I2C
438 bool "Dialog Semiconductor DA9052/53 PMIC variants with I2C"
439 select REGMAP_I2C
440 select REGMAP_IRQ
441 select PMIC_DA9052
442 depends on I2C=y
443 help
444 Support for the Dialog Semiconductor DA9052 PMIC
445 when controlled using I2C. This driver provides common support
446 for accessing the device, additional drivers must be enabled in
447 order to use the functionality of the device.
448
449config MFD_DA9055
450 bool "Dialog Semiconductor DA9055 PMIC Support"
451 select REGMAP_I2C
452 select REGMAP_IRQ
453 select MFD_CORE
454 depends on I2C=y
455 help
456 Say yes here for support of Dialog Semiconductor DA9055. This is
457 a Power Management IC. This driver provides common support for
458 accessing the device as well as the I2C interface to the chip itself.
459 Additional drivers must be enabled in order to use the functionality
460 of the device.
461
462config MFD_DA9062
463 tristate "Dialog Semiconductor DA9062/61 PMIC Support"
464 select MFD_CORE
465 select REGMAP_I2C
466 select REGMAP_IRQ
467 depends on I2C
468 help
469 Say yes here for support for the Dialog Semiconductor DA9061 and
470 DA9062 PMICs.
471 This includes the I2C driver and core APIs.
472 Additional drivers must be enabled in order to use the functionality
473 of the device.
474
475config MFD_DA9063
476 tristate "Dialog Semiconductor DA9063 PMIC Support"
477 select MFD_CORE
478 select REGMAP_I2C
479 select REGMAP_IRQ
480 depends on I2C
481 help
482 Say yes here for support for the Dialog Semiconductor DA9063 PMIC.
483 This includes the I2C driver and core APIs.
484 Additional drivers must be enabled in order to use the functionality
485 of the device.
486
487config MFD_DA9150
488 tristate "Dialog Semiconductor DA9150 Charger Fuel-Gauge chip"
489 depends on I2C
490 select MFD_CORE
491 select REGMAP_I2C
492 select REGMAP_IRQ
493 help
494 This adds support for the DA9150 integrated charger and fuel-gauge
495 chip. This driver provides common support for accessing the device.
496 Additional drivers must be enabled in order to use the specific
497 features of the device.
498
499config MFD_DLN2
500 tristate "Diolan DLN2 support"
501 select MFD_CORE
502 depends on USB
503 help
504 This adds support for Diolan USB-I2C/SPI/GPIO Master Adapter
505 DLN-2. Additional drivers such as I2C_DLN2, GPIO_DLN2,
506 etc. must be enabled in order to use the functionality of
507 the device.
508
509config MFD_ENE_KB3930
510 tristate "ENE KB3930 Embedded Controller support"
511 depends on I2C
512 depends on MACH_MMP3_DT || COMPILE_TEST
513 select MFD_CORE
514 help
515 This adds support for the power-off functionality and access to
516 the registers that control LEDS and USB port power on ENE KB3930
517 Embedded Controller. To use the LED functionality LEDS_ARIEL must
518 be enabled.
519
520config MFD_EXYNOS_LPASS
521 tristate "Samsung Exynos SoC Low Power Audio Subsystem"
522 depends on ARCH_EXYNOS || COMPILE_TEST
523 select MFD_CORE
524 select REGMAP_MMIO
525 help
526 Select this option to enable support for Samsung Exynos Low Power
527 Audio Subsystem present on some of Samsung Exynos
528 SoCs (e.g. Exynos5433).
529 Choose Y here only if you build for such Samsung SoC.
530
531config MFD_GATEWORKS_GSC
532 tristate "Gateworks System Controller"
533 depends on I2C && OF
534 select MFD_CORE
535 select REGMAP_I2C
536 select REGMAP_IRQ
537 help
538 Enable support for the Gateworks System Controller (GSC) found
539 on Gateworks Single Board Computers supporting system functions
540 such as push-button monitor, multiple ADC's for voltage and
541 temperature monitoring, fan controller and watchdog monitor.
542 This driver provides common support for accessing the device.
543 Additional drivers must be enabled in order to use the
544 functionality of the device.
545
546config MFD_MC13XXX
547 tristate
548 depends on SPI_MASTER || I2C
549 select MFD_CORE
550 select REGMAP_IRQ
551 help
552 Enable support for the Freescale MC13783 and MC13892 PMICs.
553 This driver provides common support for accessing the device,
554 additional drivers must be enabled in order to use the
555 functionality of the device.
556
557config MFD_MC13XXX_SPI
558 tristate "Freescale MC13783 and MC13892 SPI interface"
559 depends on SPI_MASTER
560 select REGMAP_SPI
561 select MFD_MC13XXX
562 help
563 Select this if your MC13xxx is connected via an SPI bus.
564
565config MFD_MC13XXX_I2C
566 tristate "Freescale MC13892 I2C interface"
567 depends on I2C
568 select REGMAP_I2C
569 select MFD_MC13XXX
570 help
571 Select this if your MC13xxx is connected via an I2C bus.
572
573config MFD_MP2629
574 tristate "Monolithic Power Systems MP2629 ADC and Battery charger"
575 depends on I2C
576 select REGMAP_I2C
577 select MFD_CORE
578 help
579 Select this option to enable support for Monolithic Power Systems
580 battery charger. This provides ADC, thermal and battery charger power
581 management functions.
582
583config MFD_MXS_LRADC
584 tristate "Freescale i.MX23/i.MX28 LRADC"
585 depends on ARCH_MXS || COMPILE_TEST
586 select MFD_CORE
587 select STMP_DEVICE
588 help
589 Say yes here to build support for the Low Resolution
590 Analog-to-Digital Converter (LRADC) found on the i.MX23 and i.MX28
591 processors. This driver provides common support for accessing the
592 device, additional drivers must be enabled in order to use the
593 functionality of the device:
594 mxs-lradc-adc for ADC readings
595 mxs-lradc-ts for touchscreen support
596
597 This driver can also be built as a module. If so, the module will be
598 called mxs-lradc.
599
600config MFD_MX25_TSADC
601 tristate "Freescale i.MX25 integrated Touchscreen and ADC unit"
602 select REGMAP_MMIO
603 depends on (SOC_IMX25 && OF) || COMPILE_TEST
604 help
605 Enable support for the integrated Touchscreen and ADC unit of the
606 i.MX25 processors. They consist of a conversion queue for general
607 purpose ADC and a queue for Touchscreens.
608
609config MFD_PF1550
610 tristate "NXP PF1550 PMIC Support"
611 depends on I2C=y && OF
612 select MFD_CORE
613 select REGMAP_I2C
614 select REGMAP_IRQ
615 help
616 Say yes here to add support for NXP PF1550. This is a companion Power
617 Management IC with regulators, onkey, and charger control on chip.
618 This driver provides common support for accessing the device;
619 additional drivers must be enabled in order to use the functionality
620 of the device.
621
622 This driver can also be built as a module and if so will be called
623 pf1550.
624
625config MFD_HI6421_PMIC
626 tristate "HiSilicon Hi6421 PMU/Codec IC"
627 depends on OF
628 select MFD_CORE
629 select REGMAP_MMIO
630 help
631 Add support for HiSilicon Hi6421 PMIC. Hi6421 includes multi-
632 functions, such as regulators, RTC, codec, Coulomb counter, etc.
633 This driver includes core APIs _only_. You have to select
634 individual components like voltage regulators under corresponding
635 menus in order to enable them.
636 We communicate with the Hi6421 via memory-mapped I/O.
637
638config MFD_HI6421_SPMI
639 tristate "HiSilicon Hi6421v600 SPMI PMU/Codec IC"
640 depends on OF
641 depends on SPMI
642 select MFD_CORE
643 select REGMAP_SPMI
644 help
645 Add support for HiSilicon Hi6421v600 SPMI PMIC. Hi6421 includes
646 multi-functions, such as regulators, RTC, codec, Coulomb counter,
647 etc.
648
649 This driver includes core APIs _only_. You have to select
650 individual components like voltage regulators under corresponding
651 menus in order to enable them.
652 We communicate with the Hi6421v600 via a SPMI bus.
653
654config MFD_HI655X_PMIC
655 tristate "HiSilicon Hi655X series PMU/Codec IC"
656 depends on ARCH_HISI || COMPILE_TEST
657 depends on OF
658 select MFD_CORE
659 select REGMAP_MMIO
660 select REGMAP_IRQ
661 help
662 Select this option to enable Hisilicon hi655x series pmic driver.
663
664config MFD_INTEL_QUARK_I2C_GPIO
665 tristate "Intel Quark MFD I2C GPIO"
666 depends on PCI
667 depends on X86
668 depends on COMMON_CLK
669 select MFD_CORE
670 help
671 This MFD provides support for I2C and GPIO that exist only
672 in a single PCI device. It splits the 2 IO devices to
673 their respective IO driver.
674 The GPIO exports a total amount of 8 interrupt-capable GPIOs.
675
676config LPC_ICH
677 tristate "Intel ICH LPC"
678 depends on PCI
679 select MFD_CORE
680 select P2SB if X86
681 help
682 The LPC bridge function of the Intel ICH provides support for
683 many functional units. This driver provides needed support for
684 other drivers to control these functions, currently GPIO and
685 watchdog.
686
687config LPC_SCH
688 tristate "Intel SCH LPC"
689 depends on PCI
690 select MFD_CORE
691 help
692 LPC bridge function of the Intel SCH provides support for
693 System Management Bus and General Purpose I/O.
694
695config INTEL_SOC_PMIC
696 bool "Support for Crystal Cove PMIC"
697 depends on HAS_IOMEM && I2C=y && GPIOLIB && COMMON_CLK
698 depends on (X86 && ACPI) || COMPILE_TEST
699 depends on I2C_DESIGNWARE_PLATFORM=y || COMPILE_TEST
700 select MFD_CORE
701 select REGMAP_I2C
702 select REGMAP_IRQ
703 help
704 Select this option to enable support for Crystal Cove PMIC
705 on some Intel SoC systems. The PMIC provides ADC, GPIO,
706 thermal, charger and related power management functions
707 on these systems.
708
709 This option is a bool as it provides an ACPI OpRegion which must be
710 available before any devices using it are probed. This option also
711 causes the designware-i2c driver to be builtin for the same reason.
712
713config INTEL_SOC_PMIC_BXTWC
714 tristate "Support for Intel Broxton Whiskey Cove PMIC"
715 depends on MFD_INTEL_PMC_BXT
716 select MFD_CORE
717 select REGMAP_IRQ
718 help
719 Select this option to enable support for Whiskey Cove PMIC
720 on Intel Broxton systems. The PMIC provides ADC, GPIO,
721 thermal, charger and related power management functions
722 on these systems.
723
724config INTEL_SOC_PMIC_CHTWC
725 bool "Support for Intel Cherry Trail Whiskey Cove PMIC"
726 depends on ACPI && HAS_IOMEM && I2C=y && COMMON_CLK
727 depends on X86 || COMPILE_TEST
728 depends on I2C_DESIGNWARE_PLATFORM=y
729 select MFD_CORE
730 select REGMAP_I2C
731 select REGMAP_IRQ
732 help
733 Select this option to enable support for the Intel Cherry Trail
734 Whiskey Cove PMIC found on some Intel Cherry Trail systems.
735
736 This option is a bool as it provides an ACPI OpRegion which must be
737 available before any devices using it are probed. This option also
738 causes the designware-i2c driver to be builtin for the same reason.
739
740config INTEL_SOC_PMIC_CHTDC_TI
741 tristate "Support for Intel Cherry Trail Dollar Cove TI PMIC"
742 depends on GPIOLIB
743 depends on I2C=y && I2C_DESIGNWARE_PLATFORM=y
744 depends on ACPI
745 depends on X86
746 select MFD_CORE
747 select REGMAP_I2C
748 select REGMAP_IRQ
749 help
750 Select this option for supporting Dollar Cove (TI version) PMIC
751 device that is found on some Intel Cherry Trail systems.
752
753 This option is a bool as it provides an ACPI OpRegion which must be
754 available before any devices using it are probed. This option also
755 needs the designware-i2c driver to be builtin for the same reason.
756
757config INTEL_SOC_PMIC_MRFLD
758 tristate "Support for Intel Merrifield Basin Cove PMIC"
759 depends on GPIOLIB
760 depends on ACPI
761 depends on INTEL_SCU
762 select MFD_CORE
763 select REGMAP_IRQ
764 help
765 Select this option for supporting Basin Cove PMIC device
766 that is found on Intel Merrifield systems.
767
768config MFD_INTEL_LPSS
769 tristate
770 select COMMON_CLK
771 select MFD_CORE
772
773config MFD_INTEL_LPSS_ACPI
774 tristate "Intel Low Power Subsystem support in ACPI mode"
775 select MFD_INTEL_LPSS
776 depends on X86 && ACPI
777 help
778 This driver supports Intel Low Power Subsystem (LPSS) devices such as
779 I2C, SPI and HS-UART starting from Intel Sunrisepoint (Intel Skylake
780 PCH) in ACPI mode.
781
782config MFD_INTEL_LPSS_PCI
783 tristate "Intel Low Power Subsystem support in PCI mode"
784 select MFD_INTEL_LPSS
785 depends on X86 && PCI
786 help
787 This driver supports Intel Low Power Subsystem (LPSS) devices such as
788 I2C, SPI and HS-UART starting from Intel Sunrisepoint (Intel Skylake
789 PCH) in PCI mode.
790
791config MFD_INTEL_PMC_BXT
792 tristate "Intel PMC Driver for Broxton"
793 depends on X86
794 depends on X86_PLATFORM_DEVICES
795 depends on ACPI
796 select INTEL_SCU_IPC
797 select MFD_CORE
798 help
799 This driver provides support for the PMC (Power Management
800 Controller) on Intel Broxton and Apollo Lake. The PMC is a
801 multi-function device that exposes IPC, General Control
802 Register and P-unit access. In addition this creates devices
803 for iTCO watchdog and telemetry that are part of the PMC.
804
805config MFD_IPAQ_MICRO
806 bool "Atmel Micro ASIC (iPAQ h3100/h3600/h3700) Support"
807 depends on SA1100_H3600
808 select MFD_CORE
809 help
810 Select this to get support for the Microcontroller found in
811 the Compaq iPAQ handheld computers. This is an Atmel
812 AT90LS8535 microcontroller flashed with a special iPAQ
813 firmware using the custom protocol implemented in this driver.
814
815config MFD_IQS62X
816 tristate "Azoteq IQS620A/621/622/624/625 core support"
817 depends on I2C
818 select MFD_CORE
819 select REGMAP_I2C
820 help
821 Say Y here if you want to build core support for the Azoteq IQS620A,
822 IQS621, IQS622, IQS624 and IQS625 multi-function sensors. Additional
823 options must be selected to enable device-specific functions.
824
825 To compile this driver as a module, choose M here: the module will
826 be called iqs62x.
827
828config MFD_JANZ_CMODIO
829 tristate "Janz CMOD-IO PCI MODULbus Carrier Board"
830 select MFD_CORE
831 depends on PCI
832 help
833 This is the core driver for the Janz CMOD-IO PCI MODULbus
834 carrier board. This device is a PCI to MODULbus bridge which may
835 host many different types of MODULbus daughterboards, including
836 CAN and GPIO controllers.
837
838config MFD_KEMPLD
839 tristate "Kontron module PLD device"
840 select MFD_CORE
841 help
842 This is the core driver for the PLD (Programmable Logic Device) found
843 on some Kontron ETX and nearly all COMexpress (ETXexpress) modules as
844 well as on some other Kontron products. The PLD device may provide
845 functions like watchdog, GPIO, UART and I2C bus.
846
847 This driver can also be built as a module. If so, the module
848 will be called kempld-core.
849
850config MFD_88PM800
851 tristate "Marvell 88PM800"
852 depends on I2C
853 select REGMAP_I2C
854 select REGMAP_IRQ
855 select MFD_CORE
856 help
857 This supports for Marvell 88PM800 Power Management IC.
858 This includes the I2C driver and the core APIs _only_, you have to
859 select individual components like voltage regulators, RTC and
860 battery-charger under the corresponding menus.
861
862config MFD_88PM805
863 tristate "Marvell 88PM805"
864 depends on I2C
865 select REGMAP_I2C
866 select REGMAP_IRQ
867 select MFD_CORE
868 help
869 This supports for Marvell 88PM805 Power Management IC. This includes
870 the I2C driver and the core APIs _only_, you have to select individual
871 components like codec device, headset/Mic device under the
872 corresponding menus.
873
874config MFD_88PM860X
875 bool "Marvell 88PM8606/88PM8607"
876 depends on I2C=y
877 select REGMAP_I2C
878 select MFD_CORE
879 help
880 This supports for Marvell 88PM8606/88PM8607 Power Management IC.
881 This includes the I2C driver and the core APIs _only_, you have to
882 select individual components like voltage regulators, RTC and
883 battery-charger under the corresponding menus.
884
885config MFD_88PM886_PMIC
886 bool "Marvell 88PM886 PMIC"
887 depends on I2C=y
888 depends on OF
889 select REGMAP_I2C
890 select REGMAP_IRQ
891 select MFD_CORE
892 help
893 This enables support for Marvell 88PM886 Power Management IC.
894 This includes the I2C driver and the core APIs _only_, you have to
895 select individual components like onkey under the corresponding menus.
896
897config MFD_MAX5970
898 tristate "Maxim 5970/5978 power switch and monitor"
899 depends on I2C
900 select MFD_SIMPLE_MFD_I2C
901 help
902 This driver controls a Maxim 5970/5978 switch via I2C bus.
903 The MAX5970/5978 is a smart switch with no output regulation, but
904 fault protection and voltage and current monitoring capabilities.
905 Also it supports upto 4 indication leds.
906
907config MFD_MAX14577
908 tristate "Maxim Semiconductor MAX14577/77836 MUIC + Charger Support"
909 depends on I2C
910 select MFD_CORE
911 select REGMAP_I2C
912 select REGMAP_IRQ
913 select IRQ_DOMAIN
914 help
915 Say yes here to add support for Maxim Semiconductor MAX14577 and
916 MAX77836 Micro-USB ICs with battery charger.
917 This driver provides common support for accessing the device;
918 additional drivers must be enabled in order to use the functionality
919 of the device.
920
921config MFD_MAX77541
922 tristate "Analog Devices MAX77541/77540 PMIC Support"
923 depends on I2C=y
924 select MFD_CORE
925 select REGMAP_I2C
926 select REGMAP_IRQ
927 help
928 Say yes here to add support for Analog Devices MAX77541 and
929 MAX77540 Power Management ICs. This driver provides
930 common support for accessing the device; additional drivers
931 must be enabled in order to use the functionality of the device.
932 There are regulators and adc.
933
934config MFD_MAX77620
935 tristate "Maxim Semiconductor MAX77620 and MAX20024 PMIC Support"
936 depends on I2C=y
937 depends on OF
938 select MFD_CORE
939 select REGMAP_I2C
940 select REGMAP_IRQ
941 select IRQ_DOMAIN
942 help
943 Say yes here to add support for Maxim Semiconductor MAX77620 and
944 MAX20024 which are Power Management IC with General purpose pins,
945 RTC, regulators, clock generator, watchdog etc. This driver
946 provides common support for accessing the device; additional drivers
947 must be enabled in order to use the functionality of the device.
948
949config MFD_MAX77650
950 tristate "Maxim MAX77650/77651 PMIC Support"
951 depends on I2C
952 depends on OF
953 select MFD_CORE
954 select REGMAP_I2C
955 select REGMAP_IRQ
956 help
957 Say Y here to add support for Maxim Semiconductor MAX77650 and
958 MAX77651 Power Management ICs. This is the core multifunction
959 driver for interacting with the device. The module name is
960 'max77650'. Additional drivers can be enabled in order to use
961 the following functionalities of the device: GPIO, regulator,
962 charger, LED, onkey.
963
964config MFD_MAX77686
965 tristate "Maxim Semiconductor MAX77686/802 PMIC Support"
966 depends on I2C
967 depends on OF
968 select MFD_CORE
969 select REGMAP_I2C
970 select REGMAP_IRQ
971 select IRQ_DOMAIN
972 help
973 Say yes here to add support for Maxim Semiconductor MAX77686 and
974 MAX77802 which are Power Management IC with an RTC on chip.
975 This driver provides common support for accessing the device;
976 additional drivers must be enabled in order to use the functionality
977 of the device.
978
979config MFD_MAX77693
980 tristate "Maxim Semiconductor MAX77693 PMIC Support"
981 depends on I2C
982 select MFD_CORE
983 select REGMAP_I2C
984 select REGMAP_IRQ
985 help
986 Say yes here to add support for Maxim Semiconductor MAX77693.
987 This is a companion Power Management IC with Flash, Haptic, Charger,
988 and MUIC(Micro USB Interface Controller) controls on chip.
989 This driver provides common support for accessing the device;
990 additional drivers must be enabled in order to use the functionality
991 of the device.
992
993config MFD_MAX77705
994 tristate "Maxim MAX77705 PMIC Support"
995 depends on I2C
996 select MFD_CORE
997 select MFD_SIMPLE_MFD_I2C
998 help
999 Say yes here to add support for Maxim Integrated MAX77705 PMIC.
1000 This is a Power Management IC with Charger, safe LDOs, Flash, Haptic
1001 and MUIC controls on chip.
1002 This driver provides common support for accessing the device;
1003 additional drivers must be enabled in order to use the functionality
1004 of the device.
1005
1006config MFD_MAX77714
1007 tristate "Maxim Semiconductor MAX77714 PMIC Support"
1008 depends on I2C
1009 depends on OF
1010 select MFD_CORE
1011 select REGMAP_I2C
1012 help
1013 Say yes here to add support for Maxim Semiconductor MAX77714.
1014 This is a Power Management IC with 4 buck regulators, 9
1015 low-dropout regulators, 8 GPIOs, RTC, watchdog etc. This driver
1016 provides common support for accessing the device; additional
1017 drivers must be enabled in order to use each functionality of the
1018 device.
1019
1020config MFD_MAX77759
1021 tristate "Maxim Integrated MAX77759 PMIC"
1022 depends on I2C
1023 depends on OF
1024 select IRQ_DOMAIN
1025 select MFD_CORE
1026 select REGMAP_I2C
1027 select REGMAP_IRQ
1028 help
1029 Say yes here to add support for Maxim Integrated MAX77759.
1030 This is a companion Power Management IC for USB Type-C applications
1031 with Battery Charger, Fuel Gauge, temperature sensors, USB Type-C
1032 Port Controller (TCPC), NVMEM, and additional GPIO interfaces.
1033 This driver provides common support for accessing the device;
1034 additional drivers must be enabled in order to use the functionality
1035 of the device.
1036
1037 To compile this driver as a module, choose M here: the module will be
1038 called max77759.
1039
1040config MFD_MAX77843
1041 bool "Maxim Semiconductor MAX77843 PMIC Support"
1042 depends on I2C=y
1043 select MFD_CORE
1044 select REGMAP_I2C
1045 select REGMAP_IRQ
1046 help
1047 Say yes here to add support for Maxim Semiconductor MAX77843.
1048 This is companion Power Management IC with LEDs, Haptic, Charger,
1049 Fuel Gauge, MUIC(Micro USB Interface Controller) controls on chip.
1050 This driver provides common support for accessing the device;
1051 additional drivers must be enabled in order to use the functionality
1052 of the device.
1053
1054config MFD_MAX8907
1055 tristate "Maxim Semiconductor MAX8907 PMIC Support"
1056 select MFD_CORE
1057 depends on I2C
1058 select REGMAP_I2C
1059 select REGMAP_IRQ
1060 help
1061 Say yes here to add support for Maxim Semiconductor MAX8907. This is
1062 a Power Management IC. This driver provides common support for
1063 accessing the device; additional drivers must be enabled in order
1064 to use the functionality of the device.
1065
1066config MFD_MAX8925
1067 bool "Maxim Semiconductor MAX8925 PMIC Support"
1068 depends on I2C=y
1069 select MFD_CORE
1070 help
1071 Say yes here to add support for Maxim Semiconductor MAX8925. This is
1072 a Power Management IC. This driver provides common support for
1073 accessing the device, additional drivers must be enabled in order
1074 to use the functionality of the device.
1075
1076config MFD_MAX8997
1077 bool "Maxim Semiconductor MAX8997/8966 PMIC Support"
1078 depends on I2C=y
1079 select MFD_CORE
1080 select IRQ_DOMAIN
1081 help
1082 Say yes here to add support for Maxim Semiconductor MAX8997/8966.
1083 This is a Power Management IC with RTC, Flash, Fuel Gauge, Haptic,
1084 MUIC controls on chip.
1085 This driver provides common support for accessing the device;
1086 additional drivers must be enabled in order to use the functionality
1087 of the device.
1088
1089config MFD_MAX8998
1090 bool "Maxim Semiconductor MAX8998/National LP3974 PMIC Support"
1091 depends on I2C=y
1092 select MFD_CORE
1093 select IRQ_DOMAIN
1094 help
1095 Say yes here to add support for Maxim Semiconductor MAX8998 and
1096 National Semiconductor LP3974. This is a Power Management IC.
1097 This driver provides common support for accessing the device,
1098 additional drivers must be enabled in order to use the functionality
1099 of the device.
1100
1101config MFD_MT6360
1102 tristate "Mediatek MT6360 SubPMIC"
1103 select MFD_CORE
1104 select REGMAP_I2C
1105 select REGMAP_IRQ
1106 select CRC8
1107 depends on I2C
1108 help
1109 Say Y here to enable MT6360 PMU/PMIC/LDO functional support.
1110 PMU part includes Charger, Flashlight, RGB LED
1111 PMIC part includes 2-channel BUCKs and 2-channel LDOs
1112 LDO part includes 4-channel LDOs
1113
1114config MFD_MT6370
1115 tristate "MediaTek MT6370 SubPMIC"
1116 select MFD_CORE
1117 select REGMAP_I2C
1118 select REGMAP_IRQ
1119 depends on I2C
1120 help
1121 Say Y here to enable MT6370 SubPMIC functional support.
1122 It consists of a single cell battery charger with ADC monitoring, RGB
1123 LEDs, dual channel flashlight, WLED backlight driver, display bias
1124 voltage supply, one general purpose LDO, and the USB Type-C & PD
1125 controller complies with the latest USB Type-C and PD standards.
1126
1127 This driver can also be built as a module. If so, the module
1128 will be called "mt6370".
1129
1130config MFD_MT6397
1131 tristate "MediaTek MT6397 PMIC Support"
1132 select MFD_CORE
1133 select IRQ_DOMAIN
1134 help
1135 Say yes here to add support for MediaTek MT6397 PMIC. This is
1136 a Power Management IC. This driver provides common support for
1137 accessing the device; additional drivers must be enabled in order
1138 to use the functionality of the device.
1139
1140config MFD_MENF21BMC
1141 tristate "MEN 14F021P00 Board Management Controller Support"
1142 depends on I2C
1143 select MFD_CORE
1144 help
1145 Say yes here to add support for the MEN 14F021P00 BMC
1146 which is a Board Management Controller connected to the I2C bus.
1147 The device supports multiple sub-devices like LED, HWMON and WDT.
1148 This driver provides common support for accessing the devices;
1149 additional drivers must be enabled in order to use the
1150 functionality of the BMC device.
1151
1152 This driver can also be built as a module. If so the module
1153 will be called menf21bmc.
1154
1155config MFD_NCT6694
1156 tristate "Nuvoton NCT6694 support"
1157 select MFD_CORE
1158 depends on USB
1159 help
1160 This enables support for the Nuvoton USB device NCT6694, which shares
1161 peripherals.
1162 The Nuvoton NCT6694 is a peripheral expander with 16 GPIO chips,
1163 6 I2C controllers, 2 CANfd controllers, 2 Watchdog timers, ADC,
1164 PWM, and RTC.
1165 This driver provides core APIs to access the NCT6694 hardware
1166 monitoring and control features.
1167 Additional drivers must be enabled to utilize the specific
1168 functionalities of the device.
1169
1170config MFD_OCELOT
1171 tristate "Microsemi Ocelot External Control Support"
1172 depends on SPI_MASTER
1173 select MFD_CORE
1174 select REGMAP_SPI
1175 help
1176 Ocelot is a family of networking chips that support multiple ethernet
1177 and fibre interfaces. In addition to networking, they contain several
1178 other functions, including pinctrl, MDIO, and communication with
1179 external chips. While some chips have an internal processor capable of
1180 running an OS, others don't. All chips can be controlled externally
1181 through different interfaces, including SPI, I2C, and PCIe.
1182
1183 Say yes here to add support for Ocelot chips (VSC7511, VSC7512,
1184 VSC7513, VSC7514) controlled externally.
1185
1186 To compile this driver as a module, choose M here: the module will be
1187 called ocelot-soc.
1188
1189 If unsure, say N.
1190
1191config EZX_PCAP
1192 bool "Motorola EZXPCAP Support"
1193 depends on SPI_MASTER
1194 help
1195 This enables the PCAP ASIC present on EZX Phones. This is
1196 needed for MMC, TouchScreen, Sound, USB, etc..
1197
1198config MFD_CPCAP
1199 tristate "Support for Motorola CPCAP"
1200 depends on SPI
1201 depends on OF
1202 select MFD_CORE
1203 select REGMAP_SPI
1204 select REGMAP_IRQ
1205 help
1206 Say yes here if you want to include driver for CPCAP.
1207 It is used on many Motorola phones and tablets as a PMIC.
1208 At least Motorola Droid 4 is known to use CPCAP.
1209
1210config MFD_VIPERBOARD
1211 tristate "Nano River Technologies Viperboard"
1212 select MFD_CORE
1213 depends on USB
1214 default n
1215 help
1216 Say yes here if you want support for Nano River Technologies
1217 Viperboard.
1218 There are mfd cell drivers available for i2c master, adc and
1219 both gpios found on the board. The spi part does not yet
1220 have a driver.
1221 You need to select the mfd cell drivers separately.
1222 The drivers do not support all features the board exposes.
1223
1224config MFD_NTXEC
1225 tristate "Netronix embedded controller (EC)"
1226 depends on OF
1227 depends on I2C
1228 select REGMAP_I2C
1229 select MFD_CORE
1230 help
1231 Say yes here if you want to support the embedded controller found in
1232 certain e-book readers designed by the original design manufacturer
1233 Netronix.
1234
1235config MFD_RETU
1236 tristate "Nokia Retu and Tahvo multi-function device"
1237 select MFD_CORE
1238 depends on I2C
1239 select REGMAP_IRQ
1240 help
1241 Retu and Tahvo are a multi-function devices found on Nokia
1242 Internet Tablets (770, N800 and N810).
1243
1244config MFD_PM8XXX
1245 tristate "Qualcomm PM8xxx PMIC chips driver"
1246 depends on ARM || HEXAGON || COMPILE_TEST
1247 select IRQ_DOMAIN_HIERARCHY
1248 select MFD_CORE
1249 select REGMAP
1250 help
1251 If you say yes to this option, support will be included for the
1252 built-in PM8xxx PMIC chips.
1253
1254 This is required if your board has a PM8xxx and uses its features,
1255 such as: MPPs, GPIOs, regulators, interrupts, and PWM.
1256
1257 Say M here if you want to include support for PM8xxx chips as a
1258 module. This will build a module called "pm8xxx-core".
1259
1260config MFD_QCOM_RPM
1261 tristate "Qualcomm Resource Power Manager (RPM)"
1262 depends on ARCH_QCOM && OF
1263 help
1264 If you say yes to this option, support will be included for the
1265 Resource Power Manager system found in the Qualcomm 8660, 8960 and
1266 8064 based devices.
1267
1268 This is required to access many regulators, clocks and bus
1269 frequencies controlled by the RPM on these devices.
1270
1271 Say M here if you want to include support for the Qualcomm RPM as a
1272 module. This will build a module called "qcom_rpm".
1273
1274config MFD_SPACEMIT_P1
1275 tristate "SpacemiT P1 PMIC"
1276 depends on ARCH_SPACEMIT || COMPILE_TEST
1277 depends on I2C
1278 select MFD_SIMPLE_MFD_I2C
1279 help
1280 This option supports the I2C-based SpacemiT P1 PMIC, which
1281 contains regulators, a power switch, GPIOs, an RTC, and more.
1282 This option is selected when any of the supported sub-devices
1283 is configured. The basic functionality is implemented by the
1284 simple MFD I2C driver.
1285
1286config MFD_SPMI_PMIC
1287 tristate "Qualcomm SPMI PMICs"
1288 depends on ARCH_QCOM || COMPILE_TEST
1289 depends on OF
1290 depends on SPMI
1291 select REGMAP_SPMI
1292 help
1293 This enables support for the Qualcomm SPMI PMICs.
1294 These PMICs are currently used with the Snapdragon 800 series of
1295 SoCs. Note, that this will only be useful paired with descriptions
1296 of the independent functions as children nodes in the device tree.
1297
1298 Say M here if you want to include support for the SPMI PMIC
1299 series as a module. The module will be called "qcom-spmi-pmic".
1300
1301config MFD_SY7636A
1302 tristate "Silergy SY7636A voltage regulator"
1303 depends on I2C
1304 select MFD_SIMPLE_MFD_I2C
1305 help
1306 Enable support for Silergy SY7636A voltage regulator.
1307
1308 To enable support for building sub-devices as modules,
1309 choose M here.
1310
1311config MFD_RDC321X
1312 tristate "RDC R-321x southbridge"
1313 select MFD_CORE
1314 depends on PCI
1315 help
1316 Say yes here if you want to have support for the RDC R-321x SoC
1317 southbridge which provides access to GPIOs and Watchdog using the
1318 southbridge PCI device configuration space.
1319
1320config MFD_RT4831
1321 tristate "Richtek RT4831 four channel WLED and Display Bias Voltage"
1322 depends on I2C
1323 select MFD_CORE
1324 select REGMAP_I2C
1325 help
1326 This enables support for the Richtek RT4831 that includes 4 channel
1327 WLED driving and Display Bias Voltage. It's commonly used to provide
1328 power to the LCD display and LCD backlight.
1329
1330config MFD_RT5033
1331 tristate "Richtek RT5033 Power Management IC"
1332 depends on I2C
1333 select MFD_CORE
1334 select REGMAP_I2C
1335 select REGMAP_IRQ
1336 help
1337 This driver provides for the Richtek RT5033 Power Management IC,
1338 which includes the I2C driver and the Core APIs. This driver provides
1339 common support for accessing the device. The device supports multiple
1340 sub-devices like charger, fuel gauge, flash LED, current source,
1341 LDO and Buck.
1342
1343config MFD_RT5120
1344 tristate "Richtek RT5120 Power Management IC"
1345 depends on I2C
1346 select MFD_CORE
1347 select REGMAP_I2C
1348 select REGMAP_IRQ
1349 help
1350 The enables support for Richtek RT5120 PMIC. It includes four high
1351 efficiency buck converters and one LDO voltage regulator. The device
1352 is targeted at providing the CPU voltage, memory, I/O and peripheral
1353 power rails in home entertainment devices.
1354
1355config MFD_RC5T583
1356 bool "Ricoh RC5T583 Power Management system device"
1357 depends on I2C=y
1358 select MFD_CORE
1359 select REGMAP_I2C
1360 help
1361 Select this option to get support for the RICOH583 Power
1362 Management system device.
1363 This driver provides common support for accessing the device
1364 through i2c interface. The device supports multiple sub-devices
1365 like GPIO, interrupts, RTC, LDO and DCDC regulators, onkey.
1366 Additional drivers must be enabled in order to use the
1367 different functionality of the device.
1368
1369config MFD_RK8XX
1370 tristate
1371 select MFD_CORE
1372
1373config MFD_RK8XX_I2C
1374 tristate "Rockchip RK805/RK808/RK809/RK816/RK817/RK818 Power Management Chip"
1375 depends on I2C && OF
1376 select MFD_CORE
1377 select REGMAP_I2C
1378 select REGMAP_IRQ
1379 select MFD_RK8XX
1380 help
1381 If you say yes here you get support for the RK805, RK808, RK809,
1382 RK816, RK817 and RK818 Power Management chips.
1383 This driver provides common support for accessing the device
1384 through I2C interface. The device supports multiple sub-devices
1385 including interrupts, RTC, LDO & DCDC regulators, and onkey.
1386
1387config MFD_RK8XX_SPI
1388 tristate "Rockchip RK806 Power Management Chip"
1389 depends on SPI && OF
1390 select MFD_CORE
1391 select REGMAP_SPI
1392 select REGMAP_IRQ
1393 select MFD_RK8XX
1394 help
1395 If you say yes here you get support for the RK806 Power Management
1396 chip.
1397 This driver provides common support for accessing the device
1398 through an SPI interface. The device supports multiple sub-devices
1399 including interrupts, LDO & DCDC regulators, and power on-key.
1400
1401config MFD_RN5T618
1402 tristate "Ricoh RN5T567/618 PMIC"
1403 depends on I2C
1404 depends on OF
1405 select MFD_CORE
1406 select REGMAP_I2C
1407 select REGMAP_IRQ
1408 help
1409 Say yes here to add support for the Ricoh RN5T567,
1410 RN5T618, RC5T619 PMIC.
1411 This driver provides common support for accessing the device,
1412 additional drivers must be enabled in order to use the
1413 functionality of the device.
1414
1415config MFD_SEC_CORE
1416 tristate
1417 select MFD_CORE
1418 select REGMAP_IRQ
1419
1420config MFD_SEC_ACPM
1421 tristate "Samsung Electronics S2MPG1x PMICs"
1422 depends on EXYNOS_ACPM_PROTOCOL
1423 depends on OF
1424 select MFD_SEC_CORE
1425 help
1426 Support for the Samsung Electronics PMICs with ACPM interface.
1427 This is a Power Management IC for mobile applications with buck
1428 converters, various LDOs, power meters, RTC, clock outputs, and
1429 additional GPIOs interfaces.
1430 This driver provides common support for accessing the device;
1431 additional drivers must be enabled in order to use the functionality
1432 of the device.
1433
1434 To compile this driver as a module, choose M here: the module will be
1435 called sec-acpm.
1436
1437config MFD_SEC_I2C
1438 tristate "Samsung Electronics S2MPA/S2MPS1X/S2MPU/S5M series PMICs"
1439 depends on I2C=y
1440 depends on OF
1441 select MFD_SEC_CORE
1442 select REGMAP_I2C
1443 help
1444 Support for the Samsung Electronics PMIC devices with I2C interface
1445 coming usually along with Samsung Exynos SoC chipset.
1446 This driver provides common support for accessing the device,
1447 additional drivers must be enabled in order to use the functionality
1448 of the device.
1449
1450 To compile this driver as a module, choose M here: the
1451 module will be called sec-i2c.
1452 Have in mind that important core drivers (like regulators) depend
1453 on this driver so building this as a module might require proper
1454 initial ramdisk or might not boot up as well in certain scenarios.
1455
1456config MFD_SI476X_CORE
1457 tristate "Silicon Laboratories 4761/64/68 AM/FM radio."
1458 depends on I2C
1459 depends on GPIOLIB_LEGACY
1460 select MFD_CORE
1461 select REGMAP_I2C
1462 help
1463 This is the core driver for the SI476x series of AM/FM
1464 radio. This MFD driver connects the radio-si476x V4L2 module
1465 and the si476x audio codec.
1466
1467 To compile this driver as a module, choose M here: the
1468 module will be called si476x-core.
1469
1470config MFD_SIMPLE_MFD_I2C
1471 tristate
1472 depends on I2C
1473 select MFD_CORE
1474 select REGMAP_I2C
1475 help
1476 This driver creates a single register map with the intention for it
1477 to be shared by all sub-devices.
1478
1479 Once the register map has been successfully initialised, any
1480 sub-devices represented by child nodes in Device Tree will be
1481 subsequently registered.
1482
1483config MFD_SL28CPLD
1484 tristate "Kontron sl28cpld Board Management Controller"
1485 depends on I2C
1486 depends on ARCH_LAYERSCAPE || COMPILE_TEST
1487 select MFD_SIMPLE_MFD_I2C
1488 help
1489 Say yes here to enable support for the Kontron sl28cpld board
1490 management controller.
1491
1492 It can be found on the following boards:
1493 * SMARC-sAL28
1494
1495config MFD_SM501
1496 tristate "Silicon Motion SM501"
1497 depends on HAS_DMA
1498 help
1499 This is the core driver for the Silicon Motion SM501 multimedia
1500 companion chip. This device is a multifunction device which may
1501 provide numerous interfaces including USB host controller, USB gadget,
1502 asynchronous serial ports, audio functions, and a dual display video
1503 interface. The device may be connected by PCI or local bus with
1504 varying functions enabled.
1505
1506config MFD_SM501_GPIO
1507 bool "Export GPIO via GPIO layer"
1508 depends on MFD_SM501 && GPIOLIB
1509 help
1510 This option uses the gpio library layer to export the 64 GPIO
1511 lines on the SM501. The platform data is used to supply the
1512 base number for the first GPIO line to register.
1513
1514config MFD_SKY81452
1515 tristate "Skyworks Solutions SKY81452"
1516 select MFD_CORE
1517 select REGMAP_I2C
1518 depends on I2C
1519 help
1520 This is the core driver for the Skyworks SKY81452 backlight and
1521 voltage regulator device.
1522
1523 This driver can also be built as a module. If so, the module
1524 will be called sky81452.
1525
1526config MFD_SC27XX_PMIC
1527 tristate "Spreadtrum SC27xx PMICs"
1528 depends on ARCH_SPRD || COMPILE_TEST
1529 depends on SPI_MASTER
1530 select MFD_CORE
1531 select REGMAP_SPI
1532 select REGMAP_IRQ
1533 help
1534 This enables support for the Spreadtrum SC27xx PMICs with SPI
1535 interface. The SC27xx series PMICs integrate power management,
1536 audio codec, battery management and user interface support
1537 function (such as RTC, Typec, indicator and so on) in a single chip.
1538
1539 This driver provides common support for accessing the SC27xx PMICs,
1540 and it also adds the irq_chip parts for handling the PMIC chip events.
1541
1542config RZ_MTU3
1543 tristate "Renesas RZ/G2L MTU3a core driver"
1544 depends on (ARCH_RZG2L && OF) || COMPILE_TEST
1545 select MFD_CORE
1546 help
1547 Select this option to enable Renesas RZ/G2L MTU3a core driver for
1548 the Multi-Function Timer Pulse Unit 3 (MTU3a) hardware available
1549 on SoCs from Renesas. The core driver shares the clk and channel
1550 register access for the other child devices like Counter, PWM,
1551 Clock Source, and Clock event.
1552
1553config ABX500_CORE
1554 bool "ST-Ericsson ABX500 Mixed Signal Circuit register functions"
1555 depends on ARCH_U8500 || COMPILE_TEST
1556 default y if ARCH_U8500
1557 help
1558 Say yes here if you have the ABX500 Mixed Signal IC family
1559 chips. This core driver expose register access functions.
1560 Functionality specific drivers using these functions can
1561 remain unchanged when IC changes. Binding of the functions to
1562 actual register access is done by the IC core driver.
1563
1564config AB8500_CORE
1565 bool "ST-Ericsson AB8500 Mixed Signal Power Management chip"
1566 depends on ABX500_CORE && MFD_DB8500_PRCMU
1567 select POWER_SUPPLY
1568 select MFD_CORE
1569 select IRQ_DOMAIN
1570 help
1571 Select this option to enable access to AB8500 power management
1572 chip. This connects to U8500 either on the SSP/SPI bus (deprecated
1573 since hardware version v1.0) or the I2C bus via PRCMU. It also adds
1574 the irq_chip parts for handling the Mixed Signal chip events.
1575 This chip embeds various other multimedia functionalities as well.
1576
1577config MFD_DB8500_PRCMU
1578 bool "ST-Ericsson DB8500 Power Reset Control Management Unit"
1579 depends on UX500_SOC_DB8500
1580 select MFD_CORE
1581 help
1582 Select this option to enable support for the DB8500 Power Reset
1583 and Control Management Unit. This is basically an autonomous
1584 system controller running an XP70 microprocessor, which is accessed
1585 through a register map.
1586
1587config MFD_STMPE
1588 tristate "STMicroelectronics STMPE"
1589 depends on I2C || SPI_MASTER
1590 depends on OF
1591 select MFD_CORE
1592 help
1593 Support for the STMPE family of I/O Expanders from
1594 STMicroelectronics.
1595
1596 Currently supported devices are:
1597
1598 STMPE811: GPIO, Touchscreen, ADC
1599 STMPE1601: GPIO, Keypad
1600 STMPE1801: GPIO, Keypad
1601 STMPE2401: GPIO, Keypad
1602 STMPE2403: GPIO, Keypad
1603
1604 This driver provides common support for accessing the device,
1605 additional drivers must be enabled in order to use the functionality
1606 of the device. Currently available sub drivers are:
1607
1608 GPIO: stmpe-gpio
1609 Keypad: stmpe-keypad
1610 Touchscreen: stmpe-ts
1611 ADC: stmpe-adc
1612
1613menu "STMicroelectronics STMPE Interface Drivers"
1614depends on MFD_STMPE
1615
1616config STMPE_I2C
1617 tristate "STMicroelectronics STMPE I2C Interface"
1618 depends on I2C
1619 default y
1620 help
1621 This is used to enable I2C interface of STMPE
1622
1623config STMPE_SPI
1624 tristate "STMicroelectronics STMPE SPI Interface"
1625 depends on SPI_MASTER
1626 help
1627 This is used to enable SPI interface of STMPE
1628endmenu
1629
1630config MFD_SUN6I_PRCM
1631 bool "Allwinner A31/A23/A33 PRCM controller"
1632 depends on ARCH_SUNXI || COMPILE_TEST
1633 select MFD_CORE
1634 help
1635 Support for the PRCM (Power/Reset/Clock Management) unit available
1636 in the A31, A23, and A33 SoCs. Other Allwinner SoCs contain similar
1637 hardware, but they do not use this driver.
1638
1639config MFD_SYSCON
1640 bool "System Controller Register R/W Based on Regmap"
1641 select REGMAP_MMIO
1642 help
1643 Select this option to enable accessing system control registers
1644 via regmap.
1645
1646config MFD_TI_AM335X_TSCADC
1647 tristate "TI ADC / Touch Screen chip support"
1648 depends on ARCH_OMAP2PLUS || ARCH_K3 || COMPILE_TEST
1649 select MFD_CORE
1650 select REGMAP
1651 select REGMAP_MMIO
1652 help
1653 If you say yes here you get support for Texas Instruments series
1654 of Touch Screen /ADC chips.
1655 To compile this driver as a module, choose M here: the
1656 module will be called ti_am335x_tscadc.
1657
1658config MFD_LP3943
1659 tristate "TI/National Semiconductor LP3943 MFD Driver"
1660 depends on I2C
1661 select MFD_CORE
1662 select REGMAP_I2C
1663 help
1664 Support for the TI/National Semiconductor LP3943.
1665 This driver consists of GPIO and PWM drivers.
1666 With these functionalities, it can be used for LED string control or
1667 general usage such like a GPIO controller and a PWM controller.
1668
1669config MFD_LP8788
1670 bool "TI LP8788 Power Management Unit Driver"
1671 depends on I2C=y
1672 select MFD_CORE
1673 select REGMAP_I2C
1674 select IRQ_DOMAIN
1675 help
1676 TI LP8788 PMU supports regulators, battery charger, RTC,
1677 ADC, backlight driver and current sinks.
1678
1679config MFD_TI_LMU
1680 tristate "TI Lighting Management Unit driver"
1681 depends on I2C
1682 select MFD_CORE
1683 select REGMAP_I2C
1684 help
1685 Say yes here to enable support for TI LMU chips.
1686 TI LMU MFD supports LM3532, LM3631, LM3632, LM3633, LM3695 and
1687 LM36274. It consists of backlight, LED and regulator driver.
1688 It provides consistent device controls for lighting functions.
1689
1690config MFD_BQ257XX
1691 tristate "TI BQ257XX Buck/Boost Charge Controller"
1692 depends on I2C
1693 select MFD_CORE
1694 select REGMAP_I2C
1695 help
1696 Support Texas Instruments BQ25703 Buck/Boost converter with
1697 charge controller. It consists of regulators that provide
1698 system voltage and OTG voltage, and a charger manager for
1699 batteries containing one or more cells.
1700
1701config MFD_OMAP_USB_HOST
1702 bool "TI OMAP USBHS core and TLL driver"
1703 depends on USB_EHCI_HCD_OMAP || USB_OHCI_HCD_OMAP3
1704 depends on COMMON_CLK
1705 default y
1706 help
1707 This is the core driver for the OAMP EHCI and OHCI drivers.
1708 This MFD driver does the required setup functionalities for
1709 OMAP USB Host drivers.
1710
1711config MFD_PALMAS
1712 tristate "TI Palmas series chips"
1713 select MFD_CORE
1714 select REGMAP_I2C
1715 select REGMAP_IRQ
1716 depends on I2C=y
1717 help
1718 If you say yes here you get support for the Palmas
1719 series of PMIC chips from Texas Instruments.
1720
1721config TPS6105X
1722 tristate "TI TPS61050/61052 Boost Converters"
1723 depends on I2C
1724 select REGMAP_I2C
1725 select REGULATOR
1726 select MFD_CORE
1727 select REGULATOR_FIXED_VOLTAGE
1728 help
1729 This option enables a driver for the TP61050/TPS61052
1730 high-power "white LED driver". This boost converter is
1731 sometimes used for other things than white LEDs, and
1732 also contains a GPIO pin.
1733
1734config TPS65010
1735 tristate "TI TPS6501x Power Management chips"
1736 depends on I2C && GPIOLIB
1737 default MACH_OMAP_OSK
1738 help
1739 If you say yes here you get support for the TPS6501x series of
1740 Power Management chips. These include voltage regulators,
1741 lithium ion/polymer battery charging, and other features that
1742 are often used in portable devices like cell phones and cameras.
1743
1744 This driver can also be built as a module. If so, the module
1745 will be called tps65010.
1746
1747config TPS6507X
1748 tristate "TI TPS6507x Power Management / Touch Screen chips"
1749 select MFD_CORE
1750 depends on I2C
1751 help
1752 If you say yes here you get support for the TPS6507x series of
1753 Power Management / Touch Screen chips. These include voltage
1754 regulators, lithium ion/polymer battery charging, touch screen
1755 and other features that are often used in portable devices.
1756 This driver can also be built as a module. If so, the module
1757 will be called tps6507x.
1758
1759config MFD_TPS65086
1760 tristate "TI TPS65086 Power Management Integrated Chips (PMICs)"
1761 select MFD_CORE
1762 select REGMAP
1763 select REGMAP_IRQ
1764 select REGMAP_I2C
1765 depends on I2C
1766 help
1767 If you say yes here you get support for the TPS65086 series of
1768 Power Management chips.
1769 This driver provides common support for accessing the device,
1770 additional drivers must be enabled in order to use the
1771 functionality of the device.
1772
1773config TPS65911_COMPARATOR
1774 tristate
1775
1776config MFD_TPS65090
1777 bool "TI TPS65090 Power Management chips"
1778 depends on I2C=y
1779 select MFD_CORE
1780 select REGMAP_I2C
1781 select REGMAP_IRQ
1782 help
1783 If you say yes here you get support for the TPS65090 series of
1784 Power Management chips.
1785 This driver provides common support for accessing the device,
1786 additional drivers must be enabled in order to use the
1787 functionality of the device.
1788
1789config MFD_TPS65217
1790 tristate "TI TPS65217 Power Management / White LED chips"
1791 depends on I2C && OF
1792 select MFD_CORE
1793 select REGMAP_I2C
1794 select IRQ_DOMAIN
1795 help
1796 If you say yes here you get support for the TPS65217 series of
1797 Power Management / White LED chips.
1798 These include voltage regulators, lithium ion/polymer battery
1799 charger, wled and other features that are often used in portable
1800 devices.
1801
1802 This driver can also be built as a module. If so, the module
1803 will be called tps65217.
1804
1805config MFD_TI_LP873X
1806 tristate "TI LP873X Power Management IC"
1807 depends on I2C
1808 select MFD_CORE
1809 select REGMAP_I2C
1810 help
1811 If you say yes here then you get support for the LP873X series of
1812 Power Management Integrated Circuits (PMIC).
1813 These include voltage regulators, thermal protection, configurable
1814 General Purpose Outputs (GPO) that are used in portable devices.
1815
1816 This driver can also be built as a module. If so, the module
1817 will be called lp873x.
1818
1819config MFD_TI_LP87565
1820 tristate "TI LP87565 Power Management IC"
1821 depends on I2C && OF
1822 select MFD_CORE
1823 select REGMAP_I2C
1824 help
1825 If you say yes here then you get support for the LP87565 series of
1826 Power Management Integrated Circuits (PMIC).
1827 These include voltage regulators, thermal protection, configurable
1828 General Purpose Outputs (GPO) that are used in portable devices.
1829
1830 This driver can also be built as a module. If so, the module
1831 will be called lp87565.
1832
1833config MFD_TPS65218
1834 tristate "TI TPS65218 Power Management chips"
1835 depends on I2C && OF
1836 select MFD_CORE
1837 select REGMAP_I2C
1838 select REGMAP_IRQ
1839 help
1840 If you say yes here you get support for the TPS65218 series of
1841 Power Management chips.
1842 These include voltage regulators, gpio and other features
1843 that are often used in portable devices.
1844
1845 This driver can also be built as a module. If so, the module
1846 will be called tps65218.
1847
1848config MFD_TPS65219
1849 tristate "TI TPS65219 Power Management IC"
1850 depends on I2C && OF
1851 select MFD_CORE
1852 select REGMAP_I2C
1853 select REGMAP_IRQ
1854 help
1855 If you say yes here you get support for the TPS65219 series of Power
1856 Management ICs. These include voltage regulators, GPIOs and
1857 push/power button that is often used in portable devices.
1858
1859 This driver can also be built as a module. If so, the module
1860 will be called tps65219.
1861
1862config MFD_TPS6586X
1863 bool "TI TPS6586x Power Management chips"
1864 depends on I2C=y
1865 select MFD_CORE
1866 select REGMAP_I2C
1867 help
1868 If you say yes here you get support for the TPS6586X series of
1869 Power Management chips.
1870 This driver provides common support for accessing the device,
1871 additional drivers must be enabled in order to use the
1872 functionality of the device.
1873
1874 This driver can also be built as a module. If so, the module
1875 will be called tps6586x.
1876
1877config MFD_TPS65910
1878 bool "TI TPS65910 Power Management chip"
1879 depends on I2C=y
1880 depends on GPIOLIB || COMPILE_TEST
1881 select MFD_CORE
1882 select REGMAP_I2C
1883 select REGMAP_IRQ
1884 select IRQ_DOMAIN
1885 help
1886 if you say yes here you get support for the TPS65910 series of
1887 Power Management chips.
1888
1889config MFD_TPS65912
1890 tristate
1891 select MFD_CORE
1892 select REGMAP
1893 select REGMAP_IRQ
1894
1895config MFD_TPS65912_I2C
1896 tristate "TI TPS65912 Power Management chip with I2C"
1897 select MFD_TPS65912
1898 select REGMAP_I2C
1899 depends on I2C
1900 help
1901 If you say yes here you get support for the TPS65912 series of
1902 PM chips with I2C interface.
1903
1904config MFD_TPS65912_SPI
1905 tristate "TI TPS65912 Power Management chip with SPI"
1906 select MFD_TPS65912
1907 select REGMAP_SPI
1908 depends on SPI_MASTER
1909 help
1910 If you say yes here you get support for the TPS65912 series of
1911 PM chips with SPI interface.
1912
1913config MFD_TPS6594
1914 tristate
1915 select MFD_CORE
1916 select REGMAP
1917 select REGMAP_IRQ
1918
1919config MFD_TPS6594_I2C
1920 tristate "TI TPS6594 Power Management chip with I2C"
1921 select MFD_TPS6594
1922 select REGMAP_I2C
1923 select CRC8
1924 depends on I2C
1925 help
1926 If you say yes here you get support for the TPS6594 series of
1927 PM chips with I2C interface.
1928
1929 This driver can also be built as a module. If so, the module
1930 will be called tps6594-i2c.
1931
1932config MFD_TPS6594_SPI
1933 tristate "TI TPS6594 Power Management chip with SPI"
1934 select MFD_TPS6594
1935 select REGMAP_SPI
1936 select CRC8
1937 depends on SPI_MASTER
1938 help
1939 If you say yes here you get support for the TPS6594 series of
1940 PM chips with SPI interface.
1941
1942 This driver can also be built as a module. If so, the module
1943 will be called tps6594-spi.
1944
1945config TWL4030_CORE
1946 bool "TI TWL4030/TWL5030/TWL6030/TPS659x0 Support"
1947 depends on I2C=y
1948 select IRQ_DOMAIN
1949 select MFD_CORE
1950 select REGMAP_I2C
1951 help
1952 Say yes here if you have TWL4030 / TWL6030 family chip on your board.
1953 This core driver provides register access and IRQ handling
1954 facilities, and registers devices for the various functions
1955 so that function-specific drivers can bind to them.
1956
1957 These multi-function chips are found on many OMAP2 and OMAP3
1958 boards, providing power management, RTC, GPIO, keypad, a
1959 high speed USB OTG transceiver, an audio codec (on most
1960 versions) and many other features.
1961
1962config TWL4030_POWER
1963 bool "TI TWL4030 power resources"
1964 depends on TWL4030_CORE && ARM
1965 help
1966 Say yes here if you want to use the power resources on the
1967 TWL4030 family chips. Most of these resources are regulators,
1968 which have a separate driver; some are control signals, such
1969 as clock request handshaking.
1970
1971 This driver uses board-specific data to initialize the resources
1972 and load scripts controlling which resources are switched off/on
1973 or reset when a sleep, wakeup or warm reset event occurs.
1974
1975config MFD_TWL4030_AUDIO
1976 bool "TI TWL4030 Audio"
1977 depends on TWL4030_CORE
1978 select MFD_CORE
1979 default n
1980
1981config TWL6040_CORE
1982 bool "TI TWL6040 audio codec"
1983 depends on I2C=y
1984 select MFD_CORE
1985 select REGMAP_I2C
1986 select REGMAP_IRQ
1987 default n
1988 help
1989 Say yes here if you want support for Texas Instruments TWL6040 audio
1990 codec.
1991 This driver provides common support for accessing the device,
1992 additional drivers must be enabled in order to use the
1993 functionality of the device (audio, vibra).
1994
1995config MENELAUS
1996 bool "TI TWL92330/Menelaus PM chip"
1997 depends on I2C=y && ARCH_OMAP2
1998 help
1999 If you say yes here you get support for the Texas Instruments
2000 TWL92330/Menelaus Power Management chip. This include voltage
2001 regulators, Dual slot memory card transceivers, real-time clock
2002 and other features that are often used in portable devices like
2003 cell phones and PDAs.
2004
2005config MFD_LM3533
2006 tristate "TI/National Semiconductor LM3533 Lighting Power chip"
2007 depends on I2C
2008 select MFD_CORE
2009 select REGMAP_I2C
2010 help
2011 Say yes here to enable support for National Semiconductor / TI
2012 LM3533 Lighting Power chips.
2013
2014 This driver provides common support for accessing the device;
2015 additional drivers must be enabled in order to use the LED,
2016 backlight or ambient-light-sensor functionality of the device.
2017
2018config MFD_TIMBERDALE
2019 tristate "Timberdale FPGA"
2020 select MFD_CORE
2021 depends on PCI && GPIOLIB && (X86_32 || COMPILE_TEST)
2022 help
2023 This is the core driver for the timberdale FPGA. This device is a
2024 multifunction device which exposes numerous platform devices.
2025
2026 The timberdale FPGA can be found on the Intel Atom development board
2027 for in-vehicle infotainment, called Russellville.
2028
2029config MFD_TC3589X
2030 bool "Toshiba TC35892 and variants"
2031 depends on I2C=y
2032 depends on OF
2033 select MFD_CORE
2034 help
2035 Support for the Toshiba TC35892 and variants I/O Expander.
2036
2037 This driver provides common support for accessing the device,
2038 additional drivers must be enabled in order to use the
2039 functionality of the device.
2040
2041config MFD_TQMX86
2042 tristate "TQ-Systems IO controller TQMX86"
2043 select MFD_CORE
2044 help
2045 Say yes here to enable support for various functions of the
2046 TQ-Systems IO controller and watchdog device, found on their
2047 ComExpress CPU modules.
2048
2049config MFD_VX855
2050 tristate "VIA VX855/VX875 integrated south bridge"
2051 depends on PCI
2052 select MFD_CORE
2053 help
2054 Say yes here to enable support for various functions of the
2055 VIA VX855/VX875 south bridge. You will need to enable the vx855_spi
2056 and/or vx855_gpio drivers for this to do anything useful.
2057
2058config MFD_ARIZONA
2059 select REGMAP
2060 select REGMAP_IRQ
2061 select MFD_CORE
2062 tristate
2063
2064config MFD_ARIZONA_I2C
2065 tristate "Cirrus Logic/Wolfson Microelectronics Arizona platform with I2C"
2066 select MFD_ARIZONA
2067 select REGMAP_I2C
2068 depends on I2C
2069 help
2070 Support for the Cirrus Logic/Wolfson Microelectronics Arizona platform
2071 audio SoC core functionality controlled via I2C.
2072
2073config MFD_ARIZONA_SPI
2074 tristate "Cirrus Logic/Wolfson Microelectronics Arizona platform with SPI"
2075 select MFD_ARIZONA
2076 select REGMAP_SPI
2077 depends on SPI_MASTER
2078 help
2079 Support for the Cirrus Logic/Wolfson Microelectronics Arizona platform
2080 audio SoC core functionality controlled via SPI.
2081
2082config MFD_CS47L24
2083 bool "Cirrus Logic CS47L24 and WM1831"
2084 depends on MFD_ARIZONA
2085 help
2086 Support for Cirrus Logic CS47L24 and WM1831 low power audio SoC
2087
2088config MFD_WM5102
2089 bool "Wolfson Microelectronics WM5102"
2090 depends on MFD_ARIZONA
2091 help
2092 Support for Wolfson Microelectronics WM5102 low power audio SoC
2093
2094config MFD_WM5110
2095 bool "Wolfson Microelectronics WM5110 and WM8280/WM8281"
2096 depends on MFD_ARIZONA
2097 help
2098 Support for Wolfson Microelectronics WM5110 and WM8280/WM8281
2099 low power audio SoC
2100
2101config MFD_WM8997
2102 bool "Wolfson Microelectronics WM8997"
2103 depends on MFD_ARIZONA
2104 help
2105 Support for Wolfson Microelectronics WM8997 low power audio SoC
2106
2107config MFD_WM8998
2108 bool "Wolfson Microelectronics WM8998"
2109 depends on MFD_ARIZONA
2110 help
2111 Support for Wolfson Microelectronics WM8998 low power audio SoC
2112
2113config MFD_WM8400
2114 bool "Wolfson Microelectronics WM8400"
2115 select MFD_CORE
2116 depends on I2C=y
2117 select REGMAP_I2C
2118 help
2119 Support for the Wolfson Microelecronics WM8400 PMIC and audio
2120 CODEC. This driver provides common support for accessing
2121 the device, additional drivers must be enabled in order to use
2122 the functionality of the device.
2123
2124config MFD_WM831X
2125 bool
2126
2127config MFD_WM831X_I2C
2128 bool "Wolfson Microelectronics WM831x/2x PMICs with I2C"
2129 select MFD_CORE
2130 select MFD_WM831X
2131 select REGMAP_I2C
2132 select IRQ_DOMAIN
2133 depends on I2C=y
2134 help
2135 Support for the Wolfson Microelecronics WM831x and WM832x PMICs
2136 when controlled using I2C. This driver provides common support
2137 for accessing the device, additional drivers must be enabled in
2138 order to use the functionality of the device.
2139
2140config MFD_WM831X_SPI
2141 bool "Wolfson Microelectronics WM831x/2x PMICs with SPI"
2142 select MFD_CORE
2143 select MFD_WM831X
2144 select REGMAP_SPI
2145 select IRQ_DOMAIN
2146 depends on SPI_MASTER
2147 help
2148 Support for the Wolfson Microelecronics WM831x and WM832x PMICs
2149 when controlled using SPI. This driver provides common support
2150 for accessing the device, additional drivers must be enabled in
2151 order to use the functionality of the device.
2152
2153config MFD_WM8350
2154 bool
2155
2156config MFD_WM8350_I2C
2157 bool "Wolfson Microelectronics WM8350 with I2C"
2158 select MFD_WM8350
2159 select REGMAP_I2C
2160 depends on I2C=y
2161 help
2162 The WM8350 is an integrated audio and power management
2163 subsystem with watchdog and RTC functionality for embedded
2164 systems. This option enables core support for the WM8350 with
2165 I2C as the control interface. Additional options must be
2166 selected to enable support for the functionality of the chip.
2167
2168config MFD_WM8994
2169 tristate "Wolfson Microelectronics WM8994"
2170 select MFD_CORE
2171 select REGMAP_I2C
2172 select REGMAP_IRQ
2173 depends on I2C
2174 help
2175 The WM8994 is a highly integrated hi-fi CODEC designed for
2176 smartphone applications. As well as audio functionality it
2177 has on board GPIO and regulator functionality which is
2178 supported via the relevant subsystems. This driver provides
2179 core support for the WM8994, in order to use the actual
2180 functionality of the device other drivers must be enabled.
2181
2182config MFD_WM97xx
2183 tristate "Wolfson Microelectronics WM97xx"
2184 select MFD_CORE
2185 select REGMAP_AC97
2186 select AC97_BUS_COMPAT
2187 depends on AC97_BUS_NEW
2188 help
2189 The WM9705, WM9712 and WM9713 is a highly integrated hi-fi CODEC
2190 designed for smartphone applications. As well as audio functionality
2191 it has on board GPIO and a touchscreen functionality which is
2192 supported via the relevant subsystems. This driver provides core
2193 support for the WM97xx, in order to use the actual functionality of
2194 the device other drivers must be enabled.
2195
2196config MFD_STW481X
2197 tristate "Support for ST Microelectronics STw481x"
2198 depends on I2C && (ARCH_NOMADIK || COMPILE_TEST)
2199 select REGMAP_I2C
2200 select MFD_CORE
2201 help
2202 Select this option to enable the STw481x chip driver used
2203 in various ST Microelectronics and ST-Ericsson embedded
2204 Nomadik series.
2205
2206config MFD_ROHM_BD718XX
2207 tristate "ROHM BD71837 Power Management IC"
2208 depends on I2C=y
2209 depends on OF
2210 select REGMAP_I2C
2211 select REGMAP_IRQ
2212 select MFD_CORE
2213 help
2214 Select this option to get support for the ROHM BD71837
2215 Power Management ICs. BD71837 is designed to power processors like
2216 NXP i.MX8. It contains 8 BUCK outputs and 7 LDOs, voltage monitoring
2217 and emergency shut down as well as 32,768KHz clock output.
2218
2219config MFD_ROHM_BD71828
2220 tristate "ROHM BD71828 and BD71815 Power Management IC"
2221 depends on I2C=y
2222 depends on OF
2223 select REGMAP_I2C
2224 select REGMAP_IRQ
2225 select MFD_CORE
2226 help
2227 Select this option to get support for the ROHM BD71828 and BD71815
2228 Power Management ICs. BD71828GW and BD71815AGW are single-chip power
2229 management ICs mainly for battery-powered portable devices.
2230 The BD71828 integrates 7 buck converters and 7 LDOs. The BD71815
2231 has 5 bucks, 7 LDOs, and a boost for driving LEDs. Both ICs provide
2232 also a single-cell linear charger, a Coulomb counter, a real-time
2233 clock (RTC), GPIOs and a 32.768 kHz clock gate.
2234
2235config MFD_ROHM_BD957XMUF
2236 tristate "ROHM BD9576MUF and BD9573MUF Power Management ICs"
2237 depends on I2C=y
2238 depends on OF
2239 select REGMAP_I2C
2240 select REGMAP_IRQ
2241 select MFD_CORE
2242 help
2243 Select this option to get support for the ROHM BD9576MUF and
2244 BD9573MUF Power Management ICs. BD9576 and BD9573 are primarily
2245 designed to be used to power R-Car series processors.
2246
2247config MFD_ROHM_BD96801
2248 tristate "ROHM BD96801 Power Management IC"
2249 depends on I2C=y
2250 depends on OF
2251 select REGMAP_I2C
2252 select REGMAP_IRQ
2253 select MFD_CORE
2254 help
2255 Select this option to get support for the ROHM BD96801 Power
2256 Management IC. The ROHM BD96801 is a highly scalable Power Management
2257 IC for industrial and automotive use. The BD96801 can be used as a
2258 master PMIC in a chained PMIC solution with suitable companion PMICs.
2259
2260config MFD_STM32_LPTIMER
2261 tristate "Support for STM32 Low-Power Timer"
2262 depends on (ARCH_STM32 && OF) || COMPILE_TEST
2263 select MFD_CORE
2264 select REGMAP
2265 select REGMAP_MMIO
2266 help
2267 Select this option to enable STM32 Low-Power Timer driver
2268 used for PWM, IIO Trigger, IIO Encoder and Counter. Shared
2269 resources are also dealt with here.
2270
2271 To compile this driver as a module, choose M here: the
2272 module will be called stm32-lptimer.
2273
2274config MFD_STM32_TIMERS
2275 tristate "Support for STM32 Timers"
2276 depends on (ARCH_STM32 && OF) || COMPILE_TEST
2277 select MFD_CORE
2278 select REGMAP
2279 select REGMAP_MMIO
2280 help
2281 Select this option to enable STM32 timers driver used
2282 for PWM and IIO Timer. This driver allow to share the
2283 registers between the others drivers.
2284
2285config MFD_STPMIC1
2286 tristate "Support for STPMIC1 PMIC"
2287 depends on I2C=y && OF
2288 select REGMAP_I2C
2289 select REGMAP_IRQ
2290 select MFD_CORE
2291 help
2292 Support for ST Microelectronics STPMIC1 PMIC. STPMIC1 has power on
2293 key, watchdog and regulator functionalities which are supported via
2294 the relevant subsystems. This driver provides core support for the
2295 STPMIC1. In order to use the actual functionality of the device other
2296 drivers must be enabled.
2297
2298 To compile this driver as a module, choose M here: the
2299 module will be called stpmic1.
2300
2301config MFD_STMFX
2302 tristate "Support for STMicroelectronics Multi-Function eXpander (STMFX)"
2303 depends on I2C
2304 depends on OF
2305 select MFD_CORE
2306 select REGMAP_I2C
2307 help
2308 Support for the STMicroelectronics Multi-Function eXpander.
2309
2310 This driver provides common support for accessing the device,
2311 additional drivers must be enabled in order to use the functionality
2312 of the device.
2313
2314config MFD_WCD934X
2315 tristate "Support for WCD9340/WCD9341 Codec"
2316 depends on SLIMBUS
2317 select REGMAP
2318 select REGMAP_SLIMBUS
2319 select REGMAP_IRQ
2320 select MFD_CORE
2321 help
2322 Support for the Qualcomm WCD9340/WCD9341 Codec.
2323 This driver provides common support WCD934x audio codec and its
2324 associated Pin Controller, Soundwire Controller and Audio codec.
2325
2326config MFD_ATC260X
2327 tristate
2328 select MFD_CORE
2329 select REGMAP
2330 select REGMAP_IRQ
2331
2332config MFD_ATC260X_I2C
2333 tristate "Actions Semi ATC260x PMICs with I2C"
2334 select MFD_ATC260X
2335 select REGMAP_I2C
2336 depends on I2C
2337 help
2338 Support for the Actions Semi ATC260x PMICs controlled via I2C.
2339
2340 This driver provides common support for accessing the ATC2603C
2341 and ATC2609A chip variants, additional drivers must be enabled
2342 in order to use the functionality of the device.
2343
2344config MFD_KHADAS_MCU
2345 tristate "Support for Khadas System control Microcontroller"
2346 depends on I2C
2347 depends on ARCH_MESON || ARCH_ROCKCHIP || COMPILE_TEST
2348 select MFD_CORE
2349 select REGMAP_I2C
2350 help
2351 Support for the Khadas System control Microcontroller interface
2352 present on their VIM and Edge boards.
2353
2354 This Microcontroller is present on the Khadas VIM1, VIM2, VIM3 and
2355 Edge boards.
2356
2357 It provides multiple boot control features like password check,
2358 power-on options, power-off control and system FAN control on recent
2359 boards.
2360
2361 This driver provides common support for accessing the device,
2362 additional drivers must be enabled in order to use the functionality
2363 of the device.
2364
2365config MFD_ACER_A500_EC
2366 tristate "Support for Acer Iconia Tab A500 Embedded Controller"
2367 depends on I2C
2368 depends on (ARCH_TEGRA_2x_SOC && OF) || COMPILE_TEST
2369 select MFD_CORE
2370 select REGMAP
2371 help
2372 Support for Embedded Controller found on Acer Iconia Tab A500.
2373 The controller itself is ENE KB930, it is running firmware
2374 customized for the specific needs of the Acer A500 hardware.
2375
2376config MFD_QCOM_PM8008
2377 tristate "QCOM PM8008 Power Management IC"
2378 depends on I2C && OF
2379 select MFD_CORE
2380 select REGMAP_I2C
2381 select REGMAP_IRQ
2382 help
2383 Select this option to get support for the Qualcomm Technologies, Inc.
2384 PM8008 PMIC chip. PM8008 is a dedicated camera PMIC that integrates
2385 all the necessary power management, housekeeping, and interface
2386 support functions into a single IC. This driver provides common
2387 support for accessing the device by instantiating all the child nodes
2388 under it in the device tree. Additional drivers must be enabled in
2389 order to use the functionality of the device.
2390
2391menu "Multimedia Capabilities Port drivers"
2392 depends on ARCH_SA1100
2393
2394config MCP
2395 tristate
2396
2397# Interface drivers
2398config MCP_SA11X0
2399 tristate "Support SA11x0 MCP interface"
2400 depends on ARCH_SA1100
2401 select MCP
2402
2403# Chip drivers
2404config MCP_UCB1200
2405 tristate "Support for UCB1200 / UCB1300"
2406 depends on MCP_SA11X0
2407 select MCP
2408
2409config MCP_UCB1200_TS
2410 tristate "Touchscreen interface support"
2411 depends on MCP_UCB1200 && INPUT
2412
2413endmenu
2414
2415config MFD_VEXPRESS_SYSREG
2416 tristate "Versatile Express System Registers"
2417 depends on VEXPRESS_CONFIG && GPIOLIB
2418 default y
2419 select GPIO_GENERIC_PLATFORM
2420 select MFD_CORE
2421 select MFD_SYSCON
2422 help
2423 System Registers are the platform configuration block
2424 on the ARM Ltd. Versatile Express board.
2425
2426config RAVE_SP_CORE
2427 tristate "RAVE SP MCU core driver"
2428 depends on SERIAL_DEV_BUS
2429 select CRC_ITU_T
2430 help
2431 Select this to get support for the Supervisory Processor
2432 device found on several devices in RAVE line of hardware.
2433
2434config SGI_MFD_IOC3
2435 bool "SGI IOC3 core driver"
2436 depends on PCI && MIPS && 64BIT
2437 select MFD_CORE
2438 help
2439 This option enables basic support for the SGI IOC3-based
2440 controller cards. This option does not enable any specific
2441 functions on such a card, but provides necessary infrastructure
2442 for other drivers to utilize.
2443
2444 If you have an SGI Origin, Octane, or a PCI IOC3 card,
2445 then say Y. Otherwise say N.
2446
2447config MFD_INTEL_M10_BMC_CORE
2448 tristate
2449 select MFD_CORE
2450 select REGMAP
2451 default n
2452
2453config MFD_INTEL_M10_BMC_SPI
2454 tristate "Intel MAX 10 Board Management Controller with SPI"
2455 depends on SPI_MASTER
2456 select MFD_INTEL_M10_BMC_CORE
2457 select REGMAP_SPI_AVMM
2458 help
2459 Support for the Intel MAX 10 board management controller using the
2460 SPI interface.
2461
2462 This driver provides common support for accessing the device,
2463 additional drivers must be enabled in order to use the functionality
2464 of the device.
2465
2466config MFD_INTEL_M10_BMC_PMCI
2467 tristate "Intel MAX 10 Board Management Controller with PMCI"
2468 depends on FPGA_DFL
2469 select MFD_INTEL_M10_BMC_CORE
2470 select REGMAP
2471 help
2472 Support for the Intel MAX 10 board management controller via PMCI.
2473
2474 This driver provides common support for accessing the device,
2475 additional drivers must be enabled in order to use the functionality
2476 of the device.
2477
2478config MFD_LOONGSON_SE
2479 tristate "Loongson Security Engine chip controller driver"
2480 depends on LOONGARCH && ACPI
2481 select MFD_CORE
2482 help
2483 The Loongson Security Engine chip supports RNG, SM2, SM3 and
2484 SM4 accelerator engines. Each engine have its own DMA buffer
2485 provided by the controller. The kernel cannot directly send
2486 commands to the engine and must first send them to the controller,
2487 which will forward them to the corresponding engine.
2488
2489config MFD_LS2K_BMC_CORE
2490 bool "Loongson-2K Board Management Controller Support"
2491 depends on PCI && ACPI_GENERIC_GSI
2492 select MFD_CORE
2493 help
2494 Say yes here to add support for the Loongson-2K BMC which is a Board
2495 Management Controller connected to the PCIe bus. The device supports
2496 multiple sub-devices like display and IPMI. This driver provides common
2497 support for accessing the devices.
2498
2499 The display is enabled by default in the driver, while the IPMI interface
2500 is enabled independently through the IPMI_LS2K option in the IPMI section.
2501
2502config MFD_QNAP_MCU
2503 tristate "QNAP microcontroller unit core driver"
2504 depends on SERIAL_DEV_BUS
2505 select MFD_CORE
2506 help
2507 Select this to get support for the QNAP MCU device found in
2508 several devices of QNAP network attached storage products that
2509 implements additional functionality for the device, like fan
2510 and LED control.
2511
2512 This driver implements the base serial protocol to talk to the
2513 device and provides functions for the other parts to hook into.
2514
2515config MFD_RSMU_I2C
2516 tristate "Renesas Synchronization Management Unit with I2C"
2517 depends on I2C && OF
2518 select MFD_CORE
2519 select REGMAP_I2C
2520 help
2521 Support for the Renesas Synchronization Management Unit, such as
2522 Clockmatrix and 82P33XXX series. This option supports I2C as
2523 the control interface.
2524
2525 This driver provides common support for accessing the device.
2526 Additional drivers must be enabled in order to use the functionality
2527 of the device.
2528
2529config MFD_RSMU_SPI
2530 tristate "Renesas Synchronization Management Unit with SPI"
2531 depends on SPI && OF
2532 select MFD_CORE
2533 select REGMAP_SPI
2534 help
2535 Support for the Renesas Synchronization Management Unit, such as
2536 Clockmatrix and 82P33XXX series. This option supports SPI as
2537 the control interface.
2538
2539 This driver provides common support for accessing the device.
2540 Additional drivers must be enabled in order to use the functionality
2541 of the device.
2542
2543config MFD_UPBOARD_FPGA
2544 tristate "Support for the AAeon UP board FPGA"
2545 depends on (X86 && ACPI)
2546 select MFD_CORE
2547 help
2548 Select this option to enable the AAEON UP and UP^2 onboard FPGA.
2549 This is the core driver of this FPGA, which has a pin controller and a
2550 LED controller.
2551
2552 To compile this driver as a module, choose M here: the module will be
2553 called upboard-fpga.
2554
2555config MFD_MAX7360
2556 tristate "Maxim MAX7360 I2C IO Expander"
2557 depends on I2C
2558 select MFD_CORE
2559 select REGMAP_I2C
2560 select REGMAP_IRQ
2561 help
2562 Say yes here to add support for Maxim MAX7360 device, embedding
2563 keypad, rotary encoder, PWM and GPIO features.
2564
2565 This driver provides common support for accessing the device;
2566 additional drivers must be enabled in order to use the functionality
2567 of the device.
2568
2569endmenu
2570endif