blob: 005cde61b4b29b8bf24da8a833fdd9c68a366ad3 [file] [log] [blame]
Jagan Teki3cf5bca2023-01-30 20:27:42 +05301// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (c) 2021 Rockchip Electronics Co., Ltd.
4 */
5
6#include <dt-bindings/clock/rockchip,rk3588-cru.h>
7#include <dt-bindings/interrupt-controller/arm-gic.h>
8#include <dt-bindings/interrupt-controller/irq.h>
9#include <dt-bindings/power/rk3588-power.h>
10#include <dt-bindings/reset/rockchip,rk3588-cru.h>
11
12/ {
13 compatible = "rockchip,rk3588";
14
15 interrupt-parent = <&gic>;
16 #address-cells = <2>;
17 #size-cells = <2>;
18
19 cpus {
20 #address-cells = <1>;
21 #size-cells = <0>;
22
23 cpu-map {
24 cluster0 {
25 core0 {
26 cpu = <&cpu_l0>;
27 };
28 core1 {
29 cpu = <&cpu_l1>;
30 };
31 core2 {
32 cpu = <&cpu_l2>;
33 };
34 core3 {
35 cpu = <&cpu_l3>;
36 };
37 };
38 cluster1 {
39 core0 {
40 cpu = <&cpu_b0>;
41 };
42 core1 {
43 cpu = <&cpu_b1>;
44 };
45 };
46 cluster2 {
47 core0 {
48 cpu = <&cpu_b2>;
49 };
50 core1 {
51 cpu = <&cpu_b3>;
52 };
53 };
54 };
55
56 cpu_l0: cpu@0 {
57 device_type = "cpu";
58 compatible = "arm,cortex-a55";
59 reg = <0x0>;
60 enable-method = "psci";
61 capacity-dmips-mhz = <530>;
62 clocks = <&scmi_clk SCMI_CLK_CPUL>;
63 cpu-idle-states = <&CPU_SLEEP>;
64 i-cache-size = <32768>;
65 i-cache-line-size = <64>;
66 i-cache-sets = <128>;
67 d-cache-size = <32768>;
68 d-cache-line-size = <64>;
69 d-cache-sets = <128>;
70 next-level-cache = <&l2_cache_l0>;
71 dynamic-power-coefficient = <228>;
72 #cooling-cells = <2>;
73 };
74
75 cpu_l1: cpu@100 {
76 device_type = "cpu";
77 compatible = "arm,cortex-a55";
78 reg = <0x100>;
79 enable-method = "psci";
80 capacity-dmips-mhz = <530>;
81 clocks = <&scmi_clk SCMI_CLK_CPUL>;
82 cpu-idle-states = <&CPU_SLEEP>;
83 i-cache-size = <32768>;
84 i-cache-line-size = <64>;
85 i-cache-sets = <128>;
86 d-cache-size = <32768>;
87 d-cache-line-size = <64>;
88 d-cache-sets = <128>;
89 next-level-cache = <&l2_cache_l1>;
90 dynamic-power-coefficient = <228>;
91 #cooling-cells = <2>;
92 };
93
94 cpu_l2: cpu@200 {
95 device_type = "cpu";
96 compatible = "arm,cortex-a55";
97 reg = <0x200>;
98 enable-method = "psci";
99 capacity-dmips-mhz = <530>;
100 clocks = <&scmi_clk SCMI_CLK_CPUL>;
101 cpu-idle-states = <&CPU_SLEEP>;
102 i-cache-size = <32768>;
103 i-cache-line-size = <64>;
104 i-cache-sets = <128>;
105 d-cache-size = <32768>;
106 d-cache-line-size = <64>;
107 d-cache-sets = <128>;
108 next-level-cache = <&l2_cache_l2>;
109 dynamic-power-coefficient = <228>;
110 #cooling-cells = <2>;
111 };
112
113 cpu_l3: cpu@300 {
114 device_type = "cpu";
115 compatible = "arm,cortex-a55";
116 reg = <0x300>;
117 enable-method = "psci";
118 capacity-dmips-mhz = <530>;
119 clocks = <&scmi_clk SCMI_CLK_CPUL>;
120 cpu-idle-states = <&CPU_SLEEP>;
121 i-cache-size = <32768>;
122 i-cache-line-size = <64>;
123 i-cache-sets = <128>;
124 d-cache-size = <32768>;
125 d-cache-line-size = <64>;
126 d-cache-sets = <128>;
127 next-level-cache = <&l2_cache_l3>;
128 dynamic-power-coefficient = <228>;
129 #cooling-cells = <2>;
130 };
131
132 cpu_b0: cpu@400 {
133 device_type = "cpu";
134 compatible = "arm,cortex-a76";
135 reg = <0x400>;
136 enable-method = "psci";
137 capacity-dmips-mhz = <1024>;
138 clocks = <&scmi_clk SCMI_CLK_CPUB01>;
139 cpu-idle-states = <&CPU_SLEEP>;
140 i-cache-size = <65536>;
141 i-cache-line-size = <64>;
142 i-cache-sets = <256>;
143 d-cache-size = <65536>;
144 d-cache-line-size = <64>;
145 d-cache-sets = <256>;
146 next-level-cache = <&l2_cache_b0>;
147 dynamic-power-coefficient = <416>;
148 #cooling-cells = <2>;
149 };
150
151 cpu_b1: cpu@500 {
152 device_type = "cpu";
153 compatible = "arm,cortex-a76";
154 reg = <0x500>;
155 enable-method = "psci";
156 capacity-dmips-mhz = <1024>;
157 clocks = <&scmi_clk SCMI_CLK_CPUB01>;
158 cpu-idle-states = <&CPU_SLEEP>;
159 i-cache-size = <65536>;
160 i-cache-line-size = <64>;
161 i-cache-sets = <256>;
162 d-cache-size = <65536>;
163 d-cache-line-size = <64>;
164 d-cache-sets = <256>;
165 next-level-cache = <&l2_cache_b1>;
166 dynamic-power-coefficient = <416>;
167 #cooling-cells = <2>;
168 };
169
170 cpu_b2: cpu@600 {
171 device_type = "cpu";
172 compatible = "arm,cortex-a76";
173 reg = <0x600>;
174 enable-method = "psci";
175 capacity-dmips-mhz = <1024>;
176 clocks = <&scmi_clk SCMI_CLK_CPUB23>;
177 cpu-idle-states = <&CPU_SLEEP>;
178 i-cache-size = <65536>;
179 i-cache-line-size = <64>;
180 i-cache-sets = <256>;
181 d-cache-size = <65536>;
182 d-cache-line-size = <64>;
183 d-cache-sets = <256>;
184 next-level-cache = <&l2_cache_b2>;
185 dynamic-power-coefficient = <416>;
186 #cooling-cells = <2>;
187 };
188
189 cpu_b3: cpu@700 {
190 device_type = "cpu";
191 compatible = "arm,cortex-a76";
192 reg = <0x700>;
193 enable-method = "psci";
194 capacity-dmips-mhz = <1024>;
195 clocks = <&scmi_clk SCMI_CLK_CPUB23>;
196 cpu-idle-states = <&CPU_SLEEP>;
197 i-cache-size = <65536>;
198 i-cache-line-size = <64>;
199 i-cache-sets = <256>;
200 d-cache-size = <65536>;
201 d-cache-line-size = <64>;
202 d-cache-sets = <256>;
203 next-level-cache = <&l2_cache_b3>;
204 dynamic-power-coefficient = <416>;
205 #cooling-cells = <2>;
206 };
207
208 idle-states {
209 entry-method = "psci";
210 CPU_SLEEP: cpu-sleep {
211 compatible = "arm,idle-state";
212 local-timer-stop;
213 arm,psci-suspend-param = <0x0010000>;
214 entry-latency-us = <100>;
215 exit-latency-us = <120>;
216 min-residency-us = <1000>;
217 };
218 };
219
220 l2_cache_l0: l2-cache-l0 {
221 compatible = "cache";
222 cache-size = <131072>;
223 cache-line-size = <64>;
224 cache-sets = <512>;
225 next-level-cache = <&l3_cache>;
226 };
227
228 l2_cache_l1: l2-cache-l1 {
229 compatible = "cache";
230 cache-size = <131072>;
231 cache-line-size = <64>;
232 cache-sets = <512>;
233 next-level-cache = <&l3_cache>;
234 };
235
236 l2_cache_l2: l2-cache-l2 {
237 compatible = "cache";
238 cache-size = <131072>;
239 cache-line-size = <64>;
240 cache-sets = <512>;
241 next-level-cache = <&l3_cache>;
242 };
243
244 l2_cache_l3: l2-cache-l3 {
245 compatible = "cache";
246 cache-size = <131072>;
247 cache-line-size = <64>;
248 cache-sets = <512>;
249 next-level-cache = <&l3_cache>;
250 };
251
252 l2_cache_b0: l2-cache-b0 {
253 compatible = "cache";
254 cache-size = <524288>;
255 cache-line-size = <64>;
256 cache-sets = <1024>;
257 next-level-cache = <&l3_cache>;
258 };
259
260 l2_cache_b1: l2-cache-b1 {
261 compatible = "cache";
262 cache-size = <524288>;
263 cache-line-size = <64>;
264 cache-sets = <1024>;
265 next-level-cache = <&l3_cache>;
266 };
267
268 l2_cache_b2: l2-cache-b2 {
269 compatible = "cache";
270 cache-size = <524288>;
271 cache-line-size = <64>;
272 cache-sets = <1024>;
273 next-level-cache = <&l3_cache>;
274 };
275
276 l2_cache_b3: l2-cache-b3 {
277 compatible = "cache";
278 cache-size = <524288>;
279 cache-line-size = <64>;
280 cache-sets = <1024>;
281 next-level-cache = <&l3_cache>;
282 };
283
284 l3_cache: l3-cache {
285 compatible = "cache";
286 cache-size = <3145728>;
287 cache-line-size = <64>;
288 cache-sets = <4096>;
289 };
290 };
291
292 firmware {
293 optee: optee {
294 compatible = "linaro,optee-tz";
295 method = "smc";
296 };
297
298 scmi: scmi {
299 compatible = "arm,scmi-smc";
300 arm,smc-id = <0x82000010>;
301 shmem = <&scmi_shmem>;
302 #address-cells = <1>;
303 #size-cells = <0>;
304
305 scmi_clk: protocol@14 {
306 reg = <0x14>;
307 assigned-clocks = <&scmi_clk SCMI_CLK_CPUB01>,
308 <&scmi_clk SCMI_CLK_CPUB23>;
309 assigned-clock-rates = <1200000000>,
310 <1200000000>;
311 #clock-cells = <1>;
312 };
313
314 scmi_reset: protocol@16 {
315 reg = <0x16>;
316 #reset-cells = <1>;
317 };
318 };
319 };
320
321 pmu-a55 {
322 compatible = "arm,cortex-a55-pmu";
323 interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH &ppi_partition0>;
324 };
325
326 pmu-a76 {
327 compatible = "arm,cortex-a76-pmu";
328 interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH &ppi_partition1>;
329 };
330
331 psci {
332 compatible = "arm,psci-1.0";
333 method = "smc";
334 };
335
336 spll: clock-0 {
337 compatible = "fixed-clock";
338 clock-frequency = <702000000>;
339 clock-output-names = "spll";
340 #clock-cells = <0>;
341 };
342
343 timer {
344 compatible = "arm,armv8-timer";
345 interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_HIGH 0>,
346 <GIC_PPI 14 IRQ_TYPE_LEVEL_HIGH 0>,
347 <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH 0>,
348 <GIC_PPI 10 IRQ_TYPE_LEVEL_HIGH 0>,
349 <GIC_PPI 12 IRQ_TYPE_LEVEL_HIGH 0>;
350 interrupt-names = "sec-phys", "phys", "virt", "hyp-phys", "hyp-virt";
351 };
352
353 xin24m: clock-1 {
354 compatible = "fixed-clock";
355 clock-frequency = <24000000>;
356 clock-output-names = "xin24m";
357 #clock-cells = <0>;
358 };
359
360 xin32k: clock-2 {
361 compatible = "fixed-clock";
362 clock-frequency = <32768>;
363 clock-output-names = "xin32k";
364 #clock-cells = <0>;
365 };
366
367 pmu_sram: sram@10f000 {
368 compatible = "mmio-sram";
369 reg = <0x0 0x0010f000 0x0 0x100>;
370 ranges = <0 0x0 0x0010f000 0x100>;
371 #address-cells = <1>;
372 #size-cells = <1>;
373
374 scmi_shmem: sram@0 {
375 compatible = "arm,scmi-shmem";
376 reg = <0x0 0x100>;
377 };
378 };
379
380 sys_grf: syscon@fd58c000 {
381 compatible = "rockchip,rk3588-sys-grf", "syscon";
382 reg = <0x0 0xfd58c000 0x0 0x1000>;
383 };
384
385 php_grf: syscon@fd5b0000 {
386 compatible = "rockchip,rk3588-php-grf", "syscon";
387 reg = <0x0 0xfd5b0000 0x0 0x1000>;
388 };
389
390 ioc: syscon@fd5f0000 {
391 compatible = "rockchip,rk3588-ioc", "syscon";
392 reg = <0x0 0xfd5f0000 0x0 0x10000>;
393 };
394
395 system_sram1: sram@fd600000 {
396 compatible = "mmio-sram";
397 reg = <0x0 0xfd600000 0x0 0x100000>;
398 ranges = <0x0 0x0 0xfd600000 0x100000>;
399 #address-cells = <1>;
400 #size-cells = <1>;
401 };
402
403 cru: clock-controller@fd7c0000 {
404 compatible = "rockchip,rk3588-cru";
405 reg = <0x0 0xfd7c0000 0x0 0x5c000>;
406 assigned-clocks =
407 <&cru PLL_PPLL>, <&cru PLL_AUPLL>,
408 <&cru PLL_NPLL>, <&cru PLL_GPLL>,
409 <&cru ACLK_CENTER_ROOT>,
410 <&cru HCLK_CENTER_ROOT>, <&cru ACLK_CENTER_LOW_ROOT>,
411 <&cru ACLK_TOP_ROOT>, <&cru PCLK_TOP_ROOT>,
412 <&cru ACLK_LOW_TOP_ROOT>, <&cru PCLK_PMU0_ROOT>,
413 <&cru HCLK_PMU_CM0_ROOT>, <&cru ACLK_VOP>,
414 <&cru ACLK_BUS_ROOT>, <&cru CLK_150M_SRC>,
415 <&cru CLK_GPU>;
416 assigned-clock-rates =
417 <100000000>, <786432000>,
418 <850000000>, <1188000000>,
419 <702000000>,
420 <400000000>, <500000000>,
421 <800000000>, <100000000>,
422 <400000000>, <100000000>,
423 <200000000>, <500000000>,
424 <375000000>, <150000000>,
425 <200000000>;
426 rockchip,grf = <&php_grf>;
427 #clock-cells = <1>;
428 #reset-cells = <1>;
429 };
430
431 i2c0: i2c@fd880000 {
432 compatible = "rockchip,rk3588-i2c", "rockchip,rk3399-i2c";
433 reg = <0x0 0xfd880000 0x0 0x1000>;
434 interrupts = <GIC_SPI 317 IRQ_TYPE_LEVEL_HIGH 0>;
435 clocks = <&cru CLK_I2C0>, <&cru PCLK_I2C0>;
436 clock-names = "i2c", "pclk";
437 pinctrl-0 = <&i2c0m0_xfer>;
438 pinctrl-names = "default";
439 #address-cells = <1>;
440 #size-cells = <0>;
441 status = "disabled";
442 };
443
444 uart0: serial@fd890000 {
445 compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart";
446 reg = <0x0 0xfd890000 0x0 0x100>;
447 interrupts = <GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH 0>;
448 clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>;
449 clock-names = "baudclk", "apb_pclk";
450 dmas = <&dmac0 6>, <&dmac0 7>;
451 dma-names = "tx", "rx";
452 pinctrl-0 = <&uart0m1_xfer>;
453 pinctrl-names = "default";
454 reg-shift = <2>;
455 reg-io-width = <4>;
456 status = "disabled";
457 };
458
459 pwm0: pwm@fd8b0000 {
460 compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm";
461 reg = <0x0 0xfd8b0000 0x0 0x10>;
462 clocks = <&cru CLK_PMU1PWM>, <&cru PCLK_PMU1PWM>;
463 clock-names = "pwm", "pclk";
464 pinctrl-0 = <&pwm0m0_pins>;
465 pinctrl-names = "default";
466 #pwm-cells = <3>;
467 status = "disabled";
468 };
469
470 pwm1: pwm@fd8b0010 {
471 compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm";
472 reg = <0x0 0xfd8b0010 0x0 0x10>;
473 clocks = <&cru CLK_PMU1PWM>, <&cru PCLK_PMU1PWM>;
474 clock-names = "pwm", "pclk";
475 pinctrl-0 = <&pwm1m0_pins>;
476 pinctrl-names = "default";
477 #pwm-cells = <3>;
478 status = "disabled";
479 };
480
481 pwm2: pwm@fd8b0020 {
482 compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm";
483 reg = <0x0 0xfd8b0020 0x0 0x10>;
484 clocks = <&cru CLK_PMU1PWM>, <&cru PCLK_PMU1PWM>;
485 clock-names = "pwm", "pclk";
486 pinctrl-0 = <&pwm2m0_pins>;
487 pinctrl-names = "default";
488 #pwm-cells = <3>;
489 status = "disabled";
490 };
491
492 pwm3: pwm@fd8b0030 {
493 compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm";
494 reg = <0x0 0xfd8b0030 0x0 0x10>;
495 clocks = <&cru CLK_PMU1PWM>, <&cru PCLK_PMU1PWM>;
496 clock-names = "pwm", "pclk";
497 pinctrl-0 = <&pwm3m0_pins>;
498 pinctrl-names = "default";
499 #pwm-cells = <3>;
500 status = "disabled";
501 };
502
503 pmu: power-management@fd8d8000 {
504 compatible = "rockchip,rk3588-pmu", "syscon", "simple-mfd";
505 reg = <0x0 0xfd8d8000 0x0 0x400>;
506
507 power: power-controller {
508 compatible = "rockchip,rk3588-power-controller";
509 #address-cells = <1>;
510 #power-domain-cells = <1>;
511 #size-cells = <0>;
512 status = "okay";
513
514 /* These power domains are grouped by VD_NPU */
515 power-domain@RK3588_PD_NPU {
516 reg = <RK3588_PD_NPU>;
517 #power-domain-cells = <0>;
518 #address-cells = <1>;
519 #size-cells = <0>;
520
521 power-domain@RK3588_PD_NPUTOP {
522 reg = <RK3588_PD_NPUTOP>;
523 clocks = <&cru HCLK_NPU_ROOT>,
524 <&cru PCLK_NPU_ROOT>,
525 <&cru CLK_NPU_DSU0>,
526 <&cru HCLK_NPU_CM0_ROOT>;
527 pm_qos = <&qos_npu0_mwr>,
528 <&qos_npu0_mro>,
529 <&qos_mcu_npu>;
530 #power-domain-cells = <0>;
531 #address-cells = <1>;
532 #size-cells = <0>;
533
534 power-domain@RK3588_PD_NPU1 {
535 reg = <RK3588_PD_NPU1>;
536 clocks = <&cru HCLK_NPU_ROOT>,
537 <&cru PCLK_NPU_ROOT>,
538 <&cru CLK_NPU_DSU0>;
539 pm_qos = <&qos_npu1>;
540 #power-domain-cells = <0>;
541 };
542 power-domain@RK3588_PD_NPU2 {
543 reg = <RK3588_PD_NPU2>;
544 clocks = <&cru HCLK_NPU_ROOT>,
545 <&cru PCLK_NPU_ROOT>,
546 <&cru CLK_NPU_DSU0>;
547 pm_qos = <&qos_npu2>;
548 #power-domain-cells = <0>;
549 };
550 };
551 };
552 /* These power domains are grouped by VD_GPU */
553 power-domain@RK3588_PD_GPU {
554 reg = <RK3588_PD_GPU>;
555 clocks = <&cru CLK_GPU>,
556 <&cru CLK_GPU_COREGROUP>,
557 <&cru CLK_GPU_STACKS>;
558 pm_qos = <&qos_gpu_m0>,
559 <&qos_gpu_m1>,
560 <&qos_gpu_m2>,
561 <&qos_gpu_m3>;
562 #power-domain-cells = <0>;
563 };
564 /* These power domains are grouped by VD_VCODEC */
565 power-domain@RK3588_PD_VCODEC {
566 reg = <RK3588_PD_VCODEC>;
567 #address-cells = <1>;
568 #size-cells = <0>;
569 #power-domain-cells = <0>;
570
571 power-domain@RK3588_PD_RKVDEC0 {
572 reg = <RK3588_PD_RKVDEC0>;
573 clocks = <&cru HCLK_RKVDEC0>,
574 <&cru HCLK_VDPU_ROOT>,
575 <&cru ACLK_VDPU_ROOT>,
576 <&cru ACLK_RKVDEC0>,
577 <&cru ACLK_RKVDEC_CCU>;
578 pm_qos = <&qos_rkvdec0>;
579 #power-domain-cells = <0>;
580 };
581 power-domain@RK3588_PD_RKVDEC1 {
582 reg = <RK3588_PD_RKVDEC1>;
583 clocks = <&cru HCLK_RKVDEC1>,
584 <&cru HCLK_VDPU_ROOT>,
585 <&cru ACLK_VDPU_ROOT>,
586 <&cru ACLK_RKVDEC1>;
587 pm_qos = <&qos_rkvdec1>;
588 #power-domain-cells = <0>;
589 };
590 power-domain@RK3588_PD_VENC0 {
591 reg = <RK3588_PD_VENC0>;
592 clocks = <&cru HCLK_RKVENC0>,
593 <&cru ACLK_RKVENC0>;
594 pm_qos = <&qos_rkvenc0_m0ro>,
595 <&qos_rkvenc0_m1ro>,
596 <&qos_rkvenc0_m2wo>;
597 #address-cells = <1>;
598 #size-cells = <0>;
599 #power-domain-cells = <0>;
600
601 power-domain@RK3588_PD_VENC1 {
602 reg = <RK3588_PD_VENC1>;
603 clocks = <&cru HCLK_RKVENC1>,
604 <&cru HCLK_RKVENC0>,
605 <&cru ACLK_RKVENC0>,
606 <&cru ACLK_RKVENC1>;
607 pm_qos = <&qos_rkvenc1_m0ro>,
608 <&qos_rkvenc1_m1ro>,
609 <&qos_rkvenc1_m2wo>;
610 #power-domain-cells = <0>;
611 };
612 };
613 };
614 /* These power domains are grouped by VD_LOGIC */
615 power-domain@RK3588_PD_VDPU {
616 reg = <RK3588_PD_VDPU>;
617 clocks = <&cru HCLK_VDPU_ROOT>,
618 <&cru ACLK_VDPU_LOW_ROOT>,
619 <&cru ACLK_VDPU_ROOT>,
620 <&cru ACLK_JPEG_DECODER_ROOT>,
621 <&cru ACLK_IEP2P0>,
622 <&cru HCLK_IEP2P0>,
623 <&cru ACLK_JPEG_ENCODER0>,
624 <&cru HCLK_JPEG_ENCODER0>,
625 <&cru ACLK_JPEG_ENCODER1>,
626 <&cru HCLK_JPEG_ENCODER1>,
627 <&cru ACLK_JPEG_ENCODER2>,
628 <&cru HCLK_JPEG_ENCODER2>,
629 <&cru ACLK_JPEG_ENCODER3>,
630 <&cru HCLK_JPEG_ENCODER3>,
631 <&cru ACLK_JPEG_DECODER>,
632 <&cru HCLK_JPEG_DECODER>,
633 <&cru ACLK_RGA2>,
634 <&cru HCLK_RGA2>;
635 pm_qos = <&qos_iep>,
636 <&qos_jpeg_dec>,
637 <&qos_jpeg_enc0>,
638 <&qos_jpeg_enc1>,
639 <&qos_jpeg_enc2>,
640 <&qos_jpeg_enc3>,
641 <&qos_rga2_mro>,
642 <&qos_rga2_mwo>;
643 #address-cells = <1>;
644 #size-cells = <0>;
645 #power-domain-cells = <0>;
646
647
648 power-domain@RK3588_PD_AV1 {
649 reg = <RK3588_PD_AV1>;
650 clocks = <&cru PCLK_AV1>,
651 <&cru ACLK_AV1>,
652 <&cru HCLK_VDPU_ROOT>;
653 pm_qos = <&qos_av1>;
654 #power-domain-cells = <0>;
655 };
656 power-domain@RK3588_PD_RKVDEC0 {
657 reg = <RK3588_PD_RKVDEC0>;
658 clocks = <&cru HCLK_RKVDEC0>,
659 <&cru HCLK_VDPU_ROOT>,
660 <&cru ACLK_VDPU_ROOT>,
661 <&cru ACLK_RKVDEC0>;
662 pm_qos = <&qos_rkvdec0>;
663 #power-domain-cells = <0>;
664 };
665 power-domain@RK3588_PD_RKVDEC1 {
666 reg = <RK3588_PD_RKVDEC1>;
667 clocks = <&cru HCLK_RKVDEC1>,
668 <&cru HCLK_VDPU_ROOT>,
669 <&cru ACLK_VDPU_ROOT>;
670 pm_qos = <&qos_rkvdec1>;
671 #power-domain-cells = <0>;
672 };
673 power-domain@RK3588_PD_RGA30 {
674 reg = <RK3588_PD_RGA30>;
675 clocks = <&cru ACLK_RGA3_0>,
676 <&cru HCLK_RGA3_0>;
677 pm_qos = <&qos_rga3_0>;
678 #power-domain-cells = <0>;
679 };
680 };
681 power-domain@RK3588_PD_VOP {
682 reg = <RK3588_PD_VOP>;
683 clocks = <&cru PCLK_VOP_ROOT>,
684 <&cru HCLK_VOP_ROOT>,
685 <&cru ACLK_VOP>;
686 pm_qos = <&qos_vop_m0>,
687 <&qos_vop_m1>;
688 #address-cells = <1>;
689 #size-cells = <0>;
690 #power-domain-cells = <0>;
691
692 power-domain@RK3588_PD_VO0 {
693 reg = <RK3588_PD_VO0>;
694 clocks = <&cru PCLK_VO0_ROOT>,
695 <&cru PCLK_VO0_S_ROOT>,
696 <&cru HCLK_VO0_S_ROOT>,
697 <&cru ACLK_VO0_ROOT>,
698 <&cru HCLK_HDCP0>,
699 <&cru ACLK_HDCP0>,
700 <&cru HCLK_VOP_ROOT>;
701 pm_qos = <&qos_hdcp0>;
702 #power-domain-cells = <0>;
703 };
704 };
705 power-domain@RK3588_PD_VO1 {
706 reg = <RK3588_PD_VO1>;
707 clocks = <&cru PCLK_VO1_ROOT>,
708 <&cru PCLK_VO1_S_ROOT>,
709 <&cru HCLK_VO1_S_ROOT>,
710 <&cru HCLK_HDCP1>,
711 <&cru ACLK_HDCP1>,
712 <&cru ACLK_HDMIRX_ROOT>,
713 <&cru HCLK_VO1USB_TOP_ROOT>;
714 pm_qos = <&qos_hdcp1>,
715 <&qos_hdmirx>;
716 #power-domain-cells = <0>;
717 };
718 power-domain@RK3588_PD_VI {
719 reg = <RK3588_PD_VI>;
720 clocks = <&cru HCLK_VI_ROOT>,
721 <&cru PCLK_VI_ROOT>,
722 <&cru HCLK_ISP0>,
723 <&cru ACLK_ISP0>,
724 <&cru HCLK_VICAP>,
725 <&cru ACLK_VICAP>;
726 pm_qos = <&qos_isp0_mro>,
727 <&qos_isp0_mwo>,
728 <&qos_vicap_m0>,
729 <&qos_vicap_m1>;
730 #address-cells = <1>;
731 #size-cells = <0>;
732 #power-domain-cells = <0>;
733
734 power-domain@RK3588_PD_ISP1 {
735 reg = <RK3588_PD_ISP1>;
736 clocks = <&cru HCLK_ISP1>,
737 <&cru ACLK_ISP1>,
738 <&cru HCLK_VI_ROOT>,
739 <&cru PCLK_VI_ROOT>;
740 pm_qos = <&qos_isp1_mwo>,
741 <&qos_isp1_mro>;
742 #power-domain-cells = <0>;
743 };
744 power-domain@RK3588_PD_FEC {
745 reg = <RK3588_PD_FEC>;
746 clocks = <&cru HCLK_FISHEYE0>,
747 <&cru ACLK_FISHEYE0>,
748 <&cru HCLK_FISHEYE1>,
749 <&cru ACLK_FISHEYE1>,
750 <&cru PCLK_VI_ROOT>;
751 pm_qos = <&qos_fisheye0>,
752 <&qos_fisheye1>;
753 #power-domain-cells = <0>;
754 };
755 };
756 power-domain@RK3588_PD_RGA31 {
757 reg = <RK3588_PD_RGA31>;
758 clocks = <&cru HCLK_RGA3_1>,
759 <&cru ACLK_RGA3_1>;
760 pm_qos = <&qos_rga3_1>;
761 #power-domain-cells = <0>;
762 };
763 power-domain@RK3588_PD_USB {
764 reg = <RK3588_PD_USB>;
765 clocks = <&cru PCLK_PHP_ROOT>,
766 <&cru ACLK_USB_ROOT>,
767 <&cru HCLK_USB_ROOT>,
768 <&cru HCLK_HOST0>,
769 <&cru HCLK_HOST_ARB0>,
770 <&cru HCLK_HOST1>,
771 <&cru HCLK_HOST_ARB1>;
772 pm_qos = <&qos_usb3_0>,
773 <&qos_usb3_1>,
774 <&qos_usb2host_0>,
775 <&qos_usb2host_1>;
776 #power-domain-cells = <0>;
777 };
778 power-domain@RK3588_PD_GMAC {
779 reg = <RK3588_PD_GMAC>;
780 clocks = <&cru PCLK_PHP_ROOT>,
781 <&cru ACLK_PCIE_ROOT>,
782 <&cru ACLK_PHP_ROOT>;
783 #power-domain-cells = <0>;
784 };
785 power-domain@RK3588_PD_PCIE {
786 reg = <RK3588_PD_PCIE>;
787 clocks = <&cru PCLK_PHP_ROOT>,
788 <&cru ACLK_PCIE_ROOT>,
789 <&cru ACLK_PHP_ROOT>;
790 #power-domain-cells = <0>;
791 };
792 power-domain@RK3588_PD_SDIO {
793 reg = <RK3588_PD_SDIO>;
794 clocks = <&cru HCLK_SDIO>,
795 <&cru HCLK_NVM_ROOT>;
796 pm_qos = <&qos_sdio>;
797 #power-domain-cells = <0>;
798 };
799 power-domain@RK3588_PD_AUDIO {
800 reg = <RK3588_PD_AUDIO>;
801 clocks = <&cru HCLK_AUDIO_ROOT>,
802 <&cru PCLK_AUDIO_ROOT>;
803 #power-domain-cells = <0>;
804 };
805 power-domain@RK3588_PD_SDMMC {
806 reg = <RK3588_PD_SDMMC>;
807 pm_qos = <&qos_sdmmc>;
808 #power-domain-cells = <0>;
809 };
810 };
811 };
812
813 qos_gpu_m0: qos@fdf35000 {
814 compatible = "rockchip,rk3588-qos", "syscon";
815 reg = <0x0 0xfdf35000 0x0 0x20>;
816 };
817
818 qos_gpu_m1: qos@fdf35200 {
819 compatible = "rockchip,rk3588-qos", "syscon";
820 reg = <0x0 0xfdf35200 0x0 0x20>;
821 };
822
823 qos_gpu_m2: qos@fdf35400 {
824 compatible = "rockchip,rk3588-qos", "syscon";
825 reg = <0x0 0xfdf35400 0x0 0x20>;
826 };
827
828 qos_gpu_m3: qos@fdf35600 {
829 compatible = "rockchip,rk3588-qos", "syscon";
830 reg = <0x0 0xfdf35600 0x0 0x20>;
831 };
832
833 qos_rga3_1: qos@fdf36000 {
834 compatible = "rockchip,rk3588-qos", "syscon";
835 reg = <0x0 0xfdf36000 0x0 0x20>;
836 };
837
838 qos_sdio: qos@fdf39000 {
839 compatible = "rockchip,rk3588-qos", "syscon";
840 reg = <0x0 0xfdf39000 0x0 0x20>;
841 };
842
843 qos_sdmmc: qos@fdf3d800 {
844 compatible = "rockchip,rk3588-qos", "syscon";
845 reg = <0x0 0xfdf3d800 0x0 0x20>;
846 };
847
848 qos_usb3_1: qos@fdf3e000 {
849 compatible = "rockchip,rk3588-qos", "syscon";
850 reg = <0x0 0xfdf3e000 0x0 0x20>;
851 };
852
853 qos_usb3_0: qos@fdf3e200 {
854 compatible = "rockchip,rk3588-qos", "syscon";
855 reg = <0x0 0xfdf3e200 0x0 0x20>;
856 };
857
858 qos_usb2host_0: qos@fdf3e400 {
859 compatible = "rockchip,rk3588-qos", "syscon";
860 reg = <0x0 0xfdf3e400 0x0 0x20>;
861 };
862
863 qos_usb2host_1: qos@fdf3e600 {
864 compatible = "rockchip,rk3588-qos", "syscon";
865 reg = <0x0 0xfdf3e600 0x0 0x20>;
866 };
867
868 qos_fisheye0: qos@fdf40000 {
869 compatible = "rockchip,rk3588-qos", "syscon";
870 reg = <0x0 0xfdf40000 0x0 0x20>;
871 };
872
873 qos_fisheye1: qos@fdf40200 {
874 compatible = "rockchip,rk3588-qos", "syscon";
875 reg = <0x0 0xfdf40200 0x0 0x20>;
876 };
877
878 qos_isp0_mro: qos@fdf40400 {
879 compatible = "rockchip,rk3588-qos", "syscon";
880 reg = <0x0 0xfdf40400 0x0 0x20>;
881 };
882
883 qos_isp0_mwo: qos@fdf40500 {
884 compatible = "rockchip,rk3588-qos", "syscon";
885 reg = <0x0 0xfdf40500 0x0 0x20>;
886 };
887
888 qos_vicap_m0: qos@fdf40600 {
889 compatible = "rockchip,rk3588-qos", "syscon";
890 reg = <0x0 0xfdf40600 0x0 0x20>;
891 };
892
893 qos_vicap_m1: qos@fdf40800 {
894 compatible = "rockchip,rk3588-qos", "syscon";
895 reg = <0x0 0xfdf40800 0x0 0x20>;
896 };
897
898 qos_isp1_mwo: qos@fdf41000 {
899 compatible = "rockchip,rk3588-qos", "syscon";
900 reg = <0x0 0xfdf41000 0x0 0x20>;
901 };
902
903 qos_isp1_mro: qos@fdf41100 {
904 compatible = "rockchip,rk3588-qos", "syscon";
905 reg = <0x0 0xfdf41100 0x0 0x20>;
906 };
907
908 qos_rkvenc0_m0ro: qos@fdf60000 {
909 compatible = "rockchip,rk3588-qos", "syscon";
910 reg = <0x0 0xfdf60000 0x0 0x20>;
911 };
912
913 qos_rkvenc0_m1ro: qos@fdf60200 {
914 compatible = "rockchip,rk3588-qos", "syscon";
915 reg = <0x0 0xfdf60200 0x0 0x20>;
916 };
917
918 qos_rkvenc0_m2wo: qos@fdf60400 {
919 compatible = "rockchip,rk3588-qos", "syscon";
920 reg = <0x0 0xfdf60400 0x0 0x20>;
921 };
922
923 qos_rkvenc1_m0ro: qos@fdf61000 {
924 compatible = "rockchip,rk3588-qos", "syscon";
925 reg = <0x0 0xfdf61000 0x0 0x20>;
926 };
927
928 qos_rkvenc1_m1ro: qos@fdf61200 {
929 compatible = "rockchip,rk3588-qos", "syscon";
930 reg = <0x0 0xfdf61200 0x0 0x20>;
931 };
932
933 qos_rkvenc1_m2wo: qos@fdf61400 {
934 compatible = "rockchip,rk3588-qos", "syscon";
935 reg = <0x0 0xfdf61400 0x0 0x20>;
936 };
937
938 qos_rkvdec0: qos@fdf62000 {
939 compatible = "rockchip,rk3588-qos", "syscon";
940 reg = <0x0 0xfdf62000 0x0 0x20>;
941 };
942
943 qos_rkvdec1: qos@fdf63000 {
944 compatible = "rockchip,rk3588-qos", "syscon";
945 reg = <0x0 0xfdf63000 0x0 0x20>;
946 };
947
948 qos_av1: qos@fdf64000 {
949 compatible = "rockchip,rk3588-qos", "syscon";
950 reg = <0x0 0xfdf64000 0x0 0x20>;
951 };
952
953 qos_iep: qos@fdf66000 {
954 compatible = "rockchip,rk3588-qos", "syscon";
955 reg = <0x0 0xfdf66000 0x0 0x20>;
956 };
957
958 qos_jpeg_dec: qos@fdf66200 {
959 compatible = "rockchip,rk3588-qos", "syscon";
960 reg = <0x0 0xfdf66200 0x0 0x20>;
961 };
962
963 qos_jpeg_enc0: qos@fdf66400 {
964 compatible = "rockchip,rk3588-qos", "syscon";
965 reg = <0x0 0xfdf66400 0x0 0x20>;
966 };
967
968 qos_jpeg_enc1: qos@fdf66600 {
969 compatible = "rockchip,rk3588-qos", "syscon";
970 reg = <0x0 0xfdf66600 0x0 0x20>;
971 };
972
973 qos_jpeg_enc2: qos@fdf66800 {
974 compatible = "rockchip,rk3588-qos", "syscon";
975 reg = <0x0 0xfdf66800 0x0 0x20>;
976 };
977
978 qos_jpeg_enc3: qos@fdf66a00 {
979 compatible = "rockchip,rk3588-qos", "syscon";
980 reg = <0x0 0xfdf66a00 0x0 0x20>;
981 };
982
983 qos_rga2_mro: qos@fdf66c00 {
984 compatible = "rockchip,rk3588-qos", "syscon";
985 reg = <0x0 0xfdf66c00 0x0 0x20>;
986 };
987
988 qos_rga2_mwo: qos@fdf66e00 {
989 compatible = "rockchip,rk3588-qos", "syscon";
990 reg = <0x0 0xfdf66e00 0x0 0x20>;
991 };
992
993 qos_rga3_0: qos@fdf67000 {
994 compatible = "rockchip,rk3588-qos", "syscon";
995 reg = <0x0 0xfdf67000 0x0 0x20>;
996 };
997
998 qos_vdpu: qos@fdf67200 {
999 compatible = "rockchip,rk3588-qos", "syscon";
1000 reg = <0x0 0xfdf67200 0x0 0x20>;
1001 };
1002
1003 qos_npu1: qos@fdf70000 {
1004 compatible = "rockchip,rk3588-qos", "syscon";
1005 reg = <0x0 0xfdf70000 0x0 0x20>;
1006 };
1007
1008 qos_npu2: qos@fdf71000 {
1009 compatible = "rockchip,rk3588-qos", "syscon";
1010 reg = <0x0 0xfdf71000 0x0 0x20>;
1011 };
1012
1013 qos_npu0_mwr: qos@fdf72000 {
1014 compatible = "rockchip,rk3588-qos", "syscon";
1015 reg = <0x0 0xfdf72000 0x0 0x20>;
1016 };
1017
1018 qos_npu0_mro: qos@fdf72200 {
1019 compatible = "rockchip,rk3588-qos", "syscon";
1020 reg = <0x0 0xfdf72200 0x0 0x20>;
1021 };
1022
1023 qos_mcu_npu: qos@fdf72400 {
1024 compatible = "rockchip,rk3588-qos", "syscon";
1025 reg = <0x0 0xfdf72400 0x0 0x20>;
1026 };
1027
1028 qos_hdcp0: qos@fdf80000 {
1029 compatible = "rockchip,rk3588-qos", "syscon";
1030 reg = <0x0 0xfdf80000 0x0 0x20>;
1031 };
1032
1033 qos_hdcp1: qos@fdf81000 {
1034 compatible = "rockchip,rk3588-qos", "syscon";
1035 reg = <0x0 0xfdf81000 0x0 0x20>;
1036 };
1037
1038 qos_hdmirx: qos@fdf81200 {
1039 compatible = "rockchip,rk3588-qos", "syscon";
1040 reg = <0x0 0xfdf81200 0x0 0x20>;
1041 };
1042
1043 qos_vop_m0: qos@fdf82000 {
1044 compatible = "rockchip,rk3588-qos", "syscon";
1045 reg = <0x0 0xfdf82000 0x0 0x20>;
1046 };
1047
1048 qos_vop_m1: qos@fdf82200 {
1049 compatible = "rockchip,rk3588-qos", "syscon";
1050 reg = <0x0 0xfdf82200 0x0 0x20>;
1051 };
1052
1053 gmac1: ethernet@fe1c0000 {
1054 compatible = "rockchip,rk3588-gmac", "snps,dwmac-4.20a";
1055 reg = <0x0 0xfe1c0000 0x0 0x10000>;
1056 interrupts = <GIC_SPI 234 IRQ_TYPE_LEVEL_HIGH 0>,
1057 <GIC_SPI 233 IRQ_TYPE_LEVEL_HIGH 0>;
1058 interrupt-names = "macirq", "eth_wake_irq";
1059 clocks = <&cru CLK_GMAC_125M>, <&cru CLK_GMAC_50M>,
1060 <&cru PCLK_GMAC1>, <&cru ACLK_GMAC1>,
1061 <&cru CLK_GMAC1_PTP_REF>;
1062 clock-names = "stmmaceth", "clk_mac_ref",
1063 "pclk_mac", "aclk_mac",
1064 "ptp_ref";
1065 power-domains = <&power RK3588_PD_GMAC>;
1066 resets = <&cru SRST_A_GMAC1>;
1067 reset-names = "stmmaceth";
1068 rockchip,grf = <&sys_grf>;
1069 rockchip,php-grf = <&php_grf>;
1070 snps,axi-config = <&gmac1_stmmac_axi_setup>;
1071 snps,mixed-burst;
1072 snps,mtl-rx-config = <&gmac1_mtl_rx_setup>;
1073 snps,mtl-tx-config = <&gmac1_mtl_tx_setup>;
1074 snps,tso;
1075 status = "disabled";
1076
1077 mdio1: mdio {
1078 compatible = "snps,dwmac-mdio";
1079 #address-cells = <0x1>;
1080 #size-cells = <0x0>;
1081 };
1082
1083 gmac1_stmmac_axi_setup: stmmac-axi-config {
1084 snps,blen = <0 0 0 0 16 8 4>;
1085 snps,wr_osr_lmt = <4>;
1086 snps,rd_osr_lmt = <8>;
1087 };
1088
1089 gmac1_mtl_rx_setup: rx-queues-config {
1090 snps,rx-queues-to-use = <2>;
1091 queue0 {};
1092 queue1 {};
1093 };
1094
1095 gmac1_mtl_tx_setup: tx-queues-config {
1096 snps,tx-queues-to-use = <2>;
1097 queue0 {};
1098 queue1 {};
1099 };
1100 };
1101
1102 sdhci: mmc@fe2e0000 {
1103 compatible = "rockchip,rk3588-dwcmshc";
1104 reg = <0x0 0xfe2e0000 0x0 0x10000>;
1105 interrupts = <GIC_SPI 205 IRQ_TYPE_LEVEL_HIGH 0>;
1106 assigned-clocks = <&cru BCLK_EMMC>, <&cru TMCLK_EMMC>, <&cru CCLK_EMMC>;
1107 assigned-clock-rates = <200000000>, <24000000>, <200000000>;
1108 clocks = <&cru CCLK_EMMC>, <&cru HCLK_EMMC>,
1109 <&cru ACLK_EMMC>, <&cru BCLK_EMMC>,
1110 <&cru TMCLK_EMMC>;
1111 clock-names = "core", "bus", "axi", "block", "timer";
1112 max-frequency = <200000000>;
1113 resets = <&cru SRST_C_EMMC>, <&cru SRST_H_EMMC>,
1114 <&cru SRST_A_EMMC>, <&cru SRST_B_EMMC>,
1115 <&cru SRST_T_EMMC>;
1116 reset-names = "core", "bus", "axi", "block", "timer";
1117 status = "disabled";
1118 };
1119
1120 gic: interrupt-controller@fe600000 {
1121 compatible = "arm,gic-v3";
1122 reg = <0x0 0xfe600000 0 0x10000>, /* GICD */
1123 <0x0 0xfe680000 0 0x100000>; /* GICR */
1124 interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH 0>;
1125 interrupt-controller;
1126 mbi-alias = <0x0 0xfe610000>;
1127 mbi-ranges = <424 56>;
1128 msi-controller;
1129 #interrupt-cells = <4>;
1130
1131 ppi-partitions {
1132 ppi_partition0: interrupt-partition-0 {
1133 affinity = <&cpu_l0 &cpu_l1 &cpu_l2 &cpu_l3>;
1134 };
1135
1136 ppi_partition1: interrupt-partition-1 {
1137 affinity = <&cpu_b0 &cpu_b1 &cpu_b2 &cpu_b3>;
1138 };
1139 };
1140 };
1141
1142 dmac0: dma-controller@fea10000 {
1143 compatible = "arm,pl330", "arm,primecell";
1144 reg = <0x0 0xfea10000 0x0 0x4000>;
1145 interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH 0>,
1146 <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH 0>;
1147 arm,pl330-periph-burst;
1148 clocks = <&cru ACLK_DMAC0>;
1149 clock-names = "apb_pclk";
1150 #dma-cells = <1>;
1151 };
1152
1153 dmac1: dma-controller@fea30000 {
1154 compatible = "arm,pl330", "arm,primecell";
1155 reg = <0x0 0xfea30000 0x0 0x4000>;
1156 interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH 0>,
1157 <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH 0>;
1158 arm,pl330-periph-burst;
1159 clocks = <&cru ACLK_DMAC1>;
1160 clock-names = "apb_pclk";
1161 #dma-cells = <1>;
1162 };
1163
1164 i2c1: i2c@fea90000 {
1165 compatible = "rockchip,rk3588-i2c", "rockchip,rk3399-i2c";
1166 reg = <0x0 0xfea90000 0x0 0x1000>;
1167 clocks = <&cru CLK_I2C1>, <&cru PCLK_I2C1>;
1168 clock-names = "i2c", "pclk";
1169 interrupts = <GIC_SPI 318 IRQ_TYPE_LEVEL_HIGH 0>;
1170 pinctrl-0 = <&i2c1m0_xfer>;
1171 pinctrl-names = "default";
1172 #address-cells = <1>;
1173 #size-cells = <0>;
1174 status = "disabled";
1175 };
1176
1177 i2c2: i2c@feaa0000 {
1178 compatible = "rockchip,rk3588-i2c", "rockchip,rk3399-i2c";
1179 reg = <0x0 0xfeaa0000 0x0 0x1000>;
1180 clocks = <&cru CLK_I2C2>, <&cru PCLK_I2C2>;
1181 clock-names = "i2c", "pclk";
1182 interrupts = <GIC_SPI 319 IRQ_TYPE_LEVEL_HIGH 0>;
1183 pinctrl-0 = <&i2c2m0_xfer>;
1184 pinctrl-names = "default";
1185 #address-cells = <1>;
1186 #size-cells = <0>;
1187 status = "disabled";
1188 };
1189
1190 i2c3: i2c@feab0000 {
1191 compatible = "rockchip,rk3588-i2c", "rockchip,rk3399-i2c";
1192 reg = <0x0 0xfeab0000 0x0 0x1000>;
1193 clocks = <&cru CLK_I2C3>, <&cru PCLK_I2C3>;
1194 clock-names = "i2c", "pclk";
1195 interrupts = <GIC_SPI 320 IRQ_TYPE_LEVEL_HIGH 0>;
1196 pinctrl-0 = <&i2c3m0_xfer>;
1197 pinctrl-names = "default";
1198 #address-cells = <1>;
1199 #size-cells = <0>;
1200 status = "disabled";
1201 };
1202
1203 i2c4: i2c@feac0000 {
1204 compatible = "rockchip,rk3588-i2c", "rockchip,rk3399-i2c";
1205 reg = <0x0 0xfeac0000 0x0 0x1000>;
1206 clocks = <&cru CLK_I2C4>, <&cru PCLK_I2C4>;
1207 clock-names = "i2c", "pclk";
1208 interrupts = <GIC_SPI 321 IRQ_TYPE_LEVEL_HIGH 0>;
1209 pinctrl-0 = <&i2c4m0_xfer>;
1210 pinctrl-names = "default";
1211 #address-cells = <1>;
1212 #size-cells = <0>;
1213 status = "disabled";
1214 };
1215
1216 i2c5: i2c@fead0000 {
1217 compatible = "rockchip,rk3588-i2c", "rockchip,rk3399-i2c";
1218 reg = <0x0 0xfead0000 0x0 0x1000>;
1219 clocks = <&cru CLK_I2C5>, <&cru PCLK_I2C5>;
1220 clock-names = "i2c", "pclk";
1221 interrupts = <GIC_SPI 322 IRQ_TYPE_LEVEL_HIGH 0>;
1222 pinctrl-0 = <&i2c5m0_xfer>;
1223 pinctrl-names = "default";
1224 #address-cells = <1>;
1225 #size-cells = <0>;
1226 status = "disabled";
1227 };
1228
1229 spi0: spi@feb00000 {
1230 compatible = "rockchip,rk3588-spi", "rockchip,rk3066-spi";
1231 reg = <0x0 0xfeb00000 0x0 0x1000>;
1232 interrupts = <GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH 0>;
1233 clocks = <&cru CLK_SPI0>, <&cru PCLK_SPI0>;
1234 clock-names = "spiclk", "apb_pclk";
1235 dmas = <&dmac0 14>, <&dmac0 15>;
1236 dma-names = "tx", "rx";
1237 num-cs = <2>;
1238 pinctrl-0 = <&spi0m0_cs0 &spi0m0_cs1 &spi0m0_pins>;
1239 pinctrl-names = "default";
1240 #address-cells = <1>;
1241 #size-cells = <0>;
1242 status = "disabled";
1243 };
1244
1245 spi1: spi@feb10000 {
1246 compatible = "rockchip,rk3588-spi", "rockchip,rk3066-spi";
1247 reg = <0x0 0xfeb10000 0x0 0x1000>;
1248 interrupts = <GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH 0>;
1249 clocks = <&cru CLK_SPI1>, <&cru PCLK_SPI1>;
1250 clock-names = "spiclk", "apb_pclk";
1251 dmas = <&dmac0 16>, <&dmac0 17>;
1252 dma-names = "tx", "rx";
1253 num-cs = <2>;
1254 pinctrl-0 = <&spi1m1_cs0 &spi1m1_cs1 &spi1m1_pins>;
1255 pinctrl-names = "default";
1256 #address-cells = <1>;
1257 #size-cells = <0>;
1258 status = "disabled";
1259 };
1260
1261 spi2: spi@feb20000 {
1262 compatible = "rockchip,rk3588-spi", "rockchip,rk3066-spi";
1263 reg = <0x0 0xfeb20000 0x0 0x1000>;
1264 interrupts = <GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH 0>;
1265 clocks = <&cru CLK_SPI2>, <&cru PCLK_SPI2>;
1266 clock-names = "spiclk", "apb_pclk";
1267 dmas = <&dmac1 15>, <&dmac1 16>;
1268 dma-names = "tx", "rx";
1269 num-cs = <2>;
1270 pinctrl-0 = <&spi2m2_cs0 &spi2m2_cs1 &spi2m2_pins>;
1271 pinctrl-names = "default";
1272 #address-cells = <1>;
1273 #size-cells = <0>;
1274 status = "disabled";
1275 };
1276
1277 spi3: spi@feb30000 {
1278 compatible = "rockchip,rk3588-spi", "rockchip,rk3066-spi";
1279 reg = <0x0 0xfeb30000 0x0 0x1000>;
1280 interrupts = <GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH 0>;
1281 clocks = <&cru CLK_SPI3>, <&cru PCLK_SPI3>;
1282 clock-names = "spiclk", "apb_pclk";
1283 dmas = <&dmac1 17>, <&dmac1 18>;
1284 dma-names = "tx", "rx";
1285 num-cs = <2>;
1286 pinctrl-0 = <&spi3m1_cs0 &spi3m1_cs1 &spi3m1_pins>;
1287 pinctrl-names = "default";
1288 #address-cells = <1>;
1289 #size-cells = <0>;
1290 status = "disabled";
1291 };
1292
1293 uart1: serial@feb40000 {
1294 compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart";
1295 reg = <0x0 0xfeb40000 0x0 0x100>;
1296 interrupts = <GIC_SPI 332 IRQ_TYPE_LEVEL_HIGH 0>;
1297 clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>;
1298 clock-names = "baudclk", "apb_pclk";
1299 dmas = <&dmac0 8>, <&dmac0 9>;
1300 dma-names = "tx", "rx";
1301 pinctrl-0 = <&uart1m1_xfer>;
1302 pinctrl-names = "default";
1303 reg-io-width = <4>;
1304 reg-shift = <2>;
1305 status = "disabled";
1306 };
1307
1308 uart2: serial@feb50000 {
1309 compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart";
1310 reg = <0x0 0xfeb50000 0x0 0x100>;
1311 interrupts = <GIC_SPI 333 IRQ_TYPE_LEVEL_HIGH 0>;
1312 clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>;
1313 clock-names = "baudclk", "apb_pclk";
1314 dmas = <&dmac0 10>, <&dmac0 11>;
1315 dma-names = "tx", "rx";
1316 pinctrl-0 = <&uart2m1_xfer>;
1317 pinctrl-names = "default";
1318 reg-io-width = <4>;
1319 reg-shift = <2>;
1320 status = "disabled";
1321 };
1322
1323 uart3: serial@feb60000 {
1324 compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart";
1325 reg = <0x0 0xfeb60000 0x0 0x100>;
1326 interrupts = <GIC_SPI 334 IRQ_TYPE_LEVEL_HIGH 0>;
1327 clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>;
1328 clock-names = "baudclk", "apb_pclk";
1329 dmas = <&dmac0 12>, <&dmac0 13>;
1330 dma-names = "tx", "rx";
1331 pinctrl-0 = <&uart3m1_xfer>;
1332 pinctrl-names = "default";
1333 reg-io-width = <4>;
1334 reg-shift = <2>;
1335 status = "disabled";
1336 };
1337
1338 uart4: serial@feb70000 {
1339 compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart";
1340 reg = <0x0 0xfeb70000 0x0 0x100>;
1341 interrupts = <GIC_SPI 335 IRQ_TYPE_LEVEL_HIGH 0>;
1342 clocks = <&cru SCLK_UART4>, <&cru PCLK_UART4>;
1343 clock-names = "baudclk", "apb_pclk";
1344 dmas = <&dmac1 9>, <&dmac1 10>;
1345 dma-names = "tx", "rx";
1346 pinctrl-0 = <&uart4m1_xfer>;
1347 pinctrl-names = "default";
1348 reg-io-width = <4>;
1349 reg-shift = <2>;
1350 status = "disabled";
1351 };
1352
1353 uart5: serial@feb80000 {
1354 compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart";
1355 reg = <0x0 0xfeb80000 0x0 0x100>;
1356 interrupts = <GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH 0>;
1357 clocks = <&cru SCLK_UART5>, <&cru PCLK_UART5>;
1358 clock-names = "baudclk", "apb_pclk";
1359 dmas = <&dmac1 11>, <&dmac1 12>;
1360 dma-names = "tx", "rx";
1361 pinctrl-0 = <&uart5m1_xfer>;
1362 pinctrl-names = "default";
1363 reg-io-width = <4>;
1364 reg-shift = <2>;
1365 status = "disabled";
1366 };
1367
1368 uart6: serial@feb90000 {
1369 compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart";
1370 reg = <0x0 0xfeb90000 0x0 0x100>;
1371 interrupts = <GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH 0>;
1372 clocks = <&cru SCLK_UART6>, <&cru PCLK_UART6>;
1373 clock-names = "baudclk", "apb_pclk";
1374 dmas = <&dmac1 13>, <&dmac1 14>;
1375 dma-names = "tx", "rx";
1376 pinctrl-0 = <&uart6m1_xfer>;
1377 pinctrl-names = "default";
1378 reg-io-width = <4>;
1379 reg-shift = <2>;
1380 status = "disabled";
1381 };
1382
1383 uart7: serial@feba0000 {
1384 compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart";
1385 reg = <0x0 0xfeba0000 0x0 0x100>;
1386 interrupts = <GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH 0>;
1387 clocks = <&cru SCLK_UART7>, <&cru PCLK_UART7>;
1388 clock-names = "baudclk", "apb_pclk";
1389 dmas = <&dmac2 7>, <&dmac2 8>;
1390 dma-names = "tx", "rx";
1391 pinctrl-0 = <&uart7m1_xfer>;
1392 pinctrl-names = "default";
1393 reg-io-width = <4>;
1394 reg-shift = <2>;
1395 status = "disabled";
1396 };
1397
1398 uart8: serial@febb0000 {
1399 compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart";
1400 reg = <0x0 0xfebb0000 0x0 0x100>;
1401 interrupts = <GIC_SPI 339 IRQ_TYPE_LEVEL_HIGH 0>;
1402 clocks = <&cru SCLK_UART8>, <&cru PCLK_UART8>;
1403 clock-names = "baudclk", "apb_pclk";
1404 dmas = <&dmac2 9>, <&dmac2 10>;
1405 dma-names = "tx", "rx";
1406 pinctrl-0 = <&uart8m1_xfer>;
1407 pinctrl-names = "default";
1408 reg-io-width = <4>;
1409 reg-shift = <2>;
1410 status = "disabled";
1411 };
1412
1413 uart9: serial@febc0000 {
1414 compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart";
1415 reg = <0x0 0xfebc0000 0x0 0x100>;
1416 interrupts = <GIC_SPI 340 IRQ_TYPE_LEVEL_HIGH 0>;
1417 clocks = <&cru SCLK_UART9>, <&cru PCLK_UART9>;
1418 clock-names = "baudclk", "apb_pclk";
1419 dmas = <&dmac2 11>, <&dmac2 12>;
1420 dma-names = "tx", "rx";
1421 pinctrl-0 = <&uart9m1_xfer>;
1422 pinctrl-names = "default";
1423 reg-io-width = <4>;
1424 reg-shift = <2>;
1425 status = "disabled";
1426 };
1427
1428 pwm4: pwm@febd0000 {
1429 compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm";
1430 reg = <0x0 0xfebd0000 0x0 0x10>;
1431 clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
1432 clock-names = "pwm", "pclk";
1433 pinctrl-0 = <&pwm4m0_pins>;
1434 pinctrl-names = "default";
1435 #pwm-cells = <3>;
1436 status = "disabled";
1437 };
1438
1439 pwm5: pwm@febd0010 {
1440 compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm";
1441 reg = <0x0 0xfebd0010 0x0 0x10>;
1442 clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
1443 clock-names = "pwm", "pclk";
1444 pinctrl-0 = <&pwm5m0_pins>;
1445 pinctrl-names = "default";
1446 #pwm-cells = <3>;
1447 status = "disabled";
1448 };
1449
1450 pwm6: pwm@febd0020 {
1451 compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm";
1452 reg = <0x0 0xfebd0020 0x0 0x10>;
1453 clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
1454 clock-names = "pwm", "pclk";
1455 pinctrl-0 = <&pwm6m0_pins>;
1456 pinctrl-names = "default";
1457 #pwm-cells = <3>;
1458 status = "disabled";
1459 };
1460
1461 pwm7: pwm@febd0030 {
1462 compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm";
1463 reg = <0x0 0xfebd0030 0x0 0x10>;
1464 clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
1465 clock-names = "pwm", "pclk";
1466 pinctrl-0 = <&pwm7m0_pins>;
1467 pinctrl-names = "default";
1468 #pwm-cells = <3>;
1469 status = "disabled";
1470 };
1471
1472 pwm8: pwm@febe0000 {
1473 compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm";
1474 reg = <0x0 0xfebe0000 0x0 0x10>;
1475 clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>;
1476 clock-names = "pwm", "pclk";
1477 pinctrl-0 = <&pwm8m0_pins>;
1478 pinctrl-names = "default";
1479 #pwm-cells = <3>;
1480 status = "disabled";
1481 };
1482
1483 pwm9: pwm@febe0010 {
1484 compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm";
1485 reg = <0x0 0xfebe0010 0x0 0x10>;
1486 clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>;
1487 clock-names = "pwm", "pclk";
1488 pinctrl-0 = <&pwm9m0_pins>;
1489 pinctrl-names = "default";
1490 #pwm-cells = <3>;
1491 status = "disabled";
1492 };
1493
1494 pwm10: pwm@febe0020 {
1495 compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm";
1496 reg = <0x0 0xfebe0020 0x0 0x10>;
1497 clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>;
1498 clock-names = "pwm", "pclk";
1499 pinctrl-0 = <&pwm10m0_pins>;
1500 pinctrl-names = "default";
1501 #pwm-cells = <3>;
1502 status = "disabled";
1503 };
1504
1505 pwm11: pwm@febe0030 {
1506 compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm";
1507 reg = <0x0 0xfebe0030 0x0 0x10>;
1508 clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>;
1509 clock-names = "pwm", "pclk";
1510 pinctrl-0 = <&pwm11m0_pins>;
1511 pinctrl-names = "default";
1512 #pwm-cells = <3>;
1513 status = "disabled";
1514 };
1515
1516 pwm12: pwm@febf0000 {
1517 compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm";
1518 reg = <0x0 0xfebf0000 0x0 0x10>;
1519 clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>;
1520 clock-names = "pwm", "pclk";
1521 pinctrl-0 = <&pwm12m0_pins>;
1522 pinctrl-names = "default";
1523 #pwm-cells = <3>;
1524 status = "disabled";
1525 };
1526
1527 pwm13: pwm@febf0010 {
1528 compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm";
1529 reg = <0x0 0xfebf0010 0x0 0x10>;
1530 clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>;
1531 clock-names = "pwm", "pclk";
1532 pinctrl-0 = <&pwm13m0_pins>;
1533 pinctrl-names = "default";
1534 #pwm-cells = <3>;
1535 status = "disabled";
1536 };
1537
1538 pwm14: pwm@febf0020 {
1539 compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm";
1540 reg = <0x0 0xfebf0020 0x0 0x10>;
1541 clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>;
1542 clock-names = "pwm", "pclk";
1543 pinctrl-0 = <&pwm14m0_pins>;
1544 pinctrl-names = "default";
1545 #pwm-cells = <3>;
1546 status = "disabled";
1547 };
1548
1549 pwm15: pwm@febf0030 {
1550 compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm";
1551 reg = <0x0 0xfebf0030 0x0 0x10>;
1552 clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>;
1553 clock-names = "pwm", "pclk";
1554 pinctrl-0 = <&pwm15m0_pins>;
1555 pinctrl-names = "default";
1556 #pwm-cells = <3>;
1557 status = "disabled";
1558 };
1559
1560 i2c6: i2c@fec80000 {
1561 compatible = "rockchip,rk3588-i2c", "rockchip,rk3399-i2c";
1562 reg = <0x0 0xfec80000 0x0 0x1000>;
1563 clocks = <&cru CLK_I2C6>, <&cru PCLK_I2C6>;
1564 clock-names = "i2c", "pclk";
1565 interrupts = <GIC_SPI 323 IRQ_TYPE_LEVEL_HIGH 0>;
1566 pinctrl-0 = <&i2c6m0_xfer>;
1567 pinctrl-names = "default";
1568 #address-cells = <1>;
1569 #size-cells = <0>;
1570 status = "disabled";
1571 };
1572
1573 i2c7: i2c@fec90000 {
1574 compatible = "rockchip,rk3588-i2c", "rockchip,rk3399-i2c";
1575 reg = <0x0 0xfec90000 0x0 0x1000>;
1576 clocks = <&cru CLK_I2C7>, <&cru PCLK_I2C7>;
1577 clock-names = "i2c", "pclk";
1578 interrupts = <GIC_SPI 324 IRQ_TYPE_LEVEL_HIGH 0>;
1579 pinctrl-0 = <&i2c7m0_xfer>;
1580 pinctrl-names = "default";
1581 #address-cells = <1>;
1582 #size-cells = <0>;
1583 status = "disabled";
1584 };
1585
1586 i2c8: i2c@feca0000 {
1587 compatible = "rockchip,rk3588-i2c", "rockchip,rk3399-i2c";
1588 reg = <0x0 0xfeca0000 0x0 0x1000>;
1589 clocks = <&cru CLK_I2C8>, <&cru PCLK_I2C8>;
1590 clock-names = "i2c", "pclk";
1591 interrupts = <GIC_SPI 325 IRQ_TYPE_LEVEL_HIGH 0>;
1592 pinctrl-0 = <&i2c8m0_xfer>;
1593 pinctrl-names = "default";
1594 #address-cells = <1>;
1595 #size-cells = <0>;
1596 status = "disabled";
1597 };
1598
1599 spi4: spi@fecb0000 {
1600 compatible = "rockchip,rk3588-spi", "rockchip,rk3066-spi";
1601 reg = <0x0 0xfecb0000 0x0 0x1000>;
1602 interrupts = <GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH 0>;
1603 clocks = <&cru CLK_SPI4>, <&cru PCLK_SPI4>;
1604 clock-names = "spiclk", "apb_pclk";
1605 dmas = <&dmac2 13>, <&dmac2 14>;
1606 dma-names = "tx", "rx";
1607 num-cs = <2>;
1608 pinctrl-0 = <&spi4m0_cs0 &spi4m0_cs1 &spi4m0_pins>;
1609 pinctrl-names = "default";
1610 #address-cells = <1>;
1611 #size-cells = <0>;
1612 status = "disabled";
1613 };
1614
1615 dmac2: dma-controller@fed10000 {
1616 compatible = "arm,pl330", "arm,primecell";
1617 reg = <0x0 0xfed10000 0x0 0x4000>;
1618 interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH 0>,
1619 <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH 0>;
1620 arm,pl330-periph-burst;
1621 clocks = <&cru ACLK_DMAC2>;
1622 clock-names = "apb_pclk";
1623 #dma-cells = <1>;
1624 };
1625
1626 system_sram2: sram@ff001000 {
1627 compatible = "mmio-sram";
1628 reg = <0x0 0xff001000 0x0 0xef000>;
1629 ranges = <0x0 0x0 0xff001000 0xef000>;
1630 #address-cells = <1>;
1631 #size-cells = <1>;
1632 };
1633
1634 pinctrl: pinctrl {
1635 compatible = "rockchip,rk3588-pinctrl";
1636 ranges;
1637 rockchip,grf = <&ioc>;
1638 #address-cells = <2>;
1639 #size-cells = <2>;
1640
1641 gpio0: gpio@fd8a0000 {
1642 compatible = "rockchip,gpio-bank";
1643 reg = <0x0 0xfd8a0000 0x0 0x100>;
1644 interrupts = <GIC_SPI 277 IRQ_TYPE_LEVEL_HIGH 0>;
1645 clocks = <&cru PCLK_GPIO0>, <&cru DBCLK_GPIO0>;
1646 gpio-controller;
1647 gpio-ranges = <&pinctrl 0 0 32>;
1648 interrupt-controller;
1649 #gpio-cells = <2>;
1650 #interrupt-cells = <2>;
1651 };
1652
1653 gpio1: gpio@fec20000 {
1654 compatible = "rockchip,gpio-bank";
1655 reg = <0x0 0xfec20000 0x0 0x100>;
1656 interrupts = <GIC_SPI 278 IRQ_TYPE_LEVEL_HIGH 0>;
1657 clocks = <&cru PCLK_GPIO1>, <&cru DBCLK_GPIO1>;
1658 gpio-controller;
1659 gpio-ranges = <&pinctrl 0 32 32>;
1660 interrupt-controller;
1661 #gpio-cells = <2>;
1662 #interrupt-cells = <2>;
1663 };
1664
1665 gpio2: gpio@fec30000 {
1666 compatible = "rockchip,gpio-bank";
1667 reg = <0x0 0xfec30000 0x0 0x100>;
1668 interrupts = <GIC_SPI 279 IRQ_TYPE_LEVEL_HIGH 0>;
1669 clocks = <&cru PCLK_GPIO2>, <&cru DBCLK_GPIO2>;
1670 gpio-controller;
1671 gpio-ranges = <&pinctrl 0 64 32>;
1672 interrupt-controller;
1673 #gpio-cells = <2>;
1674 #interrupt-cells = <2>;
1675 };
1676
1677 gpio3: gpio@fec40000 {
1678 compatible = "rockchip,gpio-bank";
1679 reg = <0x0 0xfec40000 0x0 0x100>;
1680 interrupts = <GIC_SPI 280 IRQ_TYPE_LEVEL_HIGH 0>;
1681 clocks = <&cru PCLK_GPIO3>, <&cru DBCLK_GPIO3>;
1682 gpio-controller;
1683 gpio-ranges = <&pinctrl 0 96 32>;
1684 interrupt-controller;
1685 #gpio-cells = <2>;
1686 #interrupt-cells = <2>;
1687 };
1688
1689 gpio4: gpio@fec50000 {
1690 compatible = "rockchip,gpio-bank";
1691 reg = <0x0 0xfec50000 0x0 0x100>;
1692 interrupts = <GIC_SPI 281 IRQ_TYPE_LEVEL_HIGH 0>;
1693 clocks = <&cru PCLK_GPIO4>, <&cru DBCLK_GPIO4>;
1694 gpio-controller;
1695 gpio-ranges = <&pinctrl 0 128 32>;
1696 interrupt-controller;
1697 #gpio-cells = <2>;
1698 #interrupt-cells = <2>;
1699 };
1700 };
1701};
1702
1703#include "rk3588s-pinctrl.dtsi"