1# SPDX-License-Identifier: GPL-2.0 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/regulator/regulator.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Voltage/Current Regulators 8 9maintainers: 10 - Liam Girdwood <[email protected]> 11 - Mark Brown <[email protected]> 12 13properties: 14 regulator-name: 15 description: A string used as a descriptive name for regulator outputs 16 $ref: /schemas/types.yaml#/definitions/string 17 18 regulator-min-microvolt: 19 description: smallest voltage consumers may set 20 21 regulator-max-microvolt: 22 description: largest voltage consumers may set 23 24 regulator-microvolt-offset: 25 description: Offset applied to voltages to compensate for voltage drops 26 $ref: /schemas/types.yaml#/definitions/uint32 27 28 regulator-min-microamp: 29 description: smallest current consumers may set 30 31 regulator-max-microamp: 32 description: largest current consumers may set 33 34 regulator-input-current-limit-microamp: 35 description: maximum input current regulator allows 36 37 regulator-power-budget-milliwatt: 38 description: power budget of the regulator 39 40 regulator-always-on: 41 description: boolean, regulator should never be disabled 42 type: boolean 43 44 regulator-boot-on: 45 description: bootloader/firmware enabled regulator. 46 It's expected that this regulator was left on by the bootloader. 47 If the bootloader didn't leave it on then OS should turn it on 48 at boot but shouldn't prevent it from being turned off later. 49 This property is intended to only be used for regulators where 50 software cannot read the state of the regulator. 51 type: boolean 52 53 regulator-allow-bypass: 54 description: allow the regulator to go into bypass mode 55 type: boolean 56 57 regulator-allow-set-load: 58 description: allow the regulator performance level to be configured 59 type: boolean 60 61 regulator-ramp-delay: 62 description: ramp delay for regulator(in uV/us) For hardware which supports 63 disabling ramp rate, it should be explicitly initialised to zero (regulator-ramp-delay 64 = <0>) for disabling ramp delay. 65 $ref: /schemas/types.yaml#/definitions/uint32 66 67 regulator-enable-ramp-delay: 68 description: The time taken, in microseconds, for the supply rail to 69 reach the target voltage, plus/minus whatever tolerance the board 70 design requires. This property describes the total system ramp time 71 required due to the combination of internal ramping of the regulator 72 itself, and board design issues such as trace capacitance and load 73 on the supply. 74 $ref: /schemas/types.yaml#/definitions/uint32 75 76 regulator-settling-time-us: 77 description: Settling time, in microseconds, for voltage change if regulator 78 have the constant time for any level voltage change. This is useful 79 when regulator have exponential voltage change. 80 81 regulator-settling-time-up-us: 82 description: Settling time, in microseconds, for voltage increase if 83 the regulator needs a constant time to settle after voltage increases 84 of any level. This is useful for regulators with exponential voltage 85 changes. 86 87 regulator-settling-time-down-us: 88 description: Settling time, in microseconds, for voltage decrease if 89 the regulator needs a constant time to settle after voltage decreases 90 of any level. This is useful for regulators with exponential voltage 91 changes. 92 93 regulator-soft-start: 94 description: Enable soft start so that voltage ramps slowly 95 type: boolean 96 97 regulator-initial-mode: 98 description: initial operating mode. The set of possible operating modes 99 depends on the capabilities of every hardware so each device binding 100 documentation explains which values the regulator supports. 101 $ref: /schemas/types.yaml#/definitions/uint32 102 103 regulator-allowed-modes: 104 description: list of operating modes that software is allowed to configure 105 for the regulator at run-time. Elements may be specified in any order. 106 The set of possible operating modes depends on the capabilities of 107 every hardware so each device binding document explains which values 108 the regulator supports. 109 $ref: /schemas/types.yaml#/definitions/uint32-array 110 111 regulator-system-load: 112 description: Load in uA present on regulator that is not captured by 113 any consumer request. 114 $ref: /schemas/types.yaml#/definitions/uint32 115 116 regulator-pull-down: 117 description: Enable pull down resistor when the regulator is disabled. 118 type: boolean 119 120 system-critical-regulator: 121 description: Set if the regulator is critical to system stability or 122 functionality. 123 type: boolean 124 125 regulator-over-current-protection: 126 description: Enable over current protection. 127 type: boolean 128 129 regulator-oc-protection-microamp: 130 description: Set over current protection limit. This is a limit where 131 hardware performs emergency shutdown. Zero can be passed to disable 132 protection and value '1' indicates that protection should be enabled but 133 limit setting can be omitted. 134 135 regulator-oc-error-microamp: 136 description: Set over current error limit. This is a limit where part of 137 the hardware probably is malfunctional and damage prevention is requested. 138 Zero can be passed to disable error detection and value '1' indicates 139 that detection should be enabled but limit setting can be omitted. 140 141 regulator-oc-warn-microamp: 142 description: Set over current warning limit. This is a limit where hardware 143 is assumed still to be functional but approaching limit where it gets 144 damaged. Recovery actions should be initiated. Zero can be passed to 145 disable detection and value '1' indicates that detection should 146 be enabled but limit setting can be omitted. 147 148 regulator-ov-protection-microvolt: 149 description: Set over voltage protection limit. This is a limit where 150 hardware performs emergency shutdown. Zero can be passed to disable 151 protection and value '1' indicates that protection should be enabled but 152 limit setting can be omitted. Limit is given as microvolt offset from 153 voltage set to regulator. 154 155 regulator-ov-error-microvolt: 156 description: Set over voltage error limit. This is a limit where part of 157 the hardware probably is malfunctional and damage prevention is requested 158 Zero can be passed to disable error detection and value '1' indicates 159 that detection should be enabled but limit setting can be omitted. Limit 160 is given as microvolt offset from voltage set to regulator. 161 162 regulator-ov-warn-microvolt: 163 description: Set over voltage warning limit. This is a limit where hardware 164 is assumed still to be functional but approaching limit where it gets 165 damaged. Recovery actions should be initiated. Zero can be passed to 166 disable detection and value '1' indicates that detection should 167 be enabled but limit setting can be omitted. Limit is given as microvolt 168 offset from voltage set to regulator. 169 170 regulator-uv-protection-microvolt: 171 description: Set over under voltage protection limit. This is a limit where 172 hardware performs emergency shutdown. Zero can be passed to disable 173 protection and value '1' indicates that protection should be enabled but 174 limit setting can be omitted. Limit is given as microvolt offset from 175 voltage set to regulator. 176 177 regulator-uv-error-microvolt: 178 description: Set under voltage error limit. This is a limit where part of 179 the hardware probably is malfunctional and damage prevention is requested 180 Zero can be passed to disable error detection and value '1' indicates 181 that detection should be enabled but limit setting can be omitted. Limit 182 is given as microvolt offset from voltage set to regulator. 183 184 regulator-uv-warn-microvolt: 185 description: Set over under voltage warning limit. This is a limit where 186 hardware is assumed still to be functional but approaching limit where 187 it gets damaged. Recovery actions should be initiated. Zero can be passed 188 to disable detection and value '1' indicates that detection should 189 be enabled but limit setting can be omitted. Limit is given as microvolt 190 offset from voltage set to regulator. 191 192 regulator-uv-less-critical-window-ms: 193 description: Specifies the time window (in milliseconds) following a 194 critical under-voltage event during which the system can continue to 195 operate safely while performing less critical operations. This property 196 provides a defined duration before a more severe reaction to the 197 under-voltage event is needed, allowing for certain non-urgent actions to 198 be carried out in preparation for potential power loss. 199 200 regulator-temp-protection-kelvin: 201 description: Set over temperature protection limit. This is a limit where 202 hardware performs emergency shutdown. Zero can be passed to disable 203 protection and value '1' indicates that protection should be enabled but 204 limit setting can be omitted. 205 206 regulator-temp-error-kelvin: 207 description: Set over temperature error limit. This is a limit where part of 208 the hardware probably is malfunctional and damage prevention is requested 209 Zero can be passed to disable error detection and value '1' indicates 210 that detection should be enabled but limit setting can be omitted. 211 212 regulator-temp-warn-kelvin: 213 description: Set over temperature warning limit. This is a limit where 214 hardware is assumed still to be functional but approaching limit where it 215 gets damaged. Recovery actions should be initiated. Zero can be passed to 216 disable detection and value '1' indicates that detection should 217 be enabled but limit setting can be omitted. 218 219 regulator-active-discharge: 220 description: | 221 tristate, enable/disable active discharge of regulators. The values are: 222 0: Disable active discharge. 223 1: Enable active discharge. 224 Absence of this property will leave configuration to default. 225 $ref: /schemas/types.yaml#/definitions/uint32 226 enum: [0, 1] 227 228 regulator-coupled-with: 229 description: Regulators with which the regulator is coupled. The linkage 230 is 2-way - all coupled regulators should be linked with each other. 231 A regulator should not be coupled with its supplier. 232 $ref: /schemas/types.yaml#/definitions/phandle-array 233 items: 234 maxItems: 1 235 236 regulator-coupled-max-spread: 237 description: Array of maximum spread between voltages of coupled regulators 238 in microvolts, each value in the array relates to the corresponding 239 couple specified by the regulator-coupled-with property. 240 $ref: /schemas/types.yaml#/definitions/uint32-array 241 242 regulator-max-step-microvolt: 243 description: Maximum difference between current and target voltages 244 that can be changed safely in a single step. 245 246patternProperties: 247 ".*-supply$": 248 description: Input supply phandle(s) for this node 249 250 "^regulator-state-(standby|mem|disk)$": 251 type: object 252 description: 253 sub-nodes for regulator state in Standby, Suspend-to-RAM, and 254 Suspend-to-DISK modes. Equivalent with standby, mem, and disk Linux 255 sleep states. 256 257 properties: 258 regulator-on-in-suspend: 259 description: regulator should be on in suspend state. 260 type: boolean 261 262 regulator-off-in-suspend: 263 description: regulator should be off in suspend state. 264 type: boolean 265 266 regulator-suspend-min-microvolt: 267 description: minimum voltage may be set in suspend state. 268 269 regulator-suspend-max-microvolt: 270 description: maximum voltage may be set in suspend state. 271 272 regulator-suspend-microvolt: 273 description: the default voltage which regulator would be set in 274 suspend. This property is now deprecated, instead setting voltage 275 for suspend mode via the API which regulator driver provides is 276 recommended. 277 278 regulator-changeable-in-suspend: 279 description: whether the default voltage and the regulator on/off 280 in suspend can be changed in runtime. 281 type: boolean 282 283 regulator-mode: 284 description: operating mode in the given suspend state. The set 285 of possible operating modes depends on the capabilities of every 286 hardware so the valid modes are documented on each regulator device 287 tree binding document. 288 $ref: /schemas/types.yaml#/definitions/uint32 289 290 additionalProperties: false 291 292additionalProperties: true 293 294examples: 295 - | 296 xyzreg: regulator { 297 regulator-min-microvolt = <1000000>; 298 regulator-max-microvolt = <2500000>; 299 regulator-always-on; 300 vin-supply = <&vin>; 301 302 regulator-state-mem { 303 regulator-on-in-suspend; 304 }; 305 }; 306 307... 308