1config DM_PMIC 2 bool "Enable Driver Model for PMIC drivers (UCLASS_PMIC)" 3 depends on DM 4 ---help--- 5 This config enables the driver-model PMIC support. 6 UCLASS_PMIC - designed to provide an I/O interface for PMIC devices. 7 For the multi-function PMIC devices, this can be used as parent I/O 8 device for each IC's interface. Then, each children uses its parent 9 for read/write. For detailed description, please refer to the files: 10 - 'drivers/power/pmic/pmic-uclass.c' 11 - 'include/power/pmic.h' 12 13if DM_PMIC 14 15config SPL_DM_PMIC 16 bool "Enable Driver Model for PMIC drivers (UCLASS_PMIC) in SPL" 17 depends on SPL_DM 18 default y 19 ---help--- 20 This config enables the driver-model PMIC support in SPL. 21 UCLASS_PMIC - designed to provide an I/O interface for PMIC devices. 22 For the multi-function PMIC devices, this can be used as parent I/O 23 device for each IC's interface. Then, each children uses its parent 24 for read/write. For detailed description, please refer to the files: 25 - 'drivers/power/pmic/pmic-uclass.c' 26 - 'include/power/pmic.h' 27 28config PMIC_CHILDREN 29 bool "Allow child devices for PMICs" 30 default y 31 ---help--- 32 This allows PMICs to support child devices (such as regulators) in 33 SPL. This adds quite a bit of code so if you are not using this 34 feature you can turn it off. Most likely you should turn it on for 35 U-Boot proper. 36 37config SPL_PMIC_CHILDREN 38 bool "Allow child devices for PMICs in SPL" 39 depends on SPL_DM_PMIC 40 default y 41 ---help--- 42 This allows PMICs to support child devices (such as regulators) in 43 SPL. This adds quite a bit of code so if you are not using this 44 feature you can turn it off. In this case you may need a 'back door' 45 to call your regulator code (e.g. see rk8xx.c for direct functions 46 for use in SPL). 47 48config PMIC_AB8500 49 bool "Enable driver for ST-Ericsson AB8500 PMIC via PRCMU" 50 select REGMAP 51 select SYSCON 52 help 53 Enable support for the ST-Ericsson AB8500 (Analog Baseband) PMIC. 54 It connects with the ST-Ericsson DB8500 SoC via an I2C bus managed by 55 the power/reset/clock management unit (PRCMU) firmware. 56 57config PMIC_ACT8846 58 bool "Enable support for the active-semi 8846 PMIC" 59 depends on DM_I2C 60 ---help--- 61 This PMIC includes 4 DC/DC step-down buck regulators and 8 low-dropout 62 regulators (LDOs). It also provides some GPIO, reset and battery 63 functions. It uses an I2C interface and is designed for use with 64 tablets and smartphones. 65 66config PMIC_AXP 67 bool "Enable Driver Model for X-Powers AXP PMICs" 68 depends on DM_I2C 69 select SYSRESET_CMD_POWEROFF if SYSRESET && CMD_POWEROFF 70 imply CMD_POWEROFF if SYSRESET 71 help 72 This config enables driver-model PMIC uclass features for 73 X-Powers AXP152, AXP2xx, and AXP8xx PMICs. 74 75config SPL_PMIC_AXP 76 bool "Enable Driver Model for X-Powers AXP PMICs in SPL" 77 depends on SPL_DM_I2C && SPL_DM_PMIC 78 help 79 This config enables driver-model PMIC uclass features in the SPL for 80 X-Powers AXP152, AXP2xx, and AXP8xx PMICs. 81 82config DM_PMIC_DA9063 83 bool "Enable Driver Model for the Dialog DA9063 PMIC" 84 help 85 This config enables implementation of driver-model pmic uclass features 86 for PMIC DA9063. The driver implements read/write operations. 87 88config SPL_DM_PMIC_DA9063 89 bool "Enable Driver Model for the Dialog DA9063 PMIC in SPL" 90 depends on SPL_DM_PMIC 91 help 92 This config enables implementation of driver-model pmic uclass features 93 for PMIC DA9063. The driver implements read/write operations. 94 95config PMIC_AS3722 96 bool "Enable support for the Austria Micro Systems (AMS) AS7322 PMIC" 97 help 98 The AS3722 includes 7 DC/DC buck convertors, 11 low-noise LDOs, a 99 real-time clock, GPIOs, ADC and a few other features. It uses an I2C 100 interface and is designs to cover most of the power managementment 101 required for a tablets or laptop. 102 103config DM_PMIC_BD71837 104 bool "Enable Driver Model for PMIC BD71837" 105 help 106 This config enables implementation of driver-model pmic uclass features 107 for PMIC BD71837. The driver implements read/write operations. 108 109config SPL_DM_PMIC_BD71837 110 bool "Enable Driver Model for PMIC BD71837 in SPL stage" 111 depends on SPL_DM_PMIC 112 help 113 This config enables implementation of driver-model pmic uclass 114 features for PMIC BD71837. The driver implements read/write 115 operations. 116 117config DM_PMIC_FAN53555 118 bool "Enable support for OnSemi FAN53555" 119 depends on DM_REGULATOR && DM_I2C 120 select DM_REGULATOR_FAN53555 121 help 122 This config enables implementation of driver-model PMIC 123 uclass features for the FAN53555 regulator. The FAN53555 is 124 a (family of) single-output regulators that supports 125 transitioning between two different output voltages based on 126 an voltage selection pin. 127 128 The driver implements read/write operations for use with the FAN53555 129 regulator driver and binds the regulator driver to its node. 130 131config SPL_DM_PMIC_FAN53555 132 bool "Enable support for OnSemi FAN53555 in SPL" 133 depends on SPL_DM_REGULATOR && SPL_DM_I2C 134 select SPL_DM_REGULATOR_FAN53555 135 help 136 This config enables implementation of driver-model PMIC 137 uclass features for the FAN53555 regulator. The FAN53555 is 138 a (family of) single-output regulators that supports 139 transitioning between two different output voltages based on 140 an voltage selection pin. 141 142 The driver implements read/write operations for use with the FAN53555 143 regulator driver and binds the regulator driver to its node. 144 145config DM_PMIC_MP5416 146 bool "Enable Driver Model for PMIC MP5416" 147 help 148 This config enables implementation of driver-model pmic uclass features 149 for PMIC MP5416. The driver implements read/write operations. 150 151config SPL_DM_PMIC_MP5416 152 bool "Enable Driver Model for PMIC MP5416 in SPL stage" 153 depends on SPL_DM_PMIC 154 help 155 This config enables implementation of driver-model pmic uclass 156 features for PMIC MP5416. The driver implements read/write 157 operations. 158 159config DM_PMIC_PCA9450 160 bool "Enable Driver Model for PMIC PCA9450" 161 depends on DM_I2C 162 help 163 This config enables implementation of driver-model pmic uclass features 164 for PMIC PCA9450. The driver implements read/write operations. 165 166config SPL_DM_PMIC_PCA9450 167 bool "Enable Driver Model for PMIC PCA9450 in SPL" 168 depends on SPL_DM_PMIC 169 depends on SPL_DM_I2C 170 help 171 This config enables implementation of driver-model pmic uclass features 172 for PMIC PCA9450 in SPL. The driver implements read/write operations. 173 174config DM_PMIC_PFUZE100 175 bool "Enable Driver Model for PMIC PFUZE100" 176 ---help--- 177 This config enables implementation of driver-model pmic uclass features 178 for PMIC PFUZE100. The driver implements read/write operations. 179 180config SPL_DM_PMIC_PFUZE100 181 bool "Enable Driver Model for PMIC PFUZE100 in SPL" 182 depends on SPL_DM_PMIC 183 ---help--- 184 This config enables implementation of driver-model pmic uclass features 185 for PMIC PFUZE100 in SPL. The driver implements read/write operations. 186 187config DM_PMIC_MAX8907 188 bool "Enable Driver Model for PMIC MAX8907" 189 ---help--- 190 This config enables implementation of driver-model pmic uclass features 191 for PMIC MAX8907. The driver implements read/write operations. 192 This is a Power Management IC with a decent set of peripherals from which 193 3 DC-to-DC Step-Down (SD) Regulators, 20 Low-Dropout Linear (LDO) Regulators, 194 Real-Time Clock (RTC) and more with I2C Compatible Interface. 195 196config DM_PMIC_MAX77663 197 bool "Enable Driver Model for PMIC MAX77663" 198 ---help--- 199 This config enables implementation of driver-model pmic uclass features 200 for PMIC MAX77663. The driver implements read/write operations. 201 This is a Power Management IC with a decent set of peripherals from which 202 4 DC-to-DC Step-Down (SD) Regulators, 9 Low-Dropout Linear (LDO) Regulators, 203 8 GPIOs, Real-Time Clock (RTC) and more with I2C Compatible Interface. 204 205config DM_PMIC_MAX77686 206 bool "Enable Driver Model for PMIC MAX77686" 207 ---help--- 208 This config enables implementation of driver-model pmic uclass features 209 for PMIC MAX77686. The driver implements read/write operations. 210 211config DM_PMIC_MAX8998 212 bool "Enable Driver Model for PMIC MAX8998" 213 ---help--- 214 This config enables implementation of driver-model pmic uclass features 215 for PMIC MAX8998. The driver implements read/write operations. 216 217config DM_PMIC_MC34708 218 bool "Enable Driver Model for PMIC MC34708" 219 help 220 This config enables implementation of driver-model pmic uclass features 221 for PMIC MC34708. The driver implements read/write operations. 222 223config PMIC_MAX8997 224 bool "Enable Driver Model for PMIC MAX8997" 225 ---help--- 226 This config enables implementation of driver-model pmic uclass features 227 for PMIC MAX8997. The driver implements read/write operations. 228 This is a Power Management IC with RTC, Fuel Gauge, MUIC control on Chip. 229 - 21x LDOs 230 - 12x GPIOs 231 - Haptic Motor driver 232 - RTC with two alarms 233 - Fueal Gauge and One backup battery charger 234 - MUIC 235 - Others 236 237config PMIC_QCOM 238 bool "Enable Driver Model for Qualcomm generic PMIC" 239 ---help--- 240 The Qcom PMIC is connected to one (or several) processors 241 with SPMI bus. It has 2 slaves with several peripherals: 242 - 18x LDO 243 - 4x GPIO 244 - Power and Reset buttons 245 - Watchdog 246 - RTC 247 - Vibrator drivers 248 - Others 249 250 Driver binding info: doc/device-tree-bindings/pmic/qcom,spmi-pmic.txt 251 252config PMIC_RK8XX 253 bool "Enable support for Rockchip PMIC RK8XX" 254 select SYSRESET_CMD_POWEROFF if SYSRESET && CMD_POWEROFF 255 ---help--- 256 The Rockchip RK808 PMIC provides four buck DC-DC convertors, 8 LDOs, 257 an RTC and two low Rds (resistance (drain to source)) switches. It is 258 accessed via an I2C interface. The device is used with Rockchip SoCs. 259 This driver implements register read/write operations. 260 261config SPL_PMIC_RK8XX 262 bool "Enable support for Rockchip PMIC RK8XX in SPL" 263 depends on SPL_DM_PMIC 264 ---help--- 265 The Rockchip RK808 PMIC provides four buck DC-DC convertors, 8 LDOs, 266 an RTC and two low Rds (resistance (drain to source)) switches. It is 267 accessed via an I2C interface. The device is used with Rockchip SoCs. 268 This driver implements register read/write operations. 269 270config PMIC_S2MPS11 271 bool "Enable Driver Model for PMIC Samsung S2MPS11" 272 ---help--- 273 The Samsung S2MPS11 PMIC provides: 274 - 38 adjustable LDO regulators 275 - 9 High-Efficiency Buck Converters 276 - 1 BuckBoost Converter 277 - RTC with two alarms 278 - Backup battery charger 279 - I2C Configuration Interface 280 This driver provides access to I/O interface only. 281 Binding info: doc/device-tree-bindings/pmic/s2mps11.txt 282 283config DM_PMIC_SANDBOX 284 bool "Enable Driver Model for emulated Sandbox PMIC" 285 ---help--- 286 Enable the driver for Sandbox PMIC emulation. The emulated PMIC device 287 depends on two drivers: 288 - sandbox PMIC I/O driver - implements dm pmic operations 289 - sandbox PMIC i2c emul driver - emulates the PMIC's I2C transmission 290 291 A detailed information can be found in header: '<power/sandbox_pmic.h>' 292 293 The Sandbox PMIC info: 294 * I/O interface: 295 - I2C chip address: 0x40 296 - first register address: 0x0 297 - register count: 0x10 298 * Adjustable outputs: 299 - 2x LDO 300 - 2x BUCK 301 - Each, with a different operating conditions (header). 302 * Reset values: 303 - set by i2c emul driver's probe() (defaults in header) 304 305 Driver binding info: doc/device-tree-bindings/pmic/sandbox.txt 306 307config DM_PMIC_CPCAP 308 bool "Enable Driver Model for Motorola CPCAP" 309 help 310 The CPCAP is a Motorola/ST-Ericsson creation, a multifunctional IC 311 whose main purpose is power control. It was used in a wide variety of 312 Motorola products, both Tegra and OMAP based. The most notable devices 313 using this PMIC are the Motorola Droid 4, Atrix 4G, and Droid X2. 314 Unlike most PMICs, this one is not I2C based; it uses the SPI bus. The 315 core driver provides both read and write access to the device registers. 316 317config PMIC_S5M8767 318 bool "Enable Driver Model for the Samsung S5M8767 PMIC" 319 ---help--- 320 The S5M8767 PMIC provides a large array of LDOs and BUCKs for use 321 as a SoC power controller. It also provides 32KHz clock outputs. This 322 driver provides basic register access and sets up the attached 323 regulators if regulator support is enabled. 324 325config PMIC_RN5T567 326 bool "Enable driver for Ricoh RN5T567 PMIC" 327 ---help--- 328 The RN5T567 is a PMIC with 4 step-down DC/DC converters, 5 LDO 329 regulators Real-Time Clock and 4 GPIOs. This driver provides 330 register access only. 331 332config SPL_PMIC_RN5T567 333 bool "Enable driver for Ricoh RN5T567 PMIC in SPL" 334 depends on SPL_DM_PMIC 335 ---help--- 336 The RN5T567 is a PMIC with 4 step-down DC/DC converters, 5 LDO 337 regulators Real-Time Clock and 4 GPIOs. This driver provides 338 register access only. 339 340config PMIC_TPS65090 341 bool "Enable driver for Texas Instruments TPS65090 PMIC" 342 ---help--- 343 The TPS65090 is a PMIC containing several LDOs, DC to DC convertors, 344 FETs and a battery charger. This driver provides register access 345 only, and you can enable the regulator/charger drivers separately if 346 required. 347 348config PMIC_PALMAS 349 bool "Enable driver for Texas Instruments PALMAS PMIC" 350 ---help--- 351 The PALMAS is a PMIC containing several LDOs, SMPS. 352 This driver binds the pmic children. 353 354config PMIC_LP873X 355 bool "Enable driver for Texas Instruments LP873X PMIC" 356 ---help--- 357 The LP873X is a PMIC containing couple of LDOs and couple of SMPS. 358 This driver binds the pmic children. 359 360config PMIC_LP87565 361 bool "Enable driver for Texas Instruments LP87565 PMIC" 362 ---help--- 363 The LP87565 is a PMIC containing a bunch of SMPS. 364 This driver binds the pmic children. 365 366config DM_PMIC_TPS65910 367 bool "Enable driver for Texas Instruments TPS65910 PMIC" 368 ---help--- 369 The TPS65910 is a PMIC containing 3 buck DC-DC converters, one boost 370 DC-DC converter, 8 LDOs and a RTC. This driver binds the SMPS and LDO 371 pmic children. 372 373config DM_PMIC_TPS80031 374 bool "Enable driver for Texas Instruments TPS80031/TPS80032 PMIC" 375 ---help--- 376 This config enables implementation of driver-model pmic uclass features 377 for TPS80031/TPS80032 PMICs. The driver implements read/write operations. 378 This is a Power Management IC with a decent set of peripherals from which 379 5 Buck Converters refered as Switched-mode power supply (SMPS), 11 General- 380 Purpose Low-Dropout Voltage Regulators (LDO), USB OTG Module, Real-Time 381 Clock (RTC) with Timer and Alarm Wake-Up, Two Digital PWM Outputs and more 382 with I2C Compatible Interface. PMIC occupies 4 I2C addresses. 383 384config PMIC_STPMIC1 385 bool "Enable support for STMicroelectronics STPMIC1 PMIC" 386 depends on DM_I2C 387 select SYSRESET_CMD_POWEROFF if CMD_POWEROFF && !ARM_PSCI_FW 388 ---help--- 389 The STPMIC1 PMIC provides 4 BUCKs, 6 LDOs, 1 VREF and 2 power switches. 390 It is accessed via an I2C interface. The device is used with STM32MP1 391 SoCs. This driver implements register read/write operations. 392 393config SPL_PMIC_PALMAS 394 bool "Enable driver for Texas Instruments PALMAS PMIC" 395 depends on SPL_DM_PMIC 396 help 397 The PALMAS is a PMIC containing several LDOs, SMPS. 398 This driver binds the pmic children in SPL. 399 400config SPL_PMIC_LP873X 401 bool "Enable driver for Texas Instruments LP873X PMIC" 402 depends on SPL_DM_PMIC 403 help 404 The LP873X is a PMIC containing couple of LDOs and couple of SMPS. 405 This driver binds the pmic children in SPL. 406 407config SPL_PMIC_LP87565 408 bool "Enable driver for Texas Instruments LP87565 PMIC" 409 depends on SPL_DM_PMIC 410 help 411 The LP87565 is a PMIC containing a bunch of SMPS. 412 This driver binds the pmic children in SPL. 413 414config PMIC_TPS65941 415 bool "Enable driver for Texas Instruments TPS65941 PMIC" 416 depends on DM_PMIC 417 help 418 The TPS65941 is a PMIC containing a bunch of SMPS & LDOs. 419 This driver binds the pmic children. 420 421config PMIC_TPS65219 422 bool "Enable driver for Texas Instruments TPS65219 PMIC" 423 depends on DM_PMIC 424 help 425 The TPS65219 is a PMIC containing a bunch of SMPS & LDOs. 426 This driver binds the pmic children. 427 428config PMIC_RAA215300 429 bool "Renesas RAA215300 PMIC driver" 430 depends on DM_PMIC 431 help 432 The Renesas RAA215300 PMIC driver includes RTC support, system reset 433 support and several voltage regulators. For now, this driver simply 434 allows register access and will bind the sysreset driver 435 (CONFIG_SYSRESET_RAA215300) if it is enabled. 436endif 437 438config PMIC_TPS65217 439 bool "Enable driver for Texas Instruments TPS65217 PMIC" 440 ---help--- 441 The TPS65217 is a PMIC containing several LDOs, DC to DC convertors, 442 FETs and a battery charger. This driver provides register access 443 only, and you can enable the regulator/charger drivers separately if 444 required. 445 446config POWER_TPS65218 447 bool "Enable legacy driver for TPS65218 PMIC" 448 449config POWER_TPS62362 450 bool "Enable legacy driver for TPS62362 PMIC" 451 452config SPL_POWER_TPS62362 453 bool "Enable legacy driver for TPS62362 PMIC in SPL" 454 default y if POWER_TPS62362 455 depends on SPL 456 457config SPL_POWER_TPS65910 458 bool "Enable legacy driver for TPS65910 PMIC in SPL" 459 depends on SPL 460 461if POWER_LEGACY || SPL_POWER_LEGACY 462 463config POWER_HI6553 464 bool "Enable legacy driver for HI6553 PMIC" 465 466config POWER_LTC3676 467 bool "Enable legacy driver for LTC3676 PMIC" 468 469config POWER_PCA9450 470 bool "Enable legacy driver for PCA9450 PMIC" 471 472config POWER_PFUZE100 473 bool "Enable legacy driver for PFUZE100 PMIC" 474 475config POWER_PFUZE3000 476 bool "Enable legacy driver for PFUZE3000 PMIC" 477 478config POWER_MC34VR500 479 bool "Enable driver for Freescale MC34VR500 PMIC" 480 ---help--- 481 The MC34VR500 is used in conjunction with the FSL T1 and LS1 series 482 SoC. It provides 4 buck DC-DC convertors and 5 LDOs, and it is accessed 483 via an I2C interface. 484 485endif 486