xref: /rk3399_rockchip-uboot/arch/arm/dts/rk3576.dtsi (revision 257c8a70660eec65519a481f1dd33e4e060766c8)
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (c) 2023 Rockchip Electronics Co., Ltd.
4 */
5
6#include <dt-bindings/clock/rockchip,rk3576-cru.h>
7#include <dt-bindings/interrupt-controller/arm-gic.h>
8#include <dt-bindings/interrupt-controller/irq.h>
9#include <dt-bindings/phy/phy.h>
10#include <dt-bindings/power/rk3576-power.h>
11#include <dt-bindings/pinctrl/rockchip.h>
12#include <dt-bindings/soc/rockchip,boot-mode.h>
13#include <dt-bindings/soc/rockchip-system-status.h>
14#include <dt-bindings/thermal/thermal.h>
15
16/ {
17	compatible = "rockchip,rk3576";
18
19	interrupt-parent = <&gic>;
20	#address-cells = <2>;
21	#size-cells = <2>;
22
23	aliases {
24		csi2dcphy0 = &csi2_dcphy0;
25		csi2dphy0 = &csi2_dphy0;
26		csi2dphy1 = &csi2_dphy1;
27		csi2dphy2 = &csi2_dphy2;
28		csi2dphy3 = &csi2_dphy3;
29		csi2dphy4 = &csi2_dphy4;
30		csi2dphy5 = &csi2_dphy5;
31		ethernet0 = &gmac0;
32		ethernet1 = &gmac1;
33		gpio0 = &gpio0;
34		gpio1 = &gpio1;
35		gpio2 = &gpio2;
36		gpio3 = &gpio3;
37		gpio4 = &gpio4;
38		hdcp0 = &hdcp0;
39		hdcp1 = &hdcp1;
40		i2c0 = &i2c0;
41		i2c1 = &i2c1;
42		i2c2 = &i2c2;
43		i2c3 = &i2c3;
44		i2c4 = &i2c4;
45		i2c5 = &i2c5;
46		i2c6 = &i2c6;
47		i2c7 = &i2c7;
48		i2c8 = &i2c8;
49		i2c9 = &i2c9;
50		i3c0 = &i3c0;
51		i3c1 = &i3c1;
52		rkcif_mipi_lvds0 = &rkcif_mipi_lvds;
53		rkcif_mipi_lvds1 = &rkcif_mipi_lvds1;
54		rkcif_mipi_lvds2 = &rkcif_mipi_lvds2;
55		rkcif_mipi_lvds3 = &rkcif_mipi_lvds3;
56		rkcif_mipi_lvds4 = &rkcif_mipi_lvds4;
57		serial0 = &uart0;
58		serial1 = &uart1;
59		serial2 = &uart2;
60		serial3 = &uart3;
61		serial4 = &uart4;
62		serial5 = &uart5;
63		serial6 = &uart6;
64		serial7 = &uart7;
65		serial8 = &uart8;
66		serial9 = &uart9;
67		serial10 = &uart10;
68		serial11 = &uart11;
69		spi0 = &spi0;
70		spi1 = &spi1;
71		spi2 = &spi2;
72		spi3 = &spi3;
73		spi4 = &spi4;
74		spi5 = &sfc0;
75		spi6 = &sfc1;
76	};
77
78	clocks {
79		compatible = "simple-bus";
80		#address-cells = <2>;
81		#size-cells = <2>;
82		ranges;
83
84		xin32k: xin32k {
85			compatible = "fixed-clock";
86			#clock-cells = <0>;
87			clock-frequency = <32768>;
88			clock-output-names = "xin32k";
89		};
90
91		xin24m: xin24m {
92			compatible = "fixed-clock";
93			#clock-cells = <0>;
94			clock-frequency = <24000000>;
95			clock-output-names = "xin24m";
96		};
97
98		spll: spll {
99			compatible = "fixed-clock";
100			#clock-cells = <0>;
101			clock-frequency = <702000000>;
102			clock-output-names = "spll";
103		};
104
105		mclkin_sai0: mclkin-sai0 {
106			compatible = "fixed-clock";
107			#clock-cells = <0>;
108			clock-frequency = <0>;
109			clock-output-names = "sai0_mclkin";
110		};
111
112		mclkin_sai1: mclkin-sai1 {
113			compatible = "fixed-clock";
114			#clock-cells = <0>;
115			clock-frequency = <0>;
116			clock-output-names = "sai1_mclkin";
117		};
118
119		mclkin_sai2: mclkin-sai2 {
120			compatible = "fixed-clock";
121			#clock-cells = <0>;
122			clock-frequency = <0>;
123			clock-output-names = "sai2_mclkin";
124		};
125
126		mclkin_sai3: mclkin-sai3 {
127			compatible = "fixed-clock";
128			#clock-cells = <0>;
129			clock-frequency = <0>;
130			clock-output-names = "sai3_mclkin";
131		};
132
133		mclkin_sai4: mclkin-sai4 {
134			compatible = "fixed-clock";
135			#clock-cells = <0>;
136			clock-frequency = <0>;
137			clock-output-names = "sai4_mclkin";
138		};
139
140		mclkout_sai0: mclkout-sai0@26046400 {
141			compatible = "rockchip,clk-out";
142			reg = <0 0x26046400 0 0x4>;
143			clocks = <&cru CLK_SAI0_MCLKOUT>;
144			#clock-cells = <0>;
145			clock-output-names = "mclk_sai0_to_io";
146			rockchip,bit-shift = <0>;
147			rockchip,bit-set-to-disable;
148		};
149
150		mclkout_sai1: mclkout-sai1@26046400 {
151			compatible = "rockchip,clk-out";
152			reg = <0 0x26046400 0 0x4>;
153			clocks = <&cru CLK_SAI1_MCLKOUT>;
154			#clock-cells = <0>;
155			clock-output-names = "mclk_sai1_to_io";
156			rockchip,bit-shift = <1>;
157			rockchip,bit-set-to-disable;
158		};
159
160		mclkout_sai2: mclkout-sai2@26046400 {
161			compatible = "rockchip,clk-out";
162			reg = <0 0x26046400 0 0x4>;
163			clocks = <&cru CLK_SAI2_MCLKOUT>;
164			#clock-cells = <0>;
165			clock-output-names = "mclk_sai2_to_io";
166			rockchip,bit-shift = <2>;
167			rockchip,bit-set-to-disable;
168		};
169
170		mclkout_sai3: mclkout-sai3@26046400 {
171			compatible = "rockchip,clk-out";
172			reg = <0 0x26046400 0 0x4>;
173			clocks = <&cru CLK_SAI3_MCLKOUT>;
174			#clock-cells = <0>;
175			clock-output-names = "mclk_sai3_to_io";
176			rockchip,bit-shift = <3>;
177			rockchip,bit-set-to-disable;
178		};
179
180		mclkout_sai4: mclkout-sai4@26046400 {
181			compatible = "rockchip,clk-out";
182			reg = <0 0x26046400 0 0x4>;
183			clocks = <&cru CLK_SAI4_MCLKOUT>;
184			#clock-cells = <0>;
185			clock-output-names = "mclk_sai4_to_io";
186			rockchip,bit-shift = <4>;
187			rockchip,bit-set-to-disable;
188		};
189
190		mclkout_sai4m2: mclkout-sai4m2@2604a400 {
191			compatible = "rockchip,clk-out";
192			reg = <0 0x2604a400 0 0x4>;
193			clocks = <&cru CLK_SAI4_MCLKOUT>;
194			#clock-cells = <0>;
195			clock-output-names = "mclk_sai4_to_io";
196			rockchip,bit-shift = <0>;
197			rockchip,bit-set-to-disable;
198		};
199
200		sclkin_sai0: sclkin-sai0 {
201			compatible = "fixed-clock";
202			#clock-cells = <0>;
203			clock-frequency = <0>;
204			clock-output-names = "sai0_sclk_in";
205		};
206
207		sclkin_sai1: sclkin-sai1 {
208			compatible = "fixed-clock";
209			#clock-cells = <0>;
210			clock-frequency = <0>;
211			clock-output-names = "sai1_sclk_in";
212		};
213
214		sclkin_sai2: sclkin-sai2 {
215			compatible = "fixed-clock";
216			#clock-cells = <0>;
217			clock-frequency = <0>;
218			clock-output-names = "sai2_sclk_in";
219		};
220
221		sclkin_sai3: sclkin-sai3 {
222			compatible = "fixed-clock";
223			#clock-cells = <0>;
224			clock-frequency = <0>;
225			clock-output-names = "sai3_sclk_in";
226		};
227
228		sclkin_sai4: sclkin-sai4 {
229			compatible = "fixed-clock";
230			#clock-cells = <0>;
231			clock-frequency = <0>;
232			clock-output-names = "sai4_sclk_in";
233		};
234
235		clk_pvtm_clkout: clk_pvtm_clkout {
236			compatible = "fixed-clock";
237			#clock-cells = <0>;
238			clock-frequency = <32768>;
239			clock-output-names = "clk_pvtm_clkout";
240		};
241
242		aclk_usb: aclk_usb@272008bc {
243			compatible = "rockchip,rk3576-clock-gate-link";
244			reg = <0 0x272008bc 0 0x10>;
245			clock-names = "link";
246			clocks = <&cru ACLK_VOP_ROOT>;
247			#power-domain-cells = <1>;
248			#clock-cells = <0>;
249		};
250
251		aclk_ufs: aclk_ufs@272008bc {
252			compatible = "rockchip,rk3576-clock-gate-link";
253			reg = <0 0x272008bc 0 0x10>;
254			clock-names = "link";
255			clocks = <&aclk_usb>;
256			#power-domain-cells = <1>;
257			#clock-cells = <0>;
258		};
259
260		pclk_usbufs: pclk_usbufs@272008bc {
261			compatible = "rockchip,rk3576-clock-gate-link";
262			reg = <0 0x272008bc 0 0x10>;
263			clock-names = "link";
264			clocks = <&cru HCLK_VOP_ROOT>;
265			#power-domain-cells = <1>;
266			#clock-cells = <0>;
267		};
268
269		aclk_hdcp1: aclk_hdcp1@27200910 {
270			compatible = "rockchip,rk3576-clock-gate-link";
271			reg = <0 0x27200910 0 0x10>;
272			clock-names = "link";
273			clocks = <&cru ACLK_VOP_ROOT>;
274			#power-domain-cells = <1>;
275			#clock-cells = <0>;
276		};
277
278		aclk_hdcp0: aclk_hdcp0@272008fc {
279			compatible = "rockchip,rk3576-clock-gate-link";
280			reg = <0 0x272008fc 0 0x10>;
281			clock-names = "link";
282			clocks = <&cru ACLK_VOP_ROOT>;
283			#power-domain-cells = <1>;
284			#clock-cells = <0>;
285		};
286
287		aclk_sdgmac: aclk_sdgmac@272008a8 {
288			compatible = "rockchip,rk3576-clock-gate-link";
289			reg = <0 0x272008a8 0 0x10>;
290			clock-names = "link";
291			clocks = <&cru ACLK_NVM_ROOT>;
292			#power-domain-cells = <1>;
293			#clock-cells = <0>;
294		};
295
296		hclk_sdgmac: hclk_sdgmac@272008a8 {
297			compatible = "rockchip,rk3576-clock-gate-link";
298			reg = <0 0x272008a8 0 0x10>;
299			clock-names = "link";
300			clocks = <&aclk_sdgmac>;
301			#power-domain-cells = <1>;
302			#clock-cells = <0>;
303		};
304
305		aclk_vdpp: aclk_vdpp@272008c8 {
306			compatible = "rockchip,rk3576-clock-gate-link";
307			reg = <0 0x272008c8 0 0x10>;
308			clock-names = "link";
309			clocks = <&cru ACLK_VPU_ROOT>;
310			#power-domain-cells = <1>;
311			#clock-cells = <0>;
312		};
313
314		aclk_ebc: aclk_ebc@272008c8 {
315			compatible = "rockchip,rk3576-clock-gate-link";
316			reg = <0 0x272008c8 0 0x10>;
317			clock-names = "link";
318			clocks = <&cru ACLK_VPU_ROOT>;
319			#power-domain-cells = <1>;
320			#clock-cells = <0>;
321		};
322
323		aclk_jpeg: aclk_jpeg@272008c8 {
324			compatible = "rockchip,rk3576-clock-gate-link";
325			reg = <0 0x272008c8 0 0x10>;
326			clock-names = "link";
327			clocks = <&cru ACLK_VPU_ROOT>;
328			#power-domain-cells = <1>;
329			#clock-cells = <0>;
330		};
331
332		aclk_vepu0: aclk_vepu0@272008cc {
333			compatible = "rockchip,rk3576-clock-gate-link";
334			reg = <0 0x272008cc 0 0x10>;
335			clock-names = "link";
336			clocks = <&cru ACLK_VI_ROOT>;
337			#power-domain-cells = <1>;
338			#clock-cells = <0>;
339		};
340
341		hclk_vo1: hclk_vo1@2720090c {
342			compatible = "rockchip,rk3576-clock-gate-link";
343			reg = <0 0x2720090c 0 0x10>;
344			clock-names = "link";
345			clocks = <&cru HCLK_VOP_ROOT>;
346			#power-domain-cells = <1>;
347			#clock-cells = <0>;
348		};
349
350		hclk_vo0: hclk_vo0@272008fc {
351			compatible = "rockchip,rk3576-clock-gate-link";
352			reg = <0 0x272008fc 0 0x10>;
353			clock-names = "link";
354			clocks = <&cru HCLK_VOP_ROOT>;
355			#power-domain-cells = <1>;
356			#clock-cells = <0>;
357		};
358
359		aclk_dsmc: aclk_dsmc@272008ac {
360			compatible = "rockchip,rk3576-clock-gate-link";
361			reg = <0 0x272008ac 0 0x10>;
362			clock-names = "link";
363			clocks = <&cru HCLK_NVM_ROOT>;
364			#power-domain-cells = <1>;
365			#clock-cells = <0>;
366		};
367
368		pclk_sdgmac: pclk_sdgmac@272008a8 {
369			compatible = "rockchip,rk3576-clock-gate-link";
370			reg = <0 0x272008a8 0 0x10>;
371			clock-names = "link";
372			clocks = <&aclk_dsmc>;
373			#power-domain-cells = <1>;
374			#clock-cells = <0>;
375		};
376
377		hclk_vepu0: hclk_vepu0@272008cc {
378			compatible = "rockchip,rk3576-clock-gate-link";
379			reg = <0 0x272008cc 0 0x10>;
380			clock-names = "link";
381			clocks = <&cru HCLK_VI_ROOT>;
382			#power-domain-cells = <1>;
383			#clock-cells = <0>;
384		};
385	};
386
387	cpus {
388		#address-cells = <1>;
389		#size-cells = <0>;
390
391		cpu-map {
392			cluster0 {
393				core0 {
394					cpu = <&cpu_l0>;
395				};
396				core1 {
397					cpu = <&cpu_l1>;
398				};
399				core2 {
400					cpu = <&cpu_l2>;
401				};
402				core3 {
403					cpu = <&cpu_l3>;
404				};
405			};
406			cluster1 {
407				core0 {
408					cpu = <&cpu_b0>;
409				};
410				core1 {
411					cpu = <&cpu_b1>;
412				};
413				core2 {
414					cpu = <&cpu_b2>;
415				};
416				core3 {
417					cpu = <&cpu_b3>;
418				};
419			};
420		};
421
422		cpu_l0: cpu@0 {
423			device_type = "cpu";
424			compatible = "arm,cortex-a53";
425			reg = <0x0>;
426			enable-method = "psci";
427			capacity-dmips-mhz = <485>;
428			clocks = <&cru ARMCLK_L>;
429			operating-points-v2 = <&cluster0_opp_table>;
430		};
431
432		cpu_l1: cpu@1 {
433			device_type = "cpu";
434			compatible = "arm,cortex-a53";
435			reg = <0x1>;
436			enable-method = "psci";
437			capacity-dmips-mhz = <485>;
438			clocks = <&cru ARMCLK_L>;
439			operating-points-v2 = <&cluster0_opp_table>;
440		};
441
442		cpu_l2: cpu@2 {
443			device_type = "cpu";
444			compatible = "arm,cortex-a53";
445			reg = <0x2>;
446			enable-method = "psci";
447			capacity-dmips-mhz = <485>;
448			clocks = <&cru ARMCLK_L>;
449			operating-points-v2 = <&cluster0_opp_table>;
450		};
451
452		cpu_l3: cpu@3 {
453			device_type = "cpu";
454			compatible = "arm,cortex-a53";
455			reg = <0x3>;
456			enable-method = "psci";
457			capacity-dmips-mhz = <485>;
458			clocks = <&cru ARMCLK_L>;
459			operating-points-v2 = <&cluster0_opp_table>;
460		};
461
462		cpu_b0: cpu@100 {
463			device_type = "cpu";
464			compatible = "arm,cortex-a72";
465			reg = <0x100>;
466			enable-method = "psci";
467			capacity-dmips-mhz = <1024>;
468			clocks = <&cru ARMCLK_B>;
469			operating-points-v2 = <&cluster1_opp_table>;
470		};
471
472		cpu_b1: cpu@101 {
473			device_type = "cpu";
474			compatible = "arm,cortex-a72";
475			reg = <0x101>;
476			enable-method = "psci";
477			capacity-dmips-mhz = <1024>;
478			clocks = <&cru ARMCLK_B>;
479			operating-points-v2 = <&cluster1_opp_table>;
480		};
481
482		cpu_b2: cpu@102 {
483			device_type = "cpu";
484			compatible = "arm,cortex-a72";
485			reg = <0x102>;
486			enable-method = "psci";
487			capacity-dmips-mhz = <1024>;
488			clocks = <&cru ARMCLK_B>;
489			operating-points-v2 = <&cluster1_opp_table>;
490		};
491
492		cpu_b3: cpu@103 {
493			device_type = "cpu";
494			compatible = "arm,cortex-a72";
495			reg = <0x103>;
496			enable-method = "psci";
497			capacity-dmips-mhz = <1024>;
498			clocks = <&cru ARMCLK_B>;
499			operating-points-v2 = <&cluster1_opp_table>;
500		};
501	};
502
503	cluster0_opp_table: cluster0-opp-table {
504		compatible = "operating-points-v2";
505		opp-shared;
506
507		opp-408000000 {
508			opp-hz = /bits/ 64 <408000000>;
509			opp-microvolt = <950000 950000 950000>;
510			clock-latency-ns = <40000>;
511		};
512		opp-600000000 {
513			opp-hz = /bits/ 64 <600000000>;
514			opp-microvolt = <950000 950000 950000>;
515			clock-latency-ns = <40000>;
516		};
517		opp-816000000 {
518			opp-hz = /bits/ 64 <816000000>;
519			opp-microvolt = <950000 950000 950000>;
520			clock-latency-ns = <40000>;
521		};
522		opp-1008000000 {
523			opp-hz = /bits/ 64 <1008000000>;
524			opp-microvolt = <950000 950000 950000>;
525			clock-latency-ns = <40000>;
526		};
527		opp-1200000000 {
528			opp-hz = /bits/ 64 <1200000000>;
529			opp-microvolt = <950000 950000 950000>;
530			clock-latency-ns = <40000>;
531		};
532		opp-1416000000 {
533			opp-hz = /bits/ 64 <1416000000>;
534			opp-microvolt = <950000 950000 950000>;
535			clock-latency-ns = <40000>;
536		};
537	};
538
539	cluster1_opp_table: cluster1-opp-table {
540		compatible = "operating-points-v2";
541		opp-shared;
542
543		opp-408000000 {
544			opp-hz = /bits/ 64 <408000000>;
545			opp-microvolt = <950000 950000 950000>;
546			clock-latency-ns = <40000>;
547		};
548		opp-600000000 {
549			opp-hz = /bits/ 64 <600000000>;
550			opp-microvolt = <950000 950000 950000>;
551			clock-latency-ns = <40000>;
552		};
553		opp-816000000 {
554			opp-hz = /bits/ 64 <816000000>;
555			opp-microvolt = <950000 950000 950000>;
556			clock-latency-ns = <40000>;
557		};
558		opp-1008000000 {
559			opp-hz = /bits/ 64 <1008000000>;
560			opp-microvolt = <950000 950000 950000>;
561			clock-latency-ns = <40000>;
562		};
563		opp-1200000000 {
564			opp-hz = /bits/ 64 <1200000000>;
565			opp-microvolt = <950000 950000 950000>;
566			clock-latency-ns = <40000>;
567		};
568		opp-1416000000 {
569			opp-hz = /bits/ 64 <1416000000>;
570			opp-microvolt = <950000 950000 950000>;
571			clock-latency-ns = <40000>;
572		};
573		opp-1608000000 {
574			opp-hz = /bits/ 64 <1608000000>;
575			opp-microvolt = <950000 950000 950000>;
576			clock-latency-ns = <40000>;
577		};
578	};
579
580	cpuinfo {
581		compatible = "rockchip,cpuinfo";
582		nvmem-cells = <&otp_id>, <&otp_cpu_version>, <&cpu_code>;
583		nvmem-cell-names = "id", "cpu-version", "cpu-code";
584	};
585
586	csi2_dcphy0: csi2-dcphy0 {
587		compatible = "rockchip,rk3576-csi2-dphy";
588		rockchip,hw = <&csi2_dphy0_hw>, <&csi2_dphy1_hw>;
589		phys = <&mipidcphy0>;
590		phy-names = "dcphy0";
591		status = "disabled";
592	};
593
594	csi2_dphy0: csi2-dphy0 {
595		compatible = "rockchip,rk3576-csi2-dphy";
596		rockchip,hw = <&csi2_dphy0_hw>, <&csi2_dphy1_hw>;
597		phys = <&mipidcphy0>;
598		phy-names = "dcphy0";
599		status = "disabled";
600	};
601
602	csi2_dphy1: csi2-dphy1 {
603		compatible = "rockchip,rk3576-csi2-dphy";
604		rockchip,hw = <&csi2_dphy0_hw>, <&csi2_dphy1_hw>;
605		phys = <&mipidcphy0>;
606		phy-names = "dcphy0";
607		status = "disabled";
608	};
609
610	csi2_dphy2: csi2-dphy2 {
611		compatible = "rockchip,rk3576-csi2-dphy";
612		rockchip,hw = <&csi2_dphy0_hw>, <&csi2_dphy1_hw>;
613		phys = <&mipidcphy0>;
614		phy-names = "dcphy0";
615		status = "disabled";
616	};
617
618	csi2_dphy3: csi2-dphy3 {
619		compatible = "rockchip,rk3576-csi2-dphy";
620		rockchip,hw = <&csi2_dphy0_hw>, <&csi2_dphy1_hw>;
621		phys = <&mipidcphy0>;
622		phy-names = "dcphy0";
623		status = "disabled";
624	};
625
626	csi2_dphy4: csi2-dphy4 {
627		compatible = "rockchip,rk3576-csi2-dphy";
628		rockchip,hw = <&csi2_dphy0_hw>, <&csi2_dphy1_hw>;
629		phys = <&mipidcphy0>;
630		phy-names = "dcphy0";
631		status = "disabled";
632	};
633
634	csi2_dphy5: csi2-dphy5 {
635		compatible = "rockchip,rk3576-csi2-dphy";
636		rockchip,hw = <&csi2_dphy0_hw>, <&csi2_dphy1_hw>;
637		phys = <&mipidcphy0>;
638		phy-names = "dcphy0";
639		status = "disabled";
640	};
641
642	display_subsystem: display-subsystem {
643		compatible = "rockchip,display-subsystem";
644		ports = <&vop_out>, <&vopl_out>;
645
646		route {
647			route_dsi: route-dsi {
648				status = "disabled";
649				logo,uboot = "logo.bmp";
650				logo,kernel = "logo_kernel.bmp";
651				logo,mode = "center";
652				charge_logo,mode = "center";
653				connect = <&vp2_out_dsi>;
654			};
655
656			route_edp: route-edp {
657				status = "disabled";
658				logo,uboot = "logo.bmp";
659				logo,kernel = "logo_kernel.bmp";
660				logo,mode = "center";
661				charge_logo,mode = "center";
662				connect = <&vp1_out_edp>;
663			};
664
665			route_hdmi: route-hdmi {
666				status = "disabled";
667				logo,uboot = "logo.bmp";
668				logo,kernel = "logo_kernel.bmp";
669				logo,mode = "center";
670				charge_logo,mode = "center";
671				connect = <&vp0_out_hdmi>;
672			};
673
674			route_dp0: route-dp0 {
675				status = "disabled";
676				logo,uboot = "logo.bmp";
677				logo,kernel = "logo_kernel.bmp";
678				logo,mode = "center";
679				charge_logo,mode = "center";
680				connect = <&vp0_out_dp0>;
681			};
682
683			route_rgb: route-rgb {
684				status = "disabled";
685				logo,uboot = "logo.bmp";
686				logo,kernel = "logo_kernel.bmp";
687				logo,mode = "center";
688				charge_logo,mode = "center";
689				connect = <&vp2_out_rgb>;
690			};
691		};
692	};
693
694	firmware {
695		scmi: scmi {
696			compatible = "arm,scmi-smc";
697			arm,smc-id = <0x82000010>;
698			shmem = <&scmi_shmem>;
699			#address-cells = <1>;
700			#size-cells = <0>;
701
702			scmi_clk: protocol@14 {
703				reg = <0x14>;
704				#clock-cells = <1>;
705			};
706		};
707	};
708
709	mipi0_csi2: mipi0-csi2 {
710		compatible = "rockchip,rk3576-mipi-csi2";
711		rockchip,hw = <&mipi0_csi2_hw>, <&mipi1_csi2_hw>,
712			      <&mipi2_csi2_hw>, <&mipi3_csi2_hw>,
713			      <&mipi4_csi2_hw>;
714		status = "disabled";
715	};
716
717	mipi1_csi2: mipi1-csi2 {
718		compatible = "rockchip,rk3576-mipi-csi2";
719		rockchip,hw = <&mipi0_csi2_hw>, <&mipi1_csi2_hw>,
720			      <&mipi2_csi2_hw>, <&mipi3_csi2_hw>,
721			      <&mipi4_csi2_hw>;
722		status = "disabled";
723	};
724
725	mipi2_csi2: mipi2-csi2 {
726		compatible = "rockchip,rk3576-mipi-csi2";
727		rockchip,hw = <&mipi0_csi2_hw>, <&mipi1_csi2_hw>,
728			      <&mipi2_csi2_hw>, <&mipi3_csi2_hw>,
729			      <&mipi4_csi2_hw>;
730		status = "disabled";
731	};
732
733	mipi3_csi2: mipi3-csi2 {
734		compatible = "rockchip,rk3576-mipi-csi2";
735		rockchip,hw = <&mipi0_csi2_hw>, <&mipi1_csi2_hw>,
736			      <&mipi2_csi2_hw>, <&mipi3_csi2_hw>,
737			      <&mipi4_csi2_hw>;
738		status = "disabled";
739	};
740
741	mipi4_csi2: mipi4-csi2 {
742		compatible = "rockchip,rk3576-mipi-csi2";
743		rockchip,hw = <&mipi0_csi2_hw>, <&mipi1_csi2_hw>,
744			      <&mipi2_csi2_hw>, <&mipi3_csi2_hw>,
745			      <&mipi4_csi2_hw>;
746		status = "disabled";
747	};
748
749	mpp_srv: mpp-srv {
750		compatible = "rockchip,mpp-service";
751		rockchip,taskqueue-count = <6>;
752		rockchip,resetgroup-count = <1>;
753		status = "disabled";
754	};
755
756	pmu_a53: pmu-a53 {
757		compatible = "arm,cortex-a53-pmu";
758		interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
759			     <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
760			     <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
761			     <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
762		interrupt-affinity = <&cpu_l0>, <&cpu_l1>, <&cpu_l2>, <&cpu_l3>;
763	};
764
765	pmu_a72: pmu-a72 {
766		compatible = "arm,cortex-a72-pmu";
767		interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
768			     <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
769			     <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
770			     <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
771		interrupt-affinity = <&cpu_b0>, <&cpu_b1>, <&cpu_b2>, <&cpu_b3>;
772	};
773
774	psci: psci {
775		compatible = "arm,psci-1.0";
776		method = "smc";
777	};
778
779	rkcif_dvp: rkcif-dvp {
780		compatible = "rockchip,rkcif-dvp";
781		rockchip,hw = <&rkcif>;
782		iommus = <&rkcif_mmu>;
783		status = "disabled";
784	};
785
786	rkcif_dvp_sditf: rkcif-dvp-sditf {
787		compatible = "rockchip,rkcif-sditf";
788		rockchip,cif = <&rkcif_dvp>;
789		status = "disabled";
790	};
791
792	rkcif_mipi_lvds: rkcif-mipi-lvds {
793		compatible = "rockchip,rkcif-mipi-lvds";
794		rockchip,hw = <&rkcif>;
795		iommus = <&rkcif_mmu>;
796		status = "disabled";
797	};
798
799	rkcif_mipi_lvds_sditf: rkcif-mipi-lvds-sditf {
800		compatible = "rockchip,rkcif-sditf";
801		rockchip,cif = <&rkcif_mipi_lvds>;
802		status = "disabled";
803	};
804
805	rkcif_mipi_lvds_sditf_vir1: rkcif-mipi-lvds-sditf-vir1 {
806		compatible = "rockchip,rkcif-sditf";
807		rockchip,cif = <&rkcif_mipi_lvds>;
808		status = "disabled";
809	};
810
811	rkcif_mipi_lvds_sditf_vir2: rkcif-mipi-lvds-sditf-vir2 {
812		compatible = "rockchip,rkcif-sditf";
813		rockchip,cif = <&rkcif_mipi_lvds>;
814		status = "disabled";
815	};
816
817	rkcif_mipi_lvds_sditf_vir3: rkcif-mipi-lvds-sditf-vir3 {
818		compatible = "rockchip,rkcif-sditf";
819		rockchip,cif = <&rkcif_mipi_lvds>;
820		status = "disabled";
821	};
822
823	rkcif_mipi_lvds1: rkcif-mipi-lvds1 {
824		compatible = "rockchip,rkcif-mipi-lvds";
825		rockchip,hw = <&rkcif>;
826		iommus = <&rkcif_mmu>;
827		status = "disabled";
828	};
829
830	rkcif_mipi_lvds1_sditf: rkcif-mipi-lvds1-sditf {
831		compatible = "rockchip,rkcif-sditf";
832		rockchip,cif = <&rkcif_mipi_lvds1>;
833		status = "disabled";
834	};
835
836	rkcif_mipi_lvds1_sditf_vir1: rkcif-mipi-lvds1-sditf-vir1 {
837		compatible = "rockchip,rkcif-sditf";
838		rockchip,cif = <&rkcif_mipi_lvds1>;
839		status = "disabled";
840	};
841
842	rkcif_mipi_lvds1_sditf_vir2: rkcif-mipi-lvds1-sditf-vir2 {
843		compatible = "rockchip,rkcif-sditf";
844		rockchip,cif = <&rkcif_mipi_lvds1>;
845		status = "disabled";
846	};
847
848	rkcif_mipi_lvds1_sditf_vir3: rkcif-mipi-lvds1-sditf-vir3 {
849		compatible = "rockchip,rkcif-sditf";
850		rockchip,cif = <&rkcif_mipi_lvds1>;
851		status = "disabled";
852	};
853
854	rkcif_mipi_lvds2: rkcif-mipi-lvds2 {
855		compatible = "rockchip,rkcif-mipi-lvds";
856		rockchip,hw = <&rkcif>;
857		iommus = <&rkcif_mmu>;
858		status = "disabled";
859	};
860
861	rkcif_mipi_lvds2_sditf: rkcif-mipi-lvds2-sditf {
862		compatible = "rockchip,rkcif-sditf";
863		rockchip,cif = <&rkcif_mipi_lvds2>;
864		status = "disabled";
865	};
866
867	rkcif_mipi_lvds2_sditf_vir1: rkcif-mipi-lvds2-sditf-vir1 {
868		compatible = "rockchip,rkcif-sditf";
869		rockchip,cif = <&rkcif_mipi_lvds2>;
870		status = "disabled";
871	};
872
873	rkcif_mipi_lvds2_sditf_vir2: rkcif-mipi-lvds2-sditf-vir2 {
874		compatible = "rockchip,rkcif-sditf";
875		rockchip,cif = <&rkcif_mipi_lvds2>;
876		status = "disabled";
877	};
878
879	rkcif_mipi_lvds2_sditf_vir3: rkcif-mipi-lvds2-sditf-vir3 {
880		compatible = "rockchip,rkcif-sditf";
881		rockchip,cif = <&rkcif_mipi_lvds2>;
882		status = "disabled";
883	};
884
885	rkcif_mipi_lvds3: rkcif-mipi-lvds3 {
886		compatible = "rockchip,rkcif-mipi-lvds";
887		rockchip,hw = <&rkcif>;
888		iommus = <&rkcif_mmu>;
889		status = "disabled";
890	};
891
892	rkcif_mipi_lvds3_sditf: rkcif-mipi-lvds3-sditf {
893		compatible = "rockchip,rkcif-sditf";
894		rockchip,cif = <&rkcif_mipi_lvds3>;
895		status = "disabled";
896	};
897
898	rkcif_mipi_lvds3_sditf_vir1: rkcif-mipi-lvds3-sditf-vir1 {
899		compatible = "rockchip,rkcif-sditf";
900		rockchip,cif = <&rkcif_mipi_lvds3>;
901		status = "disabled";
902	};
903
904	rkcif_mipi_lvds3_sditf_vir2: rkcif-mipi-lvds3-sditf-vir2 {
905		compatible = "rockchip,rkcif-sditf";
906		rockchip,cif = <&rkcif_mipi_lvds3>;
907		status = "disabled";
908	};
909
910	rkcif_mipi_lvds3_sditf_vir3: rkcif-mipi-lvds3-sditf-vir3 {
911		compatible = "rockchip,rkcif-sditf";
912		rockchip,cif = <&rkcif_mipi_lvds3>;
913		status = "disabled";
914	};
915
916	rkcif_mipi_lvds4: rkcif-mipi-lvds4 {
917		compatible = "rockchip,rkcif-mipi-lvds";
918		rockchip,hw = <&rkcif>;
919		iommus = <&rkcif_mmu>;
920		status = "disabled";
921	};
922
923	rkcif_mipi_lvds4_sditf: rkcif-mipi-lvds4-sditf {
924		compatible = "rockchip,rkcif-sditf";
925		rockchip,cif = <&rkcif_mipi_lvds4>;
926		status = "disabled";
927	};
928
929	rkcif_mipi_lvds4_sditf_vir1: rkcif-mipi-lvds4-sditf-vir1 {
930		compatible = "rockchip,rkcif-sditf";
931		rockchip,cif = <&rkcif_mipi_lvds4>;
932		status = "disabled";
933	};
934
935	rkcif_mipi_lvds4_sditf_vir2: rkcif-mipi-lvds4-sditf-vir2 {
936		compatible = "rockchip,rkcif-sditf";
937		rockchip,cif = <&rkcif_mipi_lvds4>;
938		status = "disabled";
939	};
940
941	rkcif_mipi_lvds4_sditf_vir3: rkcif-mipi-lvds4-sditf-vir3 {
942		compatible = "rockchip,rkcif-sditf";
943		rockchip,cif = <&rkcif_mipi_lvds4>;
944		status = "disabled";
945	};
946
947	rkisp_vir0: rkisp-vir0 {
948		compatible = "rockchip,rkisp-vir";
949		rockchip,hw = <&rkisp>;
950		status = "disabled";
951	};
952
953	rkisp_vir1: rkisp-vir1 {
954		compatible = "rockchip,rkisp-vir";
955		rockchip,hw = <&rkisp>;
956		status = "disabled";
957	};
958
959	rkisp_vir2: rkisp-vir2 {
960		compatible = "rockchip,rkisp-vir";
961		rockchip,hw = <&rkisp>;
962		status = "disabled";
963	};
964
965	rkisp_vir3: rkisp-vir3 {
966		compatible = "rockchip,rkisp-vir";
967		rockchip,hw = <&rkisp>;
968		status = "disabled";
969	};
970
971	rkisp_vir4: rkisp-vir4 {
972		compatible = "rockchip,rkisp-vir";
973		rockchip,hw = <&rkisp>;
974		status = "disabled";
975	};
976
977	rkisp_vir5: rkisp-vir5 {
978		compatible = "rockchip,rkisp-vir";
979		rockchip,hw = <&rkisp>;
980		status = "disabled";
981	};
982
983	rkisp_vir0_sditf: rkisp-vir0-sditf {
984		compatible = "rockchip,rkisp-sditf";
985		rockchip,isp = <&rkisp_vir0>;
986		status = "disabled";
987
988		port {
989			isp_sditf0: endpoint {
990				remote-endpoint = <&vpss0_in>;
991			};
992		};
993	};
994
995	rkisp_vir1_sditf: rkisp-vir1-sditf {
996		compatible = "rockchip,rkisp-sditf";
997		rockchip,isp = <&rkisp_vir1>;
998		status = "disabled";
999
1000		port {
1001			isp_sditf1: endpoint {
1002				remote-endpoint = <&vpss1_in>;
1003			};
1004		};
1005	};
1006
1007	rkisp_vir2_sditf: rkisp-vir2-sditf {
1008		compatible = "rockchip,rkisp-sditf";
1009		rockchip,isp = <&rkisp_vir2>;
1010		status = "disabled";
1011
1012		port {
1013			isp_sditf2: endpoint {
1014				remote-endpoint = <&vpss2_in>;
1015			};
1016		};
1017	};
1018
1019	rkisp_vir3_sditf: rkisp-vir3-sditf {
1020		compatible = "rockchip,rkisp-sditf";
1021		rockchip,isp = <&rkisp_vir3>;
1022		status = "disabled";
1023
1024		port {
1025			isp_sditf3: endpoint {
1026				remote-endpoint = <&vpss3_in>;
1027			};
1028		};
1029	};
1030
1031	rkisp_vir4_sditf: rkisp-vir4-sditf {
1032		compatible = "rockchip,rkisp-sditf";
1033		rockchip,isp = <&rkisp_vir4>;
1034		status = "disabled";
1035
1036		port {
1037			isp_sditf4: endpoint {
1038				remote-endpoint = <&vpss4_in>;
1039			};
1040		};
1041	};
1042
1043	rkisp_vir5_sditf: rkisp-vir5-sditf {
1044		compatible = "rockchip,rkisp-sditf";
1045		rockchip,isp = <&rkisp_vir5>;
1046		status = "disabled";
1047
1048		port {
1049			isp_sditf5: endpoint {
1050				remote-endpoint = <&vpss5_in>;
1051			};
1052		};
1053	};
1054
1055	rkvenc_ccu: rkvenc-ccu {
1056		compatible = "rockchip,rkv-encoder-rk3576-ccu", "rockchip,rkv-encoder-v2-ccu";
1057		status = "disabled";
1058	};
1059
1060	rkvpss_vir0: rkvpss-vir0 {
1061		compatible = "rockchip,rkvpss-vir";
1062		rockchip,hw = <&rkvpss>;
1063		status = "disabled";
1064
1065		port {
1066			vpss0_in: endpoint {
1067				remote-endpoint = <&isp_sditf0>;
1068			};
1069		};
1070	};
1071
1072	rkvpss_vir1: rkvpss-vir1 {
1073		compatible = "rockchip,rkvpss-vir";
1074		rockchip,hw = <&rkvpss>;
1075		status = "disabled";
1076
1077		port {
1078			vpss1_in: endpoint {
1079				remote-endpoint = <&isp_sditf1>;
1080			};
1081		};
1082	};
1083
1084	rkvpss_vir2: rkvpss-vir2 {
1085		compatible = "rockchip,rkvpss-vir";
1086		rockchip,hw = <&rkvpss>;
1087		status = "disabled";
1088
1089		port {
1090			vpss2_in: endpoint {
1091				remote-endpoint = <&isp_sditf2>;
1092			};
1093		};
1094	};
1095
1096	rkvpss_vir3: rkvpss-vir3 {
1097		compatible = "rockchip,rkvpss-vir";
1098		rockchip,hw = <&rkvpss>;
1099		status = "disabled";
1100
1101		port {
1102			vpss3_in: endpoint {
1103				remote-endpoint = <&isp_sditf3>;
1104			};
1105		};
1106	};
1107
1108	rkvpss_vir4: rkvpss-vir4 {
1109		compatible = "rockchip,rkvpss-vir";
1110		rockchip,hw = <&rkvpss>;
1111		status = "disabled";
1112
1113		port {
1114			vpss4_in: endpoint {
1115				remote-endpoint = <&isp_sditf4>;
1116			};
1117		};
1118	};
1119
1120	rkvpss_vir5: rkvpss-vir5 {
1121		compatible = "rockchip,rkvpss-vir";
1122		rockchip,hw = <&rkvpss>;
1123		status = "disabled";
1124
1125		port {
1126			vpss5_in: endpoint {
1127				remote-endpoint = <&isp_sditf5>;
1128			};
1129		};
1130	};
1131
1132	thermal_zones: thermal-zones {
1133		soc_thermal: soc-thermal {
1134			polling-delay-passive = <20>; /* milliseconds */
1135			polling-delay = <1000>; /* milliseconds */
1136			thermal-sensors = <&tsadc 0>;
1137			trips {
1138				soc_crit: soc-crit {
1139					/* millicelsius */
1140					temperature = <115000>;
1141					/* millicelsius */
1142					hysteresis = <2000>;
1143					type = "critical";
1144				};
1145			};
1146		};
1147		bigcore_thermal: bigcore-thermal {
1148			polling-delay-passive = <20>; /* milliseconds */
1149			polling-delay = <1000>; /* milliseconds */
1150			thermal-sensors = <&tsadc 1>;
1151			trips {
1152				bigcore_crit: bigcore-crit {
1153					/* millicelsius */
1154					temperature = <115000>;
1155					/* millicelsius */
1156					hysteresis = <2000>;
1157					type = "critical";
1158				};
1159			};
1160		};
1161		little_core_thermal: little-core-thermal {
1162			polling-delay-passive = <20>; /* milliseconds */
1163			polling-delay = <1000>; /* milliseconds */
1164			thermal-sensors = <&tsadc 2>;
1165			trips {
1166				little_core_crit: little-core-crit {
1167					/* millicelsius */
1168					temperature = <115000>;
1169					/* millicelsius */
1170					hysteresis = <2000>;
1171					type = "critical";
1172				};
1173			};
1174		};
1175		ddr_thermal: ddr-thermal {
1176			polling-delay-passive = <20>; /* milliseconds */
1177			polling-delay = <1000>; /* milliseconds */
1178			thermal-sensors = <&tsadc 3>;
1179			trips {
1180				ddr_crit: ddr-crit {
1181					/* millicelsius */
1182					temperature = <115000>;
1183					/* millicelsius */
1184					hysteresis = <2000>;
1185					type = "critical";
1186				};
1187			};
1188		};
1189		npu_thermal: npu-thermal {
1190			polling-delay-passive = <20>; /* milliseconds */
1191			polling-delay = <1000>; /* milliseconds */
1192			thermal-sensors = <&tsadc 4>;
1193			trips {
1194				npu_crit: npu-crit {
1195					/* millicelsius */
1196					temperature = <115000>;
1197					/* millicelsius */
1198					hysteresis = <2000>;
1199					type = "critical";
1200				};
1201			};
1202		};
1203		gpu_thermal: gpu-thermal {
1204			polling-delay-passive = <20>; /* milliseconds */
1205			polling-delay = <1000>; /* milliseconds */
1206			thermal-sensors = <&tsadc 5>;
1207			trips {
1208				gpu_crit: gpu-crit {
1209					/* millicelsius */
1210					temperature = <115000>;
1211					/* millicelsius */
1212					hysteresis = <2000>;
1213					type = "critical";
1214				};
1215			};
1216		};
1217	};
1218
1219	timer {
1220		compatible = "arm,armv8-timer";
1221		interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>,
1222			     <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>,
1223			     <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>,
1224			     <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>;
1225	};
1226
1227	usb_drd0_dwc3: usb@23000000 {
1228		compatible = "rockchip,rk3576-dwc3", "snps,dwc3";
1229		reg = <0x0 0x23000000 0x0 0x400000>;
1230		clocks = <&cru CLK_REF_USB3OTG0>,
1231			 <&cru CLK_SUSPEND_USB3OTG0>,
1232			 <&cru ACLK_USB3OTG0>;
1233		clock-names = "ref", "suspend", "bus_clk";
1234		interrupts = <GIC_SPI 261 IRQ_TYPE_LEVEL_HIGH>;
1235		power-domains = <&power RK3576_PD_USB>;
1236		resets = <&cru SRST_A_USB3OTG0>;
1237		reset-names = "usb3-otg";
1238		dr_mode = "otg";
1239		phys = <&u2phy0_otg>, <&usbdp_phy_u3>;
1240		phy-names = "usb2-phy", "usb3-phy";
1241		phy_type = "utmi_wide";
1242		snps,dis_enblslpm_quirk;
1243		snps,dis-u1-entry-quirk;
1244		snps,dis-u2-entry-quirk;
1245		snps,dis-u2-freeclk-exists-quirk;
1246		snps,dis-del-phy-power-chg-quirk;
1247		snps,dis-tx-ipgap-linecheck-quirk;
1248		snps,parkmode-disable-hs-quirk;
1249		snps,parkmode-disable-ss-quirk;
1250		status = "disabled";
1251	};
1252
1253	usb_drd1_dwc3: usb@23400000 {
1254		compatible = "rockchip,rk3576-dwc3", "snps,dwc3";
1255		reg = <0x0 0x23400000 0x0 0x400000>;
1256		clocks = <&cru CLK_REF_USB3OTG1>,
1257			 <&cru CLK_SUSPEND_USB3OTG1>,
1258			 <&cru ACLK_USB3OTG1>;
1259		clock-names = "ref", "suspend", "bus_clk";
1260		interrupts = <GIC_SPI 260 IRQ_TYPE_LEVEL_HIGH>;
1261		power-domains = <&power RK3576_PD_PHP>;
1262		resets = <&cru SRST_A_USB3OTG1>;
1263		reset-names = "usb3-otg";
1264		dr_mode = "otg";
1265		phys = <&u2phy1_otg>, <&combphy1_psu PHY_TYPE_USB3>;
1266		phy-names = "usb2-phy", "usb3-phy";
1267		phy_type = "utmi_wide";
1268		snps,dis_enblslpm_quirk;
1269		snps,dis-u1-entry-quirk;
1270		snps,dis-u2-entry-quirk;
1271		snps,dis-u2-freeclk-exists-quirk;
1272		snps,dis-del-phy-power-chg-quirk;
1273		snps,dis-tx-ipgap-linecheck-quirk;
1274		snps,dis_rxdet_inp3_quirk;
1275		snps,parkmode-disable-hs-quirk;
1276		snps,parkmode-disable-ss-quirk;
1277		status = "disabled";
1278	};
1279
1280	sys_grf: syscon@2600a000 {
1281		compatible = "rockchip,rk3576-sys-grf", "syscon", "simple-mfd";
1282		reg = <0x0 0x2600a000 0x0 0x10000>;
1283	};
1284
1285	vo0_grf: syscon@2601a000 {
1286		compatible = "rockchip,rk3576-vo0-grf", "syscon";
1287		reg = <0x0 0x2601a000 0x0 0x2000>;
1288		clocks = <&cru PCLK_VO0_ROOT>;
1289	};
1290
1291	usb_grf: syscon@2601e000 {
1292		compatible = "rockchip,rk3576-usb-grf", "syscon";
1293		reg = <0x0 0x2601e000 0x0 0x1000>;
1294		clocks = <&cru PCLK_USB_ROOT>;
1295	};
1296
1297	php_grf: syscon@26020000 {
1298		compatible = "rockchip,rk3576-php-grf", "syscon";
1299		reg = <0x0 0x26020000 0x0 0x2000>;
1300		clocks = <&cru PCLK_PHP_ROOT>;
1301	};
1302
1303	pmu0_grf: syscon@26024000 {
1304		compatible = "rockchip,rk3576-pmu0-grf", "syscon", "simple-mfd";
1305		reg = <0x0 0x26024000 0x0 0x1000>;
1306
1307		reboot_mode: reboot-mode {
1308			compatible = "syscon-reboot-mode";
1309			offset = <0x40>;
1310			mode-bootloader = <BOOT_BL_DOWNLOAD>;
1311			mode-charge = <BOOT_CHARGING>;
1312			mode-fastboot = <BOOT_FASTBOOT>;
1313			mode-loader = <BOOT_BL_DOWNLOAD>;
1314			mode-normal = <BOOT_NORMAL>;
1315			mode-recovery = <BOOT_RECOVERY>;
1316			mode-ums = <BOOT_UMS>;
1317			mode-panic = <BOOT_PANIC>;
1318			mode-watchdog = <BOOT_WATCHDOG>;
1319			mode-quiescent = <BOOT_QUIESCENT>;
1320			/* add a mode to capture the ramdump through usb */
1321			mode-winusb = <BOOT_WINUSB>;
1322		};
1323	};
1324
1325	pipe_phy0_grf: syscon@26028000 {
1326		compatible = "rockchip,rk3576-pipe-phy-grf", "syscon";
1327		reg = <0x0 0x26028000 0x0 0x2000>;
1328		clocks = <&cru PCLK_PCIE2_COMBOPHY0>;
1329	};
1330
1331	pipe_phy1_grf: syscon@2602a000 {
1332		compatible = "rockchip,rk3576-pipe-phy-grf", "syscon";
1333		reg = <0x0 0x2602a000 0x0 0x2000>;
1334		clocks = <&cru PCLK_PCIE2_COMBOPHY1>;
1335	};
1336
1337	usbdpphy_grf: syscon@2602c000 {
1338		compatible = "rockchip,rk3576-usbdpphy-grf", "syscon";
1339		reg = <0x0 0x2602c000 0x0 0x2000>;
1340		clocks = <&cru PCLK_PMUPHY_ROOT>;
1341	};
1342
1343	usb2phy_grf: syscon@2602e000 {
1344		compatible = "rockchip,rk3576-usb2phy-grf", "syscon", "simple-mfd";
1345		reg = <0x0 0x2602e000 0x0 0x4000>;
1346		#address-cells = <1>;
1347		#size-cells = <1>;
1348		clocks = <&cru PCLK_PMUPHY_ROOT>;
1349
1350		u2phy0: usb2-phy@0 {
1351			compatible = "rockchip,rk3576-usb2phy";
1352			reg = <0x0 0x10>;
1353			resets = <&cru SRST_OTGPHY_0>, <&cru SRST_P_USBPHY_GRF_0>;
1354			reset-names = "phy", "apb";
1355			clocks = <&cru CLK_PHY_REF_SRC>;
1356			clock-names = "phyclk";
1357			clock-output-names = "usb480m_phy0";
1358			#clock-cells = <0>;
1359			rockchip,usbctrl-grf = <&usb_grf>;
1360			status = "disabled";
1361
1362			u2phy0_otg: otg-port {
1363				#phy-cells = <0>;
1364				interrupts = <GIC_SPI 350 IRQ_TYPE_LEVEL_HIGH>,
1365					     <GIC_SPI 351 IRQ_TYPE_LEVEL_HIGH>,
1366					     <GIC_SPI 352 IRQ_TYPE_LEVEL_HIGH>;
1367				interrupt-names = "otg-bvalid", "otg-id", "linestate";
1368				status = "disabled";
1369			};
1370		};
1371
1372		u2phy1: usb2-phy@2000 {
1373			compatible = "rockchip,rk3576-usb2phy";
1374			reg = <0x2000 0x10>;
1375			resets = <&cru SRST_OTGPHY_1>, <&cru SRST_P_USBPHY_GRF_1>;
1376			reset-names = "phy", "apb";
1377			clocks = <&cru CLK_PHY_REF_SRC>;
1378			clock-names = "phyclk";
1379			clock-output-names = "usb480m_phy1";
1380			#clock-cells = <0>;
1381			rockchip,usbctrl-grf = <&php_grf>;
1382			status = "disabled";
1383
1384			u2phy1_otg: otg-port {
1385				#phy-cells = <0>;
1386				interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>,
1387					     <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>,
1388					     <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>;
1389				interrupt-names = "otg-bvalid", "otg-id", "linestate";
1390				status = "disabled";
1391			};
1392		};
1393	};
1394
1395	hdptxphy_grf: syscon@26032000 {
1396		compatible = "rockchip,rk3576-hdptxphy-grf", "syscon";
1397		reg = <0x0 0x26032000 0x0 0x100>;
1398		clocks = <&cru PCLK_PMUPHY_ROOT>;
1399	};
1400
1401	mipidcphy0_grf: syscon@26034000 {
1402		compatible = "rockchip,rk3576-mipi-dcphy-grf", "syscon";
1403		reg = <0x0 0x26034000 0x0 0x2000>;
1404		clocks = <&cru PCLK_PMUPHY_ROOT>;
1405	};
1406
1407	vo1_grf: syscon@26036000 {
1408		compatible = "rockchip,rk3576-vo-grf", "syscon";
1409		reg = <0x0 0x26036000 0x0 0x100>;
1410		clocks = <&cru PCLK_VO1_ROOT>;
1411	};
1412
1413	sdgmac_grf: syscon@26038000 {
1414		compatible = "rockchip,rk3576-sdgmac-grf", "syscon";
1415		reg = <0x0 0x26038000 0x0 0x1000>;
1416		clocks = <&cru PCLK_SDGMAC_ROOT>;
1417	};
1418
1419	mipidphy0_grf: syscon@2603a000 {
1420		compatible = "rockchip,rk3576-mipi-dphy-grf", "syscon";
1421		reg = <0x0 0x2603a000 0x0 0x2000>;
1422		clocks = <&cru PCLK_PMUPHY_ROOT>;
1423	};
1424
1425	ioc_grf: syscon@26040000 {
1426		compatible = "rockchip,rk3576-ioc-grf", "syscon", "simple-mfd";
1427		reg = <0x0 0x26040000 0x0 0xc000>;
1428
1429		rgb: rgb {
1430			compatible = "rockchip,rk3576-rgb";
1431			pinctrl-names = "default";
1432			status = "disabled";
1433
1434			ports {
1435				#address-cells = <1>;
1436				#size-cells = <0>;
1437
1438				port@0 {
1439					reg = <0>;
1440					#address-cells = <1>;
1441					#size-cells = <0>;
1442
1443					rgb_in_vopl: endpoint@0 {
1444						reg = <0>;
1445						remote-endpoint = <&vopl_out_rgb>;
1446						status = "disabled";
1447					};
1448
1449					rgb_in_vp1: endpoint@1 {
1450						reg = <1>;
1451						remote-endpoint = <&vp1_out_rgb>;
1452						status = "disabled";
1453					};
1454
1455					rgb_in_vp2: endpoint@2 {
1456						reg = <2>;
1457						remote-endpoint = <&vp2_out_rgb>;
1458						status = "disabled";
1459					};
1460				};
1461			};
1462		};
1463	};
1464
1465	mipidphy1_grf: syscon@2604c000 {
1466		compatible = "rockchip,rk3576-mipi-dphy-grf", "syscon";
1467		reg = <0x0 0x2604c000 0x0 0x2000>;
1468	};
1469
1470	cru: clock-controller@27200000 {
1471		compatible = "rockchip,rk3576-cru";
1472		reg = <0x0 0x27200000 0x0 0x50000>;
1473		rockchip,grf = <&pmu0_grf>;
1474		#clock-cells = <1>;
1475		#reset-cells = <1>;
1476
1477		assigned-clocks =
1478			<&cru PLL_GPLL>, <&cru PLL_CPLL>,
1479			<&cru PLL_AUPLL>, <&cru CLK_UART_FRAC_0>,
1480			<&cru CLK_UART_FRAC_1>, <&cru CLK_UART_FRAC_2>;
1481		assigned-clock-rates =
1482			<1188000000>, <1000000000>,
1483			<786432000>, <18432000>,
1484			<48000000>, <64000000>;
1485	};
1486
1487	i2c0: i2c@27300000 {
1488		compatible = "rockchip,rk3576-i2c", "rockchip,rk3399-i2c";
1489		reg = <0x0 0x27300000 0x0 0x1000>;
1490		clocks = <&cru CLK_I2C0>, <&cru PCLK_I2C0>;
1491		clock-names = "i2c", "pclk";
1492		interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>;
1493		pinctrl-names = "default";
1494		pinctrl-0 = <&i2c0m0_xfer>;
1495		resets = <&cru SRST_I2C0>, <&cru SRST_P_I2C0>;
1496		reset-names = "i2c", "apb";
1497		#address-cells = <1>;
1498		#size-cells = <0>;
1499		status = "disabled";
1500	};
1501
1502	uart1: serial@27310000 {
1503		compatible = "rockchip,rk3576-uart", "snps,dw-apb-uart";
1504		reg = <0x0 0x27310000 0x0 0x100>;
1505		interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
1506		clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>;
1507		clock-names = "baudclk", "apb_pclk";
1508		reg-shift = <2>;
1509		reg-io-width = <4>;
1510		dmas = <&dmac0 8>, <&dmac0 9>;
1511		pinctrl-names = "default";
1512		pinctrl-0 = <&uart1m0_xfer>;
1513		status = "disabled";
1514	};
1515
1516	pwm0_2ch_0: pwm@27330000 {
1517		compatible = "rockchip,rk3576-pwm";
1518		reg = <0x0 0x27330000 0x0 0x1000>;
1519		interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
1520		#pwm-cells = <3>;
1521		pinctrl-names = "active";
1522		pinctrl-0 = <&pwm0m0_ch0>;
1523		clocks = <&cru CLK_PMU1PWM>, <&cru PCLK_PMU1PWM>;
1524		clock-names = "pwm", "pclk";
1525		status = "disabled";
1526	};
1527
1528	pwm0_2ch_1: pwm@27331000 {
1529		compatible = "rockchip,rk3576-pwm";
1530		reg = <0x0 0x27331000 0x0 0x1000>;
1531		interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
1532		#pwm-cells = <3>;
1533		pinctrl-names = "active";
1534		pinctrl-0 = <&pwm0m0_ch1>;
1535		clocks = <&cru CLK_PMU1PWM>, <&cru PCLK_PMU1PWM>;
1536		clock-names = "pwm", "pclk";
1537		status = "disabled";
1538	};
1539
1540	pmu: power-management@27380000 {
1541		compatible = "rockchip,rk3576-pmu", "syscon", "simple-mfd";
1542		reg = <0x0 0x27380000 0x0 0x800>;
1543
1544		power: power-controller {
1545			compatible = "rockchip,rk3576-power-controller";
1546			#power-domain-cells = <1>;
1547			#address-cells = <1>;
1548			#size-cells = <0>;
1549			status = "okay";
1550
1551			/* These power domains are grouped by VD_NPU */
1552			power-domain@RK3576_PD_NPU {
1553				reg = <RK3576_PD_NPU>;
1554				#address-cells = <1>;
1555				#size-cells = <0>;
1556
1557				power-domain@RK3576_PD_NPUTOP {
1558					reg = <RK3576_PD_NPUTOP>;
1559					#address-cells = <1>;
1560					#size-cells = <0>;
1561
1562					power-domain@RK3576_PD_NPU0 {
1563						reg = <RK3576_PD_NPU0>;
1564					};
1565					power-domain@RK3576_PD_NPU1 {
1566						reg = <RK3576_PD_NPU1>;
1567					};
1568				};
1569			};
1570			/* These power domains are grouped by VD_GPU */
1571			power-domain@RK3576_PD_GPU {
1572				reg = <RK3576_PD_GPU>;
1573			};
1574			/* These power domains are grouped by VD_LOGIC */
1575			power-domain@RK3576_PD_NVM {
1576				reg = <RK3576_PD_NVM>;
1577				#address-cells = <1>;
1578				#size-cells = <0>;
1579
1580				power-domain@RK3576_PD_SDGMAC {
1581					reg = <RK3576_PD_SDGMAC>;
1582				};
1583			};
1584			power-domain@RK3576_PD_PHP {
1585				reg = <RK3576_PD_PHP>;
1586				#address-cells = <1>;
1587				#size-cells = <0>;
1588
1589				power-domain@RK3576_PD_SUBPHP {
1590					reg = <RK3576_PD_SUBPHP>;
1591				};
1592			};
1593			power-domain@RK3576_PD_AUDIO {
1594				reg = <RK3576_PD_AUDIO>;
1595			};
1596			power-domain@RK3576_PD_VEPU1 {
1597				reg = <RK3576_PD_VEPU1>;
1598			};
1599			power-domain@RK3576_PD_VPU {
1600				reg = <RK3576_PD_VPU>;
1601			};
1602			power-domain@RK3576_PD_VDEC {
1603				reg = <RK3576_PD_VDEC>;
1604			};
1605			power-domain@RK3576_PD_VI {
1606				reg = <RK3576_PD_VI>;
1607				#address-cells = <1>;
1608				#size-cells = <0>;
1609
1610				power-domain@RK3576_PD_VEPU0 {
1611					reg = <RK3576_PD_VEPU0>;
1612				};
1613			};
1614			power-domain@RK3576_PD_VOP {
1615				reg = <RK3576_PD_VOP>;
1616				#address-cells = <1>;
1617				#size-cells = <0>;
1618
1619				power-domain@RK3576_PD_USB {
1620					reg = <RK3576_PD_USB>;
1621				};
1622				power-domain@RK3576_PD_VO0 {
1623					reg = <RK3576_PD_VO0>;
1624				};
1625				power-domain@RK3576_PD_VO1 {
1626					reg = <RK3576_PD_VO1>;
1627				};
1628			};
1629		};
1630	};
1631
1632	pdm0: pdm@273b0000 {
1633		compatible = "rockchip,rk3576-pdm";
1634		reg = <0x0 0x273b0000 0x0 0x1000>;
1635		interrupts = <GIC_SPI 202 IRQ_TYPE_LEVEL_HIGH>;
1636		clocks = <&cru MCLK_PDM0>, <&cru HCLK_PDM0>, <&cru CLK_PDM0_OUT>;
1637		clock-names = "pdm_clk", "pdm_hclk", "pdm_clk_out";
1638		dmas = <&dmac0 4>;
1639		dma-names = "rx";
1640		pinctrl-names = "default";
1641		pinctrl-0 = <&pdm0m0_clk0
1642			     &pdm0m0_clk1
1643			     &pdm0m0_sdi0
1644			     &pdm0m0_sdi1
1645			     &pdm0m0_sdi2
1646			     &pdm0m0_sdi3>;
1647		power-domains = <&power RK3576_PD_PMU1>;
1648		#sound-dai-cells = <0>;
1649		sound-name-prefix = "PDM0";
1650		status = "disabled";
1651	};
1652
1653	rknpu: npu@27700000 {
1654		compatible = "rockchip,rk3576-rknpu";
1655		reg = <0x0 0x27700000 0x0 0x8000>,
1656		      <0x0 0x27708000 0x0 0x8000>;
1657		interrupts = <GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH>,
1658			     <GIC_SPI 248 IRQ_TYPE_LEVEL_HIGH>;
1659		interrupt-names = "npu0_irq", "npu1_irq";
1660		clocks = <&cru ACLK_RKNN0>, <&cru ACLK_RKNN1>, <&cru HCLK_RKNN_ROOT>,
1661			 <&cru ACLK_RKNN_CBUF>, <&cru HCLK_RKNN_CBUF>;
1662		clock-names = "aclk0", "aclk1", "hclk_root",
1663			      "aclk_cbuf", "hclk_cbuf";
1664		resets = <&cru SRST_A_RKNN0>, <&cru SRST_A_RKNN1>,
1665			 <&cru SRST_A_RKNN_CBUF>, <&cru SRST_A_RKNN_CBUF>;
1666		reset-names = "srst_a0", "srst_a1",
1667			      "srst_a_cbuf", "srst_h_cbuf";
1668		power-domains = <&power RK3576_PD_NPU0>, <&power RK3576_PD_NPU1>;
1669		power-domain-names = "npu0", "npu1";
1670		iommus = <&rknpu_mmu>;
1671		status = "disabled";
1672	};
1673
1674	rknpu_mmu: iommu@27702000 {
1675		compatible = "rockchip,iommu-v2";
1676		reg = <0x0 0x27702000 0x0 0x100>,
1677		      <0x0 0x27702100 0x0 0x100>,
1678		      <0x0 0x2770a000 0x0 0x100>,
1679		      <0x0 0x2770a100 0x0 0x100>;
1680		interrupts = <GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH>,
1681			     <GIC_SPI 248 IRQ_TYPE_LEVEL_HIGH>;
1682		interrupt-names = "npu0_mmu", "npu1_mmu";
1683		clocks = <&cru ACLK_RKNN0>, <&cru ACLK_RKNN1>, <&cru HCLK_RKNN_ROOT>;
1684		clock-names = "aclk0", "aclk1", "iface";
1685		#iommu-cells = <0>;
1686		status = "disabled";
1687	};
1688
1689	gpu: gpu@27800000 {
1690		compatible = "arm,mali-bifrost";
1691		reg = <0x0 0x27800000 0x0 0x20000>;
1692
1693		interrupts = <GIC_SPI 349 IRQ_TYPE_LEVEL_HIGH>,
1694			<GIC_SPI 348 IRQ_TYPE_LEVEL_HIGH>,
1695			<GIC_SPI 347 IRQ_TYPE_LEVEL_HIGH>;
1696		interrupt-names = "GPU", "MMU", "JOB";
1697
1698		upthreshold = <40>;
1699		downdifferential = <10>;
1700
1701		clocks = <&cru CLK_GPU>;
1702		clock-names = "clk_mali";
1703		power-domains = <&power RK3576_PD_GPU>;
1704		operating-points-v2 = <&gpu_opp_table>;
1705		#cooling-cells = <2>;
1706
1707		status = "disabled";
1708	};
1709
1710	gpu_opp_table: gpu-opp-table {
1711		compatible = "operating-points-v2";
1712
1713		opp-300000000 {
1714			opp-hz = /bits/ 64 <300000000>;
1715			opp-microvolt = <850000 850000 850000>;
1716		};
1717		opp-400000000 {
1718			opp-hz = /bits/ 64 <400000000>;
1719			opp-microvolt = <850000 850000 850000>;
1720		};
1721		opp-500000000 {
1722			opp-hz = /bits/ 64 <500000000>;
1723			opp-microvolt = <850000 850000 850000>;
1724		};
1725		opp-600000000 {
1726			opp-hz = /bits/ 64 <600000000>;
1727			opp-microvolt = <850000 850000 850000>;
1728		};
1729	};
1730
1731	ebc: ebc@27900000 {
1732		compatible = "rockchip,rk3576-ebc-tcon";
1733		reg = <0x0 0x27900000 0x0 0x5000>;
1734		interrupts = <GIC_SPI 334 IRQ_TYPE_LEVEL_HIGH>;
1735		clocks = <&cru HCLK_EBC>, <&cru ACLK_EBC>, <&cru DCLK_EBC>;
1736		clock-names = "hclk", "aclk", "dclk";
1737		pinctrl-names = "default";
1738		pinctrl-0 = <&vo_ebc_pins>;
1739		power-domains = <&power RK3576_PD_VPU>;
1740		rockchip,grf = <&sys_grf>;
1741		status = "disabled";
1742	};
1743
1744	vopl: vop@27900000 {
1745		compatible = "rockchip,rk3576-vop-lit";
1746		reg = <0x0 0x27900000 0x0 0x200>;
1747		reg-names = "regs";
1748		interrupts = <GIC_SPI 334 IRQ_TYPE_LEVEL_HIGH>;
1749		clocks = <&cru ACLK_EBC>, <&cru DCLK_EBC>, <&cru HCLK_EBC>;
1750		clock-names = "aclk_vop", "dclk_vop", "hclk_vop";
1751		power-domains = <&power RK3576_PD_VPU>;
1752		rockchip,grf = <&ioc_grf>;
1753		rockchip,vo0_grf = <&vo0_grf>;
1754		status = "disabled";
1755
1756		vopl_out: port {
1757			#address-cells = <1>;
1758			#size-cells = <0>;
1759
1760			vopl_out_rgb: endpoint@0 {
1761				reg = <0>;
1762				remote-endpoint = <&rgb_in_vopl>;
1763			};
1764
1765			vopl_out_dsi: endpoint@1 {
1766				reg = <1>;
1767				remote-endpoint = <&dsi_in_vopl>;
1768			};
1769
1770			vopl_out_edp: endpoint@2 {
1771				reg = <2>;
1772				remote-endpoint = <&edp_in_vopl>;
1773			};
1774
1775			vopl_out_hdmi: endpoint@3 {
1776				reg = <3>;
1777				remote-endpoint = <&hdmi_in_vopl>;
1778			};
1779		};
1780	};
1781
1782	jpegd: jpegd@27910000 {
1783		compatible = "rockchip,rkv-jpeg-decoder-v1";
1784		reg = <0x0 0x27910000 0x0 0x330>;
1785		interrupts = <GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH>;
1786		interrupt-names = "irq_jpegd";
1787		clocks = <&aclk_jpeg>, <&cru HCLK_JPEG>;
1788		clock-names = "aclk_vcodec", "hclk_vcodec";
1789		rockchip,normal-rates = <700000000>, <0>;
1790		assigned-clocks = <&aclk_jpeg>;
1791		assigned-clock-rates = <700000000>;
1792		resets = <&cru SRST_A_JPEG>, <&cru SRST_H_JPEG>;
1793		reset-names = "shared_video_a", "shared_video_h";
1794		rockchip,skip-pmu-idle-request;
1795		iommus = <&jpeg_mmu>;
1796		rockchip,srv = <&mpp_srv>;
1797		rockchip,taskqueue-node = <0>;
1798		rockchip,resetgroup-node = <0>;
1799		power-domains = <&power RK3576_PD_VPU>;
1800		status = "disabled";
1801	};
1802
1803	jpege: jpege@27910800 {
1804		compatible = "rockchip,rkv-jpeg-encoder-v1";
1805		reg = <0x0 0x27910800 0x0 0x13c>;
1806		interrupts = <GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH>;
1807		interrupt-names = "irq_jpege";
1808		clocks = <&aclk_jpeg>, <&cru HCLK_JPEG>;
1809		clock-names = "aclk_vcodec", "hclk_vcodec";
1810		rockchip,normal-rates = <700000000>, <0>;
1811		assigned-clocks = <&aclk_jpeg>;
1812		assigned-clock-rates = <700000000>;
1813		resets = <&cru SRST_A_JPEG>, <&cru SRST_H_JPEG>;
1814		reset-names = "shared_video_a", "shared_video_h";
1815		rockchip,skip-pmu-idle-request;
1816		iommus = <&jpeg_mmu>;
1817		rockchip,srv = <&mpp_srv>;
1818		rockchip,taskqueue-node = <0>;
1819		rockchip,resetgroup-node = <0>;
1820		power-domains = <&power RK3576_PD_VPU>;
1821		status = "disabled";
1822	};
1823
1824	jpeg_mmu: iommu@27910f00 {
1825		compatible = "rockchip,iommu-v2";
1826		reg = <0x0 0x27910f00 0x0 0x28>;
1827		interrupts = <GIC_SPI 332 IRQ_TYPE_LEVEL_HIGH>;
1828		interrupt-names = "irq_jpeg_mmu";
1829		clocks = <&aclk_jpeg>, <&cru HCLK_JPEG>;
1830		clock-name = "aclk", "iface";
1831		#iommu-cells = <0>;
1832		rockchip,shootdown-entire;
1833		power-domains = <&power RK3576_PD_VPU>;
1834		status = "disabled";
1835	};
1836
1837	rga2_core0: rga@27920000 {
1838		compatible = "rockchip,rga2_core0";
1839		reg = <0x0 0x27920000 0x0 0x1000>;
1840		interrupts = <GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH>;
1841		interrupt-names = "rga2_core0_irq";
1842		clocks = <&cru ACLK_RGA2E_0>, <&cru HCLK_RGA2E_0>, <&cru CLK_CORE_RGA2E_0>;
1843		clock-names = "aclk_rga2e_0", "hclk_rga2e_0", "clk_rga2e_0";
1844		power-domains = <&power RK3576_PD_VPU>;
1845		iommus = <&rga2_core0_mmu>;
1846		status = "disabled";
1847	};
1848
1849	rga2_core0_mmu: iommu@27920f00 {
1850		compatible = "rockchip,iommu-v2";
1851		reg = <0x0 0x27920f00 0x0 0x100>;
1852		interrupts = <GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH>;
1853		interrupt-names = "rga2_0_mmu";
1854		clocks = <&cru ACLK_RGA2E_0>, <&cru HCLK_RGA2E_0>;
1855		clock-names = "aclk", "iface";
1856		power-domains = <&power RK3576_PD_VPU>;
1857		#iommu-cells = <0>;
1858		status = "disabled";
1859	};
1860
1861	rga2_core1: rga@27930000 {
1862		compatible = "rockchip,rga2_core1";
1863		reg = <0x0 0x27930000 0x0 0x1000>;
1864		interrupts = <GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH>;
1865		interrupt-names = "rga2_core1_irq";
1866		clocks = <&cru ACLK_RGA2E_1>, <&cru HCLK_RGA2E_1>, <&cru CLK_CORE_RGA2E_1>;
1867		clock-names = "aclk_rga2e_1", "hclk_rga2e_1", "clk_rga2e_1";
1868		power-domains = <&power RK3576_PD_VPU>;
1869		iommus = <&rga2_core1_mmu>;
1870		status = "disabled";
1871	};
1872
1873	rga2_core1_mmu: iommu@27930f00 {
1874		compatible = "rockchip,iommu-v2";
1875		reg = <0x0 0x27930f00 0x0 0x100>;
1876		interrupts = <GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH>;
1877		interrupt-names = "rga2_1_mmu";
1878		clocks = <&cru ACLK_RGA2E_1>, <&cru HCLK_RGA2E_1>;
1879		clock-names = "aclk", "iface";
1880		power-domains = <&power RK3576_PD_VPU>;
1881		#iommu-cells = <0>;
1882		status = "disabled";
1883	};
1884
1885	iep: iep@27960000 {
1886		compatible = "rockchip,iep-v2";
1887		reg = <0x0 0x27960000 0x0 0x500>;
1888		interrupts = <GIC_SPI 333 IRQ_TYPE_LEVEL_HIGH>;
1889		interrupt-names = "irq_vdpp";
1890		clocks = <&aclk_vdpp>, <&cru HCLK_VDPP>, <&cru CLK_CORE_VDPP>;
1891		clock-names = "aclk", "hclk", "sclk";
1892		rockchip,normal-rates = <340000000>, <0>, <340000000>;
1893		assigned-clocks = <&aclk_vdpp>, <&cru CLK_CORE_VDPP>;
1894		assigned-clock-rates = <340000000>, <340000000>;
1895		resets = <&cru SRST_A_VDPP>, <&cru SRST_H_VDPP>, <&cru SRST_CORE_VDPP>;
1896		reset-names = "shared_rst_a", "shared_rst_h", "shared_rst_s";
1897		rockchip,skip-pmu-idle-request;
1898		rockchip,srv = <&mpp_srv>;
1899		rockchip,taskqueue-node = <2>;
1900		iommus = <&iep_mmu>;
1901		power-domains = <&power RK3576_PD_VPU>;
1902		status = "disabled";
1903	};
1904
1905	iep_mmu: iommu@27960800 {
1906		compatible = "rockchip,iommu-v2";
1907		reg = <0x0 0x27960800 0x0 0x100>;
1908		interrupts = <GIC_SPI 333 IRQ_TYPE_LEVEL_HIGH>;
1909		interrupt-names = "iep_mmu";
1910		clocks = <&aclk_vdpp>, <&cru HCLK_VDPP>;
1911		clock-names = "aclk", "iface";
1912		#iommu-cells = <0>;
1913		rockchip,shootdown-entire;
1914		power-domains = <&power RK3576_PD_VPU>;
1915		status = "disabled";
1916	};
1917
1918	vdpp: vdpp@27961000 {
1919		compatible = "rockchip,vdpp-rk3576";
1920		reg = <0x0 0x27961000 0x0 0x500>,  <0x0 0x27962000 0x0 0x900>;
1921		reg-names = "vdpp_regs", "zme_regs";
1922		interrupts = <GIC_SPI 333 IRQ_TYPE_LEVEL_HIGH>;
1923		interrupt-names = "irq_vdpp";
1924		clocks = <&aclk_vdpp>, <&cru HCLK_VDPP>, <&cru CLK_CORE_VDPP>;
1925		clock-names = "aclk", "hclk", "sclk";
1926		rockchip,normal-rates = <340000000>, <0>, <340000000>;
1927		assigned-clocks = <&aclk_vdpp>, <&cru CLK_CORE_VDPP>;
1928		assigned-clock-rates = <340000000>, <340000000>;
1929		resets = <&cru SRST_A_VDPP>, <&cru SRST_H_VDPP>, <&cru SRST_CORE_VDPP>;
1930		reset-names = "shared_rst_a", "shared_rst_h", "shared_rst_s";
1931		rockchip,skip-pmu-idle-request;
1932		rockchip,srv = <&mpp_srv>;
1933		rockchip,taskqueue-node = <2>;
1934		rockchip,disable-auto-freq;
1935		iommus = <&iep_mmu>;
1936		power-domains = <&power RK3576_PD_VPU>;
1937		status = "disabled";
1938	};
1939
1940	rkvenc0: rkvenc-core@27a00000 {
1941		compatible = "rockchip,rkv-encoder-rk3576-core";
1942		reg = <0x0 0x27a00000 0x0 0x6000>;
1943		interrupts = <GIC_SPI 310 IRQ_TYPE_LEVEL_HIGH>;
1944		interrupt-names = "irq_vepu0";
1945		clocks = <&aclk_vepu0>, <&hclk_vepu0>, <&cru CLK_VEPU0_CORE>;
1946		clock-names = "aclk_vcodec", "hclk_vcodec", "clk_core";
1947		rockchip,normal-rates = <400000000>, <0>, <700000000>;
1948		resets = <&cru SRST_A_VEPU0>, <&cru SRST_H_VEPU0>,
1949			 <&cru SRST_VEPU0_CORE>;
1950		reset-names = "video_a", "video_h", "video_core";
1951		assigned-clocks = <&aclk_vepu0>, <&cru CLK_VEPU0_CORE>;
1952		assigned-clock-rates = <400000000>, <700000000>;
1953		iommus = <&rkvenc0_mmu>;
1954		rockchip,srv = <&mpp_srv>;
1955		rockchip,taskqueue-node = <3>;
1956		rockchip,task-capacity = <8>;
1957		rockchip,ccu = <&rkvenc_ccu>;
1958		power-domains = <&power RK3576_PD_VEPU0>;
1959		status = "disabled";
1960	};
1961
1962	rkvenc0_mmu: iommu@27a0f000 {
1963		compatible = "rockchip,iommu-v2";
1964		reg = <0x0 0x27a0f000 0x0 0x40>;
1965		interrupts = <GIC_SPI 311 IRQ_TYPE_LEVEL_HIGH>;
1966		interrupt-names = "irq_vepu0_mmu";
1967		clocks = <&aclk_vepu0>, <&hclk_vepu0>;
1968		clock-names = "aclk", "iface";
1969		#iommu-cells = <0>;
1970		rockchip,shootdown-entire;
1971		rockchip,disable-mmu-reset;
1972		rockchip,enable-cmd-retry;
1973		power-domains = <&power RK3576_PD_VEPU0>;
1974		status = "disabled";
1975	};
1976
1977	rkvenc1: rkvenc-core@27a10000 {
1978		compatible = "rockchip,rkv-encoder-rk3576-core";
1979		reg = <0x0 0x27a10000 0x0 0x6000>;
1980		interrupts = <GIC_SPI 387 IRQ_TYPE_LEVEL_HIGH>;
1981		interrupt-names = "irq_vepu1";
1982		clocks = <&cru ACLK_VEPU1>, <&cru HCLK_VEPU1>, <&cru CLK_VEPU1_CORE>;
1983		clock-names = "aclk_vcodec", "hclk_vcodec", "clk_core";
1984		rockchip,normal-rates = <400000000>, <0>, <700000000>;
1985		resets = <&cru SRST_A_VEPU1>, <&cru SRST_H_VEPU1>,
1986			 <&cru SRST_VEPU1_CORE>;
1987		reset-names = "video_a", "video_h", "video_core";
1988		assigned-clocks = <&cru ACLK_VEPU1>, <&cru CLK_VEPU1_CORE>;
1989		assigned-clock-rates = <400000000>, <700000000>;
1990		iommus = <&rkvenc1_mmu>;
1991		rockchip,srv = <&mpp_srv>;
1992		rockchip,taskqueue-node = <3>;
1993		rockchip,task-capacity = <8>;
1994		rockchip,ccu = <&rkvenc_ccu>;
1995		power-domains = <&power RK3576_PD_VEPU1>;
1996		status = "disabled";
1997	};
1998
1999	rkvenc1_mmu: iommu@27a1f000 {
2000		compatible = "rockchip,iommu-v2";
2001		reg = <0x0 0x27a1f000 0x0 0x40>;
2002		interrupts = <GIC_SPI 388 IRQ_TYPE_LEVEL_HIGH>;
2003		interrupt-names = "irq_vepu1_mmu";
2004		clocks = <&cru ACLK_VEPU1>, <&cru HCLK_VEPU1>;
2005		clock-names = "aclk", "iface";
2006		#iommu-cells = <0>;
2007		rockchip,disable-mmu-reset;
2008		rockchip,enable-cmd-retry;
2009		rockchip,shootdown-entire;
2010		power-domains = <&power RK3576_PD_VEPU1>;
2011		status = "disabled";
2012	};
2013
2014	rkvdec: rkvdec@27b00000 {
2015		compatible = "rockchip,rkv-decoder-v383";
2016		reg = <0x0 0x27b00100 0x0 0x400>, <0x0 0x27b00000 0x0 0x100>;
2017		reg-names = "regs", "link";
2018		interrupts = <GIC_SPI 308 IRQ_TYPE_LEVEL_HIGH>;
2019		interrupt-names = "irq_rkvdec";
2020		clocks = <&cru ACLK_RKVDEC_ROOT>, <&cru HCLK_RKVDEC_ROOT>,
2021			 <&cru CLK_RKVDEC_CORE>, <&cru CLK_RKVDEC_HEVC_CA>;
2022		clock-names = "aclk_vcodec", "hclk_vcodec", "clk_core", "clk_hevc_ca";
2023		resets = <&cru SRST_A_RKVDEC_BIU >, <&cru SRST_H_RKVDEC_BIU>,
2024			 <&cru SRST_RKVDEC_CORE>, <&cru SRST_RKVDEC_HEVC_CA>;
2025		reset-names = "video_a","video_h", "video_core", "video_hevc_cabac";
2026		rockchip,normal-rates = <600000000>, <0>, <600000000>, <600000000>;
2027		assigned-clocks = <&cru ACLK_RKVDEC_ROOT>, <&cru HCLK_RKVDEC_ROOT>,
2028				  <&cru CLK_RKVDEC_CORE>, <&cru CLK_RKVDEC_HEVC_CA>;
2029		assigned-clock-rates = <600000000>,<0>, <600000000>, <600000000>;
2030		iommus = <&rkvdec_mmu>;
2031		rockchip,srv = <&mpp_srv>;
2032		rockchip,task-capacity = <1>;
2033		rockchip,taskqueue-node = <5>;
2034		power-domains = <&power RK3576_PD_VDEC>;
2035		status = "disabled";
2036	};
2037
2038	rkvdec_mmu: iommu@27b00800 {
2039		compatible = "rockchip,iommu-v2";
2040		reg = <0x0 0x27b00800 0x0 0x40>, <0x0 0x27b00900 0x0 0x40>;
2041		interrupts = <GIC_SPI 309 IRQ_TYPE_LEVEL_HIGH>;
2042		interrupt-names = "irq_rkvdec_mmu";
2043		clocks = <&cru ACLK_RKVDEC_ROOT>, <&cru HCLK_RKVDEC>;
2044		clock-names = "aclk", "iface";
2045		rockchip,disable-mmu-reset;
2046		rockchip,enable-cmd-retry;
2047		rockchip,shootdown-entire;
2048		#iommu-cells = <0>;
2049		power-domains = <&power RK3576_PD_VDEC>;
2050		status = "disabled";
2051	};
2052
2053	rkisp: isp@27c00000 {
2054		compatible = "rockchip,rk3576-rkisp";
2055		reg = <0x0 0x27c00000 0x0 0x7f00>;
2056		interrupts = <GIC_SPI 321 IRQ_TYPE_LEVEL_HIGH>,
2057			     <GIC_SPI 322 IRQ_TYPE_LEVEL_HIGH>,
2058			     <GIC_SPI 323 IRQ_TYPE_LEVEL_HIGH>;
2059		interrupt-names = "mipi_irq", "mi_irq", "isp_irq";
2060		clocks = <&cru ACLK_ISP>, <&cru HCLK_ISP>,
2061			 <&cru CLK_ISP_CORE>, <&cru CLK_ISP_CORE_MARVIN>,
2062			 <&cru CLK_ISP_CORE_VICAP>;
2063		clock-names = "aclk_isp", "hclk_isp",
2064			      "clk_isp_core", "clk_isp_core_marvin",
2065			      "clk_isp_core_vicap";
2066		power-domains = <&power RK3576_PD_VI>;
2067		iommus = <&rkisp_mmu>;
2068		status = "disabled";
2069	};
2070
2071	rkisp_mmu: iommu@27c07f00 {
2072		compatible = "rockchip,iommu-v2";
2073		reg = <0x0 0x27c07f00 0x0 0x100>;
2074		interrupts = <GIC_SPI 324 IRQ_TYPE_LEVEL_HIGH>;
2075		interrupt-names = "isp_mmu";
2076		clocks = <&cru ACLK_ISP>, <&cru HCLK_ISP>;
2077		clock-names = "aclk", "iface";
2078		power-domains = <&power RK3576_PD_VI>;
2079		#iommu-cells = <0>;
2080		rockchip,disable-mmu-reset;
2081		status = "disabled";
2082	};
2083
2084	rkcif: rkcif@27c10000 {
2085		compatible = "rockchip,rk3576-cif";
2086		reg = <0x0 0x27c10000 0x0 0x800>;
2087		reg-names = "cif_regs";
2088		interrupts = <GIC_SPI 318 IRQ_TYPE_LEVEL_HIGH>;
2089		interrupt-names = "cif-intr";
2090		clocks = <&cru ACLK_VICAP>, <&cru HCLK_VICAP>, <&cru DCLK_VICAP>,
2091			 <&cru CLK_VICAP_I0CLK>, <&cru CLK_VICAP_I1CLK>,
2092			 <&cru CLK_VICAP_I2CLK>, <&cru CLK_VICAP_I3CLK>,
2093			 <&cru CLK_VICAP_I4CLK>;
2094		clock-names = "aclk_cif", "hclk_cif", "dclk_cif",
2095			      "i0clk_cif", "i1clk_cif",
2096			      "i2clk_cif", "i3clk_cif",
2097			      "i4clk_cif";
2098		resets = <&cru SRST_A_VICAP>, <&cru SRST_H_VICAP>, <&cru SRST_D_VICAP>,
2099			 <&cru SRST_VICAP_I0CLK>, <&cru SRST_VICAP_I1CLK>,
2100			 <&cru SRST_VICAP_I2CLK>, <&cru SRST_VICAP_I3CLK>,
2101			 <&cru SRST_VICAP_I4CLK>;
2102		reset-names = "rst_cif_a", "rst_cif_h", "rst_cif_d",
2103			      "rst_cif_iclk0", "rst_cif_iclk1", "rst_cif_iclk2",
2104			      "rst_cif_iclk3", "rst_cif_iclk4";
2105		assigned-clocks = <&cru DCLK_VICAP>;
2106		assigned-clock-rates = <600000000>;
2107		power-domains = <&power RK3576_PD_VI>;
2108		rockchip,grf = <&sys_grf>;
2109		iommus = <&rkcif_mmu>;
2110		status = "disabled";
2111	};
2112
2113	rkcif_mmu: iommu@27c10800 {
2114		compatible = "rockchip,iommu-v2";
2115		reg = <0x0 0x27c10800 0x0 0x100>;
2116		interrupts = <GIC_SPI 319 IRQ_TYPE_LEVEL_HIGH>;
2117		interrupt-names = "cif_mmu";
2118		clocks = <&cru ACLK_VICAP>, <&cru HCLK_VICAP>;
2119		clock-names = "aclk", "iface";
2120		power-domains = <&power RK3576_PD_VI>;
2121		rockchip,disable-mmu-reset;
2122		#iommu-cells = <0>;
2123		status = "disabled";
2124	};
2125
2126	rkvpss: vpss@27c30000 {
2127		compatible = "rockchip,rk3576-rkvpss";
2128		reg = <0x0 0x27c30000 0x0 0x3f00>;
2129		interrupts = <GIC_SPI 325 IRQ_TYPE_LEVEL_HIGH>,
2130			     <GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH>;
2131		interrupt-names = "mi_irq", "vpss_irq";
2132		clocks = <&cru ACLK_VPSS>, <&cru HCLK_VPSS>,
2133			 <&cru CLK_CORE_VPSS>;
2134		clock-names = "aclk_vpss", "hclk_vpss", "clk_vpss";
2135		power-domains = <&power RK3576_PD_VI>;
2136		iommus = <&rkvpss_mmu>;
2137		status = "disabled";
2138	};
2139
2140	rkvpss_mmu: iommu@27c33f00 {
2141		compatible = "rockchip,iommu-v2";
2142		reg = <0x0 0x27c33f00 0x0 0x100>;
2143		interrupts = <GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH>;
2144		interrupt-names = "vpss_mmu";
2145		clocks = <&cru ACLK_VPSS>, <&cru HCLK_VPSS>;
2146		clock-names = "aclk", "iface";
2147		power-domains = <&power RK3576_PD_VI>;
2148		#iommu-cells = <0>;
2149		rockchip,disable-mmu-reset;
2150		status = "disabled";
2151	};
2152
2153	mipi0_csi2_hw: mipi0-csi2-hw@27c80000 {
2154		compatible = "rockchip,rk3576-mipi-csi2-hw";
2155		reg = <0x0 0x27c80000 0x0 0x10000>;
2156		reg-names = "csihost_regs";
2157		interrupts = <GIC_SPI 312 IRQ_TYPE_LEVEL_HIGH>,
2158			     <GIC_SPI 313 IRQ_TYPE_LEVEL_HIGH>;
2159		interrupt-names = "csi-intr1", "csi-intr2";
2160		clocks = <&cru PCLK_CSI_HOST_0>, <&cru ICLK_CSIHOST0>;
2161		clock-names = "pclk_csi2host", "iclk_csi2host";
2162		resets = <&cru SRST_P_CSI_HOST_0>;
2163		reset-names = "srst_csihost_p";
2164		status = "okay";
2165	};
2166
2167	mipi1_csi2_hw: mipi1-csi2-hw@27c90000 {
2168		compatible = "rockchip,rk3576-mipi-csi2-hw";
2169		reg = <0x0 0x27c90000 0x0 0x10000>;
2170		reg-names = "csihost_regs";
2171		interrupts = <GIC_SPI 314 IRQ_TYPE_LEVEL_HIGH>,
2172			     <GIC_SPI 315 IRQ_TYPE_LEVEL_HIGH>;
2173		interrupt-names = "csi-intr1", "csi-intr2";
2174		clocks = <&cru PCLK_CSI_HOST_1>;
2175		clock-names = "pclk_csi2host";
2176		resets = <&cru SRST_P_CSI_HOST_1>;
2177		reset-names = "srst_csihost_p";
2178		status = "okay";
2179	};
2180
2181	mipi2_csi2_hw: mipi2-csi2-hw@27ca0000 {
2182		compatible = "rockchip,rk3576-mipi-csi2-hw";
2183		reg = <0x0 0x27ca0000 0x0 0x10000>;
2184		reg-names = "csihost_regs";
2185		interrupts = <GIC_SPI 316 IRQ_TYPE_LEVEL_HIGH>,
2186			     <GIC_SPI 317 IRQ_TYPE_LEVEL_HIGH>;
2187		interrupt-names = "csi-intr1", "csi-intr2";
2188		clocks = <&cru PCLK_CSI_HOST_2>;
2189		clock-names = "pclk_csi2host";
2190		resets = <&cru SRST_P_CSI_HOST_2>;
2191		reset-names = "srst_csihost_p";
2192		status = "okay";
2193	};
2194
2195	mipi3_csi2_hw: mipi3-csi2-hw@27cb0000 {
2196		compatible = "rockchip,rk3576-mipi-csi2-hw";
2197		reg = <0x0 0x27cb0000 0x0 0x10000>;
2198		reg-names = "csihost_regs";
2199		interrupts = <GIC_SPI 383 IRQ_TYPE_LEVEL_HIGH>,
2200			     <GIC_SPI 384 IRQ_TYPE_LEVEL_HIGH>;
2201		interrupt-names = "csi-intr1", "csi-intr2";
2202		clocks = <&cru PCLK_CSI_HOST_3>;
2203		clock-names = "pclk_csi2host";
2204		resets = <&cru SRST_P_CSI_HOST_3>;
2205		reset-names = "srst_csihost_p";
2206		status = "okay";
2207	};
2208
2209	mipi4_csi2_hw: mipi4-csi2-hw@27cc0000 {
2210		compatible = "rockchip,rk3576-mipi-csi2-hw";
2211		reg = <0x0 0x27cc0000 0x0 0x10000>;
2212		reg-names = "csihost_regs";
2213		interrupts = <GIC_SPI 385 IRQ_TYPE_LEVEL_HIGH>,
2214			     <GIC_SPI 386 IRQ_TYPE_LEVEL_HIGH>;
2215		interrupt-names = "csi-intr1", "csi-intr2";
2216		clocks = <&cru PCLK_CSI_HOST_4>;
2217		clock-names = "pclk_csi2host";
2218		resets = <&cru SRST_P_CSI_HOST_4>;
2219		reset-names = "srst_csihost_p";
2220		status = "okay";
2221	};
2222
2223	vop: vop@27d00000 {
2224		compatible = "rockchip,rk3576-vop";
2225		reg = <0x0 0x27d00000 0x0 0x3000>,
2226		      <0x0 0x27d05000 0x0 0x1000>,
2227		      <0x0 0x27d06400 0x0 0x800>,
2228		      <0x0 0x27d06c00 0x0 0x300>;
2229		reg-names = "regs",
2230			    "gamma_lut",
2231			    "acm_regs",
2232			    "sharp_regs";
2233		interrupts = <GIC_SPI 342 IRQ_TYPE_LEVEL_HIGH>,
2234			     <GIC_SPI 379 IRQ_TYPE_LEVEL_HIGH>,
2235			     <GIC_SPI 380 IRQ_TYPE_LEVEL_HIGH>,
2236			     <GIC_SPI 381 IRQ_TYPE_LEVEL_HIGH>;
2237		interrupt-names = "vop-sys",
2238				  "vop-vp0",
2239				  "vop-vp1",
2240				  "vop-vp2";
2241		clocks = <&cru ACLK_VOP>,
2242			 <&cru HCLK_VOP>,
2243			 <&cru DCLK_VP0_SRC>,
2244			 <&cru DCLK_VP1_SRC>,
2245			 <&cru DCLK_VP2_SRC>;
2246		clock-names = "aclk_vop",
2247			      "hclk_vop",
2248			      "dclk_vp0",
2249			      "dclk_vp1",
2250			      "dclk_vp2";
2251		iommus = <&vop_mmu>;
2252		power-domains = <&power RK3576_PD_VOP>;
2253		rockchip,grf = <&sys_grf>;
2254		rockchip,ioc-grf = <&ioc_grf>;
2255		rockchip,pmu = <&pmu>;
2256		status = "disabled";
2257
2258		vop_out: ports {
2259			#address-cells = <1>;
2260			#size-cells = <0>;
2261
2262			vp0: port@0 {
2263				#address-cells = <1>;
2264				#size-cells = <0>;
2265				reg = <0>;
2266
2267				vp0_out_dsi: endpoint@0 {
2268					reg = <0>;
2269					remote-endpoint = <&dsi_in_vp0>;
2270				};
2271
2272				vp0_out_edp: endpoint@1 {
2273					reg = <1>;
2274					remote-endpoint = <&edp_in_vp0>;
2275				};
2276
2277				vp0_out_hdmi: endpoint@2 {
2278					reg = <2>;
2279					remote-endpoint = <&hdmi_in_vp0>;
2280				};
2281
2282				vp0_out_dp0: endpoint@3 {
2283					reg = <3>;
2284					remote-endpoint = <&dp0_in_vp0>;
2285				};
2286
2287				vp0_out_dp1: endpoint@4 {
2288					reg = <4>;
2289					remote-endpoint = <&dp1_in_vp0>;
2290				};
2291
2292				vp0_out_dp2: endpoint@5 {
2293					reg = <5>;
2294					remote-endpoint = <&dp2_in_vp0>;
2295				};
2296			};
2297
2298			vp1: port@1 {
2299				#address-cells = <1>;
2300				#size-cells = <0>;
2301				reg = <1>;
2302
2303				vp1_out_rgb: endpoint@0 {
2304					reg = <0>;
2305					remote-endpoint = <&rgb_in_vp1>;
2306				};
2307
2308				vp1_out_dsi: endpoint@1 {
2309					reg = <1>;
2310					remote-endpoint = <&dsi_in_vp1>;
2311				};
2312
2313				vp1_out_edp: endpoint@2 {
2314					reg = <2>;
2315					remote-endpoint = <&edp_in_vp1>;
2316				};
2317
2318				vp1_out_hdmi: endpoint@3 {
2319					reg = <3>;
2320					remote-endpoint = <&hdmi_in_vp1>;
2321				};
2322
2323				vp1_out_dp0: endpoint@4 {
2324					reg = <4>;
2325					remote-endpoint = <&dp0_in_vp1>;
2326				};
2327
2328				vp1_out_dp1: endpoint@5 {
2329					reg = <5>;
2330					remote-endpoint = <&dp1_in_vp1>;
2331				};
2332
2333				vp1_out_dp2: endpoint@6 {
2334					reg = <6>;
2335					remote-endpoint = <&dp2_in_vp1>;
2336				};
2337			};
2338
2339			vp2: port@2 {
2340				#address-cells = <1>;
2341				#size-cells = <0>;
2342				reg = <2>;
2343
2344				vp2_out_rgb: endpoint@0 {
2345					reg = <0>;
2346					remote-endpoint = <&rgb_in_vp2>;
2347				};
2348
2349				vp2_out_dsi: endpoint@1 {
2350					reg = <1>;
2351					remote-endpoint = <&dsi_in_vp2>;
2352				};
2353
2354				vp2_out_edp: endpoint@2 {
2355					reg = <2>;
2356					remote-endpoint = <&edp_in_vp2>;
2357				};
2358
2359				vp2_out_hdmi: endpoint@3 {
2360					reg = <3>;
2361					remote-endpoint = <&hdmi_in_vp2>;
2362				};
2363
2364				vp2_out_dp0: endpoint@4 {
2365					reg = <4>;
2366					remote-endpoint = <&dp0_in_vp2>;
2367				};
2368
2369				vp2_out_dp1: endpoint@5 {
2370					reg = <5>;
2371					remote-endpoint = <&dp1_in_vp2>;
2372				};
2373
2374				vp2_out_dp2: endpoint@6 {
2375					reg = <6>;
2376					remote-endpoint = <&dp2_in_vp2>;
2377				};
2378			};
2379		};
2380	};
2381
2382	vop_mmu: iommu@27d07e00 {
2383		compatible = "rockchip,iommu-v2";
2384		reg = <0x0 0x27d07e00 0x0 0x100>, <0x0 0x27d07f00 0x0 0x100>;
2385		interrupts = <GIC_SPI 342 IRQ_TYPE_LEVEL_HIGH>;
2386		interrupt-names = "vop_mmu";
2387		clocks = <&cru ACLK_VOP>, <&cru HCLK_VOP>;
2388		clock-names = "aclk", "iface";
2389		#iommu-cells = <0>;
2390		rockchip,disable-device-link-resume;
2391		rockchip,shootdown-entire;
2392		status = "disabled";
2393	};
2394
2395	spdif_tx2: spdif-tx@27d20000 {
2396		compatible = "rockchip,rk3576-spdif", "rockchip,rk3568-spdif";
2397		reg = <0x0 0x27d20000 0x0 0x1000>;
2398		interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>;
2399		clocks = <&cru MCLK_SPDIF_TX2>, <&cru HCLK_SPDIF_TX2>;
2400		clock-names = "mclk", "hclk";
2401		dmas = <&dmac2 28>;
2402		dma-names = "tx";
2403		power-domains = <&power RK3576_PD_VO0>;
2404		#sound-dai-cells = <0>;
2405		status = "disabled";
2406	};
2407
2408	spdif_rx2: spdif-rx@27d30000 {
2409		compatible = "rockchip,rk3576-spdifrx", "rockchip,rk3308-spdifrx";
2410		reg = <0x0 0x27d30000 0x0 0x1000>;
2411		interrupts = <GIC_SPI 201 IRQ_TYPE_LEVEL_HIGH>;
2412		clocks = <&cru MCLK_SPDIF_RX2>, <&cru HCLK_SPDIF_RX2>;
2413		clock-names = "mclk", "hclk";
2414		dmas = <&dmac2 27>;
2415		dma-names = "rx";
2416		power-domains = <&power RK3576_PD_VO0>;
2417		resets = <&cru SRST_M_SPDIF_RX2>;
2418		reset-names = "spdifrx-m";
2419		status = "disabled";
2420	};
2421
2422	sai5: sai@27d40000 {
2423		compatible = "rockchip,rk3576-sai", "rockchip,sai-v1";
2424		reg = <0x0 0x27d40000 0x0 0x1000>;
2425		interrupts = <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>;
2426		clocks = <&cru MCLK_SAI5_8CH>, <&cru HCLK_SAI5_8CH>;
2427		clock-names = "mclk", "hclk";
2428		dmas = <&dmac2 3>;
2429		dma-names = "rx";
2430		power-domains = <&power RK3576_PD_VO0>;
2431		resets = <&cru SRST_M_SAI5_8CH>, <&cru SRST_H_SAI5_8CH>;
2432		reset-names = "m", "h";
2433		#sound-dai-cells = <0>;
2434		sound-name-prefix = "SAI5";
2435		status = "disabled";
2436	};
2437
2438	sai6: sai@27d50000 {
2439		compatible = "rockchip,rk3576-sai", "rockchip,sai-v1";
2440		reg = <0x0 0x27d50000 0x0 0x1000>;
2441		interrupts = <GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>;
2442		clocks = <&cru MCLK_SAI6_8CH>, <&cru HCLK_SAI6_8CH>;
2443		clock-names = "mclk", "hclk";
2444		dmas = <&dmac2 4>, <&dmac2 5>;
2445		dma-names = "tx", "rx";
2446		power-domains = <&power RK3576_PD_VO0>;
2447		resets = <&cru SRST_M_SAI6_8CH>, <&cru SRST_H_SAI6_8CH>;
2448		reset-names = "m", "h";
2449		#sound-dai-cells = <0>;
2450		sound-name-prefix = "SAI6";
2451		status = "disabled";
2452	};
2453
2454	dsi: dsi@27d80000 {
2455		compatible = "rockchip,rk3576-mipi-dsi2";
2456		reg = <0x0 0x27d80000 0x0 0x10000>;
2457		interrupts = <GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH>;
2458		clocks = <&cru PCLK_DSIHOST0>, <&cru CLK_DSIHOST0>;
2459		clock-names = "pclk", "sys_clk";
2460		resets = <&cru SRST_P_DSIHOST0>;
2461		reset-names = "apb";
2462		power-domains = <&power RK3576_PD_VO0>;
2463		phys = <&mipidcphy0>;
2464		phy-names = "dcphy";
2465		rockchip,grf = <&vo0_grf>;
2466		#address-cells = <1>;
2467		#size-cells = <0>;
2468		status = "disabled";
2469
2470		ports {
2471			#address-cells = <1>;
2472			#size-cells = <0>;
2473
2474			dsi_in: port@0 {
2475				reg = <0>;
2476				#address-cells = <1>;
2477				#size-cells = <0>;
2478
2479				dsi_in_vp0: endpoint@0 {
2480					reg = <0>;
2481					remote-endpoint = <&vp0_out_dsi>;
2482					status = "disabled";
2483				};
2484
2485				dsi_in_vp1: endpoint@1 {
2486					reg = <1>;
2487					remote-endpoint = <&vp1_out_dsi>;
2488					status = "disabled";
2489				};
2490
2491				dsi_in_vp2: endpoint@2 {
2492					reg = <2>;
2493					remote-endpoint = <&vp2_out_dsi>;
2494					status = "disabled";
2495				};
2496
2497				dsi_in_vopl: endpoint@3 {
2498					reg = <3>;
2499					remote-endpoint = <&vopl_out_dsi>;
2500					status = "disabled";
2501				};
2502			};
2503		};
2504	};
2505
2506	hdcp0: hdcp@27d90000 {
2507		compatible = "rockchip,rk3576-hdcp";
2508		reg = <0x0 0x27d90000 0x0 0x80>;
2509		interrupts = <GIC_SPI 335 IRQ_TYPE_LEVEL_HIGH>;
2510		clocks = <&aclk_hdcp0>, <&cru PCLK_HDCP0>,
2511			 <&cru HCLK_HDCP0>, <&scmi_clk HCLK_HDCP_KEY0>,
2512			 <&scmi_clk PCLK_HDCP0_TRNG>;
2513		clock-names = "aclk", "pclk", "hclk", "hclk_key", "pclk_trng";
2514		resets = <&cru SRST_HDCP0>, <&cru SRST_H_HDCP0>,
2515			 <&cru SRST_A_HDCP0>;
2516		reset-names = "hdcp", "h_hdcp", "a_hdcp";
2517		power-domains = <&power RK3576_PD_VO0>;
2518		rockchip,vo-grf = <&vo0_grf>;
2519		status = "disabled";
2520	};
2521
2522	hdmi: hdmi@27da0000 {
2523		compatible = "rockchip,rk3576-dw-hdmi";
2524		reg = <0x0 0x27da0000 0x0 0x10000>, <0x0 0x27db0000 0x0 0x10000>;
2525		interrupts = <GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH>,
2526			     <GIC_SPI 339 IRQ_TYPE_LEVEL_HIGH>,
2527			     <GIC_SPI 340 IRQ_TYPE_LEVEL_HIGH>,
2528			     <GIC_SPI 341 IRQ_TYPE_LEVEL_HIGH>,
2529			     <GIC_SPI 367 IRQ_TYPE_LEVEL_HIGH>;
2530		clocks = <&cru PCLK_HDMITX0>,
2531			 <&cru CLK_HDMITXHPD>,
2532			 <&cru CLK_HDMITX0_EARC>,
2533			 <&cru CLK_HDMITX0_REF>,
2534			 <&cru MCLK_SAI5_8CH>,
2535			 <&cru DCLK_VP0>,
2536			 <&cru DCLK_VP1>,
2537			 <&cru DCLK_VP2>,
2538			 <&cru DCLK_EBC>,
2539			 <&hclk_vo1>,
2540			 <&hdptxphy_hdmi>;
2541		clock-names = "pclk",
2542			      "hpd",
2543			      "earc",
2544			      "hdmitx_ref",
2545			      "aud",
2546			      "dclk_vp0",
2547			      "dclk_vp1",
2548			      "dclk_vp2",
2549			      "dclk_ebc",
2550			      "hclk_vo1",
2551			      "link_clk";
2552		resets = <&cru SRST_HDMITX0_REF>, <&cru SRST_HDMITXHPD>;
2553		reset-names = "ref", "hdp";
2554		power-domains = <&power RK3576_PD_VO0>;
2555		pinctrl-names = "default";
2556		pinctrl-0 = <&hdmi_txm0_pins &hdmi_tx_scl &hdmi_tx_sda>;
2557		reg-io-width = <4>;
2558		rockchip,grf = <&sys_grf>;
2559		rockchip,vo1_grf = <&vo0_grf>;
2560		phys = <&hdptxphy_hdmi>;
2561		phy-names = "hdmi";
2562		#sound-dai-cells = <0>;
2563		status = "disabled";
2564
2565		ports {
2566			#address-cells = <1>;
2567			#size-cells = <0>;
2568
2569			hdmi_in: port@0 {
2570				reg = <0>;
2571				#address-cells = <1>;
2572				#size-cells = <0>;
2573
2574				hdmi_in_vp0: endpoint@0 {
2575					reg = <0>;
2576					remote-endpoint = <&vp0_out_hdmi>;
2577					status = "disabled";
2578				};
2579
2580				hdmi_in_vp1: endpoint@1 {
2581					reg = <1>;
2582					remote-endpoint = <&vp1_out_hdmi>;
2583					status = "disabled";
2584				};
2585
2586				hdmi_in_vp2: endpoint@2 {
2587					reg = <2>;
2588					remote-endpoint = <&vp2_out_hdmi>;
2589					status = "disabled";
2590				};
2591
2592				hdmi_in_vopl: endpoint@3 {
2593					reg = <3>;
2594					remote-endpoint = <&vopl_out_hdmi>;
2595					status = "disabled";
2596				};
2597			};
2598		};
2599	};
2600
2601	edp: edp@27dc0000 {
2602		compatible = "rockchip,rk3576-edp";
2603		reg = <0x0 0x27dc0000 0x0 0x1000>;
2604		interrupts = <GIC_SPI 365 IRQ_TYPE_LEVEL_HIGH>;
2605		clocks = <&cru CLK_EDP0_24M>, <&cru PCLK_EDP0>,
2606			 <&cru CLK_EDP0_200M>, <&hclk_vo0>;
2607		clock-names = "dp", "pclk", "spdif", "hclk";
2608		resets = <&cru SRST_EDP0_24M>, <&cru SRST_P_EDP0>;
2609		reset-names = "dp", "apb";
2610		phys = <&hdptxphy>;
2611		phy-names = "dp";
2612		power-domains = <&power RK3576_PD_VO0>;
2613		rockchip,grf = <&vo0_grf>;
2614		status = "disabled";
2615
2616		ports {
2617			#address-cells = <1>;
2618			#size-cells = <0>;
2619
2620			port@0 {
2621				reg = <0>;
2622				#address-cells = <1>;
2623				#size-cells = <0>;
2624
2625				edp_in_vp0: endpoint@0 {
2626					reg = <0>;
2627					remote-endpoint = <&vp0_out_edp>;
2628					status = "disabled";
2629				};
2630
2631				edp_in_vp1: endpoint@1 {
2632					reg = <1>;
2633					remote-endpoint = <&vp1_out_edp>;
2634					status = "disabled";
2635				};
2636
2637				edp_in_vp2: endpoint@2 {
2638					reg = <2>;
2639					remote-endpoint = <&vp2_out_edp>;
2640					status = "disabled";
2641				};
2642
2643				edp_in_vopl: endpoint@3 {
2644					reg = <3>;
2645					remote-endpoint = <&vopl_out_edp>;
2646					status = "disabled";
2647				};
2648			};
2649		};
2650	};
2651
2652	dp: dp@27e40000 {
2653		compatible = "rockchip,rk3576-dp";
2654		reg = <0x0 0x27e40000 0x0 0x30000>;
2655		interrupts = <GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH>;
2656		clocks = <&cru PCLK_DP0>, <&cru CLK_AUX16MHZ_0>,
2657			 <&cru ACLK_DP0>;
2658		clock-names = "apb", "aux", "hdcp";
2659		assigned-clocks = <&cru CLK_AUX16MHZ_0>;
2660		assigned-clock-rates = <16000000>;
2661		resets = <&cru SRST_DP0>;
2662		phys = <&usbdp_phy_dp>;
2663		power-domains = <&power RK3576_PD_VO1>;
2664		status = "disabled";
2665
2666		dp0: dp0 {
2667			ports {
2668				#address-cells = <1>;
2669				#size-cells = <0>;
2670
2671				port@0 {
2672					reg = <0>;
2673					#address-cells = <1>;
2674					#size-cells = <0>;
2675
2676					dp0_in_vp0: endpoint@0 {
2677						reg = <0>;
2678						remote-endpoint = <&vp0_out_dp0>;
2679						status = "disabled";
2680					};
2681
2682					dp0_in_vp1: endpoint@1 {
2683						reg = <1>;
2684						remote-endpoint = <&vp1_out_dp0>;
2685						status = "disabled";
2686					};
2687
2688					dp0_in_vp2: endpoint@2 {
2689						reg = <2>;
2690						remote-endpoint = <&vp2_out_dp0>;
2691						status = "disabled";
2692					};
2693				};
2694			};
2695		};
2696
2697		dp1: dp1 {
2698			ports {
2699				#address-cells = <1>;
2700				#size-cells = <0>;
2701
2702				port@0 {
2703					reg = <0>;
2704					#address-cells = <1>;
2705					#size-cells = <0>;
2706
2707					dp1_in_vp0: endpoint@0 {
2708						reg = <0>;
2709						remote-endpoint = <&vp0_out_dp1>;
2710						status = "disabled";
2711					};
2712
2713					dp1_in_vp1: endpoint@1 {
2714						reg = <1>;
2715						remote-endpoint = <&vp1_out_dp1>;
2716						status = "disabled";
2717					};
2718
2719					dp1_in_vp2: endpoint@2 {
2720						reg = <2>;
2721						remote-endpoint = <&vp2_out_dp1>;
2722						status = "disabled";
2723					};
2724				};
2725			};
2726		};
2727
2728		dp2: dp2 {
2729			ports {
2730				#address-cells = <1>;
2731				#size-cells = <0>;
2732				port@0 {
2733					reg = <0>;
2734					#address-cells = <1>;
2735					#size-cells = <0>;
2736
2737					dp2_in_vp0: endpoint@0 {
2738						reg = <0>;
2739						remote-endpoint = <&vp0_out_dp2>;
2740						status = "disabled";
2741					};
2742
2743					dp2_in_vp1: endpoint@1 {
2744						reg = <1>;
2745						remote-endpoint = <&vp1_out_dp2>;
2746						status = "disabled";
2747					};
2748
2749					dp2_in_vp2: endpoint@2 {
2750						reg = <2>;
2751						remote-endpoint = <&vp2_out_dp2>;
2752						status = "disabled";
2753					};
2754				};
2755			};
2756		};
2757	};
2758
2759	hdcp1: hdcp@27e70000 {
2760		compatible = "rockchip,rk3576-hdcp";
2761		reg = <0x0 0x27e70000 0x0 0x80>;
2762		interrupts = <GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH>;
2763		clocks = <&aclk_hdcp1>, <&cru PCLK_HDCP1>,
2764			 <&cru HCLK_HDCP1>, <&scmi_clk HCLK_HDCP_KEY1>,
2765			 <&scmi_clk PCLK_HDCP1_TRNG>;
2766		clock-names = "aclk", "pclk", "hclk", "hclk_key", "pclk_trng";
2767		resets = <&cru SRST_HDCP1>, <&cru SRST_H_HDCP1>,
2768			 <&cru SRST_A_HDCP1>;
2769		reset-names = "hdcp", "h_hdcp", "a_hdcp";
2770		power-domains = <&power RK3576_PD_VO1>;
2771		rockchip,vo-grf = <&vo1_grf>;
2772		status = "disabled";
2773	};
2774
2775	spdif_tx3: spdif-tx@27ea0000 {
2776		compatible = "rockchip,rk3576-spdif", "rockchip,rk3568-spdif";
2777		reg = <0x0 0x27ea0000 0x0 0x1000>;
2778		interrupts = <GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>;
2779		clocks = <&cru MCLK_SPDIF_TX3>, <&cru HCLK_SPDIF_TX3>;
2780		clock-names = "mclk", "hclk";
2781		dmas = <&dmac2 29>;
2782		dma-names = "tx";
2783		power-domains = <&power RK3576_PD_VO1>;
2784		#sound-dai-cells = <0>;
2785		status = "disabled";
2786	};
2787
2788	spdif_tx4: spdif-tx@27eb0000 {
2789		compatible = "rockchip,rk3576-spdif", "rockchip,rk3568-spdif";
2790		reg = <0x0 0x27eb0000 0x0 0x1000>;
2791		interrupts = <GIC_SPI 370 IRQ_TYPE_LEVEL_HIGH>;
2792		clocks = <&cru MCLK_SPDIF_TX4>, <&cru HCLK_SPDIF_TX4>;
2793		clock-names = "mclk", "hclk";
2794		dmas = <&dmac1 6>;
2795		dma-names = "tx";
2796		power-domains = <&power RK3576_PD_VO1>;
2797		#sound-dai-cells = <0>;
2798		status = "disabled";
2799	};
2800
2801	spdif_tx5: spdif-tx@27ec0000 {
2802		compatible = "rockchip,rk3576-spdif", "rockchip,rk3568-spdif";
2803		reg = <0x0 0x27ec0000 0x0 0x1000>;
2804		interrupts = <GIC_SPI 371 IRQ_TYPE_LEVEL_HIGH>;
2805		clocks = <&cru MCLK_SPDIF_TX5>, <&cru HCLK_SPDIF_TX5>;
2806		clock-names = "mclk", "hclk";
2807		dmas = <&dmac0 25>;
2808		dma-names = "tx";
2809		power-domains = <&power RK3576_PD_VO1>;
2810		#sound-dai-cells = <0>;
2811		status = "disabled";
2812	};
2813
2814	sai7: sai@27ed0000 {
2815		compatible = "rockchip,rk3576-sai", "rockchip,sai-v1";
2816		reg = <0x0 0x27ed0000 0x0 0x1000>;
2817		interrupts = <GIC_SPI 194 IRQ_TYPE_LEVEL_HIGH>;
2818		clocks = <&cru MCLK_SAI7_8CH>, <&cru HCLK_SAI7_8CH>;
2819		clock-names = "mclk", "hclk";
2820		dmas = <&dmac2 19>;
2821		dma-names = "tx";
2822		power-domains = <&power RK3576_PD_VO1>;
2823		resets = <&cru SRST_M_SAI7_8CH>, <&cru SRST_H_SAI7_8CH>;
2824		reset-names = "m", "h";
2825		#sound-dai-cells = <0>;
2826		sound-name-prefix = "SAI7";
2827		status = "disabled";
2828	};
2829
2830	sai8: sai@27ee0000 {
2831		compatible = "rockchip,rk3576-sai", "rockchip,sai-v1";
2832		reg = <0x0 0x27ee0000 0x0 0x1000>;
2833		interrupts = <GIC_SPI 372 IRQ_TYPE_LEVEL_HIGH>;
2834		clocks = <&cru MCLK_SAI8_8CH>, <&cru HCLK_SAI8_8CH>;
2835		clock-names = "mclk", "hclk";
2836		dmas = <&dmac1 7>;
2837		dma-names = "tx";
2838		power-domains = <&power RK3576_PD_VO1>;
2839		resets = <&cru SRST_M_SAI8_8CH>, <&cru SRST_H_SAI8_8CH>;
2840		reset-names = "m", "h";
2841		#sound-dai-cells = <0>;
2842		sound-name-prefix = "SAI8";
2843		status = "disabled";
2844	};
2845
2846	sai9: sai@27ef0000 {
2847		compatible = "rockchip,rk3576-sai", "rockchip,sai-v1";
2848		reg = <0x0 0x27ef0000 0x0 0x1000>;
2849		interrupts = <GIC_SPI 373 IRQ_TYPE_LEVEL_HIGH>;
2850		clocks = <&cru MCLK_SAI9_8CH>, <&cru HCLK_SAI9_8CH>;
2851		clock-names = "mclk", "hclk";
2852		dmas = <&dmac0 26>;
2853		dma-names = "tx";
2854		power-domains = <&power RK3576_PD_VO1>;
2855		resets = <&cru SRST_M_SAI9_8CH>, <&cru SRST_H_SAI9_8CH>;
2856		reset-names = "m", "h";
2857		#sound-dai-cells = <0>;
2858		sound-name-prefix = "SAI9";
2859		status = "disabled";
2860	};
2861
2862	pcie0: pcie@2a200000 {
2863		compatible = "rockchip,rk3576-pcie", "snps,dw-pcie";
2864		#address-cells = <3>;
2865		#size-cells = <2>;
2866		bus-range = <0x0 0xf>;
2867		clocks = <&cru ACLK_PCIE0_MST>, <&cru ACLK_PCIE0_SLV>,
2868			 <&cru ACLK_PCIE0_DBI>, <&cru PCLK_PCIE0>,
2869			 <&cru CLK_PCIE0_AUX>;
2870		clock-names = "aclk_mst", "aclk_slv",
2871			      "aclk_dbi", "pclk",
2872			      "aux";
2873		device_type = "pci";
2874		interrupts = <GIC_SPI 281 IRQ_TYPE_LEVEL_HIGH>,
2875			     <GIC_SPI 282 IRQ_TYPE_LEVEL_HIGH>,
2876			     <GIC_SPI 279 IRQ_TYPE_LEVEL_HIGH>,
2877			     <GIC_SPI 280 IRQ_TYPE_LEVEL_HIGH>,
2878			     <GIC_SPI 278 IRQ_TYPE_LEVEL_HIGH>;
2879		interrupt-names = "sys", "pmc", "msg", "legacy", "err";
2880		#interrupt-cells = <1>;
2881		interrupt-map-mask = <0 0 0 7>;
2882		interrupt-map = <0 0 0 1 &pcie0_intc 0>,
2883				<0 0 0 2 &pcie0_intc 1>,
2884				<0 0 0 3 &pcie0_intc 2>,
2885				<0 0 0 4 &pcie0_intc 3>;
2886		linux,pci-domain = <0>;
2887		num-ib-windows = <8>;
2888		num-viewport = <8>;
2889		num-ob-windows = <2>;
2890		max-link-speed = <2>;
2891		num-lanes = <1>;
2892		phys = <&combphy0_ps PHY_TYPE_PCIE>;
2893		phy-names = "pcie-phy";
2894		power-domains = <&power RK3576_PD_PHP>;
2895		ranges = <0x81000000 0x0 0x20000000 0x0 0x20000000 0x0 0x00100000
2896			  0x82000000 0x0 0x20100000 0x0 0x20100000 0x0 0x00f00000
2897			  0xc3000000 0x9 0x00000000 0x9 0x00000000 0x0 0x80000000>;
2898		reg = <0x0 0x2a200000 0x0 0x00010000>,
2899		      <0x0 0x22000000 0x0 0x00400000>,
2900		      <0x0 0x20000000 0x0 0x00100000>;
2901		reg-names = "pcie-apb", "pcie-dbi", "config";
2902		resets = <&cru SRST_PCIE0_POWER_UP>;
2903		reset-names = "pipe";
2904		status = "disabled";
2905
2906		pcie0_intc: legacy-interrupt-controller {
2907			interrupt-controller;
2908			#address-cells = <0>;
2909			#interrupt-cells = <1>;
2910			interrupt-parent = <&gic>;
2911			interrupts = <GIC_SPI 280 IRQ_TYPE_EDGE_RISING>;
2912		};
2913	};
2914
2915	pcie1: pcie@2a210000 {
2916		compatible = "rockchip,rk3576-pcie", "snps,dw-pcie";
2917		#address-cells = <3>;
2918		#size-cells = <2>;
2919		bus-range = <0x20 0x2f>;
2920		clocks = <&cru ACLK_PCIE1_MST>, <&cru ACLK_PCIE1_SLV>,
2921			 <&cru ACLK_PCIE1_DBI>, <&cru PCLK_PCIE1>,
2922			 <&cru CLK_PCIE1_AUX>;
2923		clock-names = "aclk_mst", "aclk_slv",
2924			      "aclk_dbi", "pclk",
2925			      "aux";
2926		device_type = "pci";
2927		interrupts = <GIC_SPI 267 IRQ_TYPE_LEVEL_HIGH>,
2928			     <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>,
2929			     <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH>,
2930			     <GIC_SPI 266 IRQ_TYPE_LEVEL_HIGH>,
2931			     <GIC_SPI 264 IRQ_TYPE_LEVEL_HIGH>;
2932		interrupt-names = "sys", "pmc", "msg", "legacy", "err";
2933		#interrupt-cells = <1>;
2934		interrupt-map-mask = <0 0 0 7>;
2935		interrupt-map = <0 0 0 1 &pcie1_intc 0>,
2936				<0 0 0 2 &pcie1_intc 1>,
2937				<0 0 0 3 &pcie1_intc 2>,
2938				<0 0 0 4 &pcie1_intc 3>;
2939		linux,pci-domain = <0>;
2940		num-ib-windows = <8>;
2941		num-viewport = <8>;
2942		num-ob-windows = <2>;
2943		max-link-speed = <2>;
2944		num-lanes = <1>;
2945		phys = <&combphy1_psu PHY_TYPE_PCIE>;
2946		phy-names = "pcie-phy";
2947		power-domains = <&power RK3576_PD_SUBPHP>;
2948		ranges = <0x81000000 0x0 0x21000000 0x0 0x21000000 0x0 0x00100000
2949			  0x82000000 0x0 0x21100000 0x0 0x21100000 0x0 0x00f00000
2950			  0x83000000 0x9 0x80000000 0x9 0x80000000 0x0 0x80000000>;
2951		reg = <0x0 0x2a210000 0x0 0x00010000>,
2952		      <0x0 0x22400000 0x0 0x00400000>,
2953		      <0x0 0x21000000 0x0 0x00100000>;
2954		reg-names = "pcie-apb", "pcie-dbi", "config";
2955		resets = <&cru SRST_PCIE1_POWER_UP>;
2956		reset-names = "pipe";
2957		status = "disabled";
2958
2959		pcie1_intc: legacy-interrupt-controller {
2960			interrupt-controller;
2961			#address-cells = <0>;
2962			#interrupt-cells = <1>;
2963			interrupt-parent = <&gic>;
2964			interrupts = <GIC_SPI 266 IRQ_TYPE_EDGE_RISING>;
2965		};
2966	};
2967
2968	gmac0: ethernet@2a220000 {
2969		compatible = "rockchip,rk3576-gmac", "snps,dwmac-4.20a";
2970		reg = <0x0 0x2a220000 0x0 0x10000>;
2971		interrupts = <GIC_SPI 293 IRQ_TYPE_LEVEL_HIGH>,
2972			     <GIC_SPI 298 IRQ_TYPE_LEVEL_HIGH>;
2973		interrupt-names = "macirq", "eth_wake_irq";
2974		rockchip,grf = <&sdgmac_grf>;
2975		rockchip,php_grf = <&ioc_grf>;
2976		clocks = <&cru CLK_GMAC0_125M_SRC>, <&cru CLK_GMAC0_RMII_CRU>,
2977			 <&cru PCLK_GMAC0>, <&cru ACLK_GMAC0>,
2978			 <&cru CLK_GMAC0_PTP_REF>;
2979		clock-names = "stmmaceth", "clk_mac_ref",
2980			      "pclk_mac", "aclk_mac",
2981			      "ptp_ref";
2982		resets = <&cru SRST_A_GMAC0>;
2983		reset-names = "stmmaceth";
2984		power-domains = <&power RK3576_PD_SDGMAC>;
2985
2986		snps,mixed-burst;
2987		snps,tso;
2988
2989		snps,axi-config = <&gmac0_stmmac_axi_setup>;
2990		snps,mtl-rx-config = <&gmac0_mtl_rx_setup>;
2991		snps,mtl-tx-config = <&gmac0_mtl_tx_setup>;
2992		status = "disabled";
2993
2994		mdio0: mdio {
2995			compatible = "snps,dwmac-mdio";
2996			#address-cells = <0x1>;
2997			#size-cells = <0x0>;
2998		};
2999
3000		gmac0_stmmac_axi_setup: stmmac-axi-config {
3001			snps,wr_osr_lmt = <4>;
3002			snps,rd_osr_lmt = <8>;
3003			snps,blen = <0 0 0 0 16 8 4>;
3004		};
3005
3006		gmac0_mtl_rx_setup: rx-queues-config {
3007			snps,rx-queues-to-use = <1>;
3008			queue0 {};
3009		};
3010
3011		gmac0_mtl_tx_setup: tx-queues-config {
3012			snps,tx-queues-to-use = <1>;
3013			queue0 {};
3014		};
3015	};
3016
3017	gmac1: ethernet@2a230000 {
3018		compatible = "rockchip,rk3576-gmac", "snps,dwmac-4.20a";
3019		reg = <0x0 0x2a230000 0x0 0x10000>;
3020		interrupts = <GIC_SPI 301 IRQ_TYPE_LEVEL_HIGH>,
3021			     <GIC_SPI 306 IRQ_TYPE_LEVEL_HIGH>;
3022		interrupt-names = "macirq", "eth_wake_irq";
3023		rockchip,grf = <&sdgmac_grf>;
3024		rockchip,php_grf = <&ioc_grf>;
3025		clocks = <&cru CLK_GMAC1_125M_SRC>, <&cru CLK_GMAC1_RMII_CRU>,
3026			 <&cru PCLK_GMAC1>, <&cru ACLK_GMAC1>,
3027			 <&cru CLK_GMAC1_PTP_REF>;
3028		clock-names = "stmmaceth", "clk_mac_ref",
3029			      "pclk_mac", "aclk_mac",
3030			      "ptp_ref";
3031		resets = <&cru SRST_A_GMAC1>;
3032		reset-names = "stmmaceth";
3033		power-domains = <&power RK3576_PD_SDGMAC>;
3034
3035		snps,mixed-burst;
3036		snps,tso;
3037
3038		snps,axi-config = <&gmac1_stmmac_axi_setup>;
3039		snps,mtl-rx-config = <&gmac1_mtl_rx_setup>;
3040		snps,mtl-tx-config = <&gmac1_mtl_tx_setup>;
3041		status = "disabled";
3042
3043		mdio1: mdio {
3044			compatible = "snps,dwmac-mdio";
3045			#address-cells = <0x1>;
3046			#size-cells = <0x0>;
3047		};
3048
3049		gmac1_stmmac_axi_setup: stmmac-axi-config {
3050			snps,wr_osr_lmt = <4>;
3051			snps,rd_osr_lmt = <8>;
3052			snps,blen = <0 0 0 0 16 8 4>;
3053		};
3054
3055		gmac1_mtl_rx_setup: rx-queues-config {
3056			snps,rx-queues-to-use = <1>;
3057			queue0 {};
3058		};
3059
3060		gmac1_mtl_tx_setup: tx-queues-config {
3061			snps,tx-queues-to-use = <1>;
3062			queue0 {};
3063		};
3064	};
3065
3066	sata0: sata@2a240000 {
3067		compatible = "rockchip,rk-ahci", "snps,dwc-ahci";
3068		reg = <0 0x2a240000 0 0x1000>;
3069		clocks = <&cru ACLK_SATA0>, <&cru CLK_PMALIVE0>,
3070			 <&cru CLK_RXOOB0>;
3071		clock-names = "sata", "pmalive", "rxoob";
3072		interrupts = <GIC_SPI 262 IRQ_TYPE_LEVEL_HIGH>;
3073		interrupt-names = "hostc";
3074		power-domains = <&power RK3576_PD_SUBPHP>;
3075		phys = <&combphy0_ps PHY_TYPE_SATA>;
3076		phy-names = "sata-phy";
3077		ports-implemented = <0x1>;
3078		status = "disabled";
3079	};
3080
3081	sata1: sata@2a250000 {
3082		compatible = "rockchip,rk-ahci", "snps,dwc-ahci";
3083		reg = <0 0x2a250000 0 0x1000>;
3084		clocks = <&cru ACLK_SATA1>, <&cru CLK_PMALIVE1>,
3085			 <&cru CLK_RXOOB1>;
3086		clock-names = "sata", "pmalive", "rxoob";
3087		interrupts = <GIC_SPI 263 IRQ_TYPE_LEVEL_HIGH>;
3088		interrupt-names = "hostc";
3089		power-domains = <&power RK3576_PD_SUBPHP>;
3090		phys = <&combphy1_psu PHY_TYPE_SATA>;
3091		phy-names = "sata-phy";
3092		ports-implemented = <0x1>;
3093		status = "disabled";
3094	};
3095
3096	mmu0: iommu@2a260000 {
3097		compatible = "rockchip,iommu-v2";
3098		reg = <0x0 0x2a260000 0x0 0x100>;
3099		interrupts = <GIC_SPI 257 IRQ_TYPE_LEVEL_HIGH>;
3100		interrupt-names = "mmu0";
3101		clocks = <&cru ACLK_MMU0>, <&cru ACLK_SLV_MMU0>, <&cru PCLK_PHP_ROOT>;
3102		clock-names = "aclk", "iface", "root";
3103		power-domains = <&power RK3576_PD_PHP>;
3104		#iommu-cells = <0>;
3105		status = "disabled";
3106	};
3107
3108	mmu1: iommu@2a270000 {
3109		compatible = "rockchip,iommu-v2";
3110		reg = <0x0 0x2a270000 0x0 0x100>;
3111		interrupts = <GIC_SPI 258 IRQ_TYPE_LEVEL_HIGH>;
3112		interrupt-names = "mmu1";
3113		clocks = <&cru ACLK_MMU1>, <&cru ACLK_SLV_MMU1>, <&cru PCLK_PHP_ROOT>;
3114		clock-names = "aclk", "iface", "root";
3115		power-domains = <&power RK3576_PD_PHP>;
3116		#iommu-cells = <0>;
3117		status = "disabled";
3118	};
3119
3120	mmu2: iommu@2a2c0000 {
3121		compatible = "rockchip,iommu-v2";
3122		reg = <0x0 0x2a2c0000 0x0 0x100>;
3123		interrupts = <GIC_SPI 259 IRQ_TYPE_LEVEL_HIGH>;
3124		interrupt-names = "mmu2";
3125		clocks = <&cru ACLK_MMU2>, <&cru ACLK_SLV_MMU2>, <&cru PCLK_USB_ROOT>;
3126		clock-names = "aclk", "iface", "root";
3127		power-domains = <&power RK3576_PD_USB>;
3128		#iommu-cells = <0>;
3129		status = "disabled";
3130	};
3131
3132	ufs: ufs@2a2d0000 {
3133		compatible = "rockchip,rk3576-ufs";
3134		reg = <0x0 0x2a2d0000 0 0x10000>, /* 0: HCI standard */
3135		      <0x0 0x2b040000 0 0x10000>, /* 1: Mphy */
3136		      <0x0 0x2601f000 0 0x1000>,  /* 2: HCI Vendor specified */
3137		      <0x0 0x2603c000 0 0x1000>,  /* 3: Mphy Vendor specified */
3138		      <0x0 0x2a2e0000 0 0x10000>; /* 4: HCI apb */
3139		reg-names = "hci", "mphy", "hci_grf", "mphy_grf", "hci_apb";
3140		clocks = <&cru ACLK_UFS_SYS>, <&cru PCLK_USB_ROOT>, <&cru PCLK_MPHY>,
3141			 <&cru CLK_REF_UFS_CLKOUT>;
3142		clock-names = "core", "pclk", "pclk_mphy",
3143			      "ref_out";
3144		assigned-clocks = <&cru CLK_REF_OSC_MPHY>;
3145		assigned-clock-parents = <&cru CLK_REF_MPHY_26M>;
3146		interrupts = <GIC_SPI 361 IRQ_TYPE_LEVEL_HIGH>;
3147		power-domains = <&power RK3576_PD_USB>;
3148		pinctrl-0 = <&ufs_rst &ufs_refclk>;
3149		pinctrl-names = "default";
3150		resets = <&cru SRST_A_UFS_BIU>;
3151		reset-names = "rst";
3152		status = "disabled";
3153	};
3154
3155	sfc1: spi@2a300000 {
3156		compatible = "rockchip,sfc";
3157		reg = <0x0 0x2a300000 0x0 0x4000>;
3158		interrupts = <GIC_SPI 255 IRQ_TYPE_LEVEL_HIGH>;
3159		clocks = <&cru SCLK_FSPI1_X2>, <&cru HCLK_FSPI1>;
3160		clock-names = "clk_sfc", "hclk_sfc";
3161		assigned-clocks = <&cru SCLK_FSPI1_X2>;
3162		assigned-clock-rates = <80000000>;
3163		#address-cells = <1>;
3164		#size-cells = <0>;
3165		status = "disabled";
3166	};
3167
3168	sdmmc: mmc@2a310000 {
3169		compatible = "rockchip,rk3576-dw-mshc",
3170			     "rockchip,rk3288-dw-mshc";
3171		reg = <0x0 0x2a310000 0x0 0x4000>;
3172		interrupts = <GIC_SPI 251 IRQ_TYPE_LEVEL_HIGH>;
3173		max-frequency = <200000000>;
3174		clocks = <&cru HCLK_SDMMC0>, <&cru CCLK_SRC_SDMMC0>;
3175		clock-names = "biu", "ciu";
3176		fifo-depth = <0x100>;
3177		pinctrl-names = "default";
3178		pinctrl-0 = <&sdmmc0_clk &sdmmc0_cmd &sdmmc0_det &sdmmc0_bus4 &sdmmc0_pwren>;
3179		resets = <&cru SRST_H_SDMMC0>;
3180		reset-names = "reset";
3181		rockchip,use-v2-tuning;
3182		status = "disabled";
3183	};
3184
3185	sdio: mmc@2a320000 {
3186		compatible = "rockchip,rk3576-dw-mshc",
3187			     "rockchip,rk3288-dw-mshc";
3188		reg = <0x0 0x2a320000 0x0 0x4000>;
3189		interrupts = <GIC_SPI 252 IRQ_TYPE_LEVEL_HIGH>;
3190		max-frequency = <200000000>;
3191		clocks = <&cru HCLK_SDIO>, <&cru CCLK_SRC_SDIO>;
3192		clock-names = "biu", "ciu";
3193		fifo-depth = <0x100>;
3194		pinctrl-names = "default";
3195		pinctrl-0 = <&sdmmc1m0_clk &sdmmc1m0_cmd &sdmmc1m0_bus4>;
3196		resets = <&cru SRST_H_SDIO>;
3197		reset-names = "reset";
3198		rockchip,use-v2-tuning;
3199		status = "disabled";
3200	};
3201
3202	sdhci: mmc@2a330000 {
3203		compatible = "rockchip,rk3576-dwcmshc", "rockchip,rk3588-dwcmshc";
3204		reg = <0x0 0x2a330000 0x0 0x10000>;
3205		interrupts = <GIC_SPI 253 IRQ_TYPE_LEVEL_HIGH>;
3206		assigned-clocks = <&cru BCLK_EMMC>, <&cru TCLK_EMMC>, <&cru CCLK_SRC_EMMC>;
3207		assigned-clock-rates = <200000000>, <24000000>, <200000000>;
3208		clocks = <&cru CCLK_SRC_EMMC>, <&cru HCLK_EMMC>,
3209			 <&cru ACLK_EMMC>, <&cru BCLK_EMMC>,
3210			 <&cru TCLK_EMMC>;
3211		clock-names = "core", "bus", "axi", "block", "timer";
3212		resets = <&cru SRST_C_EMMC>, <&cru SRST_H_EMMC>,
3213			 <&cru SRST_A_EMMC>, <&cru SRST_B_EMMC>,
3214			 <&cru SRST_T_EMMC>;
3215		reset-names = "core", "bus", "axi", "block", "timer";
3216		max-frequency = <200000000>;
3217		status = "disabled";
3218	};
3219
3220	sfc0: spi@2a340000 {
3221		compatible = "rockchip,sfc";
3222		reg = <0x0 0x2a340000 0x0 0x4000>;
3223		interrupts = <GIC_SPI 254 IRQ_TYPE_LEVEL_HIGH>;
3224		clocks = <&cru SCLK_FSPI_X2>, <&cru HCLK_FSPI>;
3225		clock-names = "clk_sfc", "hclk_sfc";
3226		assigned-clocks = <&cru SCLK_FSPI_X2>;
3227		assigned-clock-rates = <80000000>;
3228		#address-cells = <1>;
3229		#size-cells = <0>;
3230		status = "disabled";
3231	};
3232
3233	crypto: crypto@2a400000 {
3234		compatible = "rockchip,crypto-v4";
3235		reg = <0x0 0x2a400000 0x0 0x2000>;
3236		interrupts = <GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH>;
3237		clocks = <&cru ACLK_CRYPTO_NS>, <&cru HCLK_CRYPTO_NS>,
3238			 <&cru CLK_PKA_CRYPTO_NS>;
3239		clock-names = "aclk", "hclk", "pka";
3240		assigned-clocks = <&cru ACLK_CRYPTO_NS>, <&cru CLK_PKA_CRYPTO_NS>;
3241		assigned-clock-rates = <300000000>, <300000000>;
3242		resets = <&cru SRST_H_CRYPTO_NS>;
3243		reset-names = "crypto-rst";
3244		status = "disabled";
3245	};
3246
3247	rng: rng@2a410000 {
3248		compatible = "rockchip,rkrng";
3249		reg = <0x0 0x2a410000 0x0 0x200>;
3250		interrupts = <GIC_SPI 181 IRQ_TYPE_LEVEL_HIGH>;
3251		clocks = <&cru HCLK_TRNG_NS>;
3252		clock-names = "hclk_trng";
3253		resets = <&cru SRST_H_TRNG_NS>;
3254		reset-names = "reset";
3255		status = "disabled";
3256	};
3257
3258	otp: otp@2a580000 {
3259		compatible = "rockchip,rk3576-otp";
3260		reg = <0x0 0x2a580000 0x0 0x400>;
3261		#address-cells = <1>;
3262		#size-cells = <1>;
3263		clocks = <&cru CLK_OTPC_NS>, <&cru PCLK_OTPC_NS>;
3264		clock-names = "otpc", "apb";
3265		resets = <&cru SRST_OTPC_NS>, <&cru SRST_P_OTPC_NS>;
3266		reset-names = "otpc", "apb";
3267
3268		/* Data cells */
3269		cpu_code: cpu-code@2 {
3270			reg = <0x02 0x2>;
3271		};
3272		otp_cpu_version: cpu-version@5 {
3273			reg = <0x05 0x1>;
3274			bits = <3 3>;
3275		};
3276		otp_id: id@a {
3277			reg = <0x0a 0x10>;
3278		};
3279		cpub_leakage: cpub-leakage@1e {
3280			reg = <0x1e 0x1>;
3281		};
3282		cpul_leakage: cpul-leakage@1f {
3283			reg = <0x1f 0x1>;
3284		};
3285		npu_leakage: npu-leakage@20 {
3286			reg = <0x20 0x1>;
3287		};
3288		gpu_leakage: gpu-leakage@21 {
3289			reg = <0x21 0x1>;
3290		};
3291		log_leakage: log-leakage@22 {
3292			reg = <0x22 0x1>;
3293		};
3294	};
3295
3296	sai0: sai@2a600000 {
3297		compatible = "rockchip,rk3576-sai", "rockchip,sai-v1";
3298		reg = <0x0 0x2a600000 0x0 0x1000>;
3299		interrupts = <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>;
3300		clocks = <&cru MCLK_SAI0_8CH>, <&cru HCLK_SAI0_8CH>;
3301		clock-names = "mclk", "hclk";
3302		dmas = <&dmac0 0>, <&dmac0 1>;
3303		dma-names = "tx", "rx";
3304		power-domains = <&power RK3576_PD_AUDIO>;
3305		resets = <&cru SRST_M_SAI0_8CH>, <&cru SRST_H_SAI0_8CH>;
3306		reset-names = "m", "h";
3307		pinctrl-names = "default";
3308		pinctrl-0 = <&sai0m0_lrck
3309			     &sai0m0_sclk
3310			     &sai0m0_sdi0
3311			     &sai0m0_sdi1
3312			     &sai0m0_sdi2
3313			     &sai0m0_sdi3
3314			     &sai0m0_sdo0
3315			     &sai0m0_sdo1
3316			     &sai0m0_sdo2
3317			     &sai0m0_sdo3>;
3318		#sound-dai-cells = <0>;
3319		sound-name-prefix = "SAI0";
3320		status = "disabled";
3321	};
3322
3323	sai1: sai@2a610000 {
3324		compatible = "rockchip,rk3576-sai", "rockchip,sai-v1";
3325		reg = <0x0 0x2a610000 0x0 0x1000>;
3326		interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>;
3327		clocks = <&cru MCLK_SAI1_8CH>, <&cru HCLK_SAI1_8CH>;
3328		clock-names = "mclk", "hclk";
3329		dmas = <&dmac0 2>, <&dmac0 3>;
3330		dma-names = "tx", "rx";
3331		power-domains = <&power RK3576_PD_AUDIO>;
3332		resets = <&cru SRST_M_SAI1_8CH>, <&cru SRST_H_SAI1_8CH>;
3333		reset-names = "m", "h";
3334		pinctrl-names = "default";
3335		pinctrl-0 = <&sai1m0_lrck
3336			     &sai1m0_sclk
3337			     &sai1m0_sdi0
3338			     &sai1m0_sdo0
3339			     &sai1m0_sdo1
3340			     &sai1m0_sdo2
3341			     &sai1m0_sdo3>;
3342		#sound-dai-cells = <0>;
3343		sound-name-prefix = "SAI1";
3344		status = "disabled";
3345	};
3346
3347	sai2: sai@2a620000 {
3348		compatible = "rockchip,rk3576-sai", "rockchip,sai-v1";
3349		reg = <0x0 0x2a620000 0x0 0x1000>;
3350		interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>;
3351		clocks = <&cru MCLK_SAI2_2CH>, <&cru HCLK_SAI2_2CH>;
3352		clock-names = "mclk", "hclk";
3353		dmas = <&dmac1 0>, <&dmac1 1>;
3354		dma-names = "tx", "rx";
3355		power-domains = <&power RK3576_PD_AUDIO>;
3356		resets = <&cru SRST_M_SAI2_2CH>, <&cru SRST_H_SAI2_2CH>;
3357		reset-names = "m", "h";
3358		pinctrl-names = "default";
3359		pinctrl-0 = <&sai2m0_lrck
3360			     &sai2m0_sclk
3361			     &sai2m0_sdi
3362			     &sai2m0_sdo>;
3363		#sound-dai-cells = <0>;
3364		sound-name-prefix = "SAI2";
3365		status = "disabled";
3366	};
3367
3368	sai3: sai@2a630000 {
3369		compatible = "rockchip,rk3576-sai", "rockchip,sai-v1";
3370		reg = <0x0 0x2a630000 0x0 0x1000>;
3371		interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
3372		clocks = <&cru MCLK_SAI3_2CH>, <&cru HCLK_SAI3_2CH>;
3373		clock-names = "mclk", "hclk";
3374		dmas = <&dmac1 2>, <&dmac1 3>;
3375		dma-names = "tx", "rx";
3376		power-domains = <&power RK3576_PD_AUDIO>;
3377		resets = <&cru SRST_M_SAI3_2CH>, <&cru SRST_H_SAI3_2CH>;
3378		reset-names = "m", "h";
3379		pinctrl-names = "default";
3380		pinctrl-0 = <&sai3m0_lrck
3381			     &sai3m0_sclk
3382			     &sai3m0_sdi
3383			     &sai3m0_sdo>;
3384		#sound-dai-cells = <0>;
3385		sound-name-prefix = "SAI3";
3386		status = "disabled";
3387	};
3388
3389	sai4: sai@2a640000 {
3390		compatible = "rockchip,rk3576-sai", "rockchip,sai-v1";
3391		reg = <0x0 0x2a640000 0x0 0x1000>;
3392		interrupts = <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>;
3393		clocks = <&cru MCLK_SAI4_2CH>, <&cru HCLK_SAI4_2CH>;
3394		clock-names = "mclk", "hclk";
3395		dmas = <&dmac2 0>, <&dmac2 1>;
3396		dma-names = "tx", "rx";
3397		power-domains = <&power RK3576_PD_AUDIO>;
3398		resets = <&cru SRST_M_SAI4_2CH>, <&cru SRST_H_SAI4_2CH>;
3399		reset-names = "m", "h";
3400		pinctrl-names = "default";
3401		pinctrl-0 = <&sai4m0_lrck
3402			     &sai4m0_sclk
3403			     &sai4m0_sdi
3404			     &sai4m0_sdo>;
3405		#sound-dai-cells = <0>;
3406		sound-name-prefix = "SAI4";
3407		status = "disabled";
3408	};
3409
3410	spdif_rx0: spdif-rx@2a650000 {
3411		compatible = "rockchip,rk3576-spdifrx", "rockchip,rk3308-spdifrx";
3412		reg = <0x0 0x2a650000 0x0 0x1000>;
3413		interrupts = <GIC_SPI 199 IRQ_TYPE_LEVEL_HIGH>;
3414		clocks = <&cru MCLK_SPDIF_RX0>, <&cru HCLK_SPDIF_RX0>;
3415		clock-names = "mclk", "hclk";
3416		dmas = <&dmac1 8>;
3417		dma-names = "rx";
3418		power-domains = <&power RK3576_PD_AUDIO>;
3419		resets = <&cru SRST_M_SPDIF_RX0>;
3420		reset-names = "spdifrx-m";
3421		pinctrl-names = "default";
3422		pinctrl-0 = <&spdifm0_rx0>;
3423		status = "disabled";
3424	};
3425
3426	spdif_rx1: spdif-rx@2a660000 {
3427		compatible = "rockchip,rk3576-spdifrx", "rockchip,rk3308-spdifrx";
3428		reg = <0x0 0x2a660000 0x0 0x1000>;
3429		interrupts = <GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH>;
3430		clocks = <&cru MCLK_SPDIF_RX1>, <&cru HCLK_SPDIF_RX1>;
3431		clock-names = "mclk", "hclk";
3432		dmas = <&dmac2 16>;
3433		dma-names = "rx";
3434		power-domains = <&power RK3576_PD_AUDIO>;
3435		resets = <&cru SRST_M_SPDIF_RX1>;
3436		reset-names = "spdifrx-m";
3437		pinctrl-names = "default";
3438		pinctrl-0 = <&spdifm0_rx1>;
3439		status = "disabled";
3440	};
3441
3442	spdif_tx0: spdif-tx@2a670000 {
3443		compatible = "rockchip,rk3576-spdif", "rockchip,rk3568-spdif";
3444		reg = <0x0 0x2a670000 0x0 0x1000>;
3445		interrupts = <GIC_SPI 195 IRQ_TYPE_LEVEL_HIGH>;
3446		clocks = <&cru MCLK_SPDIF_TX0>, <&cru HCLK_SPDIF_TX0>;
3447		clock-names = "mclk", "hclk";
3448		dmas = <&dmac0 5>;
3449		dma-names = "tx";
3450		power-domains = <&power RK3576_PD_AUDIO>;
3451		pinctrl-names = "default";
3452		pinctrl-0 = <&spdifm0_tx0>;
3453		#sound-dai-cells = <0>;
3454		status = "disabled";
3455	};
3456
3457	spdif_tx1: spdif-tx@2a680000 {
3458		compatible = "rockchip,rk3576-spdif", "rockchip,rk3568-spdif";
3459		reg = <0x0 0x2a680000 0x0 0x1000>;
3460		interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>;
3461		clocks = <&cru MCLK_SPDIF_TX1>, <&cru HCLK_SPDIF_TX1>;
3462		clock-names = "mclk", "hclk";
3463		dmas = <&dmac1 5>;
3464		dma-names = "tx";
3465		power-domains = <&power RK3576_PD_AUDIO>;
3466		pinctrl-names = "default";
3467		pinctrl-0 = <&spdifm0_tx1>;
3468		#sound-dai-cells = <0>;
3469		status = "disabled";
3470	};
3471
3472	acdcdig_dsm: acdcdig-dsm@2a6d0000 {
3473		compatible = "rockchip,rk3576-dsm";
3474		reg = <0x0 0x2a6d0000 0x0 0x1000>;
3475		clocks = <&cru MCLK_ACDCDIG_DSM>, <&cru HCLK_ACDCDIG_DSM>;
3476		clock-names = "dac", "pclk";
3477		resets = <&cru SRST_M_ACDCDIG_DSM>;
3478		reset-names = "reset" ;
3479		rockchip,grf = <&sys_grf>;
3480		power-domains = <&power RK3576_PD_AUDIO>;
3481		pinctrl-names = "default";
3482		pinctrl-0 = <&dsm_audm0_ln
3483			     &dsm_audm0_lp
3484			     &dsm_audm0_rn
3485			     &dsm_audm0_rp>;
3486		#sound-dai-cells = <0>;
3487		status = "disabled";
3488	};
3489
3490	pdm1: pdm@2a6e0000 {
3491		compatible = "rockchip,rk3576-pdm";
3492		reg = <0x0 0x2a6e0000 0x0 0x1000>;
3493		interrupts = <GIC_SPI 203 IRQ_TYPE_LEVEL_HIGH>;
3494		clocks = <&cru MCLK_PDM1>, <&cru HCLK_PDM1>, <&cru CLK_PDM1_OUT>;
3495		clock-names = "pdm_clk", "pdm_hclk", "pdm_clk_out";
3496		assigned-clocks = <&cru MCLK_PDM1>;
3497		assigned-clock-parents = <&cru PLL_AUPLL>;
3498		dmas = <&dmac1 4>;
3499		dma-names = "rx";
3500		pinctrl-names = "default";
3501		pinctrl-0 = <&pdm1m0_clk0
3502			     &pdm1m0_clk1
3503			     &pdm1m0_sdi0
3504			     &pdm1m0_sdi1
3505			     &pdm1m0_sdi2
3506			     &pdm1m0_sdi3>;
3507		power-domains = <&power RK3576_PD_AUDIO>;
3508		#sound-dai-cells = <0>;
3509		sound-name-prefix = "PDM1";
3510		status = "disabled";
3511	};
3512
3513	gic: interrupt-controller@2a701000 {
3514		compatible = "arm,gic-400";
3515		#interrupt-cells = <3>;
3516		#address-cells = <2>;
3517		#size-cells = <2>;
3518		ranges;
3519		interrupt-controller;
3520
3521		reg = <0x0 0x2a701000 0 0x10000>,
3522		      <0x0 0x2a702000 0 0x10000>,
3523		      <0x0 0x2a704000 0 0x10000>,
3524		      <0x0 0x2a706000 0 0x10000>;
3525		interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>;
3526	};
3527
3528	hwlock: hwspinlock@2ab00000 {
3529		compatible = "rockchip,hwspinlock";
3530		reg = <0x0 0x2ab00000 0x0 0x100>;
3531		#hwlock-cells = <1>;
3532		status = "disabled";
3533	};
3534
3535	dmac0: dma-controller@2ab90000 {
3536		compatible = "arm,pl330", "arm,primecell";
3537		reg = <0x0 0x2ab90000 0x0 0x4000>;
3538		interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>,
3539			     <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
3540		clocks = <&cru ACLK_DMAC0>;
3541		clock-names = "apb_pclk";
3542		#dma-cells = <1>;
3543		arm,pl330-periph-burst;
3544	};
3545
3546	dmac1: dma-controller@2abb0000 {
3547		compatible = "arm,pl330", "arm,primecell";
3548		reg = <0x0 0x2abb0000 0x0 0x4000>;
3549		interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>,
3550			     <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
3551		clocks = <&cru ACLK_DMAC1>;
3552		clock-names = "apb_pclk";
3553		#dma-cells = <1>;
3554		arm,pl330-periph-burst;
3555	};
3556
3557	dmac2: dma-controller@2abd0000 {
3558		compatible = "arm,pl330", "arm,primecell";
3559		reg = <0x0 0x2abd0000 0x0 0x4000>;
3560		interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>,
3561			     <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
3562		clocks = <&cru ACLK_DMAC2>;
3563		clock-names = "apb_pclk";
3564		#dma-cells = <1>;
3565		arm,pl330-periph-burst;
3566	};
3567
3568	i3c0: i3c-master@2abe0000 {
3569		compatible = "rockchip,i3c-master";
3570		reg = <0x0 0x2abe0000 0x0 0x1000>;
3571		interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
3572		#address-cells = <3>;
3573		#size-cells = <0>;
3574		clocks = <&cru HCLK_I3C0>, <&cru CLK_I3C0>;
3575		clock-names = "hclk", "i3c";
3576		dmas = <&dmac0 22>, <&dmac0 23>;
3577		dma-names = "rx", "tx";
3578		pinctrl-names = "default";
3579		pinctrl-0 = <&i3c0m0_xfer &i3c0_sdam0_pu>;
3580		status = "disabled";
3581	};
3582
3583	i3c1: i3c-master@2abf0000 {
3584		compatible = "rockchip,i3c-master";
3585		reg = <0x0 0x2abf0000 0x0 0x1000>;
3586		interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
3587		#address-cells = <3>;
3588		#size-cells = <0>;
3589		clocks = <&cru HCLK_I3C1>, <&cru CLK_I3C1>;
3590		clock-names = "hclk", "i3c";
3591		dmas = <&dmac1 22>, <&dmac1 23>;
3592		dma-names = "rx", "tx";
3593		pinctrl-names = "default";
3594		pinctrl-0 = <&i3c1m0_xfer &i3c1_sdam0_pu>;
3595		status = "disabled";
3596	};
3597
3598	can0: can@2ac00000 {
3599		compatible = "rockchip,rk3576-canfd";
3600		reg = <0x0 0x2ac00000 0x0 0x1000>;
3601		interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>;
3602		clocks = <&cru CLK_CAN0>, <&cru HCLK_CAN0>;
3603		clock-names = "baudclk", "apb_pclk";
3604		resets = <&cru SRST_CAN0>, <&cru SRST_H_CAN0>;
3605		reset-names = "can", "can-apb";
3606		dmas = <&dmac0 20>;
3607		dma-names = "rx";
3608		status = "disabled";
3609	};
3610
3611	can1: can@2ac10000 {
3612		compatible = "rockchip,rk3576-canfd";
3613		reg = <0x0 0x2ac10000 0x0 0x1000>;
3614		interrupts = <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
3615		clocks = <&cru CLK_CAN1>, <&cru HCLK_CAN1>;
3616		clock-names = "baudclk", "apb_pclk";
3617		resets = <&cru SRST_CAN1>, <&cru SRST_H_CAN1>;
3618		reset-names = "can", "can-apb";
3619		dmas = <&dmac1 21>;
3620		dma-names = "rx";
3621		status = "disabled";
3622	};
3623
3624	hw_decompress: decompress@2ac30000 {
3625		compatible = "rockchip,hw-decompress";
3626		reg = <0x0 0x2ac30000 0x0 0x1000>;
3627		interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
3628		clocks = <&cru ACLK_DECOM>, <&cru DCLK_DECOM>, <&cru PCLK_DECOM>;
3629		clock-names = "aclk", "dclk", "pclk";
3630		resets = <&cru SRST_D_DECOM>;
3631		reset-names = "dresetn";
3632		status = "disabled";
3633	};
3634
3635	i2c1: i2c@2ac40000 {
3636		compatible = "rockchip,rk3576-i2c", "rockchip,rk3399-i2c";
3637		reg = <0x0 0x2ac40000 0x0 0x1000>;
3638		clocks = <&cru CLK_I2C1>, <&cru PCLK_I2C1>;
3639		clock-names = "i2c", "pclk";
3640		interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
3641		pinctrl-names = "default";
3642		pinctrl-0 = <&i2c1m0_xfer>;
3643		resets = <&cru SRST_I2C1>, <&cru SRST_P_I2C1>;
3644		reset-names = "i2c", "apb";
3645		#address-cells = <1>;
3646		#size-cells = <0>;
3647		status = "disabled";
3648	};
3649
3650	i2c2: i2c@2ac50000 {
3651		compatible = "rockchip,rk3576-i2c", "rockchip,rk3399-i2c";
3652		reg = <0x0 0x2ac50000 0x0 0x1000>;
3653		clocks = <&cru CLK_I2C2>, <&cru PCLK_I2C2>;
3654		clock-names = "i2c", "pclk";
3655		interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
3656		pinctrl-names = "default";
3657		pinctrl-0 = <&i2c2m0_xfer>;
3658		resets = <&cru SRST_I2C2>, <&cru SRST_P_I2C2>;
3659		reset-names = "i2c", "apb";
3660		#address-cells = <1>;
3661		#size-cells = <0>;
3662		status = "disabled";
3663	};
3664
3665	i2c3: i2c@2ac60000 {
3666		compatible = "rockchip,rk3576-i2c", "rockchip,rk3399-i2c";
3667		reg = <0x0 0x2ac60000 0x0 0x1000>;
3668		clocks = <&cru CLK_I2C3>, <&cru PCLK_I2C3>;
3669		clock-names = "i2c", "pclk";
3670		interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
3671		pinctrl-names = "default";
3672		pinctrl-0 = <&i2c3m0_xfer>;
3673		resets = <&cru SRST_I2C3>, <&cru SRST_P_I2C3>;
3674		reset-names = "i2c", "apb";
3675		#address-cells = <1>;
3676		#size-cells = <0>;
3677		status = "disabled";
3678	};
3679
3680	i2c4: i2c@2ac70000 {
3681		compatible = "rockchip,rk3576-i2c", "rockchip,rk3399-i2c";
3682		reg = <0x0 0x2ac70000 0x0 0x1000>;
3683		clocks = <&cru CLK_I2C4>, <&cru PCLK_I2C4>;
3684		clock-names = "i2c", "pclk";
3685		interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
3686		pinctrl-names = "default";
3687		pinctrl-0 = <&i2c4m0_xfer>;
3688		resets = <&cru SRST_I2C4>, <&cru SRST_P_I2C4>;
3689		reset-names = "i2c", "apb";
3690		#address-cells = <1>;
3691		#size-cells = <0>;
3692		status = "disabled";
3693	};
3694
3695	i2c5: i2c@2ac80000 {
3696		compatible = "rockchip,rk3576-i2c", "rockchip,rk3399-i2c";
3697		reg = <0x0 0x2ac80000 0x0 0x1000>;
3698		clocks = <&cru CLK_I2C5>, <&cru PCLK_I2C5>;
3699		clock-names = "i2c", "pclk";
3700		interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
3701		pinctrl-names = "default";
3702		pinctrl-0 = <&i2c5m0_xfer>;
3703		resets = <&cru SRST_I2C5>, <&cru SRST_P_I2C5>;
3704		reset-names = "i2c", "apb";
3705		#address-cells = <1>;
3706		#size-cells = <0>;
3707		status = "disabled";
3708	};
3709
3710
3711	i2c6: i2c@2ac90000 {
3712		compatible = "rockchip,rk3576-i2c", "rockchip,rk3399-i2c";
3713		reg = <0x0 0x2ac90000 0x0 0x1000>;
3714		clocks = <&cru CLK_I2C6>, <&cru PCLK_I2C6>;
3715		clock-names = "i2c", "pclk";
3716		interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
3717		pinctrl-names = "default";
3718		pinctrl-0 = <&i2c6m0_xfer>;
3719		resets = <&cru SRST_I2C6>, <&cru SRST_P_I2C6>;
3720		reset-names = "i2c", "apb";
3721		#address-cells = <1>;
3722		#size-cells = <0>;
3723		status = "disabled";
3724	};
3725
3726	i2c7: i2c@2aca0000 {
3727		compatible = "rockchip,rk3576-i2c", "rockchip,rk3399-i2c";
3728		reg = <0x0 0x2aca0000 0x0 0x1000>;
3729		clocks = <&cru CLK_I2C7>, <&cru PCLK_I2C7>;
3730		clock-names = "i2c", "pclk";
3731		interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
3732		pinctrl-names = "default";
3733		pinctrl-0 = <&i2c7m0_xfer>;
3734		resets = <&cru SRST_I2C7>, <&cru SRST_P_I2C7>;
3735		reset-names = "i2c", "apb";
3736		#address-cells = <1>;
3737		#size-cells = <0>;
3738		status = "disabled";
3739	};
3740
3741	i2c8: i2c@2acb0000 {
3742		compatible = "rockchip,rk3576-i2c", "rockchip,rk3399-i2c";
3743		reg = <0x0 0x2acb0000 0x0 0x1000>;
3744		clocks = <&cru CLK_I2C8>, <&cru PCLK_I2C8>;
3745		clock-names = "i2c", "pclk";
3746		interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
3747		pinctrl-names = "default";
3748		pinctrl-0 = <&i2c8m0_xfer>;
3749		resets = <&cru SRST_I2C8>, <&cru SRST_P_I2C8>;
3750		reset-names = "i2c", "apb";
3751		#address-cells = <1>;
3752		#size-cells = <0>;
3753		status = "disabled";
3754	};
3755
3756	rktimer: timer@2acc0000 {
3757		compatible = "rockchip,rk3576-timer", "rockchip,rk3288-timer";
3758		reg = <0x0 0x2acc0000 0x0 0x20>;
3759		interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
3760		clocks = <&cru PCLK_BUSTIMER0>, <&cru CLK_TIMER0>;
3761		clock-names = "pclk", "timer";
3762	};
3763
3764	wdt: watchdog@2ace0000 {
3765		compatible = "snps,dw-wdt";
3766		reg = <0x0 0x2ace0000 0x0 0x100>;
3767		clocks = <&cru TCLK_WDT0>, <&cru PCLK_WDT0>;
3768		clock-names = "tclk", "pclk";
3769		interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
3770		status = "disabled";
3771	};
3772
3773	spi0: spi@2acf0000 {
3774		compatible = "rockchip,rk3066-spi";
3775		reg = <0x0 0x2acf0000 0x0 0x1000>;
3776		interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
3777		#address-cells = <1>;
3778		#size-cells = <0>;
3779		clocks = <&cru CLK_SPI0>, <&cru PCLK_SPI0>;
3780		clock-names = "spiclk", "apb_pclk";
3781		dmas = <&dmac0 14>, <&dmac0 15>;
3782		dma-names = "tx", "rx";
3783		pinctrl-names = "default";
3784		pinctrl-0 = <&spi0m0_csn0 &spi0m0_csn1 &spi0m0_pins>;
3785		num-cs = <2>;
3786		status = "disabled";
3787	};
3788
3789	spi1: spi@2ad00000 {
3790		compatible = "rockchip,rk3066-spi";
3791		reg = <0x0 0x2ad00000 0x0 0x1000>;
3792		interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
3793		#address-cells = <1>;
3794		#size-cells = <0>;
3795		clocks = <&cru CLK_SPI1>, <&cru PCLK_SPI1>;
3796		clock-names = "spiclk", "apb_pclk";
3797		dmas = <&dmac0 16>, <&dmac0 17>;
3798		dma-names = "tx", "rx";
3799		pinctrl-names = "default";
3800		pinctrl-0 = <&spi1m0_csn0 &spi1m0_csn1 &spi1m0_pins>;
3801		num-cs = <2>;
3802		status = "disabled";
3803	};
3804
3805	spi2: spi@2ad10000 {
3806		compatible = "rockchip,rk3066-spi";
3807		reg = <0x0 0x2ad10000 0x0 0x1000>;
3808		interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
3809		#address-cells = <1>;
3810		#size-cells = <0>;
3811		clocks = <&cru CLK_SPI2>, <&cru PCLK_SPI2>;
3812		clock-names = "spiclk", "apb_pclk";
3813		dmas = <&dmac1 15>, <&dmac1 16>;
3814		dma-names = "tx", "rx";
3815		pinctrl-names = "default";
3816		pinctrl-0 = <&spi2m0_csn0 &spi2m0_csn1 &spi2m0_pins>;
3817		num-cs = <2>;
3818		status = "disabled";
3819	};
3820
3821	spi3: spi@2ad20000 {
3822		compatible = "rockchip,rk3066-spi";
3823		reg = <0x0 0x2ad20000 0x0 0x1000>;
3824		interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
3825		#address-cells = <1>;
3826		#size-cells = <0>;
3827		clocks = <&cru CLK_SPI3>, <&cru PCLK_SPI3>;
3828		clock-names = "spiclk", "apb_pclk";
3829		dmas = <&dmac1 17>, <&dmac1 18>;
3830		dma-names = "tx", "rx";
3831		pinctrl-names = "default";
3832		pinctrl-0 = <&spi3m0_csn0 &spi3m0_csn1 &spi3m0_pins>;
3833		num-cs = <2>;
3834		status = "disabled";
3835	};
3836
3837	spi4: spi@2ad30000 {
3838		compatible = "rockchip,rk3066-spi";
3839		reg = <0x0 0x2ad30000 0x0 0x1000>;
3840		interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
3841		#address-cells = <1>;
3842		#size-cells = <0>;
3843		clocks = <&cru CLK_SPI4>, <&cru PCLK_SPI4>;
3844		clock-names = "spiclk", "apb_pclk";
3845		dmas = <&dmac2 12>, <&dmac2 13>;
3846		dma-names = "tx", "rx";
3847		pinctrl-names = "default";
3848		pinctrl-0 = <&spi4m0_csn0 &spi4m0_csn1 &spi4m0_pins>;
3849		num-cs = <2>;
3850		status = "disabled";
3851	};
3852
3853	uart0: serial@2ad40000 {
3854		compatible = "rockchip,rk3576-uart", "snps,dw-apb-uart";
3855		reg = <0x0 0x2ad40000 0x0 0x100>;
3856		interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
3857		clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>;
3858		clock-names = "baudclk", "apb_pclk";
3859		reg-shift = <2>;
3860		reg-io-width = <4>;
3861		dmas = <&dmac0 6>, <&dmac0 7>;
3862		pinctrl-names = "default";
3863		pinctrl-0 = <&uart0m0_xfer>;
3864		status = "disabled";
3865	};
3866
3867	uart2: serial@2ad50000 {
3868		compatible = "rockchip,rk3576-uart", "snps,dw-apb-uart";
3869		reg = <0x0 0x2ad50000 0x0 0x100>;
3870		interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
3871		clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>;
3872		clock-names = "baudclk", "apb_pclk";
3873		reg-shift = <2>;
3874		reg-io-width = <4>;
3875		dmas = <&dmac0 10>, <&dmac0 11>;
3876		pinctrl-names = "default";
3877		pinctrl-0 = <&uart2m0_xfer>;
3878		status = "disabled";
3879	};
3880
3881	uart3: serial@2ad60000 {
3882		compatible = "rockchip,rk3576-uart", "snps,dw-apb-uart";
3883		reg = <0x0 0x2ad60000 0x0 0x100>;
3884		interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
3885		clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>;
3886		clock-names = "baudclk", "apb_pclk";
3887		reg-shift = <2>;
3888		reg-io-width = <4>;
3889		dmas = <&dmac0 12>, <&dmac0 13>;
3890		pinctrl-names = "default";
3891		pinctrl-0 = <&uart3m0_xfer>;
3892		status = "disabled";
3893	};
3894
3895	uart4: serial@2ad70000 {
3896		compatible = "rockchip,rk3576-uart", "snps,dw-apb-uart";
3897		reg = <0x0 0x2ad70000 0x0 0x100>;
3898		interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
3899		clocks = <&cru SCLK_UART4>, <&cru PCLK_UART4>;
3900		clock-names = "baudclk", "apb_pclk";
3901		reg-shift = <2>;
3902		reg-io-width = <4>;
3903		dmas = <&dmac1 9>, <&dmac1 10>;
3904		pinctrl-names = "default";
3905		pinctrl-0 = <&uart4m0_xfer>;
3906		status = "disabled";
3907	};
3908
3909	uart5: serial@2ad80000 {
3910		compatible = "rockchip,rk3576-uart", "snps,dw-apb-uart";
3911		reg = <0x0 0x2ad80000 0x0 0x100>;
3912		interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
3913		clocks = <&cru SCLK_UART5>, <&cru PCLK_UART5>;
3914		clock-names = "baudclk", "apb_pclk";
3915		reg-shift = <2>;
3916		reg-io-width = <4>;
3917		dmas = <&dmac1 11>, <&dmac1 12>;
3918		pinctrl-names = "default";
3919		pinctrl-0 = <&uart5m0_xfer>;
3920		status = "disabled";
3921	};
3922
3923	uart6: serial@2ad90000 {
3924		compatible = "rockchip,rk3576-uart", "snps,dw-apb-uart";
3925		reg = <0x0 0x2ad90000 0x0 0x100>;
3926		interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
3927		clocks = <&cru SCLK_UART6>, <&cru PCLK_UART6>;
3928		clock-names = "baudclk", "apb_pclk";
3929		reg-shift = <2>;
3930		reg-io-width = <4>;
3931		dmas = <&dmac1 13>, <&dmac1 14>;
3932		pinctrl-names = "default";
3933		pinctrl-0 = <&uart6m0_xfer>;
3934		status = "disabled";
3935	};
3936
3937	uart7: serial@2ada0000 {
3938		compatible = "rockchip,rk3576-uart", "snps,dw-apb-uart";
3939		reg = <0x0 0x2ada0000 0x0 0x100>;
3940		interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
3941		clocks = <&cru SCLK_UART7>, <&cru PCLK_UART7>;
3942		clock-names = "baudclk", "apb_pclk";
3943		reg-shift = <2>;
3944		reg-io-width = <4>;
3945		dmas = <&dmac2 6>, <&dmac2 7>;
3946		pinctrl-names = "default";
3947		pinctrl-0 = <&uart7m0_xfer>;
3948		status = "disabled";
3949	};
3950
3951	uart8: serial@2adb0000 {
3952		compatible = "rockchip,rk3576-uart", "snps,dw-apb-uart";
3953		reg = <0x0 0x2adb0000 0x0 0x100>;
3954		interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
3955		clocks = <&cru SCLK_UART8>, <&cru PCLK_UART8>;
3956		clock-names = "baudclk", "apb_pclk";
3957		reg-shift = <2>;
3958		reg-io-width = <4>;
3959		dmas = <&dmac2 8>, <&dmac2 9>;
3960		pinctrl-names = "default";
3961		pinctrl-0 = <&uart8m0_xfer>;
3962		status = "disabled";
3963	};
3964
3965	uart9: serial@2adc0000 {
3966		compatible = "rockchip,rk3576-uart", "snps,dw-apb-uart";
3967		reg = <0x0 0x2adc0000 0x0 0x100>;
3968		interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
3969		clocks = <&cru SCLK_UART9>, <&cru PCLK_UART9>;
3970		clock-names = "baudclk", "apb_pclk";
3971		reg-shift = <2>;
3972		reg-io-width = <4>;
3973		dmas = <&dmac2 10>, <&dmac2 11>;
3974		pinctrl-names = "default";
3975		pinctrl-0 = <&uart9m0_xfer>;
3976		status = "disabled";
3977	};
3978
3979	pwm1_6ch_0: pwm@2add0000 {
3980		compatible = "rockchip,rk3576-pwm";
3981		reg = <0x0 0x2add0000 0x0 0x1000>;
3982		interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
3983		#pwm-cells = <3>;
3984		pinctrl-names = "active";
3985		pinctrl-0 = <&pwm1m0_ch0>;
3986		clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
3987		clock-names = "pwm", "pclk";
3988		status = "disabled";
3989	};
3990
3991	pwm1_6ch_1: pwm@2add1000 {
3992		compatible = "rockchip,rk3576-pwm";
3993		reg = <0x0 0x2add1000 0x0 0x1000>;
3994		interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
3995		#pwm-cells = <3>;
3996		pinctrl-names = "active";
3997		pinctrl-0 = <&pwm1m0_ch1>;
3998		clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
3999		clock-names = "pwm", "pclk";
4000		status = "disabled";
4001	};
4002
4003	pwm1_6ch_2: pwm@2add2000 {
4004		compatible = "rockchip,rk3576-pwm";
4005		reg = <0x0 0x2add2000 0x0 0x1000>;
4006		interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
4007		#pwm-cells = <3>;
4008		pinctrl-names = "active";
4009		pinctrl-0 = <&pwm1m0_ch2>;
4010		clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
4011		clock-names = "pwm", "pclk";
4012		status = "disabled";
4013	};
4014
4015	pwm1_6ch_3: pwm@2add3000 {
4016		compatible = "rockchip,rk3576-pwm";
4017		reg = <0x0 0x2add3000 0x0 0x1000>;
4018		interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
4019		#pwm-cells = <3>;
4020		pinctrl-names = "active";
4021		pinctrl-0 = <&pwm1m0_ch3>;
4022		clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
4023		clock-names = "pwm", "pclk";
4024		status = "disabled";
4025	};
4026
4027	pwm1_6ch_4: pwm@2add4000 {
4028		compatible = "rockchip,rk3576-pwm";
4029		reg = <0x0 0x2add4000 0x0 0x1000>;
4030		interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
4031		#pwm-cells = <3>;
4032		pinctrl-names = "active";
4033		pinctrl-0 = <&pwm1m0_ch4>;
4034		clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
4035		clock-names = "pwm", "pclk";
4036		status = "disabled";
4037	};
4038
4039	pwm1_6ch_5: pwm@2add5000 {
4040		compatible = "rockchip,rk3576-pwm";
4041		reg = <0x0 0x2add5000 0x0 0x1000>;
4042		interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
4043		#pwm-cells = <3>;
4044		pinctrl-names = "active";
4045		pinctrl-0 = <&pwm1m0_ch5>;
4046		clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
4047		clock-names = "pwm", "pclk";
4048		status = "disabled";
4049	};
4050
4051	pwm2_8ch_0: pwm@2ade0000 {
4052		compatible = "rockchip,rk3576-pwm";
4053		reg = <0x0 0x2ade0000 0x0 0x1000>;
4054		interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
4055		#pwm-cells = <3>;
4056		pinctrl-names = "active";
4057		pinctrl-0 = <&pwm2m0_ch0>;
4058		clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>;
4059		clock-names = "pwm", "pclk";
4060		status = "disabled";
4061	};
4062
4063	pwm2_8ch_1: pwm@2ade1000 {
4064		compatible = "rockchip,rk3576-pwm";
4065		reg = <0x0 0x2ade1000 0x0 0x1000>;
4066		interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>;
4067		#pwm-cells = <3>;
4068		pinctrl-names = "active";
4069		pinctrl-0 = <&pwm2m0_ch1>;
4070		clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>;
4071		clock-names = "pwm", "pclk";
4072		status = "disabled";
4073	};
4074
4075	pwm2_8ch_2: pwm@2ade2000 {
4076		compatible = "rockchip,rk3576-pwm";
4077		reg = <0x0 0x2ade2000 0x0 0x1000>;
4078		interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
4079		#pwm-cells = <3>;
4080		pinctrl-names = "active";
4081		pinctrl-0 = <&pwm2m0_ch2>;
4082		clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>;
4083		clock-names = "pwm", "pclk";
4084		status = "disabled";
4085	};
4086
4087	pwm2_8ch_3: pwm@2ade3000 {
4088		compatible = "rockchip,rk3576-pwm";
4089		reg = <0x0 0x2ade3000 0x0 0x1000>;
4090		interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
4091		#pwm-cells = <3>;
4092		pinctrl-names = "active";
4093		pinctrl-0 = <&pwm2m0_ch3>;
4094		clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>;
4095		clock-names = "pwm", "pclk";
4096		status = "disabled";
4097	};
4098
4099	pwm2_8ch_4: pwm@2ade4000 {
4100		compatible = "rockchip,rk3576-pwm";
4101		reg = <0x0 0x2ade4000 0x0 0x1000>;
4102		interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
4103		#pwm-cells = <3>;
4104		pinctrl-names = "active";
4105		pinctrl-0 = <&pwm2m0_ch4>;
4106		clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>;
4107		clock-names = "pwm", "pclk";
4108		status = "disabled";
4109	};
4110
4111	pwm2_8ch_5: pwm@2ade5000 {
4112		compatible = "rockchip,rk3576-pwm";
4113		reg = <0x0 0x2ade5000 0x0 0x1000>;
4114		interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
4115		#pwm-cells = <3>;
4116		pinctrl-names = "active";
4117		pinctrl-0 = <&pwm2m0_ch5>;
4118		clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>;
4119		clock-names = "pwm", "pclk";
4120		status = "disabled";
4121	};
4122
4123	pwm2_8ch_6: pwm@2ade6000 {
4124		compatible = "rockchip,rk3576-pwm";
4125		reg = <0x0 0x2ade6000 0x0 0x1000>;
4126		interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
4127		#pwm-cells = <3>;
4128		pinctrl-names = "active";
4129		pinctrl-0 = <&pwm2m0_ch6>;
4130		clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>;
4131		clock-names = "pwm", "pclk";
4132		status = "disabled";
4133	};
4134
4135	pwm2_8ch_7: pwm@2ade7000 {
4136		compatible = "rockchip,rk3576-pwm";
4137		reg = <0x0 0x2ade7000 0x0 0x1000>;
4138		interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
4139		#pwm-cells = <3>;
4140		pinctrl-names = "active";
4141		pinctrl-0 = <&pwm2m0_ch7>;
4142		clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>;
4143		clock-names = "pwm", "pclk";
4144		status = "disabled";
4145	};
4146
4147	saradc: adc@2ae00000 {
4148		compatible = "rockchip,rk3576-saradc", "rockchip,rk3588-saradc";
4149		reg = <0x0 0x2ae00000 0x0 0x10000>;
4150		interrupts = <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>;
4151		#io-channel-cells = <1>;
4152		clocks = <&cru CLK_SARADC>, <&cru PCLK_SARADC>;
4153		clock-names = "saradc", "apb_pclk";
4154		resets = <&cru SRST_P_SARADC>;
4155		reset-names = "saradc-apb";
4156		status = "disabled";
4157	};
4158
4159	mailbox0: mailbox@2ae50000 {
4160		compatible = "rockchip,rk3576-mailbox";
4161		reg = <0x0 0x2ae50000 0x0 0x20>;
4162		interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
4163		clocks = <&cru PCLK_MAILBOX0>;
4164		clock-names = "pclk_mailbox";
4165		#mbox-cells = <1>;
4166		status = "disabled";
4167	};
4168
4169	mailbox1: mailbox@2ae51000 {
4170		compatible = "rockchip,rk3576-mailbox";
4171		reg = <0x0 0x2ae51000 0x0 0x20>;
4172		interrupts = <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>;
4173		clocks = <&cru PCLK_MAILBOX0>;
4174		clock-names = "pclk_mailbox";
4175		#mbox-cells = <1>;
4176		status = "disabled";
4177	};
4178
4179	mailbox2: mailbox@2ae52000 {
4180		compatible = "rockchip,rk3576-mailbox";
4181		reg = <0x0 0x2ae52000 0x0 0x20>;
4182		interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>;
4183		clocks = <&cru PCLK_MAILBOX0>;
4184		clock-names = "pclk_mailbox";
4185		#mbox-cells = <1>;
4186		status = "disabled";
4187	};
4188
4189	mailbox3: mailbox@2ae53000 {
4190		compatible = "rockchip,rk3576-mailbox";
4191		reg = <0x0 0x2ae53000 0x0 0x20>;
4192		interrupts = <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>;
4193		clocks = <&cru PCLK_MAILBOX0>;
4194		clock-names = "pclk_mailbox";
4195		#mbox-cells = <1>;
4196		status = "disabled";
4197	};
4198
4199	mailbox4: mailbox@2ae54000 {
4200		compatible = "rockchip,rk3576-mailbox";
4201		reg = <0x0 0x2ae54000 0x0 0x20>;
4202		interrupts = <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>;
4203		clocks = <&cru PCLK_MAILBOX0>;
4204		clock-names = "pclk_mailbox";
4205		#mbox-cells = <1>;
4206		status = "disabled";
4207	};
4208
4209	mailbox5: mailbox@2ae55000 {
4210		compatible = "rockchip,rk3576-mailbox";
4211		reg = <0x0 0x2ae55000 0x0 0x20>;
4212		interrupts = <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>;
4213		clocks = <&cru PCLK_MAILBOX0>;
4214		clock-names = "pclk_mailbox";
4215		#mbox-cells = <1>;
4216		status = "disabled";
4217	};
4218
4219	mailbox6: mailbox@2ae56000 {
4220		compatible = "rockchip,rk3576-mailbox";
4221		reg = <0x0 0x2ae56000 0x0 0x20>;
4222		interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>;
4223		clocks = <&cru PCLK_MAILBOX0>;
4224		clock-names = "pclk_mailbox";
4225		#mbox-cells = <1>;
4226		status = "disabled";
4227	};
4228
4229	mailbox7: mailbox@2ae57000 {
4230		compatible = "rockchip,rk3576-mailbox";
4231		reg = <0x0 0x2ae57000 0x0 0x20>;
4232		interrupts = <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>;
4233		clocks = <&cru PCLK_MAILBOX0>;
4234		clock-names = "pclk_mailbox";
4235		#mbox-cells = <1>;
4236		status = "disabled";
4237	};
4238
4239	mailbox8: mailbox@2ae58000 {
4240		compatible = "rockchip,rk3576-mailbox";
4241		reg = <0x0 0x2ae58000 0x0 0x20>;
4242		interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
4243		clocks = <&cru PCLK_MAILBOX0>;
4244		clock-names = "pclk_mailbox";
4245		#mbox-cells = <1>;
4246		status = "disabled";
4247	};
4248
4249	mailbox9: mailbox@2ae59000 {
4250		compatible = "rockchip,rk3576-mailbox";
4251		reg = <0x0 0x2ae59000 0x0 0x20>;
4252		interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>;
4253		clocks = <&cru PCLK_MAILBOX0>;
4254		clock-names = "pclk_mailbox";
4255		#mbox-cells = <1>;
4256		status = "disabled";
4257	};
4258
4259	mailbox10: mailbox@2ae5a000 {
4260		compatible = "rockchip,rk3576-mailbox";
4261		reg = <0x0 0x2ae5a000 0x0 0x20>;
4262		interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>;
4263		clocks = <&cru PCLK_MAILBOX0>;
4264		clock-names = "pclk_mailbox";
4265		#mbox-cells = <1>;
4266		status = "disabled";
4267	};
4268
4269	mailbox11: mailbox@2ae5b000 {
4270		compatible = "rockchip,rk3576-mailbox";
4271		reg = <0x0 0x2ae5b000 0x0 0x20>;
4272		interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
4273		clocks = <&cru PCLK_MAILBOX0>;
4274		clock-names = "pclk_mailbox";
4275		#mbox-cells = <1>;
4276		status = "disabled";
4277	};
4278
4279	mailbox12: mailbox@2ae5c000 {
4280		compatible = "rockchip,rk3576-mailbox";
4281		reg = <0x0 0x2ae5c000 0x0 0x20>;
4282		interrupts = <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>;
4283		clocks = <&cru PCLK_MAILBOX0>;
4284		clock-names = "pclk_mailbox";
4285		#mbox-cells = <1>;
4286		status = "disabled";
4287	};
4288
4289	mailbox13: mailbox@2ae5d000 {
4290		compatible = "rockchip,rk3576-mailbox";
4291		reg = <0x0 0x2ae5d000 0x0 0x20>;
4292		interrupts = <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
4293		clocks = <&cru PCLK_MAILBOX0>;
4294		clock-names = "pclk_mailbox";
4295		#mbox-cells = <1>;
4296		status = "disabled";
4297	};
4298
4299	tsadc: tsadc@2ae70000 {
4300		compatible = "rockchip,rk3576-tsadc";
4301		reg = <0x0 0x2ae70000 0x0 0x400>;
4302		interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>;
4303		clocks = <&cru CLK_TSADC>, <&cru PCLK_TSADC>;
4304		clock-names = "tsadc", "apb_pclk";
4305		assigned-clocks = <&cru CLK_TSADC>;
4306		assigned-clock-rates = <2000000>;
4307		resets = <&cru SRST_TSADC>, <&cru SRST_P_TSADC>;
4308		reset-names = "tsadc", "tsadc-apb";
4309		#thermal-sensor-cells = <1>;
4310		rockchip,hw-tshut-temp = <120000>;
4311		rockchip,hw-tshut-mode = <0>; /* tshut mode 0:CRU 1:GPIO */
4312		rockchip,hw-tshut-polarity = <0>; /* tshut polarity 0:LOW 1:HIGH */
4313		status = "disabled";
4314	};
4315
4316	i2c9: i2c@2ae80000 {
4317		compatible = "rockchip,rk3576-i2c", "rockchip,rk3399-i2c";
4318		reg = <0x0 0x2ae80000 0x0 0x1000>;
4319		clocks = <&cru CLK_I2C9>, <&cru PCLK_I2C9>;
4320		clock-names = "i2c", "pclk";
4321		interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
4322		pinctrl-names = "default";
4323		pinctrl-0 = <&i2c9m0_xfer>;
4324		resets = <&cru SRST_I2C9>, <&cru SRST_P_I2C9>;
4325		reset-names = "i2c", "apb";
4326		#address-cells = <1>;
4327		#size-cells = <0>;
4328		status = "disabled";
4329	};
4330
4331	uart10: serial@2afc0000 {
4332		compatible = "rockchip,rk3576-uart", "snps,dw-apb-uart";
4333		reg = <0x0 0x2afc0000 0x0 0x100>;
4334		interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
4335		clocks = <&cru SCLK_UART10>, <&cru PCLK_UART10>;
4336		clock-names = "baudclk", "apb_pclk";
4337		reg-shift = <2>;
4338		reg-io-width = <4>;
4339		dmas = <&dmac2 21>, <&dmac2 22>;
4340		pinctrl-names = "default";
4341		pinctrl-0 = <&uart10m0_xfer>;
4342		status = "disabled";
4343	};
4344
4345	uart11: serial@2afd0000 {
4346		compatible = "rockchip,rk3576-uart", "snps,dw-apb-uart";
4347		reg = <0x0 0x2afd0000 0x0 0x100>;
4348		interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
4349		clocks = <&cru SCLK_UART11>, <&cru PCLK_UART11>;
4350		clock-names = "baudclk", "apb_pclk";
4351		reg-shift = <2>;
4352		reg-io-width = <4>;
4353		dmas = <&dmac2 23>, <&dmac2 24>;
4354		pinctrl-names = "default";
4355		pinctrl-0 = <&uart11m0_xfer>;
4356		status = "disabled";
4357	};
4358
4359	hdptxphy: phy@2b000000 {
4360		compatible = "rockchip,rk3576-hdptx-phy", "rockchip,rk3588-hdptx-phy";
4361		reg = <0x0 0x2b000000 0x0 0x2000>;
4362		clocks = <&cru CLK_PHY_REF_SRC>, <&cru PCLK_PMUPHY_ROOT>;
4363		clock-names = "ref", "apb";
4364		resets = <&cru SRST_P_HDPTX_APB>, <&cru SRST_HDPTX_INIT>,
4365			 <&cru SRST_HDPTX_CMN>, <&cru SRST_HDPTX_LANE>;
4366		reset-names = "apb", "init", "cmn", "lane";
4367		rockchip,grf = <&hdptxphy_grf>;
4368		#phy-cells = <0>;
4369		status = "disabled";
4370	};
4371
4372	hdptxphy_hdmi: hdmiphy@2b000000 {
4373		compatible = "rockchip,rk3576-hdptx-phy-hdmi", "rockchip,rk3588-hdptx-phy-hdmi";
4374		reg = <0x0 0x2b000000 0x0 0x2000>;
4375		clocks = <&cru CLK_PHY_REF_SRC>, <&cru PCLK_PMUPHY_ROOT>;
4376		clock-names = "ref", "apb";
4377		clock-output-names = "clk_hdmiphy_pixel0";
4378		#clock-cells = <0>;
4379		resets = <&cru SRST_P_HDPTX_APB>, <&cru SRST_HDPTX_INIT>,
4380			 <&cru SRST_HDPTX_CMN>, <&cru SRST_HDPTX_LANE>;
4381		reset-names = "apb", "init", "cmn", "lane";
4382		rockchip,grf = <&hdptxphy_grf>;
4383		#phy-cells = <0>;
4384		status = "disabled";
4385	};
4386
4387	usbdp_phy: phy@2b010000 {
4388		compatible = "rockchip,rk3576-usbdp-phy";
4389		reg = <0x0 0x2b010000 0x0 0x10000>;
4390		rockchip,u2phy-grf = <&usb2phy_grf>;
4391		rockchip,usb-grf = <&usb_grf>;
4392		rockchip,usbdpphy-grf = <&usbdpphy_grf>;
4393		rockchip,vo-grf = <&vo1_grf>;
4394		clocks = <&cru CLK_PHY_REF_SRC >,
4395			 <&cru CLK_USBDP_COMBO_PHY_IMMORTAL>,
4396			 <&cru PCLK_USBDPPHY>;
4397		clock-names = "refclk", "immortal", "pclk";
4398		resets = <&cru SRST_USBDP_COMBO_PHY_INIT>,
4399			 <&cru SRST_USBDP_COMBO_PHY_CMN>,
4400			 <&cru SRST_USBDP_COMBO_PHY_LANE>,
4401			 <&cru SRST_USBDP_COMBO_PHY_PCS>,
4402			 <&cru SRST_P_USBDPPHY>;
4403		reset-names = "init", "cmn", "lane", "pcs_apb", "pma_apb";
4404		status = "disabled";
4405
4406		usbdp_phy_dp: dp-port {
4407			#phy-cells = <0>;
4408			status = "disabled";
4409		};
4410
4411		usbdp_phy_u3: u3-port {
4412			#phy-cells = <0>;
4413			status = "disabled";
4414		};
4415	};
4416
4417	mipidcphy0: phy@2b020000 {
4418		compatible = "rockchip,rk3588-mipi-dcphy";
4419		reg = <0x0 0x2b020000 0x0 0x10000>;
4420		rockchip,grf = <&mipidcphy0_grf>;
4421		clocks = <&cru PCLK_MIPI_DCPHY>;
4422		clock-names = "pclk";
4423		resets = <&cru SRST_M_MIPI_DCPHY>,
4424			 <&cru SRST_P_MIPI_DCPHY>,
4425			 <&cru SRST_P_DCPHY_GRF>,
4426			 <&cru SRST_S_MIPI_DCPHY>;
4427		reset-names = "m_phy", "apb", "grf", "s_phy";
4428		#phy-cells = <0>;
4429		status = "okay";
4430	};
4431
4432	csi2_dphy0_hw: csi2-dphy0-hw@2b030000 {
4433		compatible = "rockchip,rk3588-csi2-dphy-hw";
4434		reg = <0x0 0x2b030000 0x0 0x8000>;
4435		clocks = <&cru PCLK_CSIDPHY>;
4436		clock-names = "pclk";
4437		resets = <&cru SRST_P_CSIPHY>;
4438		reset-names = "srst_p_csiphy";
4439		rockchip,grf = <&mipidphy0_grf>;
4440		rockchip,sys_grf = <&sys_grf>;
4441		status = "okay";
4442	};
4443
4444	combphy0_ps: phy@2b050000 {
4445		compatible = "rockchip,rk3576-naneng-combphy";
4446		reg = <0x0 0x2b050000 0x0 0x100>;
4447		#phy-cells = <1>;
4448		clocks = <&cru CLK_REF_PCIE0_PHY>,
4449			 <&cru PCLK_PCIE2_COMBOPHY0>,
4450			 <&cru PCLK_PCIE0>;
4451		clock-names = "refclk", "apbclk", "pipe_clk";
4452		assigned-clocks = <&cru CLK_REF_PCIE0_PHY>;
4453		assigned-clock-rates = <100000000>;
4454		resets = <&cru SRST_P_PCIE2_COMBOPHY0>,
4455			 <&cru SRST_PCIE0_PIPE_PHY>;
4456		reset-names = "combphy-apb", "combphy";
4457		rockchip,pipe-grf = <&php_grf>;
4458		rockchip,pipe-phy-grf = <&pipe_phy0_grf>;
4459		status = "disabled";
4460	};
4461
4462	combphy1_psu: phy@2b060000 {
4463		compatible = "rockchip,rk3576-naneng-combphy";
4464		reg = <0x0 0x2b060000 0x0 0x100>;
4465		#phy-cells = <1>;
4466		clocks = <&cru CLK_REF_PCIE1_PHY>,
4467			 <&cru PCLK_PCIE2_COMBOPHY1>,
4468			 <&cru PCLK_PCIE1>;
4469		clock-names = "refclk", "apbclk", "pipe_clk";
4470		assigned-clocks = <&cru CLK_REF_PCIE1_PHY>;
4471		assigned-clock-rates = <100000000>;
4472		resets = <&cru SRST_P_PCIE2_COMBOPHY1>,
4473			 <&cru SRST_PCIE1_PIPE_PHY>;
4474		reset-names = "combphy-apb", "combphy";
4475		rockchip,pipe-grf = <&php_grf>;
4476		rockchip,pipe-phy-grf = <&pipe_phy1_grf>;
4477		status = "disabled";
4478	};
4479
4480	csi2_dphy1_hw: csi2-dphy1-hw@2b070000 {
4481		compatible = "rockchip,rk3588-csi2-dphy-hw";
4482		reg = <0x0 0x2b070000 0x0 0x8000>;
4483		clocks = <&cru PCLK_CSIDPHY1>;
4484		clock-names = "pclk";
4485		resets = <&cru SRST_P_CSIDPHY1>;
4486		reset-names = "srst_p_csiphy1";
4487		rockchip,grf = <&mipidphy1_grf>;
4488		rockchip,sys_grf = <&sys_grf>;
4489		status = "okay";
4490	};
4491
4492	scmi_shmem: scmi-shmem@4010f000 {
4493		compatible = "arm,scmi-shmem";
4494		reg = <0x0 0x4010f000 0x0 0x100>;
4495	};
4496
4497	pinctrl: pinctrl {
4498		compatible = "rockchip,rk3576-pinctrl";
4499		rockchip,grf = <&ioc_grf>;
4500		#address-cells = <2>;
4501		#size-cells = <2>;
4502		ranges;
4503
4504		gpio0: gpio@27320000 {
4505			compatible = "rockchip,gpio-bank";
4506			reg = <0x0 0x27320000 0x0 0x200>;
4507			interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>;
4508			clocks = <&cru PCLK_GPIO0>, <&cru DBCLK_GPIO0>;
4509
4510			gpio-controller;
4511			#gpio-cells = <2>;
4512			gpio-ranges = <&pinctrl 0 0 32>;
4513			interrupt-controller;
4514			#interrupt-cells = <2>;
4515		};
4516
4517		gpio1: gpio@2ae10000 {
4518			compatible = "rockchip,gpio-bank";
4519			reg = <0x0 0x2ae10000 0x0 0x200>;
4520			interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>;
4521			clocks = <&cru PCLK_GPIO1>, <&cru DBCLK_GPIO1>;
4522
4523			gpio-controller;
4524			#gpio-cells = <2>;
4525			gpio-ranges = <&pinctrl 0 32 32>;
4526			interrupt-controller;
4527			#interrupt-cells = <2>;
4528		};
4529
4530		gpio2: gpio@2ae20000 {
4531			compatible = "rockchip,gpio-bank";
4532			reg = <0x0 0x2ae20000 0x0 0x200>;
4533			interrupts = <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>;
4534			clocks = <&cru PCLK_GPIO2>, <&cru DBCLK_GPIO2>;
4535
4536			gpio-controller;
4537			#gpio-cells = <2>;
4538			gpio-ranges = <&pinctrl 0 64 32>;
4539			interrupt-controller;
4540			#interrupt-cells = <2>;
4541		};
4542
4543		gpio3: gpio@2ae30000 {
4544			compatible = "rockchip,gpio-bank";
4545			reg = <0x0 0x2ae30000 0x0 0x200>;
4546			interrupts = <GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>;
4547			clocks = <&cru PCLK_GPIO3>, <&cru DBCLK_GPIO3>;
4548
4549			gpio-controller;
4550			#gpio-cells = <2>;
4551			gpio-ranges = <&pinctrl 0 96 32>;
4552			interrupt-controller;
4553			#interrupt-cells = <2>;
4554		};
4555
4556		gpio4: gpio@2ae40000 {
4557			compatible = "rockchip,gpio-bank";
4558			reg = <0x0 0x2ae40000 0x0 0x200>;
4559			interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>;
4560			clocks = <&cru PCLK_GPIO4>, <&cru DBCLK_GPIO4>;
4561
4562			gpio-controller;
4563			#gpio-cells = <2>;
4564			gpio-ranges = <&pinctrl 0 128 32>;
4565			interrupt-controller;
4566			#interrupt-cells = <2>;
4567		};
4568	};
4569};
4570
4571#include "rk3576-pinctrl.dtsi"
4572