Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1Qualcomm SPMI Regulators
2
3- compatible:
4 Usage: required
5 Value type: <string>
6 Definition: must be one of:
7 "qcom,pm8005-regulators"
8 "qcom,pm8841-regulators"
9 "qcom,pm8916-regulators"
10 "qcom,pm8941-regulators"
11 "qcom,pm8994-regulators"
12 "qcom,pmi8994-regulators"
13 "qcom,pms405-regulators"
14
15- interrupts:
16 Usage: optional
17 Value type: <prop-encoded-array>
18 Definition: List of OCP interrupts.
19
20- interrupt-names:
21 Usage: required if 'interrupts' property present
22 Value type: <string-array>
23 Definition: List of strings defining the names of the
24 interrupts in the 'interrupts' property 1-to-1.
25 Supported values are "ocp-<regulator_name>", where
26 <regulator_name> corresponds to a voltage switch
27 type regulator.
28
29- vdd_s1-supply:
30- vdd_s2-supply:
31- vdd_s3-supply:
32- vdd_s4-supply:
33- vdd_s5-supply:
34- vdd_s6-supply:
35- vdd_s7-supply:
36- vdd_s8-supply:
37 Usage: optional (pm8841 only)
38 Value type: <phandle>
39 Definition: Reference to regulator supplying the input pin, as
40 described in the data sheet.
41
42- vdd_s1-supply:
43- vdd_s2-supply:
44- vdd_s3-supply:
45- vdd_s4-supply:
46- vdd_l1_l3-supply:
47- vdd_l2-supply:
48- vdd_l4_l5_l6-supply:
49- vdd_l7-supply:
50- vdd_l8_l11_l14_l15_l16-supply:
51- vdd_l9_l10_l12_l13_l17_l18-supply:
52 Usage: optional (pm8916 only)
53 Value type: <phandle>
54 Definition: Reference to regulator supplying the input pin, as
55 described in the data sheet.
56
57- vdd_s1-supply:
58- vdd_s2-supply:
59- vdd_s3-supply:
60- vdd_l1_l3-supply:
61- vdd_l2_lvs_1_2_3-supply:
62- vdd_l4_l11-supply:
63- vdd_l5_l7-supply:
64- vdd_l6_l12_l14_l15-supply:
65- vdd_l8_l16_l18_19-supply:
66- vdd_l9_l10_l17_l22-supply:
67- vdd_l13_l20_l23_l24-supply:
68- vdd_l21-supply:
69- vin_5vs-supply:
70 Usage: optional (pm8941 only)
71 Value type: <phandle>
72 Definition: Reference to regulator supplying the input pin, as
73 described in the data sheet.
74
75- vdd_s1-supply:
76- vdd_s2-supply:
77- vdd_s3-supply:
78- vdd_s4-supply:
79- vdd_s5-supply:
80- vdd_s6-supply:
81- vdd_s7-supply:
82- vdd_s8-supply:
83- vdd_s9-supply:
84- vdd_s10-supply:
85- vdd_s11-supply:
86- vdd_s12-supply:
87- vdd_l1-supply:
88- vdd_l2_l26_l28-supply:
89- vdd_l3_l11-supply:
90- vdd_l4_l27_l31-supply:
91- vdd_l5_l7-supply:
92- vdd_l6_l12_l32-supply:
93- vdd_l8_l16_l30-supply:
94- vdd_l9_l10_l18_l22-supply:
95- vdd_l13_l19_l23_l24-supply:
96- vdd_l14_l15-supply:
97- vdd_l17_l29-supply:
98- vdd_l20_l21-supply:
99- vdd_l25-supply:
100- vdd_lvs_1_2-supply:
101 Usage: optional (pm8994 only)
102 Value type: <phandle>
103 Definition: Reference to regulator supplying the input pin, as
104 described in the data sheet.
105
106- vdd_s1-supply:
107- vdd_s2-supply:
108- vdd_s3-supply:
109- vdd_l1-supply:
110 Usage: optional (pmi8994 only)
111 Value type: <phandle>
112 Definition: Reference to regulator supplying the input pin, as
113 described in the data sheet.
114
115- vdd_l1_l2-supply:
116- vdd_l3_l8-supply:
117- vdd_l4-supply:
118- vdd_l5_l6-supply:
119- vdd_l10_l11_l12_l13-supply:
120- vdd_l7-supply:
121- vdd_l9-supply:
122- vdd_s1-supply:
123- vdd_s2-supply:
124- vdd_s3-supply:
125- vdd_s4-supply:
126- vdd_s5-supply
127 Usage: optional (pms405 only)
128 Value type: <phandle>
129 Definition: Reference to regulator supplying the input pin, as
130 described in the data sheet.
131
132- qcom,saw-reg:
133 Usage: optional
134 Value type: <phandle>
135 Description: Reference to syscon node defining the SAW registers.
136
137
138The regulator node houses sub-nodes for each regulator within the device. Each
139sub-node is identified using the node's name, with valid values listed for each
140of the PMICs below.
141
142pm8005:
143 s1, s2, s3, s4
144
145pm8841:
146 s1, s2, s3, s4, s5, s6, s7, s8
147
148pm8916:
149 s1, s2, s3, s4, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, l12, l13,
150 l14, l15, l16, l17, l18
151
152pm8941:
153 s1, s2, s3, s4, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, l12, l13,
154 l14, l15, l16, l17, l18, l19, l20, l21, l22, l23, l24, lvs1, lvs2, lvs3,
155 5vs1, 5vs2
156
157pm8994:
158 s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, l1, l2, l3, l4, l5,
159 l6, l7, l8, l9, l10, l11, l12, l13, l14, l15, l16, l17, l18, l19, l20,
160 l21, l22, l23, l24, l25, l26, l27, l28, l29, l30, l31, l32, lvs1, lvs2
161
162pmi8994:
163 s1, s2, s3, l1
164
165The content of each sub-node is defined by the standard binding for regulators -
166see regulator.txt - with additional custom properties described below:
167
168- regulator-initial-mode:
169 Usage: optional
170 Value type: <u32>
171 Description: 2 = Set initial mode to auto mode (automatically select
172 between HPM and LPM); not available on boost type
173 regulators.
174
175 1 = Set initial mode to high power mode (HPM), also referred
176 to as NPM. HPM consumes more ground current than LPM, but
177 it can source significantly higher load current. HPM is not
178 available on boost type regulators. For voltage switch type
179 regulators, HPM implies that over current protection and
180 soft start are active all the time.
181
182 0 = Set initial mode to low power mode (LPM).
183
184- qcom,ocp-max-retries:
185 Usage: optional
186 Value type: <u32>
187 Description: Maximum number of times to try toggling a voltage switch
188 off and back on as a result of consecutive over current
189 events.
190
191- qcom,ocp-retry-delay:
192 Usage: optional
193 Value type: <u32>
194 Description: Time to delay in milliseconds between each voltage switch
195 toggle after an over current event takes place.
196
197- qcom,pin-ctrl-enable:
198 Usage: optional
199 Value type: <u32>
200 Description: Bit mask specifying which hardware pins should be used to
201 enable the regulator, if any; supported bits are:
202 0 = ignore all hardware enable signals
203 BIT(0) = follow HW0_EN signal
204 BIT(1) = follow HW1_EN signal
205 BIT(2) = follow HW2_EN signal
206 BIT(3) = follow HW3_EN signal
207
208- qcom,pin-ctrl-hpm:
209 Usage: optional
210 Value type: <u32>
211 Description: Bit mask specifying which hardware pins should be used to
212 force the regulator into high power mode, if any;
213 supported bits are:
214 0 = ignore all hardware enable signals
215 BIT(0) = follow HW0_EN signal
216 BIT(1) = follow HW1_EN signal
217 BIT(2) = follow HW2_EN signal
218 BIT(3) = follow HW3_EN signal
219 BIT(4) = follow PMIC awake state
220
221- qcom,vs-soft-start-strength:
222 Usage: optional
223 Value type: <u32>
224 Description: This property sets the soft start strength for voltage
225 switch type regulators; supported values are:
226 0 = 0.05 uA
227 1 = 0.25 uA
228 2 = 0.55 uA
229 3 = 0.75 uA
230
231- qcom,saw-slave:
232 Usage: optional
233 Value type: <boo>
234 Description: SAW controlled gang slave. Will not be configured.
235
236- qcom,saw-leader:
237 Usage: optional
238 Value type: <boo>
239 Description: SAW controlled gang leader. Will be configured as
240 SAW regulator.
241
242Example:
243
244 regulators {
245 compatible = "qcom,pm8941-regulators";
246 vdd_l1_l3-supply = <&s1>;
247
248 s1: s1 {
249 regulator-min-microvolt = <1300000>;
250 regulator-max-microvolt = <1400000>;
251 };
252
253 ...
254
255 l1: l1 {
256 regulator-min-microvolt = <1225000>;
257 regulator-max-microvolt = <1300000>;
258 };
259
260 ....
261 };
262
263Example 2:
264
265 saw3: syscon@9A10000 {
266 compatible = "syscon";
267 reg = <0x9A10000 0x1000>;
268 };
269
270 ...
271
272 spm-regulators {
273 compatible = "qcom,pm8994-regulators";
274 qcom,saw-reg = <&saw3>;
275 s8 {
276 qcom,saw-slave;
277 };
278 s9 {
279 qcom,saw-slave;
280 };
281 s10 {
282 qcom,saw-slave;
283 };
284 pm8994_s11_saw: s11 {
285 qcom,saw-leader;
286 regulator-always-on;
287 regulator-min-microvolt = <900000>;
288 regulator-max-microvolt = <1140000>;
289 };
290 };