Merge tag 'rproc-v5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/andersson...
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / regulator / qcom,spmi-regulator.txt
1 Qualcomm 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
160 The regulator node houses sub-nodes for each regulator within the device. Each
161 sub-node is identified using the node's name, with valid values listed for each
162 of the PMICs below.
163
164 pm8004:
165         s2, s5
166
167 pm8005:
168         s1, s2, s3, s4
169
170 pm8841:
171         s1, s2, s3, s4, s5, s6, s7, s8
172
173 pm8916:
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
177 pm8941:
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
182 pm8994:
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
187 pmi8994:
188         s1, s2, s3, l1
189
190 The content of each sub-node is defined by the standard binding for regulators -
191 see 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
267 Example:
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
288 Example 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         };