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