blob: 66396683e379d2ec251cfc760a5f63c64f857730 [file] [log] [blame]
Ke Liub43a1832014-02-04 11:53:38 -08001/* Copyright (c) 2012-2014, The Linux Foundation. All rights reserved.
David Collinsc6b34832012-10-24 12:57:57 -07002 *
3 * This program is free software; you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License version 2 and
5 * only version 2 as published by the Free Software Foundation.
6 *
7 * This program is distributed in the hope that it will be useful,
8 * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 * GNU General Public License for more details.
11 */
12
David Collins852ab682013-03-20 17:05:01 -070013/* SPM controlled regulators */
14
15&spmi_bus {
16 qcom,pm8110@1 {
17 pm8110_s2: spm-regulator@1700 {
18 compatible = "qcom,spm-regulator";
19 regulator-name = "8110_s2";
20 reg = <0x1700 0x100>;
21 regulator-min-microvolt = <900000>;
22 regulator-max-microvolt = <1350000>;
David Collinsd4e71f42013-08-08 11:57:37 -070023 qcom,mode = "auto";
David Collins852ab682013-03-20 17:05:01 -070024 };
25 };
26};
27
Willie Ruan101c9792013-03-27 17:03:40 -070028/* CPR controlled regulator */
29
Stepan Moskovchenko7d8cdcaa2013-04-25 17:10:55 -070030&soc {
Willie Ruan101c9792013-03-27 17:03:40 -070031 apc_vreg_corner: regulator@f9018000 {
32 status = "okay";
Ke Liu7abaef82013-12-23 10:22:26 -080033 compatible = "qcom,cpr-regulator";
Willie Ruan84e58d42013-06-12 13:01:28 -070034 reg = <0xf9018000 0x1000>, <0xf9011064 4>, <0xfc4b8000 0x1000>;
35 reg-names = "rbcpr", "rbcpr_clk", "efuse_addr";
Willie Ruanb17b7832013-04-08 21:30:27 -070036 interrupts = <0 15 0>;
Willie Ruan101c9792013-03-27 17:03:40 -070037 regulator-name = "apc_corner";
38 regulator-min-microvolt = <1>;
Patrick Dalyb86df502013-11-05 14:27:13 -080039 regulator-max-microvolt = <3>;
Willie Ruan84e58d42013-06-12 13:01:28 -070040
Ke Liu7abaef82013-12-23 10:22:26 -080041 qcom,pvs-fuse-redun-sel = <53 25 3 2 1>;
42 qcom,pvs-fuse = <23 6 5 1>;
43 qcom,pvs-fuse-redun = <61 47 5 1>;
Willie Ruan84e58d42013-06-12 13:01:28 -070044
Ke Liub43a1832014-02-04 11:53:38 -080045 qcom,pvs-voltage-table =
46 <1050000 1150000 1275000>,
47 <1050000 1150000 1275000>,
48 <1050000 1150000 1275000>,
49 <1050000 1150000 1275000>,
50 <1050000 1150000 1275000>,
51 <1050000 1150000 1275000>,
52 <1050000 1150000 1275000>,
53 <1050000 1150000 1275000>,
54 <1050000 1150000 1275000>,
55 <1050000 1150000 1275000>,
56 <1050000 1150000 1275000>,
57 <1050000 1150000 1275000>,
58 <1050000 1150000 1275000>,
59 <1050000 1150000 1275000>,
60 <1050000 1150000 1275000>,
61 <1050000 1150000 1275000>,
62 <1050000 1150000 1275000>,
63 <1050000 1150000 1275000>,
64 <1050000 1150000 1275000>,
65 <1050000 1150000 1275000>,
66 <1050000 1150000 1275000>,
67 <1050000 1150000 1275000>,
68 <1050000 1150000 1275000>,
69 <1050000 1150000 1275000>,
70 <1050000 1150000 1275000>,
71 <1050000 1150000 1275000>,
72 <1050000 1150000 1275000>,
73 <1050000 1150000 1275000>,
74 <1050000 1150000 1275000>,
75 <1050000 1150000 1275000>,
76 <1050000 1150000 1275000>,
77 <1050000 1150000 1275000>;
78 qcom,cpr-voltage-ceiling = <1050000 1150000 1275000>;
79 qcom,cpr-voltage-floor = <1050000 1050000 1275000>;
Willie Ruan101c9792013-03-27 17:03:40 -070080 vdd-apc-supply = <&pm8110_s2>;
Willie Ruanb17b7832013-04-08 21:30:27 -070081
Willie Ruan97d63022013-04-11 09:30:07 -070082 vdd-mx-supply = <&pm8110_l3_ao>;
Ke Liu7abaef82013-12-23 10:22:26 -080083 qcom,vdd-mx-vmax = <1350000>;
84 qcom,vdd-mx-vmin-method = <1>;
Willie Ruanb17b7832013-04-08 21:30:27 -070085
Ke Liu7abaef82013-12-23 10:22:26 -080086 qcom,cpr-ref-clk = <19200>;
87 qcom,cpr-timer-delay = <5000>;
88 qcom,cpr-timer-cons-up = <0>;
89 qcom,cpr-timer-cons-down = <2>;
90 qcom,cpr-irq-line = <0>;
91 qcom,cpr-step-quotient = <15>;
92 qcom,cpr-up-threshold = <0>;
93 qcom,cpr-down-threshold = <10>;
94 qcom,cpr-idle-clocks = <5>;
95 qcom,cpr-gcnt-time = <1>;
96 qcom,vdd-apc-step-up-limit = <1>;
97 qcom,vdd-apc-step-down-limit = <1>;
98 qcom,cpr-apc-volt-step = <5000>;
Willie Ruan84e58d42013-06-12 13:01:28 -070099
Ke Liu7abaef82013-12-23 10:22:26 -0800100 qcom,cpr-fuse-redun-sel = <53 25 3 2 1>;
101 qcom,cpr-fuse-row = <61 1>;
102 qcom,cpr-fuse-bp-cpr-disable = <39>;
103 qcom,cpr-fuse-bp-scheme = <40>;
104 qcom,cpr-fuse-target-quot = <27 15 3>;
105 qcom,cpr-fuse-ro-sel = <47 41 44>;
106 qcom,cpr-fuse-redun-row = <52 1>;
107 qcom,cpr-fuse-redun-bp-cpr-disable = <24>;
108 qcom,cpr-fuse-redun-bp-scheme = <25>;
109 qcom,cpr-fuse-redun-target-quot = <32 12 0>;
110 qcom,cpr-fuse-redun-ro-sel = <44 26 29>;
Willie Ruan704c2872013-07-10 11:06:32 -0700111
Ke Liu7abaef82013-12-23 10:22:26 -0800112 qcom,cpr-enable;
Willie Ruan101c9792013-03-27 17:03:40 -0700113 };
114};
115
Xiaozhe Shi350baa92013-04-09 18:13:50 -0700116/* RPM controlled regulators: */
David Collinsc6b34832012-10-24 12:57:57 -0700117
Xiaozhe Shi350baa92013-04-09 18:13:50 -0700118&rpm_bus {
David Collinsc6b34832012-10-24 12:57:57 -0700119
Xiaozhe Shi350baa92013-04-09 18:13:50 -0700120 rpm-regulator-smpa1 {
121 status = "okay";
122 pm8110_s1: regulator-s1 {
Xiaozhe Shi1581a7b2013-02-21 15:17:57 -0800123 status = "okay";
Xiaozhe Shi350baa92013-04-09 18:13:50 -0700124 regulator-min-microvolt = <500000>;
125 regulator-max-microvolt = <1275000>;
Xiaozhe Shi1581a7b2013-02-21 15:17:57 -0800126 };
David Collinsc6b34832012-10-24 12:57:57 -0700127
Xiaozhe Shi350baa92013-04-09 18:13:50 -0700128 pm8110_s1_corner: regulator-s1-corner {
129 compatible = "qcom,rpm-regulator-smd";
130 regulator-name = "8110_s1_corner";
131 qcom,set = <3>;
132 regulator-min-microvolt = <1>;
133 regulator-max-microvolt = <7>;
134 qcom,use-voltage-corner;
Patrick Daly4c4452a2013-04-29 12:25:05 -0700135 qcom,consumer-supplies = "vdd_dig", "";
Xiaozhe Shi350baa92013-04-09 18:13:50 -0700136 };
137
138 pm8110_s1_corner_ao: regulator-s1-corner-ao {
139 compatible = "qcom,rpm-regulator-smd";
140 regulator-name = "8110_s1_corner_ao";
141 qcom,set = <1>;
142 regulator-min-microvolt = <1>;
143 regulator-max-microvolt = <7>;
144 qcom,use-voltage-corner;
Patrick Daly4c4452a2013-04-29 12:25:05 -0700145 qcom,consumer-supplies = "vdd_sr2_dig", "";
Xiaozhe Shi350baa92013-04-09 18:13:50 -0700146 };
Jennifer Liu2ff4b772013-06-26 14:28:50 -0700147
148 pm8110_s1_floor_corner: regulator-s1-floor-corner {
149 compatible = "qcom,rpm-regulator-smd";
150 regulator-name = "8110_s1_floor_corner";
151 qcom,set = <3>;
152 regulator-min-microvolt = <1>;
153 regulator-max-microvolt = <7>;
154 qcom,use-voltage-floor-corner;
155 qcom,always-send-voltage;
156 };
Xiaozhe Shi350baa92013-04-09 18:13:50 -0700157 };
158
159 rpm-regulator-smpa3 {
160 status = "okay";
161 pm8110_s3: regulator-s3 {
162 regulator-min-microvolt = <1200000>;
Xiaozhe Shi1581a7b2013-02-21 15:17:57 -0800163 regulator-max-microvolt = <1350000>;
Xiaozhe Shi350baa92013-04-09 18:13:50 -0700164 qcom,init-voltage = <1200000>;
Xiaozhe Shi1581a7b2013-02-21 15:17:57 -0800165 status = "okay";
Xiaozhe Shi350baa92013-04-09 18:13:50 -0700166 };
167 };
168
169 rpm-regulator-smpa4 {
170 status = "okay";
171 pm8110_s4: regulator-s4 {
Kuirong Wang237eca72013-05-22 16:53:32 -0700172 regulator-min-microvolt = <1800000>;
Xiaozhe Shi1581a7b2013-02-21 15:17:57 -0800173 regulator-max-microvolt = <2150000>;
Xiaozhe Shi350baa92013-04-09 18:13:50 -0700174 qcom,init-voltage = <2150000>;
Xiaozhe Shi1581a7b2013-02-21 15:17:57 -0800175 status = "okay";
Xiaozhe Shi350baa92013-04-09 18:13:50 -0700176 };
177 };
178
179 rpm-regulator-ldoa1 {
180 status = "okay";
181 pm8110_l1: regulator-l1 {
Xiaozhe Shi1581a7b2013-02-21 15:17:57 -0800182 regulator-min-microvolt = <1225000>;
183 regulator-max-microvolt = <1225000>;
Xiaozhe Shi350baa92013-04-09 18:13:50 -0700184 qcom,init-voltage = <1225000>;
Xiaozhe Shi1581a7b2013-02-21 15:17:57 -0800185 status = "okay";
Xiaozhe Shi350baa92013-04-09 18:13:50 -0700186 };
187 };
188
189 rpm-regulator-ldoa2 {
190 status = "okay";
191 pm8110_l2: regulator-l2 {
Xiaozhe Shi1581a7b2013-02-21 15:17:57 -0800192 regulator-min-microvolt = <1200000>;
193 regulator-max-microvolt = <1200000>;
Xiaozhe Shi350baa92013-04-09 18:13:50 -0700194 qcom,init-voltage = <1200000>;
195 status = "okay";
196 };
197 };
198
199 rpm-regulator-ldoa3 {
200 status = "okay";
201 pm8110_l3: regulator-l3 {
202 regulator-min-microvolt = <750000>;
203 regulator-max-microvolt = <1275000>;
204 status = "okay";
Xiaozhe Shi1581a7b2013-02-21 15:17:57 -0800205 };
David Collinsc6b34832012-10-24 12:57:57 -0700206
Xiaozhe Shi350baa92013-04-09 18:13:50 -0700207 pm8110_l3_ao: regulator-l3-ao {
208 compatible = "qcom,rpm-regulator-smd";
209 regulator-name = "8110_l3_ao";
210 qcom,set = <1>;
211 regulator-min-microvolt = <750000>;
212 regulator-max-microvolt = <1275000>;
Xiaozhe Shi1581a7b2013-02-21 15:17:57 -0800213 status = "okay";
Xiaozhe Shi1581a7b2013-02-21 15:17:57 -0800214 };
David Collinsc6b34832012-10-24 12:57:57 -0700215
Xiaozhe Shi350baa92013-04-09 18:13:50 -0700216 pm8110_l3_so: regulator-l3-so {
217 compatible = "qcom,rpm-regulator-smd";
218 regulator-name = "8110_l3_so";
219 qcom,set = <2>;
220 regulator-min-microvolt = <750000>;
221 regulator-max-microvolt = <1275000>;
222 qcom,init-voltage = <750000>;
Xiaozhe Shi1581a7b2013-02-21 15:17:57 -0800223 status = "okay";
Xiaozhe Shi350baa92013-04-09 18:13:50 -0700224 };
225 };
226
227 rpm-regulator-ldoa4 {
228 status = "okay";
229 pm8110_l4: regulator-l4 {
Xiaozhe Shi1581a7b2013-02-21 15:17:57 -0800230 regulator-min-microvolt = <1200000>;
231 regulator-max-microvolt = <1200000>;
Xiaozhe Shi350baa92013-04-09 18:13:50 -0700232 qcom,init-voltage = <1200000>;
Kuirong Wang33b20df2013-07-10 16:03:42 -0700233 regulator-always-on;
Xiaozhe Shi1581a7b2013-02-21 15:17:57 -0800234 status = "okay";
Xiaozhe Shi350baa92013-04-09 18:13:50 -0700235 };
236 };
237
238 rpm-regulator-ldoa5 {
239 status = "okay";
240 pm8110_l5: regulator-l5 {
Xiaozhe Shi1581a7b2013-02-21 15:17:57 -0800241 regulator-min-microvolt = <1300000>;
David Keitelede15c42013-10-21 13:33:41 -0700242 regulator-max-microvolt = <1350000>;
Xiaozhe Shi350baa92013-04-09 18:13:50 -0700243 qcom,init-voltage = <1300000>;
Xiaozhe Shi1581a7b2013-02-21 15:17:57 -0800244 status = "okay";
Xiaozhe Shi350baa92013-04-09 18:13:50 -0700245 };
246 };
247
248 rpm-regulator-ldoa6 {
249 status = "okay";
250 pm8110_l6: regulator-l6 {
Xiaozhe Shi1581a7b2013-02-21 15:17:57 -0800251 regulator-min-microvolt = <1800000>;
252 regulator-max-microvolt = <1800000>;
Xiaozhe Shi350baa92013-04-09 18:13:50 -0700253 qcom,init-voltage = <1800000>;
Xiaozhe Shi1581a7b2013-02-21 15:17:57 -0800254 status = "okay";
Xiaozhe Shi350baa92013-04-09 18:13:50 -0700255 };
256 };
257
258 rpm-regulator-ldoa7 {
259 status = "okay";
260 pm8110_l7: regulator-l7 {
Xiaozhe Shi1581a7b2013-02-21 15:17:57 -0800261 regulator-min-microvolt = <2050000>;
262 regulator-max-microvolt = <2050000>;
Xiaozhe Shi350baa92013-04-09 18:13:50 -0700263 qcom,init-voltage = <2050000>;
Xiaozhe Shi1581a7b2013-02-21 15:17:57 -0800264 status = "okay";
Xiaozhe Shi350baa92013-04-09 18:13:50 -0700265 };
266 };
267
268 rpm-regulator-ldoa8 {
269 status = "okay";
270 pm8110_l8: regulator-l8 {
Xiaozhe Shi1581a7b2013-02-21 15:17:57 -0800271 regulator-min-microvolt = <1800000>;
272 regulator-max-microvolt = <1800000>;
Xiaozhe Shi350baa92013-04-09 18:13:50 -0700273 qcom,init-voltage = <1800000>;
Xiaozhe Shi1581a7b2013-02-21 15:17:57 -0800274 status = "okay";
Xiaozhe Shi350baa92013-04-09 18:13:50 -0700275 };
276 };
277
278 rpm-regulator-ldoa9 {
279 status = "okay";
280 pm8110_l9: regulator-l9 {
Xiaozhe Shi1581a7b2013-02-21 15:17:57 -0800281 regulator-min-microvolt = <2050000>;
282 regulator-max-microvolt = <2050000>;
Xiaozhe Shi350baa92013-04-09 18:13:50 -0700283 qcom,init-voltage = <2050000>;
Xiaozhe Shi1581a7b2013-02-21 15:17:57 -0800284 status = "okay";
Xiaozhe Shi350baa92013-04-09 18:13:50 -0700285 };
286 };
287
288 rpm-regulator-ldoa10 {
289 status = "okay";
290 pm8110_l10: regulator-l10 {
Xiaozhe Shi1581a7b2013-02-21 15:17:57 -0800291 regulator-min-microvolt = <1800000>;
292 regulator-max-microvolt = <1800000>;
Xiaozhe Shi350baa92013-04-09 18:13:50 -0700293 qcom,init-voltage = <1800000>;
294 status = "okay";
Xiaozhe Shief732db2013-05-17 12:26:03 -0700295 };
296
297 pm8110_l10_ao: regulator-l10-ao {
298 compatible = "qcom,rpm-regulator-smd";
299 regulator-name = "8110_l10_ao";
300 qcom,set = <1>;
301 regulator-min-microvolt = <1800000>;
302 regulator-max-microvolt = <1800000>;
303 qcom,init-voltage = <1800000>;
Xiaozhe Shi1581a7b2013-02-21 15:17:57 -0800304 qcom,consumer-supplies = "vdd_sr2_pll", "";
305 };
Xiaozhe Shief732db2013-05-17 12:26:03 -0700306
307 pm8110_l10_so: regulator-l10-so {
308 compatible = "qcom,rpm-regulator-smd";
309 regulator-name = "8110_l10_so";
310 qcom,set = <2>;
311 regulator-min-microvolt = <1800000>;
312 regulator-max-microvolt = <1800000>;
313 qcom,init-voltage = <1800000>;
314 qcom,init-enable = <0>;
315 };
Xiaozhe Shi350baa92013-04-09 18:13:50 -0700316 };
David Collinsc6b34832012-10-24 12:57:57 -0700317
Xiaozhe Shi350baa92013-04-09 18:13:50 -0700318 rpm-regulator-ldoa12 {
319 status = "okay";
320 pm8110_l12: regulator-l12 {
Xiaozhe Shi1581a7b2013-02-21 15:17:57 -0800321 regulator-min-microvolt = <1800000>;
322 regulator-max-microvolt = <3300000>;
Xiaozhe Shi350baa92013-04-09 18:13:50 -0700323 qcom,init-voltage = <3300000>;
Xiaozhe Shi1581a7b2013-02-21 15:17:57 -0800324 status = "okay";
Xiaozhe Shi350baa92013-04-09 18:13:50 -0700325 };
326 };
327
328 rpm-regulator-ldoa14 {
329 status = "okay";
330 pm8110_l14: regulator-l14 {
Xiaozhe Shi1581a7b2013-02-21 15:17:57 -0800331 regulator-min-microvolt = <1800000>;
332 regulator-max-microvolt = <1800000>;
Xiaozhe Shi350baa92013-04-09 18:13:50 -0700333 qcom,init-voltage = <1800000>;
Xiaozhe Shi1581a7b2013-02-21 15:17:57 -0800334 status = "okay";
Xiaozhe Shi350baa92013-04-09 18:13:50 -0700335 };
336 };
337
338 rpm-regulator-ldoa15 {
339 status = "okay";
340 pm8110_l15: regulator-l15 {
Xiaozhe Shi1581a7b2013-02-21 15:17:57 -0800341 regulator-min-microvolt = <1800000>;
342 regulator-max-microvolt = <3300000>;
Xiaozhe Shi350baa92013-04-09 18:13:50 -0700343 qcom,init-voltage = <3300000>;
Xiaozhe Shi1581a7b2013-02-21 15:17:57 -0800344 status = "okay";
Xiaozhe Shi350baa92013-04-09 18:13:50 -0700345 };
346 };
347
348 rpm-regulator-ldoa16 {
349 status = "okay";
350 pm8110_l16: regulator-l16 {
Xiaozhe Shi1581a7b2013-02-21 15:17:57 -0800351 regulator-min-microvolt = <3000000>;
David Keitelede15c42013-10-21 13:33:41 -0700352 regulator-max-microvolt = <3350000>;
Xiaozhe Shi350baa92013-04-09 18:13:50 -0700353 qcom,init-voltage = <3000000>;
Xiaozhe Shi1581a7b2013-02-21 15:17:57 -0800354 status = "okay";
Xiaozhe Shi350baa92013-04-09 18:13:50 -0700355 };
356 };
357
358 rpm-regulator-ldoa17 {
359 status = "okay";
360 pm8110_l17: regulator-l17 {
Xiaozhe Shi1581a7b2013-02-21 15:17:57 -0800361 regulator-min-microvolt = <2900000>;
362 regulator-max-microvolt = <2900000>;
Xiaozhe Shi350baa92013-04-09 18:13:50 -0700363 qcom,init-voltage = <2900000>;
Xiaozhe Shi1581a7b2013-02-21 15:17:57 -0800364 status = "okay";
Xiaozhe Shi350baa92013-04-09 18:13:50 -0700365 };
366 };
367
368 rpm-regulator-ldoa18 {
369 status = "okay";
370 pm8110_l18: regulator-l18 {
Xiaozhe Shi1581a7b2013-02-21 15:17:57 -0800371 regulator-min-microvolt = <1800000>;
372 regulator-max-microvolt = <2950000>;
Xiaozhe Shi350baa92013-04-09 18:13:50 -0700373 qcom,init-voltage = <2950000>;
Xiaozhe Shi1581a7b2013-02-21 15:17:57 -0800374 status = "okay";
Xiaozhe Shi350baa92013-04-09 18:13:50 -0700375 };
376 };
377
378 rpm-regulator-ldoa19 {
379 status = "okay";
380 pm8110_l19: regulator-l19 {
Xiaozhe Shi1581a7b2013-02-21 15:17:57 -0800381 regulator-min-microvolt = <2850000>;
382 regulator-max-microvolt = <2850000>;
Xiaozhe Shi350baa92013-04-09 18:13:50 -0700383 qcom,init-voltage = <2850000>;
Xiaozhe Shi1581a7b2013-02-21 15:17:57 -0800384 status = "okay";
Xiaozhe Shi350baa92013-04-09 18:13:50 -0700385 };
386 };
387
388 rpm-regulator-ldoa20 {
389 status = "okay";
390 pm8110_l20: regulator-l20 {
Xiaozhe Shi1581a7b2013-02-21 15:17:57 -0800391 regulator-min-microvolt = <3075000>;
392 regulator-max-microvolt = <3075000>;
Xiaozhe Shi350baa92013-04-09 18:13:50 -0700393 qcom,init-voltage = <3075000>;
Xiaozhe Shi1581a7b2013-02-21 15:17:57 -0800394 status = "okay";
Xiaozhe Shi350baa92013-04-09 18:13:50 -0700395 };
396 };
397
398 rpm-regulator-ldoa21 {
399 status = "okay";
400 pm8110_l21: regulator-l21 {
Xiaozhe Shi1581a7b2013-02-21 15:17:57 -0800401 regulator-min-microvolt = <1800000>;
402 regulator-max-microvolt = <2950000>;
Xiaozhe Shi350baa92013-04-09 18:13:50 -0700403 qcom,init-voltage = <2950000>;
Xiaozhe Shi1581a7b2013-02-21 15:17:57 -0800404 status = "okay";
Xiaozhe Shi350baa92013-04-09 18:13:50 -0700405 };
406 };
407
408 rpm-regulator-ldoa22 {
409 status = "okay";
410 pm8110_l22: regulator-l22 {
Xiaozhe Shi1581a7b2013-02-21 15:17:57 -0800411 regulator-min-microvolt = <1800000>;
412 regulator-max-microvolt = <3300000>;
Xiaozhe Shi350baa92013-04-09 18:13:50 -0700413 qcom,init-voltage = <3300000>;
414 status = "okay";
Xiaozhe Shi1581a7b2013-02-21 15:17:57 -0800415 };
David Collinsc6b34832012-10-24 12:57:57 -0700416 };
417};
Abhijeet Dharmapurikar6ba90762013-08-05 12:50:21 -0700418
419&pm8110_chg_batif {
420 regulator-name = "batfet";
421};