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