1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (c) 2021 Rockchip Electronics Co., Ltd.
4 */
5
6#include <dt-bindings/clock/rk3568-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/pinctrl/rockchip.h>
11#include <dt-bindings/power/rk3568-power.h>
12#include <dt-bindings/soc/rockchip,boot-mode.h>
13#include <dt-bindings/thermal/thermal.h>
14
15/ {
16	interrupt-parent = <&gic>;
17	#address-cells = <2>;
18	#size-cells = <2>;
19
20	aliases {
21		gpio0 = &gpio0;
22		gpio1 = &gpio1;
23		gpio2 = &gpio2;
24		gpio3 = &gpio3;
25		gpio4 = &gpio4;
26		i2c0 = &i2c0;
27		i2c1 = &i2c1;
28		i2c2 = &i2c2;
29		i2c3 = &i2c3;
30		i2c4 = &i2c4;
31		i2c5 = &i2c5;
32		serial0 = &uart0;
33		serial1 = &uart1;
34		serial2 = &uart2;
35		serial3 = &uart3;
36		serial4 = &uart4;
37		serial5 = &uart5;
38		serial6 = &uart6;
39		serial7 = &uart7;
40		serial8 = &uart8;
41		serial9 = &uart9;
42		spi0 = &spi0;
43		spi1 = &spi1;
44		spi2 = &spi2;
45		spi3 = &spi3;
46	};
47
48	cpus {
49		#address-cells = <2>;
50		#size-cells = <0>;
51
52		cpu0: cpu@0 {
53			device_type = "cpu";
54			compatible = "arm,cortex-a55";
55			reg = <0x0 0x0>;
56			clocks = <&scmi_clk 0>;
57			#cooling-cells = <2>;
58			enable-method = "psci";
59			operating-points-v2 = <&cpu0_opp_table>;
60		};
61
62		cpu1: cpu@100 {
63			device_type = "cpu";
64			compatible = "arm,cortex-a55";
65			reg = <0x0 0x100>;
66			#cooling-cells = <2>;
67			enable-method = "psci";
68			operating-points-v2 = <&cpu0_opp_table>;
69		};
70
71		cpu2: cpu@200 {
72			device_type = "cpu";
73			compatible = "arm,cortex-a55";
74			reg = <0x0 0x200>;
75			#cooling-cells = <2>;
76			enable-method = "psci";
77			operating-points-v2 = <&cpu0_opp_table>;
78		};
79
80		cpu3: cpu@300 {
81			device_type = "cpu";
82			compatible = "arm,cortex-a55";
83			reg = <0x0 0x300>;
84			#cooling-cells = <2>;
85			enable-method = "psci";
86			operating-points-v2 = <&cpu0_opp_table>;
87		};
88	};
89
90	cpu0_opp_table: opp-table-0 {
91		compatible = "operating-points-v2";
92		opp-shared;
93
94		opp-408000000 {
95			opp-hz = /bits/ 64 <408000000>;
96			opp-microvolt = <900000 900000 1150000>;
97			clock-latency-ns = <40000>;
98		};
99
100		opp-600000000 {
101			opp-hz = /bits/ 64 <600000000>;
102			opp-microvolt = <900000 900000 1150000>;
103		};
104
105		opp-816000000 {
106			opp-hz = /bits/ 64 <816000000>;
107			opp-microvolt = <900000 900000 1150000>;
108			opp-suspend;
109		};
110
111		opp-1104000000 {
112			opp-hz = /bits/ 64 <1104000000>;
113			opp-microvolt = <900000 900000 1150000>;
114		};
115
116		opp-1416000000 {
117			opp-hz = /bits/ 64 <1416000000>;
118			opp-microvolt = <900000 900000 1150000>;
119		};
120
121		opp-1608000000 {
122			opp-hz = /bits/ 64 <1608000000>;
123			opp-microvolt = <975000 975000 1150000>;
124		};
125
126		opp-1800000000 {
127			opp-hz = /bits/ 64 <1800000000>;
128			opp-microvolt = <1050000 1050000 1150000>;
129		};
130	};
131
132	firmware {
133		scmi: scmi {
134			compatible = "arm,scmi-smc";
135			arm,smc-id = <0x82000010>;
136			shmem = <&scmi_shmem>;
137			#address-cells = <1>;
138			#size-cells = <0>;
139
140			scmi_clk: protocol@14 {
141				reg = <0x14>;
142				#clock-cells = <1>;
143			};
144		};
145	};
146
147	gpu_opp_table: opp-table-1 {
148		compatible = "operating-points-v2";
149
150		opp-200000000 {
151			opp-hz = /bits/ 64 <200000000>;
152			opp-microvolt = <825000>;
153		};
154
155		opp-300000000 {
156			opp-hz = /bits/ 64 <300000000>;
157			opp-microvolt = <825000>;
158		};
159
160		opp-400000000 {
161			opp-hz = /bits/ 64 <400000000>;
162			opp-microvolt = <825000>;
163		};
164
165		opp-600000000 {
166			opp-hz = /bits/ 64 <600000000>;
167			opp-microvolt = <825000>;
168		};
169
170		opp-700000000 {
171			opp-hz = /bits/ 64 <700000000>;
172			opp-microvolt = <900000>;
173		};
174
175		opp-800000000 {
176			opp-hz = /bits/ 64 <800000000>;
177			opp-microvolt = <1000000>;
178		};
179	};
180
181	pmu {
182		compatible = "arm,cortex-a55-pmu";
183		interrupts = <GIC_SPI 228 IRQ_TYPE_LEVEL_HIGH>,
184			     <GIC_SPI 229 IRQ_TYPE_LEVEL_HIGH>,
185			     <GIC_SPI 230 IRQ_TYPE_LEVEL_HIGH>,
186			     <GIC_SPI 231 IRQ_TYPE_LEVEL_HIGH>;
187		interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
188	};
189
190	psci {
191		compatible = "arm,psci-1.0";
192		method = "smc";
193	};
194
195	timer {
196		compatible = "arm,armv8-timer";
197		interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_HIGH>,
198			     <GIC_PPI 14 IRQ_TYPE_LEVEL_HIGH>,
199			     <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH>,
200			     <GIC_PPI 10 IRQ_TYPE_LEVEL_HIGH>;
201		arm,no-tick-in-suspend;
202	};
203
204	xin24m: xin24m {
205		compatible = "fixed-clock";
206		clock-frequency = <24000000>;
207		clock-output-names = "xin24m";
208		#clock-cells = <0>;
209	};
210
211	xin32k: xin32k {
212		compatible = "fixed-clock";
213		clock-frequency = <32768>;
214		clock-output-names = "xin32k";
215		pinctrl-0 = <&clk32k_out0>;
216		pinctrl-names = "default";
217		#clock-cells = <0>;
218	};
219
220	sram@10f000 {
221		compatible = "mmio-sram";
222		reg = <0x0 0x0010f000 0x0 0x100>;
223		#address-cells = <1>;
224		#size-cells = <1>;
225		ranges = <0 0x0 0x0010f000 0x100>;
226
227		scmi_shmem: sram@0 {
228			compatible = "arm,scmi-shmem";
229			reg = <0x0 0x100>;
230		};
231	};
232
233	gic: interrupt-controller@fd400000 {
234		compatible = "arm,gic-v3";
235		reg = <0x0 0xfd400000 0 0x10000>, /* GICD */
236		      <0x0 0xfd460000 0 0x80000>; /* GICR */
237		interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
238		interrupt-controller;
239		#interrupt-cells = <3>;
240		mbi-alias = <0x0 0xfd410000>;
241		mbi-ranges = <296 24>;
242		msi-controller;
243	};
244
245	usb_host0_ehci: usb@fd800000 {
246		compatible = "generic-ehci";
247		reg = <0x0 0xfd800000 0x0 0x40000>;
248		interrupts = <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>;
249		clocks = <&cru HCLK_USB2HOST0>, <&cru HCLK_USB2HOST0_ARB>,
250			 <&cru PCLK_USB>;
251		phys = <&usb2phy1_otg>;
252		phy-names = "usb";
253		status = "disabled";
254	};
255
256	usb_host0_ohci: usb@fd840000 {
257		compatible = "generic-ohci";
258		reg = <0x0 0xfd840000 0x0 0x40000>;
259		interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>;
260		clocks = <&cru HCLK_USB2HOST0>, <&cru HCLK_USB2HOST0_ARB>,
261			 <&cru PCLK_USB>;
262		phys = <&usb2phy1_otg>;
263		phy-names = "usb";
264		status = "disabled";
265	};
266
267	usb_host1_ehci: usb@fd880000 {
268		compatible = "generic-ehci";
269		reg = <0x0 0xfd880000 0x0 0x40000>;
270		interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
271		clocks = <&cru HCLK_USB2HOST1>, <&cru HCLK_USB2HOST1_ARB>,
272			 <&cru PCLK_USB>;
273		phys = <&usb2phy1_host>;
274		phy-names = "usb";
275		status = "disabled";
276	};
277
278	usb_host1_ohci: usb@fd8c0000 {
279		compatible = "generic-ohci";
280		reg = <0x0 0xfd8c0000 0x0 0x40000>;
281		interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>;
282		clocks = <&cru HCLK_USB2HOST1>, <&cru HCLK_USB2HOST1_ARB>,
283			 <&cru PCLK_USB>;
284		phys = <&usb2phy1_host>;
285		phy-names = "usb";
286		status = "disabled";
287	};
288
289	pmugrf: syscon@fdc20000 {
290		compatible = "rockchip,rk3568-pmugrf", "syscon", "simple-mfd";
291		reg = <0x0 0xfdc20000 0x0 0x10000>;
292
293		pmu_io_domains: io-domains {
294			compatible = "rockchip,rk3568-pmu-io-voltage-domain";
295			status = "disabled";
296		};
297	};
298
299	pipegrf: syscon@fdc50000 {
300		compatible = "rockchip,rk3568-pipe-grf", "syscon";
301		reg = <0x0 0xfdc50000 0x0 0x1000>;
302	};
303
304	grf: syscon@fdc60000 {
305		compatible = "rockchip,rk3568-grf", "syscon", "simple-mfd";
306		reg = <0x0 0xfdc60000 0x0 0x10000>;
307	};
308
309	pipe_phy_grf1: syscon@fdc80000 {
310		compatible = "rockchip,rk3568-pipe-phy-grf", "syscon";
311		reg = <0x0 0xfdc80000 0x0 0x1000>;
312	};
313
314	pipe_phy_grf2: syscon@fdc90000 {
315		compatible = "rockchip,rk3568-pipe-phy-grf", "syscon";
316		reg = <0x0 0xfdc90000 0x0 0x1000>;
317	};
318
319	usb2phy0_grf: syscon@fdca0000 {
320		compatible = "rockchip,rk3568-usb2phy-grf", "syscon";
321		reg = <0x0 0xfdca0000 0x0 0x8000>;
322	};
323
324	usb2phy1_grf: syscon@fdca8000 {
325		compatible = "rockchip,rk3568-usb2phy-grf", "syscon";
326		reg = <0x0 0xfdca8000 0x0 0x8000>;
327	};
328
329	pmucru: clock-controller@fdd00000 {
330		compatible = "rockchip,rk3568-pmucru";
331		reg = <0x0 0xfdd00000 0x0 0x1000>;
332		#clock-cells = <1>;
333		#reset-cells = <1>;
334	};
335
336	cru: clock-controller@fdd20000 {
337		compatible = "rockchip,rk3568-cru";
338		reg = <0x0 0xfdd20000 0x0 0x1000>;
339		#clock-cells = <1>;
340		#reset-cells = <1>;
341		assigned-clocks = <&cru PLL_GPLL>, <&pmucru PLL_PPLL>;
342		assigned-clock-rates = <1200000000>, <200000000>;
343		rockchip,grf = <&grf>;
344	};
345
346	i2c0: i2c@fdd40000 {
347		compatible = "rockchip,rk3568-i2c", "rockchip,rk3399-i2c";
348		reg = <0x0 0xfdd40000 0x0 0x1000>;
349		interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
350		clocks = <&pmucru CLK_I2C0>, <&pmucru PCLK_I2C0>;
351		clock-names = "i2c", "pclk";
352		pinctrl-0 = <&i2c0_xfer>;
353		pinctrl-names = "default";
354		#address-cells = <1>;
355		#size-cells = <0>;
356		status = "disabled";
357	};
358
359	uart0: serial@fdd50000 {
360		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
361		reg = <0x0 0xfdd50000 0x0 0x100>;
362		interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
363		clocks = <&pmucru SCLK_UART0>, <&pmucru PCLK_UART0>;
364		clock-names = "baudclk", "apb_pclk";
365		dmas = <&dmac0 0>, <&dmac0 1>;
366		pinctrl-0 = <&uart0_xfer>;
367		pinctrl-names = "default";
368		reg-io-width = <4>;
369		reg-shift = <2>;
370		status = "disabled";
371	};
372
373	pwm0: pwm@fdd70000 {
374		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
375		reg = <0x0 0xfdd70000 0x0 0x10>;
376		clocks = <&pmucru CLK_PWM0>, <&pmucru PCLK_PWM0>;
377		clock-names = "pwm", "pclk";
378		pinctrl-0 = <&pwm0m0_pins>;
379		pinctrl-names = "default";
380		#pwm-cells = <3>;
381		status = "disabled";
382	};
383
384	pwm1: pwm@fdd70010 {
385		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
386		reg = <0x0 0xfdd70010 0x0 0x10>;
387		clocks = <&pmucru CLK_PWM0>, <&pmucru PCLK_PWM0>;
388		clock-names = "pwm", "pclk";
389		pinctrl-0 = <&pwm1m0_pins>;
390		pinctrl-names = "default";
391		#pwm-cells = <3>;
392		status = "disabled";
393	};
394
395	pwm2: pwm@fdd70020 {
396		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
397		reg = <0x0 0xfdd70020 0x0 0x10>;
398		clocks = <&pmucru CLK_PWM0>, <&pmucru PCLK_PWM0>;
399		clock-names = "pwm", "pclk";
400		pinctrl-0 = <&pwm2m0_pins>;
401		pinctrl-names = "default";
402		#pwm-cells = <3>;
403		status = "disabled";
404	};
405
406	pwm3: pwm@fdd70030 {
407		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
408		reg = <0x0 0xfdd70030 0x0 0x10>;
409		clocks = <&pmucru CLK_PWM0>, <&pmucru PCLK_PWM0>;
410		clock-names = "pwm", "pclk";
411		pinctrl-0 = <&pwm3_pins>;
412		pinctrl-names = "default";
413		#pwm-cells = <3>;
414		status = "disabled";
415	};
416
417	pmu: power-management@fdd90000 {
418		compatible = "rockchip,rk3568-pmu", "syscon", "simple-mfd";
419		reg = <0x0 0xfdd90000 0x0 0x1000>;
420
421		power: power-controller {
422			compatible = "rockchip,rk3568-power-controller";
423			#power-domain-cells = <1>;
424			#address-cells = <1>;
425			#size-cells = <0>;
426
427			/* These power domains are grouped by VD_GPU */
428			power-domain@RK3568_PD_GPU {
429				reg = <RK3568_PD_GPU>;
430				clocks = <&cru ACLK_GPU_PRE>,
431					 <&cru PCLK_GPU_PRE>;
432				pm_qos = <&qos_gpu>;
433				#power-domain-cells = <0>;
434			};
435
436			/* These power domains are grouped by VD_LOGIC */
437			power-domain@RK3568_PD_VI {
438				reg = <RK3568_PD_VI>;
439				clocks = <&cru HCLK_VI>,
440					 <&cru PCLK_VI>;
441				pm_qos = <&qos_isp>,
442					 <&qos_vicap0>,
443					 <&qos_vicap1>;
444				#power-domain-cells = <0>;
445			};
446
447			power-domain@RK3568_PD_VO {
448				reg = <RK3568_PD_VO>;
449				clocks = <&cru HCLK_VO>,
450					 <&cru PCLK_VO>,
451					 <&cru ACLK_VOP_PRE>;
452				pm_qos = <&qos_hdcp>,
453					 <&qos_vop_m0>,
454					 <&qos_vop_m1>;
455				#power-domain-cells = <0>;
456			};
457
458			power-domain@RK3568_PD_RGA {
459				reg = <RK3568_PD_RGA>;
460				clocks = <&cru HCLK_RGA_PRE>,
461					 <&cru PCLK_RGA_PRE>;
462				pm_qos = <&qos_ebc>,
463					 <&qos_iep>,
464					 <&qos_jpeg_dec>,
465					 <&qos_jpeg_enc>,
466					 <&qos_rga_rd>,
467					 <&qos_rga_wr>;
468				#power-domain-cells = <0>;
469			};
470
471			power-domain@RK3568_PD_VPU {
472				reg = <RK3568_PD_VPU>;
473				clocks = <&cru HCLK_VPU_PRE>;
474				pm_qos = <&qos_vpu>;
475				#power-domain-cells = <0>;
476			};
477
478			power-domain@RK3568_PD_RKVDEC {
479				clocks = <&cru HCLK_RKVDEC_PRE>;
480				reg = <RK3568_PD_RKVDEC>;
481				pm_qos = <&qos_rkvdec>;
482				#power-domain-cells = <0>;
483			};
484
485			power-domain@RK3568_PD_RKVENC {
486				reg = <RK3568_PD_RKVENC>;
487				clocks = <&cru HCLK_RKVENC_PRE>;
488				pm_qos = <&qos_rkvenc_rd_m0>,
489					 <&qos_rkvenc_rd_m1>,
490					 <&qos_rkvenc_wr_m0>;
491				#power-domain-cells = <0>;
492			};
493		};
494	};
495
496	gpu: gpu@fde60000 {
497		compatible = "rockchip,rk3568-mali", "arm,mali-bifrost";
498		reg = <0x0 0xfde60000 0x0 0x4000>;
499		interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
500			     <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
501			     <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
502		interrupt-names = "job", "mmu", "gpu";
503		clocks = <&scmi_clk 1>, <&cru CLK_GPU>;
504		clock-names = "gpu", "bus";
505		#cooling-cells = <2>;
506		operating-points-v2 = <&gpu_opp_table>;
507		power-domains = <&power RK3568_PD_GPU>;
508		status = "disabled";
509	};
510
511	sdmmc2: mmc@fe000000 {
512		compatible = "rockchip,rk3568-dw-mshc", "rockchip,rk3288-dw-mshc";
513		reg = <0x0 0xfe000000 0x0 0x4000>;
514		interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
515		clocks = <&cru HCLK_SDMMC2>, <&cru CLK_SDMMC2>,
516			 <&cru SCLK_SDMMC2_DRV>, <&cru SCLK_SDMMC2_SAMPLE>;
517		clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
518		fifo-depth = <0x100>;
519		max-frequency = <150000000>;
520		resets = <&cru SRST_SDMMC2>;
521		reset-names = "reset";
522		status = "disabled";
523	};
524
525	gmac1: ethernet@fe010000 {
526		compatible = "rockchip,rk3568-gmac", "snps,dwmac-4.20a";
527		reg = <0x0 0xfe010000 0x0 0x10000>;
528		interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>,
529			     <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
530		interrupt-names = "macirq", "eth_wake_irq";
531		clocks = <&cru SCLK_GMAC1>, <&cru SCLK_GMAC1_RX_TX>,
532			 <&cru SCLK_GMAC1_RX_TX>, <&cru CLK_MAC1_REFOUT>,
533			 <&cru ACLK_GMAC1>, <&cru PCLK_GMAC1>,
534			 <&cru SCLK_GMAC1_RX_TX>, <&cru CLK_GMAC1_PTP_REF>;
535		clock-names = "stmmaceth", "mac_clk_rx",
536			      "mac_clk_tx", "clk_mac_refout",
537			      "aclk_mac", "pclk_mac",
538			      "clk_mac_speed", "ptp_ref";
539		resets = <&cru SRST_A_GMAC1>;
540		reset-names = "stmmaceth";
541		rockchip,grf = <&grf>;
542		snps,axi-config = <&gmac1_stmmac_axi_setup>;
543		snps,mixed-burst;
544		snps,mtl-rx-config = <&gmac1_mtl_rx_setup>;
545		snps,mtl-tx-config = <&gmac1_mtl_tx_setup>;
546		snps,tso;
547		status = "disabled";
548
549		mdio1: mdio {
550			compatible = "snps,dwmac-mdio";
551			#address-cells = <0x1>;
552			#size-cells = <0x0>;
553		};
554
555		gmac1_stmmac_axi_setup: stmmac-axi-config {
556			snps,blen = <0 0 0 0 16 8 4>;
557			snps,rd_osr_lmt = <8>;
558			snps,wr_osr_lmt = <4>;
559		};
560
561		gmac1_mtl_rx_setup: rx-queues-config {
562			snps,rx-queues-to-use = <1>;
563			queue0 {};
564		};
565
566		gmac1_mtl_tx_setup: tx-queues-config {
567			snps,tx-queues-to-use = <1>;
568			queue0 {};
569		};
570	};
571
572	qos_gpu: qos@fe128000 {
573		compatible = "rockchip,rk3568-qos", "syscon";
574		reg = <0x0 0xfe128000 0x0 0x20>;
575	};
576
577	qos_rkvenc_rd_m0: qos@fe138080 {
578		compatible = "rockchip,rk3568-qos", "syscon";
579		reg = <0x0 0xfe138080 0x0 0x20>;
580	};
581
582	qos_rkvenc_rd_m1: qos@fe138100 {
583		compatible = "rockchip,rk3568-qos", "syscon";
584		reg = <0x0 0xfe138100 0x0 0x20>;
585	};
586
587	qos_rkvenc_wr_m0: qos@fe138180 {
588		compatible = "rockchip,rk3568-qos", "syscon";
589		reg = <0x0 0xfe138180 0x0 0x20>;
590	};
591
592	qos_isp: qos@fe148000 {
593		compatible = "rockchip,rk3568-qos", "syscon";
594		reg = <0x0 0xfe148000 0x0 0x20>;
595	};
596
597	qos_vicap0: qos@fe148080 {
598		compatible = "rockchip,rk3568-qos", "syscon";
599		reg = <0x0 0xfe148080 0x0 0x20>;
600	};
601
602	qos_vicap1: qos@fe148100 {
603		compatible = "rockchip,rk3568-qos", "syscon";
604		reg = <0x0 0xfe148100 0x0 0x20>;
605	};
606
607	qos_vpu: qos@fe150000 {
608		compatible = "rockchip,rk3568-qos", "syscon";
609		reg = <0x0 0xfe150000 0x0 0x20>;
610	};
611
612	qos_ebc: qos@fe158000 {
613		compatible = "rockchip,rk3568-qos", "syscon";
614		reg = <0x0 0xfe158000 0x0 0x20>;
615	};
616
617	qos_iep: qos@fe158100 {
618		compatible = "rockchip,rk3568-qos", "syscon";
619		reg = <0x0 0xfe158100 0x0 0x20>;
620	};
621
622	qos_jpeg_dec: qos@fe158180 {
623		compatible = "rockchip,rk3568-qos", "syscon";
624		reg = <0x0 0xfe158180 0x0 0x20>;
625	};
626
627	qos_jpeg_enc: qos@fe158200 {
628		compatible = "rockchip,rk3568-qos", "syscon";
629		reg = <0x0 0xfe158200 0x0 0x20>;
630	};
631
632	qos_rga_rd: qos@fe158280 {
633		compatible = "rockchip,rk3568-qos", "syscon";
634		reg = <0x0 0xfe158280 0x0 0x20>;
635	};
636
637	qos_rga_wr: qos@fe158300 {
638		compatible = "rockchip,rk3568-qos", "syscon";
639		reg = <0x0 0xfe158300 0x0 0x20>;
640	};
641
642	qos_npu: qos@fe180000 {
643		compatible = "rockchip,rk3568-qos", "syscon";
644		reg = <0x0 0xfe180000 0x0 0x20>;
645	};
646
647	qos_pcie2x1: qos@fe190000 {
648		compatible = "rockchip,rk3568-qos", "syscon";
649		reg = <0x0 0xfe190000 0x0 0x20>;
650	};
651
652	qos_sata1: qos@fe190280 {
653		compatible = "rockchip,rk3568-qos", "syscon";
654		reg = <0x0 0xfe190280 0x0 0x20>;
655	};
656
657	qos_sata2: qos@fe190300 {
658		compatible = "rockchip,rk3568-qos", "syscon";
659		reg = <0x0 0xfe190300 0x0 0x20>;
660	};
661
662	qos_usb3_0: qos@fe190380 {
663		compatible = "rockchip,rk3568-qos", "syscon";
664		reg = <0x0 0xfe190380 0x0 0x20>;
665	};
666
667	qos_usb3_1: qos@fe190400 {
668		compatible = "rockchip,rk3568-qos", "syscon";
669		reg = <0x0 0xfe190400 0x0 0x20>;
670	};
671
672	qos_rkvdec: qos@fe198000 {
673		compatible = "rockchip,rk3568-qos", "syscon";
674		reg = <0x0 0xfe198000 0x0 0x20>;
675	};
676
677	qos_hdcp: qos@fe1a8000 {
678		compatible = "rockchip,rk3568-qos", "syscon";
679		reg = <0x0 0xfe1a8000 0x0 0x20>;
680	};
681
682	qos_vop_m0: qos@fe1a8080 {
683		compatible = "rockchip,rk3568-qos", "syscon";
684		reg = <0x0 0xfe1a8080 0x0 0x20>;
685	};
686
687	qos_vop_m1: qos@fe1a8100 {
688		compatible = "rockchip,rk3568-qos", "syscon";
689		reg = <0x0 0xfe1a8100 0x0 0x20>;
690	};
691
692	sdmmc0: mmc@fe2b0000 {
693		compatible = "rockchip,rk3568-dw-mshc", "rockchip,rk3288-dw-mshc";
694		reg = <0x0 0xfe2b0000 0x0 0x4000>;
695		interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
696		clocks = <&cru HCLK_SDMMC0>, <&cru CLK_SDMMC0>,
697			 <&cru SCLK_SDMMC0_DRV>, <&cru SCLK_SDMMC0_SAMPLE>;
698		clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
699		fifo-depth = <0x100>;
700		max-frequency = <150000000>;
701		resets = <&cru SRST_SDMMC0>;
702		reset-names = "reset";
703		status = "disabled";
704	};
705
706	sdmmc1: mmc@fe2c0000 {
707		compatible = "rockchip,rk3568-dw-mshc", "rockchip,rk3288-dw-mshc";
708		reg = <0x0 0xfe2c0000 0x0 0x4000>;
709		interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
710		clocks = <&cru HCLK_SDMMC1>, <&cru CLK_SDMMC1>,
711			 <&cru SCLK_SDMMC1_DRV>, <&cru SCLK_SDMMC1_SAMPLE>;
712		clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
713		fifo-depth = <0x100>;
714		max-frequency = <150000000>;
715		resets = <&cru SRST_SDMMC1>;
716		reset-names = "reset";
717		status = "disabled";
718	};
719
720	sdhci: mmc@fe310000 {
721		compatible = "rockchip,rk3568-dwcmshc";
722		reg = <0x0 0xfe310000 0x0 0x10000>;
723		interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
724		assigned-clocks = <&cru BCLK_EMMC>, <&cru TCLK_EMMC>;
725		assigned-clock-rates = <200000000>, <24000000>;
726		clocks = <&cru CCLK_EMMC>, <&cru HCLK_EMMC>,
727			 <&cru ACLK_EMMC>, <&cru BCLK_EMMC>,
728			 <&cru TCLK_EMMC>;
729		clock-names = "core", "bus", "axi", "block", "timer";
730		status = "disabled";
731	};
732
733	spdif: spdif@fe460000 {
734		compatible = "rockchip,rk3568-spdif";
735		reg = <0x0 0xfe460000 0x0 0x1000>;
736		interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
737		clock-names = "mclk", "hclk";
738		clocks = <&cru MCLK_SPDIF_8CH>, <&cru HCLK_SPDIF_8CH>;
739		dmas = <&dmac1 1>;
740		dma-names = "tx";
741		pinctrl-names = "default";
742		pinctrl-0 = <&spdifm0_tx>;
743		#sound-dai-cells = <0>;
744		status = "disabled";
745	};
746
747	i2s1_8ch: i2s@fe410000 {
748		compatible = "rockchip,rk3568-i2s-tdm";
749		reg = <0x0 0xfe410000 0x0 0x1000>;
750		interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
751		assigned-clocks = <&cru CLK_I2S1_8CH_TX_SRC>, <&cru CLK_I2S1_8CH_RX_SRC>;
752		assigned-clock-rates = <1188000000>, <1188000000>;
753		clocks = <&cru MCLK_I2S1_8CH_TX>, <&cru MCLK_I2S1_8CH_RX>,
754			 <&cru HCLK_I2S1_8CH>;
755		clock-names = "mclk_tx", "mclk_rx", "hclk";
756		dmas = <&dmac1 3>, <&dmac1 2>;
757		dma-names = "rx", "tx";
758		resets = <&cru SRST_M_I2S1_8CH_TX>, <&cru SRST_M_I2S1_8CH_RX>;
759		reset-names = "tx-m", "rx-m";
760		rockchip,grf = <&grf>;
761		pinctrl-names = "default";
762		pinctrl-0 = <&i2s1m0_sclktx &i2s1m0_sclkrx
763			     &i2s1m0_lrcktx &i2s1m0_lrckrx
764			     &i2s1m0_sdi0   &i2s1m0_sdi1
765			     &i2s1m0_sdi2   &i2s1m0_sdi3
766			     &i2s1m0_sdo0   &i2s1m0_sdo1
767			     &i2s1m0_sdo2   &i2s1m0_sdo3>;
768		#sound-dai-cells = <0>;
769		status = "disabled";
770	};
771
772	i2s3_2ch: i2s@fe430000 {
773		compatible = "rockchip,rk3568-i2s-tdm";
774		reg = <0x0 0xfe430000 0x0 0x1000>;
775		interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
776		clocks = <&cru MCLK_I2S3_2CH_TX>, <&cru MCLK_I2S3_2CH_RX>,
777			 <&cru HCLK_I2S3_2CH>;
778		clock-names = "mclk_tx", "mclk_rx", "hclk";
779		dmas = <&dmac1 6>, <&dmac1 7>;
780		dma-names = "tx", "rx";
781		resets = <&cru SRST_M_I2S3_2CH_TX>, <&cru SRST_M_I2S3_2CH_RX>;
782		reset-names = "tx-m", "rx-m";
783		rockchip,grf = <&grf>;
784		#sound-dai-cells = <0>;
785		status = "disabled";
786	};
787
788	pdm: pdm@fe440000 {
789		compatible = "rockchip,rk3568-pdm";
790		reg = <0x0 0xfe440000 0x0 0x1000>;
791		interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
792		clocks = <&cru MCLK_PDM>, <&cru HCLK_PDM>;
793		clock-names = "pdm_clk", "pdm_hclk";
794		dmas = <&dmac1 9>;
795		dma-names = "rx";
796		pinctrl-0 = <&pdmm0_clk
797			     &pdmm0_clk1
798			     &pdmm0_sdi0
799			     &pdmm0_sdi1
800			     &pdmm0_sdi2
801			     &pdmm0_sdi3>;
802		pinctrl-names = "default";
803		resets = <&cru SRST_M_PDM>;
804		reset-names = "pdm-m";
805		#sound-dai-cells = <0>;
806		status = "disabled";
807	};
808
809	dmac0: dma-controller@fe530000 {
810		compatible = "arm,pl330", "arm,primecell";
811		reg = <0x0 0xfe530000 0x0 0x4000>;
812		interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>,
813			     <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
814		arm,pl330-periph-burst;
815		clocks = <&cru ACLK_BUS>;
816		clock-names = "apb_pclk";
817		#dma-cells = <1>;
818	};
819
820	dmac1: dma-controller@fe550000 {
821		compatible = "arm,pl330", "arm,primecell";
822		reg = <0x0 0xfe550000 0x0 0x4000>;
823		interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
824			     <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
825		arm,pl330-periph-burst;
826		clocks = <&cru ACLK_BUS>;
827		clock-names = "apb_pclk";
828		#dma-cells = <1>;
829	};
830
831	i2c1: i2c@fe5a0000 {
832		compatible = "rockchip,rk3568-i2c", "rockchip,rk3399-i2c";
833		reg = <0x0 0xfe5a0000 0x0 0x1000>;
834		interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
835		clocks = <&cru CLK_I2C1>, <&cru PCLK_I2C1>;
836		clock-names = "i2c", "pclk";
837		pinctrl-0 = <&i2c1_xfer>;
838		pinctrl-names = "default";
839		#address-cells = <1>;
840		#size-cells = <0>;
841		status = "disabled";
842	};
843
844	i2c2: i2c@fe5b0000 {
845		compatible = "rockchip,rk3568-i2c", "rockchip,rk3399-i2c";
846		reg = <0x0 0xfe5b0000 0x0 0x1000>;
847		interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
848		clocks = <&cru CLK_I2C2>, <&cru PCLK_I2C2>;
849		clock-names = "i2c", "pclk";
850		pinctrl-0 = <&i2c2m0_xfer>;
851		pinctrl-names = "default";
852		#address-cells = <1>;
853		#size-cells = <0>;
854		status = "disabled";
855	};
856
857	i2c3: i2c@fe5c0000 {
858		compatible = "rockchip,rk3568-i2c", "rockchip,rk3399-i2c";
859		reg = <0x0 0xfe5c0000 0x0 0x1000>;
860		interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
861		clocks = <&cru CLK_I2C3>, <&cru PCLK_I2C3>;
862		clock-names = "i2c", "pclk";
863		pinctrl-0 = <&i2c3m0_xfer>;
864		pinctrl-names = "default";
865		#address-cells = <1>;
866		#size-cells = <0>;
867		status = "disabled";
868	};
869
870	i2c4: i2c@fe5d0000 {
871		compatible = "rockchip,rk3568-i2c", "rockchip,rk3399-i2c";
872		reg = <0x0 0xfe5d0000 0x0 0x1000>;
873		interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
874		clocks = <&cru CLK_I2C4>, <&cru PCLK_I2C4>;
875		clock-names = "i2c", "pclk";
876		pinctrl-0 = <&i2c4m0_xfer>;
877		pinctrl-names = "default";
878		#address-cells = <1>;
879		#size-cells = <0>;
880		status = "disabled";
881	};
882
883	i2c5: i2c@fe5e0000 {
884		compatible = "rockchip,rk3568-i2c", "rockchip,rk3399-i2c";
885		reg = <0x0 0xfe5e0000 0x0 0x1000>;
886		interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
887		clocks = <&cru CLK_I2C5>, <&cru PCLK_I2C5>;
888		clock-names = "i2c", "pclk";
889		pinctrl-0 = <&i2c5m0_xfer>;
890		pinctrl-names = "default";
891		#address-cells = <1>;
892		#size-cells = <0>;
893		status = "disabled";
894	};
895
896	wdt: watchdog@fe600000 {
897		compatible = "rockchip,rk3568-wdt", "snps,dw-wdt";
898		reg = <0x0 0xfe600000 0x0 0x100>;
899		interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>;
900		clocks = <&cru TCLK_WDT_NS>, <&cru PCLK_WDT_NS>;
901		clock-names = "tclk", "pclk";
902	};
903
904	spi0: spi@fe610000 {
905		compatible = "rockchip,rk3568-spi", "rockchip,rk3066-spi";
906		reg = <0x0 0xfe610000 0x0 0x1000>;
907		interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
908		clocks = <&cru CLK_SPI0>, <&cru PCLK_SPI0>;
909		clock-names = "spiclk", "apb_pclk";
910		dmas = <&dmac0 20>, <&dmac0 21>;
911		dma-names = "tx", "rx";
912		pinctrl-names = "default";
913		pinctrl-0 = <&spi0m0_cs0 &spi0m0_cs1 &spi0m0_pins>;
914		#address-cells = <1>;
915		#size-cells = <0>;
916		status = "disabled";
917	};
918
919	spi1: spi@fe620000 {
920		compatible = "rockchip,rk3568-spi", "rockchip,rk3066-spi";
921		reg = <0x0 0xfe620000 0x0 0x1000>;
922		interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
923		clocks = <&cru CLK_SPI1>, <&cru PCLK_SPI1>;
924		clock-names = "spiclk", "apb_pclk";
925		dmas = <&dmac0 22>, <&dmac0 23>;
926		dma-names = "tx", "rx";
927		pinctrl-names = "default";
928		pinctrl-0 = <&spi1m0_cs0 &spi1m0_cs1 &spi1m0_pins>;
929		#address-cells = <1>;
930		#size-cells = <0>;
931		status = "disabled";
932	};
933
934	spi2: spi@fe630000 {
935		compatible = "rockchip,rk3568-spi", "rockchip,rk3066-spi";
936		reg = <0x0 0xfe630000 0x0 0x1000>;
937		interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
938		clocks = <&cru CLK_SPI2>, <&cru PCLK_SPI2>;
939		clock-names = "spiclk", "apb_pclk";
940		dmas = <&dmac0 24>, <&dmac0 25>;
941		dma-names = "tx", "rx";
942		pinctrl-names = "default";
943		pinctrl-0 = <&spi2m0_cs0 &spi2m0_cs1 &spi2m0_pins>;
944		#address-cells = <1>;
945		#size-cells = <0>;
946		status = "disabled";
947	};
948
949	spi3: spi@fe640000 {
950		compatible = "rockchip,rk3568-spi", "rockchip,rk3066-spi";
951		reg = <0x0 0xfe640000 0x0 0x1000>;
952		interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
953		clocks = <&cru CLK_SPI3>, <&cru PCLK_SPI3>;
954		clock-names = "spiclk", "apb_pclk";
955		dmas = <&dmac0 26>, <&dmac0 27>;
956		dma-names = "tx", "rx";
957		pinctrl-names = "default";
958		pinctrl-0 = <&spi3m0_cs0 &spi3m0_cs1 &spi3m0_pins>;
959		#address-cells = <1>;
960		#size-cells = <0>;
961		status = "disabled";
962	};
963
964	uart1: serial@fe650000 {
965		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
966		reg = <0x0 0xfe650000 0x0 0x100>;
967		interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
968		clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>;
969		clock-names = "baudclk", "apb_pclk";
970		dmas = <&dmac0 2>, <&dmac0 3>;
971		pinctrl-0 = <&uart1m0_xfer>;
972		pinctrl-names = "default";
973		reg-io-width = <4>;
974		reg-shift = <2>;
975		status = "disabled";
976	};
977
978	uart2: serial@fe660000 {
979		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
980		reg = <0x0 0xfe660000 0x0 0x100>;
981		interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
982		clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>;
983		clock-names = "baudclk", "apb_pclk";
984		dmas = <&dmac0 4>, <&dmac0 5>;
985		pinctrl-0 = <&uart2m0_xfer>;
986		pinctrl-names = "default";
987		reg-io-width = <4>;
988		reg-shift = <2>;
989		status = "disabled";
990	};
991
992	uart3: serial@fe670000 {
993		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
994		reg = <0x0 0xfe670000 0x0 0x100>;
995		interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
996		clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>;
997		clock-names = "baudclk", "apb_pclk";
998		dmas = <&dmac0 6>, <&dmac0 7>;
999		pinctrl-0 = <&uart3m0_xfer>;
1000		pinctrl-names = "default";
1001		reg-io-width = <4>;
1002		reg-shift = <2>;
1003		status = "disabled";
1004	};
1005
1006	uart4: serial@fe680000 {
1007		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
1008		reg = <0x0 0xfe680000 0x0 0x100>;
1009		interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
1010		clocks = <&cru SCLK_UART4>, <&cru PCLK_UART4>;
1011		clock-names = "baudclk", "apb_pclk";
1012		dmas = <&dmac0 8>, <&dmac0 9>;
1013		pinctrl-0 = <&uart4m0_xfer>;
1014		pinctrl-names = "default";
1015		reg-io-width = <4>;
1016		reg-shift = <2>;
1017		status = "disabled";
1018	};
1019
1020	uart5: serial@fe690000 {
1021		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
1022		reg = <0x0 0xfe690000 0x0 0x100>;
1023		interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>;
1024		clocks = <&cru SCLK_UART5>, <&cru PCLK_UART5>;
1025		clock-names = "baudclk", "apb_pclk";
1026		dmas = <&dmac0 10>, <&dmac0 11>;
1027		pinctrl-0 = <&uart5m0_xfer>;
1028		pinctrl-names = "default";
1029		reg-io-width = <4>;
1030		reg-shift = <2>;
1031		status = "disabled";
1032	};
1033
1034	uart6: serial@fe6a0000 {
1035		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
1036		reg = <0x0 0xfe6a0000 0x0 0x100>;
1037		interrupts = <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
1038		clocks = <&cru SCLK_UART6>, <&cru PCLK_UART6>;
1039		clock-names = "baudclk", "apb_pclk";
1040		dmas = <&dmac0 12>, <&dmac0 13>;
1041		pinctrl-0 = <&uart6m0_xfer>;
1042		pinctrl-names = "default";
1043		reg-io-width = <4>;
1044		reg-shift = <2>;
1045		status = "disabled";
1046	};
1047
1048	uart7: serial@fe6b0000 {
1049		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
1050		reg = <0x0 0xfe6b0000 0x0 0x100>;
1051		interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>;
1052		clocks = <&cru SCLK_UART7>, <&cru PCLK_UART7>;
1053		clock-names = "baudclk", "apb_pclk";
1054		dmas = <&dmac0 14>, <&dmac0 15>;
1055		pinctrl-0 = <&uart7m0_xfer>;
1056		pinctrl-names = "default";
1057		reg-io-width = <4>;
1058		reg-shift = <2>;
1059		status = "disabled";
1060	};
1061
1062	uart8: serial@fe6c0000 {
1063		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
1064		reg = <0x0 0xfe6c0000 0x0 0x100>;
1065		interrupts = <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>;
1066		clocks = <&cru SCLK_UART8>, <&cru PCLK_UART8>;
1067		clock-names = "baudclk", "apb_pclk";
1068		dmas = <&dmac0 16>, <&dmac0 17>;
1069		pinctrl-0 = <&uart8m0_xfer>;
1070		pinctrl-names = "default";
1071		reg-io-width = <4>;
1072		reg-shift = <2>;
1073		status = "disabled";
1074	};
1075
1076	uart9: serial@fe6d0000 {
1077		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
1078		reg = <0x0 0xfe6d0000 0x0 0x100>;
1079		interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
1080		clocks = <&cru SCLK_UART9>, <&cru PCLK_UART9>;
1081		clock-names = "baudclk", "apb_pclk";
1082		dmas = <&dmac0 18>, <&dmac0 19>;
1083		pinctrl-0 = <&uart9m0_xfer>;
1084		pinctrl-names = "default";
1085		reg-io-width = <4>;
1086		reg-shift = <2>;
1087		status = "disabled";
1088	};
1089
1090	thermal_zones: thermal-zones {
1091		cpu_thermal: cpu-thermal {
1092			polling-delay-passive = <100>;
1093			polling-delay = <1000>;
1094
1095			thermal-sensors = <&tsadc 0>;
1096
1097			trips {
1098				cpu_alert0: cpu_alert0 {
1099					temperature = <70000>;
1100					hysteresis = <2000>;
1101					type = "passive";
1102				};
1103				cpu_alert1: cpu_alert1 {
1104					temperature = <75000>;
1105					hysteresis = <2000>;
1106					type = "passive";
1107				};
1108				cpu_crit: cpu_crit {
1109					temperature = <95000>;
1110					hysteresis = <2000>;
1111					type = "critical";
1112				};
1113			};
1114
1115			cooling-maps {
1116				map0 {
1117					trip = <&cpu_alert0>;
1118					cooling-device =
1119						<&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1120						<&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1121						<&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1122						<&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
1123				};
1124			};
1125		};
1126
1127		gpu_thermal: gpu-thermal {
1128			polling-delay-passive = <20>; /* milliseconds */
1129			polling-delay = <1000>; /* milliseconds */
1130
1131			thermal-sensors = <&tsadc 1>;
1132
1133			trips {
1134				gpu_threshold: gpu-threshold {
1135					temperature = <70000>;
1136					hysteresis = <2000>;
1137					type = "passive";
1138				};
1139				gpu_target: gpu-target {
1140					temperature = <75000>;
1141					hysteresis = <2000>;
1142					type = "passive";
1143				};
1144				gpu_crit: gpu-crit {
1145					temperature = <95000>;
1146					hysteresis = <2000>;
1147					type = "critical";
1148				};
1149			};
1150
1151			cooling-maps {
1152				map0 {
1153					trip = <&gpu_target>;
1154					cooling-device =
1155						<&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
1156				};
1157			};
1158		};
1159	};
1160
1161	tsadc: tsadc@fe710000 {
1162		compatible = "rockchip,rk3568-tsadc";
1163		reg = <0x0 0xfe710000 0x0 0x100>;
1164		interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
1165		assigned-clocks = <&cru CLK_TSADC_TSEN>, <&cru CLK_TSADC>;
1166		assigned-clock-rates = <17000000>, <700000>;
1167		clocks = <&cru CLK_TSADC>, <&cru PCLK_TSADC>;
1168		clock-names = "tsadc", "apb_pclk";
1169		resets = <&cru SRST_P_TSADC>, <&cru SRST_TSADC>,
1170			 <&cru SRST_TSADCPHY>;
1171		rockchip,grf = <&grf>;
1172		rockchip,hw-tshut-temp = <95000>;
1173		pinctrl-names = "init", "default", "sleep";
1174		pinctrl-0 = <&tsadc_pin>;
1175		pinctrl-1 = <&tsadc_shutorg>;
1176		pinctrl-2 = <&tsadc_pin>;
1177		#thermal-sensor-cells = <1>;
1178		status = "disabled";
1179	};
1180
1181	saradc: saradc@fe720000 {
1182		compatible = "rockchip,rk3568-saradc", "rockchip,rk3399-saradc";
1183		reg = <0x0 0xfe720000 0x0 0x100>;
1184		interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
1185		clocks = <&cru CLK_SARADC>, <&cru PCLK_SARADC>;
1186		clock-names = "saradc", "apb_pclk";
1187		resets = <&cru SRST_P_SARADC>;
1188		reset-names = "saradc-apb";
1189		#io-channel-cells = <1>;
1190		status = "disabled";
1191	};
1192
1193	pwm4: pwm@fe6e0000 {
1194		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
1195		reg = <0x0 0xfe6e0000 0x0 0x10>;
1196		clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
1197		clock-names = "pwm", "pclk";
1198		pinctrl-0 = <&pwm4_pins>;
1199		pinctrl-names = "default";
1200		#pwm-cells = <3>;
1201		status = "disabled";
1202	};
1203
1204	pwm5: pwm@fe6e0010 {
1205		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
1206		reg = <0x0 0xfe6e0010 0x0 0x10>;
1207		clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
1208		clock-names = "pwm", "pclk";
1209		pinctrl-0 = <&pwm5_pins>;
1210		pinctrl-names = "default";
1211		#pwm-cells = <3>;
1212		status = "disabled";
1213	};
1214
1215	pwm6: pwm@fe6e0020 {
1216		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
1217		reg = <0x0 0xfe6e0020 0x0 0x10>;
1218		clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
1219		clock-names = "pwm", "pclk";
1220		pinctrl-0 = <&pwm6_pins>;
1221		pinctrl-names = "default";
1222		#pwm-cells = <3>;
1223		status = "disabled";
1224	};
1225
1226	pwm7: pwm@fe6e0030 {
1227		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
1228		reg = <0x0 0xfe6e0030 0x0 0x10>;
1229		clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
1230		clock-names = "pwm", "pclk";
1231		pinctrl-0 = <&pwm7_pins>;
1232		pinctrl-names = "default";
1233		#pwm-cells = <3>;
1234		status = "disabled";
1235	};
1236
1237	pwm8: pwm@fe6f0000 {
1238		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
1239		reg = <0x0 0xfe6f0000 0x0 0x10>;
1240		clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>;
1241		clock-names = "pwm", "pclk";
1242		pinctrl-0 = <&pwm8m0_pins>;
1243		pinctrl-names = "default";
1244		#pwm-cells = <3>;
1245		status = "disabled";
1246	};
1247
1248	pwm9: pwm@fe6f0010 {
1249		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
1250		reg = <0x0 0xfe6f0010 0x0 0x10>;
1251		clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>;
1252		clock-names = "pwm", "pclk";
1253		pinctrl-0 = <&pwm9m0_pins>;
1254		pinctrl-names = "default";
1255		#pwm-cells = <3>;
1256		status = "disabled";
1257	};
1258
1259	pwm10: pwm@fe6f0020 {
1260		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
1261		reg = <0x0 0xfe6f0020 0x0 0x10>;
1262		clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>;
1263		clock-names = "pwm", "pclk";
1264		pinctrl-0 = <&pwm10m0_pins>;
1265		pinctrl-names = "default";
1266		#pwm-cells = <3>;
1267		status = "disabled";
1268	};
1269
1270	pwm11: pwm@fe6f0030 {
1271		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
1272		reg = <0x0 0xfe6f0030 0x0 0x10>;
1273		clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>;
1274		clock-names = "pwm", "pclk";
1275		pinctrl-0 = <&pwm11m0_pins>;
1276		pinctrl-names = "default";
1277		#pwm-cells = <3>;
1278		status = "disabled";
1279	};
1280
1281	pwm12: pwm@fe700000 {
1282		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
1283		reg = <0x0 0xfe700000 0x0 0x10>;
1284		clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>;
1285		clock-names = "pwm", "pclk";
1286		pinctrl-0 = <&pwm12m0_pins>;
1287		pinctrl-names = "default";
1288		#pwm-cells = <3>;
1289		status = "disabled";
1290	};
1291
1292	pwm13: pwm@fe700010 {
1293		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
1294		reg = <0x0 0xfe700010 0x0 0x10>;
1295		clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>;
1296		clock-names = "pwm", "pclk";
1297		pinctrl-0 = <&pwm13m0_pins>;
1298		pinctrl-names = "default";
1299		#pwm-cells = <3>;
1300		status = "disabled";
1301	};
1302
1303	pwm14: pwm@fe700020 {
1304		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
1305		reg = <0x0 0xfe700020 0x0 0x10>;
1306		clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>;
1307		clock-names = "pwm", "pclk";
1308		pinctrl-0 = <&pwm14m0_pins>;
1309		pinctrl-names = "default";
1310		#pwm-cells = <3>;
1311		status = "disabled";
1312	};
1313
1314	pwm15: pwm@fe700030 {
1315		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
1316		reg = <0x0 0xfe700030 0x0 0x10>;
1317		clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>;
1318		clock-names = "pwm", "pclk";
1319		pinctrl-0 = <&pwm15m0_pins>;
1320		pinctrl-names = "default";
1321		#pwm-cells = <3>;
1322		status = "disabled";
1323	};
1324
1325	combphy1: phy@fe830000 {
1326		compatible = "rockchip,rk3568-naneng-combphy";
1327		reg = <0x0 0xfe830000 0x0 0x100>;
1328		clocks = <&pmucru CLK_PCIEPHY1_REF>,
1329			 <&cru PCLK_PIPEPHY1>,
1330			 <&cru PCLK_PIPE>;
1331		clock-names = "ref", "apb", "pipe";
1332		assigned-clocks = <&pmucru CLK_PCIEPHY1_REF>;
1333		assigned-clock-rates = <100000000>;
1334		resets = <&cru SRST_PIPEPHY1>;
1335		rockchip,pipe-grf = <&pipegrf>;
1336		rockchip,pipe-phy-grf = <&pipe_phy_grf1>;
1337		#phy-cells = <1>;
1338		status = "disabled";
1339	};
1340
1341	combphy2: phy@fe840000 {
1342		compatible = "rockchip,rk3568-naneng-combphy";
1343		reg = <0x0 0xfe840000 0x0 0x100>;
1344		clocks = <&pmucru CLK_PCIEPHY2_REF>,
1345			 <&cru PCLK_PIPEPHY2>,
1346			 <&cru PCLK_PIPE>;
1347		clock-names = "ref", "apb", "pipe";
1348		assigned-clocks = <&pmucru CLK_PCIEPHY2_REF>;
1349		assigned-clock-rates = <100000000>;
1350		resets = <&cru SRST_PIPEPHY2>;
1351		rockchip,pipe-grf = <&pipegrf>;
1352		rockchip,pipe-phy-grf = <&pipe_phy_grf2>;
1353		#phy-cells = <1>;
1354		status = "disabled";
1355	};
1356
1357	usb2phy0: usb2phy@fe8a0000 {
1358		compatible = "rockchip,rk3568-usb2phy";
1359		reg = <0x0 0xfe8a0000 0x0 0x10000>;
1360		clocks = <&pmucru CLK_USBPHY0_REF>;
1361		clock-names = "phyclk";
1362		clock-output-names = "clk_usbphy0_480m";
1363		interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>;
1364		rockchip,usbgrf = <&usb2phy0_grf>;
1365		#clock-cells = <0>;
1366		status = "disabled";
1367
1368		usb2phy0_host: host-port {
1369			#phy-cells = <0>;
1370			status = "disabled";
1371		};
1372
1373		usb2phy0_otg: otg-port {
1374			#phy-cells = <0>;
1375			status = "disabled";
1376		};
1377	};
1378
1379	usb2phy1: usb2phy@fe8b0000 {
1380		compatible = "rockchip,rk3568-usb2phy";
1381		reg = <0x0 0xfe8b0000 0x0 0x10000>;
1382		clocks = <&pmucru CLK_USBPHY1_REF>;
1383		clock-names = "phyclk";
1384		clock-output-names = "clk_usbphy1_480m";
1385		interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
1386		rockchip,usbgrf = <&usb2phy1_grf>;
1387		#clock-cells = <0>;
1388		status = "disabled";
1389
1390		usb2phy1_host: host-port {
1391			#phy-cells = <0>;
1392			status = "disabled";
1393		};
1394
1395		usb2phy1_otg: otg-port {
1396			#phy-cells = <0>;
1397			status = "disabled";
1398		};
1399	};
1400
1401	pinctrl: pinctrl {
1402		compatible = "rockchip,rk3568-pinctrl";
1403		rockchip,grf = <&grf>;
1404		rockchip,pmu = <&pmugrf>;
1405		#address-cells = <2>;
1406		#size-cells = <2>;
1407		ranges;
1408
1409		gpio0: gpio@fdd60000 {
1410			compatible = "rockchip,gpio-bank";
1411			reg = <0x0 0xfdd60000 0x0 0x100>;
1412			interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
1413			clocks = <&pmucru PCLK_GPIO0>, <&pmucru DBCLK_GPIO0>;
1414			gpio-controller;
1415			#gpio-cells = <2>;
1416			interrupt-controller;
1417			#interrupt-cells = <2>;
1418		};
1419
1420		gpio1: gpio@fe740000 {
1421			compatible = "rockchip,gpio-bank";
1422			reg = <0x0 0xfe740000 0x0 0x100>;
1423			interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
1424			clocks = <&cru PCLK_GPIO1>, <&cru DBCLK_GPIO1>;
1425			gpio-controller;
1426			#gpio-cells = <2>;
1427			interrupt-controller;
1428			#interrupt-cells = <2>;
1429		};
1430
1431		gpio2: gpio@fe750000 {
1432			compatible = "rockchip,gpio-bank";
1433			reg = <0x0 0xfe750000 0x0 0x100>;
1434			interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
1435			clocks = <&cru PCLK_GPIO2>, <&cru DBCLK_GPIO2>;
1436			gpio-controller;
1437			#gpio-cells = <2>;
1438			interrupt-controller;
1439			#interrupt-cells = <2>;
1440		};
1441
1442		gpio3: gpio@fe760000 {
1443			compatible = "rockchip,gpio-bank";
1444			reg = <0x0 0xfe760000 0x0 0x100>;
1445			interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
1446			clocks = <&cru PCLK_GPIO3>, <&cru DBCLK_GPIO3>;
1447			gpio-controller;
1448			#gpio-cells = <2>;
1449			interrupt-controller;
1450			#interrupt-cells = <2>;
1451		};
1452
1453		gpio4: gpio@fe770000 {
1454			compatible = "rockchip,gpio-bank";
1455			reg = <0x0 0xfe770000 0x0 0x100>;
1456			interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
1457			clocks = <&cru PCLK_GPIO4>, <&cru DBCLK_GPIO4>;
1458			gpio-controller;
1459			#gpio-cells = <2>;
1460			interrupt-controller;
1461			#interrupt-cells = <2>;
1462		};
1463	};
1464};
1465
1466#include "rk3568-pinctrl.dtsi"
1467