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