]> git.ipfire.org Git - thirdparty/u-boot.git/blob - Bindings/regulator/regulator.yaml
Squashed 'dts/upstream/' changes from aaba2d45dc2a..b35b9bd1d4ee
[thirdparty/u-boot.git] / Bindings / regulator / regulator.yaml
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
7 title: Voltage/Current Regulators
8
9 maintainers:
10 - Liam Girdwood <lgirdwood@gmail.com>
11 - Mark Brown <broonie@kernel.org>
12
13 properties:
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
243 patternProperties:
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
289 additionalProperties: true
290
291 examples:
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 ...