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