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