xref: /OK3568_Linux_fs/kernel/arch/arm64/boot/dts/rockchip/rk3562.dtsi (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (c) 2022 Rockchip Electronics Co., Ltd.
4 */
5
6#include <dt-bindings/clock/rk3562-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/rk3562-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/suspend/rockchip-rk3562.h>
15#include <dt-bindings/thermal/thermal.h>
16
17/ {
18	compatible = "rockchip,rk3562";
19
20	interrupt-parent = <&gic>;
21	#address-cells = <2>;
22	#size-cells = <2>;
23
24	aliases {
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		i2c0 = &i2c0;
39		i2c1 = &i2c1;
40		i2c2 = &i2c2;
41		i2c3 = &i2c3;
42		i2c4 = &i2c4;
43		i2c5 = &i2c5;
44		rkcif_mipi_lvds0= &rkcif_mipi_lvds;
45		rkcif_mipi_lvds1= &rkcif_mipi_lvds1;
46		rkcif_mipi_lvds2= &rkcif_mipi_lvds2;
47		rkcif_mipi_lvds3= &rkcif_mipi_lvds3;
48		serial0 = &uart0;
49		serial1 = &uart1;
50		serial2 = &uart2;
51		serial3 = &uart3;
52		serial4 = &uart4;
53		serial5 = &uart5;
54		serial6 = &uart6;
55		serial7 = &uart7;
56		serial8 = &uart8;
57		serial9 = &uart9;
58		spi0 = &spi0;
59		spi1 = &spi1;
60		spi2 = &spi2;
61		spi3 = &sfc;
62	};
63
64	clocks {
65		compatible = "simple-bus";
66		#address-cells = <2>;
67		#size-cells = <2>;
68		ranges;
69
70		xin32k: xin32k {
71			compatible = "fixed-clock";
72			#clock-cells = <0>;
73			clock-frequency = <32768>;
74			clock-output-names = "xin32k";
75		};
76
77		xin24m: xin24m {
78			compatible = "fixed-clock";
79			#clock-cells = <0>;
80			clock-frequency = <24000000>;
81			clock-output-names = "xin24m";
82		};
83
84		hclk_vepu: hclk_vepu@ff100324 {
85			compatible = "rockchip,rk3562-clock-gate-link";
86			reg = <0 0xff100324 0 0x10>;
87			clock-names = "link";
88			clocks = <&cru HCLK_VI>;
89			#power-domain-cells = <1>;
90			#clock-cells = <0>;
91		};
92
93		aclk_vdpu: aclk_vdpu@ff100328 {
94			compatible = "rockchip,rk3562-clock-gate-link";
95			reg = <0 0xff100328 0 0x10>;
96			clock-names = "link";
97			clocks = <&cru ACLK_TOP_VIO>;
98			#power-domain-cells = <1>;
99			#clock-cells = <0>;
100		};
101
102		aclk_vi_isp: aclk_vi_isp@ff10032c {
103			compatible = "rockchip,rk3562-clock-gate-link";
104			reg = <0 0xff10032c 0 0x10>;
105			clock-names = "link";
106			clocks = <&cru ACLK_TOP_VIO>;
107			#power-domain-cells = <1>;
108			#clock-cells = <0>;
109		};
110
111		aclk_vo: aclk_vo@ff100334 {
112			compatible = "rockchip,rk3562-clock-gate-link";
113			reg = <0 0xff100334 0 0x10>;
114			clock-names = "link";
115			clocks = <&cru ACLK_TOP_VIO>;
116			#power-domain-cells = <1>;
117			#clock-cells = <0>;
118		};
119
120		aclk_vepu: aclk_vepu@ff100324 {
121			compatible = "rockchip,rk3562-clock-gate-link";
122			reg = <0 0xff100324 0 0x10>;
123			clock-names = "link";
124			clocks = <&aclk_vi_isp>;
125			#power-domain-cells = <1>;
126			#clock-cells = <0>;
127		};
128
129		aclk_rga_jdec: aclk_rga_jdec@ff100338 {
130			compatible = "rockchip,rk3562-clock-gate-link";
131			reg = <0 0xff100338 0 0x10>;
132			clock-names = "link";
133			clocks = <&aclk_vo>;
134			#power-domain-cells = <1>;
135			#clock-cells = <0>;
136		};
137
138		mclkin_sai0: mclkin-sai0 {
139			compatible = "fixed-clock";
140			#clock-cells = <0>;
141			clock-frequency = <0>;
142			clock-output-names = "mclk_sai0_from_io";
143		};
144
145		mclkin_sai1: mclkin-sai1 {
146			compatible = "fixed-clock";
147			#clock-cells = <0>;
148			clock-frequency = <0>;
149			clock-output-names = "mclk_sai1_from_io";
150		};
151
152		mclkin_sai2: mclkin-sai2 {
153			compatible = "fixed-clock";
154			#clock-cells = <0>;
155			clock-frequency = <0>;
156			clock-output-names = "mclk_sai2_from_io";
157		};
158
159		mclkout_sai0: mclkout-sai0@ff040070 {
160			compatible = "rockchip,clk-out";
161			reg = <0 0xff040070 0 0x4>;
162			clocks = <&cru MCLK_SAI0_OUT2IO>;
163			#clock-cells = <0>;
164			clock-output-names = "mclk_sai0_to_io";
165			rockchip,bit-shift = <4>;
166		};
167
168		mclkout_sai1: mclkout-sai1@ff040070 {
169			compatible = "rockchip,clk-out";
170			reg = <0 0xff040070 0 0x4>;
171			clocks = <&cru MCLK_SAI1_OUT2IO>;
172			#clock-cells = <0>;
173			clock-output-names = "mclk_sai1_to_io";
174			rockchip,bit-shift = <9>;
175		};
176
177		mclkout_sai2: mclkout-sai2@ff040070 {
178			compatible = "rockchip,clk-out";
179			reg = <0 0xff040070 0 0x4>;
180			clocks = <&cru MCLK_SAI2_OUT2IO>;
181			#clock-cells = <0>;
182			clock-output-names = "mclk_sai2_to_io";
183			rockchip,bit-shift = <11>;
184		};
185	};
186
187	cpus {
188		#address-cells = <2>;
189		#size-cells = <0>;
190
191		cpu0: cpu@0 {
192			device_type = "cpu";
193			compatible = "arm,cortex-a53";
194			reg = <0x0 0x0>;
195			enable-method = "psci";
196			clocks = <&scmi_clk ARMCLK>;
197			cpu-idle-states = <&CPU_SLEEP>;
198			operating-points-v2 = <&cpu0_opp_table>;
199			#cooling-cells = <2>;
200			dynamic-power-coefficient = <138>;
201		};
202		cpu1: cpu@1 {
203			device_type = "cpu";
204			compatible = "arm,cortex-a53";
205			reg = <0x0 0x1>;
206			enable-method = "psci";
207			clocks = <&scmi_clk ARMCLK>;
208			cpu-idle-states = <&CPU_SLEEP>;
209			operating-points-v2 = <&cpu0_opp_table>;
210			#cooling-cells = <2>;
211			dynamic-power-coefficient = <138>;
212		};
213		cpu2: cpu@2 {
214			device_type = "cpu";
215			compatible = "arm,cortex-a53";
216			reg = <0x0 0x2>;
217			enable-method = "psci";
218			clocks = <&scmi_clk ARMCLK>;
219			cpu-idle-states = <&CPU_SLEEP>;
220			operating-points-v2 = <&cpu0_opp_table>;
221			#cooling-cells = <2>;
222			dynamic-power-coefficient = <138>;
223		};
224		cpu3: cpu@3 {
225			device_type = "cpu";
226			compatible = "arm,cortex-a53";
227			reg = <0x0 0x3>;
228			enable-method = "psci";
229			clocks = <&scmi_clk ARMCLK>;
230			cpu-idle-states = <&CPU_SLEEP>;
231			operating-points-v2 = <&cpu0_opp_table>;
232			#cooling-cells = <2>;
233			dynamic-power-coefficient = <138>;
234		};
235
236		idle-states {
237			entry-method = "psci";
238			CPU_SLEEP: cpu-sleep {
239				compatible = "arm,idle-state";
240				local-timer-stop;
241				arm,psci-suspend-param = <0x0010000>;
242				entry-latency-us = <120>;
243				exit-latency-us = <250>;
244				min-residency-us = <900>;
245			};
246		};
247	};
248
249	cpu0_opp_table: cpu0-opp-table {
250		compatible = "operating-points-v2";
251		opp-shared;
252
253		mbist-vmin = <825000 900000 975000>;
254		nvmem-cells = <&cpu_leakage>, <&cpu_opp_info>, <&mbist_vmin>, <&cpu_pvtpll>;
255		nvmem-cell-names = "leakage", "opp-info", "mbist-vmin", "pvtm";
256
257		rockchip,pvtm-voltage-sel = <
258			0	1280	0
259			1281	1350	1
260			1351	1420	2
261			1421	1490	3
262			1491	9999	4
263		>;
264		rockchip,pvtm-pvtpll;
265		rockchip,pvtm-offset = <0x634>;
266		rockchip,pvtm-sample-time = <1100>;
267		rockchip,pvtm-freq = <1608000>;
268		rockchip,pvtm-volt = <900000>;
269		rockchip,pvtm-ref-temp = <40>;
270		rockchip,pvtm-temp-prop = <0 0>;
271		rockchip,pvtm-thermal-zone = "soc-thermal";
272		rockchip,grf = <&sys_grf>;
273		rockchip,temp-hysteresis = <5000>;
274		rockchip,low-temp = <10000>;
275		rockchip,low-temp-min-volt = <925000>;
276
277		opp-408000000 {
278			opp-hz = /bits/ 64 <408000000>;
279			opp-microvolt = <825000 825000 1150000>;
280			clock-latency-ns = <40000>;
281			opp-suspend;
282		};
283		opp-600000000 {
284			opp-hz = /bits/ 64 <600000000>;
285			opp-microvolt = <825000 825000 1150000>;
286			clock-latency-ns = <40000>;
287		};
288		opp-816000000 {
289			opp-hz = /bits/ 64 <816000000>;
290			opp-microvolt = <825000 825000 1150000>;
291			clock-latency-ns = <40000>;
292		};
293		opp-1008000000 {
294			opp-hz = /bits/ 64 <1008000000>;
295			opp-microvolt = <850000 850000 1150000>;
296			opp-microvolt-L0 = <850000 850000 1150000>;
297			opp-microvolt-L1 = <825000 825000 1150000>;
298			opp-microvolt-L2 = <825000 825000 1150000>;
299			opp-microvolt-L3 = <825000 825000 1150000>;
300			opp-microvolt-L4 = <825000 825000 1150000>;
301			clock-latency-ns = <40000>;
302		};
303		opp-1200000000 {
304			opp-hz = /bits/ 64 <1200000000>;
305			opp-microvolt = <925000 925000 1150000>;
306			opp-microvolt-L0 = <925000 925000 1150000>;
307			opp-microvolt-L1 = <900000 900000 1150000>;
308			opp-microvolt-L2 = <875000 875000 1150000>;
309			opp-microvolt-L3 = <850000 850000 1150000>;
310			opp-microvolt-L4 = <825000 825000 1150000>;
311			clock-latency-ns = <40000>;
312		};
313		opp-1416000000 {
314			opp-hz = /bits/ 64 <1416000000>;
315			opp-microvolt = <1000000 1000000 1150000>;
316			opp-microvolt-L0 = <1000000 1000000 1150000>;
317			opp-microvolt-L1 = <975000 975000 1150000>;
318			opp-microvolt-L2 = <950000 950000 1150000>;
319			opp-microvolt-L3 = <925000 925000 1150000>;
320			opp-microvolt-L4 = <900000 900000 1150000>;
321			clock-latency-ns = <40000>;
322		};
323		opp-1608000000 {
324			opp-hz = /bits/ 64 <1608000000>;
325			opp-microvolt = <1037500 1037500 1150000>;
326			opp-microvolt-L0 = <1037500 1037500 1150000>;
327			opp-microvolt-L1 = <1012500 1012500 1150000>;
328			opp-microvolt-L2 = <987500 987500 1150000>;
329			opp-microvolt-L3 = <962500 962500 1150000>;
330			opp-microvolt-L4 = <937500 937500 1150000>;
331			clock-latency-ns = <40000>;
332		};
333		opp-1800000000 {
334			opp-hz = /bits/ 64 <1800000000>;
335			opp-microvolt = <1125000 1125000 1150000>;
336			opp-microvolt-L0 = <1125000 1125000 1150000>;
337			opp-microvolt-L1 = <1100000 1100000 1150000>;
338			opp-microvolt-L2 = <1075000 1075000 1150000>;
339			opp-microvolt-L3 = <1050000 1050000 1150000>;
340			opp-microvolt-L4 = <1025000 1025000 1150000>;
341			clock-latency-ns = <40000>;
342		};
343		opp-2016000000 {
344			opp-hz = /bits/ 64 <2016000000>;
345			opp-microvolt = <1150000 1150000 1150000>;
346			opp-microvolt-L0 = <1150000 1150000 1150000>;
347			opp-microvolt-L1 = <1150000 1150000 1150000>;
348			opp-microvolt-L2 = <1125000 1125000 1150000>;
349			opp-microvolt-L3 = <1100000 1100000 1150000>;
350			opp-microvolt-L4 = <1075000 1075000 1150000>;
351			clock-latency-ns = <40000>;
352		};
353	};
354
355	arm-pmu {
356		compatible = "arm,cortex-a53-pmu";
357		interrupts = <GIC_SPI 228 IRQ_TYPE_LEVEL_HIGH>,
358			     <GIC_SPI 229 IRQ_TYPE_LEVEL_HIGH>,
359			     <GIC_SPI 230 IRQ_TYPE_LEVEL_HIGH>,
360			     <GIC_SPI 231 IRQ_TYPE_LEVEL_HIGH>;
361		interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
362	};
363
364	bus_soc: bus-soc {
365		compatible = "rockchip,rk3562-bus";
366		rockchip,busfreq-policy = "smc";
367		rockchip,soc-bus-table = <0 0x00a000a8 0x7001>,
368					 <1 0x00a000a8 0x7c39>,
369					 <2 0x00a000a8 0x7c39>,
370					 <3 0x00a000a8 0x7c39>,
371					 <4 0x00a000a5 0xb007>,
372					 <5 0x00a000a8 0x7034>,
373					 <6 0x00a000a8 0x7034>,
374					 <7 0x00a000a8 0x7034>,
375					 <8 0x00a000a8 0x7001>;
376	};
377
378	cpuinfo {
379		compatible = "rockchip,cpuinfo";
380		nvmem-cells = <&otp_id>, <&otp_cpu_version>, <&cpu_code>;
381		nvmem-cell-names = "id", "cpu-version", "cpu-code";
382	};
383
384	/* dphy0 full mode */
385	csi2_dphy0: csi2-dphy0 {
386		compatible = "rockchip,rk3562-csi2-dphy";
387		rockchip,hw = <&csi2_dphy0_hw>, <&csi2_dphy1_hw>;
388		status = "disabled";
389	};
390
391	/* dphy0 split mode 01 */
392	csi2_dphy1: csi2-dphy1 {
393		compatible = "rockchip,rk3562-csi2-dphy";
394		rockchip,hw = <&csi2_dphy0_hw>, <&csi2_dphy1_hw>;
395		status = "disabled";
396	};
397
398	/* dphy0 split mode 23 */
399	csi2_dphy2: csi2-dphy2 {
400		compatible = "rockchip,rk3562-csi2-dphy";
401		rockchip,hw = <&csi2_dphy0_hw>, <&csi2_dphy1_hw>;
402		status = "disabled";
403	};
404
405	/* dphy1 full mode */
406	csi2_dphy3: csi2-dphy3 {
407		compatible = "rockchip,rk3562-csi2-dphy";
408		rockchip,hw = <&csi2_dphy0_hw>, <&csi2_dphy1_hw>;
409		status = "disabled";
410	};
411
412	/* dphy1 split mode 01 */
413	csi2_dphy4: csi2-dphy4 {
414		compatible = "rockchip,rk3562-csi2-dphy";
415		rockchip,hw = <&csi2_dphy0_hw>, <&csi2_dphy1_hw>;
416		status = "disabled";
417	};
418
419	/* dphy1 split mode 23 */
420	csi2_dphy5: csi2-dphy5 {
421		compatible = "rockchip,rk3562-csi2-dphy";
422		rockchip,hw = <&csi2_dphy0_hw>, <&csi2_dphy1_hw>;
423		status = "disabled";
424	};
425
426	display_subsystem: display-subsystem {
427		compatible = "rockchip,display-subsystem";
428		ports = <&vop_out>;
429		status = "disabled";
430
431		memory-region = <&drm_logo>, <&drm_cubic_lut>;
432		memory-region-names = "drm-logo", "drm-cubic-lut";
433		/* devfreq = <&dmc>; */
434
435		route {
436			route_dsi: route-dsi {
437				status = "disabled";
438				logo,uboot = "logo.bmp";
439				logo,kernel = "logo_kernel.bmp";
440				logo,mode = "center";
441				charge_logo,mode = "center";
442				connect = <&vp0_out_dsi>;
443			};
444			route_lvds: route-lvds {
445				status = "disabled";
446				logo,uboot = "logo.bmp";
447				logo,kernel = "logo_kernel.bmp";
448				logo,mode = "center";
449				charge_logo,mode = "center";
450				connect = <&vp0_out_lvds>;
451			};
452			route_rgb: route-rgb {
453				status = "disabled";
454				logo,uboot = "logo.bmp";
455				logo,kernel = "logo_kernel.bmp";
456				logo,mode = "center";
457				charge_logo,mode = "center";
458				connect = <&vp0_out_rgb>;
459			};
460		};
461	};
462
463	dmc: dmc {
464		compatible = "rockchip,rk3562-dmc";
465		interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
466		interrupt-names = "complete";
467		devfreq-events = <&dfi>;
468		clocks = <&scmi_clk CLK_DDR>;
469		clock-names = "dmc_clk";
470		operating-points-v2 = <&dmc_opp_table>;
471		upthreshold = <40>;
472		downdifferential = <20>;
473		system-status-level = <
474			/*system status		freq level*/
475			SYS_STATUS_NORMAL	DMC_FREQ_LEVEL_MID_HIGH
476			SYS_STATUS_REBOOT	DMC_FREQ_LEVEL_HIGH
477			SYS_STATUS_SUSPEND	DMC_FREQ_LEVEL_LOW
478			SYS_STATUS_VIDEO_4K	DMC_FREQ_LEVEL_MID_HIGH
479			SYS_STATUS_VIDEO_4K_10B	DMC_FREQ_LEVEL_MID_HIGH
480			SYS_STATUS_BOOST	DMC_FREQ_LEVEL_HIGH
481			SYS_STATUS_ISP		DMC_FREQ_LEVEL_HIGH
482			SYS_STATUS_PERFORMANCE	DMC_FREQ_LEVEL_HIGH
483			SYS_STATUS_DUALVIEW	DMC_FREQ_LEVEL_HIGH
484		>;
485		auto-min-freq = <324000>;
486		auto-freq-en = <1>;
487		#cooling-cells = <2>;
488		status = "disabled";
489	};
490
491	dmc_opp_table: dmc-opp-table {
492		compatible = "operating-points-v2";
493
494		mbist-vmin = <850000 900000 925000>;
495		nvmem-cells = <&log_leakage>, <&dmc_opp_info>, <&log_mbist_vmin>;
496		nvmem-cell-names = "leakage", "opp-info", "mbist-vmin";
497
498		rockchip,temp-hysteresis = <5000>;
499		rockchip,low-temp = <10000>;
500		rockchip,low-temp-min-volt = <900000>;
501
502		rockchip,leakage-voltage-sel = <
503			1   15    0
504			16  20    1
505			21  254   2
506		>;
507
508		opp-1560000000 {
509			opp-hz = /bits/ 64 <1560000000>;
510			opp-microvolt = <900000 900000 950000>;
511			opp-microvolt-L0 = <900000 900000 950000>;
512			opp-microvolt-L1 = <875000 875000 950000>;
513			opp-microvolt-L2 = <850000 850000 950000>;
514		};
515	};
516
517	firmware {
518		scmi: scmi {
519			compatible = "arm,scmi-smc";
520			shmem = <&scmi_shmem>;
521			arm,smc-id = <0x82000010>;
522			#address-cells = <1>;
523			#size-cells = <0>;
524
525			scmi_clk: protocol@14 {
526				reg = <0x14>;
527				#clock-cells = <1>;
528			};
529		};
530	};
531
532	mpp_srv: mpp-srv {
533		compatible = "rockchip,mpp-service";
534		rockchip,taskqueue-count = <3>;
535		rockchip,resetgroup-count = <3>;
536		status = "disabled";
537	};
538
539	mipi0_csi2: mipi0-csi2 {
540		compatible = "rockchip,rk3562-mipi-csi2";
541		rockchip,hw = <&mipi0_csi2_hw>, <&mipi1_csi2_hw>,
542			      <&mipi2_csi2_hw>, <&mipi3_csi2_hw>;
543		status = "disabled";
544	};
545
546	mipi1_csi2: mipi1-csi2 {
547		compatible = "rockchip,rk3562-mipi-csi2";
548		rockchip,hw = <&mipi0_csi2_hw>, <&mipi1_csi2_hw>,
549			      <&mipi2_csi2_hw>, <&mipi3_csi2_hw>;
550		status = "disabled";
551	};
552
553	mipi2_csi2: mipi2-csi2 {
554		compatible = "rockchip,rk3562-mipi-csi2";
555		rockchip,hw = <&mipi0_csi2_hw>, <&mipi1_csi2_hw>,
556			      <&mipi2_csi2_hw>, <&mipi3_csi2_hw>;
557		status = "disabled";
558	};
559
560	mipi3_csi2: mipi3-csi2 {
561		compatible = "rockchip,rk3562-mipi-csi2";
562		rockchip,hw = <&mipi0_csi2_hw>, <&mipi1_csi2_hw>,
563			      <&mipi2_csi2_hw>, <&mipi3_csi2_hw>;
564		status = "disabled";
565	};
566
567	psci {
568		compatible = "arm,psci-1.0";
569		method = "smc";
570	};
571
572	reserved_memory: reserved-memory {
573		#address-cells = <2>;
574		#size-cells = <2>;
575		ranges;
576
577		drm_logo: drm-logo@00000000 {
578			compatible = "rockchip,drm-logo";
579			reg = <0x0 0x0 0x0 0x0>;
580		};
581
582		vendor_storage_rm: vendor-storage-rm@00000000 {
583			compatible = "rockchip,vendor-storage-rm";
584			reg = <0x0 0x0 0x0 0x0>;
585		};
586
587		drm_cubic_lut: drm-cubic-lut@00000000 {
588			compatible = "rockchip,drm-cubic-lut";
589			reg = <0x0 0x0 0x0 0x0>;
590		};
591
592		ramoops: ramoops@110000 {
593			compatible = "ramoops";
594			/* 0x110000 to 0x1f0000 is for ramoops */
595			reg = <0x0 0x110000 0x0 0xe0000>;
596			boot-log-size = <0x8000>;	/* do not change */
597			boot-log-count = <0x1>;		/* do not change */
598			console-size = <0x80000>;
599			pmsg-size = <0x30000>;
600			ftrace-size = <0x00000>;
601			record-size = <0x14000>;
602		};
603	};
604
605	rkcif_mipi_lvds: rkcif-mipi-lvds {
606		compatible = "rockchip,rkcif-mipi-lvds";
607		rockchip,hw = <&rkcif>;
608		iommus = <&rkcif_mmu>;
609		status = "disabled";
610	};
611
612	rkcif_mipi_lvds_sditf: rkcif-mipi-lvds-sditf {
613		compatible = "rockchip,rkcif-sditf";
614		rockchip,cif = <&rkcif_mipi_lvds>;
615		status = "disabled";
616	};
617
618	rkcif_mipi_lvds_sditf_vir1: rkcif-mipi-lvds-sditf-vir1 {
619		compatible = "rockchip,rkcif-sditf";
620		rockchip,cif = <&rkcif_mipi_lvds>;
621		status = "disabled";
622	};
623
624	rkcif_mipi_lvds_sditf_vir2: rkcif-mipi-lvds-sditf-vir2 {
625		compatible = "rockchip,rkcif-sditf";
626		rockchip,cif = <&rkcif_mipi_lvds>;
627		status = "disabled";
628	};
629
630	rkcif_mipi_lvds_sditf_vir3: rkcif-mipi-lvds-sditf-vir3 {
631		compatible = "rockchip,rkcif-sditf";
632		rockchip,cif = <&rkcif_mipi_lvds>;
633		status = "disabled";
634	};
635
636	rkcif_mipi_lvds1: rkcif-mipi-lvds1 {
637		compatible = "rockchip,rkcif-mipi-lvds";
638		rockchip,hw = <&rkcif>;
639		iommus = <&rkcif_mmu>;
640		status = "disabled";
641	};
642
643	rkcif_mipi_lvds1_sditf: rkcif-mipi-lvds1-sditf {
644		compatible = "rockchip,rkcif-sditf";
645		rockchip,cif = <&rkcif_mipi_lvds1>;
646		status = "disabled";
647	};
648
649	rkcif_mipi_lvds1_sditf_vir1: rkcif-mipi-lvds1-sditf-vir1 {
650		compatible = "rockchip,rkcif-sditf";
651		rockchip,cif = <&rkcif_mipi_lvds1>;
652		status = "disabled";
653	};
654
655	rkcif_mipi_lvds1_sditf_vir2: rkcif-mipi-lvds1-sditf-vir2 {
656		compatible = "rockchip,rkcif-sditf";
657		rockchip,cif = <&rkcif_mipi_lvds1>;
658		status = "disabled";
659	};
660
661	rkcif_mipi_lvds1_sditf_vir3: rkcif-mipi-lvds1-sditf-vir3 {
662		compatible = "rockchip,rkcif-sditf";
663		rockchip,cif = <&rkcif_mipi_lvds1>;
664		status = "disabled";
665	};
666
667	rkcif_mipi_lvds2: rkcif-mipi-lvds2 {
668		compatible = "rockchip,rkcif-mipi-lvds";
669		rockchip,hw = <&rkcif>;
670		iommus = <&rkcif_mmu>;
671		status = "disabled";
672	};
673
674	rkcif_mipi_lvds2_sditf: rkcif-mipi-lvds2-sditf {
675		compatible = "rockchip,rkcif-sditf";
676		rockchip,cif = <&rkcif_mipi_lvds2>;
677		status = "disabled";
678	};
679
680	rkcif_mipi_lvds2_sditf_vir1: rkcif-mipi-lvds2-sditf-vir1 {
681		compatible = "rockchip,rkcif-sditf";
682		rockchip,cif = <&rkcif_mipi_lvds2>;
683		status = "disabled";
684	};
685
686	rkcif_mipi_lvds2_sditf_vir2: rkcif-mipi-lvds2-sditf-vir2 {
687		compatible = "rockchip,rkcif-sditf";
688		rockchip,cif = <&rkcif_mipi_lvds2>;
689		status = "disabled";
690	};
691
692	rkcif_mipi_lvds2_sditf_vir3: rkcif-mipi-lvds2-sditf-vir3 {
693		compatible = "rockchip,rkcif-sditf";
694		rockchip,cif = <&rkcif_mipi_lvds2>;
695		status = "disabled";
696	};
697
698	rkcif_mipi_lvds3: rkcif-mipi-lvds3 {
699		compatible = "rockchip,rkcif-mipi-lvds";
700		rockchip,hw = <&rkcif>;
701		iommus = <&rkcif_mmu>;
702		status = "disabled";
703	};
704
705	rkcif_mipi_lvds3_sditf: rkcif-mipi-lvds3-sditf {
706		compatible = "rockchip,rkcif-sditf";
707		rockchip,cif = <&rkcif_mipi_lvds3>;
708		status = "disabled";
709	};
710
711	rkcif_mipi_lvds3_sditf_vir1: rkcif-mipi-lvds3-sditf-vir1 {
712		compatible = "rockchip,rkcif-sditf";
713		rockchip,cif = <&rkcif_mipi_lvds3>;
714		status = "disabled";
715	};
716
717	rkcif_mipi_lvds3_sditf_vir2: rkcif-mipi-lvds3-sditf-vir2 {
718		compatible = "rockchip,rkcif-sditf";
719		rockchip,cif = <&rkcif_mipi_lvds3>;
720		status = "disabled";
721	};
722
723	rkcif_mipi_lvds3_sditf_vir3: rkcif-mipi-lvds3-sditf-vir3 {
724		compatible = "rockchip,rkcif-sditf";
725		rockchip,cif = <&rkcif_mipi_lvds3>;
726		status = "disabled";
727	};
728
729	rkisp_vir0: rkisp-vir0 {
730		compatible = "rockchip,rkisp-vir";
731		rockchip,hw = <&rkisp>;
732		status = "disabled";
733	};
734
735	rkisp_vir1: rkisp-vir1 {
736		compatible = "rockchip,rkisp-vir";
737		rockchip,hw = <&rkisp>;
738		status = "disabled";
739	};
740
741	rkisp_vir2: rkisp-vir2 {
742		compatible = "rockchip,rkisp-vir";
743		rockchip,hw = <&rkisp>;
744		status = "disabled";
745	};
746
747	rkisp_vir3: rkisp-vir3 {
748		compatible = "rockchip,rkisp-vir";
749		rockchip,hw = <&rkisp>;
750		status = "disabled";
751	};
752
753	rockchip_system_monitor: rockchip-system-monitor {
754		compatible = "rockchip,system-monitor";
755		rockchip,thermal-zone = "soc-thermal";
756	};
757
758	thermal_zones: thermal-zones {
759		soc_thermal: soc-thermal {
760			polling-delay-passive = <20>; /* milliseconds */
761			polling-delay = <1000>; /* milliseconds */
762			sustainable-power = <685>; /* milliwatts */
763
764			thermal-sensors = <&tsadc 0>;
765			trips {
766				threshold: trip-point-0 {
767					temperature = <75000>;
768					hysteresis = <2000>;
769					type = "passive";
770				};
771				target: trip-point-1 {
772					temperature = <85000>;
773					hysteresis = <2000>;
774					type = "passive";
775				};
776				soc_crit: soc-crit {
777					/* millicelsius */
778					temperature = <115000>;
779					/* millicelsius */
780					hysteresis = <2000>;
781					type = "critical";
782				};
783			};
784			cooling-maps {
785				map0 {
786					trip = <&target>;
787					cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
788					contribution = <1024>;
789				};
790				map1 {
791					trip = <&target>;
792					cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
793					contribution = <1024>;
794				};
795			};
796		};
797	};
798
799	timer {
800		compatible = "arm,armv8-timer";
801		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
802			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
803			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
804			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
805	};
806
807	vendor_storage: vendor-storage {
808		compatible = "rockchip,ram-vendor-storage";
809		memory-region = <&vendor_storage_rm>;
810		status = "okay";
811	};
812
813	scmi_shmem: scmi-shmem@10f000 {
814		compatible = "arm,scmi-shmem";
815		reg = <0x0 0x0010f000 0x0 0x100>;
816	};
817
818	usbdrd30: usbdrd {
819		compatible = "rockchip,rk3562-dwc3", "rockchip,rk3399-dwc3";
820		clocks = <&cru CLK_USB3OTG_REF>, <&cru CLK_USB3OTG_SUSPEND>,
821			 <&cru ACLK_USB3OTG>, <&cru PCLK_PHP>;
822		clock-names = "ref", "suspend", "bus", "pipe_clk";
823		#address-cells = <2>;
824		#size-cells = <2>;
825		ranges;
826		status = "disabled";
827
828		usbdrd_dwc3: usb@fe500000 {
829			compatible = "snps,dwc3";
830			reg = <0x0 0xfe500000 0x0 0x400000>;
831			interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>;
832			dr_mode = "otg";
833			phys = <&u2phy_otg>, <&combphy_pu PHY_TYPE_USB3>;
834			phy-names = "usb2-phy", "usb3-phy";
835			phy_type = "utmi_wide";
836			power-domains = <&power RK3562_PD_PHP>;
837			resets = <&cru SRST_USB3OTG>;
838			reset-names = "usb3-otg";
839			snps,dis_enblslpm_quirk;
840			snps,dis-u1-entry-quirk;
841			snps,dis-u2-entry-quirk;
842			snps,dis-u2-freeclk-exists-quirk;
843			snps,dis-del-phy-power-chg-quirk;
844			snps,dis-tx-ipgap-linecheck-quirk;
845			snps,dis_rxdet_inp3_quirk;
846			quirk-skip-phy-init;
847			status = "disabled";
848		};
849	};
850
851	gic: interrupt-controller@fe901000 {
852		compatible = "arm,gic-400";
853		#interrupt-cells = <3>;
854		#address-cells = <0>;
855		interrupt-controller;
856		reg = <0x0 0xfe901000 0 0x1000>,
857		      <0x0 0xfe902000 0 0x2000>,
858		      <0x0 0xfe904000 0 0x2000>,
859		      <0x0 0xfe906000 0 0x2000>;
860		interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
861	};
862
863	usb_host0_ehci: usb@fed00000 {
864		compatible = "generic-ehci";
865		reg = <0x0 0xfed00000 0x0 0x40000>;
866		interrupts = <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>;
867		clocks = <&cru HCLK_USB2HOST>, <&cru HCLK_USB2HOST_ARB>,
868			 <&u2phy>;
869		clock-names = "usbhost", "arbiter", "utmi";
870		phys = <&u2phy_host>;
871		phy-names = "usb2-phy";
872		status = "disabled";
873	};
874
875	usb_host0_ohci: usb@fed40000 {
876		compatible = "generic-ohci";
877		reg = <0x0 0xfed40000 0x0 0x40000>;
878		interrupts = <GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>;
879		clocks = <&cru HCLK_USB2HOST>, <&cru HCLK_USB2HOST_ARB>,
880			 <&u2phy>;
881		clock-names = "usbhost", "arbiter", "utmi";
882		phys = <&u2phy_host>;
883		phy-names = "usb2-phy";
884		status = "disabled";
885	};
886
887	debug: debug@fed90000 {
888		compatible = "rockchip,debug";
889		reg = <0x0 0xfed90000 0x0 0x2000>,
890		      <0x0 0xfed92000 0x0 0x2000>,
891		      <0x0 0xfed94000 0x0 0x2000>,
892		      <0x0 0xfed96000 0x0 0x2000>;
893	};
894
895	qos_dma2ddr: qos@fee03800 {
896		compatible = "syscon";
897		reg = <0x0 0xfee03800 0x0 0x20>;
898	};
899
900	qos_mcu: qos@fee10000 {
901		compatible = "syscon";
902		reg = <0x0 0xfee10000 0x0 0x20>;
903	};
904
905	qos_dft_apb: qos@fee10100 {
906		compatible = "syscon";
907		reg = <0x0 0xfee10100 0x0 0x20>;
908	};
909
910	qos_gmac: qos@fee10200 {
911		compatible = "syscon";
912		reg = <0x0 0xfee10200 0x0 0x20>;
913	};
914
915	qos_mac100: qos@fee10300 {
916		compatible = "syscon";
917		reg = <0x0 0xfee10300 0x0 0x20>;
918	};
919
920	qos_dcf: qos@fee10400 {
921		compatible = "syscon";
922		reg = <0x0 0xfee10400 0x0 0x20>;
923	};
924
925	qos_cpu: qos@fee20000 {
926		compatible = "syscon";
927		reg = <0x0 0xfee20000 0x0 0x20>;
928	};
929
930	qos_daplite_apb: qos@fee20100 {
931		compatible = "syscon";
932		reg = <0x0 0xfee20100 0x0 0x20>;
933	};
934
935	qos_gpu: qos@fee30000 {
936		compatible = "syscon";
937		reg = <0x0 0xfee30000 0x0 0x20>;
938		priority-init = <0x202>;
939	};
940
941	qos_npu: qos@fee40000 {
942		compatible = "syscon";
943		reg = <0x0 0xfee40000 0x0 0x20>;
944	};
945
946	qos_rkvdec: qos@fee50000 {
947		compatible = "syscon";
948		reg = <0x0 0xfee50000 0x0 0x20>;
949	};
950
951	qos_vepu: qos@fee60000 {
952		compatible = "syscon";
953		reg = <0x0 0xfee60000 0x0 0x20>;
954	};
955
956	qos_isp: qos@fee70000 {
957		compatible = "syscon";
958		reg = <0x0 0xfee70000 0x0 0x20>;
959	};
960
961	qos_vicap: qos@fee70100 {
962		compatible = "syscon";
963		reg = <0x0 0xfee70100 0x0 0x20>;
964	};
965
966	qos_vop: qos@fee80000 {
967		compatible = "syscon";
968		reg = <0x0 0xfee80000 0x0 0x20>;
969	};
970
971	qos_jpeg: qos@fee90000 {
972		compatible = "syscon";
973		reg = <0x0 0xfee90000 0x0 0x20>;
974	};
975
976	qos_rga_rd: qos@fee90100 {
977		compatible = "syscon";
978		reg = <0x0 0xfee90100 0x0 0x20>;
979	};
980
981	qos_rga_wr: qos@fee90200 {
982		compatible = "syscon";
983		reg = <0x0 0xfee90200 0x0 0x20>;
984	};
985
986	qos_pcie: qos@feea0000 {
987		compatible = "syscon";
988		reg = <0x0 0xfeea0000 0x0 0x20>;
989	};
990
991	qos_usb3: qos@feea0100 {
992		compatible = "syscon";
993		reg = <0x0 0xfeea0100 0x0 0x20>;
994	};
995
996	qos_crypto_apb: qos@feeb0000 {
997		compatible = "syscon";
998		reg = <0x0 0xfeeb0000 0x0 0x20>;
999	};
1000
1001	qos_crypto: qos@feeb0100 {
1002		compatible = "syscon";
1003		reg = <0x0 0xfeeb0100 0x0 0x20>;
1004	};
1005
1006	qos_dmac: qos@feeb0200 {
1007		compatible = "syscon";
1008		reg = <0x0 0xfeeb0200 0x0 0x20>;
1009	};
1010
1011	qos_emmc: qos@feeb0300 {
1012		compatible = "syscon";
1013		reg = <0x0 0xfeeb0300 0x0 0x20>;
1014	};
1015
1016	qos_fspi: qos@feeb0400 {
1017		compatible = "syscon";
1018		reg = <0x0 0xfeeb0400 0x0 0x20>;
1019	};
1020
1021	qos_rkdma: qos@feeb0500 {
1022		compatible = "syscon";
1023		reg = <0x0 0xfeeb0500 0x0 0x20>;
1024	};
1025
1026	qos_sdmmc0: qos@feeb0600 {
1027		compatible = "syscon";
1028		reg = <0x0 0xfeeb0600 0x0 0x20>;
1029	};
1030
1031	qos_sdmmc1: qos@feeb0700 {
1032		compatible = "syscon";
1033		reg = <0x0 0xfeeb0700 0x0 0x20>;
1034	};
1035
1036	qos_usb2: qos@feeb0800 {
1037		compatible = "syscon";
1038		reg = <0x0 0xfeeb0800 0x0 0x20>;
1039	};
1040
1041	pmu_grf: syscon@ff010000 {
1042		compatible = "rockchip,rk3562-pmu-grf", "syscon", "simple-mfd";
1043		reg = <0x0 0xff010000 0x0 0x10000>;
1044
1045		reboot_mode: reboot-mode {
1046			compatible = "syscon-reboot-mode";
1047			offset = <0x220>;
1048			mode-bootloader = <BOOT_BL_DOWNLOAD>;
1049			mode-charge = <BOOT_CHARGING>;
1050			mode-fastboot = <BOOT_FASTBOOT>;
1051			mode-loader = <BOOT_BL_DOWNLOAD>;
1052			mode-normal = <BOOT_NORMAL>;
1053			mode-recovery = <BOOT_RECOVERY>;
1054			mode-ums = <BOOT_UMS>;
1055			mode-panic = <BOOT_PANIC>;
1056			mode-watchdog = <BOOT_WATCHDOG>;
1057		};
1058	};
1059
1060	sys_grf: syscon@ff030000 {
1061		compatible = "rockchip,rk3562-sys-grf", "syscon", "simple-mfd";
1062		reg = <0x0 0xff030000 0x0 0x10000>;
1063
1064		lvds: lvds {
1065			compatible = "rockchip,rk3562-lvds";
1066			phys = <&video_phy>;
1067			phy-names = "phy";
1068			status = "disabled";
1069
1070			ports {
1071				#address-cells = <1>;
1072				#size-cells = <0>;
1073
1074				port@0 {
1075					reg = <0>;
1076					#address-cells = <1>;
1077					#size-cells = <0>;
1078
1079					lvds_in_vp0: endpoint@0 {
1080						reg = <0>;
1081						remote-endpoint = <&vp0_out_lvds>;
1082						status = "disabled";
1083					};
1084				};
1085			};
1086		};
1087	};
1088
1089	peri_grf: syscon@ff040000 {
1090		compatible = "rockchip,rk3562-peri-grf", "syscon";
1091		reg = <0x0 0xff040000 0x0 0x10000>;
1092	};
1093
1094	ioc_grf: syscon@ff060000 {
1095		compatible = "rockchip,rk3562-ioc-grf", "syscon", "simple-mfd";
1096		reg = <0x0 0xff060000 0x0 0x30000>;
1097
1098		rgb: rgb {
1099			compatible = "rockchip,rk3562-rgb";
1100			pinctrl-names = "default";
1101			pinctrl-0 = <&vo_pins>;
1102			status = "disabled";
1103
1104			ports {
1105				#address-cells = <1>;
1106				#size-cells = <0>;
1107
1108				port@0 {
1109					reg = <0>;
1110					#address-cells = <1>;
1111					#size-cells = <0>;
1112
1113					rgb_in_vp0: endpoint@0 {
1114						reg = <0>;
1115						remote-endpoint = <&vp0_out_rgb>;
1116						status = "disabled";
1117					};
1118				};
1119			};
1120		};
1121	};
1122
1123	usbphy_grf: syscon@ff090000 {
1124		compatible = "rockchip,rk3562-usbphy-grf", "syscon";
1125		reg = <0x0 0xff090000 0x0 0x8000>;
1126	};
1127
1128	pipephy_grf: syscon@ff098000 {
1129		compatible = "rockchip,rk3562-pipephy-grf", "syscon";
1130		reg = <0x0 0xff098000 0x0 0x8000>;
1131	};
1132
1133	cru: clock-controller@ff100000 {
1134		compatible = "rockchip,rk3562-cru";
1135		reg = <0x0 0xff100000 0x0 0x40000>;
1136		rockchip,grf = <&sys_grf>;
1137		#clock-cells = <1>;
1138		#reset-cells = <1>;
1139
1140		assigned-clocks =
1141			<&cru PLL_GPLL>, <&cru PLL_CPLL>, <&cru PLL_HPLL>;
1142		assigned-clock-rates =
1143			<1188000000>, <1000000000>, <983040000>;
1144	};
1145
1146	i2c0: i2c@ff200000 {
1147		compatible = "rockchip,rk3562-i2c", "rockchip,rk3399-i2c";
1148		reg = <0x0 0xff200000 0x0 0x1000>;
1149		clocks = <&cru CLK_PMU0_I2C0>, <&cru PCLK_PMU0_I2C0>;
1150		clock-names = "i2c", "pclk";
1151		interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
1152		pinctrl-names = "default";
1153		pinctrl-0 = <&i2c0_xfer>;
1154		#address-cells = <1>;
1155		#size-cells = <0>;
1156		status = "disabled";
1157	};
1158
1159	uart0: serial@ff210000 {
1160		compatible = "rockchip,rk3562-uart", "snps,dw-apb-uart";
1161		reg = <0x0 0xff210000 0x0 0x100>;
1162		interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
1163		clocks = <&cru SCLK_PMU1_UART0>, <&cru PCLK_PMU1_UART0>;
1164		clock-names = "baudclk", "apb_pclk";
1165		reg-shift = <2>;
1166		reg-io-width = <4>;
1167		dmas = <&dmac 0>;
1168		status = "disabled";
1169	};
1170
1171	spi0: spi@ff220000 {
1172		compatible = "rockchip,rk3066-spi";
1173		reg = <0x0 0xff220000 0x0 0x1000>;
1174		interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
1175		#address-cells = <1>;
1176		#size-cells = <0>;
1177		clocks = <&cru CLK_PMU1_SPI0>, <&cru PCLK_PMU1_SPI0>, <&cru SCLK_IN_PMU1_SPI0>;
1178		clock-names = "spiclk", "apb_pclk", "sclk_in";
1179		dmas = <&dmac 13>, <&dmac 12>;
1180		dma-names = "tx", "rx";
1181		pinctrl-names = "default";
1182		pinctrl-0 = <&spi0m0_csn0 &spi0m0_csn1 &spi0m0_pins>;
1183		num-cs = <2>;
1184		status = "disabled";
1185	};
1186
1187	pwm0: pwm@ff230000 {
1188		compatible = "rockchip,rk3562-pwm", "rockchip,rk3328-pwm";
1189		reg = <0x0 0xff230000 0x0 0x10>;
1190		interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
1191		#pwm-cells = <3>;
1192		pinctrl-names = "active";
1193		pinctrl-0 = <&pwm0m0_pins>;
1194		clocks = <&cru CLK_PMU1_PWM0>, <&cru PCLK_PMU1_PWM0>;
1195		clock-names = "pwm", "pclk";
1196		status = "disabled";
1197	};
1198
1199	pwm1: pwm@ff230010 {
1200		compatible = "rockchip,rk3562-pwm", "rockchip,rk3328-pwm";
1201		reg = <0x0 0xff230010 0x0 0x10>;
1202		interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
1203		#pwm-cells = <3>;
1204		pinctrl-names = "active";
1205		pinctrl-0 = <&pwm1m0_pins>;
1206		clocks = <&cru CLK_PMU1_PWM0>, <&cru PCLK_PMU1_PWM0>;
1207		clock-names = "pwm", "pclk";
1208		status = "disabled";
1209	};
1210
1211	pwm2: pwm@ff230020 {
1212		compatible = "rockchip,rk3562-pwm", "rockchip,rk3328-pwm";
1213		reg = <0x0 0xff230020 0x0 0x10>;
1214		interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
1215		#pwm-cells = <3>;
1216		pinctrl-names = "active";
1217		pinctrl-0 = <&pwm2m0_pins>;
1218		clocks = <&cru CLK_PMU1_PWM0>, <&cru PCLK_PMU1_PWM0>;
1219		clock-names = "pwm", "pclk";
1220		status = "disabled";
1221	};
1222
1223	pwm3: pwm@ff230030 {
1224		compatible = "rockchip,rk3562-pwm", "rockchip,rk3328-pwm";
1225		reg = <0x0 0xff230030 0x0 0x10>;
1226		interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>,
1227			     <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
1228		#pwm-cells = <3>;
1229		pinctrl-names = "active";
1230		pinctrl-0 = <&pwm3m0_pins>;
1231		clocks = <&cru CLK_PMU1_PWM0>, <&cru PCLK_PMU1_PWM0>;
1232		clock-names = "pwm", "pclk";
1233		status = "disabled";
1234	};
1235
1236	pmu: power-management@ff258000 {
1237		compatible = "rockchip,rk3562-pmu", "syscon", "simple-mfd";
1238		reg = <0x0 0xff258000 0x0 0x1000>;
1239
1240		power: power-controller {
1241			compatible = "rockchip,rk3562-power-controller";
1242			#power-domain-cells = <1>;
1243			#address-cells = <1>;
1244			#size-cells = <0>;
1245			status = "okay";
1246
1247			/* These power domains are grouped by VD_GPU */
1248			pd_gpu@RK3562_PD_GPU {
1249				reg = <RK3562_PD_GPU>;
1250				pm_qos = <&qos_gpu>;
1251			};
1252			/* These power domains are grouped by VD_NPU */
1253			pd_npu@RK3562_PD_NPU {
1254				reg = <RK3562_PD_NPU>;
1255				pm_qos = <&qos_npu>;
1256			};
1257			/* These power domains are grouped by VD_LOGIC */
1258			pd_vdpu@RK3562_PD_VDPU {
1259				reg = <RK3562_PD_VDPU>;
1260				pm_qos = <&qos_rkvdec>;
1261			};
1262			pd_vi@RK3562_PD_VI {
1263				reg = <RK3562_PD_VI>;
1264				#address-cells = <1>;
1265				#size-cells = <0>;
1266				pm_qos = <&qos_isp>,
1267					 <&qos_vicap>;
1268
1269				pd_vepu@RK3562_PD_VEPU {
1270					reg = <RK3562_PD_VEPU>;
1271					pm_qos = <&qos_vepu>;
1272				};
1273			};
1274			pd_vo@RK3562_PD_VO {
1275				reg = <RK3562_PD_VO>;
1276				#address-cells = <1>;
1277				#size-cells = <0>;
1278				pm_qos = <&qos_vop>;
1279
1280				pd_rga@RK3562_PD_RGA {
1281					reg = <RK3562_PD_RGA>;
1282					pm_qos = <&qos_rga_rd>,
1283						 <&qos_rga_wr>,
1284						 <&qos_jpeg>;
1285				};
1286			};
1287			pd_php@RK3562_PD_PHP {
1288				reg = <RK3562_PD_PHP>;
1289				pm_qos = <&qos_pcie>,
1290					 <&qos_usb3>;
1291			};
1292		};
1293	};
1294
1295	pmu_mailbox: mailbox@ff290000 {
1296		compatible = "rockchip,rk3562-mailbox",
1297			     "rockchip,rk3368-mailbox";
1298		reg = <0x0 0xff290000 0x0 0x200>;
1299		interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>;
1300		clocks = <&cru PCLK_PMU1_MAILBOX>;
1301		clock-names = "pclk_mailbox";
1302		#mbox-cells = <1>;
1303		status = "disabled";
1304	};
1305
1306	rknpu: npu@ff300000 {
1307		compatible = "rockchip,rk3562-rknpu";
1308		reg = <0x0 0xff300000 0x0 0x10000>;
1309		interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
1310		clocks = <&scmi_clk ACLK_RKNN>, <&cru ACLK_RKNN>, <&cru HCLK_RKNN>;
1311		clock-names = "scmi_clk", "aclk", "hclk";
1312		assigned-clocks = <&cru ACLK_RKNN>;
1313		assigned-clock-rates = <600000000>;
1314		resets = <&cru SRST_A_RKNN>, <&cru SRST_H_RKNN>;
1315		reset-names = "srst_a", "srst_h";
1316		power-domains = <&power RK3562_PD_NPU>;
1317		operating-points-v2 = <&npu_opp_table>;
1318		iommus = <&rknpu_mmu>;
1319		status = "disabled";
1320	};
1321
1322	npu_opp_table: npu-opp-table {
1323		compatible = "operating-points-v2";
1324
1325		mbist-vmin = <825000 900000 975000>;
1326		nvmem-cells = <&npu_leakage>, <&npu_opp_info>, <&mbist_vmin>, <&npu_pvtpll>;
1327		nvmem-cell-names = "leakage", "opp-info", "mbist-vmin", "pvtm";
1328
1329		rockchip,pvtm-voltage-sel = <
1330			0	760	0
1331			761	800	1
1332			801	840	2
1333			841	880	3
1334			881	9999	4
1335		>;
1336		rockchip,pvtm-pvtpll;
1337		rockchip,pvtm-offset = <0x674>;
1338		rockchip,pvtm-sample-time = <1100>;
1339		rockchip,pvtm-freq = <900000>;
1340		rockchip,pvtm-volt = <900000>;
1341		rockchip,pvtm-ref-temp = <40>;
1342		rockchip,pvtm-temp-prop = <0 0>;
1343		rockchip,pvtm-thermal-zone = "soc-thermal";
1344		rockchip,grf = <&sys_grf>;
1345		rockchip,temp-hysteresis = <5000>;
1346		rockchip,low-temp = <10000>;
1347		rockchip,low-temp-min-volt = <925000>;
1348
1349		opp-300000000 {
1350			opp-hz = /bits/ 64 <300000000>;
1351			opp-microvolt = <825000 825000 1000000>;
1352		};
1353		opp-400000000 {
1354			opp-hz = /bits/ 64 <400000000>;
1355			opp-microvolt = <825000 825000 1000000>;
1356		};
1357		opp-500000000 {
1358			opp-hz = /bits/ 64 <500000000>;
1359			opp-microvolt = <825000 825000 1000000>;
1360		};
1361		opp-600000000 {
1362			opp-hz = /bits/ 64 <600000000>;
1363			opp-microvolt = <875000 875000 1000000>;
1364			opp-microvolt-L0 = <875000 875000 1000000>;
1365			opp-microvolt-L1 = <850000 850000 1000000>;
1366			opp-microvolt-L2 = <825000 825000 1000000>;
1367			opp-microvolt-L3 = <825000 825000 1000000>;
1368			opp-microvolt-L4 = <825000 825000 1000000>;
1369		};
1370		opp-700000000 {
1371			opp-hz = /bits/ 64 <700000000>;
1372			opp-microvolt = <925000 925000 1000000>;
1373			opp-microvolt-L0 = <925000 925000 1000000>;
1374			opp-microvolt-L1 = <900000 900000 1000000>;
1375			opp-microvolt-L2 = <875000 875000 1000000>;
1376			opp-microvolt-L3 = <850000 850000 1000000>;
1377			opp-microvolt-L4 = <825000 825000 1000000>;
1378		};
1379		opp-800000000 {
1380			opp-hz = /bits/ 64 <800000000>;
1381			opp-microvolt = <975000 975000 1000000>;
1382			opp-microvolt-L0 = <975000 975000 1000000>;
1383			opp-microvolt-L1 = <950000 950000 1000000>;
1384			opp-microvolt-L2 = <925000 925000 1000000>;
1385			opp-microvolt-L3 = <900000 900000 1000000>;
1386			opp-microvolt-L4 = <875000 875000 1000000>;
1387		};
1388		opp-900000000 {
1389			opp-hz = /bits/ 64 <900000000>;
1390			opp-microvolt = <1000000 1000000 1000000>;
1391			opp-microvolt-L0 = <1000000 1000000 1000000>;
1392			opp-microvolt-L1 = <1000000 1000000 1000000>;
1393			opp-microvolt-L2 = <975000 975000 1000000>;
1394			opp-microvolt-L3 = <950000 950000 1000000>;
1395			opp-microvolt-L4 = <925000 925000 1000000>;
1396		};
1397		opp-1000000000 {
1398			opp-hz = /bits/ 64 <1000000000>;
1399			opp-microvolt = <1000000 1000000 1000000>;
1400			opp-microvolt-L0 = <1000000 1000000 1000000>;
1401			opp-microvolt-L1 = <1000000 1000000 1000000>;
1402			opp-microvolt-L2 = <1000000 1000000 1000000>;
1403			opp-microvolt-L3 = <975000 975000 1000000>;
1404			opp-microvolt-L4 = <950000 950000 1000000>;
1405		};
1406	};
1407
1408	rknpu_mmu: iommu@ff30a000 {
1409		compatible = "rockchip,iommu-v2";
1410		reg = <0x0 0xff30a000 0x0 0x40>;
1411		interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
1412		interrupt-names = "rknpu_mmu";
1413		clocks = <&cru ACLK_RKNN>, <&cru HCLK_RKNN>;
1414		clock-names = "aclk", "iface";
1415		power-domains = <&power RK3562_PD_NPU>;
1416		#iommu-cells = <0>;
1417		status = "disabled";
1418	};
1419
1420	gpu: gpu@ff320000 {
1421		compatible = "arm,mali-bifrost";
1422		reg = <0x0 0xff320000 0x0 0x4000>;
1423
1424		interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>,
1425			     <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>,
1426			     <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
1427		interrupt-names = "GPU", "MMU", "JOB";
1428
1429		upthreshold = <40>;
1430		downdifferential = <10>;
1431
1432		clocks = <&scmi_clk CLK_GPU>, <&cru CLK_GPU>,
1433			 <&cru CLK_GPU_BRG>, <&cru ACLK_GPU_PRE>;
1434		clock-names = "clk_mali", "clk_gpu", "clk_gpu_brg", "aclk_gpu";
1435		power-domains = <&power RK3562_PD_GPU>;
1436		operating-points-v2 = <&gpu_opp_table>;
1437		#cooling-cells = <2>;
1438		dynamic-power-coefficient = <820>;
1439
1440		status = "disabled";
1441	};
1442
1443	gpu_opp_table: gpu-opp-table {
1444		compatible = "operating-points-v2";
1445
1446		mbist-vmin = <825000 900000 975000>;
1447		nvmem-cells = <&gpu_leakage>, <&gpu_opp_info>, <&mbist_vmin>, <&gpu_pvtpll>;
1448		nvmem-cell-names = "leakage", "opp-info", "mbist-vmin", "pvtm";
1449
1450		rockchip,pvtm-voltage-sel = <
1451			0	780	0
1452			781	820	1
1453			821	860	2
1454			861	900	3
1455			901	9999	4
1456		>;
1457		rockchip,pvtm-pvtpll;
1458		rockchip,pvtm-offset = <0x654>;
1459		rockchip,pvtm-sample-time = <1100>;
1460		rockchip,pvtm-freq = <900000>;
1461		rockchip,pvtm-volt = <900000>;
1462		rockchip,pvtm-ref-temp = <40>;
1463		rockchip,pvtm-temp-prop = <0 0>;
1464		rockchip,pvtm-thermal-zone = "soc-thermal";
1465		rockchip,grf = <&sys_grf>;
1466		rockchip,temp-hysteresis = <5000>;
1467		rockchip,low-temp = <10000>;
1468		rockchip,low-temp-min-volt = <925000>;
1469
1470		opp-300000000 {
1471			opp-hz = /bits/ 64 <300000000>;
1472			opp-microvolt = <825000 825000 1000000>;
1473		};
1474		opp-400000000 {
1475			opp-hz = /bits/ 64 <400000000>;
1476			opp-microvolt = <825000 825000 1000000>;
1477		};
1478		opp-500000000 {
1479			opp-hz = /bits/ 64 <500000000>;
1480			opp-microvolt = <825000 825000 1000000>;
1481		};
1482		opp-600000000 {
1483			opp-hz = /bits/ 64 <600000000>;
1484			opp-microvolt = <825000 825000 1000000>;
1485		};
1486		opp-700000000 {
1487			opp-hz = /bits/ 64 <700000000>;
1488			opp-microvolt = <900000 900000 1000000>;
1489			opp-microvolt-L0 = <900000 900000 1000000>;
1490			opp-microvolt-L1 = <875000 875000 1000000>;
1491			opp-microvolt-L2 = <850000 850000 1000000>;
1492			opp-microvolt-L3 = <825000 825000 1000000>;
1493			opp-microvolt-L4 = <825000 825000 1000000>;
1494		};
1495		opp-800000000 {
1496			opp-hz = /bits/ 64 <800000000>;
1497			opp-microvolt = <950000 950000 1000000>;
1498			opp-microvolt-L0 = <950000 950000 1000000>;
1499			opp-microvolt-L1 = <925000 925000 1000000>;
1500			opp-microvolt-L2 = <900000 900000 1000000>;
1501			opp-microvolt-L3 = <875000 875000 1000000>;
1502			opp-microvolt-L4 = <850000 850000 1000000>;
1503		};
1504		opp-900000000 {
1505			opp-hz = /bits/ 64 <900000000>;
1506			opp-microvolt = <1000000 1000000 1000000>;
1507			opp-microvolt-L0 = <1000000 1000000 1000000>;
1508			opp-microvolt-L1 = <975000 975000 1000000>;
1509			opp-microvolt-L2 = <950000 950000 1000000>;
1510			opp-microvolt-L3 = <925000 925000 1000000>;
1511			opp-microvolt-L4 = <900000 900000 1000000>;
1512		};
1513	};
1514
1515	rkvdec: rkvdec@ff340100 {
1516		compatible = "rockchip,rkv-decoder-rk3562", "rockchip,rkv-decoder-v2";
1517		reg = <0x0 0xff340100 0x0 0x400>, <0x0 0xff340000 0x0 0x100>;
1518		reg-names = "regs", "link";
1519		interrupts = <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
1520		interrupt-names = "irq_dec";
1521		clocks = <&cru ACLK_RKVDEC>, <&cru HCLK_RKVDEC>, <&cru CLK_RKVDEC_HEVC_CA>;
1522		clock-names = "aclk_vcodec", "hclk_vcodec","clk_hevc_cabac";
1523		rockchip,normal-rates = <198000000>, <0>, <396000000>;
1524		assigned-clocks = <&cru ACLK_RKVDEC>, <&cru CLK_RKVDEC_HEVC_CA>;
1525		assigned-clock-rates = <198000000>, <396000000>;
1526		resets = <&cru SRST_A_RKVDEC>, <&cru SRST_H_RKVDEC>,
1527			 <&cru SRST_RKVDEC_HEVC_CA>;
1528		reset-names = "video_a", "video_h", "video_hevc_cabac";
1529		power-domains = <&power RK3562_PD_VDPU>;
1530		iommus = <&rkvdec_mmu>;
1531		rockchip,srv = <&mpp_srv>;
1532		rockchip,taskqueue-node = <0>;
1533		rockchip,resetgroup-node = <0>;
1534		rockchip,task-capacity = <16>;
1535		status = "disabled";
1536	};
1537
1538	rkvdec_mmu: iommu@ff340800 {
1539		compatible = "rockchip,iommu-v2";
1540		reg = <0x0 0xff340800 0x0 0x40>, <0x0 0xff340900 0x0 0x40>;
1541		interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>;
1542		interrupt-names = "rkvdec_mmu";
1543		clocks = <&cru ACLK_RKVDEC>, <&cru HCLK_RKVDEC>, <&cru CLK_RKVDEC_HEVC_CA>;
1544		clock-names = "aclk", "iface", "clk_hevc_cabac";
1545		power-domains = <&power RK3562_PD_VDPU>;
1546		rockchip,shootdown-entire;
1547		#iommu-cells = <0>;
1548		status = "disabled";
1549	};
1550
1551	rkvenc: rkvenc@ff360000 {
1552		compatible = "rockchip,rkv-encoder-rk3562", "rockchip,rkv-encoder-v2";
1553		reg = <0x0 0xff360000 0x0 0x6000>;
1554		interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
1555		interrupt-names = "irq_rkvenc";
1556		clocks = <&cru ACLK_RKVENC>, <&cru HCLK_RKVENC>, <&cru CLK_RKVENC_CORE>;
1557		clock-names = "aclk_vcodec", "hclk_vcodec", "clk_core";
1558		rockchip,normal-rates = <297000000>, <0>, <297000000>;
1559		resets = <&cru SRST_A_RKVENC>, <&cru SRST_H_RKVENC>,
1560			 <&cru SRST_RKVENC_CORE>;
1561		reset-names = "video_a", "video_h", "video_core";
1562		assigned-clocks = <&cru ACLK_RKVENC>, <&cru CLK_RKVENC_CORE>;
1563		assigned-clock-rates = <297000000>, <297000000>;
1564		power-domains = <&power RK3562_PD_VEPU>;
1565		iommus = <&rkvenc_mmu>;
1566		rockchip,srv = <&mpp_srv>;
1567		rockchip,taskqueue-node = <1>;
1568		rockchip,resetgroup-node = <1>;
1569		status = "disabled";
1570	};
1571
1572	rkvenc_mmu: iommu@ff36f000 {
1573		compatible = "rockchip,iommu-v2";
1574		reg = <0x0 0xff36f000 0x0 0x40>;
1575		interrupts = <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>;
1576		interrupt-names = "rkvenc_mmu";
1577		clocks = <&cru ACLK_RKVENC>, <&cru HCLK_RKVENC>;
1578		clock-names = "aclk", "iface";
1579		power-domains = <&power RK3562_PD_VEPU>;
1580		rockchip,shootdown-entire;
1581		#iommu-cells = <0>;
1582		status = "disabled";
1583	};
1584
1585	mipi0_csi2_hw: mipi0-csi2-hw@ff380000 {
1586		compatible = "rockchip,rk3562-mipi-csi2-hw";
1587		reg = <0x0 0xff380000 0x0 0x10000>;
1588		reg-names = "csihost_regs";
1589		interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>,
1590			     <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
1591		interrupt-names = "csi-intr1", "csi-intr2";
1592		clocks = <&cru PCLK_CSIHOST0>;
1593		clock-names = "pclk_csi2host";
1594		resets = <&cru SRST_P_CSIHOST0>;
1595		reset-names = "srst_csihost_p";
1596		status = "okay";
1597	};
1598
1599	mipi1_csi2_hw: mipi1-csi2-hw@ff390000 {
1600		compatible = "rockchip,rk3562-mipi-csi2-hw";
1601		reg = <0x0 0xff390000 0x0 0x10000>;
1602		reg-names = "csihost_regs";
1603		interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>,
1604			     <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
1605		interrupt-names = "csi-intr1", "csi-intr2";
1606		clocks = <&cru PCLK_CSIHOST1>;
1607		clock-names = "pclk_csi2host";
1608		resets = <&cru SRST_P_CSIHOST1>;
1609		reset-names = "srst_csihost_p";
1610		status = "okay";
1611	};
1612
1613	mipi2_csi2_hw: mipi2-csi2-hw@ff3a0000 {
1614		compatible = "rockchip,rk3562-mipi-csi2-hw";
1615		reg = <0x0 0xff3a0000 0x0 0x10000>;
1616		reg-names = "csihost_regs";
1617		interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>,
1618			     <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
1619		interrupt-names = "csi-intr1", "csi-intr2";
1620		clocks = <&cru PCLK_CSIHOST2>;
1621		clock-names = "pclk_csi2host";
1622		resets = <&cru SRST_P_CSIHOST2>;
1623		reset-names = "srst_csihost_p";
1624		status = "okay";
1625	};
1626
1627	mipi3_csi2_hw: mipi3-csi2-hw@ff3b0000 {
1628		compatible = "rockchip,rk3562-mipi-csi2-hw";
1629		reg = <0x0 0xff3b0000 0x0 0x10000>;
1630		reg-names = "csihost_regs";
1631		interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>,
1632			     <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
1633		interrupt-names = "csi-intr1", "csi-intr2";
1634		clocks = <&cru PCLK_CSIHOST3>;
1635		clock-names = "pclk_csi2host";
1636		resets = <&cru SRST_P_CSIHOST3>;
1637		reset-names = "srst_csihost_p";
1638		status = "okay";
1639	};
1640
1641	csi2_dphy0_hw: csi2-dphy0-hw@ff3c0000 {
1642		compatible = "rockchip,rk3562-csi2-dphy-hw";
1643		reg = <0x0 0xff3c0000 0x0 0x10000>;
1644		clocks = <&cru PCLK_CSIPHY0>;
1645		clock-names = "pclk";
1646		resets = <&cru SRST_P_CSIPHY0>;
1647		reset-names = "srst_p_csiphy0";
1648		rockchip,grf = <&sys_grf>;
1649		status = "okay";
1650	};
1651
1652	csi2_dphy1_hw: csi2-dphy1-hw@ff3d0000 {
1653		compatible = "rockchip,rk3562-csi2-dphy-hw";
1654		reg = <0x0 0xff3d0000 0x0 0x10000>;
1655		clocks = <&cru PCLK_CSIPHY1>;
1656		clock-names = "pclk";
1657		resets = <&cru SRST_P_CSIPHY1>;
1658		reset-names = "srst_p_csiphy1";
1659		rockchip,grf = <&sys_grf>;
1660		status = "okay";
1661	};
1662
1663	rkcif: rkcif@ff3e0000 {
1664		compatible = "rockchip,rk3562-cif";
1665		reg = <0x0 0xff3e0000 0x0 0x800>;
1666		reg-names = "cif_regs";
1667		interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
1668		interrupt-names = "cif-intr";
1669		clocks = <&cru ACLK_VICAP>, <&cru HCLK_VICAP>, <&cru DCLK_VICAP>,
1670			 <&cru CSIRX0_CLK_DATA>, <&cru CSIRX1_CLK_DATA>,
1671			 <&cru CSIRX2_CLK_DATA>, <&cru CSIRX3_CLK_DATA>;
1672		clock-names = "aclk_cif", "hclk_cif", "dclk_cif",
1673			      "csirx0_data", "csirx1_data", "csirx2_data",
1674			      "csirx3_data";
1675		resets = <&cru SRST_A_VICAP>, <&cru SRST_H_VICAP>, <&cru SRST_D_VICAP>,
1676			 <&cru SRST_I0_VICAP>, <&cru SRST_I1_VICAP>, <&cru SRST_I2_VICAP>,
1677			 <&cru SRST_I3_VICAP>;
1678		reset-names = "rst_cif_a", "rst_cif_h", "rst_cif_d",
1679			      "rst_cif_i0", "rst_cif_i1", "rst_cif_i2",
1680			      "rst_cif_i3";
1681		power-domains = <&power RK3562_PD_VI>;
1682		rockchip,grf = <&sys_grf>;
1683		iommus = <&rkcif_mmu>;
1684		status = "disabled";
1685	};
1686
1687	rkcif_mmu: iommu@ff3e0800 {
1688		compatible = "rockchip,iommu-v2";
1689		reg = <0x0 0xff3e0800 0x0 0x100>;
1690		interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
1691		interrupt-names = "cif_mmu";
1692		clocks = <&cru ACLK_VICAP>, <&cru HCLK_VICAP>;
1693		clock-names = "aclk", "iface";
1694		power-domains = <&power RK3562_PD_VI>;
1695		rockchip,disable-mmu-reset;
1696		#iommu-cells = <0>;
1697		status = "disabled";
1698	};
1699
1700	rkisp: isp@ff3f0000 {
1701		compatible = "rockchip,rk3562-rkisp";
1702		reg = <0x0 0xff3f0000 0x0 0x7f00>;
1703		interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>,
1704			     <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>,
1705			     <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
1706		interrupt-names = "mipi_irq", "mi_irq", "isp_irq";
1707		clocks = <&cru ACLK_ISP>, <&cru HCLK_ISP>, <&cru CLK_ISP>;
1708		clock-names = "aclk_isp", "hclk_isp", "clk_isp_core";
1709		power-domains = <&power RK3562_PD_VI>;
1710		iommus = <&rkisp_mmu>;
1711		status = "disabled";
1712	};
1713
1714	rkisp_mmu: iommu@ff3f7f00 {
1715		compatible = "rockchip,iommu-v2";
1716		reg = <0x0 0xff3f7f00 0x0 0x100>;
1717		interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
1718		interrupt-names = "isp_mmu";
1719		clocks = <&cru ACLK_ISP>, <&cru HCLK_ISP>;
1720		clock-names = "aclk", "iface";
1721		rockchip,disable-mmu-reset;
1722		#iommu-cells = <0>;
1723		power-domains = <&power RK3562_PD_VI>;
1724		status = "disabled";
1725	};
1726
1727	vop: vop@ff400000 {
1728		compatible = "rockchip,rk3562-vop";
1729		reg = <0x0 0xff400000 0x0 0x2000>, <0x0 0xff405000 0x0 0x1000>;
1730		reg-names = "regs", "gamma_lut";
1731		interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>;
1732		clocks = <&cru ACLK_VOP>,
1733			 <&cru HCLK_VOP>,
1734			 <&cru DCLK_VOP>;
1735		clock-names = "aclk_vop",
1736			      "hclk_vop",
1737			      "dclk_vp0";
1738		resets = <&cru SRST_A_VOP>,
1739			 <&cru SRST_H_VOP>,
1740			 <&cru SRST_D_VOP>;
1741		reset-names = "axi",
1742			      "ahb",
1743			      "dclk_vp0";
1744		iommus = <&vop_mmu>;
1745		power-domains = <&power RK3562_PD_VO>;
1746		rockchip,grf = <&ioc_grf>;
1747		assigned-clocks = <&cru DCLK_VOP>;
1748		assigned-clock-parents = <&cru PLL_VPLL>;
1749		status = "disabled";
1750
1751		vop_out: ports {
1752			#address-cells = <1>;
1753			#size-cells = <0>;
1754
1755			vp0: port@0 {
1756				#address-cells = <1>;
1757				#size-cells = <0>;
1758				reg = <0>;
1759
1760				vp0_out_rgb: endpoint@0 {
1761					reg = <0>;
1762					remote-endpoint = <&rgb_in_vp0>;
1763				};
1764
1765				vp0_out_dsi: endpoint@1 {
1766					reg = <1>;
1767					remote-endpoint = <&dsi_in_vp0>;
1768				};
1769
1770				vp0_out_lvds: endpoint@2 {
1771					reg = <2>;
1772					remote-endpoint = <&lvds_in_vp0>;
1773				};
1774			};
1775		};
1776	};
1777
1778	vop_mmu: iommu@ff407e00 {
1779		compatible = "rockchip,iommu-v2";
1780		reg = <0x0 0xff407e00 0x0 0x100>;
1781		interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>;
1782		interrupt-names = "vop_mmu";
1783		clocks = <&cru ACLK_VOP>, <&cru HCLK_VOP>;
1784		clock-names = "aclk", "iface";
1785		#iommu-cells = <0>;
1786		rockchip,disable-device-link-resume;
1787		rockchip,shootdown-entire;
1788		status = "disabled";
1789	};
1790
1791	rga2: rga@ff440000 {
1792		compatible = "rockchip,rga2_core0";
1793		reg = <0x0 0xff440000 0x0 0x1000>;
1794		interrupts = <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>;
1795		interrupt-names = "rga2_irq";
1796		clocks = <&cru ACLK_RGA>, <&cru HCLK_RGA>, <&cru CLK_RGA_CORE>;
1797		clock-names = "aclk_rga2", "hclk_rga2", "clk_rga2";
1798		iommus = <&rga2_mmu>;
1799		power-domains = <&power RK3562_PD_RGA>;
1800		status = "disabled";
1801	};
1802
1803	rga2_mmu: iommu@ff440f00 {
1804		compatible = "rockchip,iommu-v2";
1805		reg = <0x0 0xff440f00 0x0 0x100>;
1806		interrupts = <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>;
1807		interrupt-names = "rga2_mmu";
1808		clocks = <&cru ACLK_RGA>, <&cru HCLK_RGA>;
1809		clock-names = "aclk", "iface";
1810		#iommu-cells = <0>;
1811		power-domains = <&power RK3562_PD_RGA>;
1812		status = "disabled";
1813	};
1814
1815	jpegd: jpegd@ff450000 {
1816		compatible = "rockchip,rkv-jpeg-decoder-v1";
1817		reg = <0x0 0xff450000 0x0 0x400>;
1818		interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>;
1819		clocks = <&cru ACLK_JDEC>, <&cru HCLK_JDEC>;
1820		clock-names = "aclk_vcodec", "hclk_vcodec";
1821		rockchip,disable-auto-freq;
1822		resets = <&cru SRST_A_JDEC>, <&cru SRST_H_JDEC>;
1823		reset-names = "video_a", "video_h";
1824		power-domains = <&power RK3562_PD_RGA>;
1825		iommus = <&jpegd_mmu>;
1826		rockchip,srv = <&mpp_srv>;
1827		rockchip,taskqueue-node = <2>;
1828		rockchip,resetgroup-node = <2>;
1829		status = "disabled";
1830	};
1831
1832	jpegd_mmu: iommu@ff450480 {
1833		compatible = "rockchip,iommu-v2";
1834		reg = <0x0 0xff450480 0x0 0x40>;
1835		interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
1836		interrupt-names = "jpegd_mmu";
1837		clock-names = "aclk", "iface";
1838		clocks = <&cru ACLK_JDEC>, <&cru HCLK_JDEC>;
1839		power-domains = <&power RK3562_PD_RGA>;
1840		rockchip,shootdown-entire;
1841		#iommu-cells = <0>;
1842		status = "disabled";
1843	};
1844
1845	dfi: dfi@ff4c0000 {
1846		reg = <0x00 0xff4c0000 0x00 0x400>;
1847		compatible = "rockchip,rk3562-dfi";
1848		rockchip,pmugrf = <&pmu_grf>;
1849		status = "disabled";
1850	};
1851
1852	pcie2x1: pcie@ff500000 {
1853		compatible = "rockchip,rk3562-pcie", "snps,dw-pcie";
1854		#address-cells = <3>;
1855		#size-cells = <2>;
1856		bus-range = <0x0 0xff>;
1857		clocks = <&cru ACLK_PCIE20_MST>, <&cru ACLK_PCIE20_SLV>,
1858			 <&cru ACLK_PCIE20_DBI>, <&cru PCLK_PCIE20>,
1859			 <&cru CLK_PCIE20_AUX>;
1860		clock-names = "aclk_mst", "aclk_slv",
1861			      "aclk_dbi", "pclk", "aux";
1862		device_type = "pci";
1863		interrupts = <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>,
1864			     <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>,
1865			     <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>,
1866			     <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>,
1867			     <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
1868			     <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>;
1869		interrupt-names = "msi", "pmc", "sys", "legacy", "msg", "err";
1870		#interrupt-cells = <1>;
1871		interrupt-map-mask = <0 0 0 7>;
1872		interrupt-map = <0 0 0 1 &pcie2x1_intc 0>,
1873				<0 0 0 2 &pcie2x1_intc 1>,
1874				<0 0 0 3 &pcie2x1_intc 2>,
1875				<0 0 0 4 &pcie2x1_intc 3>;
1876		linux,pci-domain = <0>;
1877		num-ib-windows = <8>;
1878		num-viewport = <8>;
1879		num-ob-windows = <2>;
1880		max-link-speed = <2>;
1881		num-lanes = <1>;
1882		phys = <&combphy_pu PHY_TYPE_PCIE>;
1883		phy-names = "pcie-phy";
1884		power-domains = <&power RK3562_PD_PHP>;
1885		ranges = <0x00000800 0x0 0xfc000000 0x0 0xfc000000 0x0 0x100000
1886			  0x81000000 0x0 0xfc100000 0x0 0xfc100000 0x0 0x100000
1887			  0x82000000 0x0 0xfc200000 0x0 0xfc200000 0x0 0x1e00000
1888			  0xc3000000 0x3 0x00000000 0x3 0x00000000 0x0 0x40000000>;
1889		reg = <0x0 0xfe000000 0x0 0x400000>,
1890		      <0x0 0xff500000 0x0 0x10000>;
1891		reg-names = "pcie-dbi", "pcie-apb";
1892		resets = <&cru SRST_PCIE20_POWERUP>;
1893		reset-names = "pipe";
1894		status = "disabled";
1895
1896		pcie2x1_intc: legacy-interrupt-controller {
1897			interrupt-controller;
1898			#address-cells = <0>;
1899			#interrupt-cells = <1>;
1900			interrupt-parent = <&gic>;
1901		};
1902	};
1903
1904	spi1: spi@ff640000 {
1905		compatible = "rockchip,rk3066-spi";
1906		reg = <0x0 0xff640000 0x0 0x1000>;
1907		interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
1908		#address-cells = <1>;
1909		#size-cells = <0>;
1910		clocks = <&cru CLK_SPI1>, <&cru PCLK_SPI1>, <&cru SCLK_IN_SPI1>;
1911		clock-names = "spiclk", "apb_pclk", "sclk_in";
1912		dmas = <&dmac 15>, <&dmac 14>;
1913		dma-names = "tx", "rx";
1914		pinctrl-names = "default";
1915		pinctrl-0 = <&spi1m0_csn0 &spi1m0_csn1 &spi1m0_pins>;
1916		num-cs = <2>;
1917		status = "disabled";
1918	};
1919
1920	spi2: spi@ff650000 {
1921		compatible = "rockchip,rk3066-spi";
1922		reg = <0x0 0xff650000 0x0 0x1000>;
1923		interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
1924		#address-cells = <1>;
1925		#size-cells = <0>;
1926		clocks = <&cru CLK_SPI2>, <&cru PCLK_SPI2>, <&cru SCLK_IN_SPI2>;
1927		clock-names = "spiclk", "apb_pclk", "sclk_in";
1928		dmas = <&dmac 17>, <&dmac 16>;
1929		dma-names = "tx", "rx";
1930		pinctrl-names = "default";
1931		pinctrl-0 = <&spi2m0_csn0 &spi2m0_csn1 &spi2m0_pins>;
1932		num-cs = <2>;
1933		status = "disabled";
1934	};
1935
1936	uart1: serial@ff670000 {
1937		compatible = "rockchip,rk3562-uart", "snps,dw-apb-uart";
1938		reg = <0x0 0xff670000 0x0 0x100>;
1939		interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
1940		clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>;
1941		clock-names = "baudclk", "apb_pclk";
1942		reg-shift = <2>;
1943		reg-io-width = <4>;
1944		dmas = <&dmac 10>, <&dmac 1>;	/* tx:10  rx:1 */
1945		status = "disabled";
1946	};
1947
1948	uart2: serial@ff680000 {
1949		compatible = "rockchip,rk3562-uart", "snps,dw-apb-uart";
1950		reg = <0x0 0xff680000 0x0 0x100>;
1951		interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
1952		clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>;
1953		clock-names = "baudclk", "apb_pclk";
1954		reg-shift = <2>;
1955		reg-io-width = <4>;
1956		dmas = <&dmac 2>;	/* rx:2 */
1957		status = "disabled";
1958	};
1959
1960	uart3: serial@ff690000 {
1961		compatible = "rockchip,rk3562-uart", "snps,dw-apb-uart";
1962		reg = <0x0 0xff690000 0x0 0x100>;
1963		interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
1964		clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>;
1965		clock-names = "baudclk", "apb_pclk";
1966		reg-shift = <2>;
1967		reg-io-width = <4>;
1968		dmas = <&dmac 3>;	/* rx:3 */
1969		status = "disabled";
1970	};
1971
1972	uart4: serial@ff6a0000 {
1973		compatible = "rockchip,rk3562-uart", "snps,dw-apb-uart";
1974		reg = <0x0 0xff6a0000 0x0 0x100>;
1975		interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
1976		clocks = <&cru SCLK_UART4>, <&cru PCLK_UART4>;
1977		clock-names = "baudclk", "apb_pclk";
1978		reg-shift = <2>;
1979		reg-io-width = <4>;
1980		dmas = <&dmac 4>;	/* rx:4 */
1981		status = "disabled";
1982	};
1983
1984	uart5: serial@ff6b0000 {
1985		compatible = "rockchip,rk3562-uart", "snps,dw-apb-uart";
1986		reg = <0x0 0xff6b0000 0x0 0x100>;
1987		interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
1988		clocks = <&cru SCLK_UART5>, <&cru PCLK_UART5>;
1989		clock-names = "baudclk", "apb_pclk";
1990		reg-shift = <2>;
1991		reg-io-width = <4>;
1992		dmas = <&dmac 11>, <&dmac 5>;	/* tx:11  rx:5 */
1993		status = "disabled";
1994	};
1995
1996	uart6: serial@ff6c0000 {
1997		compatible = "rockchip,rk3562-uart", "snps,dw-apb-uart";
1998		reg = <0x0 0xff6c0000 0x0 0x100>;
1999		interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
2000		clocks = <&cru SCLK_UART6>, <&cru PCLK_UART6>;
2001		clock-names = "baudclk", "apb_pclk";
2002		reg-shift = <2>;
2003		reg-io-width = <4>;
2004		dmas = <&dmac 6>;	/* rx:6 */
2005		status = "disabled";
2006	};
2007
2008	uart7: serial@ff6d0000 {
2009		compatible = "rockchip,rk3562-uart", "snps,dw-apb-uart";
2010		reg = <0x0 0xff6d0000 0x0 0x100>;
2011		interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
2012		clocks = <&cru SCLK_UART7>, <&cru PCLK_UART7>;
2013		clock-names = "baudclk", "apb_pclk";
2014		reg-shift = <2>;
2015		reg-io-width = <4>;
2016		dmas = <&dmac 7>;	/* rx:7 */
2017		status = "disabled";
2018	};
2019
2020	uart8: serial@ff6e0000 {
2021		compatible = "rockchip,rk3562-uart", "snps,dw-apb-uart";
2022		reg = <0x0 0xff6e0000 0x0 0x100>;
2023		interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
2024		clocks = <&cru SCLK_UART8>, <&cru PCLK_UART8>;
2025		clock-names = "baudclk", "apb_pclk";
2026		reg-shift = <2>;
2027		reg-io-width = <4>;
2028		dmas = <&dmac 8>;	/* rx:8 */
2029		status = "disabled";
2030	};
2031
2032	uart9: serial@ff6f0000 {
2033		compatible = "rockchip,rk3562-uart", "snps,dw-apb-uart";
2034		reg = <0x0 0xff6f0000 0x0 0x100>;
2035		interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
2036		clocks = <&cru SCLK_UART9>, <&cru PCLK_UART9>;
2037		clock-names = "baudclk", "apb_pclk";
2038		reg-shift = <2>;
2039		reg-io-width = <4>;
2040		dmas = <&dmac 9>;	/* rx:9 */
2041		status = "disabled";
2042	};
2043
2044	pwm4: pwm@ff700000 {
2045		compatible = "rockchip,rk3562-pwm", "rockchip,rk3328-pwm";
2046		reg = <0x0 0xff700000 0x0 0x10>;
2047		interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
2048		#pwm-cells = <3>;
2049		pinctrl-names = "active";
2050		pinctrl-0 = <&pwm4m0_pins>;
2051		clocks = <&cru CLK_PWM1_PERI>, <&cru PCLK_PWM1_PERI>;
2052		clock-names = "pwm", "pclk";
2053		status = "disabled";
2054	};
2055
2056	pwm5: pwm@ff700010 {
2057		compatible = "rockchip,rk3562-pwm", "rockchip,rk3328-pwm";
2058		reg = <0x0 0xff700010 0x0 0x10>;
2059		interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
2060		#pwm-cells = <3>;
2061		pinctrl-names = "active";
2062		pinctrl-0 = <&pwm5m0_pins>;
2063		clocks = <&cru CLK_PWM1_PERI>, <&cru PCLK_PWM1_PERI>;
2064		clock-names = "pwm", "pclk";
2065		status = "disabled";
2066	};
2067
2068	pwm6: pwm@ff700020 {
2069		compatible = "rockchip,rk3562-pwm", "rockchip,rk3328-pwm";
2070		reg = <0x0 0xff700020 0x0 0x10>;
2071		interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
2072		#pwm-cells = <3>;
2073		pinctrl-names = "active";
2074		pinctrl-0 = <&pwm6m0_pins>;
2075		clocks = <&cru CLK_PWM1_PERI>, <&cru PCLK_PWM1_PERI>;
2076		clock-names = "pwm", "pclk";
2077		status = "disabled";
2078	};
2079
2080	pwm7: pwm@ff700030 {
2081		compatible = "rockchip,rk3562-pwm", "rockchip,rk3328-pwm";
2082		reg = <0x0 0xff700030 0x0 0x10>;
2083		interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>,
2084			     <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
2085		#pwm-cells = <3>;
2086		pinctrl-names = "active";
2087		pinctrl-0 = <&pwm7m0_pins>;
2088		clocks = <&cru CLK_PWM1_PERI>, <&cru PCLK_PWM1_PERI>;
2089		clock-names = "pwm", "pclk";
2090		status = "disabled";
2091	};
2092
2093	pwm8: pwm@ff710000 {
2094		compatible = "rockchip,rk3562-pwm", "rockchip,rk3328-pwm";
2095		reg = <0x0 0xff710000 0x0 0x10>;
2096		interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
2097		#pwm-cells = <3>;
2098		pinctrl-names = "active";
2099		pinctrl-0 = <&pwm8m0_pins>;
2100		clocks = <&cru CLK_PWM2_PERI>, <&cru PCLK_PWM2_PERI>;
2101		clock-names = "pwm", "pclk";
2102		status = "disabled";
2103	};
2104
2105	pwm9: pwm@ff710010 {
2106		compatible = "rockchip,rk3562-pwm", "rockchip,rk3328-pwm";
2107		reg = <0x0 0xff710010 0x0 0x10>;
2108		interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
2109		#pwm-cells = <3>;
2110		pinctrl-names = "active";
2111		pinctrl-0 = <&pwm9m0_pins>;
2112		clocks = <&cru CLK_PWM2_PERI>, <&cru PCLK_PWM2_PERI>;
2113		clock-names = "pwm", "pclk";
2114		status = "disabled";
2115	};
2116
2117	pwm10: pwm@ff710020 {
2118		compatible = "rockchip,rk3562-pwm", "rockchip,rk3328-pwm";
2119		reg = <0x0 0xff710020 0x0 0x10>;
2120		interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
2121		#pwm-cells = <3>;
2122		pinctrl-names = "active";
2123		pinctrl-0 = <&pwm10m0_pins>;
2124		clocks = <&cru CLK_PWM2_PERI>, <&cru PCLK_PWM2_PERI>;
2125		clock-names = "pwm", "pclk";
2126		status = "disabled";
2127	};
2128
2129	pwm11: pwm@ff710030 {
2130		compatible = "rockchip,rk3562-pwm", "rockchip,rk3328-pwm";
2131		reg = <0x0 0xff710030 0x0 0x10>;
2132		interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>,
2133			     <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
2134		#pwm-cells = <3>;
2135		pinctrl-names = "active";
2136		pinctrl-0 = <&pwm11m0_pins>;
2137		clocks = <&cru CLK_PWM2_PERI>, <&cru PCLK_PWM2_PERI>;
2138		clock-names = "pwm", "pclk";
2139		status = "disabled";
2140	};
2141
2142	pwm12: pwm@ff720000 {
2143		compatible = "rockchip,rk3562-pwm", "rockchip,rk3328-pwm";
2144		reg = <0x0 0xff720000 0x0 0x10>;
2145		interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
2146		#pwm-cells = <3>;
2147		pinctrl-names = "active";
2148		pinctrl-0 = <&pwm12m0_pins>;
2149		clocks = <&cru CLK_PWM3_PERI>, <&cru PCLK_PWM3_PERI>;
2150		clock-names = "pwm", "pclk";
2151		status = "disabled";
2152	};
2153
2154	pwm13: pwm@ff720010 {
2155		compatible = "rockchip,rk3562-pwm", "rockchip,rk3328-pwm";
2156		reg = <0x0 0xff720010 0x0 0x10>;
2157		interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
2158		#pwm-cells = <3>;
2159		pinctrl-names = "active";
2160		pinctrl-0 = <&pwm13m0_pins>;
2161		clocks = <&cru CLK_PWM3_PERI>, <&cru PCLK_PWM3_PERI>;
2162		clock-names = "pwm", "pclk";
2163		status = "disabled";
2164	};
2165
2166	pwm14: pwm@ff720020 {
2167		compatible = "rockchip,rk3562-pwm", "rockchip,rk3328-pwm";
2168		reg = <0x0 0xff720020 0x0 0x10>;
2169		interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
2170		#pwm-cells = <3>;
2171		pinctrl-names = "active";
2172		pinctrl-0 = <&pwm14m0_pins>;
2173		clocks = <&cru CLK_PWM3_PERI>, <&cru PCLK_PWM3_PERI>;
2174		clock-names = "pwm", "pclk";
2175		status = "disabled";
2176	};
2177
2178	pwm15: pwm@ff720030 {
2179		compatible = "rockchip,rk3562-pwm", "rockchip,rk3328-pwm";
2180		reg = <0x0 0xff720030 0x0 0x10>;
2181		interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>,
2182			     <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
2183		#pwm-cells = <3>;
2184		pinctrl-names = "active";
2185		pinctrl-0 = <&pwm15m0_pins>;
2186		clocks = <&cru CLK_PWM3_PERI>, <&cru PCLK_PWM3_PERI>;
2187		clock-names = "pwm", "pclk";
2188		status = "disabled";
2189	};
2190
2191	saradc0: saradc@ff730000 {
2192		compatible = "rockchip,rk3562-saradc";
2193		reg = <0x0 0xff730000 0x0 0x100>;
2194		interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
2195		#io-channel-cells = <1>;
2196		clocks = <&cru CLK_SARADC>, <&cru PCLK_SARADC>;
2197		clock-names = "saradc", "apb_pclk";
2198		resets = <&cru SRST_P_SARADC>;
2199		reset-names = "saradc-apb";
2200		status = "disabled";
2201	};
2202
2203	u2phy: usb2-phy@ff740000 {
2204		compatible = "rockchip,rk3562-usb2phy";
2205		reg = <0x0 0xff740000 0x0 0x10000>;
2206		clocks = <&cru CLK_USB2PHY_REF>, <&cru PCLK_USB2PHY>;
2207		clock-names = "phyclk", "pclk";
2208		#clock-cells = <0>;
2209		clock-output-names = "usb480m_phy";
2210		rockchip,usbgrf = <&usbphy_grf>;
2211		status = "disabled";
2212
2213		u2phy_otg: otg-port {
2214			#phy-cells = <0>;
2215			interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>,
2216				     <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>,
2217				     <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>;
2218			interrupt-names = "otg-bvalid", "otg-id", "linestate";
2219			status = "disabled";
2220		};
2221
2222		u2phy_host: host-port {
2223			#phy-cells = <0>;
2224			interrupts = <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH>;
2225			interrupt-names = "linestate";
2226			status = "disabled";
2227		};
2228	};
2229
2230	combphy_pu: phy@ff750000 {
2231		compatible = "rockchip,rk3562-naneng-combphy";
2232		reg = <0x0 0xff750000 0x0 0x100>;
2233		#phy-cells = <1>;
2234		clocks = <&cru CLK_PIPEPHY_REF>, <&cru PCLK_PIPEPHY>,
2235			 <&cru PCLK_PHP>;
2236		clock-names = "refclk", "apbclk", "pipe_clk";
2237		assigned-clocks = <&cru CLK_PIPEPHY_REF>;
2238		assigned-clock-rates = <100000000>;
2239		resets = <&cru SRST_P_PIPEPHY>, <&cru SRST_PIPEPHY>;
2240		reset-names = "combphy-apb", "combphy";
2241		rockchip,pipe-grf = <&peri_grf>;
2242		rockchip,pipe-phy-grf = <&pipephy_grf>;
2243		status = "disabled";
2244	};
2245
2246	sai0: sai@ff800000 {
2247		compatible = "rockchip,rk3562-sai", "rockchip,sai-v1";
2248		reg = <0x0 0xff800000 0x0 0x1000>;
2249		interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
2250		clocks = <&cru MCLK_SAI0>, <&cru HCLK_SAI0>;
2251		clock-names = "mclk", "hclk";
2252		assigned-clocks = <&cru CLK_SAI0_SRC>;
2253		assigned-clock-parents = <&cru PLL_HPLL>;
2254		dmas = <&dmac 19>, <&dmac 18>;
2255		dma-names = "tx", "rx";
2256		resets = <&cru SRST_M_SAI0_8CH>, <&cru SRST_H_SAI0_8CH>;
2257		reset-names = "m", "h";
2258		pinctrl-names = "default";
2259		pinctrl-0 = <&i2s0m0_lrck
2260			     &i2s0m0_sclk
2261			     &i2s0m0_sdi0
2262			     &i2s0m0_sdo0
2263			     &i2s0m0_sdo1
2264			     &i2s0m0_sdo2
2265			     &i2s0m0_sdo3>;
2266		#sound-dai-cells = <0>;
2267		status = "disabled";
2268	};
2269
2270	sai1: sai@ff810000 {
2271		compatible = "rockchip,rk3562-sai", "rockchip,sai-v1";
2272		reg = <0x0 0xff810000 0x0 0x1000>;
2273		interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
2274		clocks = <&cru MCLK_SAI1>, <&cru HCLK_SAI1>;
2275		clock-names = "mclk", "hclk";
2276		assigned-clocks = <&cru CLK_SAI1_SRC>;
2277		assigned-clock-parents = <&cru PLL_HPLL>;
2278		dmas = <&dmac 21>, <&dmac 20>;
2279		dma-names = "tx", "rx";
2280		resets = <&cru SRST_M_SAI1_8CH>, <&cru SRST_H_SAI1_8CH>;
2281		reset-names = "m", "h";
2282		pinctrl-names = "default";
2283		pinctrl-0 = <&i2s1m0_lrck
2284			     &i2s1m0_sclk
2285			     &i2s1m0_sdi0
2286			     &i2s1m0_sdi1
2287			     &i2s1m0_sdi2
2288			     &i2s1m0_sdi3
2289			     &i2s1m0_sdo0
2290			     &i2s1m0_sdo1
2291			     &i2s1m0_sdo2
2292			     &i2s1m0_sdo3>;
2293		#sound-dai-cells = <0>;
2294		status = "disabled";
2295	};
2296
2297	sai2: sai@ff820000 {
2298		compatible = "rockchip,rk3562-sai", "rockchip,sai-v1";
2299		reg = <0x0 0xff820000 0x0 0x1000>;
2300		interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
2301		clocks = <&cru MCLK_SAI2>, <&cru HCLK_SAI2>;
2302		clock-names = "mclk", "hclk";
2303		assigned-clocks = <&cru CLK_SAI2_SRC>;
2304		assigned-clock-parents = <&cru PLL_HPLL>;
2305		dmas = <&dmac 23>, <&dmac 22>;
2306		dma-names = "tx", "rx";
2307		resets = <&cru SRST_M_SAI2_2CH>, <&cru SRST_H_SAI2_2CH>;
2308		reset-names = "m", "h";
2309		pinctrl-names = "default";
2310		pinctrl-0 = <&i2s2m0_lrck
2311			     &i2s2m0_sclk
2312			     &i2s2m0_sdi
2313			     &i2s2m0_sdo>;
2314		#sound-dai-cells = <0>;
2315		status = "disabled";
2316	};
2317
2318	pdm: pdm@ff830000 {
2319		compatible = "rockchip,rk3562-pdm", "rockchip,rv1126-pdm";
2320		reg = <0x0 0xff830000 0x0 0x1000>;
2321		clocks = <&cru MCLK_PDM>, <&cru HCLK_PDM>;
2322		clock-names = "pdm_clk", "pdm_hclk";
2323		assigned-clocks = <&cru MCLK_PDM>;
2324		assigned-clock-parents = <&cru PLL_HPLL>;
2325		dmas = <&dmac 31>;
2326		dma-names = "rx";
2327		pinctrl-names = "default";
2328		pinctrl-0 = <&pdmm0_clk0
2329			     &pdmm0_clk1
2330			     &pdmm0_sdi0
2331			     &pdmm0_sdi1
2332			     &pdmm0_sdi2
2333			     &pdmm0_sdi3>;
2334		#sound-dai-cells = <0>;
2335		status = "disabled";
2336	};
2337
2338	spdif_8ch: spdif@ff840000 {
2339		compatible = "rockchip,rk3562-spdif", "rockchip,rk3568-spdif";
2340		reg = <0x0 0xff840000 0x0 0x1000>;
2341		interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>;
2342		dmas = <&dmac 30>;
2343		dma-names = "tx";
2344		clock-names = "mclk", "hclk";
2345		clocks = <&cru MCLK_SPDIF>, <&cru HCLK_SPDIF>;
2346		assigned-clocks = <&cru CLK_SPDIF_SRC>;
2347		assigned-clock-parents = <&cru PLL_HPLL>;
2348		#sound-dai-cells = <0>;
2349		pinctrl-names = "default";
2350		pinctrl-0 = <&spdifm0_pins>;
2351		status = "disabled";
2352	};
2353
2354	dsm: dsm@ff850000 {
2355		compatible = "rockchip,rk3562-dsm";
2356		reg = <0x0 0xff850000 0x0 0x1000>;
2357		clocks = <&cru CLK_DSM>, <&cru HCLK_DSM>;
2358		clock-names = "dac", "pclk";
2359		resets = <&cru SRST_DSM>;
2360		reset-names = "reset" ;
2361		rockchip,grf = <&peri_grf>;
2362		pinctrl-names = "default";
2363		pinctrl-0 = <&dsm_pins>;
2364		#sound-dai-cells = <0>;
2365		status = "disabled";
2366	};
2367
2368	sfc: spi@ff860000 {
2369		compatible = "rockchip,sfc";
2370		reg = <0x0 0xff860000 0x0 0x10000>;
2371		interrupts = <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>;
2372		clocks = <&cru SCLK_SFC>, <&cru HCLK_SFC>;
2373		clock-names = "clk_sfc", "hclk_sfc";
2374		assigned-clocks = <&cru SCLK_SFC>;
2375		assigned-clock-rates = <100000000>;
2376		#address-cells = <1>;
2377		#size-cells = <0>;
2378		status = "disabled";
2379	};
2380
2381	sdhci: mmc@ff870000 {
2382		compatible = "rockchip,rk3562-dwcmshc", "rockchip,rk3528-dwcmshc";
2383		reg = <0x0 0xff870000 0x0 0x10000>;
2384		interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
2385		assigned-clocks = <&cru BCLK_EMMC>, <&cru CCLK_EMMC>;
2386		assigned-clock-rates = <200000000>, <200000000>;
2387		clocks = <&cru CCLK_EMMC>, <&cru HCLK_EMMC>,
2388			 <&cru ACLK_EMMC>, <&cru BCLK_EMMC>,
2389			 <&cru TMCLK_EMMC>;
2390		clock-names = "core", "bus", "axi", "block", "timer";
2391		resets = <&cru SRST_C_EMMC>, <&cru SRST_H_EMMC>,
2392			 <&cru SRST_A_EMMC>, <&cru SRST_B_EMMC>,
2393			 <&cru SRST_T_EMMC>;
2394		reset-names = "core", "bus", "axi", "block", "timer";
2395		max-frequency = <200000000>;
2396		status = "disabled";
2397	};
2398
2399	sdmmc0: mmc@ff880000 {
2400		compatible = "rockchip,rk3562-dw-mshc",
2401			     "rockchip,rk3288-dw-mshc";
2402		reg = <0x0 0xff880000 0x0 0x10000>;
2403		interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
2404		max-frequency = <200000000>;
2405		clocks = <&cru HCLK_SDMMC0>, <&cru CCLK_SDMMC0>,
2406			 <&cru SCLK_SDMMC0_DRV>, <&cru SCLK_SDMMC0_SAMPLE>;
2407		clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
2408		resets = <&cru SRST_H_SDMMC0>;
2409		reset-names = "reset";
2410		fifo-depth = <0x100>;
2411		status = "disabled";
2412	};
2413
2414	sdmmc1: mmc@ff890000 {
2415		compatible = "rockchip,rk3562-dw-mshc",
2416			     "rockchip,rk3288-dw-mshc";
2417		reg = <0x0 0xff890000 0x0 0x10000>;
2418		interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
2419		max-frequency = <200000000>;
2420		clocks = <&cru HCLK_SDMMC1>, <&cru CCLK_SDMMC1>,
2421			 <&cru SCLK_SDMMC1_DRV>, <&cru SCLK_SDMMC1_SAMPLE>;
2422		clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
2423		resets = <&cru SRST_H_SDMMC1>;
2424		reset-names = "reset";
2425		fifo-depth = <0x100>;
2426		status = "disabled";
2427	};
2428
2429	crypto: crypto@ff8a0000 {
2430		compatible = "rockchip,crypto-v4";
2431		reg = <0x0 0xff8a0000 0x0 0x2000>;
2432		interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
2433		clocks = <&scmi_clk ACLK_CRYPTO>, <&scmi_clk HCLK_CRYPTO>,
2434			 <&scmi_clk CLK_CORE_CRYPTO>, <&scmi_clk CLK_PKA_CRYPTO>,
2435			 <&scmi_clk PCLK_CRYPTO>;
2436		clock-names = "aclk", "hclk", "sclk", "pka", "pclk";
2437		assigned-clocks = <&scmi_clk CLK_CORE_CRYPTO>, <&scmi_clk CLK_PKA_CRYPTO>;
2438		assigned-clock-rates = <200000000>, <300000000>;
2439		resets = <&cru SRST_CORE_CRYPTO>;
2440		reset-names = "crypto-rst";
2441		status = "disabled";
2442	};
2443
2444	rng: rng@ff8e0000 {
2445		compatible = "rockchip,rkrng";
2446		reg = <0x0 0xff8e0000 0x0 0x200>;
2447		interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
2448		clocks = <&scmi_clk HCLK_RK_RNG_NS>;
2449		clock-names = "hclk_trng";
2450		resets = <&cru SRST_H_RK_RNG_NS>;
2451		reset-names = "reset";
2452		status = "disabled";
2453	};
2454
2455	otp: otp@ff930000 {
2456		compatible = "rockchip,rk3562-otp";
2457		reg = <0x0 0xff930000 0x0 0x4000>;
2458		#address-cells = <1>;
2459		#size-cells = <1>;
2460		clocks = <&cru CLK_USER_OTPC_NS>, <&cru CLK_SBPI_OTPC_NS>,
2461			 <&cru PCLK_OTPC_NS>, <&cru CLK_OTPC_ARB>,
2462			 <&cru PCLK_OTPPHY>;
2463		clock-names = "usr", "sbpi", "apb", "arb", "phy";
2464		resets = <&cru SRST_USER_OTPC_NS>, <&cru SRST_SBPI_OTPC_NS>,
2465			 <&cru SRST_P_OTPC_NS>, <&cru SRST_OTPC_ARB>,
2466			 <&cru SRST_P_OTPPHY>;
2467		reset-names = "usr", "sbpi", "apb", "arb", "phy";
2468
2469		/* Data cells */
2470		cpu_code: cpu-code@2 {
2471			reg = <0x02 0x2>;
2472		};
2473		otp_cpu_version: cpu-version@8 {
2474			reg = <0x08 0x1>;
2475			bits = <3 3>;
2476		};
2477		mbist_vmin: mbist-vmin@9 {
2478			reg = <0x09 0x1>;
2479			bits = <0 2>;
2480		};
2481		log_mbist_vmin: log-mbist-vmin@9 {
2482			reg = <0x09 0x1>;
2483			bits = <4 2>;
2484		};
2485		otp_id: id@a {
2486			reg = <0x0a 0x10>;
2487		};
2488		cpu_leakage: cpu-leakage@1a {
2489			reg = <0x1a 0x1>;
2490		};
2491		log_leakage: log-leakage@1b {
2492			reg = <0x1b 0x1>;
2493		};
2494		npu_leakage: npu-leakage@1c {
2495			reg = <0x1c 0x1>;
2496		};
2497		gpu_leakage: gpu-leakage@1d {
2498			reg = <0x1d 0x1>;
2499		};
2500		cpu_tsadc_trim_l: cpu-tsadc-trim-l@2a {
2501			reg = <0x2a 0x1>;
2502		};
2503		cpu_tsadc_trim_h: cpu-tsadc-trim-h@2b {
2504			reg = <0x2b 0x1>;
2505		};
2506		tsadc_trim_base_frac: tsadc-trim-base-frac@2c {
2507			reg = <0x2c 0x1>;
2508			bits = <4 4>;
2509		};
2510		tsadc_trim_base: tsadc-trim-base@2d {
2511			reg = <0x2d 0x1>;
2512		};
2513		cpu_opp_info: cpu-opp-info@2e {
2514			reg = <0x2e 0x6>;
2515		};
2516		gpu_opp_info: gpu-opp-info@34 {
2517			reg = <0x34 0x6>;
2518		};
2519		npu_opp_info: npu-opp-info@3a {
2520			reg = <0x3a 0x6>;
2521		};
2522		dmc_opp_info: dmc-opp-info@40 {
2523			reg = <0x40 0x6>;
2524		};
2525		cpu_pvtpll: cpu-pvtpll@46 {
2526			reg = <0x46 0x2>;
2527		};
2528		gpu_pvtpll: gpu-pvtpll@48 {
2529			reg = <0x48 0x2>;
2530		};
2531		npu_pvtpll: npu-pvtpll@4a {
2532			reg = <0x4a 0x2>;
2533		};
2534	};
2535
2536	dmac: dma-controller@ff990000 {
2537		compatible = "arm,pl330", "arm,primecell";
2538		reg = <0x0 0xff990000 0x0 0x4000>;
2539		interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>,
2540			     <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
2541		clocks = <&cru ACLK_DMAC>;
2542		clock-names = "apb_pclk";
2543		#dma-cells = <1>;
2544		arm,pl330-periph-burst;
2545	};
2546
2547	rkdmac: dma-controller@ff9a0000 {
2548		compatible = "rockchip,rk3562-dma", "rockchip,dma-v1";
2549		reg = <0x0 0xff9a0000 0x0 0x4000>;
2550		interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
2551		clocks = <&cru ACLK_RKDMAC>;
2552		clock-names = "aclk";
2553		#dma-cells = <1>;
2554		dma-channels = <42>;
2555		dma-requests = <42>;
2556		rockchip,grf = <&peri_grf>;
2557	};
2558
2559	hwlock: hwspinlock@ff9e0000 {
2560		compatible = "rockchip,hwspinlock";
2561		reg = <0x0 0xff9e0000 0x0 0x100>;
2562		#hwlock-cells = <1>;
2563		status = "disabled";
2564	};
2565
2566	i2c1: i2c@ffa00000 {
2567		compatible = "rockchip,rk3562-i2c", "rockchip,rk3399-i2c";
2568		reg = <0x0 0xffa00000 0x0 0x1000>;
2569		clocks = <&cru CLK_I2C1>, <&cru PCLK_I2C1>;
2570		clock-names = "i2c", "pclk";
2571		interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
2572		pinctrl-names = "default";
2573		pinctrl-0 = <&i2c1m0_xfer>;
2574		#address-cells = <1>;
2575		#size-cells = <0>;
2576		status = "disabled";
2577	};
2578
2579	i2c2: i2c@ffa10000 {
2580		compatible = "rockchip,rk3562-i2c", "rockchip,rk3399-i2c";
2581		reg = <0x0 0xffa10000 0x0 0x1000>;
2582		clocks = <&cru CLK_I2C2>, <&cru PCLK_I2C2>;
2583		clock-names = "i2c", "pclk";
2584		interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
2585		pinctrl-names = "default";
2586		pinctrl-0 = <&i2c2m0_xfer>;
2587		#address-cells = <1>;
2588		#size-cells = <0>;
2589		status = "disabled";
2590	};
2591
2592	i2c3: i2c@ffa20000 {
2593		compatible = "rockchip,rk3562-i2c", "rockchip,rk3399-i2c";
2594		reg = <0x0 0xffa20000 0x0 0x1000>;
2595		clocks = <&cru CLK_I2C3>, <&cru PCLK_I2C3>;
2596		clock-names = "i2c", "pclk";
2597		interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
2598		pinctrl-names = "default";
2599		pinctrl-0 = <&i2c3m0_xfer>;
2600		#address-cells = <1>;
2601		#size-cells = <0>;
2602		status = "disabled";
2603	};
2604
2605	i2c4: i2c@ffa30000 {
2606		compatible = "rockchip,rk3562-i2c", "rockchip,rk3399-i2c";
2607		reg = <0x0 0xffa30000 0x0 0x1000>;
2608		clocks = <&cru CLK_I2C4>, <&cru PCLK_I2C4>;
2609		clock-names = "i2c", "pclk";
2610		interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
2611		pinctrl-names = "default";
2612		pinctrl-0 = <&i2c4m0_xfer>;
2613		#address-cells = <1>;
2614		#size-cells = <0>;
2615		status = "disabled";
2616	};
2617
2618	i2c5: i2c@ffa40000 {
2619		compatible = "rockchip,rk3562-i2c", "rockchip,rk3399-i2c";
2620		reg = <0x0 0xffa40000 0x0 0x1000>;
2621		clocks = <&cru CLK_I2C5>, <&cru PCLK_I2C5>;
2622		clock-names = "i2c", "pclk";
2623		interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
2624		pinctrl-names = "default";
2625		pinctrl-0 = <&i2c5m0_xfer>;
2626		#address-cells = <1>;
2627		#size-cells = <0>;
2628		status = "disabled";
2629	};
2630
2631	rktimer: timer@ffa50000 {
2632		compatible = "rockchip,rk3562-timer", "rockchip,rk3288-timer";
2633		reg = <0x0 0xffa50000 0x0 0x20>;
2634		interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
2635		clocks = <&cru PCLK_TIMER>, <&cru CLK_TIMER0>;
2636		clock-names = "pclk", "timer";
2637	};
2638
2639	wdt: watchdog@ffa60000 {
2640		compatible = "snps,dw-wdt";
2641		reg = <0x0 0xffa60000 0x0 0x100>;
2642		clocks = <&cru CLK_WDTNS>, <&cru PCLK_WDTNS>;
2643		clock-names = "tclk", "pclk";
2644		interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
2645		status = "disabled";
2646	};
2647
2648	tsadc: tsadc@ffa70000 {
2649		compatible = "rockchip,rk3562-tsadc";
2650		reg = <0x0 0xffa70000 0x0 0x400>;
2651		rockchip,grf = <&sys_grf>;
2652		interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
2653		clocks = <&cru CLK_TSADC>, <&cru CLK_TSADC_TSEN>, <&cru PCLK_TSADC>;
2654		clock-names = "tsadc", "tsadc_tsen", "apb_pclk";
2655		assigned-clocks = <&cru CLK_TSADC>, <&cru CLK_TSADC_TSEN>;
2656		assigned-clock-rates = <1200000>, <12000000>;
2657		resets = <&cru SRST_TSADC>, <&cru SRST_P_TSADC>, <&cru SRST_TSADCPHY>;
2658		reset-names = "tsadc", "tsadc-apb", "tsadc-phy";
2659		#thermal-sensor-cells = <1>;
2660		rockchip,hw-tshut-temp = <120000>;
2661		rockchip,hw-tshut-mode = <0>; /* tshut mode 0:CRU 1:GPIO */
2662		rockchip,hw-tshut-polarity = <0>; /* tshut polarity 0:LOW 1:HIGH */
2663		nvmem-cells = <&cpu_tsadc_trim_l>, <&cpu_tsadc_trim_h>, <&tsadc_trim_base>, <&tsadc_trim_base_frac>;
2664		nvmem-cell-names = "trim_l", "trim_h", "trim_base", "trim_base_frac";
2665		status = "disabled";
2666	};
2667
2668	gmac0: ethernet@ffa80000 {
2669		compatible = "rockchip,rk3562-gmac", "snps,dwmac-4.20a";
2670		reg = <0x0 0xffa80000 0x0 0x10000>;
2671		interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>,
2672			     <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
2673		interrupt-names = "macirq", "eth_wake_irq";
2674		rockchip,grf = <&sys_grf>;
2675		rockchip,php_grf = <&ioc_grf>;
2676		clocks = <&cru CLK_GMAC_125M_CRU_I>, <&cru CLK_GMAC_50M_CRU_I>,
2677			 <&cru PCLK_GMAC>, <&cru ACLK_GMAC>;
2678		clock-names = "stmmaceth", "clk_mac_ref",
2679			      "pclk_mac", "aclk_mac";
2680		resets = <&cru SRST_A_GMAC>;
2681		reset-names = "stmmaceth";
2682
2683		snps,mixed-burst;
2684		snps,tso;
2685
2686		snps,axi-config = <&gmac0_stmmac_axi_setup>;
2687		snps,mtl-rx-config = <&gmac0_mtl_rx_setup>;
2688		snps,mtl-tx-config = <&gmac0_mtl_tx_setup>;
2689		status = "disabled";
2690
2691		mdio0: mdio {
2692			compatible = "snps,dwmac-mdio";
2693			#address-cells = <0x1>;
2694			#size-cells = <0x0>;
2695		};
2696
2697		gmac0_stmmac_axi_setup: stmmac-axi-config {
2698			snps,wr_osr_lmt = <4>;
2699			snps,rd_osr_lmt = <8>;
2700			snps,blen = <0 0 0 0 16 8 4>;
2701		};
2702
2703		gmac0_mtl_rx_setup: rx-queues-config {
2704			snps,rx-queues-to-use = <1>;
2705			queue0 {};
2706		};
2707
2708		gmac0_mtl_tx_setup: tx-queues-config {
2709			snps,tx-queues-to-use = <1>;
2710			queue0 {};
2711		};
2712	};
2713
2714	saradc1: saradc@ffaa0000 {
2715		compatible = "rockchip,rk3562-saradc";
2716		reg = <0x0 0xffaa0000 0x0 0x100>;
2717		interrupts = <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>;
2718		#io-channel-cells = <1>;
2719		clocks = <&cru CLK_SARADC_VCCIO156>, <&cru PCLK_SARADC_VCCIO156>;
2720		clock-names = "saradc", "apb_pclk";
2721		resets = <&cru SRST_P_SARADC_VCCIO156>;
2722		reset-names = "saradc-apb";
2723		status = "disabled";
2724	};
2725
2726	mailbox: mailbox@ffae0000 {
2727		compatible = "rockchip,rk3562-mailbox",
2728			     "rockchip,rk3368-mailbox";
2729		reg = <0x0 0xffae0000 0x0 0x200>;
2730		interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
2731		clocks = <&cru PCLK_MAILBOX>;
2732		clock-names = "pclk_mailbox";
2733		#mbox-cells = <1>;
2734		status = "disabled";
2735	};
2736
2737	dsi: dsi@ffb10000 {
2738		compatible = "rockchip,rk3562-mipi-dsi";
2739		reg = <0x0 0xffb10000 0x0 0x10000>;
2740		interrupts = <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>;
2741		clocks = <&cru PCLK_DSITX>;
2742		clock-names = "pclk";
2743		resets = <&cru SRST_P_DSITX>;
2744		reset-names = "apb";
2745		phys = <&video_phy>;
2746		phy-names = "dphy";
2747		rockchip,grf = <&sys_grf>;
2748		#address-cells = <1>;
2749		#size-cells = <0>;
2750		status = "disabled";
2751
2752		ports {
2753			#address-cells = <1>;
2754			#size-cells = <0>;
2755
2756			dsi_in: port@0 {
2757				reg = <0>;
2758				#address-cells = <1>;
2759				#size-cells = <0>;
2760
2761				dsi_in_vp0: endpoint@0 {
2762					reg = <0>;
2763					remote-endpoint = <&vp0_out_dsi>;
2764					status = "disabled";
2765				};
2766			};
2767		};
2768	};
2769
2770	video_phy: phy@ffb20000 {
2771		compatible = "rockchip,rk3562-dsi-dphy", "rockchip,rk3562-video-phy",
2772			     "rockchip,rk3568-dsi-dphy", "rockchip,rk3568-video-phy";
2773		reg = <0x0 0xffb20000 0x0 0x10000>,
2774		      <0x0 0xffb10000 0x0 0x10000>;
2775		reg-names = "phy", "host";
2776		clocks = <&cru CLK_MIPIDSIPHY_REF>,
2777			 <&cru PCLK_DSIPHY>, <&cru PCLK_DSITX>;
2778		clock-names = "ref", "pclk", "pclk_host";
2779		#clock-cells = <0>;
2780		resets = <&cru SRST_P_DSIPHY>;
2781		reset-names = "apb";
2782		#phy-cells = <0>;
2783		status = "disabled";
2784	};
2785
2786	gmac1: ethernet@ffb30000 {
2787		compatible = "rockchip,rk3562-gmac";
2788		reg = <0x0 0xffb30000 0x0 0x10000>;
2789		interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>,
2790			     <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>;
2791		interrupt-names = "macirq", "eth_wake_irq";
2792		rockchip,grf = <&sys_grf>;
2793		rockchip,php_grf = <&ioc_grf>;
2794		clocks = <&cru CLK_MAC100_50M_MATRIX>, <&cru CLK_MAC100_50M_MATRIX>,
2795			 <&cru PCLK_MAC100>, <&cru ACLK_MAC100>;
2796		clock-names = "stmmaceth", "clk_mac_ref",
2797			      "pclk_mac", "aclk_mac";
2798		resets = <&cru SRST_A_MAC100>;
2799		reset-names = "stmmaceth";
2800		status = "disabled";
2801
2802		mdio1: mdio {
2803			compatible = "snps,dwmac-mdio";
2804			#address-cells = <0x1>;
2805			#size-cells = <0x0>;
2806		};
2807	};
2808
2809	pinctrl: pinctrl {
2810		compatible = "rockchip,rk3562-pinctrl";
2811		rockchip,grf = <&ioc_grf>;
2812		#address-cells = <2>;
2813		#size-cells = <2>;
2814		ranges;
2815
2816		gpio0: gpio@ff260000 {
2817			compatible = "rockchip,gpio-bank";
2818			reg = <0x0 0xff260000 0x0 0x100>;
2819			interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
2820			clocks = <&cru PCLK_PMU0_GPIO0>, <&cru DBCLK_PMU0_GPIO0>;
2821
2822			gpio-controller;
2823			#gpio-cells = <2>;
2824			gpio-ranges = <&pinctrl 0 0 32>;
2825			interrupt-controller;
2826			#interrupt-cells = <2>;
2827		};
2828
2829		gpio1: gpio@ff620000 {
2830			compatible = "rockchip,gpio-bank";
2831			reg = <0x0 0xff620000 0x0 0x100>;
2832			interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
2833			clocks = <&cru PCLK_PERI_GPIO1>, <&cru DCLK_PERI_GPIO1>;
2834
2835			gpio-controller;
2836			#gpio-cells = <2>;
2837			gpio-ranges = <&pinctrl 0 32 32>;
2838			interrupt-controller;
2839			#interrupt-cells = <2>;
2840		};
2841
2842		gpio2: gpio@ff630000 {
2843			compatible = "rockchip,gpio-bank";
2844			reg = <0x0 0xff630000 0x0 0x100>;
2845			interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
2846			clocks = <&cru PCLK_PERI_GPIO2>, <&cru DCLK_PERI_GPIO2>;
2847
2848			gpio-controller;
2849			#gpio-cells = <2>;
2850			gpio-ranges = <&pinctrl 0 64 32>;
2851			interrupt-controller;
2852			#interrupt-cells = <2>;
2853		};
2854
2855		gpio3: gpio@ffac0000 {
2856			compatible = "rockchip,gpio-bank";
2857			reg = <0x0 0xffac0000 0x0 0x100>;
2858			interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
2859			clocks = <&cru PCLK_GPIO3_VCCIO156>, <&cru DCLK_BUS_GPIO3>;
2860
2861			gpio-controller;
2862			#gpio-cells = <2>;
2863			gpio-ranges = <&pinctrl 0 96 32>;
2864			interrupt-controller;
2865			#interrupt-cells = <2>;
2866		};
2867
2868		gpio4: gpio@ffad0000 {
2869			compatible = "rockchip,gpio-bank";
2870			reg = <0x0 0xffad0000 0x0 0x100>;
2871			interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
2872			clocks = <&cru PCLK_GPIO4_VCCIO156>, <&cru DCLK_BUS_GPIO4>;
2873
2874			gpio-controller;
2875			#gpio-cells = <2>;
2876			gpio-ranges = <&pinctrl 0 128 32>;
2877			interrupt-controller;
2878			#interrupt-cells = <2>;
2879		};
2880	};
2881
2882	rockchip_suspend: rockchip-suspend {
2883		compatible = "rockchip,pm-rk3562";
2884		status = "disabled";
2885		rockchip,sleep-debug-en = <1>;
2886		rockchip,sleep-mode-config = <
2887			(0
2888			| RKPM_SLP_DEEP1_MODE
2889			| RKPM_SLP_PMIC_LP
2890			| RKPM_SLP_HW_PLLS_OFF
2891			| RKPM_SLP_PMUALIVE_32K
2892			| RKPM_SLP_OSC_DIS
2893			| RKPM_SLP_32K_PVTM
2894			)
2895		>;
2896		rockchip,wakeup-config = <
2897			(0
2898			| RKPM_GPIO0_WKUP_EN
2899			)
2900		>;
2901	};
2902};
2903
2904#include "rk3562-pinctrl.dtsi"
2905