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 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 propably 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 propably 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 propably 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 propably 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
230 patternProperties:
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
276 additionalProperties: true
277
278 examples:
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 ...
Cache object: e59a847da8296c2f68ce0cb5478c3901
|