1QCOM SMD RPM REGULATOR
2
3The Qualcomm RPM over SMD regulator is modelled as a subdevice of the RPM.
4Because SMD is used as the communication transport mechanism, the RPM resides as
5a subnode of the SMD.  As such, the SMD-RPM regulator requires that the SMD and
6RPM nodes be present.
7
8Please refer to Documentation/devicetree/bindings/soc/qcom/qcom,smd.txt for
9information pertaining to the SMD node.
10
11Please refer to Documentation/devicetree/bindings/soc/qcom/qcom,smd-rpm.txt for
12information regarding the RPM node.
13
14== Regulator
15
16Regulator nodes are identified by their compatible:
17
18- compatible:
19	Usage: required
20	Value type: <string>
21	Definition: must be one of:
22		    "qcom,rpm-pm8841-regulators"
23		    "qcom,rpm-pm8916-regulators"
24		    "qcom,rpm-pm8941-regulators"
25		    "qcom,rpm-pm8950-regulators"
26		    "qcom,rpm-pm8994-regulators"
27		    "qcom,rpm-pm8998-regulators"
28		    "qcom,rpm-pma8084-regulators"
29		    "qcom,rpm-pmi8994-regulators"
30		    "qcom,rpm-pmi8998-regulators"
31		    "qcom,rpm-pms405-regulators"
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_l2_l3-supply:
51- vdd_l4_l5_l6-supply:
52- vdd_l7-supply:
53- vdd_l8_l9_l10_l11_l12_l13_l14_l15_l16_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_s4-supply:
63- vdd_s4-supply:
64- vdd_s5-supply:
65- vdd_s6-supply:
66- vdd_l1_l19-supply:
67- vdd_l2_l23-supply:
68- vdd_l3-supply:
69- vdd_l4_l5_l6_l7_l16-supply:
70- vdd_l8_l11_l12_l17_l22-supply:
71- vdd_l9_l10_l13_l14_l15_l18-supply:
72- vdd_l20-supply:
73- vdd_l21-supply:
74	Usage: optional (pm8950 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_l1_l3-supply:
83- vdd_l2_lvs1_2_3-supply:
84- vdd_l4_l11-supply:
85- vdd_l5_l7-supply:
86- vdd_l6_l12_l14_l15-supply:
87- vdd_l8_l16_l18_l19-supply:
88- vdd_l9_l10_l17_l22-supply:
89- vdd_l13_l20_l23_l24-supply:
90- vdd_l21-supply:
91- vin_5vs-supply:
92	Usage: optional (pm8941 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_l5_l7-supply:
116- vdd_l8_l16_l30-supply:
117- vdd_l9_l10_l18_l22-supply:
118- vdd_l9_l10_l18_l22-supply:
119- vdd_l3_l11-supply:
120- vdd_l6_l12_l32-supply:
121- vdd_l13_l19_l23_l24-supply:
122- vdd_l14_l15-supply:
123- vdd_l14_l15-supply:
124- vdd_l8_l16_l30-supply:
125- vdd_l17_l29-supply:
126- vdd_l9_l10_l18_l22-supply:
127- vdd_l13_l19_l23_l24-supply:
128- vdd_l20_l21-supply:
129- vdd_l20_l21-supply:
130- vdd_l9_l10_l18_l22-supply:
131- vdd_l13_l19_l23_l24-supply:
132- vdd_l13_l19_l23_l24-supply:
133- vdd_l25-supply:
134- vdd_l2_l26_l28-supply:
135- vdd_l4_l27_l31-supply:
136- vdd_l2_l26_l28-supply:
137- vdd_l17_l29-supply:
138- vdd_l8_l16_l30-supply:
139- vdd_l4_l27_l31-supply:
140- vdd_l6_l12_l32-supply:
141- vdd_lvs1_2-supply:
142	Usage: optional (pm8994 only)
143	Value type: <phandle>
144	Definition: reference to regulator supplying the input pin, as
145		    described in the data sheet
146
147- vdd_s1-supply:
148- vdd_s2-supply:
149- vdd_s3-supply:
150- vdd_bst_byp-supply:
151	Usage: optional (pmi8994 only)
152	Value type: <phandle>
153	Definition: reference to regulator supplying the input pin, as
154		    described in the data sheet
155
156- vdd_s1-supply:
157- vdd_s2-supply:
158- vdd_s3-supply:
159- vdd_s4-supply:
160- vdd_s5-supply:
161- vdd_s6-supply:
162- vdd_s7-supply:
163- vdd_s8-supply:
164- vdd_s9-supply:
165- vdd_s10-supply:
166- vdd_s11-supply:
167- vdd_s12-supply:
168- vdd_s13-supply:
169- vdd_l1_l27-supply:
170- vdd_l20_l24-supply:
171- vdd_l26-supply:
172- vdd_l2_l8_l17-supply:
173- vdd_l3_l11-supply:
174- vdd_l4_l5-supply:
175- vdd_l6-supply:
176- vdd_l7_l12_l14_l15-supply:
177- vdd_l9-supply:
178- vdd_l10_l23_l25-supply:
179- vdd_l13_l19_l21-supply:
180- vdd_l16_l28-supply:
181- vdd_l18_l22-supply:
182- vdd_lvs1_lvs2-supply:
183	Usage: optional (pmi8998 only)
184	Value type: <phandle>
185	Definition: reference to regulator supplying the input pin, as
186		    described in the data sheet
187
188- vdd_s1-supply:
189- vdd_s2-supply:
190- vdd_s3-supply:
191- vdd_s4-supply:
192- vdd_s5-supply:
193- vdd_s6-supply:
194- vdd_s7-supply:
195- vdd_s8-supply:
196- vdd_s9-supply:
197- vdd_s10-supply:
198- vdd_s11-supply:
199- vdd_s12-supply:
200- vdd_l1_l11-supply:
201- vdd_l2_l3_l4_l27-supply:
202- vdd_l5_l7-supply:
203- vdd_l6_l12_l14_l15_l26-supply:
204- vdd_l8-supply:
205- vdd_l9_l10_l13_l20_l23_l24-supply:
206- vdd_l16_l25-supply:
207- vdd_l17-supply:
208- vdd_l18-supply:
209- vdd_l19-supply:
210- vdd_l21-supply:
211- vdd_l22-supply:
212	Usage: optional (pma8084 only)
213	Value type: <phandle>
214	Definition: reference to regulator supplying the input pin, as
215		    described in the data sheet
216
217- vdd_bob-supply:
218	Usage: optional (pmi8998 only)
219	Value type: <phandle>
220	Definition: reference to regulator supplying the input pin, as
221		    described in the data sheet
222
223- vdd_s1-supply:
224- vdd_s2-supply:
225- vdd_s3-supply:
226- vdd_s4-supply:
227- vdd_s5-supply:
228- vdd_l1_l2-supply:
229- vdd_l3_l8-supply:
230- vdd_l4-supply:
231- vdd_l5_l6-supply:
232- vdd_l7-supply:
233- vdd_l3_l8-supply:
234- vdd_l9-supply:
235- vdd_l10_l11_l12_l13-supply:
236	Usage: optional (pms405 only)
237	Value type: <phandle>
238	Definition: reference to regulator supplying the input pin, as
239		    described in the data sheet
240
241The regulator node houses sub-nodes for each regulator within the device. Each
242sub-node is identified using the node's name, with valid values listed for each
243of the pmics below.
244
245pm8841:
246	s1, s2, s3, s4, s5, s6, s7, s8
247
248pm8916:
249	s1, s2, s3, s4, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, l12, l13,
250	l14, l15, l16, l17, l18
251
252pm8941:
253	s1, s2, s3, s4, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, l12, l13,
254	l14, l15, l16, l17, l18, l19, l20, l21, l22, l23, l24, lvs1, lvs2,
255	lvs3, 5vs1, 5vs2
256
257pm8994:
258	s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, l1, l2, l3, l4, l5,
259	l6, l7, l8, l9, l10, l11, l12, l13, l14, l15, l16, l17, l18, l19, l20,
260	l21, l22, l23, l24, l25, l26, l27, l28, l29, l30, l31, l32, lvs1, lvs2
261
262pm8998:
263	s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, l1, l2, l3, l4,
264	l5, l6, l7, l8, l9, l10, l11, l12, l13, l14, l15, l16, l17, l18, l19,
265	l20, l21, l22, l23, l24, l25, l26, l27, l28, lvs1, lvs2
266
267pma8084:
268	s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, l1, l2, l3, l4, l5,
269	l6, l7, l8, l9, l10, l11, l12, l13, l14, l15, l16, l17, l18, l19, l20,
270	l21, l22, l23, l24, l25, l26, l27, lvs1, lvs2, lvs3, lvs4, 5vs1
271
272pmi8994:
273	s1, s2, s3, boost-bypass
274
275pmi8998:
276	bob
277
278pms405:
279	s1, s2, s3, s4, s5, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, l12,
280	l13
281
282The content of each sub-node is defined by the standard binding for regulators -
283see regulator.txt.
284
285= EXAMPLE
286
287	smd {
288		compatible = "qcom,smd";
289
290		rpm {
291			interrupts = <0 168 1>;
292			qcom,ipc = <&apcs 8 0>;
293			qcom,smd-edge = <15>;
294
295			rpm_requests {
296				compatible = "qcom,rpm-msm8974";
297				qcom,smd-channels = "rpm_requests";
298
299				pm8941-regulators {
300					compatible = "qcom,rpm-pm8941-regulators";
301					vdd_l13_l20_l23_l24-supply = <&pm8941_boost>;
302
303					pm8941_s3: s3 {
304						regulator-min-microvolt = <1800000>;
305						regulator-max-microvolt = <1800000>;
306					};
307
308					pm8941_boost: s4 {
309						regulator-min-microvolt = <5000000>;
310						regulator-max-microvolt = <5000000>;
311					};
312
313					pm8941_l20: l20 {
314						regulator-min-microvolt = <2950000>;
315						regulator-max-microvolt = <2950000>;
316					};
317				};
318			};
319		};
320	};
321