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_SUPPORT 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 DM_REGULATOR_BD71837 47 bool "Enable Driver Model for ROHM BD71837/BD71847 regulators" 48 depends on DM_REGULATOR && DM_PMIC_BD71837 49 help 50 This config enables implementation of driver-model regulator uclass 51 features for regulators on ROHM BD71837 and BD71847 PMICs. 52 BD71837 contains 8 bucks and 7 LDOS. BD71847 is reduced version 53 containing 6 bucks and 6 LDOs. The driver implements get/set api for 54 value and enable. 55 56config SPL_DM_REGULATOR_BD71837 57 bool "Enable Driver Model for ROHM BD71837/BD71847 regulators in SPL" 58 depends on DM_REGULATOR_BD71837 59 help 60 This config enables implementation of driver-model regulator uclass 61 features for regulators on ROHM BD71837 and BD71847 in SPL. 62 63config DM_REGULATOR_DA9063 64 bool "Enable Driver Model for REGULATOR DA9063" 65 depends on DM_REGULATOR && DM_PMIC_DA9063 66 help 67 This config enables implementation of driver-model regulator uclass 68 features for REGULATOR DA9063. 69 The driver implements get/set api for value, enable and mode for all 70 regulators. It also implements the get/set api for current for the 71 buck regulators. 72 73config SPL_DM_REGULATOR_DA9063 74 bool "Enable Driver Model for REGULATOR DA9063 in SPL" 75 depends on DM_REGULATOR && DM_PMIC_DA9063 && SPL 76 help 77 This config enables implementation of driver-model regulator uclass 78 features for REGULATOR DA9063. 79 The driver implements get/set api for value, enable and mode for all 80 regulators. It also implements the get/set api for current for the 81 buck regulators. 82 83config DM_REGULATOR_PFUZE100 84 bool "Enable Driver Model for REGULATOR PFUZE100" 85 depends on DM_REGULATOR && DM_PMIC_PFUZE100 86 ---help--- 87 This config enables implementation of driver-model regulator uclass 88 features for REGULATOR PFUZE100. The driver implements get/set api for: 89 value, enable and mode. 90 91config REGULATOR_PWM 92 bool "Enable driver for PWM regulators" 93 depends on DM_REGULATOR 94 ---help--- 95 Enable support for the PWM regulator functions which voltage are 96 controlled by PWM duty ratio. Some of Rockchip board using this kind 97 of regulator. The driver implements get/set api for the various BUCKS. 98 This driver is controlled by a device tree node 99 which includes voltage limits. 100 101config SPL_REGULATOR_PWM 102 bool "Enable Driver for PWM regulators in SPL" 103 depends on REGULATOR_PWM 104 help 105 This config enables implementation of driver-model regulator uclass 106 features for PWM regulators in SPL. 107 108config DM_REGULATOR_MAX77686 109 bool "Enable Driver Model for REGULATOR MAX77686" 110 depends on DM_REGULATOR && DM_PMIC_MAX77686 111 ---help--- 112 This config enables implementation of driver-model regulator uclass 113 features for REGULATOR MAX77686. The driver implements get/set api for: 114 value, enable and mode. 115 116config DM_REGULATOR_FAN53555 117 bool "Enable Driver Model for REGULATOR FAN53555" 118 depends on DM_PMIC_FAN53555 119 help 120 This config enables implementation of driver-model regulator 121 uclass features for the FAN53555 regulator. The FAN53555 is 122 a (family of) single-output regulators that supports 123 transitioning between two different output voltages based on 124 an voltage selection pin. 125 126 The driver implements a get/set api for the voltage of the 127 'normal mode' voltage only. Switching to 'suspend mode' 128 (i.e. the alternate voltage), disabling output via software, 129 or switching the mode is not supported by this driver (at 130 this time). 131 132config DM_REGULATOR_COMMON 133 bool 134 depends on DM_REGULATOR 135 136config SPL_DM_REGULATOR_COMMON 137 bool 138 depends on DM_REGULATOR 139 140config DM_REGULATOR_FIXED 141 bool "Enable Driver Model for REGULATOR Fixed value" 142 depends on DM_REGULATOR 143 select DM_REGULATOR_COMMON 144 ---help--- 145 This config enables implementation of driver-model regulator uclass 146 features for fixed value regulators. The driver implements get/set api 147 for enable and get only for voltage value. 148 149config SPL_DM_REGULATOR_FIXED 150 bool "Enable Driver Model for REGULATOR Fixed value in SPL" 151 depends on DM_REGULATOR_FIXED 152 select SPL_DM_REGULATOR_COMMON 153 ---help--- 154 This config enables implementation of driver-model regulator uclass 155 features for fixed value regulators in SPL. 156 157config DM_REGULATOR_GPIO 158 bool "Enable Driver Model for GPIO REGULATOR" 159 depends on DM_REGULATOR && DM_GPIO 160 select DM_REGULATOR_COMMON 161 ---help--- 162 This config enables implementation of driver-model regulator uclass 163 features for gpio regulators. The driver implements get/set for 164 voltage value. 165 166config SPL_DM_REGULATOR_GPIO 167 bool "Enable Driver Model for GPIO REGULATOR in SPL" 168 depends on DM_REGULATOR_GPIO && SPL_GPIO_SUPPORT 169 select SPL_DM_REGULATOR_COMMON 170 ---help--- 171 This config enables implementation of driver-model regulator uclass 172 features for gpio regulators in SPL. 173 174config REGULATOR_RK8XX 175 bool "Enable driver for RK8XX regulators" 176 depends on DM_REGULATOR && PMIC_RK8XX 177 ---help--- 178 Enable support for the regulator functions of the RK8XX PMIC. The 179 driver implements get/set api for the various BUCKS and LDOs supported 180 by the PMIC device. This driver is controlled by a device tree node 181 which includes voltage limits. 182 183config DM_REGULATOR_S2MPS11 184 bool "Enable driver for S2MPS11 regulator" 185 depends on DM_REGULATOR && PMIC_S2MPS11 186 ---help--- 187 This enables implementation of driver-model regulator uclass 188 features for REGULATOR S2MPS11. 189 The driver implements get/set api for: value and enable. 190 191config REGULATOR_S5M8767 192 bool "Enable support for S5M8767 regulator" 193 depends on DM_REGULATOR && PMIC_S5M8767 194 ---help--- 195 This enables the regulator features of the S5M8767, allowing voltages 196 to be set, etc. The driver is not fully complete but supports most 197 common requirements, including all LDOs and BUCKs. This allows many 198 supplies to be set automatically using the device tree values. 199 200config DM_REGULATOR_SANDBOX 201 bool "Enable Driver Model for Sandbox PMIC regulator" 202 depends on DM_REGULATOR && DM_PMIC_SANDBOX 203 ---help--- 204 Enable the regulator driver for emulated Sandbox PMIC. 205 The emulated PMIC device depends on two drivers: 206 - sandbox PMIC I/O driver - implements dm pmic operations 207 - sandbox PMIC regulator driver - implements dm regulator operations 208 - sandbox PMIC i2c emul driver - emulates the PMIC's I2C transmission 209 210 The regulator driver provides uclass operations for sandbox PMIC's 211 regulators. The driver implements get/set api for: voltage, current, 212 operation mode and enable state. 213 The driver supports LDO and BUCK regulators. 214 215 The Sandbox PMIC info: 216 * I/O interface: 217 - I2C chip address: 0x40 218 - first register address: 0x0 219 - register count: 0x10 220 * Adjustable outputs: 221 - 2x LDO 222 - 2x BUCK 223 - Each, with a different operating conditions (header). 224 * Reset values: 225 - set by i2c emul driver's probe() (defaults in header) 226 227 A detailed information can be found in header: '<power/sandbox_pmic.h>' 228 Binding info: 'doc/device-tree-bindings/pmic/max77686.txt' 229 230config REGULATOR_TPS65090 231 bool "Enable driver for TPS65090 PMIC regulators" 232 depends on PMIC_TPS65090 233 ---help--- 234 The TPS65090 provides several FETs (Field-effect Transistors, 235 effectively switches) which are supported by this driver as 236 regulators, one for each FET. The standard regulator interface is 237 supported, but it is only possible to turn the regulators on or off. 238 There is no voltage/current control. 239 240config DM_REGULATOR_PALMAS 241 bool "Enable driver for PALMAS PMIC regulators" 242 depends on PMIC_PALMAS 243 ---help--- 244 This enables implementation of driver-model regulator uclass 245 features for REGULATOR PALMAS and the family of PALMAS PMICs. 246 The driver implements get/set api for: value and enable. 247 248config DM_REGULATOR_PBIAS 249 bool "Enable driver for PBIAS regulator" 250 depends on DM_REGULATOR 251 select REGMAP 252 select SYSCON 253 ---help--- 254 This enables implementation of driver-model regulator uclass 255 features for pseudo-regulator PBIAS found in the OMAP SOCs. 256 This pseudo-regulator is used to provide a BIAS voltage to MMC1 257 signal pads and must be configured properly during a voltage switch. 258 Voltage switching is required by some operating modes of SDcards and 259 eMMC. 260 261config DM_REGULATOR_LP873X 262 bool "Enable driver for LP873X PMIC regulators" 263 depends on PMIC_LP873X 264 ---help--- 265 This enables implementation of driver-model regulator uclass 266 features for REGULATOR LP873X and the family of LP873X PMICs. 267 The driver implements get/set api for: value and enable. 268 269config DM_REGULATOR_LP87565 270 bool "Enable driver for LP87565 PMIC regulators" 271 depends on PMIC_LP87565 272 ---help--- 273 This enables implementation of driver-model regulator uclass 274 features for REGULATOR LP87565 and the family of LP87565 PMICs. 275 LP87565 series of PMICs have 4 single phase BUCKs that can also 276 be configured in multi phase modes. The driver implements 277 get/set api for value and enable. 278 279config DM_REGULATOR_STM32_VREFBUF 280 bool "Enable driver for STMicroelectronics STM32 VREFBUF" 281 depends on DM_REGULATOR && (STM32H7 || ARCH_STM32MP) 282 help 283 This driver supports STMicroelectronics STM32 VREFBUF (voltage 284 reference buffer) which can be used as voltage reference for 285 internal ADCs, DACs and also for external components through 286 dedicated Vref+ pin. 287 288config DM_REGULATOR_TPS65910 289 bool "Enable driver for TPS65910 PMIC regulators" 290 depends on DM_PMIC_TPS65910 291 ---help--- 292 The TPS65910 PMIC provides 4 SMPSs and 8 LDOs. This driver supports all 293 regulator types of the TPS65910 (BUCK, BOOST and LDO). It implements 294 the get/set api for value and enable. 295 296config DM_REGULATOR_TPS62360 297 bool "Enable driver for TPS6236x Power Regulator" 298 depends on DM_REGULATOR 299 help 300 The TPS6236X DC/DC step down converter provides a single output 301 power line peaking at 3A current. This driver supports all four 302 variants of the chip (TPS62360, TPS62361, TPS62362, TPS62363). It 303 implements the get/set api for value only, as the power line is 304 always on. 305 306config DM_REGULATOR_STPMIC1 307 bool "Enable driver for STPMIC1 regulators" 308 depends on DM_REGULATOR && PMIC_STPMIC1 309 ---help--- 310 Enable support for the regulator functions of the STPMIC1 PMIC. The 311 driver implements get/set api for the various BUCKS and LDOs supported 312 by the PMIC device. This driver is controlled by a device tree node 313 which includes voltage limits. 314 315config SPL_DM_REGULATOR_STPMIC1 316 bool "Enable driver for STPMIC1 regulators in SPL" 317 depends on SPL_DM_REGULATOR && PMIC_STPMIC1 318 help 319 Enable support for the regulator functions of the STPMIC1 PMIC in SPL. 320 321config SPL_DM_REGULATOR_PALMAS 322 bool "Enable driver for PALMAS PMIC regulators" 323 depends on SPL_PMIC_PALMAS 324 help 325 This enables implementation of driver-model regulator uclass 326 features for REGULATOR PALMAS and the family of PALMAS PMICs. 327 The driver implements get/set api for: value and enable in SPL. 328 329config SPL_DM_REGULATOR_LP87565 330 bool "Enable driver for LP87565 PMIC regulators" 331 depends on SPL_PMIC_LP87565 332 help 333 This enables implementation of driver-model regulator uclass 334 features for REGULATOR LP87565 and the family of LP87565 PMICs. 335 LP87565 series of PMICs have 4 single phase BUCKs that can also 336 be configured in multi phase modes. The driver implements 337 get/set api for value and enable in SPL. 338 339config SPL_DM_REGULATOR_LP873X 340 bool "Enable driver for LP873X PMIC regulators" 341 depends on SPL_PMIC_LP873X 342 help 343 This enables implementation of driver-model regulator uclass 344 features for REGULATOR LP873X and the family of LP873X PMICs. 345 The driver implements get/set api for: value and enable in SPL. 346 347config DM_REGULATOR_TPS65941 348 bool "Enable driver for TPS65941 PMIC regulators" 349 depends on PMIC_TPS65941 350 help 351 This enables implementation of driver-model regulator uclass 352 features for REGULATOR TPS65941 and the family of TPS65941 PMICs. 353 TPS65941 series of PMICs have 5 single phase BUCKs that can also 354 be configured in multi phase modes & 4 LDOs. The driver implements 355 get/set api for value and enable. 356