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