Merge branch 'x86-pti-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6-block.git] / Documentation / devicetree / bindings / regulator / regulator.yaml
CommitLineData
1914a996
RH
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
7title: Voltage/Current Regulators
8
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 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
27 regulator-min-microamp:
28 description: smallest current consumers may set
29
30 regulator-max-microamp:
31 description: largest current consumers may set
32
33 regulator-input-current-limit-microamp:
34 description: maximum input current regulator allows
35
36 regulator-always-on:
37 description: boolean, regulator should never be disabled
38 type: boolean
39
40 regulator-boot-on:
87fd0db6
DA
41 description: bootloader/firmware enabled regulator.
42 It's expected that this regulator was left on by the bootloader.
43 If the bootloader didn't leave it on then OS should turn it on
44 at boot but shouldn't prevent it from being turned off later.
45 This property is intended to only be used for regulators where
46 software cannot read the state of the regulator.
1914a996
RH
47 type: boolean
48
49 regulator-allow-bypass:
50 description: allow the regulator to go into bypass mode
51 type: boolean
52
53 regulator-allow-set-load:
54 description: allow the regulator performance level to be configured
55 type: boolean
56
57 regulator-ramp-delay:
58 description: ramp delay for regulator(in uV/us) For hardware which supports
59 disabling ramp rate, it should be explicitly initialised to zero (regulator-ramp-delay
60 = <0>) for disabling ramp delay.
61 $ref: "/schemas/types.yaml#/definitions/uint32"
62
63 regulator-enable-ramp-delay:
64 description: The time taken, in microseconds, for the supply rail to
65 reach the target voltage, plus/minus whatever tolerance the board
66 design requires. This property describes the total system ramp time
67 required due to the combination of internal ramping of the regulator
68 itself, and board design issues such as trace capacitance and load
69 on the supply.
70 $ref: "/schemas/types.yaml#/definitions/uint32"
71
72 regulator-settling-time-us:
73 description: Settling time, in microseconds, for voltage change if regulator
74 have the constant time for any level voltage change. This is useful
75 when regulator have exponential voltage change.
76
77 regulator-settling-time-up-us:
78 description: Settling time, in microseconds, for voltage increase if
79 the regulator needs a constant time to settle after voltage increases
80 of any level. This is useful for regulators with exponential voltage
81 changes.
82
83 regulator-settling-time-down-us:
84 description: Settling time, in microseconds, for voltage decrease if
85 the regulator needs a constant time to settle after voltage decreases
86 of any level. This is useful for regulators with exponential voltage
87 changes.
88
89 regulator-soft-start:
90 description: Enable soft start so that voltage ramps slowly
91 type: boolean
92
93 regulator-initial-mode:
94 description: initial operating mode. The set of possible operating modes
95 depends on the capabilities of every hardware so each device binding
96 documentation explains which values the regulator supports.
97 $ref: "/schemas/types.yaml#/definitions/uint32"
98
99 regulator-allowed-modes:
100 description: list of operating modes that software is allowed to configure
101 for the regulator at run-time. Elements may be specified in any order.
102 The set of possible operating modes depends on the capabilities of
103 every hardware so each device binding document explains which values
104 the regulator supports.
105 $ref: "/schemas/types.yaml#/definitions/uint32-array"
106
107 regulator-system-load:
108 description: Load in uA present on regulator that is not captured by
109 any consumer request.
110 $ref: "/schemas/types.yaml#/definitions/uint32"
111
112 regulator-pull-down:
113 description: Enable pull down resistor when the regulator is disabled.
114 type: boolean
115
116 regulator-over-current-protection:
117 description: Enable over current protection.
118 type: boolean
119
120 regulator-active-discharge:
121 description: |
122 tristate, enable/disable active discharge of regulators. The values are:
123 0: Disable active discharge.
124 1: Enable active discharge.
125 Absence of this property will leave configuration to default.
126 allOf:
127 - $ref: "/schemas/types.yaml#/definitions/uint32"
128 - enum: [ 0, 1 ]
129
130 regulator-coupled-with:
131 description: Regulators with which the regulator is coupled. The linkage
132 is 2-way - all coupled regulators should be linked with each other.
133 A regulator should not be coupled with its supplier.
134 $ref: "/schemas/types.yaml#/definitions/phandle-array"
135
136 regulator-coupled-max-spread:
137 description: Array of maximum spread between voltages of coupled regulators
138 in microvolts, each value in the array relates to the corresponding
139 couple specified by the regulator-coupled-with property.
140 $ref: "/schemas/types.yaml#/definitions/uint32"
141
142 regulator-max-step-microvolt:
143 description: Maximum difference between current and target voltages
144 that can be changed safely in a single step.
145
146patternProperties:
147 ".*-supply$":
148 description: Input supply phandle(s) for this node
149
150 regulator-state-(standby|mem|disk):
151 type: object
152 description:
153 sub-nodes for regulator state in Standby, Suspend-to-RAM, and
154 Suspend-to-DISK modes. Equivalent with standby, mem, and disk Linux
155 sleep states.
156
157 properties:
158 regulator-on-in-suspend:
159 description: regulator should be on in suspend state.
160 type: boolean
161
162 regulator-off-in-suspend:
163 description: regulator should be off in suspend state.
164 type: boolean
165
166 regulator-suspend-min-microvolt:
167 description: minimum voltage may be set in suspend state.
168
169 regulator-suspend-max-microvolt:
170 description: maximum voltage may be set in suspend state.
171
172 regulator-suspend-microvolt:
173 description: the default voltage which regulator would be set in
174 suspend. This property is now deprecated, instead setting voltage
175 for suspend mode via the API which regulator driver provides is
176 recommended.
177
178 regulator-changeable-in-suspend:
179 description: whether the default voltage and the regulator on/off
180 in suspend can be changed in runtime.
181 type: boolean
182
183 regulator-mode:
184 description: operating mode in the given suspend state. The set
185 of possible operating modes depends on the capabilities of every
186 hardware so the valid modes are documented on each regulator device
187 tree binding document.
188 $ref: "/schemas/types.yaml#/definitions/uint32"
189
190 additionalProperties: false
191
192examples:
193 - |
194 xyzreg: regulator@0 {
195 regulator-min-microvolt = <1000000>;
196 regulator-max-microvolt = <2500000>;
197 regulator-always-on;
198 vin-supply = <&vin>;
199
200 regulator-state-mem {
201 regulator-on-in-suspend;
202 };
203 };
204
205...