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