1 # SPDX-License-Identifier: GPL-2.0-only
 
   3 # Multifunction miscellaneous devices
 
   7 menu "Multifunction device drivers"
 
  15         tristate "AMD CS5535 and CS5536 southbridge core functions"
 
  17         depends on PCI && (X86_32 || (X86 && COMPILE_TEST))
 
  19           This is the core driver for CS5535/CS5536 MFD functions.  This is
 
  20           necessary for using the board's GPIO and MFGPT functionality.
 
  22 config MFD_ALTERA_A10SR
 
  23         bool "Altera Arria10 DevKit System Resource chip"
 
  24         depends on ARCH_INTEL_SOCFPGA && SPI_MASTER=y && OF
 
  28           Support for the Altera Arria10 DevKit MAX5 System Resource chip
 
  29           using the SPI interface. This driver provides common support for
 
  30           accessing the external gpio extender (LEDs & buttons) and
 
  31           power supply alarms (hwmon).
 
  33 config MFD_ALTERA_SYSMGR
 
  34         bool "Altera SOCFPGA System Manager"
 
  35         depends on ARCH_INTEL_SOCFPGA && OF
 
  38           Select this to get System Manager support for all Altera branded
 
  39           SOCFPGAs. The SOCFPGA System Manager handles all SOCFPGAs by
 
  40           using regmap_mmio accesses for ARM32 parts and SMC calls to
 
  44         tristate "Active-semi ACT8945A"
 
  49           Support for the ACT8945A PMIC from Active-semi. This device
 
  50           features three step-down DC/DC converters and four low-dropout
 
  51           linear regulators, along with a complete ActivePath battery
 
  54 config MFD_SUN4I_GPADC
 
  55         tristate "Allwinner sunxi platforms' GPADC MFD driver"
 
  59         depends on ARCH_SUNXI || COMPILE_TEST
 
  60         depends on !TOUCHSCREEN_SUN4I
 
  62           Select this to get support for Allwinner SoCs (A10, A13 and A31) ADC.
 
  63           This driver will only map the hardware interrupt and registers, you
 
  64           have to select individual drivers based on this MFD to be able to use
 
  65           the ADC or the thermal sensor. This will try to probe the ADC driver
 
  66           sun4i-gpadc-iio and the hwmon driver iio_hwmon.
 
  68           To compile this driver as a module, choose M here: the module will be
 
  78           Support for the AS3711 PMIC from AMS
 
  81         tristate "ams AS3722 Power Management IC"
 
  85         depends on I2C=y && OF
 
  87           The ams AS3722 is a compact system PMU suitable for mobile phones,
 
  88           tablets etc. It has 4 DC/DC step-down regulators, 3 DC/DC step-down
 
  89           controllers, 11 LDOs, RTC, automatic battery, temperature and
 
  90           over current monitoring, GPIOs, ADC and a watchdog.
 
  93         bool "Analog Devices ADP5520/01 MFD PMIC Core Support"
 
  96           Say yes here to add support for Analog Devices ADP5520 and ADP5501,
 
  97           Multifunction Power Management IC. This includes
 
  98           the I2C driver and the core APIs _only_, you have to select
 
  99           individual components like LCD backlight, LEDs, GPIOs and Kepad
 
 100           under the corresponding menus.
 
 102 config MFD_AAT2870_CORE
 
 103         bool "AnalogicTech AAT2870"
 
 106         depends on GPIOLIB || COMPILE_TEST
 
 108           If you say yes here you get support for the AAT2870.
 
 109           This driver provides common support for accessing the device,
 
 110           additional drivers must be enabled in order to use the
 
 111           functionality of the device.
 
 113 config MFD_AT91_USART
 
 114         tristate "AT91 USART Driver"
 
 116         depends on ARCH_AT91 || COMPILE_TEST
 
 118           Select this to get support for AT91 USART IP. This is a wrapper
 
 119           over at91-usart-serial driver and usart-spi-driver. Only one function
 
 120           can be used at a time. The choice is done at boot time by the probe
 
 121           function of this MFD driver according to a device tree property.
 
 123 config MFD_ATMEL_FLEXCOM
 
 124         tristate "Atmel Flexcom (Flexible Serial Communication Unit)"
 
 128           Select this to get support for Atmel Flexcom. This is a wrapper
 
 129           which embeds a SPI controller, a I2C controller and a USART. Only
 
 130           one function can be used at a time. The choice is done at boot time
 
 131           by the probe function of this MFD driver according to a device tree
 
 134 config MFD_ATMEL_HLCDC
 
 135         tristate "Atmel HLCDC (High-end LCD Controller)"
 
 140           If you say yes here you get support for the HLCDC block.
 
 141           This driver provides common support for accessing the device,
 
 142           additional drivers must be enabled in order to use the
 
 143           functionality of the device.
 
 150         tristate "Broadcom BCM590xx PMUs"
 
 155           Support for the BCM590xx PMUs from Broadcom
 
 158         tristate "ROHM BD9571MWV PMIC"
 
 164           Support for the ROHM BD9571MWV PMIC, which contains single
 
 165           voltage regulator, voltage sampling units, GPIO block and
 
 168           This driver can also be built as a module. If so, the module
 
 169           will be called bd9571mwv.
 
 172         tristate "X-Powers AC100"
 
 176           If you say Y here you get support for the X-Powers AC100 audio codec
 
 178           This driver include only the core APIs. You have to select individual
 
 179           components like codecs or RTC under the corresponding menus.
 
 186 config MFD_AXP20X_I2C
 
 187         tristate "X-Powers AXP series PMICs with I2C"
 
 192           If you say Y here you get support for the X-Powers AXP series power
 
 193           management ICs (PMICs) controlled with I2C.
 
 194           This driver include only the core APIs. You have to select individual
 
 195           components like regulators or the PEK (Power Enable Key) under the
 
 198           Note on x86 this provides an ACPI OpRegion, so this must be 'y'
 
 199           (builtin) and not a module, as the OpRegion must be available as
 
 200           soon as possible. For the same reason the I2C bus driver options
 
 201           I2C_DESIGNWARE_PLATFORM and I2C_DESIGNWARE_BAYTRAIL must be 'y' too.
 
 203 config MFD_AXP20X_RSB
 
 204         tristate "X-Powers AXP series PMICs with RSB"
 
 208           If you say Y here you get support for the X-Powers AXP series power
 
 209           management ICs (PMICs) controlled with RSB.
 
 210           This driver include only the core APIs. You have to select individual
 
 211           components like regulators or the PEK (Power Enable Key) under the
 
 214 config MFD_CROS_EC_DEV
 
 215         tristate "ChromeOS Embedded Controller multifunction device"
 
 220           Select this to get support for ChromeOS Embedded Controller
 
 221           sub-devices. This driver will instantiate additional drivers such
 
 222           as RTC, USBPD, etc. but you have to select the individual drivers.
 
 224           To compile this driver as a module, choose M here: the module will be
 
 228         tristate "Cirrus Logic Madera codecs"
 
 234         select PINCTRL_MADERA
 
 236           Support for the Cirrus Logic Madera platform audio codecs
 
 238 config MFD_MADERA_I2C
 
 239         tristate "Cirrus Logic Madera codecs with I2C"
 
 240         depends on MFD_MADERA
 
 244           Support for the Cirrus Logic Madera platform audio SoC
 
 245           core functionality controlled via I2C.
 
 247 config MFD_MADERA_SPI
 
 248         tristate "Cirrus Logic Madera codecs with SPI"
 
 249         depends on MFD_MADERA
 
 250         depends on SPI_MASTER
 
 253           Support for the Cirrus Logic Madera platform audio SoC
 
 254           core functionality controlled via SPI.
 
 257         bool "Cirrus Logic CS47L15"
 
 258         select PINCTRL_CS47L15
 
 259         depends on MFD_MADERA
 
 261           Support for Cirrus Logic CS47L15 Smart Codec
 
 264         bool "Cirrus Logic CS47L35"
 
 265         select PINCTRL_CS47L35
 
 266         depends on MFD_MADERA
 
 268           Support for Cirrus Logic CS47L35 Smart Codec
 
 271         bool "Cirrus Logic CS47L85"
 
 272         select PINCTRL_CS47L85
 
 273         depends on MFD_MADERA
 
 275           Support for Cirrus Logic CS47L85 Smart Codec
 
 278         bool "Cirrus Logic CS47L90/91"
 
 279         select PINCTRL_CS47L90
 
 280         depends on MFD_MADERA
 
 282           Support for Cirrus Logic CS47L90 and CS47L91 Smart Codecs
 
 285         bool "Cirrus Logic CS47L92/93"
 
 286         select PINCTRL_CS47L92
 
 287         depends on MFD_MADERA
 
 289           Support for Cirrus Logic CS42L92, CS47L92 and CS47L93 Smart Codecs
 
 294         depends on ARM || COMPILE_TEST
 
 297           This driver supports the ASIC3 multifunction chip found on many
 
 298           PDAs (mainly iPAQ and HTC based ones)
 
 301         bool "Dialog Semiconductor DA9030/DA9034 PMIC Support"
 
 304           Say yes here to add support for Dialog Semiconductor DA9030 (a.k.a
 
 305           ARAVA) and DA9034 (a.k.a MICCO), these are Power Management IC
 
 306           usually found on PXA processors-based platforms. This includes
 
 307           the I2C driver and the core APIs _only_, you have to select
 
 308           individual components like LCD backlight, voltage regulators,
 
 309           LEDs and battery-charger under the corresponding menus.
 
 315 config MFD_DA9052_SPI
 
 316         bool "Dialog Semiconductor DA9052/53 PMIC variants with SPI"
 
 320         depends on SPI_MASTER=y
 
 322           Support for the Dialog Semiconductor DA9052 PMIC
 
 323           when controlled using SPI. This driver provides common support
 
 324           for accessing the device, additional drivers must be enabled in
 
 325           order to use the functionality of the device.
 
 327 config MFD_DA9052_I2C
 
 328         bool "Dialog Semiconductor DA9052/53 PMIC variants with I2C"
 
 334           Support for the Dialog Semiconductor DA9052 PMIC
 
 335           when controlled using I2C. This driver provides common support
 
 336           for accessing the device, additional drivers must be enabled in
 
 337           order to use the functionality of the device.
 
 340         bool "Dialog Semiconductor DA9055 PMIC Support"
 
 346           Say yes here for support of Dialog Semiconductor DA9055. This is
 
 347           a Power Management IC. This driver provides common support for
 
 348           accessing the device as well as the I2C interface to the chip itself.
 
 349           Additional drivers must be enabled in order to use the functionality
 
 352           This driver can be built as a module. If built as a module it will be
 
 356         tristate "Dialog Semiconductor DA9062/61 PMIC Support"
 
 362           Say yes here for support for the Dialog Semiconductor DA9061 and
 
 364           This includes the I2C driver and core APIs.
 
 365           Additional drivers must be enabled in order to use the functionality
 
 369         tristate "Dialog Semiconductor DA9063 PMIC Support"
 
 375           Say yes here for support for the Dialog Semiconductor DA9063 PMIC.
 
 376           This includes the I2C driver and core APIs.
 
 377           Additional drivers must be enabled in order to use the functionality
 
 381         tristate "Dialog Semiconductor DA9150 Charger Fuel-Gauge chip"
 
 387           This adds support for the DA9150 integrated charger and fuel-gauge
 
 388           chip. This driver provides common support for accessing the device.
 
 389           Additional drivers must be enabled in order to use the specific
 
 390           features of the device.
 
 393         tristate "Diolan DLN2 support"
 
 397           This adds support for Diolan USB-I2C/SPI/GPIO Master Adapter
 
 398           DLN-2. Additional drivers such as I2C_DLN2, GPIO_DLN2,
 
 399           etc. must be enabled in order to use the functionality of
 
 402 config MFD_ENE_KB3930
 
 403         tristate "ENE KB3930 Embedded Controller support"
 
 405         depends on MACH_MMP3_DT || COMPILE_TEST
 
 408           This adds support for the power-off functionality and access to
 
 409           the registers that control LEDS and USB port power on ENE KB3930
 
 410           Embedded Controller. To use the LED functionality LEDS_ARIEL must
 
 413 config MFD_EXYNOS_LPASS
 
 414         tristate "Samsung Exynos SoC Low Power Audio Subsystem"
 
 415         depends on ARCH_EXYNOS || COMPILE_TEST
 
 419           Select this option to enable support for Samsung Exynos Low Power
 
 420           Audio Subsystem present on some of Samsung Exynos
 
 421           SoCs (e.g. Exynos5433).
 
 422           Choose Y here only if you build for such Samsung SoC.
 
 424 config MFD_GATEWORKS_GSC
 
 425         tristate "Gateworks System Controller"
 
 426         depends on (I2C && OF)
 
 431           Enable support for the Gateworks System Controller (GSC) found
 
 432           on Gateworks Single Board Computers supporting system functions
 
 433           such as push-button monitor, multiple ADC's for voltage and
 
 434           temperature monitoring, fan controller and watchdog monitor.
 
 435           This driver provides common support for accessing the device.
 
 436           Additional drivers must be enabled in order to use the
 
 437           functionality of the device.
 
 441         depends on (SPI_MASTER || I2C)
 
 445           Enable support for the Freescale MC13783 and MC13892 PMICs.
 
 446           This driver provides common support for accessing the device,
 
 447           additional drivers must be enabled in order to use the
 
 448           functionality of the device.
 
 450 config MFD_MC13XXX_SPI
 
 451         tristate "Freescale MC13783 and MC13892 SPI interface"
 
 452         depends on SPI_MASTER
 
 456           Select this if your MC13xxx is connected via an SPI bus.
 
 458 config MFD_MC13XXX_I2C
 
 459         tristate "Freescale MC13892 I2C interface"
 
 464           Select this if your MC13xxx is connected via an I2C bus.
 
 467         tristate "Monolithic Power Systems MP2629 ADC and Battery charger"
 
 472           Select this option to enable support for Monolithic Power Systems
 
 473           battery charger. This provides ADC, thermal and battery charger power
 
 474           management functions.
 
 477         tristate "Freescale i.MX23/i.MX28 LRADC"
 
 478         depends on ARCH_MXS || COMPILE_TEST
 
 482           Say yes here to build support for the Low Resolution
 
 483           Analog-to-Digital Converter (LRADC) found on the i.MX23 and i.MX28
 
 484           processors. This driver provides common support for accessing the
 
 485           device, additional drivers must be enabled in order to use the
 
 486           functionality of the device:
 
 487                 mxs-lradc-adc for ADC readings
 
 488                 mxs-lradc-ts  for touchscreen support
 
 490           This driver can also be built as a module. If so, the module will be
 
 493 config MFD_MX25_TSADC
 
 494         tristate "Freescale i.MX25 integrated Touchscreen and ADC unit"
 
 496         depends on (SOC_IMX25 && OF) || COMPILE_TEST
 
 498           Enable support for the integrated Touchscreen and ADC unit of the
 
 499           i.MX25 processors. They consist of a conversion queue for general
 
 500           purpose ADC and a queue for Touchscreens.
 
 502 config MFD_HI6421_PMIC
 
 503         tristate "HiSilicon Hi6421 PMU/Codec IC"
 
 508           Add support for HiSilicon Hi6421 PMIC. Hi6421 includes multi-
 
 509           functions, such as regulators, RTC, codec, Coulomb counter, etc.
 
 510           This driver includes core APIs _only_. You have to select
 
 511           individual components like voltage regulators under corresponding
 
 512           menus in order to enable them.
 
 513           We communicate with the Hi6421 via memory-mapped I/O.
 
 515 config MFD_HI6421_SPMI
 
 516         tristate "HiSilicon Hi6421v600 SPMI PMU/Codec IC"
 
 522           Add support for HiSilicon Hi6421v600 SPMI PMIC. Hi6421 includes
 
 523           multi-functions, such as regulators, RTC, codec, Coulomb counter,
 
 526           This driver includes core APIs _only_. You have to select
 
 527           individual components like voltage regulators under corresponding
 
 528           menus in order to enable them.
 
 529           We communicate with the Hi6421v600 via a SPMI bus.
 
 531 config MFD_HI655X_PMIC
 
 532         tristate "HiSilicon Hi655X series PMU/Codec IC"
 
 533         depends on ARCH_HISI || COMPILE_TEST
 
 539           Select this option to enable Hisilicon hi655x series pmic driver.
 
 542         tristate "HTC PASIC3 LED/DS1WM chip support"
 
 545           This core driver provides register access for the LED/DS1WM
 
 546           chips labeled "AIC2" and "AIC3", found on HTC Blueangel and
 
 547           HTC Magician devices, respectively. Actual functionality is
 
 548           handled by the leds-pasic3 and ds1wm drivers.
 
 551         bool "HTC I2C PLD chip support"
 
 552         depends on I2C=y && GPIOLIB
 
 554           If you say yes here you get support for the supposed CPLD
 
 555           found on omap850 HTC devices like the HTC Wizard and HTC Herald.
 
 556           This device provides input and output GPIOs through an I2C
 
 557           interface to one or more sub-chips.
 
 559 config MFD_INTEL_QUARK_I2C_GPIO
 
 560         tristate "Intel Quark MFD I2C GPIO"
 
 563         depends on COMMON_CLK
 
 566           This MFD provides support for I2C and GPIO that exist only
 
 567           in a single PCI device. It splits the 2 IO devices to
 
 568           their respective IO driver.
 
 569           The GPIO exports a total amount of 8 interrupt-capable GPIOs.
 
 572         tristate "Intel ICH LPC"
 
 576           The LPC bridge function of the Intel ICH provides support for
 
 577           many functional units. This driver provides needed support for
 
 578           other drivers to control these functions, currently GPIO and
 
 582         tristate "Intel SCH LPC"
 
 586           LPC bridge function of the Intel SCH provides support for
 
 587           System Management Bus and General Purpose I/O.
 
 589 config INTEL_SOC_PMIC
 
 590         bool "Support for Crystal Cove PMIC"
 
 591         depends on ACPI && HAS_IOMEM && I2C=y && GPIOLIB && COMMON_CLK
 
 592         depends on X86 || COMPILE_TEST
 
 593         depends on I2C_DESIGNWARE_PLATFORM=y
 
 598           Select this option to enable support for Crystal Cove PMIC
 
 599           on some Intel SoC systems. The PMIC provides ADC, GPIO,
 
 600           thermal, charger and related power management functions
 
 603           This option is a bool as it provides an ACPI OpRegion which must be
 
 604           available before any devices using it are probed. This option also
 
 605           causes the designware-i2c driver to be builtin for the same reason.
 
 607 config INTEL_SOC_PMIC_BXTWC
 
 608         tristate "Support for Intel Broxton Whiskey Cove PMIC"
 
 609         depends on MFD_INTEL_PMC_BXT
 
 613           Select this option to enable support for Whiskey Cove PMIC
 
 614           on Intel Broxton systems. The PMIC provides ADC, GPIO,
 
 615           thermal, charger and related power management functions
 
 618 config INTEL_SOC_PMIC_CHTWC
 
 619         bool "Support for Intel Cherry Trail Whiskey Cove PMIC"
 
 620         depends on ACPI && HAS_IOMEM && I2C=y && COMMON_CLK
 
 621         depends on X86 || COMPILE_TEST
 
 622         depends on I2C_DESIGNWARE_PLATFORM=y
 
 627           Select this option to enable support for the Intel Cherry Trail
 
 628           Whiskey Cove PMIC found on some Intel Cherry Trail systems.
 
 630           This option is a bool as it provides an ACPI OpRegion which must be
 
 631           available before any devices using it are probed. This option also
 
 632           causes the designware-i2c driver to be builtin for the same reason.
 
 634 config INTEL_SOC_PMIC_CHTDC_TI
 
 635         tristate "Support for Intel Cherry Trail Dollar Cove TI PMIC"
 
 637         depends on I2C=y && I2C_DESIGNWARE_PLATFORM=y
 
 644           Select this option for supporting Dollar Cove (TI version) PMIC
 
 645           device that is found on some Intel Cherry Trail systems.
 
 647           This option is a bool as it provides an ACPI OpRegion which must be
 
 648           available before any devices using it are probed. This option also
 
 649           needs the designware-i2c driver to be builtin for the same reason.
 
 651 config INTEL_SOC_PMIC_MRFLD
 
 652         tristate "Support for Intel Merrifield Basin Cove PMIC"
 
 659           Select this option for supporting Basin Cove PMIC device
 
 660           that is found on Intel Merrifield systems.
 
 662 config MFD_INTEL_LPSS
 
 667 config MFD_INTEL_LPSS_ACPI
 
 668         tristate "Intel Low Power Subsystem support in ACPI mode"
 
 669         select MFD_INTEL_LPSS
 
 670         depends on X86 && ACPI
 
 672           This driver supports Intel Low Power Subsystem (LPSS) devices such as
 
 673           I2C, SPI and HS-UART starting from Intel Sunrisepoint (Intel Skylake
 
 676 config MFD_INTEL_LPSS_PCI
 
 677         tristate "Intel Low Power Subsystem support in PCI mode"
 
 678         select MFD_INTEL_LPSS
 
 679         depends on X86 && PCI
 
 681           This driver supports Intel Low Power Subsystem (LPSS) devices such as
 
 682           I2C, SPI and HS-UART starting from Intel Sunrisepoint (Intel Skylake
 
 685 config MFD_INTEL_PMC_BXT
 
 686         tristate "Intel PMC Driver for Broxton"
 
 688         depends on X86_PLATFORM_DEVICES
 
 693           This driver provides support for the PMC (Power Management
 
 694           Controller) on Intel Broxton and Apollo Lake. The PMC is a
 
 695           multi-function device that exposes IPC, General Control
 
 696           Register and P-unit access. In addition this creates devices
 
 697           for iTCO watchdog and telemetry that are part of the PMC.
 
 699 config MFD_IPAQ_MICRO
 
 700         bool "Atmel Micro ASIC (iPAQ h3100/h3600/h3700) Support"
 
 701         depends on SA1100_H3100 || SA1100_H3600
 
 704           Select this to get support for the Microcontroller found in
 
 705           the Compaq iPAQ handheld computers. This is an Atmel
 
 706           AT90LS8535 microcontroller flashed with a special iPAQ
 
 707           firmware using the custom protocol implemented in this driver.
 
 710         tristate "Azoteq IQS620A/621/622/624/625 core support"
 
 715           Say Y here if you want to build core support for the Azoteq IQS620A,
 
 716           IQS621, IQS622, IQS624 and IQS625 multi-function sensors. Additional
 
 717           options must be selected to enable device-specific functions.
 
 719           To compile this driver as a module, choose M here: the module will
 
 722 config MFD_JANZ_CMODIO
 
 723         tristate "Janz CMOD-IO PCI MODULbus Carrier Board"
 
 727           This is the core driver for the Janz CMOD-IO PCI MODULbus
 
 728           carrier board. This device is a PCI to MODULbus bridge which may
 
 729           host many different types of MODULbus daughterboards, including
 
 730           CAN and GPIO controllers.
 
 733         tristate "Kontron module PLD device"
 
 736           This is the core driver for the PLD (Programmable Logic Device) found
 
 737           on some Kontron ETX and nearly all COMexpress (ETXexpress) modules as
 
 738           well as on some other Kontron products. The PLD device may provide
 
 739           functions like watchdog, GPIO, UART and I2C bus.
 
 741           This driver can also be built as a module. If so, the module
 
 742           will be called kempld-core.
 
 745         tristate "Marvell 88PM800"
 
 751           This supports for Marvell 88PM800 Power Management IC.
 
 752           This includes the I2C driver and the core APIs _only_, you have to
 
 753           select individual components like voltage regulators, RTC and
 
 754           battery-charger under the corresponding menus.
 
 757         tristate "Marvell 88PM805"
 
 763           This supports for Marvell 88PM805 Power Management IC. This includes
 
 764           the I2C driver and the core APIs _only_, you have to select individual
 
 765           components like codec device, headset/Mic device under the
 
 769         bool "Marvell 88PM8606/88PM8607"
 
 774           This supports for Marvell 88PM8606/88PM8607 Power Management IC.
 
 775           This includes the I2C driver and the core APIs _only_, you have to
 
 776           select individual components like voltage regulators, RTC and
 
 777           battery-charger under the corresponding menus.
 
 780         tristate "Maxim Semiconductor MAX14577/77836 MUIC + Charger Support"
 
 787           Say yes here to add support for Maxim Semiconductor MAX14577 and
 
 788           MAX77836 Micro-USB ICs with battery charger.
 
 789           This driver provides common support for accessing the device;
 
 790           additional drivers must be enabled in order to use the functionality
 
 794         bool "Maxim Semiconductor MAX77620 and MAX20024 PMIC Support"
 
 796         depends on OF || COMPILE_TEST
 
 802           Say yes here to add support for Maxim Semiconductor MAX77620 and
 
 803           MAX20024 which are Power Management IC with General purpose pins,
 
 804           RTC, regulators, clock generator, watchdog etc. This driver
 
 805           provides common support for accessing the device; additional drivers
 
 806           must be enabled in order to use the functionality of the device.
 
 809         tristate "Maxim MAX77650/77651 PMIC Support"
 
 811         depends on OF || COMPILE_TEST
 
 816           Say Y here to add support for Maxim Semiconductor MAX77650 and
 
 817           MAX77651 Power Management ICs. This is the core multifunction
 
 818           driver for interacting with the device. The module name is
 
 819           'max77650'. Additional drivers can be enabled in order to use
 
 820           the following functionalities of the device: GPIO, regulator,
 
 824         tristate "Maxim Semiconductor MAX77686/802 PMIC Support"
 
 826         depends on OF || COMPILE_TEST
 
 832           Say yes here to add support for Maxim Semiconductor MAX77686 and
 
 833           MAX77802 which are Power Management IC with an RTC on chip.
 
 834           This driver provides common support for accessing the device;
 
 835           additional drivers must be enabled in order to use the functionality
 
 839         tristate "Maxim Semiconductor MAX77693 PMIC Support"
 
 845           Say yes here to add support for Maxim Semiconductor MAX77693.
 
 846           This is a companion Power Management IC with Flash, Haptic, Charger,
 
 847           and MUIC(Micro USB Interface Controller) controls on chip.
 
 848           This driver provides common support for accessing the device;
 
 849           additional drivers must be enabled in order to use the functionality
 
 853         bool "Maxim Semiconductor MAX77843 PMIC Support"
 
 859           Say yes here to add support for Maxim Semiconductor MAX77843.
 
 860           This is companion Power Management IC with LEDs, Haptic, Charger,
 
 861           Fuel Gauge, MUIC(Micro USB Interface Controller) controls on chip.
 
 862           This driver provides common support for accessing the device;
 
 863           additional drivers must be enabled in order to use the functionality
 
 867         tristate "Maxim Semiconductor MAX8907 PMIC Support"
 
 873           Say yes here to add support for Maxim Semiconductor MAX8907. This is
 
 874           a Power Management IC. This driver provides common support for
 
 875           accessing the device; additional drivers must be enabled in order
 
 876           to use the functionality of the device.
 
 879         bool "Maxim Semiconductor MAX8925 PMIC Support"
 
 883           Say yes here to add support for Maxim Semiconductor MAX8925. This is
 
 884           a Power Management IC. This driver provides common support for
 
 885           accessing the device, additional drivers must be enabled in order
 
 886           to use the functionality of the device.
 
 889         bool "Maxim Semiconductor MAX8997/8966 PMIC Support"
 
 894           Say yes here to add support for Maxim Semiconductor MAX8997/8966.
 
 895           This is a Power Management IC with RTC, Flash, Fuel Gauge, Haptic,
 
 896           MUIC controls on chip.
 
 897           This driver provides common support for accessing the device;
 
 898           additional drivers must be enabled in order to use the functionality
 
 902         bool "Maxim Semiconductor MAX8998/National LP3974 PMIC Support"
 
 907           Say yes here to add support for Maxim Semiconductor MAX8998 and
 
 908           National Semiconductor LP3974. This is a Power Management IC.
 
 909           This driver provides common support for accessing the device,
 
 910           additional drivers must be enabled in order to use the functionality
 
 914         tristate "Mediatek MT6360 SubPMIC"
 
 921           Say Y here to enable MT6360 PMU/PMIC/LDO functional support.
 
 922           PMU part includes Charger, Flashlight, RGB LED
 
 923           PMIC part includes 2-channel BUCKs and 2-channel LDOs
 
 924           LDO part includes 4-channel LDOs
 
 927         tristate "MediaTek MT6397 PMIC Support"
 
 931           Say yes here to add support for MediaTek MT6397 PMIC. This is
 
 932           a Power Management IC. This driver provides common support for
 
 933           accessing the device; additional drivers must be enabled in order
 
 934           to use the functionality of the device.
 
 937         tristate "MEN 14F021P00 Board Management Controller Support"
 
 941           Say yes here to add support for the MEN 14F021P00 BMC
 
 942           which is a Board Management Controller connected to the I2C bus.
 
 943           The device supports multiple sub-devices like LED, HWMON and WDT.
 
 944           This driver provides common support for accessing the devices;
 
 945           additional drivers must be enabled in order to use the
 
 946           functionality of the BMC device.
 
 948           This driver can also be built as a module. If so the module
 
 949           will be called menf21bmc.
 
 952         bool "Motorola EZXPCAP Support"
 
 953         depends on SPI_MASTER
 
 955           This enables the PCAP ASIC present on EZX Phones. This is
 
 956           needed for MMC, TouchScreen, Sound, USB, etc..
 
 959         tristate "Support for Motorola CPCAP"
 
 961         depends on OF || COMPILE_TEST
 
 966           Say yes here if you want to include driver for CPCAP.
 
 967           It is used on many Motorola phones and tablets as a PMIC.
 
 968           At least Motorola Droid 4 is known to use CPCAP.
 
 970 config MFD_VIPERBOARD
 
 971         tristate "Nano River Technologies Viperboard"
 
 976           Say yes here if you want support for Nano River Technologies
 
 978           There are mfd cell drivers available for i2c master, adc and
 
 979           both gpios found on the board. The spi part does not yet
 
 981           You need to select the mfd cell drivers separately.
 
 982           The drivers do not support all features the board exposes.
 
 985         tristate "Netronix embedded controller (EC)"
 
 986         depends on OF || COMPILE_TEST
 
 991           Say yes here if you want to support the embedded controller found in
 
 992           certain e-book readers designed by the original design manufacturer
 
 996         tristate "Nokia Retu and Tahvo multi-function device"
 
1001           Retu and Tahvo are a multi-function devices found on Nokia
 
1002           Internet Tablets (770, N800 and N810).
 
1005         tristate "NXP PCF50633"
 
1009           Say yes here if you have NXP PCF50633 chip on your board.
 
1010           This core driver provides register access and IRQ handling
 
1011           facilities, and registers devices for the various functions
 
1012           so that function-specific drivers can bind to them.
 
1015         tristate "NXP PCF50633 ADC"
 
1016         depends on MFD_PCF50633
 
1018           Say yes here if you want to include support for ADC in the
 
1021 config PCF50633_GPIO
 
1022         tristate "NXP PCF50633 GPIO"
 
1023         depends on MFD_PCF50633
 
1025           Say yes here if you want to include support GPIO for pins on
 
1029         tristate "Philips UCB1400 Core driver"
 
1033           This enables support for the Philips UCB1400 core functions.
 
1034           The UCB1400 is an AC97 audio codec.
 
1036           To compile this driver as a module, choose M here: the
 
1037           module will be called ucb1400_core.
 
1040         tristate "Qualcomm PM8xxx PMIC chips driver"
 
1041         depends on (ARM || HEXAGON || COMPILE_TEST)
 
1042         select IRQ_DOMAIN_HIERARCHY
 
1046           If you say yes to this option, support will be included for the
 
1047           built-in PM8xxx PMIC chips.
 
1049           This is required if your board has a PM8xxx and uses its features,
 
1050           such as: MPPs, GPIOs, regulators, interrupts, and PWM.
 
1052           Say M here if you want to include support for PM8xxx chips as a
 
1053           module. This will build a module called "pm8xxx-core".
 
1056         tristate "Qualcomm Resource Power Manager (RPM)"
 
1057         depends on ARCH_QCOM && OF
 
1059           If you say yes to this option, support will be included for the
 
1060           Resource Power Manager system found in the Qualcomm 8660, 8960 and
 
1063           This is required to access many regulators, clocks and bus
 
1064           frequencies controlled by the RPM on these devices.
 
1066           Say M here if you want to include support for the Qualcomm RPM as a
 
1067           module. This will build a module called "qcom_rpm".
 
1069 config MFD_SPMI_PMIC
 
1070         tristate "Qualcomm SPMI PMICs"
 
1071         depends on ARCH_QCOM || COMPILE_TEST
 
1076           This enables support for the Qualcomm SPMI PMICs.
 
1077           These PMICs are currently used with the Snapdragon 800 series of
 
1078           SoCs.  Note, that this will only be useful paired with descriptions
 
1079           of the independent functions as children nodes in the device tree.
 
1081           Say M here if you want to include support for the SPMI PMIC
 
1082           series as a module.  The module will be called "qcom-spmi-pmic".
 
1085         tristate "RDC R-321x southbridge"
 
1089           Say yes here if you want to have support for the RDC R-321x SoC
 
1090           southbridge which provides access to GPIOs and Watchdog using the
 
1091           southbridge PCI device configuration space.
 
1094         tristate "Richtek RT4831 four channel WLED and Display Bias Voltage"
 
1099           This enables support for the Richtek RT4831 that includes 4 channel
 
1100           WLED driving and Display Bias Voltage. It's commonly used to provide
 
1101           power to the LCD display and LCD backlight.
 
1104         tristate "Richtek RT5033 Power Management IC"
 
1110           This driver provides for the Richtek RT5033 Power Management IC,
 
1111           which includes the I2C driver and the Core APIs. This driver provides
 
1112           common support for accessing the device. The device supports multiple
 
1113           sub-devices like charger, fuel gauge, flash LED, current source,
 
1117         bool "Ricoh RC5T583 Power Management system device"
 
1122           Select this option to get support for the RICOH583 Power
 
1123           Management system device.
 
1124           This driver provides common support for accessing the device
 
1125           through i2c interface. The device supports multiple sub-devices
 
1126           like GPIO, interrupts, RTC, LDO and DCDC regulators, onkey.
 
1127           Additional drivers must be enabled in order to use the
 
1128           different functionality of the device.
 
1131         tristate "Rockchip RK805/RK808/RK809/RK817/RK818 Power Management Chip"
 
1132         depends on I2C && OF
 
1137           If you say yes here you get support for the RK805, RK808, RK809,
 
1138           RK817 and RK818 Power Management chips.
 
1139           This driver provides common support for accessing the device
 
1140           through I2C interface. The device supports multiple sub-devices
 
1141           including interrupts, RTC, LDO & DCDC regulators, and onkey.
 
1144         tristate "Ricoh RN5T567/618 PMIC"
 
1151           Say yes here to add support for the Ricoh RN5T567,
 
1152           RN5T618, RC5T619 PMIC.
 
1153           This driver provides common support for accessing the device,
 
1154           additional drivers must be enabled in order to use the
 
1155           functionality of the device.
 
1158         tristate "Samsung Electronics PMIC Series Support"
 
1160         depends on OF || COMPILE_TEST
 
1165           Support for the Samsung Electronics PMIC devices coming
 
1166           usually along with Samsung Exynos SoC chipset.
 
1167           This driver provides common support for accessing the device,
 
1168           additional drivers must be enabled in order to use the functionality
 
1171           To compile this driver as a module, choose M here: the
 
1172           module will be called sec-core.
 
1173           Have in mind that important core drivers (like regulators) depend
 
1174           on this driver so building this as a module might require proper
 
1175           initial ramdisk or might not boot up as well in certain scenarios.
 
1177 config MFD_SI476X_CORE
 
1178         tristate "Silicon Laboratories 4761/64/68 AM/FM radio."
 
1183           This is the core driver for the SI476x series of AM/FM
 
1184           radio. This MFD driver connects the radio-si476x V4L2 module
 
1185           and the si476x audio codec.
 
1187           To compile this driver as a module, choose M here: the
 
1188           module will be called si476x-core.
 
1190 config MFD_SIMPLE_MFD_I2C
 
1196           This driver creates a single register map with the intention for it
 
1197           to be shared by all sub-devices.
 
1199           Once the register map has been successfully initialised, any
 
1200           sub-devices represented by child nodes in Device Tree will be
 
1201           subsequently registered.
 
1204         tristate "Kontron sl28cpld Board Management Controller"
 
1206         depends on ARCH_LAYERSCAPE || COMPILE_TEST
 
1207         select MFD_SIMPLE_MFD_I2C
 
1209           Say yes here to enable support for the Kontron sl28cpld board
 
1210           management controller.
 
1212           It can be found on the following boards:
 
1216         tristate "Silicon Motion SM501"
 
1219           This is the core driver for the Silicon Motion SM501 multimedia
 
1220           companion chip. This device is a multifunction device which may
 
1221           provide numerous interfaces including USB host controller, USB gadget,
 
1222           asynchronous serial ports, audio functions, and a dual display video
 
1223           interface. The device may be connected by PCI or local bus with
 
1224           varying functions enabled.
 
1226 config MFD_SM501_GPIO
 
1227         bool "Export GPIO via GPIO layer"
 
1228         depends on MFD_SM501 && GPIOLIB
 
1230           This option uses the gpio library layer to export the 64 GPIO
 
1231           lines on the SM501. The platform data is used to supply the
 
1232           base number for the first GPIO line to register.
 
1235         tristate "Skyworks Solutions SKY81452"
 
1240           This is the core driver for the Skyworks SKY81452 backlight and
 
1241           voltage regulator device.
 
1243           This driver can also be built as a module.  If so, the module
 
1244           will be called sky81452.
 
1246 config MFD_SC27XX_PMIC
 
1247         tristate "Spreadtrum SC27xx PMICs"
 
1248         depends on ARCH_SPRD || COMPILE_TEST
 
1249         depends on SPI_MASTER
 
1254           This enables support for the Spreadtrum SC27xx PMICs with SPI
 
1255           interface. The SC27xx series PMICs integrate power management,
 
1256           audio codec, battery management and user interface support
 
1257           function (such as RTC, Typec, indicator and so on) in a single chip.
 
1259           This driver provides common support for accessing the SC27xx PMICs,
 
1260           and it also adds the irq_chip parts for handling the PMIC chip events.
 
1263         bool "ST-Ericsson ABX500 Mixed Signal Circuit register functions"
 
1264         depends on ARCH_U8500 || COMPILE_TEST
 
1265         default y if ARCH_U8500
 
1267           Say yes here if you have the ABX500 Mixed Signal IC family
 
1268           chips. This core driver expose register access functions.
 
1269           Functionality specific drivers using these functions can
 
1270           remain unchanged when IC changes. Binding of the functions to
 
1271           actual register access is done by the IC core driver.
 
1274         bool "ST-Ericsson AB8500 Mixed Signal Power Management chip"
 
1275         depends on ABX500_CORE && MFD_DB8500_PRCMU
 
1280           Select this option to enable access to AB8500 power management
 
1281           chip. This connects to U8500 either on the SSP/SPI bus (deprecated
 
1282           since hardware version v1.0) or the I2C bus via PRCMU. It also adds
 
1283           the irq_chip parts for handling the Mixed Signal chip events.
 
1284           This chip embeds various other multimedia functionalities as well.
 
1287         bool "Enable debug info via debugfs"
 
1288         depends on AB8500_GPADC && DEBUG_FS
 
1289         default y if DEBUG_FS
 
1291           Select this option if you want debug information using the debug
 
1292           filesystem, debugfs.
 
1294 config MFD_DB8500_PRCMU
 
1295         bool "ST-Ericsson DB8500 Power Reset Control Management Unit"
 
1296         depends on UX500_SOC_DB8500
 
1299           Select this option to enable support for the DB8500 Power Reset
 
1300           and Control Management Unit. This is basically an autonomous
 
1301           system controller running an XP70 microprocessor, which is accessed
 
1302           through a register map.
 
1305         bool "STMicroelectronics STMPE"
 
1306         depends on (I2C=y || SPI_MASTER=y)
 
1310           Support for the STMPE family of I/O Expanders from
 
1313           Currently supported devices are:
 
1315                 STMPE811: GPIO, Touchscreen, ADC
 
1316                 STMPE1601: GPIO, Keypad
 
1317                 STMPE1801: GPIO, Keypad
 
1318                 STMPE2401: GPIO, Keypad
 
1319                 STMPE2403: GPIO, Keypad
 
1321           This driver provides common support for accessing the device,
 
1322           additional drivers must be enabled in order to use the functionality
 
1323           of the device.  Currently available sub drivers are:
 
1326                 Keypad: stmpe-keypad
 
1327                 Touchscreen: stmpe-ts
 
1330 menu "STMicroelectronics STMPE Interface Drivers"
 
1331 depends on MFD_STMPE
 
1334         bool "STMicroelectronics STMPE I2C Interface"
 
1338           This is used to enable I2C interface of STMPE
 
1341         bool "STMicroelectronics STMPE SPI Interface"
 
1342         depends on SPI_MASTER
 
1344           This is used to enable SPI interface of STMPE
 
1348         bool "STMicroelectronics STA2X11"
 
1353 config MFD_SUN6I_PRCM
 
1354         bool "Allwinner A31 PRCM controller"
 
1355         depends on ARCH_SUNXI || COMPILE_TEST
 
1358           Support for the PRCM (Power/Reset/Clock Management) unit available
 
1362         bool "System Controller Register R/W Based on Regmap"
 
1365           Select this option to enable accessing system control registers
 
1368 config MFD_DAVINCI_VOICECODEC
 
1373 config MFD_TI_AM335X_TSCADC
 
1374         tristate "TI ADC / Touch Screen chip support"
 
1379           If you say yes here you get support for Texas Instruments series
 
1380           of Touch Screen /ADC chips.
 
1381           To compile this driver as a module, choose M here: the
 
1382           module will be called ti_am335x_tscadc.
 
1384 config MFD_DM355EVM_MSP
 
1385         bool "TI DaVinci DM355 EVM microcontroller"
 
1386         depends on I2C=y && MACH_DAVINCI_DM355_EVM
 
1388           This driver supports the MSP430 microcontroller used on these
 
1389           boards.  MSP430 firmware manages resets and power sequencing,
 
1390           inputs from buttons and the IR remote, LEDs, an RTC, and more.
 
1393         tristate "TI/National Semiconductor LP3943 MFD Driver"
 
1398           Support for the TI/National Semiconductor LP3943.
 
1399           This driver consists of GPIO and PWM drivers.
 
1400           With these functionalities, it can be used for LED string control or
 
1401           general usage such like a GPIO controller and a PWM controller.
 
1404         bool "TI LP8788 Power Management Unit Driver"
 
1410           TI LP8788 PMU supports regulators, battery charger, RTC,
 
1411           ADC, backlight driver and current sinks.
 
1414         tristate "TI Lighting Management Unit driver"
 
1419           Say yes here to enable support for TI LMU chips.
 
1420           TI LMU MFD supports LM3532, LM3631, LM3632, LM3633, LM3695 and
 
1421           LM36274.  It consists of backlight, LED and regulator driver.
 
1422           It provides consistent device controls for lighting functions.
 
1424 config MFD_OMAP_USB_HOST
 
1425         bool "TI OMAP USBHS core and TLL driver"
 
1426         depends on USB_EHCI_HCD_OMAP || USB_OHCI_HCD_OMAP3
 
1427         depends on COMMON_CLK
 
1430           This is the core driver for the OAMP EHCI and OHCI drivers.
 
1431           This MFD driver does the required setup functionalities for
 
1432           OMAP USB Host drivers.
 
1435         bool "TI Palmas series chips"
 
1441           If you say yes here you get support for the Palmas
 
1442           series of PMIC chips from Texas Instruments.
 
1445         tristate "TI TPS61050/61052 Boost Converters"
 
1450         select REGULATOR_FIXED_VOLTAGE
 
1452           This option enables a driver for the TP61050/TPS61052
 
1453           high-power "white LED driver". This boost converter is
 
1454           sometimes used for other things than white LEDs, and
 
1455           also contains a GPIO pin.
 
1458         tristate "TI TPS6501x Power Management chips"
 
1459         depends on I2C && GPIOLIB
 
1460         default y if MACH_OMAP_H2 || MACH_OMAP_H3 || MACH_OMAP_OSK
 
1462           If you say yes here you get support for the TPS6501x series of
 
1463           Power Management chips.  These include voltage regulators,
 
1464           lithium ion/polymer battery charging, and other features that
 
1465           are often used in portable devices like cell phones and cameras.
 
1467           This driver can also be built as a module.  If so, the module
 
1468           will be called tps65010.
 
1471         tristate "TI TPS6507x Power Management / Touch Screen chips"
 
1475           If you say yes here you get support for the TPS6507x series of
 
1476           Power Management / Touch Screen chips.  These include voltage
 
1477           regulators, lithium ion/polymer battery charging, touch screen
 
1478           and other features that are often used in portable devices.
 
1479           This driver can also be built as a module.  If so, the module
 
1480           will be called tps6507x.
 
1483         tristate "TI TPS65086 Power Management Integrated Chips (PMICs)"
 
1490           If you say yes here you get support for the TPS65086 series of
 
1491           Power Management chips.
 
1492           This driver provides common support for accessing the device,
 
1493           additional drivers must be enabled in order to use the
 
1494           functionality of the device.
 
1496 config TPS65911_COMPARATOR
 
1500         bool "TI TPS65090 Power Management chips"
 
1506           If you say yes here you get support for the TPS65090 series of
 
1507           Power Management chips.
 
1508           This driver provides common support for accessing the device,
 
1509           additional drivers must be enabled in order to use the
 
1510           functionality of the device.
 
1513         tristate "TI TPS65217 Power Management / White LED chips"
 
1514         depends on I2C && OF
 
1519           If you say yes here you get support for the TPS65217 series of
 
1520           Power Management / White LED chips.
 
1521           These include voltage regulators, lithium ion/polymer battery
 
1522           charger, wled and other features that are often used in portable
 
1525           This driver can also be built as a module.  If so, the module
 
1526           will be called tps65217.
 
1528 config MFD_TI_LP873X
 
1529         tristate "TI LP873X Power Management IC"
 
1534           If you say yes here then you get support for the LP873X series of
 
1535           Power Management Integrated Circuits (PMIC).
 
1536           These include voltage regulators, thermal protection, configurable
 
1537           General Purpose Outputs (GPO) that are used in portable devices.
 
1539           This driver can also be built as a module. If so, the module
 
1540           will be called lp873x.
 
1542 config MFD_TI_LP87565
 
1543         tristate "TI LP87565 Power Management IC"
 
1544         depends on I2C && OF
 
1548           If you say yes here then you get support for the LP87565 series of
 
1549           Power Management Integrated Circuits (PMIC).
 
1550           These include voltage regulators, thermal protection, configurable
 
1551           General Purpose Outputs (GPO) that are used in portable devices.
 
1553           This driver can also be built as a module. If so, the module
 
1554           will be called lp87565.
 
1557         tristate "TI TPS65218 Power Management chips"
 
1558         depends on I2C && OF
 
1563           If you say yes here you get support for the TPS65218 series of
 
1564           Power Management chips.
 
1565           These include voltage regulators, gpio and other features
 
1566           that are often used in portable devices.
 
1568           This driver can also be built as a module.  If so, the module
 
1569           will be called tps65218.
 
1572         bool "TI TPS6586x Power Management chips"
 
1577           If you say yes here you get support for the TPS6586X series of
 
1578           Power Management chips.
 
1579           This driver provides common support for accessing the device,
 
1580           additional drivers must be enabled in order to use the
 
1581           functionality of the device.
 
1583           This driver can also be built as a module.  If so, the module
 
1584           will be called tps6586x.
 
1587         bool "TI TPS65910 Power Management chip"
 
1589         depends on GPIOLIB || COMPILE_TEST
 
1595           if you say yes here you get support for the TPS65910 series of
 
1596           Power Management chips.
 
1604 config MFD_TPS65912_I2C
 
1605         tristate "TI TPS65912 Power Management chip with I2C"
 
1610           If you say yes here you get support for the TPS65912 series of
 
1611           PM chips with I2C interface.
 
1613 config MFD_TPS65912_SPI
 
1614         tristate "TI TPS65912 Power Management chip with SPI"
 
1617         depends on SPI_MASTER
 
1619           If you say yes here you get support for the TPS65912 series of
 
1620           PM chips with SPI interface.
 
1623         bool "TI TWL4030/TWL5030/TWL6030/TPS659x0 Support"
 
1628           Say yes here if you have TWL4030 / TWL6030 family chip on your board.
 
1629           This core driver provides register access and IRQ handling
 
1630           facilities, and registers devices for the various functions
 
1631           so that function-specific drivers can bind to them.
 
1633           These multi-function chips are found on many OMAP2 and OMAP3
 
1634           boards, providing power management, RTC, GPIO, keypad, a
 
1635           high speed USB OTG transceiver, an audio codec (on most
 
1636           versions) and many other features.
 
1638 config TWL4030_POWER
 
1639         bool "TI TWL4030 power resources"
 
1640         depends on TWL4030_CORE && ARM
 
1642           Say yes here if you want to use the power resources on the
 
1643           TWL4030 family chips.  Most of these resources are regulators,
 
1644           which have a separate driver; some are control signals, such
 
1645           as clock request handshaking.
 
1647           This driver uses board-specific data to initialize the resources
 
1648           and load scripts controlling which resources are switched off/on
 
1649           or reset when a sleep, wakeup or warm reset event occurs.
 
1651 config MFD_TWL4030_AUDIO
 
1652         bool "TI TWL4030 Audio"
 
1653         depends on TWL4030_CORE
 
1658         bool "TI TWL6040 audio codec"
 
1665           Say yes here if you want support for Texas Instruments TWL6040 audio
 
1667           This driver provides common support for accessing the device,
 
1668           additional drivers must be enabled in order to use the
 
1669           functionality of the device (audio, vibra).
 
1672         bool "TI TWL92330/Menelaus PM chip"
 
1673         depends on I2C=y && ARCH_OMAP2
 
1675           If you say yes here you get support for the Texas Instruments
 
1676           TWL92330/Menelaus Power Management chip. This include voltage
 
1677           regulators, Dual slot memory card transceivers, real-time clock
 
1678           and other features that are often used in portable devices like
 
1679           cell phones and PDAs.
 
1681 config MFD_WL1273_CORE
 
1682         tristate "TI WL1273 FM radio"
 
1687           This is the core driver for the TI WL1273 FM radio. This MFD
 
1688           driver connects the radio-wl1273 V4L2 module and the wl1273
 
1692         tristate "TI/National Semiconductor LM3533 Lighting Power chip"
 
1697           Say yes here to enable support for National Semiconductor / TI
 
1698           LM3533 Lighting Power chips.
 
1700           This driver provides common support for accessing the device;
 
1701           additional drivers must be enabled in order to use the LED,
 
1702           backlight or ambient-light-sensor functionality of the device.
 
1704 config MFD_TIMBERDALE
 
1705         tristate "Timberdale FPGA"
 
1707         depends on PCI && GPIOLIB && (X86_32 || COMPILE_TEST)
 
1709         This is the core driver for the timberdale FPGA. This device is a
 
1710         multifunction device which exposes numerous platform devices.
 
1712         The timberdale FPGA can be found on the Intel Atom development board
 
1713         for in-vehicle infontainment, called Russellville.
 
1716         bool "Toshiba TC35892 and variants"
 
1721           Support for the Toshiba TC35892 and variants I/O Expander.
 
1723           This driver provides common support for accessing the device,
 
1724           additional drivers must be enabled in order to use the
 
1725           functionality of the device.
 
1732         bool "Toshiba T7L66XB"
 
1733         depends on ARM && HAVE_CLK
 
1737           Support for Toshiba Mobile IO Controller T7L66XB
 
1740         bool "Toshiba TC6387XB"
 
1741         depends on ARM && HAVE_CLK
 
1745           Support for Toshiba Mobile IO Controller TC6387XB
 
1748         bool "Toshiba TC6393XB"
 
1749         depends on ARM && HAVE_CLK
 
1754           Support for Toshiba Mobile IO Controller TC6393XB
 
1757         tristate "TQ-Systems IO controller TQMX86"
 
1760           Say yes here to enable support for various functions of the
 
1761           TQ-Systems IO controller and watchdog device, found on their
 
1762           ComExpress CPU modules.
 
1765         tristate "VIA VX855/VX875 integrated south bridge"
 
1769           Say yes here to enable support for various functions of the
 
1770           VIA VX855/VX875 south bridge. You will need to enable the vx855_spi
 
1771           and/or vx855_gpio drivers for this to do anything useful.
 
1773 config MFD_LOCHNAGAR
 
1774         bool "Cirrus Logic Lochnagar Audio Development Board"
 
1777         depends on I2C=y && OF
 
1779           Support for Cirrus Logic Lochnagar audio development board.
 
1787 config MFD_ARIZONA_I2C
 
1788         tristate "Cirrus Logic/Wolfson Microelectronics Arizona platform with I2C"
 
1793           Support for the Cirrus Logic/Wolfson Microelectronics Arizona platform
 
1794           audio SoC core functionality controlled via I2C.
 
1796 config MFD_ARIZONA_SPI
 
1797         tristate "Cirrus Logic/Wolfson Microelectronics Arizona platform with SPI"
 
1800         depends on SPI_MASTER
 
1802           Support for the Cirrus Logic/Wolfson Microelectronics Arizona platform
 
1803           audio SoC core functionality controlled via SPI.
 
1806         bool "Cirrus Logic CS47L24 and WM1831"
 
1807         depends on MFD_ARIZONA
 
1809           Support for Cirrus Logic CS47L24 and WM1831 low power audio SoC
 
1812         bool "Wolfson Microelectronics WM5102"
 
1813         depends on MFD_ARIZONA
 
1815           Support for Wolfson Microelectronics WM5102 low power audio SoC
 
1818         bool "Wolfson Microelectronics WM5110 and WM8280/WM8281"
 
1819         depends on MFD_ARIZONA
 
1821           Support for Wolfson Microelectronics WM5110 and WM8280/WM8281
 
1825         bool "Wolfson Microelectronics WM8997"
 
1826         depends on MFD_ARIZONA
 
1828           Support for Wolfson Microelectronics WM8997 low power audio SoC
 
1831         bool "Wolfson Microelectronics WM8998"
 
1832         depends on MFD_ARIZONA
 
1834           Support for Wolfson Microelectronics WM8998 low power audio SoC
 
1837         bool "Wolfson Microelectronics WM8400"
 
1842           Support for the Wolfson Microelecronics WM8400 PMIC and audio
 
1843           CODEC.  This driver provides common support for accessing
 
1844           the device, additional drivers must be enabled in order to use
 
1845           the functionality of the device.
 
1850 config MFD_WM831X_I2C
 
1851         bool "Wolfson Microelectronics WM831x/2x PMICs with I2C"
 
1858           Support for the Wolfson Microelecronics WM831x and WM832x PMICs
 
1859           when controlled using I2C.  This driver provides common support
 
1860           for accessing the device, additional drivers must be enabled in
 
1861           order to use the functionality of the device.
 
1863 config MFD_WM831X_SPI
 
1864         bool "Wolfson Microelectronics WM831x/2x PMICs with SPI"
 
1869         depends on SPI_MASTER
 
1871           Support for the Wolfson Microelecronics WM831x and WM832x PMICs
 
1872           when controlled using SPI.  This driver provides common support
 
1873           for accessing the device, additional drivers must be enabled in
 
1874           order to use the functionality of the device.
 
1879 config MFD_WM8350_I2C
 
1880         bool "Wolfson Microelectronics WM8350 with I2C"
 
1885           The WM8350 is an integrated audio and power management
 
1886           subsystem with watchdog and RTC functionality for embedded
 
1887           systems.  This option enables core support for the WM8350 with
 
1888           I2C as the control interface.  Additional options must be
 
1889           selected to enable support for the functionality of the chip.
 
1892         tristate "Wolfson Microelectronics WM8994"
 
1898           The WM8994 is a highly integrated hi-fi CODEC designed for
 
1899           smartphone applications.  As well as audio functionality it
 
1900           has on board GPIO and regulator functionality which is
 
1901           supported via the relevant subsystems.  This driver provides
 
1902           core support for the WM8994, in order to use the actual
 
1903           functionality of the device other drivers must be enabled.
 
1906         tristate "Wolfson Microelectronics WM97xx"
 
1909         select AC97_BUS_COMPAT
 
1910         depends on AC97_BUS_NEW
 
1912           The WM9705, WM9712 and WM9713 is a highly integrated hi-fi CODEC
 
1913           designed for smartphone applications.  As well as audio functionality
 
1914           it has on board GPIO and a touchscreen functionality which is
 
1915           supported via the relevant subsystems.  This driver provides core
 
1916           support for the WM97xx, in order to use the actual functionality of
 
1917           the device other drivers must be enabled.
 
1920         tristate "Support for ST Microelectronics STw481x"
 
1921         depends on I2C && (ARCH_NOMADIK || COMPILE_TEST)
 
1925           Select this option to enable the STw481x chip driver used
 
1926           in various ST Microelectronics and ST-Ericsson embedded
 
1929 config MFD_ROHM_BD718XX
 
1930         tristate "ROHM BD71837 Power Management IC"
 
1937           Select this option to get support for the ROHM BD71837
 
1938           Power Management ICs. BD71837 is designed to power processors like
 
1939           NXP i.MX8. It contains 8 BUCK outputs and 7 LDOs, voltage monitoring
 
1940           and emergency shut down as well as 32,768KHz clock output.
 
1942 config MFD_ROHM_BD71828
 
1943         tristate "ROHM BD71828 and BD71815 Power Management IC"
 
1950           Select this option to get support for the ROHM BD71828 and BD71815
 
1951           Power Management ICs. BD71828GW and BD71815AGW are single-chip power
 
1952           management ICs mainly for battery-powered portable devices.
 
1953           The BD71828 integrates 7 buck converters and 7 LDOs. The BD71815
 
1954           has 5 bucks, 7 LDOs, and a boost for driving LEDs. Both ICs provide
 
1955           also a single-cell linear charger, a Coulomb counter, a real-time
 
1956           clock (RTC), GPIOs and a 32.768 kHz clock gate.
 
1958 config MFD_ROHM_BD957XMUF
 
1959         tristate "ROHM BD9576MUF and BD9573MUF Power Management ICs"
 
1965           Select this option to get support for the ROHM BD9576MUF and
 
1966           BD9573MUF Power Management ICs. BD9576 and BD9573 are primarily
 
1967           designed to be used to power R-Car series processors.
 
1969 config MFD_STM32_LPTIMER
 
1970         tristate "Support for STM32 Low-Power Timer"
 
1971         depends on (ARCH_STM32 && OF) || COMPILE_TEST
 
1976           Select this option to enable STM32 Low-Power Timer driver
 
1977           used for PWM, IIO Trigger, IIO Encoder and Counter. Shared
 
1978           resources are also dealt with here.
 
1980           To compile this driver as a module, choose M here: the
 
1981           module will be called stm32-lptimer.
 
1983 config MFD_STM32_TIMERS
 
1984         tristate "Support for STM32 Timers"
 
1985         depends on (ARCH_STM32 && OF) || COMPILE_TEST
 
1990           Select this option to enable STM32 timers driver used
 
1991           for PWM and IIO Timer. This driver allow to share the
 
1992           registers between the others drivers.
 
1995         tristate "Support for STPMIC1 PMIC"
 
1996         depends on (I2C=y && OF)
 
2001           Support for ST Microelectronics STPMIC1 PMIC. STPMIC1 has power on
 
2002           key, watchdog and regulator functionalities which are supported via
 
2003           the relevant subsystems. This driver provides core support for the
 
2004           STPMIC1. In order to use the actual functionality of the device other
 
2005           drivers must be enabled.
 
2007           To compile this driver as a module, choose M here: the
 
2008           module will be called stpmic1.
 
2011         tristate "Support for STMicroelectronics Multi-Function eXpander (STMFX)"
 
2013         depends on OF || COMPILE_TEST
 
2017           Support for the STMicroelectronics Multi-Function eXpander.
 
2019           This driver provides common support for accessing the device,
 
2020           additional drivers must be enabled in order to use the functionality
 
2024         tristate "Support for WCD9340/WCD9341 Codec"
 
2027         select REGMAP_SLIMBUS
 
2031           Support for the Qualcomm WCD9340/WCD9341 Codec.
 
2032           This driver provides common support WCD934x audio codec and its
 
2033           associated Pin Controller, Soundwire Controller and Audio codec.
 
2041 config MFD_ATC260X_I2C
 
2042         tristate "Actions Semi ATC260x PMICs with I2C"
 
2047           Support for the Actions Semi ATC260x PMICs controlled via I2C.
 
2049           This driver provides common support for accessing the ATC2603C
 
2050           and ATC2609A chip variants, additional drivers must be enabled
 
2051           in order to use the functionality of the device.
 
2053 config MFD_KHADAS_MCU
 
2054         tristate "Support for Khadas System control Microcontroller"
 
2056         depends on ARCH_MESON || ARCH_ROCKCHIP || COMPILE_TEST
 
2060           Support for the Khadas System control Microcontroller interface
 
2061           present on their VIM and Edge boards.
 
2063           This Microcontroller is present on the Khadas VIM1, VIM2, VIM3 and
 
2066           It provides multiple boot control features like password check,
 
2067           power-on options, power-off control and system FAN control on recent
 
2070           This driver provides common support for accessing the device,
 
2071           additional drivers must be enabled in order to use the functionality
 
2074 config MFD_ACER_A500_EC
 
2075         tristate "Support for Acer Iconia Tab A500 Embedded Controller"
 
2077         depends on (ARCH_TEGRA_2x_SOC && OF) || COMPILE_TEST
 
2081           Support for Embedded Controller found on Acer Iconia Tab A500.
 
2082           The controller itself is ENE KB930, it is running firmware
 
2083           customized for the specific needs of the Acer A500 hardware.
 
2085 config MFD_QCOM_PM8008
 
2086         tristate "QCOM PM8008 Power Management IC"
 
2087         depends on I2C && OF
 
2091           Select this option to get support for the Qualcomm Technologies, Inc.
 
2092           PM8008 PMIC chip. PM8008 is a dedicated camera PMIC that integrates
 
2093           all the necessary power management, housekeeping, and interface
 
2094           support functions into a single IC. This driver provides common
 
2095           support for accessing the device by instantiating all the child nodes
 
2096           under it in the device tree. Additional drivers must be enabled in
 
2097           order to use the functionality of the device.
 
2099 menu "Multimedia Capabilities Port drivers"
 
2100         depends on ARCH_SA1100
 
2107         tristate "Support SA11x0 MCP interface"
 
2108         depends on ARCH_SA1100
 
2113         tristate "Support for UCB1200 / UCB1300"
 
2114         depends on MCP_SA11X0
 
2117 config MCP_UCB1200_TS
 
2118         tristate "Touchscreen interface support"
 
2119         depends on MCP_UCB1200 && INPUT
 
2123 config MFD_VEXPRESS_SYSREG
 
2124         tristate "Versatile Express System Registers"
 
2125         depends on VEXPRESS_CONFIG && GPIOLIB
 
2127         select GPIO_GENERIC_PLATFORM
 
2131           System Registers are the platform configuration block
 
2132           on the ARM Ltd. Versatile Express board.
 
2135         tristate "RAVE SP MCU core driver"
 
2136         depends on SERIAL_DEV_BUS
 
2139           Select this to get support for the Supervisory Processor
 
2140           device found on several devices in RAVE line of hardware.
 
2143         bool "SGI IOC3 core driver"
 
2144         depends on PCI && MIPS && 64BIT
 
2147           This option enables basic support for the SGI IOC3-based
 
2148           controller cards.  This option does not enable any specific
 
2149           functions on such a card, but provides necessary infrastructure
 
2150           for other drivers to utilize.
 
2152           If you have an SGI Origin, Octane, or a PCI IOC3 card,
 
2153           then say Y. Otherwise say N.
 
2155 config MFD_INTEL_M10_BMC
 
2156         tristate "Intel MAX 10 Board Management Controller"
 
2157         depends on SPI_MASTER
 
2158         select REGMAP_SPI_AVMM
 
2161           Support for the Intel MAX 10 board management controller using the
 
2164           This driver provides common support for accessing the device,
 
2165           additional drivers must be enabled in order to use the functionality
 
2169         tristate "Renesas Synchronization Management Unit with I2C"
 
2170         depends on I2C && OF
 
2174           Support for the Renesas Synchronization Management Unit, such as
 
2175           Clockmatrix and 82P33XXX series. This option supports I2C as
 
2176           the control interface.
 
2178           This driver provides common support for accessing the device.
 
2179           Additional drivers must be enabled in order to use the functionality
 
2183         tristate "Renesas Synchronization Management Unit with SPI"
 
2184         depends on SPI && OF
 
2188           Support for the Renesas Synchronization Management Unit, such as
 
2189           Clockmatrix and 82P33XXX series. This option supports SPI as
 
2190           the control interface.
 
2192           This driver provides common support for accessing the device.
 
2193           Additional drivers must be enabled in order to use the functionality