treewide: remove redundant IS_ERR() before error code check
[linux/fpc-iii.git] / Documentation / devicetree / bindings / regulator / qcom,spmi-regulator.txt
blobf5cdac8b284710055ef5ccf57ffec590e18baa8f
1 Qualcomm SPMI Regulators
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"
17 - interrupts:
18         Usage: optional
19         Value type: <prop-encoded-array>
20         Definition: List of OCP interrupts.
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.
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.
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.
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.
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
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.
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.
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.
154 - qcom,saw-reg:
155         Usage: optional
156         Value type: <phandle>
157         Description: Reference to syscon node defining the SAW registers.
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.
164 pm8005:
165         s2, s5
167 pm8005:
168         s1, s2, s3, s4
170 pm8841:
171         s1, s2, s3, s4, s5, s6, s7, s8
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
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
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
187 pmi8994:
188         s1, s2, s3, l1
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:
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.
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.
207                     0 = Set initial mode to low power mode (LPM).
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.
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.
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
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
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
256 - qcom,saw-slave:
257         Usage: optional
258         Value type: <boo>
259         Description: SAW controlled gang slave. Will not be configured.
261 - qcom,saw-leader:
262         Usage: optional
263         Value type: <boo>
264         Description: SAW controlled gang leader. Will be configured as
265                      SAW regulator.
267 Example:
269         regulators {
270                 compatible = "qcom,pm8941-regulators";
271                 vdd_l1_l3-supply = <&s1>;
273                 s1: s1 {
274                         regulator-min-microvolt = <1300000>;
275                         regulator-max-microvolt = <1400000>;
276                 };
278                 ...
280                 l1: l1 {
281                         regulator-min-microvolt = <1225000>;
282                         regulator-max-microvolt = <1300000>;
283                 };
285                 ....
286         };
288 Example 2:
290         saw3: syscon@9A10000 {
291                 compatible = "syscon";
292                 reg = <0x9A10000 0x1000>;
293         };
295         ...
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         };