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