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 help 162 This config enables implementation of driver-model pmic uclass features 163 for PMIC PCA9450. The driver implements read/write operations. 164 165config SPL_DM_PMIC_PCA9450 166 bool "Enable Driver Model for PMIC PCA9450" 167 depends on SPL_DM_PMIC 168 help 169 This config enables implementation of driver-model pmic uclass features 170 for PMIC PCA9450 in SPL. The driver implements read/write operations. 171 172config DM_PMIC_PFUZE100 173 bool "Enable Driver Model for PMIC PFUZE100" 174 ---help--- 175 This config enables implementation of driver-model pmic uclass features 176 for PMIC PFUZE100. The driver implements read/write operations. 177 178config SPL_DM_PMIC_PFUZE100 179 bool "Enable Driver Model for PMIC PFUZE100 in SPL" 180 depends on SPL_DM_PMIC 181 ---help--- 182 This config enables implementation of driver-model pmic uclass features 183 for PMIC PFUZE100 in SPL. The driver implements read/write operations. 184 185config DM_PMIC_MAX77686 186 bool "Enable Driver Model for PMIC MAX77686" 187 ---help--- 188 This config enables implementation of driver-model pmic uclass features 189 for PMIC MAX77686. The driver implements read/write operations. 190 191config DM_PMIC_MAX8998 192 bool "Enable Driver Model for PMIC MAX8998" 193 ---help--- 194 This config enables implementation of driver-model pmic uclass features 195 for PMIC MAX8998. The driver implements read/write operations. 196 197config DM_PMIC_MC34708 198 bool "Enable Driver Model for PMIC MC34708" 199 help 200 This config enables implementation of driver-model pmic uclass features 201 for PMIC MC34708. The driver implements read/write operations. 202 203config PMIC_MAX8997 204 bool "Enable Driver Model for PMIC MAX8997" 205 ---help--- 206 This config enables implementation of driver-model pmic uclass features 207 for PMIC MAX8997. The driver implements read/write operations. 208 This is a Power Management IC with RTC, Fuel Gauge, MUIC control on Chip. 209 - 21x LDOs 210 - 12x GPIOs 211 - Haptic Motor driver 212 - RTC with two alarms 213 - Fueal Gauge and One backup battery charger 214 - MUIC 215 - Others 216 217config PMIC_PM8916 218 bool "Enable Driver Model for Qualcomm PM8916 PMIC" 219 ---help--- 220 The PM8916 is a PMIC connected to one (or several) processors 221 with SPMI bus. It has 2 slaves with several peripherals: 222 - 18x LDO 223 - 4x GPIO 224 - Power and Reset buttons 225 - Watchdog 226 - RTC 227 - Vibrator drivers 228 - Others 229 230 Driver binding info: doc/device-tree-bindings/pmic/pm8916.txt 231 232config PMIC_RK8XX 233 bool "Enable support for Rockchip PMIC RK8XX" 234 ---help--- 235 The Rockchip RK808 PMIC provides four buck DC-DC convertors, 8 LDOs, 236 an RTC and two low Rds (resistance (drain to source)) switches. It is 237 accessed via an I2C interface. The device is used with Rockchip SoCs. 238 This driver implements register read/write operations. 239 240config SPL_PMIC_RK8XX 241 bool "Enable support for Rockchip PMIC RK8XX" 242 depends on SPL_DM_PMIC 243 ---help--- 244 The Rockchip RK808 PMIC provides four buck DC-DC convertors, 8 LDOs, 245 an RTC and two low Rds (resistance (drain to source)) switches. It is 246 accessed via an I2C interface. The device is used with Rockchip SoCs. 247 This driver implements register read/write operations. 248 249config PMIC_S2MPS11 250 bool "Enable Driver Model for PMIC Samsung S2MPS11" 251 ---help--- 252 The Samsung S2MPS11 PMIC provides: 253 - 38 adjustable LDO regulators 254 - 9 High-Efficiency Buck Converters 255 - 1 BuckBoost Converter 256 - RTC with two alarms 257 - Backup battery charger 258 - I2C Configuration Interface 259 This driver provides access to I/O interface only. 260 Binding info: doc/device-tree-bindings/pmic/s2mps11.txt 261 262config DM_PMIC_SANDBOX 263 bool "Enable Driver Model for emulated Sandbox PMIC" 264 ---help--- 265 Enable the driver for Sandbox PMIC emulation. The emulated PMIC device 266 depends on two drivers: 267 - sandbox PMIC I/O driver - implements dm pmic operations 268 - sandbox PMIC i2c emul driver - emulates the PMIC's I2C transmission 269 270 A detailed information can be found in header: '<power/sandbox_pmic.h>' 271 272 The Sandbox PMIC info: 273 * I/O interface: 274 - I2C chip address: 0x40 275 - first register address: 0x0 276 - register count: 0x10 277 * Adjustable outputs: 278 - 2x LDO 279 - 2x BUCK 280 - Each, with a different operating conditions (header). 281 * Reset values: 282 - set by i2c emul driver's probe() (defaults in header) 283 284 Driver binding info: doc/device-tree-bindings/pmic/sandbox.txt 285 286config PMIC_S5M8767 287 bool "Enable Driver Model for the Samsung S5M8767 PMIC" 288 ---help--- 289 The S5M8767 PMIC provides a large array of LDOs and BUCKs for use 290 as a SoC power controller. It also provides 32KHz clock outputs. This 291 driver provides basic register access and sets up the attached 292 regulators if regulator support is enabled. 293 294config PMIC_RN5T567 295 bool "Enable driver for Ricoh RN5T567 PMIC" 296 ---help--- 297 The RN5T567 is a PMIC with 4 step-down DC/DC converters, 5 LDO 298 regulators Real-Time Clock and 4 GPIOs. This driver provides 299 register access only. 300 301config PMIC_TPS65090 302 bool "Enable driver for Texas Instruments TPS65090 PMIC" 303 ---help--- 304 The TPS65090 is a PMIC containing several LDOs, DC to DC convertors, 305 FETs and a battery charger. This driver provides register access 306 only, and you can enable the regulator/charger drivers separately if 307 required. 308 309config PMIC_PALMAS 310 bool "Enable driver for Texas Instruments PALMAS PMIC" 311 ---help--- 312 The PALMAS is a PMIC containing several LDOs, SMPS. 313 This driver binds the pmic children. 314 315config PMIC_LP873X 316 bool "Enable driver for Texas Instruments LP873X PMIC" 317 ---help--- 318 The LP873X is a PMIC containing couple of LDOs and couple of SMPS. 319 This driver binds the pmic children. 320 321config PMIC_LP87565 322 bool "Enable driver for Texas Instruments LP87565 PMIC" 323 ---help--- 324 The LP87565 is a PMIC containing a bunch of SMPS. 325 This driver binds the pmic children. 326 327config DM_PMIC_TPS65910 328 bool "Enable driver for Texas Instruments TPS65910 PMIC" 329 ---help--- 330 The TPS65910 is a PMIC containing 3 buck DC-DC converters, one boost 331 DC-DC converter, 8 LDOs and a RTC. This driver binds the SMPS and LDO 332 pmic children. 333 334config PMIC_STPMIC1 335 bool "Enable support for STMicroelectronics STPMIC1 PMIC" 336 depends on DM_I2C 337 select SYSRESET_CMD_POWEROFF if CMD_POWEROFF && !ARM_PSCI_FW 338 ---help--- 339 The STPMIC1 PMIC provides 4 BUCKs, 6 LDOs, 1 VREF and 2 power switches. 340 It is accessed via an I2C interface. The device is used with STM32MP1 341 SoCs. This driver implements register read/write operations. 342 343config SPL_PMIC_PALMAS 344 bool "Enable driver for Texas Instruments PALMAS PMIC" 345 depends on SPL_DM_PMIC 346 help 347 The PALMAS is a PMIC containing several LDOs, SMPS. 348 This driver binds the pmic children in SPL. 349 350config SPL_PMIC_LP873X 351 bool "Enable driver for Texas Instruments LP873X PMIC" 352 depends on SPL_DM_PMIC 353 help 354 The LP873X is a PMIC containing couple of LDOs and couple of SMPS. 355 This driver binds the pmic children in SPL. 356 357config SPL_PMIC_LP87565 358 bool "Enable driver for Texas Instruments LP87565 PMIC" 359 depends on SPL_DM_PMIC 360 help 361 The LP87565 is a PMIC containing a bunch of SMPS. 362 This driver binds the pmic children in SPL. 363 364config PMIC_TPS65941 365 bool "Enable driver for Texas Instruments TPS65941 PMIC" 366 help 367 The TPS65941 is a PMIC containing a bunch of SMPS & LDOs. 368 This driver binds the pmic children. 369 370endif 371 372config POWER_MC34VR500 373 bool "Enable driver for Freescale MC34VR500 PMIC" 374 depends on !DM_PMIC 375 ---help--- 376 The MC34VR500 is used in conjunction with the FSL T1 and LS1 series 377 SoC. It provides 4 buck DC-DC convertors and 5 LDOs, and it is accessed 378 via an I2C interface. 379