linux/drivers/mfd/Kconfig
<<
>>
Prefs
   1#
   2# Multifunction miscellaneous devices
   3#
   4
   5if HAS_IOMEM
   6menu "Multifunction device drivers"
   7
   8config MFD_CORE
   9        tristate
  10        select IRQ_DOMAIN
  11        default n
  12
  13config MFD_CS5535
  14        tristate "AMD CS5535 and CS5536 southbridge core functions"
  15        select MFD_CORE
  16        depends on PCI && (X86_32 || (X86 && COMPILE_TEST))
  17        ---help---
  18          This is the core driver for CS5535/CS5536 MFD functions.  This is
  19          necessary for using the board's GPIO and MFGPT functionality.
  20
  21config MFD_ALTERA_A10SR
  22        bool "Altera Arria10 DevKit System Resource chip"
  23        depends on ARCH_SOCFPGA && SPI_MASTER=y && OF
  24        select REGMAP_SPI
  25        select MFD_CORE
  26        help
  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).
  31
  32config MFD_ACT8945A
  33        tristate "Active-semi ACT8945A"
  34        select MFD_CORE
  35        select REGMAP_I2C
  36        depends on I2C && OF
  37        help
  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
  41          charger.
  42
  43config MFD_SUN4I_GPADC
  44        tristate "Allwinner sunxi platforms' GPADC MFD driver"
  45        select MFD_CORE
  46        select REGMAP_MMIO
  47        select REGMAP_IRQ
  48        depends on ARCH_SUNXI || COMPILE_TEST
  49        depends on !TOUCHSCREEN_SUN4I
  50        help
  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.
  56
  57          To compile this driver as a module, choose M here: the module will be
  58          called sun4i-gpadc.
  59
  60config MFD_AS3711
  61        bool "AMS AS3711"
  62        select MFD_CORE
  63        select REGMAP_I2C
  64        select REGMAP_IRQ
  65        depends on I2C=y
  66        help
  67          Support for the AS3711 PMIC from AMS
  68
  69config MFD_AS3722
  70        tristate "ams AS3722 Power Management IC"
  71        select MFD_CORE
  72        select REGMAP_I2C
  73        select REGMAP_IRQ
  74        depends on I2C=y && OF
  75        help
  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.
  80
  81config PMIC_ADP5520
  82        bool "Analog Devices ADP5520/01 MFD PMIC Core Support"
  83        depends on I2C=y
  84        help
  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.
  90
  91config MFD_AAT2870_CORE
  92        bool "AnalogicTech AAT2870"
  93        select MFD_CORE
  94        depends on I2C=y
  95        depends on GPIOLIB || COMPILE_TEST
  96        help
  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.
 101
 102config MFD_ATMEL_FLEXCOM
 103        tristate "Atmel Flexcom (Flexible Serial Communication Unit)"
 104        select MFD_CORE
 105        depends on OF
 106        help
 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
 111          property.
 112
 113config MFD_ATMEL_HLCDC
 114        tristate "Atmel HLCDC (High-end LCD Controller)"
 115        select MFD_CORE
 116        select REGMAP_MMIO
 117        depends on OF
 118        help
 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.
 123
 124config MFD_ATMEL_SMC
 125        bool
 126        select MFD_SYSCON
 127
 128config MFD_BCM590XX
 129        tristate "Broadcom BCM590xx PMUs"
 130        select MFD_CORE
 131        select REGMAP_I2C
 132        depends on I2C
 133        help
 134          Support for the BCM590xx PMUs from Broadcom
 135
 136config MFD_BD9571MWV
 137        tristate "ROHM BD9571MWV PMIC"
 138        select MFD_CORE
 139        select REGMAP_I2C
 140        select REGMAP_IRQ
 141        depends on I2C
 142        help
 143          Support for the ROHM BD9571MWV PMIC, which contains single
 144          voltage regulator, voltage sampling units, GPIO block and
 145          watchdog block.
 146
 147          This driver can also be built as a module. If so, the module
 148          will be called bd9571mwv.
 149
 150config MFD_AC100
 151        tristate "X-Powers AC100"
 152        select MFD_CORE
 153        depends on SUNXI_RSB
 154        help
 155          If you say Y here you get support for the X-Powers AC100 audio codec
 156          IC.
 157          This driver include only the core APIs. You have to select individual
 158          components like codecs or RTC under the corresponding menus.
 159
 160config MFD_AXP20X
 161        tristate
 162        select MFD_CORE
 163        select REGMAP_IRQ
 164
 165config MFD_AXP20X_I2C
 166        tristate "X-Powers AXP series PMICs with I2C"
 167        select MFD_AXP20X
 168        select REGMAP_I2C
 169        depends on I2C
 170        help
 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
 175          corresponding menus.
 176
 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.
 181
 182config MFD_AXP20X_RSB
 183        tristate "X-Powers AXP series PMICs with RSB"
 184        select MFD_AXP20X
 185        depends on SUNXI_RSB
 186        help
 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
 191          corresponding menus.
 192
 193config MFD_CROS_EC
 194        tristate "ChromeOS Embedded Controller"
 195        select MFD_CORE
 196        select CHROME_PLATFORMS
 197        select CROS_EC_PROTO
 198        depends on X86 || ARM || ARM64 || COMPILE_TEST
 199        help
 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.
 204
 205config MFD_CROS_EC_CHARDEV
 206        tristate "Chrome OS Embedded Controller userspace device interface"
 207        depends on MFD_CROS_EC
 208        select CROS_EC_CTL
 209        ---help---
 210          This driver adds support to talk with the ChromeOS EC from userspace.
 211
 212          If you have a supported Chromebook, choose Y or M here.
 213          The module will be called cros_ec_dev.
 214
 215config MFD_ASIC3
 216        bool "Compaq ASIC3"
 217        depends on GPIOLIB && ARM
 218        select MFD_CORE
 219         ---help---
 220          This driver supports the ASIC3 multifunction chip found on many
 221          PDAs (mainly iPAQ and HTC based ones)
 222
 223config PMIC_DA903X
 224        bool "Dialog Semiconductor DA9030/DA9034 PMIC Support"
 225        depends on I2C=y
 226        help
 227          Say yes here to add support for Dialog Semiconductor DA9030 (a.k.a
 228          ARAVA) and DA9034 (a.k.a MICCO), these are Power Management IC
 229          usually found on PXA processors-based platforms. This includes
 230          the I2C driver and the core APIs _only_, you have to select
 231          individual components like LCD backlight, voltage regulators,
 232          LEDs and battery-charger under the corresponding menus.
 233
 234config PMIC_DA9052
 235        bool
 236        select MFD_CORE
 237
 238config MFD_DA9052_SPI
 239        bool "Dialog Semiconductor DA9052/53 PMIC variants with SPI"
 240        select REGMAP_SPI
 241        select REGMAP_IRQ
 242        select PMIC_DA9052
 243        depends on SPI_MASTER=y
 244        help
 245          Support for the Dialog Semiconductor DA9052 PMIC
 246          when controlled using SPI. This driver provides common support
 247          for accessing the device, additional drivers must be enabled in
 248          order to use the functionality of the device.
 249
 250config MFD_DA9052_I2C
 251        bool "Dialog Semiconductor DA9052/53 PMIC variants with I2C"
 252        select REGMAP_I2C
 253        select REGMAP_IRQ
 254        select PMIC_DA9052
 255        depends on I2C=y
 256        help
 257          Support for the Dialog Semiconductor DA9052 PMIC
 258          when controlled using I2C. This driver provides common support
 259          for accessing the device, additional drivers must be enabled in
 260          order to use the functionality of the device.
 261
 262config MFD_DA9055
 263        bool "Dialog Semiconductor DA9055 PMIC Support"
 264        select REGMAP_I2C
 265        select REGMAP_IRQ
 266        select MFD_CORE
 267        depends on I2C=y
 268        help
 269          Say yes here for support of Dialog Semiconductor DA9055. This is
 270          a Power Management IC. This driver provides common support for
 271          accessing the device as well as the I2C interface to the chip itself.
 272          Additional drivers must be enabled in order to use the functionality
 273          of the device.
 274
 275          This driver can be built as a module. If built as a module it will be
 276          called "da9055"
 277
 278config MFD_DA9062
 279        tristate "Dialog Semiconductor DA9062/61 PMIC Support"
 280        select MFD_CORE
 281        select REGMAP_I2C
 282        select REGMAP_IRQ
 283        depends on I2C
 284        help
 285          Say yes here for support for the Dialog Semiconductor DA9061 and
 286          DA9062 PMICs.
 287          This includes the I2C driver and core APIs.
 288          Additional drivers must be enabled in order to use the functionality
 289          of the device.
 290
 291config MFD_DA9063
 292        tristate "Dialog Semiconductor DA9063 PMIC Support"
 293        select MFD_CORE
 294        select REGMAP_I2C
 295        select REGMAP_IRQ
 296        depends on I2C
 297        help
 298          Say yes here for support for the Dialog Semiconductor DA9063 PMIC.
 299          This includes the I2C driver and core APIs.
 300          Additional drivers must be enabled in order to use the functionality
 301          of the device.
 302
 303config MFD_DA9150
 304        tristate "Dialog Semiconductor DA9150 Charger Fuel-Gauge chip"
 305        depends on I2C
 306        select MFD_CORE
 307        select REGMAP_I2C
 308        select REGMAP_IRQ
 309        help
 310          This adds support for the DA9150 integrated charger and fuel-gauge
 311          chip. This driver provides common support for accessing the device.
 312          Additional drivers must be enabled in order to use the specific
 313          features of the device.
 314
 315config MFD_DLN2
 316        tristate "Diolan DLN2 support"
 317        select MFD_CORE
 318        depends on USB
 319        help
 320          This adds support for Diolan USB-I2C/SPI/GPIO Master Adapter
 321          DLN-2. Additional drivers such as I2C_DLN2, GPIO_DLN2,
 322          etc. must be enabled in order to use the functionality of
 323          the device.
 324
 325config MFD_EXYNOS_LPASS
 326        tristate "Samsung Exynos SoC Low Power Audio Subsystem"
 327        depends on ARCH_EXYNOS || COMPILE_TEST
 328        select MFD_CORE
 329        select REGMAP_MMIO
 330        help
 331          Select this option to enable support for Samsung Exynos Low Power
 332          Audio Subsystem.
 333
 334config MFD_MC13XXX
 335        tristate
 336        depends on (SPI_MASTER || I2C)
 337        select MFD_CORE
 338        select REGMAP_IRQ
 339        help
 340          Enable support for the Freescale MC13783 and MC13892 PMICs.
 341          This driver provides common support for accessing the device,
 342          additional drivers must be enabled in order to use the
 343          functionality of the device.
 344
 345config MFD_MC13XXX_SPI
 346        tristate "Freescale MC13783 and MC13892 SPI interface"
 347        depends on SPI_MASTER
 348        select REGMAP_SPI
 349        select MFD_MC13XXX
 350        help
 351          Select this if your MC13xxx is connected via an SPI bus.
 352
 353config MFD_MC13XXX_I2C
 354        tristate "Freescale MC13892 I2C interface"
 355        depends on I2C
 356        select REGMAP_I2C
 357        select MFD_MC13XXX
 358        help
 359          Select this if your MC13xxx is connected via an I2C bus.
 360
 361config MFD_MXS_LRADC
 362        tristate "Freescale i.MX23/i.MX28 LRADC"
 363        depends on ARCH_MXS || COMPILE_TEST
 364        select MFD_CORE
 365        select STMP_DEVICE
 366        help
 367          Say yes here to build support for the Low Resolution
 368          Analog-to-Digital Converter (LRADC) found on the i.MX23 and i.MX28
 369          processors. This driver provides common support for accessing the
 370          device, additional drivers must be enabled in order to use the
 371          functionality of the device:
 372                mxs-lradc-adc for ADC readings
 373                mxs-lradc-ts  for touchscreen support
 374
 375          This driver can also be built as a module. If so, the module will be
 376          called mxs-lradc.
 377
 378config MFD_MX25_TSADC
 379        tristate "Freescale i.MX25 integrated Touchscreen and ADC unit"
 380        select REGMAP_MMIO
 381        depends on (SOC_IMX25 && OF) || COMPILE_TEST
 382        help
 383          Enable support for the integrated Touchscreen and ADC unit of the
 384          i.MX25 processors. They consist of a conversion queue for general
 385          purpose ADC and a queue for Touchscreens.
 386
 387config MFD_HI6421_PMIC
 388        tristate "HiSilicon Hi6421 PMU/Codec IC"
 389        depends on OF
 390        select MFD_CORE
 391        select REGMAP_MMIO
 392        help
 393          Add support for HiSilicon Hi6421 PMIC. Hi6421 includes multi-
 394          functions, such as regulators, RTC, codec, Coulomb counter, etc.
 395          This driver includes core APIs _only_. You have to select
 396          individul components like voltage regulators under corresponding
 397          menus in order to enable them.
 398          We communicate with the Hi6421 via memory-mapped I/O.
 399
 400config MFD_HI655X_PMIC
 401        tristate "HiSilicon Hi655X series PMU/Codec IC"
 402        depends on ARCH_HISI || COMPILE_TEST
 403        depends on OF
 404        select MFD_CORE
 405        select REGMAP_MMIO
 406        select REGMAP_IRQ
 407        help
 408          Select this option to enable Hisilicon hi655x series pmic driver.
 409
 410config HTC_PASIC3
 411        tristate "HTC PASIC3 LED/DS1WM chip support"
 412        select MFD_CORE
 413        help
 414          This core driver provides register access for the LED/DS1WM
 415          chips labeled "AIC2" and "AIC3", found on HTC Blueangel and
 416          HTC Magician devices, respectively. Actual functionality is
 417          handled by the leds-pasic3 and ds1wm drivers.
 418
 419config HTC_I2CPLD
 420        bool "HTC I2C PLD chip support"
 421        depends on I2C=y && GPIOLIB
 422        help
 423          If you say yes here you get support for the supposed CPLD
 424          found on omap850 HTC devices like the HTC Wizard and HTC Herald.
 425          This device provides input and output GPIOs through an I2C
 426          interface to one or more sub-chips.
 427
 428config MFD_INTEL_QUARK_I2C_GPIO
 429        tristate "Intel Quark MFD I2C GPIO"
 430        depends on PCI
 431        depends on X86
 432        depends on COMMON_CLK
 433        select MFD_CORE
 434        help
 435          This MFD provides support for I2C and GPIO that exist only
 436          in a single PCI device. It splits the 2 IO devices to
 437          their respective IO driver.
 438          The GPIO exports a total amount of 8 interrupt-capable GPIOs.
 439
 440config LPC_ICH
 441        tristate "Intel ICH LPC"
 442        depends on PCI
 443        select MFD_CORE
 444        help
 445          The LPC bridge function of the Intel ICH provides support for
 446          many functional units. This driver provides needed support for
 447          other drivers to control these functions, currently GPIO and
 448          watchdog.
 449
 450config LPC_SCH
 451        tristate "Intel SCH LPC"
 452        depends on PCI
 453        select MFD_CORE
 454        help
 455          LPC bridge function of the Intel SCH provides support for
 456          System Management Bus and General Purpose I/O.
 457
 458config INTEL_SOC_PMIC
 459        bool "Support for Crystal Cove PMIC"
 460        depends on ACPI && HAS_IOMEM && I2C=y && GPIOLIB && COMMON_CLK
 461        depends on X86 || COMPILE_TEST
 462        select MFD_CORE
 463        select REGMAP_I2C
 464        select REGMAP_IRQ
 465        select I2C_DESIGNWARE_PLATFORM
 466        help
 467          Select this option to enable support for Crystal Cove PMIC
 468          on some Intel SoC systems. The PMIC provides ADC, GPIO,
 469          thermal, charger and related power management functions
 470          on these systems.
 471
 472          This option is a bool as it provides an ACPI OpRegion which must be
 473          available before any devices using it are probed. This option also
 474          causes the designware-i2c driver to be builtin for the same reason.
 475
 476config INTEL_SOC_PMIC_BXTWC
 477        tristate "Support for Intel Broxton Whiskey Cove PMIC"
 478        depends on INTEL_PMC_IPC
 479        select MFD_CORE
 480        select REGMAP_IRQ
 481        help
 482          Select this option to enable support for Whiskey Cove PMIC
 483          on Intel Broxton systems. The PMIC provides ADC, GPIO,
 484          thermal, charger and related power management functions
 485          on these systems.
 486
 487config INTEL_SOC_PMIC_CHTWC
 488        bool "Support for Intel Cherry Trail Whiskey Cove PMIC"
 489        depends on ACPI && HAS_IOMEM && I2C=y && COMMON_CLK
 490        depends on X86 || COMPILE_TEST
 491        select MFD_CORE
 492        select REGMAP_I2C
 493        select REGMAP_IRQ
 494        select I2C_DESIGNWARE_PLATFORM
 495        help
 496          Select this option to enable support for the Intel Cherry Trail
 497          Whiskey Cove PMIC found on some Intel Cherry Trail systems.
 498
 499          This option is a bool as it provides an ACPI OpRegion which must be
 500          available before any devices using it are probed. This option also
 501          causes the designware-i2c driver to be builtin for the same reason.
 502
 503config INTEL_SOC_PMIC_CHTDC_TI
 504        tristate "Support for Intel Cherry Trail Dollar Cove TI PMIC"
 505        depends on GPIOLIB
 506        depends on I2C
 507        depends on ACPI
 508        depends on X86
 509        select MFD_CORE
 510        select REGMAP_I2C
 511        select REGMAP_IRQ
 512        help
 513          Select this option for supporting Dollar Cove (TI version) PMIC
 514          device that is found on some Intel Cherry Trail systems.
 515
 516config MFD_INTEL_LPSS
 517        tristate
 518        select COMMON_CLK
 519        select MFD_CORE
 520
 521config MFD_INTEL_LPSS_ACPI
 522        tristate "Intel Low Power Subsystem support in ACPI mode"
 523        select MFD_INTEL_LPSS
 524        depends on X86 && ACPI
 525        help
 526          This driver supports Intel Low Power Subsystem (LPSS) devices such as
 527          I2C, SPI and HS-UART starting from Intel Sunrisepoint (Intel Skylake
 528          PCH) in ACPI mode.
 529
 530config MFD_INTEL_LPSS_PCI
 531        tristate "Intel Low Power Subsystem support in PCI mode"
 532        select MFD_INTEL_LPSS
 533        depends on X86 && PCI
 534        help
 535          This driver supports Intel Low Power Subsystem (LPSS) devices such as
 536          I2C, SPI and HS-UART starting from Intel Sunrisepoint (Intel Skylake
 537          PCH) in PCI mode.
 538
 539config MFD_INTEL_MSIC
 540        bool "Intel MSIC"
 541        depends on INTEL_SCU_IPC
 542        select MFD_CORE
 543        help
 544          Select this option to enable access to Intel MSIC (Avatele
 545          Passage) chip. This chip embeds audio, battery, GPIO, etc.
 546          devices used in Intel Medfield platforms.
 547
 548config MFD_INTEL_PMT
 549        tristate "Intel Platform Monitoring Technology (PMT) support"
 550        depends on PCI
 551        select MFD_CORE
 552        help
 553          The Intel Platform Monitoring Technology (PMT) is an interface that
 554          provides access to hardware monitor registers. This driver supports
 555          Telemetry, Watcher, and Crashlog PMT capabilities/devices for
 556          platforms starting from Tiger Lake.
 557
 558config MFD_IPAQ_MICRO
 559        bool "Atmel Micro ASIC (iPAQ h3100/h3600/h3700) Support"
 560        depends on SA1100_H3100 || SA1100_H3600
 561        select MFD_CORE
 562        help
 563          Select this to get support for the Microcontroller found in
 564          the Compaq iPAQ handheld computers. This is an Atmel
 565          AT90LS8535 microcontroller flashed with a special iPAQ
 566          firmware using the custom protocol implemented in this driver.
 567
 568config MFD_JANZ_CMODIO
 569        tristate "Janz CMOD-IO PCI MODULbus Carrier Board"
 570        select MFD_CORE
 571        depends on PCI
 572        help
 573          This is the core driver for the Janz CMOD-IO PCI MODULbus
 574          carrier board. This device is a PCI to MODULbus bridge which may
 575          host many different types of MODULbus daughterboards, including
 576          CAN and GPIO controllers.
 577
 578config MFD_JZ4740_ADC
 579        bool "Janz JZ4740 ADC core"
 580        select MFD_CORE
 581        select GENERIC_IRQ_CHIP
 582        depends on MACH_JZ4740
 583        help
 584          Say yes here if you want support for the ADC unit in the JZ4740 SoC.
 585          This driver is necessary for jz4740-battery and jz4740-hwmon driver.
 586
 587config MFD_KEMPLD
 588        tristate "Kontron module PLD device"
 589        select MFD_CORE
 590        help
 591          This is the core driver for the PLD (Programmable Logic Device) found
 592          on some Kontron ETX and COMexpress (ETXexpress) modules. The PLD
 593          device may provide functions like watchdog, GPIO, UART and I2C bus.
 594
 595          The following modules are supported:
 596                * COMe-bBD#
 597                * COMe-bBL6
 598                * COMe-bHL6
 599                * COMe-bSL6
 600                * COMe-bIP#
 601                * COMe-bKL6
 602                * COMe-bPC2 (ETXexpress-PC)
 603                * COMe-bSC# (ETXexpress-SC T#)
 604                * COMe-cAL6
 605                * COMe-cBL6
 606                * COMe-cBT6
 607                * COMe-cBW6
 608                * COMe-cCT6
 609                * COMe-cDC2 (microETXexpress-DC)
 610                * COMe-cHL6
 611                * COMe-cKL6
 612                * COMe-cPC2 (microETXexpress-PC)
 613                * COMe-cSL6
 614                * COMe-mAL10
 615                * COMe-mBT10
 616                * COMe-mCT10
 617                * COMe-mTT10 (nanoETXexpress-TT)
 618                * ETX-OH
 619
 620          This driver can also be built as a module. If so, the module
 621          will be called kempld-core.
 622
 623config MFD_88PM800
 624        tristate "Marvell 88PM800"
 625        depends on I2C
 626        select REGMAP_I2C
 627        select REGMAP_IRQ
 628        select MFD_CORE
 629        help
 630          This supports for Marvell 88PM800 Power Management IC.
 631          This includes the I2C driver and the core APIs _only_, you have to
 632          select individual components like voltage regulators, RTC and
 633          battery-charger under the corresponding menus.
 634
 635config MFD_88PM805
 636        tristate "Marvell 88PM805"
 637        depends on I2C
 638        select REGMAP_I2C
 639        select REGMAP_IRQ
 640        select MFD_CORE
 641        help
 642          This supports for Marvell 88PM805 Power Management IC. This includes
 643          the I2C driver and the core APIs _only_, you have to select individual
 644          components like codec device, headset/Mic device under the
 645          corresponding menus.
 646
 647config MFD_88PM860X
 648        bool "Marvell 88PM8606/88PM8607"
 649        depends on I2C=y
 650        select REGMAP_I2C
 651        select MFD_CORE
 652        help
 653          This supports for Marvell 88PM8606/88PM8607 Power Management IC.
 654          This includes the I2C driver and the core APIs _only_, you have to
 655          select individual components like voltage regulators, RTC and
 656          battery-charger under the corresponding menus.
 657
 658config MFD_MAX14577
 659        tristate "Maxim Semiconductor MAX14577/77836 MUIC + Charger Support"
 660        depends on I2C
 661        select MFD_CORE
 662        select REGMAP_I2C
 663        select REGMAP_IRQ
 664        select IRQ_DOMAIN
 665        help
 666          Say yes here to add support for Maxim Semiconductor MAX14577 and
 667          MAX77836 Micro-USB ICs with battery charger.
 668          This driver provides common support for accessing the device;
 669          additional drivers must be enabled in order to use the functionality
 670          of the device.
 671
 672config MFD_MAX77620
 673        bool "Maxim Semiconductor MAX77620 and MAX20024 PMIC Support"
 674        depends on I2C=y
 675        depends on OF || COMPILE_TEST
 676        select MFD_CORE
 677        select REGMAP_I2C
 678        select REGMAP_IRQ
 679        select IRQ_DOMAIN
 680        help
 681          Say yes here to add support for Maxim Semiconductor MAX77620 and
 682          MAX20024 which are Power Management IC with General purpose pins,
 683          RTC, regulators, clock generator, watchdog etc. This driver
 684          provides common support for accessing the device; additional drivers
 685          must be enabled in order to use the functionality of the device.
 686
 687config MFD_MAX77686
 688        tristate "Maxim Semiconductor MAX77686/802 PMIC Support"
 689        depends on I2C
 690        depends on OF || COMPILE_TEST
 691        select MFD_CORE
 692        select REGMAP_I2C
 693        select REGMAP_IRQ
 694        select IRQ_DOMAIN
 695        help
 696          Say yes here to add support for Maxim Semiconductor MAX77686 and
 697          MAX77802 which are Power Management IC with an RTC on chip.
 698          This driver provides common support for accessing the device;
 699          additional drivers must be enabled in order to use the functionality
 700          of the device.
 701
 702config MFD_MAX77693
 703        tristate "Maxim Semiconductor MAX77693 PMIC Support"
 704        depends on I2C
 705        select MFD_CORE
 706        select REGMAP_I2C
 707        select REGMAP_IRQ
 708        help
 709          Say yes here to add support for Maxim Semiconductor MAX77693.
 710          This is a companion Power Management IC with Flash, Haptic, Charger,
 711          and MUIC(Micro USB Interface Controller) controls on chip.
 712          This driver provides common support for accessing the device;
 713          additional drivers must be enabled in order to use the functionality
 714          of the device.
 715
 716config MFD_MAX77843
 717        bool "Maxim Semiconductor MAX77843 PMIC Support"
 718        depends on I2C=y
 719        select MFD_CORE
 720        select REGMAP_I2C
 721        select REGMAP_IRQ
 722        help
 723          Say yes here to add support for Maxim Semiconductor MAX77843.
 724          This is companion Power Management IC with LEDs, Haptic, Charger,
 725          Fuel Gauge, MUIC(Micro USB Interface Controller) controls on chip.
 726          This driver provides common support for accessing the device;
 727          additional drivers must be enabled in order to use the functionality
 728          of the device.
 729
 730config MFD_MAX8907
 731        tristate "Maxim Semiconductor MAX8907 PMIC Support"
 732        select MFD_CORE
 733        depends on I2C
 734        select REGMAP_I2C
 735        select REGMAP_IRQ
 736        help
 737          Say yes here to add support for Maxim Semiconductor MAX8907. This is
 738          a Power Management IC. This driver provides common support for
 739          accessing the device; additional drivers must be enabled in order
 740          to use the functionality of the device.
 741
 742config MFD_MAX8925
 743        bool "Maxim Semiconductor MAX8925 PMIC Support"
 744        depends on I2C=y
 745        select MFD_CORE
 746        help
 747          Say yes here to add support for Maxim Semiconductor MAX8925. 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.
 751
 752config MFD_MAX8997
 753        bool "Maxim Semiconductor MAX8997/8966 PMIC Support"
 754        depends on I2C=y
 755        select MFD_CORE
 756        select IRQ_DOMAIN
 757        help
 758          Say yes here to add support for Maxim Semiconductor MAX8997/8966.
 759          This is a Power Management IC with RTC, Flash, Fuel Gauge, Haptic,
 760          MUIC controls on chip.
 761          This driver provides common support for accessing the device;
 762          additional drivers must be enabled in order to use the functionality
 763          of the device.
 764
 765config MFD_MAX8998
 766        bool "Maxim Semiconductor MAX8998/National LP3974 PMIC Support"
 767        depends on I2C=y
 768        select MFD_CORE
 769        select IRQ_DOMAIN
 770        help
 771          Say yes here to add support for Maxim Semiconductor MAX8998 and
 772          National Semiconductor LP3974. This is a Power Management IC.
 773          This driver provides common support for accessing the device,
 774          additional drivers must be enabled in order to use the functionality
 775          of the device.
 776
 777config MFD_MT6397
 778        tristate "MediaTek MT6397 PMIC Support"
 779        select MFD_CORE
 780        select IRQ_DOMAIN
 781        help
 782          Say yes here to add support for MediaTek MT6397 PMIC. This is
 783          a Power Management IC. This driver provides common support for
 784          accessing the device; additional drivers must be enabled in order
 785          to use the functionality of the device.
 786
 787config MFD_MENF21BMC
 788        tristate "MEN 14F021P00 Board Management Controller Support"
 789        depends on I2C
 790        select MFD_CORE
 791        help
 792          Say yes here to add support for the MEN 14F021P00 BMC
 793          which is a Board Management Controller connected to the I2C bus.
 794          The device supports multiple sub-devices like LED, HWMON and WDT.
 795          This driver provides common support for accessing the devices;
 796          additional drivers must be enabled in order to use the
 797          functionality of the BMC device.
 798
 799          This driver can also be built as a module. If so the module
 800          will be called menf21bmc.
 801
 802config EZX_PCAP
 803        bool "Motorola EZXPCAP Support"
 804        depends on SPI_MASTER
 805        help
 806          This enables the PCAP ASIC present on EZX Phones. This is
 807          needed for MMC, TouchScreen, Sound, USB, etc..
 808
 809config MFD_CPCAP
 810        tristate "Support for Motorola CPCAP"
 811        depends on SPI
 812        depends on OF || COMPILE_TEST
 813        select REGMAP_SPI
 814        select REGMAP_IRQ
 815        help
 816          Say yes here if you want to include driver for CPCAP.
 817          It is used on many Motorola phones and tablets as a PMIC.
 818          At least Motorola Droid 4 is known to use CPCAP.
 819
 820config MFD_VIPERBOARD
 821        tristate "Nano River Technologies Viperboard"
 822        select MFD_CORE
 823        depends on USB
 824        default n
 825        help
 826          Say yes here if you want support for Nano River Technologies
 827          Viperboard.
 828          There are mfd cell drivers available for i2c master, adc and
 829          both gpios found on the board. The spi part does not yet
 830          have a driver.
 831          You need to select the mfd cell drivers separately.
 832          The drivers do not support all features the board exposes.
 833
 834config MFD_RETU
 835        tristate "Nokia Retu and Tahvo multi-function device"
 836        select MFD_CORE
 837        depends on I2C
 838        select REGMAP_IRQ
 839        help
 840          Retu and Tahvo are a multi-function devices found on Nokia
 841          Internet Tablets (770, N800 and N810).
 842
 843config MFD_PCF50633
 844        tristate "NXP PCF50633"
 845        depends on I2C
 846        select REGMAP_I2C
 847        help
 848          Say yes here if you have NXP PCF50633 chip on your board.
 849          This core driver provides register access and IRQ handling
 850          facilities, and registers devices for the various functions
 851          so that function-specific drivers can bind to them.
 852
 853config PCF50633_ADC
 854        tristate "NXP PCF50633 ADC"
 855        depends on MFD_PCF50633
 856        help
 857         Say yes here if you want to include support for ADC in the
 858         NXP PCF50633 chip.
 859
 860config PCF50633_GPIO
 861        tristate "NXP PCF50633 GPIO"
 862        depends on MFD_PCF50633
 863        help
 864         Say yes here if you want to include support GPIO for pins on
 865         the PCF50633 chip.
 866
 867config UCB1400_CORE
 868        tristate "Philips UCB1400 Core driver"
 869        depends on AC97_BUS
 870        depends on GPIOLIB
 871        help
 872          This enables support for the Philips UCB1400 core functions.
 873          The UCB1400 is an AC97 audio codec.
 874
 875          To compile this driver as a module, choose M here: the
 876          module will be called ucb1400_core.
 877
 878config MFD_PM8XXX
 879        tristate "Qualcomm PM8xxx PMIC chips driver"
 880        depends on (ARM || HEXAGON || COMPILE_TEST)
 881        select IRQ_DOMAIN
 882        select MFD_CORE
 883        select REGMAP
 884        help
 885          If you say yes to this option, support will be included for the
 886          built-in PM8xxx PMIC chips.
 887
 888          This is required if your board has a PM8xxx and uses its features,
 889          such as: MPPs, GPIOs, regulators, interrupts, and PWM.
 890
 891          Say M here if you want to include support for PM8xxx chips as a
 892          module. This will build a module called "pm8xxx-core".
 893
 894config MFD_QCOM_RPM
 895        tristate "Qualcomm Resource Power Manager (RPM)"
 896        depends on ARCH_QCOM && OF
 897        help
 898          If you say yes to this option, support will be included for the
 899          Resource Power Manager system found in the Qualcomm 8660, 8960 and
 900          8064 based devices.
 901
 902          This is required to access many regulators, clocks and bus
 903          frequencies controlled by the RPM on these devices.
 904
 905          Say M here if you want to include support for the Qualcomm RPM as a
 906          module. This will build a module called "qcom_rpm".
 907
 908config MFD_SPMI_PMIC
 909        tristate "Qualcomm SPMI PMICs"
 910        depends on ARCH_QCOM || COMPILE_TEST
 911        depends on OF
 912        depends on SPMI
 913        select REGMAP_SPMI
 914        help
 915          This enables support for the Qualcomm SPMI PMICs.
 916          These PMICs are currently used with the Snapdragon 800 series of
 917          SoCs.  Note, that this will only be useful paired with descriptions
 918          of the independent functions as children nodes in the device tree.
 919
 920          Say M here if you want to include support for the SPMI PMIC
 921          series as a module.  The module will be called "qcom-spmi-pmic".
 922
 923config MFD_RDC321X
 924        tristate "RDC R-321x southbridge"
 925        select MFD_CORE
 926        depends on PCI
 927        help
 928          Say yes here if you want to have support for the RDC R-321x SoC
 929          southbridge which provides access to GPIOs and Watchdog using the
 930          southbridge PCI device configuration space.
 931
 932config MFD_RT5033
 933        tristate "Richtek RT5033 Power Management IC"
 934        depends on I2C
 935        select MFD_CORE
 936        select REGMAP_I2C
 937        select REGMAP_IRQ
 938        help
 939          This driver provides for the Richtek RT5033 Power Management IC,
 940          which includes the I2C driver and the Core APIs. This driver provides
 941          common support for accessing the device. The device supports multiple
 942          sub-devices like charger, fuel gauge, flash LED, current source,
 943          LDO and Buck.
 944
 945config MFD_RC5T583
 946        bool "Ricoh RC5T583 Power Management system device"
 947        depends on I2C=y
 948        select MFD_CORE
 949        select REGMAP_I2C
 950        help
 951          Select this option to get support for the RICOH583 Power
 952          Management system device.
 953          This driver provides common support for accessing the device
 954          through i2c interface. The device supports multiple sub-devices
 955          like GPIO, interrupts, RTC, LDO and DCDC regulators, onkey.
 956          Additional drivers must be enabled in order to use the
 957          different functionality of the device.
 958
 959config MFD_RK808
 960        tristate "Rockchip RK805/RK808/RK818 Power Management Chip"
 961        depends on I2C && OF
 962        select MFD_CORE
 963        select REGMAP_I2C
 964        select REGMAP_IRQ
 965        help
 966          If you say yes here you get support for the RK805, RK808 and RK818
 967          Power Management chips.
 968          This driver provides common support for accessing the device
 969          through I2C interface. The device supports multiple sub-devices
 970          including interrupts, RTC, LDO & DCDC regulators, and onkey.
 971
 972config MFD_RN5T618
 973        tristate "Ricoh RN5T567/618 PMIC"
 974        depends on I2C
 975        depends on OF
 976        select MFD_CORE
 977        select REGMAP_I2C
 978        help
 979          Say yes here to add support for the Ricoh RN5T567,
 980          RN5T618, RC5T619 PMIC.
 981          This driver provides common support for accessing the device,
 982          additional drivers must be enabled in order to use the
 983          functionality of the device.
 984
 985config MFD_SEC_CORE
 986        bool "SAMSUNG Electronics PMIC Series Support"
 987        depends on I2C=y
 988        select MFD_CORE
 989        select REGMAP_I2C
 990        select REGMAP_IRQ
 991        help
 992         Support for the Samsung Electronics MFD series.
 993         This driver provides common support for accessing the device,
 994         additional drivers must be enabled in order to use the functionality
 995         of the device
 996
 997config MFD_SI476X_CORE
 998        tristate "Silicon Laboratories 4761/64/68 AM/FM radio."
 999        depends on I2C
1000        select MFD_CORE
1001        select REGMAP_I2C
1002        help
1003          This is the core driver for the SI476x series of AM/FM
1004          radio. This MFD driver connects the radio-si476x V4L2 module
1005          and the si476x audio codec.
1006
1007          To compile this driver as a module, choose M here: the
1008          module will be called si476x-core.
1009
1010config MFD_SM501
1011        tristate "Silicon Motion SM501"
1012         ---help---
1013          This is the core driver for the Silicon Motion SM501 multimedia
1014          companion chip. This device is a multifunction device which may
1015          provide numerous interfaces including USB host controller, USB gadget,
1016          asynchronous serial ports, audio functions, and a dual display video
1017          interface. The device may be connected by PCI or local bus with
1018          varying functions enabled.
1019
1020config MFD_SM501_GPIO
1021        bool "Export GPIO via GPIO layer"
1022        depends on MFD_SM501 && GPIOLIB
1023         ---help---
1024         This option uses the gpio library layer to export the 64 GPIO
1025         lines on the SM501. The platform data is used to supply the
1026         base number for the first GPIO line to register.
1027
1028config MFD_SKY81452
1029        tristate "Skyworks Solutions SKY81452"
1030        select MFD_CORE
1031        select REGMAP_I2C
1032        depends on I2C
1033        help
1034          This is the core driver for the Skyworks SKY81452 backlight and
1035          voltage regulator device.
1036
1037          This driver can also be built as a module.  If so, the module
1038          will be called sky81452.
1039
1040config MFD_SMSC
1041       bool "SMSC ECE1099 series chips"
1042       depends on I2C=y
1043       select MFD_CORE
1044       select REGMAP_I2C
1045       help
1046        If you say yes here you get support for the
1047        ece1099 chips from SMSC.
1048
1049        To compile this driver as a module, choose M here: the
1050        module will be called smsc.
1051
1052config MFD_SC27XX_PMIC
1053        tristate "Spreadtrum SC27xx PMICs"
1054        depends on ARCH_SPRD || COMPILE_TEST
1055        depends on SPI_MASTER
1056        select MFD_CORE
1057        select REGMAP_SPI
1058        select REGMAP_IRQ
1059        help
1060          This enables support for the Spreadtrum SC27xx PMICs with SPI
1061          interface. The SC27xx series PMICs integrate power management,
1062          audio codec, battery management and user interface support
1063          function (such as RTC, Typec, indicator and so on) in a single chip.
1064
1065          This driver provides common support for accessing the SC27xx PMICs,
1066          and it also adds the irq_chip parts for handling the PMIC chip events.
1067
1068config ABX500_CORE
1069        bool "ST-Ericsson ABX500 Mixed Signal Circuit register functions"
1070        default y if ARCH_U300 || ARCH_U8500 || COMPILE_TEST
1071        help
1072          Say yes here if you have the ABX500 Mixed Signal IC family
1073          chips. This core driver expose register access functions.
1074          Functionality specific drivers using these functions can
1075          remain unchanged when IC changes. Binding of the functions to
1076          actual register access is done by the IC core driver.
1077
1078config AB3100_CORE
1079        bool "ST-Ericsson AB3100 Mixed Signal Circuit core functions"
1080        depends on I2C=y && ABX500_CORE
1081        select MFD_CORE
1082        default y if ARCH_U300
1083        help
1084          Select this to enable the AB3100 Mixed Signal IC core
1085          functionality. This connects to a AB3100 on the I2C bus
1086          and expose a number of symbols needed for dependent devices
1087          to read and write registers and subscribe to events from
1088          this multi-functional IC. This is needed to use other features
1089          of the AB3100 such as battery-backed RTC, charging control,
1090          LEDs, vibrator, system power and temperature, power management
1091          and ALSA sound.
1092
1093config AB3100_OTP
1094        tristate "ST-Ericsson AB3100 OTP functions"
1095        depends on AB3100_CORE
1096        default y if AB3100_CORE
1097        help
1098          Select this to enable the AB3100 Mixed Signal IC OTP (one-time
1099          programmable memory) support. This exposes a sysfs file to read
1100          out OTP values.
1101
1102config AB8500_CORE
1103        bool "ST-Ericsson AB8500 Mixed Signal Power Management chip"
1104        depends on ABX500_CORE && MFD_DB8500_PRCMU
1105        select POWER_SUPPLY
1106        select MFD_CORE
1107        select IRQ_DOMAIN
1108        help
1109          Select this option to enable access to AB8500 power management
1110          chip. This connects to U8500 either on the SSP/SPI bus (deprecated
1111          since hardware version v1.0) or the I2C bus via PRCMU. It also adds
1112          the irq_chip parts for handling the Mixed Signal chip events.
1113          This chip embeds various other multimedia funtionalities as well.
1114
1115config AB8500_DEBUG
1116       bool "Enable debug info via debugfs"
1117       depends on AB8500_GPADC && DEBUG_FS
1118       default y if DEBUG_FS
1119       help
1120         Select this option if you want debug information using the debug
1121         filesystem, debugfs.
1122
1123config AB8500_GPADC
1124        bool "ST-Ericsson AB8500 GPADC driver"
1125        depends on AB8500_CORE && REGULATOR_AB8500
1126        default y
1127        help
1128          AB8500 GPADC driver used to convert Acc and battery/ac/usb voltage
1129
1130config MFD_DB8500_PRCMU
1131        bool "ST-Ericsson DB8500 Power Reset Control Management Unit"
1132        depends on UX500_SOC_DB8500
1133        select MFD_CORE
1134        help
1135          Select this option to enable support for the DB8500 Power Reset
1136          and Control Management Unit. This is basically an autonomous
1137          system controller running an XP70 microprocessor, which is accessed
1138          through a register map.
1139
1140config MFD_STMPE
1141        bool "STMicroelectronics STMPE"
1142        depends on (I2C=y || SPI_MASTER=y)
1143        depends on OF
1144        select MFD_CORE
1145        help
1146          Support for the STMPE family of I/O Expanders from
1147          STMicroelectronics.
1148
1149          Currently supported devices are:
1150
1151                STMPE811: GPIO, Touchscreen
1152                STMPE1601: GPIO, Keypad
1153                STMPE1801: GPIO, Keypad
1154                STMPE2401: GPIO, Keypad
1155                STMPE2403: GPIO, Keypad
1156
1157          This driver provides common support for accessing the device,
1158          additional drivers must be enabled in order to use the functionality
1159          of the device.  Currently available sub drivers are:
1160
1161                GPIO: stmpe-gpio
1162                Keypad: stmpe-keypad
1163                Touchscreen: stmpe-ts
1164
1165menu "STMicroelectronics STMPE Interface Drivers"
1166depends on MFD_STMPE
1167
1168config STMPE_I2C
1169        bool "STMicroelectronics STMPE I2C Interface"
1170        depends on I2C=y
1171        default y
1172        help
1173          This is used to enable I2C interface of STMPE
1174
1175config STMPE_SPI
1176        bool "STMicroelectronics STMPE SPI Interface"
1177        depends on SPI_MASTER
1178        help
1179          This is used to enable SPI interface of STMPE
1180endmenu
1181
1182config MFD_STA2X11
1183        bool "STMicroelectronics STA2X11"
1184        depends on STA2X11
1185        select MFD_CORE
1186        select REGMAP_MMIO
1187
1188config MFD_SUN6I_PRCM
1189        bool "Allwinner A31 PRCM controller"
1190        depends on ARCH_SUNXI
1191        select MFD_CORE
1192        help
1193          Support for the PRCM (Power/Reset/Clock Management) unit available
1194          in A31 SoC.
1195
1196config MFD_SYSCON
1197        bool "System Controller Register R/W Based on Regmap"
1198        select REGMAP_MMIO
1199        help
1200          Select this option to enable accessing system control registers
1201          via regmap.
1202
1203config MFD_DAVINCI_VOICECODEC
1204        tristate
1205        select MFD_CORE
1206        select REGMAP_MMIO
1207
1208config MFD_TI_AM335X_TSCADC
1209        tristate "TI ADC / Touch Screen chip support"
1210        select MFD_CORE
1211        select REGMAP
1212        select REGMAP_MMIO
1213        help
1214          If you say yes here you get support for Texas Instruments series
1215          of Touch Screen /ADC chips.
1216          To compile this driver as a module, choose M here: the
1217          module will be called ti_am335x_tscadc.
1218
1219config MFD_DM355EVM_MSP
1220        bool "TI DaVinci DM355 EVM microcontroller"
1221        depends on I2C=y && MACH_DAVINCI_DM355_EVM
1222        help
1223          This driver supports the MSP430 microcontroller used on these
1224          boards.  MSP430 firmware manages resets and power sequencing,
1225          inputs from buttons and the IR remote, LEDs, an RTC, and more.
1226
1227config MFD_LP3943
1228        tristate "TI/National Semiconductor LP3943 MFD Driver"
1229        depends on I2C
1230        select MFD_CORE
1231        select REGMAP_I2C
1232        help
1233          Support for the TI/National Semiconductor LP3943.
1234          This driver consists of GPIO and PWM drivers.
1235          With these functionalities, it can be used for LED string control or
1236          general usage such like a GPIO controller and a PWM controller.
1237
1238config MFD_LP8788
1239        bool "TI LP8788 Power Management Unit Driver"
1240        depends on I2C=y
1241        select MFD_CORE
1242        select REGMAP_I2C
1243        select IRQ_DOMAIN
1244        help
1245          TI LP8788 PMU supports regulators, battery charger, RTC,
1246          ADC, backlight driver and current sinks.
1247
1248config MFD_TI_LMU
1249        tristate "TI Lighting Management Unit driver"
1250        depends on I2C
1251        select MFD_CORE
1252        select REGMAP_I2C
1253        help
1254          Say yes here to enable support for TI LMU chips.
1255
1256          TI LMU MFD supports LM3532, LM3631, LM3632, LM3633, LM3695 and LM3697.
1257          It consists of backlight, LED and regulator driver.
1258          It provides consistent device controls for lighting functions.
1259
1260config MFD_OMAP_USB_HOST
1261        bool "TI OMAP USBHS core and TLL driver"
1262        depends on USB_EHCI_HCD_OMAP || USB_OHCI_HCD_OMAP3
1263        default y
1264        help
1265          This is the core driver for the OAMP EHCI and OHCI drivers.
1266          This MFD driver does the required setup functionalities for
1267          OMAP USB Host drivers.
1268
1269config MFD_PALMAS
1270        bool "TI Palmas series chips"
1271        select MFD_CORE
1272        select REGMAP_I2C
1273        select REGMAP_IRQ
1274        depends on I2C=y
1275        help
1276          If you say yes here you get support for the Palmas
1277          series of PMIC chips from Texas Instruments.
1278
1279config TPS6105X
1280        tristate "TI TPS61050/61052 Boost Converters"
1281        depends on I2C
1282        select REGMAP_I2C
1283        select REGULATOR
1284        select MFD_CORE
1285        select REGULATOR_FIXED_VOLTAGE
1286        help
1287          This option enables a driver for the TP61050/TPS61052
1288          high-power "white LED driver". This boost converter is
1289          sometimes used for other things than white LEDs, and
1290          also contains a GPIO pin.
1291
1292config TPS65010
1293        tristate "TI TPS6501x Power Management chips"
1294        depends on I2C && GPIOLIB
1295        default y if MACH_OMAP_H2 || MACH_OMAP_H3 || MACH_OMAP_OSK
1296        help
1297          If you say yes here you get support for the TPS6501x series of
1298          Power Management chips.  These include voltage regulators,
1299          lithium ion/polymer battery charging, and other features that
1300          are often used in portable devices like cell phones and cameras.
1301
1302          This driver can also be built as a module.  If so, the module
1303          will be called tps65010.
1304
1305config TPS6507X
1306        tristate "TI TPS6507x Power Management / Touch Screen chips"
1307        select MFD_CORE
1308        depends on I2C
1309        help
1310          If you say yes here you get support for the TPS6507x series of
1311          Power Management / Touch Screen chips.  These include voltage
1312          regulators, lithium ion/polymer battery charging, touch screen
1313          and other features that are often used in portable devices.
1314          This driver can also be built as a module.  If so, the module
1315          will be called tps6507x.
1316
1317config MFD_TPS65086
1318        tristate "TI TPS65086 Power Management Integrated Chips (PMICs)"
1319        select MFD_CORE
1320        select REGMAP
1321        select REGMAP_IRQ
1322        select REGMAP_I2C
1323        depends on I2C
1324        help
1325          If you say yes here you get support for the TPS65086 series of
1326          Power Management chips.
1327          This driver provides common support for accessing the device,
1328          additional drivers must be enabled in order to use the
1329          functionality of the device.
1330
1331config TPS65911_COMPARATOR
1332        tristate
1333
1334config MFD_TPS65090
1335        bool "TI TPS65090 Power Management chips"
1336        depends on I2C=y
1337        select MFD_CORE
1338        select REGMAP_I2C
1339        select REGMAP_IRQ
1340        help
1341          If you say yes here you get support for the TPS65090 series of
1342          Power Management chips.
1343          This driver provides common support for accessing the device,
1344          additional drivers must be enabled in order to use the
1345          functionality of the device.
1346
1347config MFD_TPS65217
1348        tristate "TI TPS65217 Power Management / White LED chips"
1349        depends on I2C && OF
1350        select MFD_CORE
1351        select REGMAP_I2C
1352        select IRQ_DOMAIN
1353        help
1354          If you say yes here you get support for the TPS65217 series of
1355          Power Management / White LED chips.
1356          These include voltage regulators, lithium ion/polymer battery
1357          charger, wled and other features that are often used in portable
1358          devices.
1359
1360          This driver can also be built as a module.  If so, the module
1361          will be called tps65217.
1362
1363config MFD_TPS68470
1364        bool "TI TPS68470 Power Management / LED chips"
1365        depends on ACPI && PCI && I2C=y
1366        select MFD_CORE
1367        select REGMAP_I2C
1368        select I2C_DESIGNWARE_PLATFORM
1369        help
1370          If you say yes here you get support for the TPS68470 series of
1371          Power Management / LED chips.
1372
1373          These include voltage regulators, LEDs and other features
1374          that are often used in portable devices.
1375
1376          This option is a bool as it provides an ACPI operation
1377          region, which must be available before any of the devices
1378          using this are probed. This option also configures the
1379          designware-i2c driver to be built-in, for the same reason.
1380
1381config MFD_TI_LP873X
1382        tristate "TI LP873X Power Management IC"
1383        depends on I2C
1384        select MFD_CORE
1385        select REGMAP_I2C
1386        help
1387          If you say yes here then you get support for the LP873X series of
1388          Power Management Integrated Circuits (PMIC).
1389          These include voltage regulators, thermal protection, configurable
1390          General Purpose Outputs (GPO) that are used in portable devices.
1391
1392          This driver can also be built as a module. If so, the module
1393          will be called lp873x.
1394
1395config MFD_TI_LP87565
1396        tristate "TI LP87565 Power Management IC"
1397        depends on I2C && OF
1398        select MFD_CORE
1399        select REGMAP_I2C
1400        help
1401          If you say yes here then you get support for the LP87565 series of
1402          Power Management Integrated Circuits (PMIC).
1403          These include voltage regulators, thermal protection, configurable
1404          General Purpose Outputs (GPO) that are used in portable devices.
1405
1406          This driver can also be built as a module. If so, the module
1407          will be called lp87565.
1408
1409config MFD_TPS65218
1410        tristate "TI TPS65218 Power Management chips"
1411        depends on I2C && OF
1412        select MFD_CORE
1413        select REGMAP_I2C
1414        select REGMAP_IRQ
1415        help
1416          If you say yes here you get support for the TPS65218 series of
1417          Power Management chips.
1418          These include voltage regulators, gpio and other features
1419          that are often used in portable devices.
1420
1421          This driver can also be built as a module.  If so, the module
1422          will be called tps65218.
1423
1424config MFD_TPS6586X
1425        bool "TI TPS6586x Power Management chips"
1426        depends on I2C=y
1427        select MFD_CORE
1428        select REGMAP_I2C
1429        help
1430          If you say yes here you get support for the TPS6586X series of
1431          Power Management chips.
1432          This driver provides common support for accessing the device,
1433          additional drivers must be enabled in order to use the
1434          functionality of the device.
1435
1436          This driver can also be built as a module.  If so, the module
1437          will be called tps6586x.
1438
1439config MFD_TPS65910
1440        bool "TI TPS65910 Power Management chip"
1441        depends on I2C=y
1442        depends on GPIOLIB || COMPILE_TEST
1443        select MFD_CORE
1444        select REGMAP_I2C
1445        select REGMAP_IRQ
1446        select IRQ_DOMAIN
1447        help
1448          if you say yes here you get support for the TPS65910 series of
1449          Power Management chips.
1450
1451config MFD_TPS65912
1452        tristate
1453        select MFD_CORE
1454        select REGMAP
1455        select REGMAP_IRQ
1456
1457config MFD_TPS65912_I2C
1458        tristate "TI TPS65912 Power Management chip with I2C"
1459        select MFD_TPS65912
1460        select REGMAP_I2C
1461        depends on I2C
1462        help
1463          If you say yes here you get support for the TPS65912 series of
1464          PM chips with I2C interface.
1465
1466config MFD_TPS65912_SPI
1467        tristate "TI TPS65912 Power Management chip with SPI"
1468        select MFD_TPS65912
1469        select REGMAP_SPI
1470        depends on SPI_MASTER
1471        help
1472          If you say yes here you get support for the TPS65912 series of
1473          PM chips with SPI interface.
1474
1475config MFD_TPS80031
1476        bool "TI TPS80031/TPS80032 Power Management chips"
1477        depends on I2C=y
1478        select MFD_CORE
1479        select REGMAP_I2C
1480        select REGMAP_IRQ
1481        help
1482          If you say yes here you get support for the Texas Instruments
1483          TPS80031/ TPS80032 Fully Integrated Power Management with Power
1484          Path and Battery Charger. The device provides five configurable
1485          step-down converters, 11 general purpose LDOs, USB OTG Module,
1486          ADC, RTC, 2 PWM, System Voltage Regulator/Battery Charger with
1487          Power Path from USB, 32K clock generator.
1488
1489config TWL4030_CORE
1490        bool "TI TWL4030/TWL5030/TWL6030/TPS659x0 Support"
1491        depends on I2C=y
1492        select IRQ_DOMAIN
1493        select REGMAP_I2C
1494        help
1495          Say yes here if you have TWL4030 / TWL6030 family chip on your board.
1496          This core driver provides register access and IRQ handling
1497          facilities, and registers devices for the various functions
1498          so that function-specific drivers can bind to them.
1499
1500          These multi-function chips are found on many OMAP2 and OMAP3
1501          boards, providing power management, RTC, GPIO, keypad, a
1502          high speed USB OTG transceiver, an audio codec (on most
1503          versions) and many other features.
1504
1505config TWL4030_POWER
1506        bool "TI TWL4030 power resources"
1507        depends on TWL4030_CORE && ARM
1508        help
1509          Say yes here if you want to use the power resources on the
1510          TWL4030 family chips.  Most of these resources are regulators,
1511          which have a separate driver; some are control signals, such
1512          as clock request handshaking.
1513
1514          This driver uses board-specific data to initialize the resources
1515          and load scripts controlling which resources are switched off/on
1516          or reset when a sleep, wakeup or warm reset event occurs.
1517
1518config MFD_TWL4030_AUDIO
1519        bool "TI TWL4030 Audio"
1520        depends on TWL4030_CORE
1521        select MFD_CORE
1522        default n
1523
1524config TWL6040_CORE
1525        bool "TI TWL6040 audio codec"
1526        depends on I2C=y
1527        select MFD_CORE
1528        select REGMAP_I2C
1529        select REGMAP_IRQ
1530        default n
1531        help
1532          Say yes here if you want support for Texas Instruments TWL6040 audio
1533          codec.
1534          This driver provides common support for accessing the device,
1535          additional drivers must be enabled in order to use the
1536          functionality of the device (audio, vibra).
1537
1538config MENELAUS
1539        bool "TI TWL92330/Menelaus PM chip"
1540        depends on I2C=y && ARCH_OMAP2
1541        help
1542          If you say yes here you get support for the Texas Instruments
1543          TWL92330/Menelaus Power Management chip. This include voltage
1544          regulators, Dual slot memory card transceivers, real-time clock
1545          and other features that are often used in portable devices like
1546          cell phones and PDAs.
1547
1548config MFD_WL1273_CORE
1549        tristate "TI WL1273 FM radio"
1550        depends on I2C
1551        select MFD_CORE
1552        default n
1553        help
1554          This is the core driver for the TI WL1273 FM radio. This MFD
1555          driver connects the radio-wl1273 V4L2 module and the wl1273
1556          audio codec.
1557
1558config MFD_LM3533
1559        tristate "TI/National Semiconductor LM3533 Lighting Power chip"
1560        depends on I2C
1561        select MFD_CORE
1562        select REGMAP_I2C
1563        help
1564          Say yes here to enable support for National Semiconductor / TI
1565          LM3533 Lighting Power chips.
1566
1567          This driver provides common support for accessing the device;
1568          additional drivers must be enabled in order to use the LED,
1569          backlight or ambient-light-sensor functionality of the device.
1570
1571config MFD_TIMBERDALE
1572        tristate "Timberdale FPGA"
1573        select MFD_CORE
1574        depends on PCI && GPIOLIB && (X86_32 || COMPILE_TEST)
1575        ---help---
1576        This is the core driver for the timberdale FPGA. This device is a
1577        multifunction device which exposes numerous platform devices.
1578
1579        The timberdale FPGA can be found on the Intel Atom development board
1580        for in-vehicle infontainment, called Russellville.
1581
1582config MFD_TC3589X
1583        bool "Toshiba TC35892 and variants"
1584        depends on I2C=y
1585        depends on OF
1586        select MFD_CORE
1587        help
1588          Support for the Toshiba TC35892 and variants I/O Expander.
1589
1590          This driver provides common support for accessing the device,
1591          additional drivers must be enabled in order to use the
1592          functionality of the device.
1593
1594config MFD_TMIO
1595        bool
1596        default n
1597
1598config MFD_T7L66XB
1599        bool "Toshiba T7L66XB"
1600        depends on ARM && HAVE_CLK
1601        select MFD_CORE
1602        select MFD_TMIO
1603        help
1604          Support for Toshiba Mobile IO Controller T7L66XB
1605
1606config MFD_TC6387XB
1607        bool "Toshiba TC6387XB"
1608        depends on ARM && HAVE_CLK
1609        select MFD_CORE
1610        select MFD_TMIO
1611        help
1612          Support for Toshiba Mobile IO Controller TC6387XB
1613
1614config MFD_TC6393XB
1615        bool "Toshiba TC6393XB"
1616        depends on ARM && HAVE_CLK
1617        select GPIOLIB
1618        select MFD_CORE
1619        select MFD_TMIO
1620        help
1621          Support for Toshiba Mobile IO Controller TC6393XB
1622
1623config MFD_VX855
1624        tristate "VIA VX855/VX875 integrated south bridge"
1625        depends on PCI
1626        select MFD_CORE
1627        help
1628          Say yes here to enable support for various functions of the
1629          VIA VX855/VX875 south bridge. You will need to enable the vx855_spi
1630          and/or vx855_gpio drivers for this to do anything useful.
1631
1632config MFD_LOCHNAGAR
1633        bool "Cirrus Logic Lochnagar Audio Development Board"
1634        select MFD_CORE
1635        select REGMAP_I2C
1636        depends on I2C=y && OF
1637        help
1638          Support for Cirrus Logic Lochnagar audio development board.
1639
1640config MFD_ARIZONA
1641        select REGMAP
1642        select REGMAP_IRQ
1643        select MFD_CORE
1644        bool
1645
1646config MFD_ARIZONA_I2C
1647        tristate "Cirrus Logic/Wolfson Microelectronics Arizona platform with I2C"
1648        select MFD_ARIZONA
1649        select REGMAP_I2C
1650        depends on I2C
1651        help
1652          Support for the Cirrus Logic/Wolfson Microelectronics Arizona platform
1653          audio SoC core functionality controlled via I2C.
1654
1655config MFD_ARIZONA_SPI
1656        tristate "Cirrus Logic/Wolfson Microelectronics Arizona platform with SPI"
1657        select MFD_ARIZONA
1658        select REGMAP_SPI
1659        depends on SPI_MASTER
1660        help
1661          Support for the Cirrus Logic/Wolfson Microelectronics Arizona platform
1662          audio SoC core functionality controlled via SPI.
1663
1664config MFD_CS47L24
1665        bool "Cirrus Logic CS47L24 and WM1831"
1666        depends on MFD_ARIZONA
1667        help
1668          Support for Cirrus Logic CS47L24 and WM1831 low power audio SoC
1669
1670config MFD_WM5102
1671        bool "Wolfson Microelectronics WM5102"
1672        depends on MFD_ARIZONA
1673        help
1674          Support for Wolfson Microelectronics WM5102 low power audio SoC
1675
1676config MFD_WM5110
1677        bool "Wolfson Microelectronics WM5110 and WM8280/WM8281"
1678        depends on MFD_ARIZONA
1679        help
1680          Support for Wolfson Microelectronics WM5110 and WM8280/WM8281
1681          low power audio SoC
1682
1683config MFD_WM8997
1684        bool "Wolfson Microelectronics WM8997"
1685        depends on MFD_ARIZONA
1686        help
1687          Support for Wolfson Microelectronics WM8997 low power audio SoC
1688
1689config MFD_WM8998
1690        bool "Wolfson Microelectronics WM8998"
1691        depends on MFD_ARIZONA
1692        help
1693          Support for Wolfson Microelectronics WM8998 low power audio SoC
1694
1695config MFD_WM8400
1696        bool "Wolfson Microelectronics WM8400"
1697        select MFD_CORE
1698        depends on I2C=y
1699        select REGMAP_I2C
1700        help
1701          Support for the Wolfson Microelecronics WM8400 PMIC and audio
1702          CODEC.  This driver provides common support for accessing
1703          the device, additional drivers must be enabled in order to use
1704          the functionality of the device.
1705
1706config MFD_WM831X
1707        bool
1708
1709config MFD_WM831X_I2C
1710        bool "Wolfson Microelectronics WM831x/2x PMICs with I2C"
1711        select MFD_CORE
1712        select MFD_WM831X
1713        select REGMAP_I2C
1714        select IRQ_DOMAIN
1715        depends on I2C=y
1716        help
1717          Support for the Wolfson Microelecronics WM831x and WM832x PMICs
1718          when controlled using I2C.  This driver provides common support
1719          for accessing the device, additional drivers must be enabled in
1720          order to use the functionality of the device.
1721
1722config MFD_WM831X_SPI
1723        bool "Wolfson Microelectronics WM831x/2x PMICs with SPI"
1724        select MFD_CORE
1725        select MFD_WM831X
1726        select REGMAP_SPI
1727        select IRQ_DOMAIN
1728        depends on SPI_MASTER
1729        help
1730          Support for the Wolfson Microelecronics WM831x and WM832x PMICs
1731          when controlled using SPI.  This driver provides common support
1732          for accessing the device, additional drivers must be enabled in
1733          order to use the functionality of the device.
1734
1735config MFD_WM8350
1736        bool
1737
1738config MFD_WM8350_I2C
1739        bool "Wolfson Microelectronics WM8350 with I2C"
1740        select MFD_WM8350
1741        select REGMAP_I2C
1742        depends on I2C=y
1743        help
1744          The WM8350 is an integrated audio and power management
1745          subsystem with watchdog and RTC functionality for embedded
1746          systems.  This option enables core support for the WM8350 with
1747          I2C as the control interface.  Additional options must be
1748          selected to enable support for the functionality of the chip.
1749
1750config MFD_WM8994
1751        tristate "Wolfson Microelectronics WM8994"
1752        select MFD_CORE
1753        select REGMAP_I2C
1754        select REGMAP_IRQ
1755        depends on I2C
1756        help
1757          The WM8994 is a highly integrated hi-fi CODEC designed for
1758          smartphone applications.  As well as audio functionality it
1759          has on board GPIO and regulator functionality which is
1760          supported via the relevant subsystems.  This driver provides
1761          core support for the WM8994, in order to use the actual
1762          functionaltiy of the device other drivers must be enabled.
1763
1764config MFD_WM97xx
1765        tristate "Wolfson Microelectronics WM97xx"
1766        select MFD_CORE
1767        select REGMAP_AC97
1768        select AC97_BUS_COMPAT
1769        depends on AC97_BUS_NEW
1770        help
1771          The WM9705, WM9712 and WM9713 is a highly integrated hi-fi CODEC
1772          designed for smartphone applications.  As well as audio functionality
1773          it has on board GPIO and a touchscreen functionality which is
1774          supported via the relevant subsystems.  This driver provides core
1775          support for the WM97xx, in order to use the actual functionaltiy of
1776          the device other drivers must be enabled.
1777
1778config MFD_STW481X
1779        tristate "Support for ST Microelectronics STw481x"
1780        depends on I2C && (ARCH_NOMADIK || COMPILE_TEST)
1781        select REGMAP_I2C
1782        select MFD_CORE
1783        help
1784          Select this option to enable the STw481x chip driver used
1785          in various ST Microelectronics and ST-Ericsson embedded
1786          Nomadik series.
1787
1788config MFD_STM32_LPTIMER
1789        tristate "Support for STM32 Low-Power Timer"
1790        depends on (ARCH_STM32 && OF) || COMPILE_TEST
1791        select MFD_CORE
1792        select REGMAP
1793        select REGMAP_MMIO
1794        help
1795          Select this option to enable STM32 Low-Power Timer driver
1796          used for PWM, IIO Trigger, IIO Encoder and Counter. Shared
1797          resources are also dealt with here.
1798
1799          To compile this driver as a module, choose M here: the
1800          module will be called stm32-lptimer.
1801
1802config MFD_STM32_TIMERS
1803        tristate "Support for STM32 Timers"
1804        depends on (ARCH_STM32 && OF) || COMPILE_TEST
1805        select MFD_CORE
1806        select REGMAP
1807        select REGMAP_MMIO
1808        help
1809          Select this option to enable STM32 timers driver used
1810          for PWM and IIO Timer. This driver allow to share the
1811          registers between the others drivers.
1812
1813menu "Multimedia Capabilities Port drivers"
1814        depends on ARCH_SA1100
1815
1816config MCP
1817        tristate
1818
1819# Interface drivers
1820config MCP_SA11X0
1821        tristate "Support SA11x0 MCP interface"
1822        depends on ARCH_SA1100
1823        select MCP
1824
1825# Chip drivers
1826config MCP_UCB1200
1827        tristate "Support for UCB1200 / UCB1300"
1828        depends on MCP_SA11X0
1829        select MCP
1830
1831config MCP_UCB1200_TS
1832        tristate "Touchscreen interface support"
1833        depends on MCP_UCB1200 && INPUT
1834
1835endmenu
1836
1837config MFD_VEXPRESS_SYSREG
1838        bool "Versatile Express System Registers"
1839        depends on VEXPRESS_CONFIG && GPIOLIB && !ARCH_USES_GETTIMEOFFSET
1840        default y
1841        select CLKSRC_MMIO
1842        select GPIO_GENERIC_PLATFORM
1843        select MFD_CORE
1844        select MFD_SYSCON
1845        help
1846          System Registers are the platform configuration block
1847          on the ARM Ltd. Versatile Express board.
1848
1849config RAVE_SP_CORE
1850        tristate "RAVE SP MCU core driver"
1851        depends on SERIAL_DEV_BUS
1852        select CRC_CCITT
1853        help
1854          Select this to get support for the Supervisory Processor
1855          device found on several devices in RAVE line of hardware.
1856
1857endmenu
1858endif
1859