1config DM_REGULATOR 2 bool "Enable Driver Model for REGULATOR drivers (UCLASS_REGULATOR)" 3 depends on DM 4 ---help--- 5 This config enables the driver model regulator support. 6 UCLASS_REGULATOR - designed to provide a common API for basic regulator's 7 functions, like get/set Voltage or Current value, enable state, etc... 8 Note: 9 When enabling this, please read the description, found in the files: 10 - 'include/power/pmic.h' 11 - 'include/power/regulator.h' 12 - 'drivers/power/pmic/pmic-uclass.c' 13 - 'drivers/power/pmic/regulator-uclass.c' 14 It's important to call the device_bind() with the proper node offset, 15 when binding the regulator devices. The pmic_bind_childs() can be used 16 for this purpose if PMIC I/O driver is implemented or dm_scan_fdt_dev() 17 otherwise. Detailed information can be found in the header file. 18 19config SPL_DM_REGULATOR 20 bool "Enable regulators for SPL" 21 depends on DM_REGULATOR && SPL_POWER 22 ---help--- 23 Regulators are seldom needed in SPL. Even if they are accessed, some 24 code space can be saved by accessing the PMIC registers directly. 25 Enable this option if you need regulators in SPL and can cope with 26 the extra code size. 27 28config REGULATOR_ACT8846 29 bool "Enable driver for ACT8846 regulator" 30 depends on DM_REGULATOR && PMIC_ACT8846 31 ---help--- 32 Enable support for the regulator functions of the ACT8846 PMIC. The 33 driver implements get/set api for the various BUCKS and LDOS supported 34 by the PMIC device. This driver is controlled by a device tree node 35 which includes voltage limits. 36 37config REGULATOR_AS3722 38 bool "Enable driver for AS7322 regulator" 39 depends on DM_REGULATOR && PMIC_AS3722 40 help 41 Enable support for the regulator functions of the AS3722. The 42 driver implements enable/disable for step-down bucks and LDOs, 43 but does not yet support change voltages. Currently this must be 44 done using direct register writes to the PMIC. 45 46config REGULATOR_AXP 47 bool "Enable driver for X-Powers AXP PMIC regulators" 48 depends on DM_REGULATOR && PMIC_AXP 49 help 50 Enable support for the regulators (DCDCs, LDOs) in the 51 X-Powers AXP152, AXP2xx, and AXP8xx PMICs. 52 53config SPL_REGULATOR_AXP 54 bool "Enable driver for X-Powers AXP PMIC regulators in SPL" 55 depends on SPL_DM_REGULATOR && SPL_PMIC_AXP 56 help 57 Enable support in SPL for the regulators (DCDCs, LDOs) in the 58 X-Powers AXP152, AXP2xx, and AXP8xx PMICs. 59 60config REGULATOR_AXP_DRIVEVBUS 61 bool "Enable driver for X-Powers AXP PMIC drivevbus" 62 depends on DM_REGULATOR && PMIC_AXP 63 help 64 Enable support for sensing or driving the USB VBUS on 65 X-Powers AXP2xx and AXP8xx PMICs. 66 67config REGULATOR_AXP_USB_POWER 68 bool "Enable driver for X-Powers AXP PMIC USB power supply" 69 depends on DM_REGULATOR && PMIC_AXP 70 help 71 Enable support for reading the USB power supply status from 72 X-Powers AXP2xx and AXP8xx PMICs. 73 74config DM_REGULATOR_BD71837 75 bool "Enable Driver Model for ROHM BD71837/BD71847 regulators" 76 depends on DM_REGULATOR && DM_PMIC_BD71837 77 help 78 This config enables implementation of driver-model regulator uclass 79 features for regulators on ROHM BD71837 and BD71847 PMICs. 80 BD71837 contains 8 bucks and 7 LDOS. BD71847 is reduced version 81 containing 6 bucks and 6 LDOs. The driver implements get/set api for 82 value and enable. 83 84config SPL_DM_REGULATOR_BD71837 85 bool "Enable Driver Model for ROHM BD71837/BD71847 regulators in SPL" 86 depends on DM_REGULATOR_BD71837 && SPL 87 help 88 This config enables implementation of driver-model regulator uclass 89 features for regulators on ROHM BD71837 and BD71847 in SPL. 90 91config DM_REGULATOR_PCA9450 92 bool "Enable Driver Model for NXP PCA9450 regulators" 93 depends on DM_REGULATOR && DM_PMIC_PCA9450 94 help 95 This config enables implementation of driver-model regulator uclass 96 features for regulators on NXP PCA9450 PMICs. PCA9450 contains 6 bucks 97 and 5 LDOS. The driver implements get/set api for value and enable. 98 99config SPL_DM_REGULATOR_PCA9450 100 bool "Enable Driver Model for NXP PCA9450 regulators in SPL" 101 depends on DM_REGULATOR_PCA9450 && SPL 102 help 103 This config enables implementation of driver-model regulator uclass 104 features for regulators on ROHM PCA9450 in SPL. 105 106config DM_REGULATOR_DA9063 107 bool "Enable Driver Model for REGULATOR DA9063" 108 depends on DM_REGULATOR && DM_PMIC_DA9063 109 help 110 This config enables implementation of driver-model regulator uclass 111 features for REGULATOR DA9063. 112 The driver implements get/set api for value, enable and mode for all 113 regulators. It also implements the get/set api for current for the 114 buck regulators. 115 116config SPL_DM_REGULATOR_DA9063 117 bool "Enable Driver Model for REGULATOR DA9063 in SPL" 118 depends on DM_REGULATOR && DM_PMIC_DA9063 && SPL 119 help 120 This config enables implementation of driver-model regulator uclass 121 features for REGULATOR DA9063. 122 The driver implements get/set api for value, enable and mode for all 123 regulators. It also implements the get/set api for current for the 124 buck regulators. 125 126config DM_REGULATOR_PFUZE100 127 bool "Enable Driver Model for REGULATOR PFUZE100" 128 depends on DM_REGULATOR && DM_PMIC_PFUZE100 129 ---help--- 130 This config enables implementation of driver-model regulator uclass 131 features for REGULATOR PFUZE100. The driver implements get/set api for: 132 value, enable and mode. 133 134config REGULATOR_PWM 135 bool "Enable driver for PWM regulators" 136 depends on DM_REGULATOR 137 ---help--- 138 Enable support for the PWM regulator functions which voltage are 139 controlled by PWM duty ratio. Some of Rockchip board using this kind 140 of regulator. The driver implements get/set api for the various BUCKS. 141 This driver is controlled by a device tree node 142 which includes voltage limits. 143 144config SPL_REGULATOR_PWM 145 bool "Enable Driver for PWM regulators in SPL" 146 depends on REGULATOR_PWM && SPL 147 help 148 This config enables implementation of driver-model regulator uclass 149 features for PWM regulators in SPL. 150 151config DM_REGULATOR_MAX8907 152 bool "Enable Driver Model for REGULATOR MAX8907" 153 depends on DM_REGULATOR && DM_PMIC_MAX8907 154 ---help--- 155 This config enables implementation of driver-model regulator uclass 156 features for REGULATOR MAX8907. The driver supports both DC-to-DC 157 Step-Down (SD) Regulators and Low-Dropout Linear (LDO) Regulators 158 found in MAX8907 PMIC and implements get/set api for value and enable. 159 160config DM_REGULATOR_MAX77663 161 bool "Enable Driver Model for REGULATOR MAX77663" 162 depends on DM_REGULATOR && DM_PMIC_MAX77663 163 ---help--- 164 This config enables implementation of driver-model regulator uclass 165 features for REGULATOR MAX77663. The driver supports both DC-to-DC 166 Step-Down (SD) Regulators and Low-Dropout Linear (LDO) Regulators 167 found in MAX77663 PMIC and implements get/set api for value and enable. 168 169config DM_REGULATOR_MAX77686 170 bool "Enable Driver Model for REGULATOR MAX77686" 171 depends on DM_REGULATOR && DM_PMIC_MAX77686 172 ---help--- 173 This config enables implementation of driver-model regulator uclass 174 features for REGULATOR MAX77686. The driver implements get/set api for: 175 value, enable and mode. 176 177config DM_REGULATOR_NPCM8XX 178 bool "Enable Driver Model for NPCM8xx voltage supply" 179 depends on DM_REGULATOR && ARCH_NPCM8XX 180 help 181 Enable support for configuring voltage supply on NPCM8XX SoC. The 182 voltage supplies support two voltage levels and the driver implements 183 get/set api for setting the value. 184 185config DM_REGULATOR_FAN53555 186 bool "Enable Driver Model for REGULATOR FAN53555" 187 depends on DM_PMIC_FAN53555 188 help 189 This config enables implementation of driver-model regulator 190 uclass features for the FAN53555 regulator. The FAN53555 is 191 a (family of) single-output regulators that supports 192 transitioning between two different output voltages based on 193 an voltage selection pin. 194 195 The driver implements a get/set api for the voltage of the 196 'normal mode' voltage only. Switching to 'suspend mode' 197 (i.e. the alternate voltage), disabling output via software, 198 or switching the mode is not supported by this driver (at 199 this time). 200 201config DM_REGULATOR_COMMON 202 bool 203 depends on DM_REGULATOR 204 205config SPL_DM_REGULATOR_COMMON 206 bool 207 depends on DM_REGULATOR 208 209config DM_REGULATOR_FIXED 210 bool "Enable Driver Model for REGULATOR Fixed value" 211 depends on DM_REGULATOR 212 select DM_REGULATOR_COMMON 213 ---help--- 214 This config enables implementation of driver-model regulator uclass 215 features for fixed value regulators. The driver implements get/set api 216 for enable and get only for voltage value. 217 218config SPL_DM_REGULATOR_FIXED 219 bool "Enable Driver Model for REGULATOR Fixed value in SPL" 220 depends on DM_REGULATOR_FIXED && SPL 221 select SPL_DM_REGULATOR_COMMON 222 ---help--- 223 This config enables implementation of driver-model regulator uclass 224 features for fixed value regulators in SPL. 225 226config DM_REGULATOR_GPIO 227 bool "Enable Driver Model for GPIO REGULATOR" 228 depends on DM_REGULATOR && DM_GPIO 229 select DM_REGULATOR_COMMON 230 ---help--- 231 This config enables implementation of driver-model regulator uclass 232 features for gpio regulators. The driver implements get/set for 233 voltage value. 234 235config DM_REGULATOR_QCOM_RPMH 236 bool "Enable driver model for Qualcomm RPMh regulator" 237 depends on DM_REGULATOR && QCOM_RPMH 238 ---help--- 239 Enable support for the Qualcomm RPMh regulator. The driver 240 implements get/set api for a limited set of regulators used 241 by u-boot. 242 243config DM_REGULATOR_QCOM_USB_VBUS 244 bool "Enable driver model for Qualcomm USB vbus regulator" 245 depends on DM_REGULATOR 246 ---help--- 247 Enable support for the Qualcomm USB Vbus regulator. The driver 248 implements get/set api for the regulator to be used by u-boot. 249 250config SPL_DM_REGULATOR_GPIO 251 bool "Enable Driver Model for GPIO REGULATOR in SPL" 252 depends on DM_REGULATOR_GPIO && SPL_GPIO 253 select SPL_DM_REGULATOR_COMMON 254 ---help--- 255 This config enables implementation of driver-model regulator uclass 256 features for gpio regulators in SPL. 257 258config REGULATOR_RK8XX 259 bool "Enable driver for RK8XX regulators" 260 depends on DM_REGULATOR && PMIC_RK8XX 261 ---help--- 262 Enable support for the regulator functions of the RK8XX PMIC. The 263 driver implements get/set api for the various BUCKS and LDOs supported 264 by the PMIC device. This driver is controlled by a device tree node 265 which includes voltage limits. 266 267config SPL_REGULATOR_RK8XX 268 bool "Enable driver for RK8XX regulators in SPL" 269 depends on SPL_DM_REGULATOR && SPL_PMIC_RK8XX 270 help 271 Enable support for the regulator functions of the RK8XX PMIC in SPL. The 272 driver implements get/set api for the various BUCKS and LDOs supported 273 by the PMIC device. This driver is controlled by a device tree node 274 which includes voltage limits. 275 276config DM_REGULATOR_S2MPS11 277 bool "Enable driver for S2MPS11 regulator" 278 depends on DM_REGULATOR && PMIC_S2MPS11 279 ---help--- 280 This enables implementation of driver-model regulator uclass 281 features for REGULATOR S2MPS11. 282 The driver implements get/set api for: value and enable. 283 284config REGULATOR_S5M8767 285 bool "Enable support for S5M8767 regulator" 286 depends on DM_REGULATOR && PMIC_S5M8767 287 ---help--- 288 This enables the regulator features of the S5M8767, allowing voltages 289 to be set, etc. The driver is not fully complete but supports most 290 common requirements, including all LDOs and BUCKs. This allows many 291 supplies to be set automatically using the device tree values. 292 293config DM_REGULATOR_SANDBOX 294 bool "Enable Driver Model for Sandbox PMIC regulator" 295 depends on DM_REGULATOR && DM_PMIC_SANDBOX 296 ---help--- 297 Enable the regulator driver for emulated Sandbox PMIC. 298 The emulated PMIC device depends on two drivers: 299 - sandbox PMIC I/O driver - implements dm pmic operations 300 - sandbox PMIC regulator driver - implements dm regulator operations 301 - sandbox PMIC i2c emul driver - emulates the PMIC's I2C transmission 302 303 The regulator driver provides uclass operations for sandbox PMIC's 304 regulators. The driver implements get/set api for: voltage, current, 305 operation mode and enable state. 306 The driver supports LDO and BUCK regulators. 307 308 The Sandbox PMIC info: 309 * I/O interface: 310 - I2C chip address: 0x40 311 - first register address: 0x0 312 - register count: 0x10 313 * Adjustable outputs: 314 - 2x LDO 315 - 2x BUCK 316 - Each, with a different operating conditions (header). 317 * Reset values: 318 - set by i2c emul driver's probe() (defaults in header) 319 320 A detailed information can be found in header: '<power/sandbox_pmic.h>' 321 Binding info: 'doc/device-tree-bindings/pmic/max77686.txt' 322 323config REGULATOR_TPS65090 324 bool "Enable driver for TPS65090 PMIC regulators" 325 depends on PMIC_TPS65090 326 ---help--- 327 The TPS65090 provides several FETs (Field-effect Transistors, 328 effectively switches) which are supported by this driver as 329 regulators, one for each FET. The standard regulator interface is 330 supported, but it is only possible to turn the regulators on or off. 331 There is no voltage/current control. 332 333config DM_REGULATOR_PALMAS 334 bool "Enable driver for PALMAS PMIC regulators" 335 depends on PMIC_PALMAS 336 ---help--- 337 This enables implementation of driver-model regulator uclass 338 features for REGULATOR PALMAS and the family of PALMAS PMICs. 339 The driver implements get/set api for: value and enable. 340 341config DM_REGULATOR_PBIAS 342 bool "Enable driver for PBIAS regulator" 343 depends on DM_REGULATOR 344 select REGMAP 345 select SYSCON 346 ---help--- 347 This enables implementation of driver-model regulator uclass 348 features for pseudo-regulator PBIAS found in the OMAP SOCs. 349 This pseudo-regulator is used to provide a BIAS voltage to MMC1 350 signal pads and must be configured properly during a voltage switch. 351 Voltage switching is required by some operating modes of SDcards and 352 eMMC. 353 354config DM_REGULATOR_LP873X 355 bool "Enable driver for LP873X PMIC regulators" 356 depends on PMIC_LP873X 357 ---help--- 358 This enables implementation of driver-model regulator uclass 359 features for REGULATOR LP873X and the family of LP873X PMICs. 360 The driver implements get/set api for: value and enable. 361 362config DM_REGULATOR_LP87565 363 bool "Enable driver for LP87565 PMIC regulators" 364 depends on PMIC_LP87565 365 ---help--- 366 This enables implementation of driver-model regulator uclass 367 features for REGULATOR LP87565 and the family of LP87565 PMICs. 368 LP87565 series of PMICs have 4 single phase BUCKs that can also 369 be configured in multi phase modes. The driver implements 370 get/set api for value and enable. 371 372config DM_REGULATOR_STM32_VREFBUF 373 bool "Enable driver for STMicroelectronics STM32 VREFBUF" 374 depends on DM_REGULATOR && (STM32H7 || ARCH_STM32MP) 375 help 376 This driver supports STMicroelectronics STM32 VREFBUF (voltage 377 reference buffer) which can be used as voltage reference for 378 internal ADCs, DACs and also for external components through 379 dedicated Vref+ pin. 380 381config DM_REGULATOR_TPS65910 382 bool "Enable driver for TPS65910 PMIC regulators" 383 depends on DM_PMIC_TPS65910 384 ---help--- 385 The TPS65910 PMIC provides 4 SMPSs and 8 LDOs. This driver supports all 386 regulator types of the TPS65910 (BUCK, BOOST and LDO). It implements 387 the get/set api for value and enable. 388 389config DM_REGULATOR_TPS65911 390 bool "Enable driver for TPS65911 PMIC regulators" 391 depends on DM_PMIC_TPS65910 392 ---help--- 393 This config enables implementation of driver-model regulator 394 uclass features for the TPS65911 PMIC. The driver supports Step-Down 395 DC-DC Converters for Processor Cores (VDD1 and VDD2), Step-Down DC-DC 396 Converter for I/O Power (VIO), Controller for External FETs (VDDCtrl) 397 and LDO Voltage Regulators found in TPS65911 PMIC and implements 398 get/set api for value and enable. 399 400config DM_REGULATOR_TPS62360 401 bool "Enable driver for TPS6236x Power Regulator" 402 depends on DM_REGULATOR 403 help 404 The TPS6236X DC/DC step down converter provides a single output 405 power line peaking at 3A current. This driver supports all four 406 variants of the chip (TPS62360, TPS62361, TPS62362, TPS62363). It 407 implements the get/set api for value only, as the power line is 408 always on. 409 410config DM_REGULATOR_TPS80031 411 bool "Enable driver for TPS80031/TPS80032 PMIC regulators" 412 depends on DM_PMIC_TPS80031 413 ---help--- 414 This enables implementation of driver-model regulator uclass 415 features for TPS80031/TPS80032 PMICs. The driver implements 416 get/set api for: value and enable. 417 418config DM_REGULATOR_TPS6287X 419 bool "Enable driver for TPS6287x Power Regulator" 420 depends on DM_REGULATOR 421 help 422 The TPS6287X is a step down converter with a fast transient 423 response. This driver supports all four variants of the chip 424 (TPS62870, TPS62871, TPS62872, TPS62873). It implements the 425 get/set api for value only, as the power line is always on. 426 427config DM_REGULATOR_STPMIC1 428 bool "Enable driver for STPMIC1 regulators" 429 depends on DM_REGULATOR && PMIC_STPMIC1 430 ---help--- 431 Enable support for the regulator functions of the STPMIC1 PMIC. The 432 driver implements get/set api for the various BUCKS and LDOs supported 433 by the PMIC device. This driver is controlled by a device tree node 434 which includes voltage limits. 435 436config DM_REGULATOR_ANATOP 437 bool "Enable driver for ANATOP regulators" 438 depends on DM_REGULATOR 439 select REGMAP 440 select SYSCON 441 help 442 Enable support for the Freescale i.MX on-chip ANATOP LDO 443 regulators. It is recommended that this option be enabled on 444 i.MX6 platform. 445 446config SPL_DM_REGULATOR_TPS6287X 447 bool "Enable driver for TPS6287x Power Regulator" 448 depends on SPL_DM_REGULATOR 449 help 450 The TPS6287X is a step down converter with a fast transient 451 response. This driver supports all four variants of the chip 452 (TPS62870, TPS62871, TPS62872, TPS62873). It implements the 453 get/set api for value only, as the power line is always on. 454 455config SPL_DM_REGULATOR_STPMIC1 456 bool "Enable driver for STPMIC1 regulators in SPL" 457 depends on SPL_DM_REGULATOR && PMIC_STPMIC1 458 help 459 Enable support for the regulator functions of the STPMIC1 PMIC in SPL. 460 461config SPL_DM_REGULATOR_PALMAS 462 bool "Enable driver for PALMAS PMIC regulators" 463 depends on SPL_PMIC_PALMAS 464 help 465 This enables implementation of driver-model regulator uclass 466 features for REGULATOR PALMAS and the family of PALMAS PMICs. 467 The driver implements get/set api for: value and enable in SPL. 468 469config SPL_DM_REGULATOR_LP87565 470 bool "Enable driver for LP87565 PMIC regulators" 471 depends on SPL_PMIC_LP87565 472 help 473 This enables implementation of driver-model regulator uclass 474 features for REGULATOR LP87565 and the family of LP87565 PMICs. 475 LP87565 series of PMICs have 4 single phase BUCKs that can also 476 be configured in multi phase modes. The driver implements 477 get/set api for value and enable in SPL. 478 479config SPL_DM_REGULATOR_LP873X 480 bool "Enable driver for LP873X PMIC regulators" 481 depends on SPL_PMIC_LP873X 482 help 483 This enables implementation of driver-model regulator uclass 484 features for REGULATOR LP873X and the family of LP873X PMICs. 485 The driver implements get/set api for: value and enable in SPL. 486 487config DM_REGULATOR_TPS65941 488 bool "Enable driver for TPS65941 PMIC regulators" 489 depends on PMIC_TPS65941 490 help 491 This enables implementation of driver-model regulator uclass 492 features for REGULATOR TPS65941 and the family of TPS65941 PMICs. 493 TPS65941 series of PMICs have 5 single phase BUCKs that can also 494 be configured in multi phase modes & 4 LDOs. The driver implements 495 get/set api for value and enable. 496 497config DM_REGULATOR_SCMI 498 bool "Enable driver for SCMI voltage domain regulators" 499 depends on DM_REGULATOR 500 select SCMI_AGENT 501 help 502 Enable this option if you want to support regulators exposed through 503 the SCMI voltage domain protocol by a SCMI server. 504 505config DM_REGULATOR_TPS65219 506 bool "Enable driver for TPS65219 PMIC regulators" 507 depends on PMIC_TPS65219 508 help 509 This enables implementation of driver-model regulator uclass 510 features for REGULATOR TPS65219 and the family of TPS65219 PMICs. 511 TPS65219 series of PMICs have 3 single phase BUCKs & 4 LDOs. 512 The driver implements get/set api for value and enable. 513 514config REGULATOR_RZG2L_USBPHY 515 bool "Enable driver for RZ/G2L USB PHY VBUS supply" 516 depends on DM_REGULATOR 517 help 518 Enable this option to support controlling the VBUS supply in 519 the USB PHY peripheral of the Renesas RZ/G2L SoC. This option 520 is required in order to use the USB OTG port. 521 522config DM_REGULATOR_CPCAP 523 bool "Enable driver for CPCAP PMIC regulators" 524 depends on DM_REGULATOR && DM_PMIC_CPCAP 525 ---help--- 526 Enable implementation of driver-model regulator uclass features for 527 REGULATOR CPCAP. The driver supports both DC-to-DC Step-Down Switching 528 (SW) Regulators and Low-Dropout Linear (LDO) Regulators found in CPCAP 529 PMIC and implements get/set api for voltage and state. 530