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