blob: 47e64d547ea9c774d6c30289d7189e52b8812b7a [file] [log] [blame]
Tom Rini762f85b2024-07-20 11:15:10 -06001// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2
3#include <dt-bindings/gpio/gpio.h>
4#include <dt-bindings/input/input.h>
5#include <dt-bindings/leds/common.h>
6#include "rk3588.dtsi"
7
8/ {
9 compatible = "forlinx,fet3588-c", "rockchip,rk3588";
10
11 aliases {
12 mmc0 = &sdhci;
13 };
14
15 chosen {
16 stdout-path = "serial2:1500000n8";
17 };
18
19 leds {
20 compatible = "gpio-leds";
21 pinctrl-names = "default";
22 pinctrl-0 = <&led_rgb_b>;
23
24 io-led {
25 function = LED_FUNCTION_STATUS;
26 color = <LED_COLOR_ID_BLUE>;
27 gpios = <&gpio0 RK_PA0 GPIO_ACTIVE_HIGH>;
28 linux,default-trigger = "heartbeat";
29 };
30 };
31
32 pcie20_avdd0v85: pcie20-avdd0v85-regulator {
33 compatible = "regulator-fixed";
34 regulator-name = "pcie20_avdd0v85";
35 regulator-always-on;
36 regulator-boot-on;
37 regulator-min-microvolt = <850000>;
38 regulator-max-microvolt = <850000>;
39 vin-supply = <&vdd_0v85_s0>;
40 };
41
42 pcie20_avdd1v8: pcie20-avdd1v8-regulator {
43 compatible = "regulator-fixed";
44 regulator-name = "pcie20_avdd1v8";
45 regulator-always-on;
46 regulator-boot-on;
47 regulator-min-microvolt = <1800000>;
48 regulator-max-microvolt = <1800000>;
49 vin-supply = <&avcc_1v8_s0>;
50 };
51
52 pcie30_avdd0v75: pcie30-avdd0v75-regulator {
53 compatible = "regulator-fixed";
54 regulator-name = "pcie30_avdd0v75";
55 regulator-always-on;
56 regulator-boot-on;
57 regulator-min-microvolt = <750000>;
58 regulator-max-microvolt = <750000>;
59 vin-supply = <&avdd_0v75_s0>;
60 };
61
62 pcie30_avdd1v8: pcie30-avdd1v8-regulator {
63 compatible = "regulator-fixed";
64 regulator-name = "pcie30_avdd1v8";
65 regulator-always-on;
66 regulator-boot-on;
67 regulator-min-microvolt = <1800000>;
68 regulator-max-microvolt = <1800000>;
69 vin-supply = <&avcc_1v8_s0>;
70 };
71
72 vcc_1v1_nldo_s3: vcc-1v1-nldo-s3-regulator {
73 compatible = "regulator-fixed";
74 regulator-name = "vcc_1v1_nldo_s3";
75 regulator-always-on;
76 regulator-boot-on;
77 regulator-min-microvolt = <1100000>;
78 regulator-max-microvolt = <1100000>;
79 vin-supply = <&vcc5v0_sys>;
80 };
81
82 vcc4v0_sys: vcc4v0-sys-regulator {
83 compatible = "regulator-fixed";
84 regulator-name = "vcc4v0_sys";
85 regulator-always-on;
86 regulator-boot-on;
87 regulator-min-microvolt = <4000000>;
88 regulator-max-microvolt = <4000000>;
89 vin-supply = <&vcc12v_dcin>;
90 };
91};
92
93&combphy0_ps {
94 status = "okay";
95};
96
97&combphy1_ps {
98 status = "okay";
99};
100
101&combphy2_psu {
102 status = "okay";
103};
104
105&cpu_b0 {
106 cpu-supply = <&vdd_cpu_big0_s0>;
107 mem-supply = <&vdd_cpu_big0_s0>;
108};
109
110&cpu_b1 {
111 cpu-supply = <&vdd_cpu_big0_s0>;
112 mem-supply = <&vdd_cpu_big0_s0>;
113};
114
115&cpu_b2 {
116 cpu-supply = <&vdd_cpu_big1_s0>;
117 mem-supply = <&vdd_cpu_big1_s0>;
118};
119
120&cpu_b3 {
121 cpu-supply = <&vdd_cpu_big1_s0>;
122 mem-supply = <&vdd_cpu_big1_s0>;
123};
124
125&cpu_l0 {
126 cpu-supply = <&vdd_cpu_lit_s0>;
127 mem-supply = <&vdd_cpu_lit_mem_s0>;
128};
129
130&cpu_l1 {
131 cpu-supply = <&vdd_cpu_lit_s0>;
132 mem-supply = <&vdd_cpu_lit_mem_s0>;
133};
134
135&cpu_l2 {
136 cpu-supply = <&vdd_cpu_lit_s0>;
137 mem-supply = <&vdd_cpu_lit_mem_s0>;
138};
139
140&cpu_l3 {
141 cpu-supply = <&vdd_cpu_lit_s0>;
142 mem-supply = <&vdd_cpu_lit_mem_s0>;
143};
144
145&i2c0 {
146 pinctrl-names = "default";
147 pinctrl-0 = <&i2c0m2_xfer>;
148 status = "okay";
149
150 vdd_cpu_big0_s0: regulator@42 {
151 compatible = "rockchip,rk8602";
152 reg = <0x42>;
153 fcs,suspend-voltage-selector = <1>;
154 regulator-name = "vdd_cpu_big0_s0";
155 regulator-always-on;
156 regulator-boot-on;
157 regulator-min-microvolt = <550000>;
158 regulator-max-microvolt = <1050000>;
159 regulator-ramp-delay = <2300>;
160 vin-supply = <&vcc4v0_sys>;
161
162 regulator-state-mem {
163 regulator-off-in-suspend;
164 };
165 };
166
167 vdd_cpu_big1_s0: regulator@43 {
168 compatible = "rockchip,rk8603", "rockchip,rk8602";
169 reg = <0x43>;
170 fcs,suspend-voltage-selector = <1>;
171 regulator-name = "vdd_cpu_big1_s0";
172 regulator-always-on;
173 regulator-boot-on;
174 regulator-min-microvolt = <550000>;
175 regulator-max-microvolt = <1050000>;
176 regulator-ramp-delay = <2300>;
177 vin-supply = <&vcc4v0_sys>;
178
179 regulator-state-mem {
180 regulator-off-in-suspend;
181 };
182 };
183};
184
185&i2c1 {
186 status = "okay";
187 pinctrl-names = "default";
188 pinctrl-0 = <&i2c1m2_xfer>;
189
190 vdd_npu_s0: regulator@42 {
191 compatible = "rockchip,rk8602";
192 reg = <0x42>;
193 fcs,suspend-voltage-selector = <1>;
194 regulator-name = "vdd_npu_s0";
195 regulator-always-on;
196 regulator-boot-on;
197 regulator-min-microvolt = <550000>;
198 regulator-max-microvolt = <950000>;
199 regulator-ramp-delay = <2300>;
200 vin-supply = <&vcc4v0_sys>;
201
202 regulator-state-mem {
203 regulator-off-in-suspend;
204 };
205 };
206};
207
208&pinctrl {
209 leds {
210 led_rgb_b: led-rgb-b {
211 rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
212 };
213 };
214};
215
216&sdhci {
217 bus-width = <8>;
218 mmc-hs400-1_8v;
219 mmc-hs400-enhanced-strobe;
220 no-sdio;
221 no-sd;
222 non-removable;
223 status = "okay";
224};
225
226&spi2 {
227 status = "okay";
228 assigned-clocks = <&cru CLK_SPI2>;
229 assigned-clock-rates = <200000000>;
230 pinctrl-names = "default";
231 pinctrl-0 = <&spi2m2_cs0 &spi2m2_pins>;
232 num-cs = <1>;
233
234 pmic@0 {
235 compatible = "rockchip,rk806";
236 spi-max-frequency = <1000000>;
237 reg = <0x0>;
238
239 interrupt-parent = <&gpio0>;
240 interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
241
242 pinctrl-names = "default";
243 pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>,
244 <&rk806_dvs2_null>, <&rk806_dvs3_null>;
245
246 system-power-controller;
247
248 vcc1-supply = <&vcc5v0_sys>;
249 vcc2-supply = <&vcc5v0_sys>;
250 vcc3-supply = <&vcc5v0_sys>;
251 vcc4-supply = <&vcc5v0_sys>;
252 vcc5-supply = <&vcc5v0_sys>;
253 vcc6-supply = <&vcc5v0_sys>;
254 vcc7-supply = <&vcc5v0_sys>;
255 vcc8-supply = <&vcc5v0_sys>;
256 vcc9-supply = <&vcc5v0_sys>;
257 vcc10-supply = <&vcc5v0_sys>;
258 vcc11-supply = <&vcc_2v0_pldo_s3>;
259 vcc12-supply = <&vcc5v0_sys>;
260 vcc13-supply = <&vcc_1v1_nldo_s3>;
261 vcc14-supply = <&vcc_1v1_nldo_s3>;
262 vcca-supply = <&vcc5v0_sys>;
263
264 gpio-controller;
265 #gpio-cells = <2>;
266
267 rk806_dvs1_null: dvs1-null-pins {
268 pins = "gpio_pwrctrl1";
269 function = "pin_fun0";
270 };
271
272 rk806_dvs2_null: dvs2-null-pins {
273 pins = "gpio_pwrctrl2";
274 function = "pin_fun0";
275 };
276
277 rk806_dvs3_null: dvs3-null-pins {
278 pins = "gpio_pwrctrl3";
279 function = "pin_fun0";
280 };
281
282 regulators {
283 vdd_gpu_s0: vdd_gpu_mem_s0: dcdc-reg1 {
284 regulator-boot-on;
285 regulator-min-microvolt = <550000>;
286 regulator-max-microvolt = <950000>;
287 regulator-ramp-delay = <12500>;
288 regulator-name = "vdd_gpu_s0";
289 regulator-enable-ramp-delay = <400>;
290
291 regulator-state-mem {
292 regulator-off-in-suspend;
293 };
294 };
295
296 vdd_cpu_lit_s0: vdd_cpu_lit_mem_s0: dcdc-reg2 {
297 regulator-always-on;
298 regulator-boot-on;
299 regulator-min-microvolt = <550000>;
300 regulator-max-microvolt = <950000>;
301 regulator-ramp-delay = <12500>;
302 regulator-name = "vdd_cpu_lit_s0";
303
304 regulator-state-mem {
305 regulator-off-in-suspend;
306 };
307 };
308
309 vdd_log_s0: dcdc-reg3 {
310 regulator-always-on;
311 regulator-boot-on;
312 regulator-min-microvolt = <675000>;
313 regulator-max-microvolt = <750000>;
314 regulator-ramp-delay = <12500>;
315 regulator-name = "vdd_log_s0";
316
317 regulator-state-mem {
318 regulator-off-in-suspend;
319 regulator-suspend-microvolt = <750000>;
320 };
321 };
322
323 vdd_vdenc_s0: vdd_vdenc_mem_s0: dcdc-reg4 {
324 regulator-always-on;
325 regulator-boot-on;
326 regulator-min-microvolt = <550000>;
327 regulator-max-microvolt = <950000>;
328 regulator-ramp-delay = <12500>;
329 regulator-name = "vdd_vdenc_s0";
330
331 regulator-state-mem {
332 regulator-off-in-suspend;
333 };
334 };
335
336 vdd_ddr_s0: dcdc-reg5 {
337 regulator-always-on;
338 regulator-boot-on;
339 regulator-min-microvolt = <675000>;
340 regulator-max-microvolt = <900000>;
341 regulator-ramp-delay = <12500>;
342 regulator-name = "vdd_ddr_s0";
343
344 regulator-state-mem {
345 regulator-off-in-suspend;
346 regulator-suspend-microvolt = <850000>;
347 };
348 };
349
350 vdd2_ddr_s3: dcdc-reg6 {
351 regulator-always-on;
352 regulator-boot-on;
353 regulator-name = "vdd2_ddr_s3";
354
355 regulator-state-mem {
356 regulator-on-in-suspend;
357 };
358 };
359
360 vcc_2v0_pldo_s3: dcdc-reg7 {
361 regulator-always-on;
362 regulator-boot-on;
363 regulator-min-microvolt = <2000000>;
364 regulator-max-microvolt = <2000000>;
365 regulator-ramp-delay = <12500>;
366 regulator-name = "vdd_2v0_pldo_s3";
367
368 regulator-state-mem {
369 regulator-on-in-suspend;
370 regulator-suspend-microvolt = <2000000>;
371 };
372 };
373
374 vcc_3v3_s3: dcdc-reg8 {
375 regulator-always-on;
376 regulator-boot-on;
377 regulator-min-microvolt = <3300000>;
378 regulator-max-microvolt = <3300000>;
379 regulator-name = "vcc_3v3_s3";
380
381 regulator-state-mem {
382 regulator-on-in-suspend;
383 regulator-suspend-microvolt = <3300000>;
384 };
385 };
386
387 vddq_ddr_s0: dcdc-reg9 {
388 regulator-always-on;
389 regulator-boot-on;
390 regulator-name = "vddq_ddr_s0";
391
392 regulator-state-mem {
393 regulator-off-in-suspend;
394 };
395 };
396
397 vcc_1v8_s3: dcdc-reg10 {
398 regulator-always-on;
399 regulator-boot-on;
400 regulator-min-microvolt = <1800000>;
401 regulator-max-microvolt = <1800000>;
402 regulator-name = "vcc_1v8_s3";
403
404 regulator-state-mem {
405 regulator-on-in-suspend;
406 regulator-suspend-microvolt = <1800000>;
407 };
408 };
409
410 avcc_1v8_s0: pldo-reg1 {
411 regulator-always-on;
412 regulator-boot-on;
413 regulator-min-microvolt = <1800000>;
414 regulator-max-microvolt = <1800000>;
415 regulator-name = "avcc_1v8_s0";
416
417 regulator-state-mem {
418 regulator-off-in-suspend;
419 };
420 };
421
422 vcc_1v8_s0: pldo-reg2 {
423 regulator-always-on;
424 regulator-boot-on;
425 regulator-min-microvolt = <1800000>;
426 regulator-max-microvolt = <1800000>;
427 regulator-name = "vcc_1v8_s0";
428
429 regulator-state-mem {
430 regulator-off-in-suspend;
431 regulator-suspend-microvolt = <1800000>;
432 };
433 };
434
435 avdd_1v2_s0: pldo-reg3 {
436 regulator-always-on;
437 regulator-boot-on;
438 regulator-min-microvolt = <1200000>;
439 regulator-max-microvolt = <1200000>;
440 regulator-name = "avdd_1v2_s0";
441
442 regulator-state-mem {
443 regulator-off-in-suspend;
444 };
445 };
446
447 vcc_3v3_s0: pldo-reg4 {
448 regulator-always-on;
449 regulator-boot-on;
450 regulator-min-microvolt = <3300000>;
451 regulator-max-microvolt = <3300000>;
452 regulator-ramp-delay = <12500>;
453 regulator-name = "vcc_3v3_s0";
454
455 regulator-state-mem {
456 regulator-off-in-suspend;
457 };
458 };
459
460 vccio_sd_s0: pldo-reg5 {
461 regulator-always-on;
462 regulator-boot-on;
463 regulator-min-microvolt = <1800000>;
464 regulator-max-microvolt = <3300000>;
465 regulator-ramp-delay = <12500>;
466 regulator-name = "vccio_sd_s0";
467
468 regulator-state-mem {
469 regulator-off-in-suspend;
470 };
471 };
472
473 pldo6_s3: pldo-reg6 {
474 regulator-always-on;
475 regulator-boot-on;
476 regulator-min-microvolt = <1800000>;
477 regulator-max-microvolt = <1800000>;
478 regulator-name = "pldo6_s3";
479
480 regulator-state-mem {
481 regulator-on-in-suspend;
482 regulator-suspend-microvolt = <1800000>;
483 };
484 };
485
486 vdd_0v75_s3: nldo-reg1 {
487 regulator-always-on;
488 regulator-boot-on;
489 regulator-min-microvolt = <750000>;
490 regulator-max-microvolt = <750000>;
491 regulator-name = "vdd_0v75_s3";
492
493 regulator-state-mem {
494 regulator-on-in-suspend;
495 regulator-suspend-microvolt = <750000>;
496 };
497 };
498
499 vdd_ddr_pll_s0: nldo-reg2 {
500 regulator-always-on;
501 regulator-boot-on;
502 regulator-min-microvolt = <850000>;
503 regulator-max-microvolt = <850000>;
504 regulator-name = "vdd_ddr_pll_s0";
505
506 regulator-state-mem {
507 regulator-off-in-suspend;
508 regulator-suspend-microvolt = <850000>;
509 };
510 };
511
512 avdd_0v75_s0: nldo-reg3 {
513 regulator-always-on;
514 regulator-boot-on;
515 regulator-min-microvolt = <750000>;
516 regulator-max-microvolt = <750000>;
517 regulator-name = "avdd_0v75_s0";
518
519 regulator-state-mem {
520 regulator-off-in-suspend;
521 };
522 };
523
524 vdd_0v85_s0: nldo-reg4 {
525 regulator-always-on;
526 regulator-boot-on;
527 regulator-min-microvolt = <850000>;
528 regulator-max-microvolt = <850000>;
529 regulator-name = "vdd_0v85_s0";
530
531 regulator-state-mem {
532 regulator-off-in-suspend;
533 };
534 };
535
536 vdd_0v75_s0: nldo-reg5 {
537 regulator-always-on;
538 regulator-boot-on;
539 regulator-min-microvolt = <750000>;
540 regulator-max-microvolt = <750000>;
541 regulator-name = "vdd_0v75_s0";
542
543 regulator-state-mem {
544 regulator-off-in-suspend;
545 };
546 };
547 };
548 };
549};
550
551&tsadc {
552 status = "okay";
553};
554
555&uart2 {
556 pinctrl-0 = <&uart2m0_xfer>;
557 status = "okay";
558};