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 regulator-over-current-protection: 118 description: Enable over current protection. 119 type: boolean 120 121 regulator-oc-protection-microamp: 122 description: Set over current protection limit. This is a limit where 123 hardware performs emergency shutdown. Zero can be passed to disable 124 protection and value '1' indicates that protection should be enabled but 125 limit setting can be omitted. 126 127 regulator-oc-error-microamp: 128 description: Set over current error limit. This is a limit where part of 129 the hardware probably is malfunctional and damage prevention is requested. 130 Zero can be passed to disable error detection and value '1' indicates 131 that detection should be enabled but limit setting can be omitted. 132 133 regulator-oc-warn-microamp: 134 description: Set over current warning limit. This is a limit where hardware 135 is assumed still to be functional but approaching limit where it gets 136 damaged. Recovery actions should be initiated. Zero can be passed to 137 disable detection and value '1' indicates that detection should 138 be enabled but limit setting can be omitted. 139 140 regulator-ov-protection-microvolt: 141 description: Set over voltage protection limit. This is a limit where 142 hardware performs emergency shutdown. Zero can be passed to disable 143 protection and value '1' indicates that protection should be enabled but 144 limit setting can be omitted. Limit is given as microvolt offset from 145 voltage set to regulator. 146 147 regulator-ov-error-microvolt: 148 description: Set over voltage error limit. This is a limit where part of 149 the hardware probably is malfunctional and damage prevention is requested 150 Zero can be passed to disable error detection and value '1' indicates 151 that detection should be enabled but limit setting can be omitted. Limit 152 is given as microvolt offset from voltage set to regulator. 153 154 regulator-ov-warn-microvolt: 155 description: Set over voltage warning limit. This is a limit where hardware 156 is assumed still to be functional but approaching limit where it gets 157 damaged. Recovery actions should be initiated. Zero can be passed to 158 disable detection and value '1' indicates that detection should 159 be enabled but limit setting can be omitted. Limit is given as microvolt 160 offset from voltage set to regulator. 161 162 regulator-uv-protection-microvolt: 163 description: Set over under voltage protection limit. This is a limit where 164 hardware performs emergency shutdown. Zero can be passed to disable 165 protection and value '1' indicates that protection should be enabled but 166 limit setting can be omitted. Limit is given as microvolt offset from 167 voltage set to regulator. 168 169 regulator-uv-error-microvolt: 170 description: Set under voltage error limit. This is a limit where part of 171 the hardware probably is malfunctional and damage prevention is requested 172 Zero can be passed to disable error detection and value '1' indicates 173 that detection should be enabled but limit setting can be omitted. Limit 174 is given as microvolt offset from voltage set to regulator. 175 176 regulator-uv-warn-microvolt: 177 description: Set over under voltage warning limit. This is a limit where 178 hardware is assumed still to be functional but approaching limit where 179 it gets damaged. Recovery actions should be initiated. Zero can be passed 180 to disable detection and value '1' indicates that detection should 181 be enabled but limit setting can be omitted. Limit is given as microvolt 182 offset from voltage set to regulator. 183 184 regulator-temp-protection-kelvin: 185 description: Set over temperature protection limit. This is a limit where 186 hardware performs emergency shutdown. Zero can be passed to disable 187 protection and value '1' indicates that protection should be enabled but 188 limit setting can be omitted. 189 190 regulator-temp-error-kelvin: 191 description: Set over temperature error limit. This is a limit where part of 192 the hardware probably is malfunctional and damage prevention is requested 193 Zero can be passed to disable error detection and value '1' indicates 194 that detection should be enabled but limit setting can be omitted. 195 196 regulator-temp-warn-kelvin: 197 description: Set over temperature warning limit. This is a limit where 198 hardware is assumed still to be functional but approaching limit where it 199 gets damaged. Recovery actions should be initiated. Zero can be passed to 200 disable detection and value '1' indicates that detection should 201 be enabled but limit setting can be omitted. 202 203 regulator-active-discharge: 204 description: | 205 tristate, enable/disable active discharge of regulators. The values are: 206 0: Disable active discharge. 207 1: Enable active discharge. 208 Absence of this property will leave configuration to default. 209 $ref: /schemas/types.yaml#/definitions/uint32 210 enum: [0, 1] 211 212 regulator-coupled-with: 213 description: Regulators with which the regulator is coupled. The linkage 214 is 2-way - all coupled regulators should be linked with each other. 215 A regulator should not be coupled with its supplier. 216 $ref: /schemas/types.yaml#/definitions/phandle-array 217 items: 218 maxItems: 1 219 220 regulator-coupled-max-spread: 221 description: Array of maximum spread between voltages of coupled regulators 222 in microvolts, each value in the array relates to the corresponding 223 couple specified by the regulator-coupled-with property. 224 $ref: /schemas/types.yaml#/definitions/uint32-array 225 226 regulator-max-step-microvolt: 227 description: Maximum difference between current and target voltages 228 that can be changed safely in a single step. 229 230patternProperties: 231 ".*-supply$": 232 description: Input supply phandle(s) for this node 233 234 "^regulator-state-(standby|mem|disk)$": 235 type: object 236 description: 237 sub-nodes for regulator state in Standby, Suspend-to-RAM, and 238 Suspend-to-DISK modes. Equivalent with standby, mem, and disk Linux 239 sleep states. 240 241 properties: 242 regulator-on-in-suspend: 243 description: regulator should be on in suspend state. 244 type: boolean 245 246 regulator-off-in-suspend: 247 description: regulator should be off in suspend state. 248 type: boolean 249 250 regulator-suspend-min-microvolt: 251 description: minimum voltage may be set in suspend state. 252 253 regulator-suspend-max-microvolt: 254 description: maximum voltage may be set in suspend state. 255 256 regulator-suspend-microvolt: 257 description: the default voltage which regulator would be set in 258 suspend. This property is now deprecated, instead setting voltage 259 for suspend mode via the API which regulator driver provides is 260 recommended. 261 262 regulator-changeable-in-suspend: 263 description: whether the default voltage and the regulator on/off 264 in suspend can be changed in runtime. 265 type: boolean 266 267 regulator-mode: 268 description: operating mode in the given suspend state. The set 269 of possible operating modes depends on the capabilities of every 270 hardware so the valid modes are documented on each regulator device 271 tree binding document. 272 $ref: /schemas/types.yaml#/definitions/uint32 273 274 additionalProperties: false 275 276additionalProperties: true 277 278examples: 279 - | 280 xyzreg: regulator { 281 regulator-min-microvolt = <1000000>; 282 regulator-max-microvolt = <2500000>; 283 regulator-always-on; 284 vin-supply = <&vin>; 285 286 regulator-state-mem { 287 regulator-on-in-suspend; 288 }; 289 }; 290 291... 292