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