Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1Qualcomm 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
119The regulator node houses sub-nodes for each regulator within the device. Each
120sub-node is identified using the node's name, with valid values listed for each
121of the PMICs below.
122
123pm8841:
124 s1, s2, s3, s4, s5, s6, s7, s8
125
126pm8916:
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
130pm8941:
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
135pm8994:
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
140pmi8994:
141 s1, s2, s3, l1
142
143The content of each sub-node is defined by the standard binding for regulators -
144see 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
220Example:
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
241Example 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 };