1# Copyright 2019-2020, Peter Bigot Consulting, LLC
2# Copyright 2022 Nordic Semiconductor ASA
3# SPDX-License-Identifier: Apache-2.0
4
5description: |
6  Voltage/Current Regulators
7
8  Properties are inherited from Linux. See
9  linux/Documentation/devicetree/bindings/regulator/regulator.yaml.
10
11include: power.yaml
12
13properties:
14  regulator-name:
15    type: string
16    description: A string used as a descriptive name for regulator outputs
17
18  regulator-init-microvolt:
19    type: int
20    description: Voltage set during initialisation
21
22  regulator-min-microvolt:
23    type: int
24    description: smallest voltage consumers may set
25
26  regulator-max-microvolt:
27    type: int
28    description: largest voltage consumers may set
29
30  regulator-microvolt-offset:
31    type: int
32    description: Offset applied to voltages to compensate for voltage drops
33
34  regulator-init-microamp:
35    type: int
36    description: Current set during initialisation
37
38  regulator-min-microamp:
39    type: int
40    description: smallest current consumers may set
41
42  regulator-max-microamp:
43    type: int
44    description: largest current consumers may set
45
46  regulator-input-current-limit-microamp:
47    type: int
48    description: maximum input current regulator allows
49
50  regulator-always-on:
51    type: boolean
52    description: boolean, regulator should never be disabled
53
54  regulator-boot-on:
55    type: boolean
56    description: |
57      bootloader/firmware enabled regulator.
58      It's expected that this regulator was left on by the bootloader.
59      If the bootloader didn't leave it on then OS should turn it on
60      at boot but shouldn't prevent it from being turned off later.
61      This property is intended to only be used for regulators where
62      software cannot read the state of the regulator.
63
64  regulator-boot-off:
65    type: boolean
66    description: |
67      Regulator should be disabled on boot.
68
69  regulator-allow-bypass:
70    type: boolean
71    description: allow the regulator to go into bypass mode
72
73  regulator-allow-set-load:
74    type: boolean
75    description: allow the regulator performance level to be configured
76
77  regulator-ramp-delay:
78    type: int
79    description: |
80      ramp delay for regulator(in uV/us) For hardware which supports disabling
81      ramp rate, it should be explicitly initialised to zero
82      (regulator-ramp-delay = <0>) for disabling ramp delay.
83
84  regulator-enable-ramp-delay:
85    type: int
86    description: |
87      The time taken, in microseconds, for the supply rail to reach the target
88      voltage, plus/minus whatever tolerance the board design requires. This
89      property describes the total system ramp time required due to the
90      combination of internal ramping of the regulator itself, and board design
91      issues such as trace capacitance and load on the supply.
92
93  regulator-settling-time-us:
94    type: int
95    description: |
96      Settling time, in microseconds, for voltage change if regulator have the
97      constant time for any level voltage change. This is useful when regulator
98      have exponential voltage change.
99
100  regulator-settling-time-up-us:
101    type: int
102    description: |
103      Settling time, in microseconds, for voltage increase if the regulator
104      needs a constant time to settle after voltage increases of any level. This
105      is useful for regulators with exponential voltage changes.
106
107  regulator-settling-time-down-us:
108    type: int
109    description: |
110      Settling time, in microseconds, for voltage decrease if the regulator
111      needs a constant time to settle after voltage decreases of any level. This
112      is useful for regulators with exponential voltage changes.
113
114  regulator-soft-start:
115    type: boolean
116    description: Enable soft start so that voltage ramps slowly
117
118  regulator-initial-mode:
119    type: int
120    description: |
121      Initial operating mode. The set of possible operating modes depends on the
122      capabilities of every hardware so each device binding documentation
123      explains which values the regulator supports.
124
125  regulator-allowed-modes:
126    type: array
127    description: |
128      List of operating modes that software is allowed to configure for the
129      regulator at run-time. Elements may be specified in any order. The set of
130      possible operating modes depends on the capabilities of every hardware so
131      each device binding document explains which values the regulator supports.
132
133  regulator-system-load:
134    type: int
135    description: |
136      Load in uA present on regulator that is not captured by any consumer
137      request.
138
139  regulator-pull-down:
140    type: boolean
141    description: Enable pull down resistor when the regulator is disabled.
142
143  regulator-over-current-protection:
144    type: boolean
145    description: Enable over current protection.
146
147  regulator-oc-protection-microamp:
148    type: int
149    description: |
150      Set over current protection limit. This is a limit where hardware performs
151      emergency shutdown. Zero can be passed to disable protection and value '1'
152      indicates that protection should be enabled but limit setting can be
153      omitted.
154
155  regulator-oc-error-microamp:
156    type: int
157    description: |
158      Set over current error limit. This is a limit where part of the hardware
159      probably is malfunctional and damage prevention is requested. Zero can be
160      passed to disable error detection and value '1' indicates that detection
161      should be enabled but limit setting can be omitted.
162
163  regulator-oc-warn-microamp:
164    type: int
165    description: |
166      Set over current warning limit. This is a limit where hardware is assumed
167      still to be functional but approaching limit where it gets damaged.
168      Recovery actions should be initiated. Zero can be passed to disable
169      detection and value '1' indicates that detection should be enabled but
170      limit setting can be omitted.
171
172  regulator-ov-protection-microvolt:
173    type: int
174    description: |
175      Set over voltage protection limit. This is a limit where hardware performs
176      emergency shutdown. Zero can be passed to disable protection and value '1'
177      indicates that protection should be enabled but limit setting can be
178      omitted. Limit is given as microvolt offset from voltage set to regulator.
179
180  regulator-ov-error-microvolt:
181    type: int
182    description: |
183      Set over voltage error limit. This is a limit where part of the hardware
184      probably is malfunctional and damage prevention is requested Zero can be
185      passed to disable error detection and value '1' indicates that detection
186      should be enabled but limit setting can be omitted. Limit is given as
187      microvolt offset from voltage set to regulator.
188
189  regulator-ov-warn-microvolt:
190    type: int
191    description: |
192      Set over voltage warning limit. This is a limit where hardware is assumed
193      still to be functional but approaching limit where it gets damaged.
194      Recovery actions should be initiated. Zero can be passed to disable
195      detection and value '1' indicates that detection should be enabled but
196      limit setting can be omitted. Limit is given as microvolt offset from
197      voltage set to regulator.
198
199  regulator-uv-protection-microvolt:
200    type: int
201    description: |
202      Set over under voltage protection limit. This is a limit where hardware
203      performs emergency shutdown. Zero can be passed to disable protection and
204      value '1' indicates that protection should be enabled but limit setting
205      can be omitted. Limit is given as microvolt offset from voltage set to
206      regulator.
207
208  regulator-uv-error-microvolt:
209    type: int
210    description: |
211      Set under voltage error limit. This is a limit where part of the hardware
212      probably is malfunctional and damage prevention is requested Zero can be
213      passed to disable error detection and value '1' indicates that detection
214      should be enabled but limit setting can be omitted. Limit is given as
215      microvolt offset from voltage set to regulator.
216
217  regulator-uv-warn-microvolt:
218    type: int
219    description: |
220      Set over under voltage warning limit. This is a limit where hardware is
221      assumed still to be functional but approaching limit where it gets
222      damaged. Recovery actions should be initiated. Zero can be passed to
223      disable detection and value '1' indicates that detection should be enabled
224      but limit setting can be omitted. Limit is given as microvolt offset from
225      voltage set to regulator.
226
227  regulator-temp-protection-kelvin:
228    type: int
229    description: |
230      Set over temperature protection limit. This is a limit where hardware
231      performs emergency shutdown. Zero can be passed to disable protection and
232      value '1' indicates that protection should be enabled but limit setting
233      can be omitted.
234
235  regulator-temp-error-kelvin:
236    type: int
237    description: |
238      Set over temperature error limit. This is a limit where part of the
239      hardware probably is malfunctional and damage prevention is requested Zero
240      can be passed to disable error detection and value '1' indicates that
241      detection should be enabled but limit setting can be omitted.
242
243  regulator-temp-warn-kelvin:
244    type: int
245    description: |
246      Set over temperature warning limit. This is a limit where hardware is
247      assumed still to be functional but approaching limit where it gets
248      damaged. Recovery actions should be initiated. Zero can be passed to
249      disable detection and value '1' indicates that detection should be enabled
250      but limit setting can be omitted.
251
252  regulator-active-discharge:
253    type: int
254    enum:
255      - 0
256      - 1
257    description: |
258      tristate, enable/disable active discharge of regulators. The values are:
259      0: Disable active discharge.
260      1: Enable active discharge.
261      Absence of this property will leave configuration to default.
262
263  regulator-max-step-microvolt:
264    type: int
265    description: |
266      Maximum difference between current and target voltages that can be changed
267      safely in a single step.
268
269  startup-delay-us:
270    type: int
271    description: Startup time, in microseconds
272
273  off-on-delay-us:
274    type: int
275    description: Off to on delay time, in microseconds
276