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 && OF 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 I2C_K1 1279 select MFD_SIMPLE_MFD_I2C 1280 help 1281 This option supports the I2C-based SpacemiT P1 PMIC, which 1282 contains regulators, a power switch, GPIOs, an RTC, and more. 1283 This option is selected when any of the supported sub-devices 1284 is configured. The basic functionality is implemented by the 1285 simple MFD I2C driver. 1286 1287config MFD_SPMI_PMIC 1288 tristate "Qualcomm SPMI PMICs" 1289 depends on ARCH_QCOM || COMPILE_TEST 1290 depends on OF 1291 depends on SPMI 1292 select REGMAP_SPMI 1293 help 1294 This enables support for the Qualcomm SPMI PMICs. 1295 These PMICs are currently used with the Snapdragon 800 series of 1296 SoCs. Note, that this will only be useful paired with descriptions 1297 of the independent functions as children nodes in the device tree. 1298 1299 Say M here if you want to include support for the SPMI PMIC 1300 series as a module. The module will be called "qcom-spmi-pmic". 1301 1302config MFD_SY7636A 1303 tristate "Silergy SY7636A voltage regulator" 1304 depends on I2C 1305 select MFD_SIMPLE_MFD_I2C 1306 help 1307 Enable support for Silergy SY7636A voltage regulator. 1308 1309 To enable support for building sub-devices as modules, 1310 choose M here. 1311 1312config MFD_RDC321X 1313 tristate "RDC R-321x southbridge" 1314 select MFD_CORE 1315 depends on PCI 1316 help 1317 Say yes here if you want to have support for the RDC R-321x SoC 1318 southbridge which provides access to GPIOs and Watchdog using the 1319 southbridge PCI device configuration space. 1320 1321config MFD_RT4831 1322 tristate "Richtek RT4831 four channel WLED and Display Bias Voltage" 1323 depends on I2C 1324 select MFD_CORE 1325 select REGMAP_I2C 1326 help 1327 This enables support for the Richtek RT4831 that includes 4 channel 1328 WLED driving and Display Bias Voltage. It's commonly used to provide 1329 power to the LCD display and LCD backlight. 1330 1331config MFD_RT5033 1332 tristate "Richtek RT5033 Power Management IC" 1333 depends on I2C 1334 select MFD_CORE 1335 select REGMAP_I2C 1336 select REGMAP_IRQ 1337 help 1338 This driver provides for the Richtek RT5033 Power Management IC, 1339 which includes the I2C driver and the Core APIs. This driver provides 1340 common support for accessing the device. The device supports multiple 1341 sub-devices like charger, fuel gauge, flash LED, current source, 1342 LDO and Buck. 1343 1344config MFD_RT5120 1345 tristate "Richtek RT5120 Power Management IC" 1346 depends on I2C 1347 select MFD_CORE 1348 select REGMAP_I2C 1349 select REGMAP_IRQ 1350 help 1351 The enables support for Richtek RT5120 PMIC. It includes four high 1352 efficiency buck converters and one LDO voltage regulator. The device 1353 is targeted at providing the CPU voltage, memory, I/O and peripheral 1354 power rails in home entertainment devices. 1355 1356config MFD_RC5T583 1357 bool "Ricoh RC5T583 Power Management system device" 1358 depends on I2C=y 1359 select MFD_CORE 1360 select REGMAP_I2C 1361 help 1362 Select this option to get support for the RICOH583 Power 1363 Management system device. 1364 This driver provides common support for accessing the device 1365 through i2c interface. The device supports multiple sub-devices 1366 like GPIO, interrupts, RTC, LDO and DCDC regulators, onkey. 1367 Additional drivers must be enabled in order to use the 1368 different functionality of the device. 1369 1370config MFD_RK8XX 1371 tristate 1372 select MFD_CORE 1373 1374config MFD_RK8XX_I2C 1375 tristate "Rockchip RK805/RK808/RK809/RK816/RK817/RK818 Power Management Chip" 1376 depends on I2C && OF 1377 select MFD_CORE 1378 select REGMAP_I2C 1379 select REGMAP_IRQ 1380 select MFD_RK8XX 1381 help 1382 If you say yes here you get support for the RK805, RK808, RK809, 1383 RK816, RK817 and RK818 Power Management chips. 1384 This driver provides common support for accessing the device 1385 through I2C interface. The device supports multiple sub-devices 1386 including interrupts, RTC, LDO & DCDC regulators, and onkey. 1387 1388config MFD_RK8XX_SPI 1389 tristate "Rockchip RK806 Power Management Chip" 1390 depends on SPI && OF 1391 select MFD_CORE 1392 select REGMAP_SPI 1393 select REGMAP_IRQ 1394 select MFD_RK8XX 1395 help 1396 If you say yes here you get support for the RK806 Power Management 1397 chip. 1398 This driver provides common support for accessing the device 1399 through an SPI interface. The device supports multiple sub-devices 1400 including interrupts, LDO & DCDC regulators, and power on-key. 1401 1402config MFD_RN5T618 1403 tristate "Ricoh RN5T567/618 PMIC" 1404 depends on I2C 1405 depends on OF 1406 select MFD_CORE 1407 select REGMAP_I2C 1408 select REGMAP_IRQ 1409 help 1410 Say yes here to add support for the Ricoh RN5T567, 1411 RN5T618, RC5T619 PMIC. 1412 This driver provides common support for accessing the device, 1413 additional drivers must be enabled in order to use the 1414 functionality of the device. 1415 1416config MFD_SEC_CORE 1417 tristate 1418 select MFD_CORE 1419 select REGMAP_IRQ 1420 1421config MFD_SEC_ACPM 1422 tristate "Samsung Electronics S2MPG1x PMICs" 1423 depends on EXYNOS_ACPM_PROTOCOL 1424 depends on OF 1425 select MFD_SEC_CORE 1426 help 1427 Support for the Samsung Electronics PMICs with ACPM interface. 1428 This is a Power Management IC for mobile applications with buck 1429 converters, various LDOs, power meters, RTC, clock outputs, and 1430 additional GPIOs interfaces. 1431 This driver provides common support for accessing the device; 1432 additional drivers must be enabled in order to use the functionality 1433 of the device. 1434 1435 To compile this driver as a module, choose M here: the module will be 1436 called sec-acpm. 1437 1438config MFD_SEC_I2C 1439 tristate "Samsung Electronics S2MPA/S2MPS1X/S2MPU/S5M series PMICs" 1440 depends on I2C=y 1441 depends on OF 1442 select MFD_SEC_CORE 1443 select REGMAP_I2C 1444 help 1445 Support for the Samsung Electronics PMIC devices with I2C interface 1446 coming usually along with Samsung Exynos SoC chipset. 1447 This driver provides common support for accessing the device, 1448 additional drivers must be enabled in order to use the functionality 1449 of the device. 1450 1451 To compile this driver as a module, choose M here: the 1452 module will be called sec-i2c. 1453 Have in mind that important core drivers (like regulators) depend 1454 on this driver so building this as a module might require proper 1455 initial ramdisk or might not boot up as well in certain scenarios. 1456 1457config MFD_SI476X_CORE 1458 tristate "Silicon Laboratories 4761/64/68 AM/FM radio." 1459 depends on I2C 1460 depends on GPIOLIB_LEGACY 1461 select MFD_CORE 1462 select REGMAP_I2C 1463 help 1464 This is the core driver for the SI476x series of AM/FM 1465 radio. This MFD driver connects the radio-si476x V4L2 module 1466 and the si476x audio codec. 1467 1468 To compile this driver as a module, choose M here: the 1469 module will be called si476x-core. 1470 1471config MFD_SIMPLE_MFD_I2C 1472 tristate 1473 depends on I2C 1474 select MFD_CORE 1475 select REGMAP_I2C 1476 help 1477 This driver creates a single register map with the intention for it 1478 to be shared by all sub-devices. 1479 1480 Once the register map has been successfully initialised, any 1481 sub-devices represented by child nodes in Device Tree will be 1482 subsequently registered. 1483 1484config MFD_SL28CPLD 1485 tristate "Kontron sl28cpld Board Management Controller" 1486 depends on I2C 1487 depends on ARCH_LAYERSCAPE || COMPILE_TEST 1488 select MFD_SIMPLE_MFD_I2C 1489 help 1490 Say yes here to enable support for the Kontron sl28cpld board 1491 management controller. 1492 1493 It can be found on the following boards: 1494 * SMARC-sAL28 1495 1496config MFD_SM501 1497 tristate "Silicon Motion SM501" 1498 depends on HAS_DMA 1499 help 1500 This is the core driver for the Silicon Motion SM501 multimedia 1501 companion chip. This device is a multifunction device which may 1502 provide numerous interfaces including USB host controller, USB gadget, 1503 asynchronous serial ports, audio functions, and a dual display video 1504 interface. The device may be connected by PCI or local bus with 1505 varying functions enabled. 1506 1507config MFD_SM501_GPIO 1508 bool "Export GPIO via GPIO layer" 1509 depends on MFD_SM501 && GPIOLIB 1510 help 1511 This option uses the gpio library layer to export the 64 GPIO 1512 lines on the SM501. The platform data is used to supply the 1513 base number for the first GPIO line to register. 1514 1515config MFD_SKY81452 1516 tristate "Skyworks Solutions SKY81452" 1517 select MFD_CORE 1518 select REGMAP_I2C 1519 depends on I2C 1520 help 1521 This is the core driver for the Skyworks SKY81452 backlight and 1522 voltage regulator device. 1523 1524 This driver can also be built as a module. If so, the module 1525 will be called sky81452. 1526 1527config MFD_SC27XX_PMIC 1528 tristate "Spreadtrum SC27xx PMICs" 1529 depends on ARCH_SPRD || COMPILE_TEST 1530 depends on SPI_MASTER 1531 select MFD_CORE 1532 select REGMAP_SPI 1533 select REGMAP_IRQ 1534 help 1535 This enables support for the Spreadtrum SC27xx PMICs with SPI 1536 interface. The SC27xx series PMICs integrate power management, 1537 audio codec, battery management and user interface support 1538 function (such as RTC, Typec, indicator and so on) in a single chip. 1539 1540 This driver provides common support for accessing the SC27xx PMICs, 1541 and it also adds the irq_chip parts for handling the PMIC chip events. 1542 1543config RZ_MTU3 1544 tristate "Renesas RZ/G2L MTU3a core driver" 1545 depends on (ARCH_RZG2L && OF) || COMPILE_TEST 1546 select MFD_CORE 1547 help 1548 Select this option to enable Renesas RZ/G2L MTU3a core driver for 1549 the Multi-Function Timer Pulse Unit 3 (MTU3a) hardware available 1550 on SoCs from Renesas. The core driver shares the clk and channel 1551 register access for the other child devices like Counter, PWM, 1552 Clock Source, and Clock event. 1553 1554config ABX500_CORE 1555 bool "ST-Ericsson ABX500 Mixed Signal Circuit register functions" 1556 depends on ARCH_U8500 || COMPILE_TEST 1557 default y if ARCH_U8500 1558 help 1559 Say yes here if you have the ABX500 Mixed Signal IC family 1560 chips. This core driver expose register access functions. 1561 Functionality specific drivers using these functions can 1562 remain unchanged when IC changes. Binding of the functions to 1563 actual register access is done by the IC core driver. 1564 1565config AB8500_CORE 1566 bool "ST-Ericsson AB8500 Mixed Signal Power Management chip" 1567 depends on ABX500_CORE && MFD_DB8500_PRCMU 1568 select POWER_SUPPLY 1569 select MFD_CORE 1570 select IRQ_DOMAIN 1571 help 1572 Select this option to enable access to AB8500 power management 1573 chip. This connects to U8500 either on the SSP/SPI bus (deprecated 1574 since hardware version v1.0) or the I2C bus via PRCMU. It also adds 1575 the irq_chip parts for handling the Mixed Signal chip events. 1576 This chip embeds various other multimedia functionalities as well. 1577 1578config MFD_DB8500_PRCMU 1579 bool "ST-Ericsson DB8500 Power Reset Control Management Unit" 1580 depends on UX500_SOC_DB8500 1581 select MFD_CORE 1582 help 1583 Select this option to enable support for the DB8500 Power Reset 1584 and Control Management Unit. This is basically an autonomous 1585 system controller running an XP70 microprocessor, which is accessed 1586 through a register map. 1587 1588config MFD_STMPE 1589 tristate "STMicroelectronics STMPE" 1590 depends on I2C || SPI_MASTER 1591 depends on OF 1592 select MFD_CORE 1593 help 1594 Support for the STMPE family of I/O Expanders from 1595 STMicroelectronics. 1596 1597 Currently supported devices are: 1598 1599 STMPE811: GPIO, Touchscreen, ADC 1600 STMPE1601: GPIO, Keypad 1601 STMPE1801: GPIO, Keypad 1602 STMPE2401: GPIO, Keypad 1603 STMPE2403: GPIO, Keypad 1604 1605 This driver provides common support for accessing the device, 1606 additional drivers must be enabled in order to use the functionality 1607 of the device. Currently available sub drivers are: 1608 1609 GPIO: stmpe-gpio 1610 Keypad: stmpe-keypad 1611 Touchscreen: stmpe-ts 1612 ADC: stmpe-adc 1613 1614menu "STMicroelectronics STMPE Interface Drivers" 1615depends on MFD_STMPE 1616 1617config STMPE_I2C 1618 tristate "STMicroelectronics STMPE I2C Interface" 1619 depends on I2C 1620 default y 1621 help 1622 This is used to enable I2C interface of STMPE 1623 1624config STMPE_SPI 1625 tristate "STMicroelectronics STMPE SPI Interface" 1626 depends on SPI_MASTER 1627 help 1628 This is used to enable SPI interface of STMPE 1629endmenu 1630 1631config MFD_SUN6I_PRCM 1632 bool "Allwinner A31/A23/A33 PRCM controller" 1633 depends on ARCH_SUNXI || COMPILE_TEST 1634 select MFD_CORE 1635 help 1636 Support for the PRCM (Power/Reset/Clock Management) unit available 1637 in the A31, A23, and A33 SoCs. Other Allwinner SoCs contain similar 1638 hardware, but they do not use this driver. 1639 1640config MFD_SYSCON 1641 bool "System Controller Register R/W Based on Regmap" 1642 select REGMAP_MMIO 1643 help 1644 Select this option to enable accessing system control registers 1645 via regmap. 1646 1647config MFD_TI_AM335X_TSCADC 1648 tristate "TI ADC / Touch Screen chip support" 1649 depends on ARCH_OMAP2PLUS || ARCH_K3 || COMPILE_TEST 1650 select MFD_CORE 1651 select REGMAP 1652 select REGMAP_MMIO 1653 help 1654 If you say yes here you get support for Texas Instruments series 1655 of Touch Screen /ADC chips. 1656 To compile this driver as a module, choose M here: the 1657 module will be called ti_am335x_tscadc. 1658 1659config MFD_LP3943 1660 tristate "TI/National Semiconductor LP3943 MFD Driver" 1661 depends on I2C 1662 select MFD_CORE 1663 select REGMAP_I2C 1664 help 1665 Support for the TI/National Semiconductor LP3943. 1666 This driver consists of GPIO and PWM drivers. 1667 With these functionalities, it can be used for LED string control or 1668 general usage such like a GPIO controller and a PWM controller. 1669 1670config MFD_LP8788 1671 bool "TI LP8788 Power Management Unit Driver" 1672 depends on I2C=y 1673 select MFD_CORE 1674 select REGMAP_I2C 1675 select IRQ_DOMAIN 1676 help 1677 TI LP8788 PMU supports regulators, battery charger, RTC, 1678 ADC, backlight driver and current sinks. 1679 1680config MFD_TI_LMU 1681 tristate "TI Lighting Management Unit driver" 1682 depends on I2C 1683 select MFD_CORE 1684 select REGMAP_I2C 1685 help 1686 Say yes here to enable support for TI LMU chips. 1687 TI LMU MFD supports LM3532, LM3631, LM3632, LM3633, LM3695 and 1688 LM36274. It consists of backlight, LED and regulator driver. 1689 It provides consistent device controls for lighting functions. 1690 1691config MFD_BQ257XX 1692 tristate "TI BQ257XX Buck/Boost Charge Controller" 1693 depends on I2C 1694 select MFD_CORE 1695 select REGMAP_I2C 1696 help 1697 Support Texas Instruments BQ25703 Buck/Boost converter with 1698 charge controller. It consists of regulators that provide 1699 system voltage and OTG voltage, and a charger manager for 1700 batteries containing one or more cells. 1701 1702config MFD_OMAP_USB_HOST 1703 bool "TI OMAP USBHS core and TLL driver" 1704 depends on USB_EHCI_HCD_OMAP || USB_OHCI_HCD_OMAP3 1705 depends on COMMON_CLK 1706 default y 1707 help 1708 This is the core driver for the OAMP EHCI and OHCI drivers. 1709 This MFD driver does the required setup functionalities for 1710 OMAP USB Host drivers. 1711 1712config MFD_PALMAS 1713 tristate "TI Palmas series chips" 1714 select MFD_CORE 1715 select REGMAP_I2C 1716 select REGMAP_IRQ 1717 depends on I2C=y 1718 help 1719 If you say yes here you get support for the Palmas 1720 series of PMIC chips from Texas Instruments. 1721 1722config TPS6105X 1723 tristate "TI TPS61050/61052 Boost Converters" 1724 depends on I2C 1725 select REGMAP_I2C 1726 select REGULATOR 1727 select MFD_CORE 1728 select REGULATOR_FIXED_VOLTAGE 1729 help 1730 This option enables a driver for the TP61050/TPS61052 1731 high-power "white LED driver". This boost converter is 1732 sometimes used for other things than white LEDs, and 1733 also contains a GPIO pin. 1734 1735config TPS65010 1736 tristate "TI TPS6501x Power Management chips" 1737 depends on I2C && GPIOLIB 1738 default MACH_OMAP_OSK 1739 help 1740 If you say yes here you get support for the TPS6501x series of 1741 Power Management chips. These include voltage regulators, 1742 lithium ion/polymer battery charging, and other features that 1743 are often used in portable devices like cell phones and cameras. 1744 1745 This driver can also be built as a module. If so, the module 1746 will be called tps65010. 1747 1748config TPS6507X 1749 tristate "TI TPS6507x Power Management / Touch Screen chips" 1750 select MFD_CORE 1751 depends on I2C 1752 help 1753 If you say yes here you get support for the TPS6507x series of 1754 Power Management / Touch Screen chips. These include voltage 1755 regulators, lithium ion/polymer battery charging, touch screen 1756 and other features that are often used in portable devices. 1757 This driver can also be built as a module. If so, the module 1758 will be called tps6507x. 1759 1760config MFD_TPS65086 1761 tristate "TI TPS65086 Power Management Integrated Chips (PMICs)" 1762 select MFD_CORE 1763 select REGMAP 1764 select REGMAP_IRQ 1765 select REGMAP_I2C 1766 depends on I2C 1767 help 1768 If you say yes here you get support for the TPS65086 series of 1769 Power Management chips. 1770 This driver provides common support for accessing the device, 1771 additional drivers must be enabled in order to use the 1772 functionality of the device. 1773 1774config TPS65911_COMPARATOR 1775 tristate 1776 1777config MFD_TPS65090 1778 bool "TI TPS65090 Power Management chips" 1779 depends on I2C=y 1780 select MFD_CORE 1781 select REGMAP_I2C 1782 select REGMAP_IRQ 1783 help 1784 If you say yes here you get support for the TPS65090 series of 1785 Power Management chips. 1786 This driver provides common support for accessing the device, 1787 additional drivers must be enabled in order to use the 1788 functionality of the device. 1789 1790config MFD_TPS65217 1791 tristate "TI TPS65217 Power Management / White LED chips" 1792 depends on I2C && OF 1793 select MFD_CORE 1794 select REGMAP_I2C 1795 select IRQ_DOMAIN 1796 help 1797 If you say yes here you get support for the TPS65217 series of 1798 Power Management / White LED chips. 1799 These include voltage regulators, lithium ion/polymer battery 1800 charger, wled and other features that are often used in portable 1801 devices. 1802 1803 This driver can also be built as a module. If so, the module 1804 will be called tps65217. 1805 1806config MFD_TI_LP873X 1807 tristate "TI LP873X Power Management IC" 1808 depends on I2C 1809 select MFD_CORE 1810 select REGMAP_I2C 1811 help 1812 If you say yes here then you get support for the LP873X series of 1813 Power Management Integrated Circuits (PMIC). 1814 These include voltage regulators, thermal protection, configurable 1815 General Purpose Outputs (GPO) that are used in portable devices. 1816 1817 This driver can also be built as a module. If so, the module 1818 will be called lp873x. 1819 1820config MFD_TI_LP87565 1821 tristate "TI LP87565 Power Management IC" 1822 depends on I2C && OF 1823 select MFD_CORE 1824 select REGMAP_I2C 1825 help 1826 If you say yes here then you get support for the LP87565 series of 1827 Power Management Integrated Circuits (PMIC). 1828 These include voltage regulators, thermal protection, configurable 1829 General Purpose Outputs (GPO) that are used in portable devices. 1830 1831 This driver can also be built as a module. If so, the module 1832 will be called lp87565. 1833 1834config MFD_TPS65218 1835 tristate "TI TPS65218 Power Management chips" 1836 depends on I2C && OF 1837 select MFD_CORE 1838 select REGMAP_I2C 1839 select REGMAP_IRQ 1840 help 1841 If you say yes here you get support for the TPS65218 series of 1842 Power Management chips. 1843 These include voltage regulators, gpio and other features 1844 that are often used in portable devices. 1845 1846 This driver can also be built as a module. If so, the module 1847 will be called tps65218. 1848 1849config MFD_TPS65219 1850 tristate "TI TPS65219 Power Management IC" 1851 depends on I2C && OF 1852 select MFD_CORE 1853 select REGMAP_I2C 1854 select REGMAP_IRQ 1855 help 1856 If you say yes here you get support for the TPS65219 series of Power 1857 Management ICs. These include voltage regulators, GPIOs and 1858 push/power button that is often used in portable devices. 1859 1860 This driver can also be built as a module. If so, the module 1861 will be called tps65219. 1862 1863config MFD_TPS6586X 1864 bool "TI TPS6586x Power Management chips" 1865 depends on I2C=y 1866 select MFD_CORE 1867 select REGMAP_I2C 1868 help 1869 If you say yes here you get support for the TPS6586X series of 1870 Power Management chips. 1871 This driver provides common support for accessing the device, 1872 additional drivers must be enabled in order to use the 1873 functionality of the device. 1874 1875 This driver can also be built as a module. If so, the module 1876 will be called tps6586x. 1877 1878config MFD_TPS65910 1879 bool "TI TPS65910 Power Management chip" 1880 depends on I2C=y 1881 depends on GPIOLIB || COMPILE_TEST 1882 select MFD_CORE 1883 select REGMAP_I2C 1884 select REGMAP_IRQ 1885 select IRQ_DOMAIN 1886 help 1887 if you say yes here you get support for the TPS65910 series of 1888 Power Management chips. 1889 1890config MFD_TPS65912 1891 tristate 1892 select MFD_CORE 1893 select REGMAP 1894 select REGMAP_IRQ 1895 1896config MFD_TPS65912_I2C 1897 tristate "TI TPS65912 Power Management chip with I2C" 1898 select MFD_TPS65912 1899 select REGMAP_I2C 1900 depends on I2C 1901 help 1902 If you say yes here you get support for the TPS65912 series of 1903 PM chips with I2C interface. 1904 1905config MFD_TPS65912_SPI 1906 tristate "TI TPS65912 Power Management chip with SPI" 1907 select MFD_TPS65912 1908 select REGMAP_SPI 1909 depends on SPI_MASTER 1910 help 1911 If you say yes here you get support for the TPS65912 series of 1912 PM chips with SPI interface. 1913 1914config MFD_TPS6594 1915 tristate 1916 select MFD_CORE 1917 select REGMAP 1918 select REGMAP_IRQ 1919 1920config MFD_TPS6594_I2C 1921 tristate "TI TPS6594 Power Management chip with I2C" 1922 select MFD_TPS6594 1923 select REGMAP_I2C 1924 select CRC8 1925 depends on I2C 1926 help 1927 If you say yes here you get support for the TPS6594 series of 1928 PM chips with I2C interface. 1929 1930 This driver can also be built as a module. If so, the module 1931 will be called tps6594-i2c. 1932 1933config MFD_TPS6594_SPI 1934 tristate "TI TPS6594 Power Management chip with SPI" 1935 select MFD_TPS6594 1936 select REGMAP_SPI 1937 select CRC8 1938 depends on SPI_MASTER 1939 help 1940 If you say yes here you get support for the TPS6594 series of 1941 PM chips with SPI interface. 1942 1943 This driver can also be built as a module. If so, the module 1944 will be called tps6594-spi. 1945 1946config TWL4030_CORE 1947 bool "TI TWL4030/TWL5030/TWL6030/TPS659x0 Support" 1948 depends on I2C=y 1949 select IRQ_DOMAIN 1950 select MFD_CORE 1951 select REGMAP_I2C 1952 help 1953 Say yes here if you have TWL4030 / TWL6030 family chip on your board. 1954 This core driver provides register access and IRQ handling 1955 facilities, and registers devices for the various functions 1956 so that function-specific drivers can bind to them. 1957 1958 These multi-function chips are found on many OMAP2 and OMAP3 1959 boards, providing power management, RTC, GPIO, keypad, a 1960 high speed USB OTG transceiver, an audio codec (on most 1961 versions) and many other features. 1962 1963config TWL4030_POWER 1964 bool "TI TWL4030 power resources" 1965 depends on TWL4030_CORE && ARM 1966 help 1967 Say yes here if you want to use the power resources on the 1968 TWL4030 family chips. Most of these resources are regulators, 1969 which have a separate driver; some are control signals, such 1970 as clock request handshaking. 1971 1972 This driver uses board-specific data to initialize the resources 1973 and load scripts controlling which resources are switched off/on 1974 or reset when a sleep, wakeup or warm reset event occurs. 1975 1976config MFD_TWL4030_AUDIO 1977 bool "TI TWL4030 Audio" 1978 depends on TWL4030_CORE 1979 select MFD_CORE 1980 default n 1981 1982config TWL6040_CORE 1983 bool "TI TWL6040 audio codec" 1984 depends on I2C=y 1985 select MFD_CORE 1986 select REGMAP_I2C 1987 select REGMAP_IRQ 1988 default n 1989 help 1990 Say yes here if you want support for Texas Instruments TWL6040 audio 1991 codec. 1992 This driver provides common support for accessing the device, 1993 additional drivers must be enabled in order to use the 1994 functionality of the device (audio, vibra). 1995 1996config MENELAUS 1997 bool "TI TWL92330/Menelaus PM chip" 1998 depends on I2C=y && ARCH_OMAP2 1999 help 2000 If you say yes here you get support for the Texas Instruments 2001 TWL92330/Menelaus Power Management chip. This include voltage 2002 regulators, Dual slot memory card transceivers, real-time clock 2003 and other features that are often used in portable devices like 2004 cell phones and PDAs. 2005 2006config MFD_WL1273_CORE 2007 tristate "TI WL1273 FM radio" 2008 depends on I2C 2009 select MFD_CORE 2010 default n 2011 help 2012 This is the core driver for the TI WL1273 FM radio. This MFD 2013 driver connects the radio-wl1273 V4L2 module and the wl1273 2014 audio codec. 2015 2016config MFD_LM3533 2017 tristate "TI/National Semiconductor LM3533 Lighting Power chip" 2018 depends on I2C 2019 select MFD_CORE 2020 select REGMAP_I2C 2021 help 2022 Say yes here to enable support for National Semiconductor / TI 2023 LM3533 Lighting Power chips. 2024 2025 This driver provides common support for accessing the device; 2026 additional drivers must be enabled in order to use the LED, 2027 backlight or ambient-light-sensor functionality of the device. 2028 2029config MFD_TIMBERDALE 2030 tristate "Timberdale FPGA" 2031 select MFD_CORE 2032 depends on PCI && GPIOLIB && (X86_32 || COMPILE_TEST) 2033 help 2034 This is the core driver for the timberdale FPGA. This device is a 2035 multifunction device which exposes numerous platform devices. 2036 2037 The timberdale FPGA can be found on the Intel Atom development board 2038 for in-vehicle infotainment, called Russellville. 2039 2040config MFD_TC3589X 2041 bool "Toshiba TC35892 and variants" 2042 depends on I2C=y 2043 depends on OF 2044 select MFD_CORE 2045 help 2046 Support for the Toshiba TC35892 and variants I/O Expander. 2047 2048 This driver provides common support for accessing the device, 2049 additional drivers must be enabled in order to use the 2050 functionality of the device. 2051 2052config MFD_TQMX86 2053 tristate "TQ-Systems IO controller TQMX86" 2054 select MFD_CORE 2055 help 2056 Say yes here to enable support for various functions of the 2057 TQ-Systems IO controller and watchdog device, found on their 2058 ComExpress CPU modules. 2059 2060config MFD_VX855 2061 tristate "VIA VX855/VX875 integrated south bridge" 2062 depends on PCI 2063 select MFD_CORE 2064 help 2065 Say yes here to enable support for various functions of the 2066 VIA VX855/VX875 south bridge. You will need to enable the vx855_spi 2067 and/or vx855_gpio drivers for this to do anything useful. 2068 2069config MFD_ARIZONA 2070 select REGMAP 2071 select REGMAP_IRQ 2072 select MFD_CORE 2073 tristate 2074 2075config MFD_ARIZONA_I2C 2076 tristate "Cirrus Logic/Wolfson Microelectronics Arizona platform with I2C" 2077 select MFD_ARIZONA 2078 select REGMAP_I2C 2079 depends on I2C 2080 help 2081 Support for the Cirrus Logic/Wolfson Microelectronics Arizona platform 2082 audio SoC core functionality controlled via I2C. 2083 2084config MFD_ARIZONA_SPI 2085 tristate "Cirrus Logic/Wolfson Microelectronics Arizona platform with SPI" 2086 select MFD_ARIZONA 2087 select REGMAP_SPI 2088 depends on SPI_MASTER 2089 help 2090 Support for the Cirrus Logic/Wolfson Microelectronics Arizona platform 2091 audio SoC core functionality controlled via SPI. 2092 2093config MFD_CS47L24 2094 bool "Cirrus Logic CS47L24 and WM1831" 2095 depends on MFD_ARIZONA 2096 help 2097 Support for Cirrus Logic CS47L24 and WM1831 low power audio SoC 2098 2099config MFD_WM5102 2100 bool "Wolfson Microelectronics WM5102" 2101 depends on MFD_ARIZONA 2102 help 2103 Support for Wolfson Microelectronics WM5102 low power audio SoC 2104 2105config MFD_WM5110 2106 bool "Wolfson Microelectronics WM5110 and WM8280/WM8281" 2107 depends on MFD_ARIZONA 2108 help 2109 Support for Wolfson Microelectronics WM5110 and WM8280/WM8281 2110 low power audio SoC 2111 2112config MFD_WM8997 2113 bool "Wolfson Microelectronics WM8997" 2114 depends on MFD_ARIZONA 2115 help 2116 Support for Wolfson Microelectronics WM8997 low power audio SoC 2117 2118config MFD_WM8998 2119 bool "Wolfson Microelectronics WM8998" 2120 depends on MFD_ARIZONA 2121 help 2122 Support for Wolfson Microelectronics WM8998 low power audio SoC 2123 2124config MFD_WM8400 2125 bool "Wolfson Microelectronics WM8400" 2126 select MFD_CORE 2127 depends on I2C=y 2128 select REGMAP_I2C 2129 help 2130 Support for the Wolfson Microelecronics WM8400 PMIC and audio 2131 CODEC. This driver provides common support for accessing 2132 the device, additional drivers must be enabled in order to use 2133 the functionality of the device. 2134 2135config MFD_WM831X 2136 bool 2137 2138config MFD_WM831X_I2C 2139 bool "Wolfson Microelectronics WM831x/2x PMICs with I2C" 2140 select MFD_CORE 2141 select MFD_WM831X 2142 select REGMAP_I2C 2143 select IRQ_DOMAIN 2144 depends on I2C=y 2145 help 2146 Support for the Wolfson Microelecronics WM831x and WM832x PMICs 2147 when controlled using I2C. This driver provides common support 2148 for accessing the device, additional drivers must be enabled in 2149 order to use the functionality of the device. 2150 2151config MFD_WM831X_SPI 2152 bool "Wolfson Microelectronics WM831x/2x PMICs with SPI" 2153 select MFD_CORE 2154 select MFD_WM831X 2155 select REGMAP_SPI 2156 select IRQ_DOMAIN 2157 depends on SPI_MASTER 2158 help 2159 Support for the Wolfson Microelecronics WM831x and WM832x PMICs 2160 when controlled using SPI. This driver provides common support 2161 for accessing the device, additional drivers must be enabled in 2162 order to use the functionality of the device. 2163 2164config MFD_WM8350 2165 bool 2166 2167config MFD_WM8350_I2C 2168 bool "Wolfson Microelectronics WM8350 with I2C" 2169 select MFD_WM8350 2170 select REGMAP_I2C 2171 depends on I2C=y 2172 help 2173 The WM8350 is an integrated audio and power management 2174 subsystem with watchdog and RTC functionality for embedded 2175 systems. This option enables core support for the WM8350 with 2176 I2C as the control interface. Additional options must be 2177 selected to enable support for the functionality of the chip. 2178 2179config MFD_WM8994 2180 tristate "Wolfson Microelectronics WM8994" 2181 select MFD_CORE 2182 select REGMAP_I2C 2183 select REGMAP_IRQ 2184 depends on I2C 2185 help 2186 The WM8994 is a highly integrated hi-fi CODEC designed for 2187 smartphone applications. As well as audio functionality it 2188 has on board GPIO and regulator functionality which is 2189 supported via the relevant subsystems. This driver provides 2190 core support for the WM8994, in order to use the actual 2191 functionality of the device other drivers must be enabled. 2192 2193config MFD_WM97xx 2194 tristate "Wolfson Microelectronics WM97xx" 2195 select MFD_CORE 2196 select REGMAP_AC97 2197 select AC97_BUS_COMPAT 2198 depends on AC97_BUS_NEW 2199 help 2200 The WM9705, WM9712 and WM9713 is a highly integrated hi-fi CODEC 2201 designed for smartphone applications. As well as audio functionality 2202 it has on board GPIO and a touchscreen functionality which is 2203 supported via the relevant subsystems. This driver provides core 2204 support for the WM97xx, in order to use the actual functionality of 2205 the device other drivers must be enabled. 2206 2207config MFD_STW481X 2208 tristate "Support for ST Microelectronics STw481x" 2209 depends on I2C && (ARCH_NOMADIK || COMPILE_TEST) 2210 select REGMAP_I2C 2211 select MFD_CORE 2212 help 2213 Select this option to enable the STw481x chip driver used 2214 in various ST Microelectronics and ST-Ericsson embedded 2215 Nomadik series. 2216 2217config MFD_ROHM_BD718XX 2218 tristate "ROHM BD71837 Power Management IC" 2219 depends on I2C=y 2220 depends on OF 2221 select REGMAP_I2C 2222 select REGMAP_IRQ 2223 select MFD_CORE 2224 help 2225 Select this option to get support for the ROHM BD71837 2226 Power Management ICs. BD71837 is designed to power processors like 2227 NXP i.MX8. It contains 8 BUCK outputs and 7 LDOs, voltage monitoring 2228 and emergency shut down as well as 32,768KHz clock output. 2229 2230config MFD_ROHM_BD71828 2231 tristate "ROHM BD71828 and BD71815 Power Management IC" 2232 depends on I2C=y 2233 depends on OF 2234 select REGMAP_I2C 2235 select REGMAP_IRQ 2236 select MFD_CORE 2237 help 2238 Select this option to get support for the ROHM BD71828 and BD71815 2239 Power Management ICs. BD71828GW and BD71815AGW are single-chip power 2240 management ICs mainly for battery-powered portable devices. 2241 The BD71828 integrates 7 buck converters and 7 LDOs. The BD71815 2242 has 5 bucks, 7 LDOs, and a boost for driving LEDs. Both ICs provide 2243 also a single-cell linear charger, a Coulomb counter, a real-time 2244 clock (RTC), GPIOs and a 32.768 kHz clock gate. 2245 2246config MFD_ROHM_BD957XMUF 2247 tristate "ROHM BD9576MUF and BD9573MUF Power Management ICs" 2248 depends on I2C=y 2249 depends on OF 2250 select REGMAP_I2C 2251 select REGMAP_IRQ 2252 select MFD_CORE 2253 help 2254 Select this option to get support for the ROHM BD9576MUF and 2255 BD9573MUF Power Management ICs. BD9576 and BD9573 are primarily 2256 designed to be used to power R-Car series processors. 2257 2258config MFD_ROHM_BD96801 2259 tristate "ROHM BD96801 Power Management IC" 2260 depends on I2C=y 2261 depends on OF 2262 select REGMAP_I2C 2263 select REGMAP_IRQ 2264 select MFD_CORE 2265 help 2266 Select this option to get support for the ROHM BD96801 Power 2267 Management IC. The ROHM BD96801 is a highly scalable Power Management 2268 IC for industrial and automotive use. The BD96801 can be used as a 2269 master PMIC in a chained PMIC solution with suitable companion PMICs. 2270 2271config MFD_STM32_LPTIMER 2272 tristate "Support for STM32 Low-Power Timer" 2273 depends on (ARCH_STM32 && OF) || COMPILE_TEST 2274 select MFD_CORE 2275 select REGMAP 2276 select REGMAP_MMIO 2277 help 2278 Select this option to enable STM32 Low-Power Timer driver 2279 used for PWM, IIO Trigger, IIO Encoder and Counter. Shared 2280 resources are also dealt with here. 2281 2282 To compile this driver as a module, choose M here: the 2283 module will be called stm32-lptimer. 2284 2285config MFD_STM32_TIMERS 2286 tristate "Support for STM32 Timers" 2287 depends on (ARCH_STM32 && OF) || COMPILE_TEST 2288 select MFD_CORE 2289 select REGMAP 2290 select REGMAP_MMIO 2291 help 2292 Select this option to enable STM32 timers driver used 2293 for PWM and IIO Timer. This driver allow to share the 2294 registers between the others drivers. 2295 2296config MFD_STPMIC1 2297 tristate "Support for STPMIC1 PMIC" 2298 depends on I2C=y && OF 2299 select REGMAP_I2C 2300 select REGMAP_IRQ 2301 select MFD_CORE 2302 help 2303 Support for ST Microelectronics STPMIC1 PMIC. STPMIC1 has power on 2304 key, watchdog and regulator functionalities which are supported via 2305 the relevant subsystems. This driver provides core support for the 2306 STPMIC1. In order to use the actual functionality of the device other 2307 drivers must be enabled. 2308 2309 To compile this driver as a module, choose M here: the 2310 module will be called stpmic1. 2311 2312config MFD_STMFX 2313 tristate "Support for STMicroelectronics Multi-Function eXpander (STMFX)" 2314 depends on I2C 2315 depends on OF 2316 select MFD_CORE 2317 select REGMAP_I2C 2318 help 2319 Support for the STMicroelectronics Multi-Function eXpander. 2320 2321 This driver provides common support for accessing the device, 2322 additional drivers must be enabled in order to use the functionality 2323 of the device. 2324 2325config MFD_WCD934X 2326 tristate "Support for WCD9340/WCD9341 Codec" 2327 depends on SLIMBUS 2328 select REGMAP 2329 select REGMAP_SLIMBUS 2330 select REGMAP_IRQ 2331 select MFD_CORE 2332 help 2333 Support for the Qualcomm WCD9340/WCD9341 Codec. 2334 This driver provides common support WCD934x audio codec and its 2335 associated Pin Controller, Soundwire Controller and Audio codec. 2336 2337config MFD_ATC260X 2338 tristate 2339 select MFD_CORE 2340 select REGMAP 2341 select REGMAP_IRQ 2342 2343config MFD_ATC260X_I2C 2344 tristate "Actions Semi ATC260x PMICs with I2C" 2345 select MFD_ATC260X 2346 select REGMAP_I2C 2347 depends on I2C 2348 help 2349 Support for the Actions Semi ATC260x PMICs controlled via I2C. 2350 2351 This driver provides common support for accessing the ATC2603C 2352 and ATC2609A chip variants, additional drivers must be enabled 2353 in order to use the functionality of the device. 2354 2355config MFD_KHADAS_MCU 2356 tristate "Support for Khadas System control Microcontroller" 2357 depends on I2C 2358 depends on ARCH_MESON || ARCH_ROCKCHIP || COMPILE_TEST 2359 select MFD_CORE 2360 select REGMAP_I2C 2361 help 2362 Support for the Khadas System control Microcontroller interface 2363 present on their VIM and Edge boards. 2364 2365 This Microcontroller is present on the Khadas VIM1, VIM2, VIM3 and 2366 Edge boards. 2367 2368 It provides multiple boot control features like password check, 2369 power-on options, power-off control and system FAN control on recent 2370 boards. 2371 2372 This driver provides common support for accessing the device, 2373 additional drivers must be enabled in order to use the functionality 2374 of the device. 2375 2376config MFD_ACER_A500_EC 2377 tristate "Support for Acer Iconia Tab A500 Embedded Controller" 2378 depends on I2C 2379 depends on (ARCH_TEGRA_2x_SOC && OF) || COMPILE_TEST 2380 select MFD_CORE 2381 select REGMAP 2382 help 2383 Support for Embedded Controller found on Acer Iconia Tab A500. 2384 The controller itself is ENE KB930, it is running firmware 2385 customized for the specific needs of the Acer A500 hardware. 2386 2387config MFD_QCOM_PM8008 2388 tristate "QCOM PM8008 Power Management IC" 2389 depends on I2C && OF 2390 select MFD_CORE 2391 select REGMAP_I2C 2392 select REGMAP_IRQ 2393 help 2394 Select this option to get support for the Qualcomm Technologies, Inc. 2395 PM8008 PMIC chip. PM8008 is a dedicated camera PMIC that integrates 2396 all the necessary power management, housekeeping, and interface 2397 support functions into a single IC. This driver provides common 2398 support for accessing the device by instantiating all the child nodes 2399 under it in the device tree. Additional drivers must be enabled in 2400 order to use the functionality of the device. 2401 2402menu "Multimedia Capabilities Port drivers" 2403 depends on ARCH_SA1100 2404 2405config MCP 2406 tristate 2407 2408# Interface drivers 2409config MCP_SA11X0 2410 tristate "Support SA11x0 MCP interface" 2411 depends on ARCH_SA1100 2412 select MCP 2413 2414# Chip drivers 2415config MCP_UCB1200 2416 tristate "Support for UCB1200 / UCB1300" 2417 depends on MCP_SA11X0 2418 select MCP 2419 2420config MCP_UCB1200_TS 2421 tristate "Touchscreen interface support" 2422 depends on MCP_UCB1200 && INPUT 2423 2424endmenu 2425 2426config MFD_VEXPRESS_SYSREG 2427 tristate "Versatile Express System Registers" 2428 depends on VEXPRESS_CONFIG && GPIOLIB 2429 default y 2430 select GPIO_GENERIC_PLATFORM 2431 select MFD_CORE 2432 select MFD_SYSCON 2433 help 2434 System Registers are the platform configuration block 2435 on the ARM Ltd. Versatile Express board. 2436 2437config RAVE_SP_CORE 2438 tristate "RAVE SP MCU core driver" 2439 depends on SERIAL_DEV_BUS 2440 select CRC_ITU_T 2441 help 2442 Select this to get support for the Supervisory Processor 2443 device found on several devices in RAVE line of hardware. 2444 2445config SGI_MFD_IOC3 2446 bool "SGI IOC3 core driver" 2447 depends on PCI && MIPS && 64BIT 2448 select MFD_CORE 2449 help 2450 This option enables basic support for the SGI IOC3-based 2451 controller cards. This option does not enable any specific 2452 functions on such a card, but provides necessary infrastructure 2453 for other drivers to utilize. 2454 2455 If you have an SGI Origin, Octane, or a PCI IOC3 card, 2456 then say Y. Otherwise say N. 2457 2458config MFD_INTEL_M10_BMC_CORE 2459 tristate 2460 select MFD_CORE 2461 select REGMAP 2462 default n 2463 2464config MFD_INTEL_M10_BMC_SPI 2465 tristate "Intel MAX 10 Board Management Controller with SPI" 2466 depends on SPI_MASTER 2467 select MFD_INTEL_M10_BMC_CORE 2468 select REGMAP_SPI_AVMM 2469 help 2470 Support for the Intel MAX 10 board management controller using the 2471 SPI interface. 2472 2473 This driver provides common support for accessing the device, 2474 additional drivers must be enabled in order to use the functionality 2475 of the device. 2476 2477config MFD_INTEL_M10_BMC_PMCI 2478 tristate "Intel MAX 10 Board Management Controller with PMCI" 2479 depends on FPGA_DFL 2480 select MFD_INTEL_M10_BMC_CORE 2481 select REGMAP 2482 help 2483 Support for the Intel MAX 10 board management controller via PMCI. 2484 2485 This driver provides common support for accessing the device, 2486 additional drivers must be enabled in order to use the functionality 2487 of the device. 2488 2489config MFD_LOONGSON_SE 2490 tristate "Loongson Security Engine chip controller driver" 2491 depends on LOONGARCH && ACPI 2492 select MFD_CORE 2493 help 2494 The Loongson Security Engine chip supports RNG, SM2, SM3 and 2495 SM4 accelerator engines. Each engine have its own DMA buffer 2496 provided by the controller. The kernel cannot directly send 2497 commands to the engine and must first send them to the controller, 2498 which will forward them to the corresponding engine. 2499 2500config MFD_LS2K_BMC_CORE 2501 bool "Loongson-2K Board Management Controller Support" 2502 depends on PCI && ACPI_GENERIC_GSI 2503 select MFD_CORE 2504 help 2505 Say yes here to add support for the Loongson-2K BMC which is a Board 2506 Management Controller connected to the PCIe bus. The device supports 2507 multiple sub-devices like display and IPMI. This driver provides common 2508 support for accessing the devices. 2509 2510 The display is enabled by default in the driver, while the IPMI interface 2511 is enabled independently through the IPMI_LS2K option in the IPMI section. 2512 2513config MFD_QNAP_MCU 2514 tristate "QNAP microcontroller unit core driver" 2515 depends on SERIAL_DEV_BUS 2516 select MFD_CORE 2517 help 2518 Select this to get support for the QNAP MCU device found in 2519 several devices of QNAP network attached storage products that 2520 implements additional functionality for the device, like fan 2521 and LED control. 2522 2523 This driver implements the base serial protocol to talk to the 2524 device and provides functions for the other parts to hook into. 2525 2526config MFD_RSMU_I2C 2527 tristate "Renesas Synchronization Management Unit with I2C" 2528 depends on I2C && OF 2529 select MFD_CORE 2530 select REGMAP_I2C 2531 help 2532 Support for the Renesas Synchronization Management Unit, such as 2533 Clockmatrix and 82P33XXX series. This option supports I2C as 2534 the control interface. 2535 2536 This driver provides common support for accessing the device. 2537 Additional drivers must be enabled in order to use the functionality 2538 of the device. 2539 2540config MFD_RSMU_SPI 2541 tristate "Renesas Synchronization Management Unit with SPI" 2542 depends on SPI && OF 2543 select MFD_CORE 2544 select REGMAP_SPI 2545 help 2546 Support for the Renesas Synchronization Management Unit, such as 2547 Clockmatrix and 82P33XXX series. This option supports SPI as 2548 the control interface. 2549 2550 This driver provides common support for accessing the device. 2551 Additional drivers must be enabled in order to use the functionality 2552 of the device. 2553 2554config MFD_UPBOARD_FPGA 2555 tristate "Support for the AAeon UP board FPGA" 2556 depends on (X86 && ACPI) 2557 select MFD_CORE 2558 help 2559 Select this option to enable the AAEON UP and UP^2 onboard FPGA. 2560 This is the core driver of this FPGA, which has a pin controller and a 2561 LED controller. 2562 2563 To compile this driver as a module, choose M here: the module will be 2564 called upboard-fpga. 2565 2566config MFD_MAX7360 2567 tristate "Maxim MAX7360 I2C IO Expander" 2568 depends on I2C 2569 select MFD_CORE 2570 select REGMAP_I2C 2571 select REGMAP_IRQ 2572 help 2573 Say yes here to add support for Maxim MAX7360 device, embedding 2574 keypad, rotary encoder, PWM and GPIO features. 2575 2576 This driver provides common support for accessing the device; 2577 additional drivers must be enabled in order to use the functionality 2578 of the device. 2579 2580endmenu 2581endif 2582