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