2 # Multifunction miscellaneous devices
6 menu "Multifunction device drivers"
14 tristate "AMD CS5535 and CS5536 southbridge core functions"
16 depends on PCI && (X86_32 || (X86 && COMPILE_TEST))
18 This is the core driver for CS5535/CS5536 MFD functions. This is
19 necessary for using the board's GPIO and MFGPT functionality.
21 config MFD_ALTERA_A10SR
22 bool "Altera Arria10 DevKit System Resource chip"
23 depends on ARCH_SOCFPGA && SPI_MASTER=y && OF
27 Support for the Altera Arria10 DevKit MAX5 System Resource chip
28 using the SPI interface. This driver provides common support for
29 accessing the external gpio extender (LEDs & buttons) and
30 power supply alarms (hwmon).
33 tristate "Active-semi ACT8945A"
38 Support for the ACT8945A PMIC from Active-semi. This device
39 features three step-down DC/DC converters and four low-dropout
40 linear regulators, along with a complete ActivePath battery
43 config MFD_SUN4I_GPADC
44 tristate "Allwinner sunxi platforms' GPADC MFD driver"
48 depends on ARCH_SUNXI || COMPILE_TEST
49 depends on !TOUCHSCREEN_SUN4I
51 Select this to get support for Allwinner SoCs (A10, A13 and A31) ADC.
52 This driver will only map the hardware interrupt and registers, you
53 have to select individual drivers based on this MFD to be able to use
54 the ADC or the thermal sensor. This will try to probe the ADC driver
55 sun4i-gpadc-iio and the hwmon driver iio_hwmon.
57 To compile this driver as a module, choose M here: the module will be
67 Support for the AS3711 PMIC from AMS
70 tristate "ams AS3722 Power Management IC"
74 depends on I2C=y && OF
76 The ams AS3722 is a compact system PMU suitable for mobile phones,
77 tablets etc. It has 4 DC/DC step-down regulators, 3 DC/DC step-down
78 controllers, 11 LDOs, RTC, automatic battery, temperature and
79 over current monitoring, GPIOs, ADC and a watchdog.
82 bool "Analog Devices ADP5520/01 MFD PMIC Core Support"
85 Say yes here to add support for Analog Devices AD5520 and ADP5501,
86 Multifunction Power Management IC. This includes
87 the I2C driver and the core APIs _only_, you have to select
88 individual components like LCD backlight, LEDs, GPIOs and Kepad
89 under the corresponding menus.
91 config MFD_AAT2870_CORE
92 bool "AnalogicTech AAT2870"
95 depends on GPIOLIB || COMPILE_TEST
97 If you say yes here you get support for the AAT2870.
98 This driver provides common support for accessing the device,
99 additional drivers must be enabled in order to use the
100 functionality of the device.
102 config MFD_ATMEL_FLEXCOM
103 tristate "Atmel Flexcom (Flexible Serial Communication Unit)"
107 Select this to get support for Atmel Flexcom. This is a wrapper
108 which embeds a SPI controller, a I2C controller and a USART. Only
109 one function can be used at a time. The choice is done at boot time
110 by the probe function of this MFD driver according to a device tree
113 config MFD_ATMEL_HLCDC
114 tristate "Atmel HLCDC (High-end LCD Controller)"
119 If you say yes here you get support for the HLCDC block.
120 This driver provides common support for accessing the device,
121 additional drivers must be enabled in order to use the
122 functionality of the device.
129 tristate "Broadcom BCM590xx PMUs"
134 Support for the BCM590xx PMUs from Broadcom
137 tristate "ROHM BD9571MWV PMIC"
143 Support for the ROHM BD9571MWV PMIC, which contains single
144 voltage regulator, voltage sampling units, GPIO block and
147 This driver can also be built as a module. If so, the module
148 will be called bd9571mwv.
151 tristate "X-Powers AC100"
155 If you say Y here you get support for the X-Powers AC100 audio codec
157 This driver include only the core APIs. You have to select individual
158 components like codecs or RTC under the corresponding menus.
165 config MFD_AXP20X_I2C
166 tristate "X-Powers AXP series PMICs with I2C"
171 If you say Y here you get support for the X-Powers AXP series power
172 management ICs (PMICs) controlled with I2C.
173 This driver include only the core APIs. You have to select individual
174 components like regulators or the PEK (Power Enable Key) under the
177 Note on x86 this provides an ACPI OpRegion, so this must be 'y'
178 (builtin) and not a module, as the OpRegion must be available as
179 soon as possible. For the same reason the I2C bus driver options
180 I2C_DESIGNWARE_PLATFORM and I2C_DESIGNWARE_BAYTRAIL must be 'y' too.
182 config MFD_AXP20X_RSB
183 tristate "X-Powers AXP series PMICs with RSB"
187 If you say Y here you get support for the X-Powers AXP series power
188 management ICs (PMICs) controlled with RSB.
189 This driver include only the core APIs. You have to select individual
190 components like regulators or the PEK (Power Enable Key) under the
194 tristate "ChromeOS Embedded Controller"
196 select CHROME_PLATFORMS
198 depends on X86 || ARM || ARM64 || COMPILE_TEST
200 If you say Y here you get support for the ChromeOS Embedded
201 Controller (EC) providing keyboard, battery and power services.
202 You also need to enable the driver for the bus you are using. The
203 protocol for talking to the EC is defined by the bus driver.
205 config MFD_CROS_EC_I2C
206 tristate "ChromeOS Embedded Controller (I2C)"
207 depends on MFD_CROS_EC && I2C
210 If you say Y here, you get support for talking to the ChromeOS
211 EC through an I2C bus. This uses a simple byte-level protocol with
212 a checksum. Failing accesses will be retried three times to
215 config MFD_CROS_EC_SPI
216 tristate "ChromeOS Embedded Controller (SPI)"
217 depends on MFD_CROS_EC && SPI
220 If you say Y here, you get support for talking to the ChromeOS EC
221 through a SPI bus, using a byte-level protocol. Since the EC's
222 response time cannot be guaranteed, we support ignoring
223 'pre-amble' bytes before the response actually starts.
225 config MFD_CROS_EC_CHARDEV
226 tristate "Chrome OS Embedded Controller userspace device interface"
227 depends on MFD_CROS_EC
230 This driver adds support to talk with the ChromeOS EC from userspace.
232 If you have a supported Chromebook, choose Y or M here.
233 The module will be called cros_ec_dev.
237 depends on GPIOLIB && ARM
240 This driver supports the ASIC3 multifunction chip found on many
241 PDAs (mainly iPAQ and HTC based ones)
244 bool "Dialog Semiconductor DA9030/DA9034 PMIC Support"
247 Say yes here to add support for Dialog Semiconductor DA9030 (a.k.a
248 ARAVA) and DA9034 (a.k.a MICCO), these are Power Management IC
249 usually found on PXA processors-based platforms. This includes
250 the I2C driver and the core APIs _only_, you have to select
251 individual components like LCD backlight, voltage regulators,
252 LEDs and battery-charger under the corresponding menus.
258 config MFD_DA9052_SPI
259 bool "Dialog Semiconductor DA9052/53 PMIC variants with SPI"
263 depends on SPI_MASTER=y
265 Support for the Dialog Semiconductor DA9052 PMIC
266 when controlled using SPI. This driver provides common support
267 for accessing the device, additional drivers must be enabled in
268 order to use the functionality of the device.
270 config MFD_DA9052_I2C
271 bool "Dialog Semiconductor DA9052/53 PMIC variants with I2C"
277 Support for the Dialog Semiconductor DA9052 PMIC
278 when controlled using I2C. This driver provides common support
279 for accessing the device, additional drivers must be enabled in
280 order to use the functionality of the device.
283 bool "Dialog Semiconductor DA9055 PMIC Support"
289 Say yes here for support of Dialog Semiconductor DA9055. This is
290 a Power Management IC. This driver provides common support for
291 accessing the device as well as the I2C interface to the chip itself.
292 Additional drivers must be enabled in order to use the functionality
295 This driver can be built as a module. If built as a module it will be
299 tristate "Dialog Semiconductor DA9062/61 PMIC Support"
305 Say yes here for support for the Dialog Semiconductor DA9061 and
307 This includes the I2C driver and core APIs.
308 Additional drivers must be enabled in order to use the functionality
312 tristate "Dialog Semiconductor DA9063 PMIC Support"
318 Say yes here for support for the Dialog Semiconductor DA9063 PMIC.
319 This includes the I2C driver and core APIs.
320 Additional drivers must be enabled in order to use the functionality
324 tristate "Dialog Semiconductor DA9150 Charger Fuel-Gauge chip"
330 This adds support for the DA9150 integrated charger and fuel-gauge
331 chip. This driver provides common support for accessing the device.
332 Additional drivers must be enabled in order to use the specific
333 features of the device.
336 tristate "Diolan DLN2 support"
340 This adds support for Diolan USB-I2C/SPI/GPIO Master Adapter
341 DLN-2. Additional drivers such as I2C_DLN2, GPIO_DLN2,
342 etc. must be enabled in order to use the functionality of
345 config MFD_EXYNOS_LPASS
346 tristate "Samsung Exynos SoC Low Power Audio Subsystem"
347 depends on ARCH_EXYNOS || COMPILE_TEST
351 Select this option to enable support for Samsung Exynos Low Power
356 depends on (SPI_MASTER || I2C)
360 Enable support for the Freescale MC13783 and MC13892 PMICs.
361 This driver provides common support for accessing the device,
362 additional drivers must be enabled in order to use the
363 functionality of the device.
365 config MFD_MC13XXX_SPI
366 tristate "Freescale MC13783 and MC13892 SPI interface"
367 depends on SPI_MASTER
371 Select this if your MC13xxx is connected via an SPI bus.
373 config MFD_MC13XXX_I2C
374 tristate "Freescale MC13892 I2C interface"
379 Select this if your MC13xxx is connected via an I2C bus.
382 tristate "Freescale i.MX23/i.MX28 LRADC"
383 depends on ARCH_MXS || COMPILE_TEST
387 Say yes here to build support for the Low Resolution
388 Analog-to-Digital Converter (LRADC) found on the i.MX23 and i.MX28
389 processors. This driver provides common support for accessing the
390 device, additional drivers must be enabled in order to use the
391 functionality of the device:
392 mxs-lradc-adc for ADC readings
393 mxs-lradc-ts for touchscreen support
395 This driver can also be built as a module. If so, the module will be
398 config MFD_MX25_TSADC
399 tristate "Freescale i.MX25 integrated Touchscreen and ADC unit"
401 depends on (SOC_IMX25 && OF) || COMPILE_TEST
403 Enable support for the integrated Touchscreen and ADC unit of the
404 i.MX25 processors. They consist of a conversion queue for general
405 purpose ADC and a queue for Touchscreens.
407 config MFD_HI6421_PMIC
408 tristate "HiSilicon Hi6421 PMU/Codec IC"
413 Add support for HiSilicon Hi6421 PMIC. Hi6421 includes multi-
414 functions, such as regulators, RTC, codec, Coulomb counter, etc.
415 This driver includes core APIs _only_. You have to select
416 individul components like voltage regulators under corresponding
417 menus in order to enable them.
418 We communicate with the Hi6421 via memory-mapped I/O.
420 config MFD_HI655X_PMIC
421 tristate "HiSilicon Hi655X series PMU/Codec IC"
422 depends on ARCH_HISI || COMPILE_TEST
428 Select this option to enable Hisilicon hi655x series pmic driver.
431 tristate "HTC PASIC3 LED/DS1WM chip support"
434 This core driver provides register access for the LED/DS1WM
435 chips labeled "AIC2" and "AIC3", found on HTC Blueangel and
436 HTC Magician devices, respectively. Actual functionality is
437 handled by the leds-pasic3 and ds1wm drivers.
440 bool "HTC I2C PLD chip support"
441 depends on I2C=y && GPIOLIB
443 If you say yes here you get support for the supposed CPLD
444 found on omap850 HTC devices like the HTC Wizard and HTC Herald.
445 This device provides input and output GPIOs through an I2C
446 interface to one or more sub-chips.
448 config MFD_INTEL_QUARK_I2C_GPIO
449 tristate "Intel Quark MFD I2C GPIO"
452 depends on COMMON_CLK
455 This MFD provides support for I2C and GPIO that exist only
456 in a single PCI device. It splits the 2 IO devices to
457 their respective IO driver.
458 The GPIO exports a total amount of 8 interrupt-capable GPIOs.
461 tristate "Intel ICH LPC"
465 The LPC bridge function of the Intel ICH provides support for
466 many functional units. This driver provides needed support for
467 other drivers to control these functions, currently GPIO and
471 tristate "Intel SCH LPC"
475 LPC bridge function of the Intel SCH provides support for
476 System Management Bus and General Purpose I/O.
478 config INTEL_SOC_PMIC
479 bool "Support for Crystal Cove PMIC"
480 depends on ACPI && HAS_IOMEM && I2C=y && GPIOLIB && COMMON_CLK
481 depends on X86 || COMPILE_TEST
485 select I2C_DESIGNWARE_PLATFORM
487 Select this option to enable support for Crystal Cove PMIC
488 on some Intel SoC systems. The PMIC provides ADC, GPIO,
489 thermal, charger and related power management functions
492 This option is a bool as it provides an ACPI OpRegion which must be
493 available before any devices using it are probed. This option also
494 causes the designware-i2c driver to be builtin for the same reason.
496 config INTEL_SOC_PMIC_BXTWC
497 tristate "Support for Intel Broxton Whiskey Cove PMIC"
498 depends on INTEL_PMC_IPC
502 Select this option to enable support for Whiskey Cove PMIC
503 on Intel Broxton systems. The PMIC provides ADC, GPIO,
504 thermal, charger and related power management functions
507 config INTEL_SOC_PMIC_CHTWC
508 bool "Support for Intel Cherry Trail Whiskey Cove PMIC"
509 depends on ACPI && HAS_IOMEM && I2C=y && COMMON_CLK
510 depends on X86 || COMPILE_TEST
514 select I2C_DESIGNWARE_PLATFORM
516 Select this option to enable support for the Intel Cherry Trail
517 Whiskey Cove PMIC found on some Intel Cherry Trail systems.
519 This option is a bool as it provides an ACPI OpRegion which must be
520 available before any devices using it are probed. This option also
521 causes the designware-i2c driver to be builtin for the same reason.
523 config INTEL_SOC_PMIC_CHTDC_TI
524 tristate "Support for Intel Cherry Trail Dollar Cove TI PMIC"
533 Select this option for supporting Dollar Cove (TI version) PMIC
534 device that is found on some Intel Cherry Trail systems.
536 config MFD_INTEL_LPSS
541 config MFD_INTEL_LPSS_ACPI
542 tristate "Intel Low Power Subsystem support in ACPI mode"
543 select MFD_INTEL_LPSS
544 depends on X86 && ACPI
546 This driver supports Intel Low Power Subsystem (LPSS) devices such as
547 I2C, SPI and HS-UART starting from Intel Sunrisepoint (Intel Skylake
550 config MFD_INTEL_LPSS_PCI
551 tristate "Intel Low Power Subsystem support in PCI mode"
552 select MFD_INTEL_LPSS
553 depends on X86 && PCI
555 This driver supports Intel Low Power Subsystem (LPSS) devices such as
556 I2C, SPI and HS-UART starting from Intel Sunrisepoint (Intel Skylake
559 config MFD_INTEL_MSIC
561 depends on INTEL_SCU_IPC
564 Select this option to enable access to Intel MSIC (Avatele
565 Passage) chip. This chip embeds audio, battery, GPIO, etc.
566 devices used in Intel Medfield platforms.
568 config MFD_IPAQ_MICRO
569 bool "Atmel Micro ASIC (iPAQ h3100/h3600/h3700) Support"
570 depends on SA1100_H3100 || SA1100_H3600
573 Select this to get support for the Microcontroller found in
574 the Compaq iPAQ handheld computers. This is an Atmel
575 AT90LS8535 microcontroller flashed with a special iPAQ
576 firmware using the custom protocol implemented in this driver.
578 config MFD_JANZ_CMODIO
579 tristate "Janz CMOD-IO PCI MODULbus Carrier Board"
583 This is the core driver for the Janz CMOD-IO PCI MODULbus
584 carrier board. This device is a PCI to MODULbus bridge which may
585 host many different types of MODULbus daughterboards, including
586 CAN and GPIO controllers.
588 config MFD_JZ4740_ADC
589 bool "Janz JZ4740 ADC core"
591 select GENERIC_IRQ_CHIP
592 depends on MACH_JZ4740
594 Say yes here if you want support for the ADC unit in the JZ4740 SoC.
595 This driver is necessary for jz4740-battery and jz4740-hwmon driver.
598 tristate "Kontron module PLD device"
601 This is the core driver for the PLD (Programmable Logic Device) found
602 on some Kontron ETX and COMexpress (ETXexpress) modules. The PLD
603 device may provide functions like watchdog, GPIO, UART and I2C bus.
605 The following modules are supported:
612 * COMe-bPC2 (ETXexpress-PC)
613 * COMe-bSC# (ETXexpress-SC T#)
619 * COMe-cDC2 (microETXexpress-DC)
622 * COMe-cPC2 (microETXexpress-PC)
627 * COMe-mTT10 (nanoETXexpress-TT)
630 This driver can also be built as a module. If so, the module
631 will be called kempld-core.
634 tristate "Marvell 88PM800"
640 This supports for Marvell 88PM800 Power Management IC.
641 This includes the I2C driver and the core APIs _only_, you have to
642 select individual components like voltage regulators, RTC and
643 battery-charger under the corresponding menus.
646 tristate "Marvell 88PM805"
652 This supports for Marvell 88PM805 Power Management IC. This includes
653 the I2C driver and the core APIs _only_, you have to select individual
654 components like codec device, headset/Mic device under the
658 bool "Marvell 88PM8606/88PM8607"
663 This supports for Marvell 88PM8606/88PM8607 Power Management IC.
664 This includes the I2C driver and the core APIs _only_, you have to
665 select individual components like voltage regulators, RTC and
666 battery-charger under the corresponding menus.
669 tristate "Maxim Semiconductor MAX14577/77836 MUIC + Charger Support"
676 Say yes here to add support for Maxim Semiconductor MAX14577 and
677 MAX77836 Micro-USB ICs with battery charger.
678 This driver provides common support for accessing the device;
679 additional drivers must be enabled in order to use the functionality
683 bool "Maxim Semiconductor MAX77620 and MAX20024 PMIC Support"
685 depends on OF || COMPILE_TEST
691 Say yes here to add support for Maxim Semiconductor MAX77620 and
692 MAX20024 which are Power Management IC with General purpose pins,
693 RTC, regulators, clock generator, watchdog etc. This driver
694 provides common support for accessing the device; additional drivers
695 must be enabled in order to use the functionality of the device.
698 tristate "Maxim Semiconductor MAX77686/802 PMIC Support"
700 depends on OF || COMPILE_TEST
706 Say yes here to add support for Maxim Semiconductor MAX77686 and
707 MAX77802 which are Power Management IC with an RTC on chip.
708 This driver provides common support for accessing the device;
709 additional drivers must be enabled in order to use the functionality
713 tristate "Maxim Semiconductor MAX77693 PMIC Support"
719 Say yes here to add support for Maxim Semiconductor MAX77693.
720 This is a companion Power Management IC with Flash, Haptic, Charger,
721 and MUIC(Micro USB Interface Controller) controls on chip.
722 This driver provides common support for accessing the device;
723 additional drivers must be enabled in order to use the functionality
727 bool "Maxim Semiconductor MAX77843 PMIC Support"
733 Say yes here to add support for Maxim Semiconductor MAX77843.
734 This is companion Power Management IC with LEDs, Haptic, Charger,
735 Fuel Gauge, MUIC(Micro USB Interface Controller) controls on chip.
736 This driver provides common support for accessing the device;
737 additional drivers must be enabled in order to use the functionality
741 tristate "Maxim Semiconductor MAX8907 PMIC Support"
747 Say yes here to add support for Maxim Semiconductor MAX8907. This is
748 a Power Management IC. This driver provides common support for
749 accessing the device; additional drivers must be enabled in order
750 to use the functionality of the device.
753 bool "Maxim Semiconductor MAX8925 PMIC Support"
757 Say yes here to add support for Maxim Semiconductor MAX8925. This is
758 a Power Management IC. This driver provides common support for
759 accessing the device, additional drivers must be enabled in order
760 to use the functionality of the device.
763 bool "Maxim Semiconductor MAX8997/8966 PMIC Support"
768 Say yes here to add support for Maxim Semiconductor MAX8997/8966.
769 This is a Power Management IC with RTC, Flash, Fuel Gauge, Haptic,
770 MUIC controls on chip.
771 This driver provides common support for accessing the device;
772 additional drivers must be enabled in order to use the functionality
776 bool "Maxim Semiconductor MAX8998/National LP3974 PMIC Support"
781 Say yes here to add support for Maxim Semiconductor MAX8998 and
782 National Semiconductor LP3974. This is a Power Management IC.
783 This driver provides common support for accessing the device,
784 additional drivers must be enabled in order to use the functionality
788 tristate "MediaTek MT6397 PMIC Support"
792 Say yes here to add support for MediaTek MT6397 PMIC. This is
793 a Power Management IC. This driver provides common support for
794 accessing the device; additional drivers must be enabled in order
795 to use the functionality of the device.
798 tristate "MEN 14F021P00 Board Management Controller Support"
802 Say yes here to add support for the MEN 14F021P00 BMC
803 which is a Board Management Controller connected to the I2C bus.
804 The device supports multiple sub-devices like LED, HWMON and WDT.
805 This driver provides common support for accessing the devices;
806 additional drivers must be enabled in order to use the
807 functionality of the BMC device.
809 This driver can also be built as a module. If so the module
810 will be called menf21bmc.
813 bool "Motorola EZXPCAP Support"
814 depends on SPI_MASTER
816 This enables the PCAP ASIC present on EZX Phones. This is
817 needed for MMC, TouchScreen, Sound, USB, etc..
820 tristate "Support for Motorola CPCAP"
822 depends on OF || COMPILE_TEST
826 Say yes here if you want to include driver for CPCAP.
827 It is used on many Motorola phones and tablets as a PMIC.
828 At least Motorola Droid 4 is known to use CPCAP.
830 config MFD_VIPERBOARD
831 tristate "Nano River Technologies Viperboard"
836 Say yes here if you want support for Nano River Technologies
838 There are mfd cell drivers available for i2c master, adc and
839 both gpios found on the board. The spi part does not yet
841 You need to select the mfd cell drivers separately.
842 The drivers do not support all features the board exposes.
845 tristate "Nokia Retu and Tahvo multi-function device"
850 Retu and Tahvo are a multi-function devices found on Nokia
851 Internet Tablets (770, N800 and N810).
854 tristate "NXP PCF50633"
858 Say yes here if you have NXP PCF50633 chip on your board.
859 This core driver provides register access and IRQ handling
860 facilities, and registers devices for the various functions
861 so that function-specific drivers can bind to them.
864 tristate "NXP PCF50633 ADC"
865 depends on MFD_PCF50633
867 Say yes here if you want to include support for ADC in the
871 tristate "NXP PCF50633 GPIO"
872 depends on MFD_PCF50633
874 Say yes here if you want to include support GPIO for pins on
878 tristate "Philips UCB1400 Core driver"
882 This enables support for the Philips UCB1400 core functions.
883 The UCB1400 is an AC97 audio codec.
885 To compile this driver as a module, choose M here: the
886 module will be called ucb1400_core.
889 tristate "Qualcomm PM8xxx PMIC chips driver"
890 depends on (ARM || HEXAGON || COMPILE_TEST)
895 If you say yes to this option, support will be included for the
896 built-in PM8xxx PMIC chips.
898 This is required if your board has a PM8xxx and uses its features,
899 such as: MPPs, GPIOs, regulators, interrupts, and PWM.
901 Say M here if you want to include support for PM8xxx chips as a
902 module. This will build a module called "pm8xxx-core".
905 tristate "Qualcomm Resource Power Manager (RPM)"
906 depends on ARCH_QCOM && OF
908 If you say yes to this option, support will be included for the
909 Resource Power Manager system found in the Qualcomm 8660, 8960 and
912 This is required to access many regulators, clocks and bus
913 frequencies controlled by the RPM on these devices.
915 Say M here if you want to include support for the Qualcomm RPM as a
916 module. This will build a module called "qcom_rpm".
919 tristate "Qualcomm SPMI PMICs"
920 depends on ARCH_QCOM || COMPILE_TEST
925 This enables support for the Qualcomm SPMI PMICs.
926 These PMICs are currently used with the Snapdragon 800 series of
927 SoCs. Note, that this will only be useful paired with descriptions
928 of the independent functions as children nodes in the device tree.
930 Say M here if you want to include support for the SPMI PMIC
931 series as a module. The module will be called "qcom-spmi-pmic".
934 tristate "RDC R-321x southbridge"
938 Say yes here if you want to have support for the RDC R-321x SoC
939 southbridge which provides access to GPIOs and Watchdog using the
940 southbridge PCI device configuration space.
943 tristate "Richtek RT5033 Power Management IC"
949 This driver provides for the Richtek RT5033 Power Management IC,
950 which includes the I2C driver and the Core APIs. This driver provides
951 common support for accessing the device. The device supports multiple
952 sub-devices like charger, fuel gauge, flash LED, current source,
956 bool "Ricoh RC5T583 Power Management system device"
961 Select this option to get support for the RICOH583 Power
962 Management system device.
963 This driver provides common support for accessing the device
964 through i2c interface. The device supports multiple sub-devices
965 like GPIO, interrupts, RTC, LDO and DCDC regulators, onkey.
966 Additional drivers must be enabled in order to use the
967 different functionality of the device.
970 tristate "Rockchip RK805/RK808/RK818 Power Management Chip"
976 If you say yes here you get support for the RK805, RK808 and RK818
977 Power Management chips.
978 This driver provides common support for accessing the device
979 through I2C interface. The device supports multiple sub-devices
980 including interrupts, RTC, LDO & DCDC regulators, and onkey.
983 tristate "Ricoh RN5T567/618 PMIC"
989 Say yes here to add support for the Ricoh RN5T567,
990 RN5T618, RC5T619 PMIC.
991 This driver provides common support for accessing the device,
992 additional drivers must be enabled in order to use the
993 functionality of the device.
996 bool "SAMSUNG Electronics PMIC Series Support"
1002 Support for the Samsung Electronics MFD series.
1003 This driver provides common support for accessing the device,
1004 additional drivers must be enabled in order to use the functionality
1007 config MFD_SI476X_CORE
1008 tristate "Silicon Laboratories 4761/64/68 AM/FM radio."
1013 This is the core driver for the SI476x series of AM/FM
1014 radio. This MFD driver connects the radio-si476x V4L2 module
1015 and the si476x audio codec.
1017 To compile this driver as a module, choose M here: the
1018 module will be called si476x-core.
1021 tristate "Silicon Motion SM501"
1023 This is the core driver for the Silicon Motion SM501 multimedia
1024 companion chip. This device is a multifunction device which may
1025 provide numerous interfaces including USB host controller, USB gadget,
1026 asynchronous serial ports, audio functions, and a dual display video
1027 interface. The device may be connected by PCI or local bus with
1028 varying functions enabled.
1030 config MFD_SM501_GPIO
1031 bool "Export GPIO via GPIO layer"
1032 depends on MFD_SM501 && GPIOLIB
1034 This option uses the gpio library layer to export the 64 GPIO
1035 lines on the SM501. The platform data is used to supply the
1036 base number for the first GPIO line to register.
1039 tristate "Skyworks Solutions SKY81452"
1044 This is the core driver for the Skyworks SKY81452 backlight and
1045 voltage regulator device.
1047 This driver can also be built as a module. If so, the module
1048 will be called sky81452.
1051 bool "SMSC ECE1099 series chips"
1056 If you say yes here you get support for the
1057 ece1099 chips from SMSC.
1059 To compile this driver as a module, choose M here: the
1060 module will be called smsc.
1062 config MFD_SC27XX_PMIC
1063 tristate "Spreadtrum SC27xx PMICs"
1064 depends on ARCH_SPRD || COMPILE_TEST
1065 depends on SPI_MASTER
1070 This enables support for the Spreadtrum SC27xx PMICs with SPI
1071 interface. The SC27xx series PMICs integrate power management,
1072 audio codec, battery management and user interface support
1073 function (such as RTC, Typec, indicator and so on) in a single chip.
1075 This driver provides common support for accessing the SC27xx PMICs,
1076 and it also adds the irq_chip parts for handling the PMIC chip events.
1079 bool "ST-Ericsson ABX500 Mixed Signal Circuit register functions"
1080 default y if ARCH_U300 || ARCH_U8500 || COMPILE_TEST
1082 Say yes here if you have the ABX500 Mixed Signal IC family
1083 chips. This core driver expose register access functions.
1084 Functionality specific drivers using these functions can
1085 remain unchanged when IC changes. Binding of the functions to
1086 actual register access is done by the IC core driver.
1089 bool "ST-Ericsson AB3100 Mixed Signal Circuit core functions"
1090 depends on I2C=y && ABX500_CORE
1092 default y if ARCH_U300
1094 Select this to enable the AB3100 Mixed Signal IC core
1095 functionality. This connects to a AB3100 on the I2C bus
1096 and expose a number of symbols needed for dependent devices
1097 to read and write registers and subscribe to events from
1098 this multi-functional IC. This is needed to use other features
1099 of the AB3100 such as battery-backed RTC, charging control,
1100 LEDs, vibrator, system power and temperature, power management
1104 tristate "ST-Ericsson AB3100 OTP functions"
1105 depends on AB3100_CORE
1106 default y if AB3100_CORE
1108 Select this to enable the AB3100 Mixed Signal IC OTP (one-time
1109 programmable memory) support. This exposes a sysfs file to read
1113 bool "ST-Ericsson AB8500 Mixed Signal Power Management chip"
1114 depends on ABX500_CORE && MFD_DB8500_PRCMU
1119 Select this option to enable access to AB8500 power management
1120 chip. This connects to U8500 either on the SSP/SPI bus (deprecated
1121 since hardware version v1.0) or the I2C bus via PRCMU. It also adds
1122 the irq_chip parts for handling the Mixed Signal chip events.
1123 This chip embeds various other multimedia funtionalities as well.
1126 bool "Enable debug info via debugfs"
1127 depends on AB8500_GPADC && DEBUG_FS
1128 default y if DEBUG_FS
1130 Select this option if you want debug information using the debug
1131 filesystem, debugfs.
1134 bool "ST-Ericsson AB8500 GPADC driver"
1135 depends on AB8500_CORE && REGULATOR_AB8500
1138 AB8500 GPADC driver used to convert Acc and battery/ac/usb voltage
1140 config MFD_DB8500_PRCMU
1141 bool "ST-Ericsson DB8500 Power Reset Control Management Unit"
1142 depends on UX500_SOC_DB8500
1145 Select this option to enable support for the DB8500 Power Reset
1146 and Control Management Unit. This is basically an autonomous
1147 system controller running an XP70 microprocessor, which is accessed
1148 through a register map.
1151 bool "STMicroelectronics STMPE"
1152 depends on (I2C=y || SPI_MASTER=y)
1156 Support for the STMPE family of I/O Expanders from
1159 Currently supported devices are:
1161 STMPE811: GPIO, Touchscreen
1162 STMPE1601: GPIO, Keypad
1163 STMPE1801: GPIO, Keypad
1164 STMPE2401: GPIO, Keypad
1165 STMPE2403: GPIO, Keypad
1167 This driver provides common support for accessing the device,
1168 additional drivers must be enabled in order to use the functionality
1169 of the device. Currently available sub drivers are:
1172 Keypad: stmpe-keypad
1173 Touchscreen: stmpe-ts
1175 menu "STMicroelectronics STMPE Interface Drivers"
1176 depends on MFD_STMPE
1179 bool "STMicroelectronics STMPE I2C Interface"
1183 This is used to enable I2C interface of STMPE
1186 bool "STMicroelectronics STMPE SPI Interface"
1187 depends on SPI_MASTER
1189 This is used to enable SPI interface of STMPE
1193 bool "STMicroelectronics STA2X11"
1198 config MFD_SUN6I_PRCM
1199 bool "Allwinner A31 PRCM controller"
1200 depends on ARCH_SUNXI
1203 Support for the PRCM (Power/Reset/Clock Management) unit available
1207 bool "System Controller Register R/W Based on Regmap"
1210 Select this option to enable accessing system control registers
1213 config MFD_DAVINCI_VOICECODEC
1218 config MFD_TI_AM335X_TSCADC
1219 tristate "TI ADC / Touch Screen chip support"
1224 If you say yes here you get support for Texas Instruments series
1225 of Touch Screen /ADC chips.
1226 To compile this driver as a module, choose M here: the
1227 module will be called ti_am335x_tscadc.
1229 config MFD_DM355EVM_MSP
1230 bool "TI DaVinci DM355 EVM microcontroller"
1231 depends on I2C=y && MACH_DAVINCI_DM355_EVM
1233 This driver supports the MSP430 microcontroller used on these
1234 boards. MSP430 firmware manages resets and power sequencing,
1235 inputs from buttons and the IR remote, LEDs, an RTC, and more.
1238 tristate "TI/National Semiconductor LP3943 MFD Driver"
1243 Support for the TI/National Semiconductor LP3943.
1244 This driver consists of GPIO and PWM drivers.
1245 With these functionalities, it can be used for LED string control or
1246 general usage such like a GPIO controller and a PWM controller.
1249 bool "TI LP8788 Power Management Unit Driver"
1255 TI LP8788 PMU supports regulators, battery charger, RTC,
1256 ADC, backlight driver and current sinks.
1259 tristate "TI Lighting Management Unit driver"
1264 Say yes here to enable support for TI LMU chips.
1266 TI LMU MFD supports LM3532, LM3631, LM3632, LM3633, LM3695 and LM3697.
1267 It consists of backlight, LED and regulator driver.
1268 It provides consistent device controls for lighting functions.
1270 config MFD_OMAP_USB_HOST
1271 bool "TI OMAP USBHS core and TLL driver"
1272 depends on USB_EHCI_HCD_OMAP || USB_OHCI_HCD_OMAP3
1275 This is the core driver for the OAMP EHCI and OHCI drivers.
1276 This MFD driver does the required setup functionalities for
1277 OMAP USB Host drivers.
1280 bool "TI Palmas series chips"
1286 If you say yes here you get support for the Palmas
1287 series of PMIC chips from Texas Instruments.
1290 tristate "TI TPS61050/61052 Boost Converters"
1295 select REGULATOR_FIXED_VOLTAGE
1297 This option enables a driver for the TP61050/TPS61052
1298 high-power "white LED driver". This boost converter is
1299 sometimes used for other things than white LEDs, and
1300 also contains a GPIO pin.
1303 tristate "TI TPS6501x Power Management chips"
1304 depends on I2C && GPIOLIB
1305 default y if MACH_OMAP_H2 || MACH_OMAP_H3 || MACH_OMAP_OSK
1307 If you say yes here you get support for the TPS6501x series of
1308 Power Management chips. These include voltage regulators,
1309 lithium ion/polymer battery charging, and other features that
1310 are often used in portable devices like cell phones and cameras.
1312 This driver can also be built as a module. If so, the module
1313 will be called tps65010.
1316 tristate "TI TPS6507x Power Management / Touch Screen chips"
1320 If you say yes here you get support for the TPS6507x series of
1321 Power Management / Touch Screen chips. These include voltage
1322 regulators, lithium ion/polymer battery charging, touch screen
1323 and other features that are often used in portable devices.
1324 This driver can also be built as a module. If so, the module
1325 will be called tps6507x.
1328 tristate "TI TPS65086 Power Management Integrated Chips (PMICs)"
1335 If you say yes here you get support for the TPS65086 series of
1336 Power Management chips.
1337 This driver provides common support for accessing the device,
1338 additional drivers must be enabled in order to use the
1339 functionality of the device.
1341 config TPS65911_COMPARATOR
1345 bool "TI TPS65090 Power Management chips"
1351 If you say yes here you get support for the TPS65090 series of
1352 Power Management chips.
1353 This driver provides common support for accessing the device,
1354 additional drivers must be enabled in order to use the
1355 functionality of the device.
1358 tristate "TI TPS65217 Power Management / White LED chips"
1359 depends on I2C && OF
1364 If you say yes here you get support for the TPS65217 series of
1365 Power Management / White LED chips.
1366 These include voltage regulators, lithium ion/polymer battery
1367 charger, wled and other features that are often used in portable
1370 This driver can also be built as a module. If so, the module
1371 will be called tps65217.
1374 bool "TI TPS68470 Power Management / LED chips"
1375 depends on ACPI && I2C=y
1378 select I2C_DESIGNWARE_PLATFORM
1380 If you say yes here you get support for the TPS68470 series of
1381 Power Management / LED chips.
1383 These include voltage regulators, LEDs and other features
1384 that are often used in portable devices.
1386 This option is a bool as it provides an ACPI operation
1387 region, which must be available before any of the devices
1388 using this are probed. This option also configures the
1389 designware-i2c driver to be built-in, for the same reason.
1391 config MFD_TI_LP873X
1392 tristate "TI LP873X Power Management IC"
1397 If you say yes here then you get support for the LP873X series of
1398 Power Management Integrated Circuits (PMIC).
1399 These include voltage regulators, thermal protection, configurable
1400 General Purpose Outputs (GPO) that are used in portable devices.
1402 This driver can also be built as a module. If so, the module
1403 will be called lp873x.
1405 config MFD_TI_LP87565
1406 tristate "TI LP87565 Power Management IC"
1407 depends on I2C && OF
1411 If you say yes here then you get support for the LP87565 series of
1412 Power Management Integrated Circuits (PMIC).
1413 These include voltage regulators, thermal protection, configurable
1414 General Purpose Outputs (GPO) that are used in portable devices.
1416 This driver can also be built as a module. If so, the module
1417 will be called lp87565.
1420 tristate "TI TPS65218 Power Management chips"
1421 depends on I2C && OF
1426 If you say yes here you get support for the TPS65218 series of
1427 Power Management chips.
1428 These include voltage regulators, gpio and other features
1429 that are often used in portable devices.
1431 This driver can also be built as a module. If so, the module
1432 will be called tps65218.
1435 bool "TI TPS6586x Power Management chips"
1440 If you say yes here you get support for the TPS6586X series of
1441 Power Management chips.
1442 This driver provides common support for accessing the device,
1443 additional drivers must be enabled in order to use the
1444 functionality of the device.
1446 This driver can also be built as a module. If so, the module
1447 will be called tps6586x.
1450 bool "TI TPS65910 Power Management chip"
1452 depends on GPIOLIB || COMPILE_TEST
1458 if you say yes here you get support for the TPS65910 series of
1459 Power Management chips.
1467 config MFD_TPS65912_I2C
1468 tristate "TI TPS65912 Power Management chip with I2C"
1473 If you say yes here you get support for the TPS65912 series of
1474 PM chips with I2C interface.
1476 config MFD_TPS65912_SPI
1477 tristate "TI TPS65912 Power Management chip with SPI"
1480 depends on SPI_MASTER
1482 If you say yes here you get support for the TPS65912 series of
1483 PM chips with SPI interface.
1486 bool "TI TPS80031/TPS80032 Power Management chips"
1492 If you say yes here you get support for the Texas Instruments
1493 TPS80031/ TPS80032 Fully Integrated Power Management with Power
1494 Path and Battery Charger. The device provides five configurable
1495 step-down converters, 11 general purpose LDOs, USB OTG Module,
1496 ADC, RTC, 2 PWM, System Voltage Regulator/Battery Charger with
1497 Power Path from USB, 32K clock generator.
1500 bool "TI TWL4030/TWL5030/TWL6030/TPS659x0 Support"
1505 Say yes here if you have TWL4030 / TWL6030 family chip on your board.
1506 This core driver provides register access and IRQ handling
1507 facilities, and registers devices for the various functions
1508 so that function-specific drivers can bind to them.
1510 These multi-function chips are found on many OMAP2 and OMAP3
1511 boards, providing power management, RTC, GPIO, keypad, a
1512 high speed USB OTG transceiver, an audio codec (on most
1513 versions) and many other features.
1515 config TWL4030_POWER
1516 bool "TI TWL4030 power resources"
1517 depends on TWL4030_CORE && ARM
1519 Say yes here if you want to use the power resources on the
1520 TWL4030 family chips. Most of these resources are regulators,
1521 which have a separate driver; some are control signals, such
1522 as clock request handshaking.
1524 This driver uses board-specific data to initialize the resources
1525 and load scripts controlling which resources are switched off/on
1526 or reset when a sleep, wakeup or warm reset event occurs.
1528 config MFD_TWL4030_AUDIO
1529 bool "TI TWL4030 Audio"
1530 depends on TWL4030_CORE
1535 bool "TI TWL6040 audio codec"
1542 Say yes here if you want support for Texas Instruments TWL6040 audio
1544 This driver provides common support for accessing the device,
1545 additional drivers must be enabled in order to use the
1546 functionality of the device (audio, vibra).
1549 bool "TI TWL92330/Menelaus PM chip"
1550 depends on I2C=y && ARCH_OMAP2
1552 If you say yes here you get support for the Texas Instruments
1553 TWL92330/Menelaus Power Management chip. This include voltage
1554 regulators, Dual slot memory card transceivers, real-time clock
1555 and other features that are often used in portable devices like
1556 cell phones and PDAs.
1558 config MFD_WL1273_CORE
1559 tristate "TI WL1273 FM radio"
1564 This is the core driver for the TI WL1273 FM radio. This MFD
1565 driver connects the radio-wl1273 V4L2 module and the wl1273
1569 tristate "TI/National Semiconductor LM3533 Lighting Power chip"
1574 Say yes here to enable support for National Semiconductor / TI
1575 LM3533 Lighting Power chips.
1577 This driver provides common support for accessing the device;
1578 additional drivers must be enabled in order to use the LED,
1579 backlight or ambient-light-sensor functionality of the device.
1581 config MFD_TIMBERDALE
1582 tristate "Timberdale FPGA"
1584 depends on PCI && GPIOLIB && (X86_32 || COMPILE_TEST)
1586 This is the core driver for the timberdale FPGA. This device is a
1587 multifunction device which exposes numerous platform devices.
1589 The timberdale FPGA can be found on the Intel Atom development board
1590 for in-vehicle infontainment, called Russellville.
1593 bool "Toshiba TC35892 and variants"
1598 Support for the Toshiba TC35892 and variants I/O Expander.
1600 This driver provides common support for accessing the device,
1601 additional drivers must be enabled in order to use the
1602 functionality of the device.
1609 bool "Toshiba T7L66XB"
1610 depends on ARM && HAVE_CLK
1614 Support for Toshiba Mobile IO Controller T7L66XB
1617 bool "Toshiba TC6387XB"
1618 depends on ARM && HAVE_CLK
1622 Support for Toshiba Mobile IO Controller TC6387XB
1625 bool "Toshiba TC6393XB"
1626 depends on ARM && HAVE_CLK
1631 Support for Toshiba Mobile IO Controller TC6393XB
1634 tristate "VIA VX855/VX875 integrated south bridge"
1638 Say yes here to enable support for various functions of the
1639 VIA VX855/VX875 south bridge. You will need to enable the vx855_spi
1640 and/or vx855_gpio drivers for this to do anything useful.
1648 config MFD_ARIZONA_I2C
1649 tristate "Cirrus Logic/Wolfson Microelectronics Arizona platform with I2C"
1654 Support for the Cirrus Logic/Wolfson Microelectronics Arizona platform
1655 audio SoC core functionality controlled via I2C.
1657 config MFD_ARIZONA_SPI
1658 tristate "Cirrus Logic/Wolfson Microelectronics Arizona platform with SPI"
1661 depends on SPI_MASTER
1663 Support for the Cirrus Logic/Wolfson Microelectronics Arizona platform
1664 audio SoC core functionality controlled via SPI.
1667 bool "Cirrus Logic CS47L24 and WM1831"
1668 depends on MFD_ARIZONA
1670 Support for Cirrus Logic CS47L24 and WM1831 low power audio SoC
1673 bool "Wolfson Microelectronics WM5102"
1674 depends on MFD_ARIZONA
1676 Support for Wolfson Microelectronics WM5102 low power audio SoC
1679 bool "Wolfson Microelectronics WM5110 and WM8280/WM8281"
1680 depends on MFD_ARIZONA
1682 Support for Wolfson Microelectronics WM5110 and WM8280/WM8281
1686 bool "Wolfson Microelectronics WM8997"
1687 depends on MFD_ARIZONA
1689 Support for Wolfson Microelectronics WM8997 low power audio SoC
1692 bool "Wolfson Microelectronics WM8998"
1693 depends on MFD_ARIZONA
1695 Support for Wolfson Microelectronics WM8998 low power audio SoC
1698 bool "Wolfson Microelectronics WM8400"
1703 Support for the Wolfson Microelecronics WM8400 PMIC and audio
1704 CODEC. This driver provides common support for accessing
1705 the device, additional drivers must be enabled in order to use
1706 the functionality of the device.
1711 config MFD_WM831X_I2C
1712 bool "Wolfson Microelectronics WM831x/2x PMICs with I2C"
1719 Support for the Wolfson Microelecronics WM831x and WM832x PMICs
1720 when controlled using I2C. This driver provides common support
1721 for accessing the device, additional drivers must be enabled in
1722 order to use the functionality of the device.
1724 config MFD_WM831X_SPI
1725 bool "Wolfson Microelectronics WM831x/2x PMICs with SPI"
1730 depends on SPI_MASTER
1732 Support for the Wolfson Microelecronics WM831x and WM832x PMICs
1733 when controlled using SPI. This driver provides common support
1734 for accessing the device, additional drivers must be enabled in
1735 order to use the functionality of the device.
1740 config MFD_WM8350_I2C
1741 bool "Wolfson Microelectronics WM8350 with I2C"
1746 The WM8350 is an integrated audio and power management
1747 subsystem with watchdog and RTC functionality for embedded
1748 systems. This option enables core support for the WM8350 with
1749 I2C as the control interface. Additional options must be
1750 selected to enable support for the functionality of the chip.
1753 tristate "Wolfson Microelectronics WM8994"
1759 The WM8994 is a highly integrated hi-fi CODEC designed for
1760 smartphone applications. As well as audio functionality it
1761 has on board GPIO and regulator functionality which is
1762 supported via the relevant subsystems. This driver provides
1763 core support for the WM8994, in order to use the actual
1764 functionaltiy of the device other drivers must be enabled.
1767 tristate "Wolfson Microelectronics WM97xx"
1770 select AC97_BUS_COMPAT
1771 depends on AC97_BUS_NEW
1773 The WM9705, WM9712 and WM9713 is a highly integrated hi-fi CODEC
1774 designed for smartphone applications. As well as audio functionality
1775 it has on board GPIO and a touchscreen functionality which is
1776 supported via the relevant subsystems. This driver provides core
1777 support for the WM97xx, in order to use the actual functionaltiy of
1778 the device other drivers must be enabled.
1781 tristate "Support for ST Microelectronics STw481x"
1782 depends on I2C && (ARCH_NOMADIK || COMPILE_TEST)
1786 Select this option to enable the STw481x chip driver used
1787 in various ST Microelectronics and ST-Ericsson embedded
1790 config MFD_STM32_LPTIMER
1791 tristate "Support for STM32 Low-Power Timer"
1792 depends on (ARCH_STM32 && OF) || COMPILE_TEST
1797 Select this option to enable STM32 Low-Power Timer driver
1798 used for PWM, IIO Trigger, IIO Encoder and Counter. Shared
1799 resources are also dealt with here.
1801 To compile this driver as a module, choose M here: the
1802 module will be called stm32-lptimer.
1804 config MFD_STM32_TIMERS
1805 tristate "Support for STM32 Timers"
1806 depends on (ARCH_STM32 && OF) || COMPILE_TEST
1811 Select this option to enable STM32 timers driver used
1812 for PWM and IIO Timer. This driver allow to share the
1813 registers between the others drivers.
1815 menu "Multimedia Capabilities Port drivers"
1816 depends on ARCH_SA1100
1823 tristate "Support SA11x0 MCP interface"
1824 depends on ARCH_SA1100
1829 tristate "Support for UCB1200 / UCB1300"
1830 depends on MCP_SA11X0
1833 config MCP_UCB1200_TS
1834 tristate "Touchscreen interface support"
1835 depends on MCP_UCB1200 && INPUT
1839 config MFD_VEXPRESS_SYSREG
1840 bool "Versatile Express System Registers"
1841 depends on VEXPRESS_CONFIG && GPIOLIB && !ARCH_USES_GETTIMEOFFSET
1844 select GPIO_GENERIC_PLATFORM
1848 System Registers are the platform configuration block
1849 on the ARM Ltd. Versatile Express board.
1852 tristate "RAVE SP MCU core driver"
1853 depends on SERIAL_DEV_BUS
1856 Select this to get support for the Supervisory Processor
1857 device found on several devices in RAVE line of hardware.