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