305 lines · yaml
1# SPDX-License-Identifier: GPL-2.02%YAML 1.23---4$id: http://devicetree.org/schemas/regulator/regulator.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Voltage/Current Regulators8 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 outputs16 $ref: /schemas/types.yaml#/definitions/string17 18 regulator-min-microvolt:19 description: smallest voltage consumers may set20 21 regulator-max-microvolt:22 description: largest voltage consumers may set23 24 regulator-microvolt-offset:25 description: Offset applied to voltages to compensate for voltage drops26 $ref: /schemas/types.yaml#/definitions/uint3227 28 regulator-min-microamp:29 description: smallest current consumers may set30 31 regulator-max-microamp:32 description: largest current consumers may set33 34 regulator-input-current-limit-microamp:35 description: maximum input current regulator allows36 37 regulator-always-on:38 description: boolean, regulator should never be disabled39 type: boolean40 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 on45 at boot but shouldn't prevent it from being turned off later.46 This property is intended to only be used for regulators where47 software cannot read the state of the regulator.48 type: boolean49 50 regulator-allow-bypass:51 description: allow the regulator to go into bypass mode52 type: boolean53 54 regulator-allow-set-load:55 description: allow the regulator performance level to be configured56 type: boolean57 58 regulator-ramp-delay:59 description: ramp delay for regulator(in uV/us) For hardware which supports60 disabling ramp rate, it should be explicitly initialised to zero (regulator-ramp-delay61 = <0>) for disabling ramp delay.62 $ref: /schemas/types.yaml#/definitions/uint3263 64 regulator-enable-ramp-delay:65 description: The time taken, in microseconds, for the supply rail to66 reach the target voltage, plus/minus whatever tolerance the board67 design requires. This property describes the total system ramp time68 required due to the combination of internal ramping of the regulator69 itself, and board design issues such as trace capacitance and load70 on the supply.71 $ref: /schemas/types.yaml#/definitions/uint3272 73 regulator-settling-time-us:74 description: Settling time, in microseconds, for voltage change if regulator75 have the constant time for any level voltage change. This is useful76 when regulator have exponential voltage change.77 78 regulator-settling-time-up-us:79 description: Settling time, in microseconds, for voltage increase if80 the regulator needs a constant time to settle after voltage increases81 of any level. This is useful for regulators with exponential voltage82 changes.83 84 regulator-settling-time-down-us:85 description: Settling time, in microseconds, for voltage decrease if86 the regulator needs a constant time to settle after voltage decreases87 of any level. This is useful for regulators with exponential voltage88 changes.89 90 regulator-soft-start:91 description: Enable soft start so that voltage ramps slowly92 type: boolean93 94 regulator-initial-mode:95 description: initial operating mode. The set of possible operating modes96 depends on the capabilities of every hardware so each device binding97 documentation explains which values the regulator supports.98 $ref: /schemas/types.yaml#/definitions/uint3299 100 regulator-allowed-modes:101 description: list of operating modes that software is allowed to configure102 for the regulator at run-time. Elements may be specified in any order.103 The set of possible operating modes depends on the capabilities of104 every hardware so each device binding document explains which values105 the regulator supports.106 $ref: /schemas/types.yaml#/definitions/uint32-array107 108 regulator-system-load:109 description: Load in uA present on regulator that is not captured by110 any consumer request.111 $ref: /schemas/types.yaml#/definitions/uint32112 113 regulator-pull-down:114 description: Enable pull down resistor when the regulator is disabled.115 type: boolean116 117 system-critical-regulator:118 description: Set if the regulator is critical to system stability or119 functionality.120 type: boolean121 122 regulator-over-current-protection:123 description: Enable over current protection.124 type: boolean125 126 regulator-oc-protection-microamp:127 description: Set over current protection limit. This is a limit where128 hardware performs emergency shutdown. Zero can be passed to disable129 protection and value '1' indicates that protection should be enabled but130 limit setting can be omitted.131 132 regulator-oc-error-microamp:133 description: Set over current error limit. This is a limit where part of134 the hardware probably is malfunctional and damage prevention is requested.135 Zero can be passed to disable error detection and value '1' indicates136 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 hardware140 is assumed still to be functional but approaching limit where it gets141 damaged. Recovery actions should be initiated. Zero can be passed to142 disable detection and value '1' indicates that detection should143 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 where147 hardware performs emergency shutdown. Zero can be passed to disable148 protection and value '1' indicates that protection should be enabled but149 limit setting can be omitted. Limit is given as microvolt offset from150 voltage set to regulator.151 152 regulator-ov-error-microvolt:153 description: Set over voltage error limit. This is a limit where part of154 the hardware probably is malfunctional and damage prevention is requested155 Zero can be passed to disable error detection and value '1' indicates156 that detection should be enabled but limit setting can be omitted. Limit157 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 hardware161 is assumed still to be functional but approaching limit where it gets162 damaged. Recovery actions should be initiated. Zero can be passed to163 disable detection and value '1' indicates that detection should164 be enabled but limit setting can be omitted. Limit is given as microvolt165 offset from voltage set to regulator.166 167 regulator-uv-protection-microvolt:168 description: Set over under voltage protection limit. This is a limit where169 hardware performs emergency shutdown. Zero can be passed to disable170 protection and value '1' indicates that protection should be enabled but171 limit setting can be omitted. Limit is given as microvolt offset from172 voltage set to regulator.173 174 regulator-uv-error-microvolt:175 description: Set under voltage error limit. This is a limit where part of176 the hardware probably is malfunctional and damage prevention is requested177 Zero can be passed to disable error detection and value '1' indicates178 that detection should be enabled but limit setting can be omitted. Limit179 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 where183 hardware is assumed still to be functional but approaching limit where184 it gets damaged. Recovery actions should be initiated. Zero can be passed185 to disable detection and value '1' indicates that detection should186 be enabled but limit setting can be omitted. Limit is given as microvolt187 offset from voltage set to regulator.188 189 regulator-uv-less-critical-window-ms:190 description: Specifies the time window (in milliseconds) following a191 critical under-voltage event during which the system can continue to192 operate safely while performing less critical operations. This property193 provides a defined duration before a more severe reaction to the194 under-voltage event is needed, allowing for certain non-urgent actions to195 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 where199 hardware performs emergency shutdown. Zero can be passed to disable200 protection and value '1' indicates that protection should be enabled but201 limit setting can be omitted.202 203 regulator-temp-error-kelvin:204 description: Set over temperature error limit. This is a limit where part of205 the hardware probably is malfunctional and damage prevention is requested206 Zero can be passed to disable error detection and value '1' indicates207 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 where211 hardware is assumed still to be functional but approaching limit where it212 gets damaged. Recovery actions should be initiated. Zero can be passed to213 disable detection and value '1' indicates that detection should214 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/uint32223 enum: [0, 1]224 225 regulator-coupled-with:226 description: Regulators with which the regulator is coupled. The linkage227 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-array230 items:231 maxItems: 1232 233 regulator-coupled-max-spread:234 description: Array of maximum spread between voltages of coupled regulators235 in microvolts, each value in the array relates to the corresponding236 couple specified by the regulator-coupled-with property.237 $ref: /schemas/types.yaml#/definitions/uint32-array238 239 regulator-max-step-microvolt:240 description: Maximum difference between current and target voltages241 that can be changed safely in a single step.242 243patternProperties:244 ".*-supply$":245 description: Input supply phandle(s) for this node246 247 "^regulator-state-(standby|mem|disk)$":248 type: object249 description:250 sub-nodes for regulator state in Standby, Suspend-to-RAM, and251 Suspend-to-DISK modes. Equivalent with standby, mem, and disk Linux252 sleep states.253 254 properties:255 regulator-on-in-suspend:256 description: regulator should be on in suspend state.257 type: boolean258 259 regulator-off-in-suspend:260 description: regulator should be off in suspend state.261 type: boolean262 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 in271 suspend. This property is now deprecated, instead setting voltage272 for suspend mode via the API which regulator driver provides is273 recommended.274 275 regulator-changeable-in-suspend:276 description: whether the default voltage and the regulator on/off277 in suspend can be changed in runtime.278 type: boolean279 280 regulator-mode:281 description: operating mode in the given suspend state. The set282 of possible operating modes depends on the capabilities of every283 hardware so the valid modes are documented on each regulator device284 tree binding document.285 $ref: /schemas/types.yaml#/definitions/uint32286 287 additionalProperties: false288 289additionalProperties: true290 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