xref: /rk3399_rockchip-uboot/arch/arm/dts/rk3568.dtsi (revision 7e044b9aeceaa3c07ba4dd8939761bd87f4c8300)
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (c) 2020 Rockchip Electronics Co., Ltd.
4 */
5
6#include <dt-bindings/clock/rk3568-cru.h>
7#include <dt-bindings/gpio/gpio.h>
8#include <dt-bindings/interrupt-controller/arm-gic.h>
9#include <dt-bindings/interrupt-controller/irq.h>
10#include <dt-bindings/pinctrl/rockchip.h>
11#include <dt-bindings/soc/rockchip,boot-mode.h>
12#include <dt-bindings/phy/phy.h>
13#include <dt-bindings/power/rk3568-power.h>
14
15/ {
16	compatible = "rockchip,rk3568";
17
18	interrupt-parent = <&gic>;
19	#address-cells = <2>;
20	#size-cells = <2>;
21
22	aliases {
23		dsi0 = &dsi0;
24		dsi1 = &dsi1;
25		ethernet0 = &gmac0;
26		ethernet1 = &gmac1;
27		gpio0 = &gpio0;
28		gpio1 = &gpio1;
29		gpio2 = &gpio2;
30		gpio3 = &gpio3;
31		gpio4 = &gpio4;
32		i2c0 = &i2c0;
33		i2c1 = &i2c1;
34		i2c2 = &i2c2;
35		i2c3 = &i2c3;
36		i2c4 = &i2c4;
37		i2c5 = &i2c5;
38		lvds0 = &lvds0;
39		lvds1 = &lvds1;
40		serial0 = &uart0;
41		serial1 = &uart1;
42		serial2 = &uart2;
43		serial3 = &uart3;
44		serial4 = &uart4;
45		serial5 = &uart5;
46		serial6 = &uart6;
47		serial7 = &uart7;
48		serial8 = &uart8;
49		serial9 = &uart9;
50		spi0 = &spi0;
51		spi1 = &spi1;
52		spi2 = &spi2;
53		spi3 = &spi3;
54	};
55
56	cpus {
57		#address-cells = <2>;
58		#size-cells = <0>;
59
60		cpu0: cpu@0 {
61			device_type = "cpu";
62			compatible = "arm,cortex-a55";
63			reg = <0x0 0x0>;
64			enable-method = "psci";
65			clocks = <&cru ARMCLK>;
66			operating-points-v2 = <&cpu0_opp_table>;
67		};
68
69		cpu1: cpu@100 {
70			device_type = "cpu";
71			compatible = "arm,cortex-a55";
72			reg = <0x0 0x100>;
73			enable-method = "psci";
74			clocks = <&cru ARMCLK>;
75			operating-points-v2 = <&cpu0_opp_table>;
76		};
77
78		cpu2: cpu@200 {
79			device_type = "cpu";
80			compatible = "arm,cortex-a55";
81			reg = <0x0 0x200>;
82			enable-method = "psci";
83			clocks = <&cru ARMCLK>;
84			operating-points-v2 = <&cpu0_opp_table>;
85		};
86
87		cpu3: cpu@300 {
88			device_type = "cpu";
89			compatible = "arm,cortex-a55";
90			reg = <0x0 0x300>;
91			enable-method = "psci";
92			clocks = <&cru ARMCLK>;
93			operating-points-v2 = <&cpu0_opp_table>;
94		};
95	};
96
97	cpu0_opp_table: cpu0-opp-table {
98		compatible = "operating-points-v2";
99		opp-shared;
100
101		opp-408000000 {
102			opp-hz = /bits/ 64 <408000000>;
103			opp-microvolt = <1000000 1000000 1250000>;
104			clock-latency-ns = <40000>;
105		};
106		opp-600000000 {
107			opp-hz = /bits/ 64 <600000000>;
108			opp-microvolt = <1000000 1000000 1250000>;
109			clock-latency-ns = <40000>;
110		};
111		opp-816000000 {
112			opp-hz = /bits/ 64 <816000000>;
113			opp-microvolt = <1000000 1000000 1250000>;
114			clock-latency-ns = <40000>;
115			opp-suspend;
116		};
117		opp-1008000000 {
118			opp-hz = /bits/ 64 <1008000000>;
119			opp-microvolt = <1000000 1000000 1250000>;
120			clock-latency-ns = <40000>;
121		};
122		opp-1200000000 {
123			opp-hz = /bits/ 64 <1200000000>;
124			opp-microvolt = <1000000 1000000 1250000>;
125			clock-latency-ns = <40000>;
126		};
127	};
128
129	arm-pmu {
130		compatible = "arm,cortex-a55-pmu", "arm,armv8-pmuv3";
131		interrupts = <GIC_SPI 228 IRQ_TYPE_LEVEL_HIGH>,
132			     <GIC_SPI 229 IRQ_TYPE_LEVEL_HIGH>,
133			     <GIC_SPI 230 IRQ_TYPE_LEVEL_HIGH>,
134			     <GIC_SPI 231 IRQ_TYPE_LEVEL_HIGH>;
135		interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
136	};
137
138	display_subsystem: display-subsystem {
139		compatible = "rockchip,display-subsystem";
140		ports = <&vop_out>;
141	};
142
143	mpp_srv: mpp-srv {
144		compatible = "rockchip,mpp-service";
145		rockchip,taskqueue-count = <5>;
146		rockchip,resetgroup-count = <5>;
147		status = "disabled";
148	};
149
150	psci: psci {
151		compatible = "arm,psci-1.0";
152		method = "smc";
153	};
154
155	thermal_zones: thermal-zones {
156		soc_thermal: soc-thermal {
157			polling-delay-passive = <20>; /* milliseconds */
158			polling-delay = <1000>; /* milliseconds */
159
160			thermal-sensors = <&tsadc 0>;
161			trips {
162				soc_crit: soc-crit {
163					/* millicelsius */
164					temperature = <115000>;
165					/* millicelsius */
166					hysteresis = <2000>;
167					type = "critical";
168				};
169			};
170		};
171
172		gpu_thermal: gpu-thermal {
173			polling-delay-passive = <20>; /* milliseconds */
174			polling-delay = <1000>; /* milliseconds */
175
176			thermal-sensors = <&tsadc 1>;
177		};
178	};
179
180	timer {
181		compatible = "arm,armv8-timer";
182		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
183			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
184			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
185			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
186	};
187
188	gmac0_clkin: external-gmac0-clock {
189		compatible = "fixed-clock";
190		clock-frequency = <125000000>;
191		clock-output-names = "gmac0_clkin";
192		#clock-cells = <0>;
193	};
194
195	gmac1_clkin: external-gmac1-clock {
196		compatible = "fixed-clock";
197		clock-frequency = <125000000>;
198		clock-output-names = "gmac1_clkin";
199		#clock-cells = <0>;
200	};
201
202	xin24m: xin24m {
203		compatible = "fixed-clock";
204		#clock-cells = <0>;
205		clock-frequency = <24000000>;
206		clock-output-names = "xin24m";
207	};
208
209	sata0: sata@fc000000 {
210		compatible = "snps,dwc-ahci";
211		reg = <0 0xfc000000 0 0x1000>;
212		clocks = <&cru ACLK_SATA0>, <&cru CLK_SATA0_PMALIVE>,
213			 <&cru CLK_SATA0_RXOOB>;
214		clock-names = "sata", "pmalive", "rxoob";
215		interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
216		interrupt-names = "hostc";
217		phys = <&combphy0_us PHY_TYPE_SATA>;
218		phy-names = "sata-phy";
219		ports-implemented = <0x1>;
220		power-domains = <&power RK3568_PD_PIPE>;
221		status = "disabled";
222	};
223
224	sata1: sata@fc400000 {
225		compatible = "snps,dwc-ahci";
226		reg = <0 0xfc400000 0 0x1000>;
227		clocks = <&cru ACLK_SATA1>, <&cru CLK_SATA1_PMALIVE>,
228			 <&cru CLK_SATA1_RXOOB>;
229		clock-names = "sata", "pmalive", "rxoob";
230		interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
231		interrupt-names = "hostc";
232		phys = <&combphy1_usq PHY_TYPE_SATA>;
233		phy-names = "sata-phy";
234		ports-implemented = <0x1>;
235		power-domains = <&power RK3568_PD_PIPE>;
236		status = "disabled";
237	};
238
239	sata2: sata@fc800000 {
240		compatible = "snps,dwc-ahci";
241		reg = <0 0xfc800000 0 0x1000>;
242		clocks = <&cru ACLK_SATA2>, <&cru CLK_SATA2_PMALIVE>,
243			 <&cru CLK_SATA2_RXOOB>;
244		clock-names = "sata", "pmalive", "rxoob";
245		interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
246		interrupt-names = "hostc";
247		phys = <&combphy2_psq PHY_TYPE_SATA>;
248		phy-names = "sata-phy";
249		ports-implemented = <0x1>;
250		power-domains = <&power RK3568_PD_PIPE>;
251		status = "disabled";
252	};
253
254	usbdrd30: usbdrd {
255		compatible = "rockchip,rk3568-dwc3", "rockchip,rk3399-dwc3";
256		clocks = <&cru CLK_USB3OTG0_REF>, <&cru CLK_USB3OTG0_SUSPEND>,
257			 <&cru ACLK_USB3OTG0>;
258		clock-names = "ref_clk", "suspend_clk",
259			      "bus_clk";
260		#address-cells = <2>;
261		#size-cells = <2>;
262		ranges;
263		status = "disabled";
264
265		usbdrd_dwc3: dwc3@fcc00000 {
266			compatible = "snps,dwc3";
267			reg = <0x0 0xfcc00000 0x0 0x400000>;
268			interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>;
269			dr_mode = "otg";
270			phys = <&u2phy0_otg>;
271			phy-names = "usb2-phy";
272			phy_type = "utmi_wide";
273			power-domains = <&power RK3568_PD_PIPE>;
274			resets = <&cru SRST_USB3OTG0>;
275			reset-names = "usb3-otg";
276			snps,dis_enblslpm_quirk;
277			snps,dis-u2-freeclk-exists-quirk;
278			snps,dis_u2_susphy_quirk;
279			snps,dis-del-phy-power-chg-quirk;
280			snps,dis-tx-ipgap-linecheck-quirk;
281			snps,xhci-trb-ent-quirk;
282			status = "disabled";
283		};
284	};
285
286	usbhost30: usbhost {
287		compatible = "rockchip,rk3568-dwc3", "rockchip,rk3399-dwc3";
288		clocks = <&cru CLK_USB3OTG1_REF>, <&cru CLK_USB3OTG1_SUSPEND>,
289			 <&cru ACLK_USB3OTG1>;
290		clock-names = "ref_clk", "suspend_clk",
291			      "bus_clk";
292		#address-cells = <2>;
293		#size-cells = <2>;
294		ranges;
295		status = "disabled";
296
297		usbhost_dwc3: dwc3@fd000000 {
298			compatible = "snps,dwc3";
299			reg = <0x0 0xfd000000 0x0 0x400000>;
300			interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>;
301			dr_mode = "host";
302			phys = <&u2phy0_host>;
303			phy-names = "usb2-phy";
304			phy_type = "utmi_wide";
305			power-domains = <&power RK3568_PD_PIPE>;
306			resets = <&cru SRST_USB3OTG1>;
307			reset-names = "usb3-host";
308			snps,dis_enblslpm_quirk;
309			snps,dis-u2-freeclk-exists-quirk;
310			snps,dis_u2_susphy_quirk;
311			snps,dis-del-phy-power-chg-quirk;
312			snps,dis-tx-ipgap-linecheck-quirk;
313			snps,xhci-trb-ent-quirk;
314			status = "disabled";
315		};
316	};
317
318	gic: interrupt-controller@fd400000 {
319		compatible = "arm,gic-v3";
320		#interrupt-cells = <3>;
321		#address-cells = <2>;
322		#size-cells = <2>;
323		ranges;
324		interrupt-controller;
325
326		reg = <0x0 0xfd400000 0 0x10000>, /* GICD */
327		      <0x0 0xfd460000 0 0xc0000>; /* GICR */
328		interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
329		its: interrupt-controller@fd440000 {
330			compatible = "arm,gic-v3-its";
331			msi-controller;
332			reg = <0x0 0xfd440000 0x0 0x20000>;
333			status = "disabled";
334		};
335	};
336
337	usb_host0_ehci: usb@fd800000 {
338		compatible = "generic-ehci";
339		reg = <0x0 0xfd800000 0x0 0x40000>;
340		interrupts = <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>;
341		clocks = <&cru HCLK_USB2HOST0>, <&cru HCLK_USB2HOST0_ARB>,
342			 <&cru PCLK_USB>, <&usb2phy1>;
343		clock-names = "usbhost", "arbiter", "pclk", "utmi";
344		phys = <&u2phy1_otg>;
345		phy-names = "usb2-phy";
346		status = "disabled";
347	};
348
349	usb_host0_ohci: usb@fd840000 {
350		compatible = "generic-ohci";
351		reg = <0x0 0xfd840000 0x0 0x40000>;
352		interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>;
353		clocks = <&cru HCLK_USB2HOST0>, <&cru HCLK_USB2HOST0_ARB>,
354			 <&cru PCLK_USB>, <&usb2phy1>;
355		clock-names = "usbhost", "arbiter", "pclk", "utmi";
356		phys = <&u2phy1_otg>;
357		phy-names = "usb2-phy";
358		status = "disabled";
359	};
360
361	usb_host1_ehci: usb@fd880000 {
362		compatible = "generic-ehci";
363		reg = <0x0 0xfd880000 0x0 0x40000>;
364		interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
365		clocks = <&cru HCLK_USB2HOST1>, <&cru HCLK_USB2HOST1_ARB>,
366			 <&cru PCLK_USB>, <&usb2phy1>;
367		clock-names = "usbhost", "arbiter", "pclk", "utmi";
368		phys = <&u2phy1_host>;
369		phy-names = "usb2-phy";
370		status = "disabled";
371	};
372
373	usb_host1_ohci: usb@fd8c0000 {
374		compatible = "generic-ohci";
375		reg = <0x0 0xfd8c0000 0x0 0x40000>;
376		interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>;
377		clocks = <&cru HCLK_USB2HOST1>, <&cru HCLK_USB2HOST1_ARB>,
378			 <&cru PCLK_USB>, <&usb2phy1>;
379		clock-names = "usbhost", "arbiter", "pclk", "utmi";
380		phys = <&u2phy1_host>;
381		phy-names = "usb2-phy";
382		status = "disabled";
383	};
384
385	pmugrf: syscon@fdc20000 {
386		compatible = "rockchip,rk3568-pmugrf", "syscon", "simple-mfd";
387		reg = <0x0 0xfdc20000 0x0 0x10000>;
388
389		pmu_io_domains: io-domains {
390			compatible = "rockchip,rk3568-pmu-io-voltage-domain";
391			status = "disabled";
392		};
393
394		reboot_mode: reboot-mode {
395			compatible = "syscon-reboot-mode";
396			offset = <0x200>;
397			mode-bootloader = <BOOT_BL_DOWNLOAD>;
398			mode-charge = <BOOT_CHARGING>;
399			mode-fastboot = <BOOT_FASTBOOT>;
400			mode-loader = <BOOT_BL_DOWNLOAD>;
401			mode-normal = <BOOT_NORMAL>;
402			mode-recovery = <BOOT_RECOVERY>;
403			mode-ums = <BOOT_UMS>;
404			mode-panic = <BOOT_PANIC>;
405			mode-watchdog = <BOOT_WATCHDOG>;
406		};
407	};
408
409	pipegrf: syscon@fdc50000 {
410		compatible = "rockchip,rk3568-pipegrf", "syscon";
411		reg = <0x0 0xfdc50000 0x0 0x1000>;
412	};
413
414	grf: syscon@fdc60000 {
415		compatible = "rockchip,rk3568-grf", "syscon", "simple-mfd";
416		reg = <0x0 0xfdc60000 0x0 0x10000>;
417
418		io_domains: io-domains {
419			compatible = "rockchip,rk3568-io-voltage-domain";
420			status = "disabled";
421		};
422
423		lvds0: lvds0 {
424			compatible = "rockchip,rk3568-lvds";
425			phys = <&video_phy0>;
426			phy-names = "phy";
427			status = "disabled";
428
429			ports {
430				#address-cells = <1>;
431				#size-cells = <0>;
432
433				port@0 {
434					reg = <0>;
435					#address-cells = <1>;
436					#size-cells = <0>;
437
438					lvds0_in_vp1: endpoint@0 {
439						reg = <0>;
440						remote-endpoint = <&vp1_out_lvds0>;
441					};
442
443					lvds0_in_vp2: endpoint@1 {
444						reg = <1>;
445						remote-endpoint = <&vp2_out_lvds0>;
446					};
447				};
448			};
449		};
450
451		lvds1: lvds1 {
452			compatible = "rockchip,rk3568-lvds";
453			phys = <&video_phy1>;
454			phy-names = "phy";
455			status = "disabled";
456
457			ports {
458				#address-cells = <1>;
459				#size-cells = <0>;
460
461				port@0 {
462					reg = <0>;
463					#address-cells = <1>;
464					#size-cells = <0>;
465
466					lvds1_in_vp1: endpoint@0 {
467						reg = <0>;
468						remote-endpoint = <&vp1_out_lvds1>;
469					};
470
471					lvds1_in_vp2: endpoint@1 {
472						reg = <1>;
473						remote-endpoint = <&vp2_out_lvds1>;
474					};
475				};
476			};
477		};
478
479		rgb: rgb {
480			compatible = "rockchip,rk3568-rgb";
481			pinctrl-names = "default";
482			pinctrl-0 = <&lcdc_ctl>;
483			status = "disabled";
484
485			ports {
486				#address-cells = <1>;
487				#size-cells = <0>;
488
489				port@0 {
490					reg = <0>;
491					#address-cells = <1>;
492					#size-cells = <0>;
493
494					rgb_in_vp2: endpoint@0 {
495						reg = <0>;
496						remote-endpoint = <&vp2_out_rgb>;
497					};
498				};
499
500			};
501		};
502
503	};
504
505	pipe_phy_grf0: syscon@fdc70000 {
506		compatible = "rockchip,pipe-phy-grf", "syscon";
507		reg = <0x0 0xfdc70000 0x0 0x1000>;
508	};
509
510	pipe_phy_grf1: syscon@fdc80000 {
511		compatible = "rockchip,pipe-phy-grf", "syscon";
512		reg = <0x0 0xfdc80000 0x0 0x1000>;
513	};
514
515	pipe_phy_grf2: syscon@fdc90000 {
516		compatible = "rockchip,pipe-phy-grf", "syscon";
517		reg = <0x0 0xfdc90000 0x0 0x1000>;
518	};
519
520	usb2phy0_grf: syscon@fdca0000 {
521		compatible = "rockchip,rk3568-usb2phy-grf", "syscon";
522		reg = <0x0 0xfdca0000 0x0 0x8000>;
523	};
524
525	usb2phy1_grf: syscon@fdca8000 {
526		compatible = "rockchip,rk3568-usb2phy-grf", "syscon";
527		reg = <0x0 0xfdca8000 0x0 0x8000>;
528	};
529
530	edp_phy: edp-phy@fdcb0000 {
531		compatible = "rockchip,rk3568-edp-phy";
532		reg = <0x0 0xfdcb0000 0x0 0x8000>;
533		clocks = <&pmucru XIN_OSC0_EDPPHY_G>, <&cru PCLK_EDPPHY_GRF>;
534		clock-names = "refclk", "pclk";
535		resets = <&cru SRST_P_EDPPHY_GRF>;
536		reset-names = "apb";
537		#phy-cells = <0>;
538		status = "disabled";
539	};
540
541	pcie30_phy_grf: syscon@fdcb8000 {
542		compatible = "rockchip,pcie30-phy-grf", "syscon";
543		reg = <0x0 0xfdcb8000 0x0 0x10000>;
544	};
545
546	pmucru: clock-controller@fdd00000 {
547		compatible = "rockchip,rk3568-pmucru";
548		reg = <0x0 0xfdd00000 0x0 0x1000>;
549		rockchip,grf = <&grf>;
550		#clock-cells = <1>;
551		#reset-cells = <1>;
552	};
553
554	cru: clock-controller@fdd20000 {
555		compatible = "rockchip,rk3568-cru";
556		reg = <0x0 0xfdd20000 0x0 0x1000>;
557		rockchip,grf = <&grf>;
558		#clock-cells = <1>;
559		#reset-cells = <1>;
560
561		assigned-clocks =
562			<&pmucru CLK_RTC_32K>, <&pmucru PLL_PPLL>,
563			<&pmucru PCLK_PMU>, <&cru PLL_CPLL>,
564			<&cru PLL_GPLL>, <&cru ARMCLK>,
565			<&cru ACLK_BUS>, <&cru PCLK_BUS>,
566			<&cru ACLK_TOP_HIGH>, <&cru ACLK_TOP_LOW>,
567			<&cru HCLK_TOP>, <&cru PCLK_TOP>,
568			<&cru ACLK_PERIMID>, <&cru HCLK_PERIMID>,
569			<&cru PLL_NPLL>;
570		assigned-clock-rates =
571			<32768>, <200000000>,
572			<100000000>, <1000000000>,
573			<1188000000>, <600000000>,
574			<150000000>, <100000000>,
575			<300000000>, <200000000>,
576			<150000000>, <100000000>,
577			<300000000>, <150000000>,
578			<1200000000>;
579		assigned-clock-parents =
580			<&pmucru CLK_RTC32K_FRAC>;
581	};
582
583	i2c0: i2c@fdd40000 {
584		compatible = "rockchip,rk3399-i2c";
585		reg = <0x0 0xfdd40000 0x0 0x1000>;
586		clocks = <&pmucru CLK_I2C0>, <&pmucru PCLK_I2C0>;
587		clock-names = "i2c", "pclk";
588		interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
589		pinctrl-names = "default";
590		pinctrl-0 = <&i2c0_xfer>;
591		#address-cells = <1>;
592		#size-cells = <0>;
593		status = "disabled";
594	};
595
596	uart0: serial@fdd50000 {
597		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
598		reg = <0x0 0xfdd50000 0x0 0x100>;
599		interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
600		clocks = <&pmucru SCLK_UART0>, <&pmucru PCLK_UART0>;
601		clock-names = "baudclk", "apb_pclk";
602		reg-shift = <2>;
603		reg-io-width = <4>;
604		dmas = <&dmac0 0>, <&dmac0 1>;
605		pinctrl-names = "default";
606		pinctrl-0 = <&uart0_xfer>;
607		status = "disabled";
608	};
609
610	pwm0: pwm@fdd70000 {
611		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
612		reg = <0x0 0xfdd70000 0x0 0x10>;
613		#pwm-cells = <3>;
614		pinctrl-names = "active";
615		pinctrl-0 = <&pwm0m0_pins>;
616		clocks = <&pmucru CLK_PWM0>, <&pmucru PCLK_PWM0>;
617		clock-names = "pwm", "pclk";
618		status = "disabled";
619	};
620
621	pwm1: pwm@fdd70010 {
622		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
623		reg = <0x0 0xfdd70010 0x0 0x10>;
624		#pwm-cells = <3>;
625		pinctrl-names = "active";
626		pinctrl-0 = <&pwm1m0_pins>;
627		clocks = <&pmucru CLK_PWM0>, <&pmucru PCLK_PWM0>;
628		clock-names = "pwm", "pclk";
629		status = "disabled";
630	};
631
632	pwm2: pwm@fdd70020 {
633		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
634		reg = <0x0 0xfdd70020 0x0 0x10>;
635		#pwm-cells = <3>;
636		pinctrl-names = "active";
637		pinctrl-0 = <&pwm2m0_pins>;
638		clocks = <&pmucru CLK_PWM0>, <&pmucru PCLK_PWM0>;
639		clock-names = "pwm", "pclk";
640		status = "disabled";
641	};
642
643	pwm3: pwm@fdd70030 {
644		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
645		reg = <0x0 0xfdd70030 0x0 0x10>;
646		#pwm-cells = <3>;
647		pinctrl-names = "active";
648		pinctrl-0 = <&pwm3_pins>;
649		clocks = <&pmucru CLK_PWM0>, <&pmucru PCLK_PWM0>;
650		clock-names = "pwm", "pclk";
651		status = "disabled";
652	};
653
654	pmu: power-management@fdd90000 {
655		compatible = "rockchip,rk3568-pmu", "syscon", "simple-mfd";
656		reg = <0x0 0xfdd90000 0x0 0x1000>;
657
658		power: power-controller {
659			compatible = "rockchip,rk3568-power-controller";
660			#power-domain-cells = <1>;
661			#address-cells = <1>;
662			#size-cells = <0>;
663			status = "okay";
664
665			/* These power domains are grouped by VD_NPU */
666			pd_npu@RK3568_PD_NPU {
667				reg = <RK3568_PD_NPU>;
668				clocks = <&cru ACLK_NPU_PRE>,
669					 <&cru HCLK_NPU_PRE>,
670					 <&cru PCLK_NPU_PRE>;
671				pm_qos = <&qos_npu>;
672			};
673			/* These power domains are grouped by VD_GPU */
674			pd_gpu@RK3568_PD_GPU {
675				reg = <RK3568_PD_GPU>;
676				clocks = <&cru ACLK_GPU_PRE>,
677					 <&cru PCLK_GPU_PRE>;
678				pm_qos = <&qos_gpu>;
679			};
680			/* These power domains are grouped by VD_LOGIC */
681			pd_vi@RK3568_PD_VI {
682				reg = <RK3568_PD_VI>;
683				clocks = <&cru HCLK_VI>,
684					 <&cru PCLK_VI>;
685				pm_qos = <&qos_isp>,
686					 <&qos_vicap0>,
687					 <&qos_vicap1>;
688			};
689			pd_vo@RK3568_PD_VO {
690				reg = <RK3568_PD_VO>;
691				clocks = <&cru HCLK_VO>,
692					 <&cru PCLK_VO>,
693					 <&cru ACLK_VOP_PRE>;
694				pm_qos = <&qos_hdcp>,
695					 <&qos_vop_m0>,
696					 <&qos_vop_m1>;
697			};
698			pd_rga@RK3568_PD_RGA {
699				reg = <RK3568_PD_RGA>;
700				clocks = <&cru HCLK_RGA_PRE>,
701					 <&cru PCLK_RGA_PRE>;
702				pm_qos = <&qos_ebc>,
703					 <&qos_iep>,
704					 <&qos_jpeg_dec>,
705					 <&qos_jpeg_enc>,
706					 <&qos_rga_rd>,
707					 <&qos_rga_wr>;
708			};
709			pd_vpu@RK3568_PD_VPU {
710				reg = <RK3568_PD_VPU>;
711				clocks = <&cru HCLK_VPU_PRE>;
712				pm_qos = <&qos_vpu>;
713			};
714			pd_rkvdec@RK3568_PD_RKVDEC {
715				clocks = <&cru HCLK_RKVDEC_PRE>;
716				reg = <RK3568_PD_RKVDEC>;
717				pm_qos = <&qos_rkvdec>;
718			};
719			pd_rkvenc@RK3568_PD_RKVENC {
720				reg = <RK3568_PD_RKVENC>;
721				clocks = <&cru HCLK_RKVENC_PRE>;
722				pm_qos = <&qos_rkvenc_rd_m0>,
723					 <&qos_rkvenc_rd_m1>,
724					 <&qos_rkvenc_wr_m0>;
725			};
726			pd_pipe@RK3568_PD_PIPE {
727				reg = <RK3568_PD_PIPE>;
728				clocks = <&cru PCLK_PIPE>;
729				pm_qos = <&qos_pcie2x1>,
730					 <&qos_pcie3x1>,
731					 <&qos_pcie3x2>,
732					 <&qos_sata0>,
733					 <&qos_sata1>,
734					 <&qos_sata2>,
735					 <&qos_usb3_0>,
736					 <&qos_usb3_1>;
737			};
738		};
739	};
740
741	pvtm@fde00000 {
742		compatible = "rockchip,rk3568-core-pvtm";
743		reg = <0x0 0xfde00000 0x0 0x100>;
744		#address-cells = <1>;
745		#size-cells = <0>;
746		pvtm@0 {
747			reg = <0>;
748			clocks = <&cru CLK_CORE_PVTM>, <&cru PCLK_CORE_PVTM>;
749			clock-names = "clk", "pclk";
750			resets = <&cru SRST_CORE_PVTM>, <&cru SRST_P_CORE_PVTM>;
751			reset-names = "rts", "rst-p";
752			thermal-zone = "soc-thermal";
753		};
754	};
755
756	gpu: gpu@fde60000 {
757		compatible = "arm,malit602", "arm,malit60x", "arm,malit6xx", "arm,mali-midgard";
758		reg = <0x0 0xfde60000 0x0 0x4000>;
759
760		interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>,
761			     <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
762			     <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
763		interrupt-names = "GPU", "MMU", "JOB";
764
765		upthreshold = <40>;
766		downdifferential = <10>;
767
768		clocks = <&cru CLK_GPU>;
769		clock-names = "clk_mali";
770		power-domains = <&power RK3568_PD_GPU>;
771		#cooling-cells = <2>;
772		operating-points-v2 = <&gpu_opp_table>;
773
774		status = "disabled";
775		power_model {
776			compatible = "arm,mali-simple-power-model";
777			static-coefficient = <411000>;
778			dynamic-coefficient = <733>;
779			ts = <32000 4700 (-80) 2>;
780			thermal-zone = "gpu-thermal";
781		};
782	};
783
784	gpu_opp_table: opp-table2 {
785		compatible = "operating-points-v2";
786
787		opp-200000000 {
788			opp-hz = /bits/ 64 <200000000>;
789			opp-microvolt = <1000000>;
790		};
791		opp-300000000 {
792			opp-hz = /bits/ 64 <300000000>;
793			opp-microvolt = <1000000>;
794		};
795		opp-400000000 {
796			opp-hz = /bits/ 64 <400000000>;
797			opp-microvolt = <1000000>;
798		};
799		opp-600000000 {
800			opp-hz = /bits/ 64 <600000000>;
801			opp-microvolt = <1000000>;
802		};
803	};
804
805	pvtm@fde80000 {
806		compatible = "rockchip,rk3568-gpu-pvtm";
807		reg = <0x0 0xfde80000 0x0 0x100>;
808		#address-cells = <1>;
809		#size-cells = <0>;
810		pvtm@1 {
811			reg = <1>;
812			clocks = <&cru CLK_GPU_PVTM>, <&cru PCLK_GPU_PVTM>;
813			clock-names = "clk", "pclk";
814			resets = <&cru SRST_GPU_PVTM>, <&cru SRST_P_GPU_PVTM>;
815			reset-names = "rts", "rst-p";
816			thermal-zone = "gpu-thermal";
817		};
818	};
819
820	pvtm@fde90000 {
821		compatible = "rockchip,rk3568-npu-pvtm";
822		reg = <0x0 0xfde90000 0x0 0x100>;
823		#address-cells = <1>;
824		#size-cells = <0>;
825		pvtm@2 {
826			reg = <2>;
827			clocks = <&cru CLK_NPU_PVTM>, <&cru PCLK_NPU_PVTM>,
828				 <&cru HCLK_NPU_PRE>;
829			clock-names = "clk", "pclk", "hclk";
830			resets = <&cru SRST_NPU_PVTM>, <&cru SRST_P_NPU_PVTM>;
831			reset-names = "rts", "rst-p";
832			thermal-zone = "soc-thermal";
833		};
834	};
835
836	vdpu: vdpu@fdea0400 {
837		compatible = "rockchip,vpu-decoder-v2";
838		reg = <0x0 0xfdea0400 0x0 0x400>;
839		interrupts = <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>;
840		interrupt-names = "irq_dec";
841		clocks = <&cru ACLK_VPU>, <&cru HCLK_VPU>;
842		clock-names = "aclk_vcodec", "hclk_vcodec";
843		resets = <&cru SRST_A_VPU>, <&cru SRST_H_VPU>;
844		reset-names = "video_a", "video_h";
845		iommus = <&vdpu_mmu>;
846		power-domains = <&power RK3568_PD_VPU>;
847		rockchip,srv = <&mpp_srv>;
848		rockchip,taskqueue-node = <0>;
849		rockchip,resetgroup-node = <0>;
850		status = "disabled";
851	};
852
853	vdpu_mmu: iommu@fdea0800 {
854		compatible = "rockchip,iommu-v2";
855		reg = <0x0 0xfdea0800 0x0 0x40>;
856		interrupts = <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
857		interrupt-names = "vdpu_mmu";
858		clock-names = "aclk", "iface";
859		clocks = <&cru ACLK_VPU>, <&cru HCLK_VPU>;
860		power-domains = <&power RK3568_PD_VPU>;
861		#iommu-cells = <0>;
862		status = "disabled";
863	};
864
865	rk_rga: rk_rga@fdeb0000 {
866		compatible = "rockchip,rga2";
867		reg = <0x0 0xfdeb0000 0x0 0x1000>;
868		interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
869		clocks = <&cru ACLK_RGA>, <&cru HCLK_RGA>, <&cru CLK_RGA_CORE>;
870		clock-names = "aclk_rga", "hclk_rga", "clk_rga";
871		power-domains = <&power RK3568_PD_RGA>;
872		status = "disabled";
873	};
874
875	ebc: ebc@fdec0000 {
876		compatible = "rockchip,rk3568-ebc-tcon";
877		reg = <0x0 0xfdec0000 0x0 0x5000>;
878		interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
879		clocks = <&cru HCLK_EBC>, <&cru DCLK_EBC>;
880		clock-names = "hclk", "dclk";
881		power-domains = <&power RK3568_PD_RGA>;
882		rockchip,grf = <&grf>;
883		pinctrl-names = "default";
884		pinctrl-0 = <&ebc_pins>;
885		status = "disabled";
886	};
887
888	jpegd: jpegd@fded0000 {
889		compatible = "rockchip,rkv-jpeg-decoder-v1";
890		reg = <0x0 0xfded0000 0x0 0x400>;
891		interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
892		clocks = <&cru ACLK_JDEC>, <&cru HCLK_JDEC>;
893		clock-names = "aclk_vcodec", "hclk_vcodec";
894		rockchip,normal-rates = <297000000>, <0>;
895		resets = <&cru SRST_A_JDEC>, <&cru SRST_H_JDEC>;
896		reset-names = "video_a", "video_h";
897		iommus = <&jpegd_mmu>;
898		rockchip,srv = <&mpp_srv>;
899		rockchip,taskqueue-node = <1>;
900		rockchip,resetgroup-node = <1>;
901		power-domains = <&power RK3568_PD_RGA>;
902		status = "disabled";
903	};
904
905	jpegd_mmu: iommu@fded0480 {
906		compatible = "rockchip,iommu-v2";
907		reg = <0x0 0xfded0480 0x0 0x40>;
908		interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
909		interrupt-names = "jpegd_mmu";
910		clock-names = "aclk", "iface";
911		clocks = <&cru ACLK_JDEC>, <&cru HCLK_JDEC>;
912		power-domains = <&power RK3568_PD_RGA>;
913		#iommu-cells = <0>;
914		status = "disabled";
915	};
916
917	vepu: vepu@fdee0000 {
918		compatible = "rockchip,vpu-encoder-v2";
919		reg = <0x0 0xfdee0000 0x0 0x400>;
920		interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
921		clocks = <&cru ACLK_JENC>, <&cru HCLK_JENC>;
922		clock-names = "aclk_vcodec", "hclk_vcodec";
923		rockchip,normal-rates = <297000000>, <0>;
924		resets = <&cru SRST_A_JENC>, <&cru SRST_H_JENC>;
925		reset-names = "video_a", "video_h";
926		iommus = <&vepu_mmu>;
927		rockchip,srv = <&mpp_srv>;
928		rockchip,taskqueue-node = <2>;
929		rockchip,resetgroup-node = <2>;
930		power-domains = <&power RK3568_PD_RGA>;
931		status = "disabled";
932	};
933
934	vepu_mmu: iommu@fdee0800 {
935		compatible = "rockchip,iommu-v2";
936		reg = <0x0 0xfdee0800 0x0 0x40>;
937		interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
938		interrupt-names = "vepu_mmu";
939		clock-names = "aclk", "iface";
940		clocks = <&cru ACLK_JENC>, <&cru HCLK_JENC>;
941		power-domains = <&power RK3568_PD_RGA>;
942		#iommu-cells = <0>;
943		status = "disabled";
944	};
945
946	iep: iep@fdef0000 {
947		compatible = "rockchip,iep-v2";
948		reg = <0x0 0xfdef0000 0x0 0x500>;
949		interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
950		clocks = <&cru ACLK_IEP>, <&cru HCLK_IEP>, <&cru CLK_IEP_CORE>;
951		clock-names = "aclk", "hclk", "sclk";
952		resets = <&cru SRST_A_IEP>, <&cru SRST_H_IEP>,
953			<&cru SRST_IEP_CORE>;
954		reset-names = "rst_a", "rst_h", "rst_s";
955		power-domains = <&power RK3568_PD_RGA>;
956		rockchip,srv = <&mpp_srv>;
957		rockchip,taskqueue-node = <5>;
958		rockchip,resetgroup-node = <5>;
959		iommus = <&iep_mmu>;
960		status = "disabled";
961	};
962
963	iep_mmu: iommu@fdef0800 {
964		compatible = "rockchip,iommu-v2";
965		reg = <0x0 0xfdef0800 0x0 0x100>;
966		interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
967		interrupt-names = "iep_mmu";
968		clocks = <&cru ACLK_IEP>, <&cru HCLK_IEP>;
969		clock-names = "aclk", "iface";
970		#iommu-cells = <0>;
971		power-domains = <&power RK3568_PD_RGA>;
972		//rockchip,disable-device-link-resume;
973		status = "disabled";
974	};
975
976	eink: eink@fdf00000 {
977		compatible = "rockchip,rk3568-eink-tcon";
978		reg = <0x0 0xfdf00000 0x0 0x74>;
979		interrupts = <GIC_SPI 178 IRQ_TYPE_LEVEL_HIGH>;
980		clocks = <&cru PCLK_EINK>, <&cru HCLK_EINK>;
981		clock-names = "pclk", "hclk";
982		status = "disabled";
983	};
984
985	rkvenc: rkvenc@fdf40000 {
986		compatible = "rockchip,rkv-encoder-v1";
987		reg = <0x0 0xfdf40000 0x0 0x400>;
988		interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>;
989		interrupt-names = "irq_enc";
990		clocks = <&cru ACLK_RKVENC>, <&cru HCLK_RKVENC>,
991			<&cru CLK_RKVENC_CORE>;
992		clock-names = "aclk_vcodec", "hclk_vcodec", "clk_core";
993		rockchip,normal-rates = <297000000>, <0>, <400000000>;
994		rockchip,advanced-rates = <297000000>, <0>, <500000000>;
995		rockchip,default-max-load = <2088960>;
996		resets = <&cru SRST_A_RKVENC>, <&cru SRST_H_RKVENC>,
997			<&cru SRST_RKVENC_CORE>;
998		reset-names = "video_a", "video_h", "video_core";
999		assigned-clocks = <&cru ACLK_RKVENC>, <&cru CLK_RKVENC_CORE>;
1000		assigned-clock-rates = <297000000>, <297000000>;
1001		iommus = <&rkvenc_mmu>;
1002		node-name = "rkvenc";
1003		rockchip,srv = <&mpp_srv>;
1004		rockchip,taskqueue-node = <3>;
1005		rockchip,resetgroup-node = <3>;
1006		power-domains = <&power RK3568_PD_RKVENC>;
1007		status = "disabled";
1008	};
1009
1010	rkvenc_mmu: iommu@fdf40f00 {
1011		compatible = "rockchip,iommu-v2";
1012		reg = <0x0 0xfdf40f00 0x0 0x40>, <0x0 0xfdf40f40 0x0 0x40>;
1013		interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>,
1014			<GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>;
1015		interrupt-names = "rkvenc_mmu0", "rkvenc_mmu1";
1016		clocks = <&cru ACLK_RKVENC>, <&cru HCLK_RKVENC>;
1017		clock-names = "aclk", "iface";
1018		rockchip,disable-mmu-reset;
1019		rockchip,enable-cmd-retry;
1020		#iommu-cells = <0>;
1021		power-domains = <&power RK3568_PD_RKVENC>;
1022		status = "disabled";
1023	};
1024
1025	rkvdec: rkvdec@fdf80200 {
1026		compatible = "rockchip,rkv-decoder-v2";
1027		reg = <0x0 0xfdf80200 0x0 0x400>;
1028		interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
1029		interrupt-names = "irq_dec";
1030		clocks = <&cru ACLK_RKVDEC>, <&cru HCLK_RKVDEC>,
1031			 <&cru CLK_RKVDEC_CA>, <&cru CLK_RKVDEC_CORE>,
1032			 <&cru CLK_RKVDEC_HEVC_CA>;
1033		clock-names = "aclk_vcodec", "hclk_vcodec","clk_cabac",
1034			      "clk_core", "clk_hevc_cabac";
1035		rockchip,normal-rates = <297000000>, <0>, <297000000>,
1036					<297000000>, <400000000>;
1037		rockchip,advanced-rates = <400000000>, <0>, <400000000>,
1038					<400000000>, <500000000>;
1039		rockchip,default-max-load = <2088960>;
1040		resets = <&cru SRST_A_RKVDEC>, <&cru SRST_H_RKVDEC>,
1041			 <&cru SRST_RKVDEC_CA>, <&cru SRST_RKVDEC_CORE>,
1042			 <&cru SRST_RKVDEC_HEVC_CA>;
1043		assigned-clocks = <&cru ACLK_RKVDEC>, <&cru CLK_RKVDEC_CA>,
1044				  <&cru CLK_RKVDEC_CORE>, <&cru CLK_RKVDEC_HEVC_CA>;
1045		assigned-clock-rates = <297000000>, <297000000>, <297000000>, <297000000>;
1046		reset-names = "video_a", "video_h", "video_cabac",
1047			      "video_core", "video_hevc_cabac";
1048		power-domains = <&power RK3568_PD_RKVDEC>;
1049		iommus = <&rkvdec_mmu>;
1050		rockchip,srv = <&mpp_srv>;
1051		rockchip,taskqueue-node = <4>;
1052		rockchip,resetgroup-node = <4>;
1053		status = "disabled";
1054	};
1055
1056	rkvdec_mmu: iommu@fdf80800 {
1057		compatible = "rockchip,iommu-v2";
1058		reg = <0x0 0xfdf80800 0x0 0x40>, <0x0 0xfdf80840 0x0 0x40>;
1059		interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
1060		interrupt-names = "rkvdec_mmu";
1061		clocks = <&cru ACLK_RKVDEC>, <&cru HCLK_RKVDEC>;
1062		clock-names = "aclk", "iface";
1063		power-domains = <&power RK3568_PD_RKVDEC>;
1064		#iommu-cells = <0>;
1065		status = "disabled";
1066	};
1067
1068	mipi_csi2: mipi-csi2@fdfb0000 {
1069		compatible = "rockchip,rk3568-mipi-csi2";
1070		reg = <0x0 0xfdfb0000 0x0 0x10000>;
1071		reg-names = "csihost_regs";
1072		interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
1073			     <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
1074		interrupt-names = "csi-intr1", "csi-intr2";
1075		clocks = <&cru PCLK_CSI2HOST1>, <&cru SRST_P_CSI2HOST1>;
1076		clock-names = "pclk_csi2host", "srst_csihost_p";
1077		power-domains = <&power RK3568_PD_VI>;
1078		status = "disabled";
1079	};
1080
1081	rkcif: rkcif@fdfe0000 {
1082		compatible = "rockchip,rk3568-cif";
1083		reg = <0x0 0xfdfe0000 0x0 0x8000>;
1084		reg-names = "cif_regs";
1085		interrupts = <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>;
1086		interrupt-names = "cif-intr";
1087
1088		clocks = <&cru ACLK_VICAP>, <&cru HCLK_VICAP>,
1089			 <&cru DCLK_VICAP>, <&cru ICLK_VICAP_G>;
1090		clock-names = "aclk_cif", "hclk_cif",
1091			      "dclk_cif", "iclk_cif_g";
1092		resets = <&cru SRST_A_VICAP>, <&cru SRST_H_VICAP>,
1093			 <&cru SRST_D_VICAP>, <&cru SRST_P_VICAP>,
1094			 <&cru SRST_I_VICAP>;
1095		reset-names = "rst_cif_a", "rst_cif_h",
1096			      "rst_cif_d", "rst_cif_p",
1097			      "rst_cif_i";
1098		assigned-clocks = <&cru DCLK_VICAP>;
1099		assigned-clock-rates = <300000000>;
1100		power-domains = <&power RK3568_PD_VI>;
1101		rockchip,grf = <&grf>;
1102		iommus = <&rkcif_mmu>;
1103		status = "disabled";
1104	};
1105
1106	rkcif_mmu: iommu@fdfe0800 {
1107		compatible = "rockchip,iommu";
1108		reg = <0x0 0xfdfe0800 0x0 0x100>;
1109		interrupts = <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>;
1110		interrupt-names = "cif_mmu";
1111		clocks = <&cru ACLK_VICAP>, <&cru HCLK_VICAP>;
1112		clock-names = "aclk", "iface";
1113		power-domains = <&power RK3568_PD_VI>;
1114		#iommu-cells = <0>;
1115		rockchip,disable-mmu-reset;
1116		status = "disabled";
1117	};
1118
1119	rkcif_dvp: rkcif_dvp {
1120		compatible = "rockchip,rkcif-dvp";
1121		rockchip,hw = <&rkcif>;
1122		iommus = <&rkcif_mmu>;
1123		status = "disabled";
1124	};
1125
1126	rkcif_dvp_sditf: rkcif_dvp_sditf {
1127		compatible = "rockchip,rkcif-sditf";
1128		rockchip,cif = <&rkcif_dvp>;
1129		status = "disabled";
1130	};
1131
1132	rkcif_mipi_lvds: rkcif_mipi_lvds {
1133		compatible = "rockchip,rkcif-mipi-lvds";
1134		rockchip,hw = <&rkcif>;
1135		iommus = <&rkcif_mmu>;
1136		status = "disabled";
1137	};
1138
1139	rkcif_mipi_lvds_sditf: rkcif_mipi_lvds_sditf {
1140		compatible = "rockchip,rkcif-sditf";
1141		rockchip,cif = <&rkcif_mipi_lvds>;
1142		status = "disabled";
1143	};
1144
1145	rkisp: rkisp@fdff0000 {
1146		compatible = "rockchip,rk3568-rkisp";
1147		reg = <0x0 0xfdff0000 0x0 0x10000>;
1148		interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>,
1149			     <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>,
1150			     <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
1151		interrupt-names = "mipi_irq", "mi_irq", "isp_irq";
1152		clocks = <&cru ACLK_ISP>, <&cru HCLK_ISP>, <&cru CLK_ISP>;
1153		clock-names = "aclk_isp", "hclk_isp", "clk_isp";
1154		resets = <&cru SRST_ISP>, <&cru SRST_H_ISP>;
1155		reset-names = "isp", "isp-h";
1156		rockchip,grf = <&grf>;
1157		power-domains = <&power RK3568_PD_VI>;
1158		iommus = <&rkisp_mmu>;
1159		status = "disabled";
1160	};
1161
1162	rkisp_mmu: iommu@fdff1a00 {
1163		compatible = "rockchip,iommu";
1164		reg = <0x0 0xfdff1a00 0x0 0x100>;
1165		interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
1166		interrupt-names = "isp_mmu";
1167		clocks = <&cru ACLK_ISP>, <&cru HCLK_ISP>;
1168		clock-names = "aclk", "iface";
1169		power-domains = <&power RK3568_PD_VI>;
1170		#iommu-cells = <0>;
1171		rockchip,disable-mmu-reset;
1172		status = "disabled";
1173	};
1174
1175	rkisp_vir0: rkisp-vir0 {
1176		compatible = "rockchip,rkisp-vir";
1177		rockchip,hw = <&rkisp>;
1178		status = "disabled";
1179	};
1180
1181	rkisp_vir1: rkisp-vir1 {
1182		compatible = "rockchip,rkisp-vir";
1183		rockchip,hw = <&rkisp>;
1184		status = "disabled";
1185	};
1186
1187	gmac1: ethernet@fe010000 {
1188		compatible = "rockchip,rk3568-gmac", "snps,dwmac-4.20a";
1189		reg = <0x0 0xfe010000 0x0 0x10000>;
1190		interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>,
1191			     <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
1192		interrupt-names = "macirq", "eth_wake_irq";
1193		rockchip,grf = <&grf>;
1194		clocks = <&cru SCLK_GMAC1>, <&cru SCLK_GMAC1_RX_TX>,
1195			 <&cru SCLK_GMAC1_RX_TX>, <&cru CLK_MAC1_REFOUT>,
1196			 <&cru ACLK_GMAC1>, <&cru PCLK_GMAC1>,
1197			 <&cru SCLK_GMAC1_RX_TX>, <&cru CLK_GMAC1_PTP_REF>;
1198		clock-names = "stmmaceth", "mac_clk_rx",
1199			      "mac_clk_tx", "clk_mac_refout",
1200			      "aclk_mac", "pclk_mac",
1201			      "clk_mac_speed", "ptp_ref";
1202		resets = <&cru SRST_A_GMAC1>;
1203		reset-names = "stmmaceth";
1204
1205		snps,mixed-burst;
1206		snps,tso;
1207
1208		snps,axi-config = <&gmac1_stmmac_axi_setup>;
1209		snps,mtl-rx-config = <&gmac1_mtl_rx_setup>;
1210		snps,mtl-tx-config = <&gmac1_mtl_tx_setup>;
1211		status = "disabled";
1212
1213		mdio1: mdio {
1214			compatible = "snps,dwmac-mdio";
1215			#address-cells = <0x1>;
1216			#size-cells = <0x0>;
1217		};
1218
1219		gmac1_stmmac_axi_setup: stmmac-axi-config {
1220			snps,wr_osr_lmt = <4>;
1221			snps,rd_osr_lmt = <8>;
1222			snps,blen = <0 0 0 0 16 8 4>;
1223		};
1224
1225		gmac1_mtl_rx_setup: rx-queues-config {
1226			snps,rx-queues-to-use = <1>;
1227			queue0 {};
1228		};
1229
1230		gmac1_mtl_tx_setup: tx-queues-config {
1231			snps,tx-queues-to-use = <1>;
1232			queue0 {};
1233		};
1234	};
1235
1236	vop: vop@fe040000 {
1237		compatible = "rockchip,rk3568-vop";
1238		reg = <0x0 0xfe040000 0x0 0x3000>;
1239		reg-names = "regs";
1240		rockchip,grf = <&grf>;
1241		interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
1242		clocks = <&cru ACLK_VOP>, <&cru HCLK_VOP>, <&cru DCLK_VOP0>, <&cru DCLK_VOP1>, <&cru DCLK_VOP2>;
1243		clock-names = "aclk_vop", "hclk_vop", "dclk_vp0", "dclk_vp1", "dclk_vp2";
1244		iommus = <&vop_mmu>;
1245		power-domains = <&power RK3568_PD_VO>;
1246		status = "disabled";
1247
1248		vop_out: ports {
1249			#address-cells = <1>;
1250			#size-cells = <0>;
1251
1252			port@0 {
1253				#address-cells = <1>;
1254				#size-cells = <0>;
1255				reg = <0>;
1256
1257				vp0_out_dsi0: endpoint@0 {
1258					reg = <0>;
1259					remote-endpoint = <&dsi0_in_vp0>;
1260				};
1261
1262				vp0_out_dsi1: endpoint@1 {
1263					reg = <1>;
1264					remote-endpoint = <&dsi1_in_vp0>;
1265				};
1266
1267				vp0_out_edp: endpoint@2 {
1268					reg = <2>;
1269					remote-endpoint = <&edp_in_vp0>;
1270				};
1271
1272				vp0_out_hdmi: endpoint@3 {
1273					reg = <3>;
1274					remote-endpoint = <&hdmi_in_vp0>;
1275				};
1276			};
1277
1278			port@1 {
1279				#address-cells = <1>;
1280				#size-cells = <0>;
1281				reg = <1>;
1282
1283				vp1_out_dsi0: endpoint@0 {
1284					reg = <0>;
1285					remote-endpoint = <&dsi0_in_vp1>;
1286				};
1287
1288				vp1_out_dsi1: endpoint@1 {
1289					reg = <1>;
1290					remote-endpoint = <&dsi1_in_vp1>;
1291				};
1292
1293				vp1_out_edp: endpoint@2 {
1294					reg = <2>;
1295					remote-endpoint = <&edp_in_vp1>;
1296				};
1297
1298				vp1_out_hdmi: endpoint@3 {
1299					reg = <3>;
1300					remote-endpoint = <&hdmi_in_vp1>;
1301				};
1302
1303				vp1_out_lvds0: endpoint@4 {
1304					reg = <4>;
1305					remote-endpoint = <&lvds0_in_vp1>;
1306				};
1307
1308				vp1_out_lvds1: endpoint@5 {
1309					reg = <5>;
1310					remote-endpoint = <&lvds1_in_vp1>;
1311				};
1312
1313			};
1314
1315			port@2 {
1316				#address-cells = <1>;
1317				#size-cells = <0>;
1318
1319				reg = <2>;
1320
1321				vp2_out_lvds0: endpoint@0 {
1322					reg = <0>;
1323					remote-endpoint = <&lvds0_in_vp2>;
1324				};
1325
1326				vp2_out_lvds1: endpoint@1 {
1327					reg = <1>;
1328					remote-endpoint = <&lvds1_in_vp2>;
1329				};
1330
1331				vp2_out_rgb: endpoint@2 {
1332					reg = <2>;
1333					remote-endpoint = <&rgb_in_vp2>;
1334				};
1335			};
1336		};
1337	};
1338
1339	vop_mmu: iommu@fe043e00 {
1340		compatible = "rockchip,iommu-v2";
1341		reg = <0x0 0xfe043e00 0x0 0x100>, <0x0 0xfe043f00 0x0 0x100>;
1342		interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
1343		interrupt-names = "vop_mmu";
1344		clocks = <&cru ACLK_VOP>, <&cru HCLK_VOP>;
1345		clock-names = "aclk", "iface";
1346		#iommu-cells = <0>;
1347		status = "disabled";
1348	};
1349
1350	dsi0: dsi@fe060000 {
1351		compatible = "rockchip,rk3568-mipi-dsi";
1352		reg = <0x0 0xfe060000 0x0 0x10000>;
1353		interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>;
1354		clocks = <&cru PCLK_DSITX_0>, <&cru HCLK_VO>, <&mipi_dphy0>;
1355		clock-names = "pclk", "hclk", "hs_clk";
1356		resets = <&cru SRST_P_DSITX_0>;
1357		reset-names = "apb";
1358		phys = <&mipi_dphy0>;
1359		phy-names = "mipi_dphy";
1360		power-domains = <&power RK3568_PD_VO>;
1361		rockchip,grf = <&grf>;
1362		#address-cells = <1>;
1363		#size-cells = <0>;
1364		status = "disabled";
1365
1366		ports {
1367			#address-cells = <1>;
1368			#size-cells = <0>;
1369
1370			dsi0_in: port@0 {
1371				reg = <0>;
1372				#address-cells = <1>;
1373				#size-cells = <0>;
1374
1375				dsi0_in_vp0: endpoint@0 {
1376					reg = <0>;
1377					remote-endpoint = <&vp0_out_dsi0>;
1378				};
1379
1380				dsi0_in_vp1: endpoint@1 {
1381					reg = <1>;
1382					remote-endpoint = <&vp1_out_dsi0>;
1383				};
1384			};
1385		};
1386	};
1387
1388	dsi1: dsi@fe070000 {
1389		compatible = "rockchip,rk3568-mipi-dsi";
1390		reg = <0x0 0xfe070000 0x0 0x10000>;
1391		interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
1392		clocks = <&cru PCLK_DSITX_1>, <&cru HCLK_VO>, <&mipi_dphy1>;
1393		clock-names = "pclk", "hclk", "hs_clk";
1394		resets = <&cru SRST_P_DSITX_1>;
1395		reset-names = "apb";
1396		phys = <&mipi_dphy1>;
1397		phy-names = "mipi_dphy";
1398		power-domains = <&power RK3568_PD_VO>;
1399		rockchip,grf = <&grf>;
1400		#address-cells = <1>;
1401		#size-cells = <0>;
1402		status = "disabled";
1403
1404		ports {
1405			#address-cells = <1>;
1406			#size-cells = <0>;
1407
1408			dsi1_in: port@0 {
1409				reg = <0>;
1410				#address-cells = <1>;
1411				#size-cells = <0>;
1412
1413				dsi1_in_vp0: endpoint@0 {
1414					reg = <0>;
1415					remote-endpoint = <&vp0_out_dsi1>;
1416				};
1417
1418				dsi1_in_vp1: endpoint@1 {
1419					reg = <1>;
1420					remote-endpoint = <&vp1_out_dsi1>;
1421				};
1422			};
1423		};
1424	};
1425
1426	hdmi: hdmi@fe0a0000 {
1427		compatible = "rockchip,rk3568-dw-hdmi";
1428		reg = <0x0 0xfe0a0000 0x0 0x20000>;
1429		interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
1430		clocks = <&cru PCLK_HDMI_HOST>,
1431			 <&cru CLK_HDMI_SFR>,
1432			 <&cru CLK_HDMI_CEC>,
1433			 <&pmucru PLL_HPLL>,
1434			 <&cru HCLK_VOP>;
1435		clock-names = "iahb", "isfr", "cec", "ref", "hclk";
1436		power-domains = <&power RK3568_PD_VO>;
1437		reg-io-width = <4>;
1438		rockchip,grf = <&grf>;
1439		#sound-dai-cells = <0>;
1440		pinctrl-names = "default";
1441		pinctrl-0 = <&hdmitx_scl &hdmitx_sda &hdmitxm0_cec>;
1442		status = "disabled";
1443
1444		ports {
1445			#address-cells = <1>;
1446			#size-cells = <0>;
1447
1448			hdmi_in: port {
1449				reg = <0>;
1450				#address-cells = <1>;
1451				#size-cells = <0>;
1452
1453				hdmi_in_vp0: endpoint@0 {
1454					reg = <0>;
1455					remote-endpoint = <&vp0_out_hdmi>;
1456				};
1457				hdmi_in_vp1: endpoint@1 {
1458					reg = <1>;
1459					remote-endpoint = <&vp1_out_hdmi>;
1460				};
1461			};
1462		};
1463	};
1464
1465	edp: edp@fe0c0000 {
1466		compatible = "rockchip,rk3568-edp";
1467		reg = <0x0 0xfe0c0000 0x0 0x10000>;
1468		interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>;
1469		clocks = <&pmucru XIN_OSC0_EDPPHY_G>, <&cru PCLK_EDP_CTRL>,
1470			 <&cru CLK_EDP_200M>, <&cru HCLK_VO>;
1471		clock-names = "dp", "pclk", "spdif", "hclk";
1472		resets = <&cru SRST_EDP_24M>, <&cru SRST_P_EDP_CTRL>;
1473		reset-names = "dp", "apb";
1474		phys = <&edp_phy>;
1475		phy-names = "dp";
1476		power-domains = <&power RK3568_PD_VO>;
1477		status = "disabled";
1478
1479		ports {
1480			#address-cells = <1>;
1481			#size-cells = <0>;
1482
1483			edp_in: port@0 {
1484				reg = <0>;
1485				#address-cells = <1>;
1486				#size-cells = <0>;
1487
1488				edp_in_vp0: endpoint@0 {
1489					reg = <0>;
1490					remote-endpoint = <&vp0_out_edp>;
1491				};
1492
1493				edp_in_vp1: endpoint@1 {
1494					reg = <1>;
1495					remote-endpoint = <&vp1_out_edp>;
1496				};
1497			};
1498		};
1499	};
1500
1501	qos_gpu: qos@fe128000 {
1502		compatible = "syscon";
1503		reg = <0x0 0xfe128000 0x0 0x20>;
1504	};
1505
1506	qos_rkvenc_rd_m0: qos@fe138080 {
1507		compatible = "syscon";
1508		reg = <0x0 0xfe138080 0x0 0x20>;
1509	};
1510
1511	qos_rkvenc_rd_m1: qos@fe138100 {
1512		compatible = "syscon";
1513		reg = <0x0 0xfe138100 0x0 0x20>;
1514	};
1515
1516	qos_rkvenc_wr_m0: qos@fe138180 {
1517		compatible = "syscon";
1518		reg = <0x0 0xfe138180 0x0 0x20>;
1519	};
1520
1521	qos_isp: qos@fe148000 {
1522		compatible = "syscon";
1523		reg = <0x0 0xfe148000 0x0 0x20>;
1524	};
1525
1526	qos_vicap0: qos@fe148080 {
1527		compatible = "syscon";
1528		reg = <0x0 0xfe148080 0x0 0x20>;
1529	};
1530
1531	qos_vicap1: qos@fe148100 {
1532		compatible = "syscon";
1533		reg = <0x0 0xfe148100 0x0 0x20>;
1534	};
1535
1536	qos_vpu: qos@fe150000 {
1537		compatible = "syscon";
1538		reg = <0x0 0xfe150000 0x0 0x20>;
1539	};
1540
1541	qos_ebc: qos@fe158000 {
1542		compatible = "syscon";
1543		reg = <0x0 0xfe158000 0x0 0x20>;
1544	};
1545
1546	qos_iep: qos@fe158100 {
1547		compatible = "syscon";
1548		reg = <0x0 0xfe158100 0x0 0x20>;
1549	};
1550
1551	qos_jpeg_dec: qos@fe158180 {
1552		compatible = "syscon";
1553		reg = <0x0 0xfe158180 0x0 0x20>;
1554	};
1555
1556	qos_jpeg_enc: qos@fe158200 {
1557		compatible = "syscon";
1558		reg = <0x0 0xfe158200 0x0 0x20>;
1559	};
1560
1561	qos_rga_rd: qos@fe158280 {
1562		compatible = "syscon";
1563		reg = <0x0 0xfe158280 0x0 0x20>;
1564	};
1565
1566	qos_rga_wr: qos@fe158300 {
1567		compatible = "syscon";
1568		reg = <0x0 0xfe158300 0x0 0x20>;
1569	};
1570
1571	qos_npu: qos@fe180000 {
1572		compatible = "syscon";
1573		reg = <0x0 0xfe180000 0x0 0x20>;
1574	};
1575
1576	qos_pcie2x1: qos@fe190000 {
1577		compatible = "syscon";
1578		reg = <0x0 0xfe190000 0x0 0x20>;
1579	};
1580
1581	qos_pcie3x1: qos@fe190080 {
1582		compatible = "syscon";
1583		reg = <0x0 0xfe190080 0x0 0x20>;
1584	};
1585
1586	qos_pcie3x2: qos@fe190100 {
1587		compatible = "syscon";
1588		reg = <0x0 0xfe190100 0x0 0x20>;
1589	};
1590
1591	qos_sata0: qos@fe190200 {
1592		compatible = "syscon";
1593		reg = <0x0 0xfe190200 0x0 0x20>;
1594	};
1595
1596	qos_sata1: qos@fe190280 {
1597		compatible = "syscon";
1598		reg = <0x0 0xfe190280 0x0 0x20>;
1599	};
1600
1601	qos_sata2: qos@fe190300 {
1602		compatible = "syscon";
1603		reg = <0x0 0xfe190300 0x0 0x20>;
1604	};
1605
1606	qos_usb3_0: qos@fe190380 {
1607		compatible = "syscon";
1608		reg = <0x0 0xfe190380 0x0 0x20>;
1609	};
1610
1611	qos_usb3_1: qos@fe190400 {
1612		compatible = "syscon";
1613		reg = <0x0 0xfe190400 0x0 0x20>;
1614	};
1615
1616	qos_rkvdec: qos@fe198000 {
1617		compatible = "syscon";
1618		reg = <0x0 0xfe198000 0x0 0x20>;
1619	};
1620
1621	qos_hdcp: qos@fe1a8000 {
1622		compatible = "syscon";
1623		reg = <0x0 0xfe1a8000 0x0 0x20>;
1624	};
1625
1626	qos_vop_m0: qos@fe1a8080 {
1627		compatible = "syscon";
1628		reg = <0x0 0xfe1a8080 0x0 0x20>;
1629	};
1630
1631	qos_vop_m1: qos@fe1a8100 {
1632		compatible = "syscon";
1633		reg = <0x0 0xfe1a8100 0x0 0x20>;
1634	};
1635
1636	sdmmc2: dwmmc@fe000000 {
1637		compatible = "rockchip,rk3568-dw-mshc",
1638			     "rockchip,rk3288-dw-mshc";
1639		reg = <0x0 0xfe000000 0x0 0x4000>;
1640		interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
1641		max-frequency = <150000000>;
1642		clocks = <&cru HCLK_SDMMC2>, <&cru CLK_SDMMC2>,
1643			 <&cru SCLK_SDMMC2_DRV>, <&cru SCLK_SDMMC2_SAMPLE>;
1644		clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
1645		fifo-depth = <0x100>;
1646		resets = <&cru SRST_SDMMC2>;
1647		reset-names = "reset";
1648		status = "disabled";
1649	};
1650
1651	pcie2x1: pcie@fe260000 {
1652		compatible = "rockchip,rk3568-pcie", "snps,dw-pcie";
1653		#address-cells = <3>;
1654		#size-cells = <2>;
1655		bus-range = <0x0 0x1f>;
1656		clocks = <&cru ACLK_PCIE20_MST>, <&cru ACLK_PCIE20_SLV>,
1657			 <&cru ACLK_PCIE20_DBI>, <&cru PCLK_PCIE20>;
1658		clock-names = "aclk_mst", "aclk_slv",
1659			      "aclk_dbi", "pclk";
1660		device_type = "pci";
1661		interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>,
1662			     <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>,
1663			     <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>,
1664			     <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>,
1665			     <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
1666		interrupt-names = "sys", "pmc", "msg", "legacy", "err";
1667		linux,pci-domain = <0>;
1668		num-ib-windows = <6>;
1669		num-ob-windows = <2>;
1670		max-link-speed = <2>;
1671		msi-map = <0x0 &its 0x0 0x1000>;
1672		num-lanes = <1>;
1673		phys = <&combphy2_psq PHY_TYPE_PCIE>;
1674		phy-names = "pcie-phy";
1675		power-domains = <&power RK3568_PD_PIPE>;
1676		ranges = <0x00000800 0x0 0xf4000000 0x0 0xf4000000 0x0 0x100000
1677			  0x81000000 0x0 0xf4100000 0x0 0xf4100000 0x0 0x100000
1678			  0x82000000 0x0 0xf4200000 0x0 0xf4200000 0x0 0x1e00000
1679			  0xc3000000 0x3 0x00000000 0x3 0x00000000 0x0 0x40000000>;
1680		reg = <0x3 0xc0000000 0x0 0x400000>,
1681		      <0x0 0xfe260000 0x0 0x10000>;
1682		reg-names = "pcie-dbi", "pcie-apb";
1683		resets = <&cru SRST_PCIE20_POWERUP>;
1684		reset-names = "pipe";
1685		status = "disabled";
1686	};
1687
1688	pcie3x1: pcie@fe270000 {
1689		compatible = "rockchip,rk3568-pcie", "snps,dw-pcie";
1690		#address-cells = <3>;
1691		#size-cells = <2>;
1692		bus-range = <0x0 0x1f>;
1693		clocks = <&cru ACLK_PCIE30X1_MST>, <&cru ACLK_PCIE30X1_SLV>,
1694			 <&cru ACLK_PCIE30X1_DBI>, <&cru PCLK_PCIE30X1>;
1695		clock-names = "aclk_mst", "aclk_slv",
1696			      "aclk_dbi", "pclk";
1697		device_type = "pci";
1698		interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>,
1699			     <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>,
1700			     <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>,
1701			     <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>,
1702			     <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH>;
1703		interrupt-names = "sys", "pmc", "msg", "legacy", "err";
1704		linux,pci-domain = <1>;
1705		num-ib-windows = <6>;
1706		num-ob-windows = <2>;
1707		max-link-speed = <3>;
1708		msi-map = <0x0 &its 0x3000 0x1000>;
1709		num-lanes = <1>;
1710		phys = <&pcie30phy>;
1711		phy-names = "pcie-phy";
1712		power-domains = <&power RK3568_PD_PIPE>;
1713		ranges = <0x00000800 0x0 0xf2000000 0x0 0xf2000000 0x0 0x100000
1714			  0x81000000 0x0 0xf2100000 0x0 0xf2100000 0x0 0x100000
1715			  0x82000000 0x0 0xf2200000 0x0 0xf2200000 0x0 0x1e00000
1716			  0xc3000000 0x3 0x40000000 0x3 0x40000000 0x0 0x40000000>;
1717		reg = <0x3 0xc0400000 0x0 0x400000>,
1718		      <0x0 0xfe270000 0x0 0x10000>;
1719		reg-names = "pcie-dbi", "pcie-apb";
1720		resets = <&cru SRST_PCIE30X1_POWERUP>;
1721		reset-names = "pipe";
1722		/* rockchip,bifurcation; lane1 when using 1+1 */
1723		status = "disabled";
1724	};
1725
1726	pcie3x2: pcie@fe280000 {
1727		compatible = "rockchip,rk3568-pcie", "snps,dw-pcie";
1728		#address-cells = <3>;
1729		#size-cells = <2>;
1730		bus-range = <0x0 0x1f>;
1731		clocks = <&cru ACLK_PCIE30X2_MST>, <&cru ACLK_PCIE30X2_SLV>,
1732			 <&cru ACLK_PCIE30X2_DBI>, <&cru PCLK_PCIE30X2>;
1733		clock-names = "aclk_mst", "aclk_slv",
1734			      "aclk_dbi", "pclk";
1735		device_type = "pci";
1736		interrupts = <GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>,
1737			     <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>,
1738			     <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>,
1739			     <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>,
1740			     <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>;
1741		interrupt-names = "sys", "pmc", "msg", "legacy", "err";
1742		linux,pci-domain = <2>;
1743		num-ib-windows = <6>;
1744		num-ob-windows = <2>;
1745		max-link-speed = <3>;
1746		msi-map = <0x0 &its 0x2000 0x1000>;
1747		num-lanes = <2>;
1748		phys = <&pcie30phy>;
1749		phy-names = "pcie-phy";
1750		power-domains = <&power RK3568_PD_PIPE>;
1751		ranges = <0x00000800 0x0 0xf0000000 0x0 0xf0000000 0x0 0x100000
1752			  0x81000000 0x0 0xf0100000 0x0 0xf0100000 0x0 0x100000
1753			  0x82000000 0x0 0xf0200000 0x0 0xf0200000 0x0 0x1e00000
1754			  0xc3000000 0x3 0x80000000 0x3 0x80000000 0x0 0x40000000>;
1755		reg = <0x3 0xc0800000 0x0 0x400000>,
1756		      <0x0 0xfe280000 0x0 0x10000>;
1757		reg-names = "pcie-dbi", "pcie-apb";
1758		resets = <&cru SRST_PCIE30X2_POWERUP>;
1759		reset-names = "pipe";
1760		/* rockchip,bifurcation; lane0 when using 1+1 */
1761		status = "disabled";
1762	};
1763
1764	gmac0: ethernet@fe2a0000 {
1765		compatible = "rockchip,rk3568-gmac", "snps,dwmac-4.20a";
1766		reg = <0x0 0xfe2a0000 0x0 0x10000>;
1767		interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>,
1768			     <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
1769		interrupt-names = "macirq", "eth_wake_irq";
1770		rockchip,grf = <&grf>;
1771		clocks = <&cru SCLK_GMAC0>, <&cru SCLK_GMAC0_RX_TX>,
1772			 <&cru SCLK_GMAC0_RX_TX>, <&cru CLK_MAC0_REFOUT>,
1773			 <&cru ACLK_GMAC0>, <&cru PCLK_GMAC0>,
1774			 <&cru SCLK_GMAC0_RX_TX>, <&cru CLK_GMAC0_PTP_REF>;
1775		clock-names = "stmmaceth", "mac_clk_rx",
1776			      "mac_clk_tx", "clk_mac_refout",
1777			      "aclk_mac", "pclk_mac",
1778			      "clk_mac_speed", "ptp_ref";
1779		resets = <&cru SRST_A_GMAC0>;
1780		reset-names = "stmmaceth";
1781
1782		snps,mixed-burst;
1783		snps,tso;
1784
1785		snps,axi-config = <&gmac0_stmmac_axi_setup>;
1786		snps,mtl-rx-config = <&gmac0_mtl_rx_setup>;
1787		snps,mtl-tx-config = <&gmac0_mtl_tx_setup>;
1788		status = "disabled";
1789
1790		mdio0: mdio {
1791			compatible = "snps,dwmac-mdio";
1792			#address-cells = <0x1>;
1793			#size-cells = <0x0>;
1794		};
1795
1796		gmac0_stmmac_axi_setup: stmmac-axi-config {
1797			snps,wr_osr_lmt = <4>;
1798			snps,rd_osr_lmt = <8>;
1799			snps,blen = <0 0 0 0 16 8 4>;
1800		};
1801
1802		gmac0_mtl_rx_setup: rx-queues-config {
1803			snps,rx-queues-to-use = <1>;
1804			queue0 {};
1805		};
1806
1807		gmac0_mtl_tx_setup: tx-queues-config {
1808			snps,tx-queues-to-use = <1>;
1809			queue0 {};
1810		};
1811	};
1812
1813	sdmmc0: dwmmc@fe2b0000 {
1814		compatible = "rockchip,rk3568-dw-mshc",
1815			     "rockchip,rk3288-dw-mshc";
1816		reg = <0x0 0xfe2b0000 0x0 0x4000>;
1817		interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
1818		max-frequency = <150000000>;
1819		clocks = <&cru HCLK_SDMMC0>, <&cru CLK_SDMMC0>,
1820			 <&cru SCLK_SDMMC0_DRV>, <&cru SCLK_SDMMC0_SAMPLE>;
1821		clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
1822		fifo-depth = <0x100>;
1823		resets = <&cru SRST_SDMMC0>;
1824		reset-names = "reset";
1825		pinctrl-names = "default";
1826		pinctrl-0 = <&sdmmc0_clk &sdmmc0_cmd &sdmmc0_det &sdmmc0_bus4>;
1827		status = "disabled";
1828	};
1829
1830	sdmmc1: dwmmc@fe2c0000 {
1831		compatible = "rockchip,rk3568-dw-mshc",
1832			     "rockchip,rk3288-dw-mshc";
1833		reg = <0x0 0xfe2c0000 0x0 0x4000>;
1834		interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
1835		max-frequency = <150000000>;
1836		clocks = <&cru HCLK_SDMMC1>, <&cru CLK_SDMMC1>,
1837			 <&cru SCLK_SDMMC1_DRV>, <&cru SCLK_SDMMC1_SAMPLE>;
1838		clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
1839		fifo-depth = <0x100>;
1840		resets = <&cru SRST_SDMMC1>;
1841		reset-names = "reset";
1842		status = "disabled";
1843	};
1844
1845	sfc: sfc@fe300000 {
1846		compatible = "rockchip,sfc";
1847		reg = <0x0 0xfe300000 0x0 0x4000>;
1848		interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
1849		clocks = <&cru SCLK_SFC>, <&cru HCLK_SFC>;
1850		clock-names = "clk_sfc", "hclk_sfc";
1851		assigned-clocks = <&cru SCLK_SFC>;
1852		assigned-clock-rates = <100000000>;
1853		status = "disabled";
1854	};
1855
1856	sdhci: sdhci@fe310000 {
1857		compatible = "rockchip,dwcmshc-sdhci", "snps,dwcmshc-sdhci";
1858		reg = <0x0 0xfe310000 0x0 0x10000>;
1859		max-frequency = <200000000>;
1860		interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
1861		assigned-clocks = <&cru BCLK_EMMC>, <&cru TCLK_EMMC>;
1862		assigned-clock-rates = <200000000>, <24000000>;
1863		clocks = <&cru CCLK_EMMC>, <&cru HCLK_EMMC>,
1864			 <&cru ACLK_EMMC>, <&cru BCLK_EMMC>,
1865			 <&cru TCLK_EMMC>;
1866		clock-names = "core", "bus", "axi", "block", "timer";
1867		status = "disabled";
1868	};
1869
1870	nandc0: nandc@fe330000 {
1871		compatible = "rockchip,rk-nandc";
1872		reg = <0x0 0xfe330000 0x0 0x4000>;
1873		interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
1874		nandc_id = <0>;
1875		clocks = <&cru NCLK_NANDC>, <&cru HCLK_NANDC>;
1876		clock-names = "clk_nandc", "hclk_nandc";
1877		status = "disabled";
1878	};
1879
1880	crypto: crypto@fe380000 {
1881		compatible = "rockchip,rk3568-crypto";
1882		reg = <0x0 0xfe380000 0x0 0x4000>;
1883		clocks = <&cru CLK_CRYPTO_NS_CORE>, <&cru CLK_CRYPTO_NS_PKA>;
1884		clock-names = "sclk_crypto", "apkclk_crypto";
1885		clock-frequency = <150000000>, <300000000>;
1886		status = "disabled";
1887	};
1888
1889	rng: rng@fe388000 {
1890		compatible = "rockchip,cryptov2-rng";
1891		reg = <0x0 0xfe388000 0x0 0x2000>;
1892		status = "disabled";
1893	};
1894
1895	secure_otp: secure_otp@fe3a0000 {
1896		compatible = "rockchip,rk3568-secure-otp";
1897		reg = <0x0 0xfe3a0000 0x0 0x4000>;
1898		secure_conf = <0xfdd18008>;
1899		mask_addr = <0xfe880000>;
1900		cru_rst_addr = <0xfdd20470>;
1901	};
1902
1903	i2s0_8ch: i2s@fe400000 {
1904		compatible = "rockchip,rk3568-i2s-tdm";
1905		reg = <0x0 0xfe400000 0x0 0x1000>;
1906		interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
1907		clocks = <&cru MCLK_I2S0_8CH_TX>, <&cru MCLK_I2S0_8CH_RX>, <&cru HCLK_I2S0_8CH>;
1908		clock-names = "mclk_tx", "mclk_rx", "hclk";
1909		dmas = <&dmac1 0>;
1910		dma-names = "tx";
1911		resets = <&cru SRST_M_I2S0_8CH_TX>, <&cru SRST_M_I2S0_8CH_RX>;
1912		reset-names = "tx-m", "rx-m";
1913		rockchip,cru = <&cru>;
1914		rockchip,grf = <&grf>;
1915		rockchip,playback-only;
1916		#sound-dai-cells = <0>;
1917		status = "disabled";
1918	};
1919
1920	i2s1_8ch: i2s@fe410000 {
1921		compatible = "rockchip,rk3568-i2s-tdm";
1922		reg = <0x0 0xfe410000 0x0 0x1000>;
1923		interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
1924		clocks = <&cru MCLK_I2S1_8CH_TX>, <&cru MCLK_I2S1_8CH_RX>, <&cru HCLK_I2S1_8CH>;
1925		clock-names = "mclk_tx", "mclk_rx", "hclk";
1926		dmas = <&dmac1 2>, <&dmac1 3>;
1927		dma-names = "tx", "rx";
1928		resets = <&cru SRST_M_I2S1_8CH_TX>, <&cru SRST_M_I2S1_8CH_RX>;
1929		reset-names = "tx-m", "rx-m";
1930		rockchip,cru = <&cru>;
1931		rockchip,grf = <&grf>;
1932		#sound-dai-cells = <0>;
1933		pinctrl-names = "default";
1934		pinctrl-0 = <&i2s1sclktxm0
1935			     &i2s1sclkrxm0
1936			     &i2s1lrcktxm0
1937			     &i2s1lrckrxm0
1938			     &i2s1sdi0m0
1939			     &i2s1sdi1m0
1940			     &i2s1sdi2m0
1941			     &i2s1sdi3m0
1942			     &i2s1sdo0m0
1943			     &i2s1sdo1m0
1944			     &i2s1sdo2m0
1945			     &i2s1sdo3m0>;
1946		status = "disabled";
1947	};
1948
1949	i2s2_2ch: i2s@fe420000 {
1950		compatible = "rockchip,rk3568-i2s-tdm";
1951		reg = <0x0 0xfe420000 0x0 0x1000>;
1952		interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
1953		clocks = <&cru MCLK_I2S2_2CH>, <&cru MCLK_I2S2_2CH>, <&cru HCLK_I2S2_2CH>;
1954		clock-names = "mclk_tx", "mclk_rx", "hclk";
1955		dmas = <&dmac1 4>, <&dmac1 5>;
1956		dma-names = "tx", "rx";
1957		rockchip,cru = <&cru>;
1958		rockchip,grf = <&grf>;
1959		rockchip,clk-trcm = <1>;
1960		#sound-dai-cells = <0>;
1961		pinctrl-names = "default";
1962		pinctrl-0 = <&i2s2sclktxm0
1963			     &i2s2lrcktxm0
1964			     &i2s2sdim0
1965			     &i2s2sdom0>;
1966		status = "disabled";
1967	};
1968
1969	i2s3_2ch: i2s@fe430000 {
1970		compatible = "rockchip,rk3568-i2s-tdm";
1971		reg = <0x0 0xfe430000 0x0 0x1000>;
1972		interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
1973		clocks = <&cru MCLK_I2S3_2CH_TX>, <&cru MCLK_I2S3_2CH_RX>, <&cru HCLK_I2S3_2CH>;
1974		clock-names = "mclk_tx", "mclk_rx", "hclk";
1975		dmas = <&dmac1 6>, <&dmac1 7>;
1976		dma-names = "tx", "rx";
1977		resets = <&cru SRST_M_I2S3_2CH_TX>, <&cru SRST_M_I2S3_2CH_RX>;
1978		reset-names = "tx-m", "rx-m";
1979		rockchip,cru = <&cru>;
1980		rockchip,grf = <&grf>;
1981		#sound-dai-cells = <0>;
1982		pinctrl-names = "default";
1983		pinctrl-0 = <&i2s3sclkm0
1984			     &i2s3lrckm0
1985			     &i2s3sdim0
1986			     &i2s3sdom0>;
1987		status = "disabled";
1988	};
1989
1990	pdm: pdm@fe440000 {
1991		compatible = "rockchip,rk3568-pdm", "rockchip,pdm";
1992		reg = <0x0 0xfe440000 0x0 0x1000>;
1993		clocks = <&cru MCLK_PDM>, <&cru HCLK_PDM>;
1994		clock-names = "pdm_clk", "pdm_hclk";
1995		dmas = <&dmac1 9>;
1996		dma-names = "rx";
1997		#sound-dai-cells = <0>;
1998		status = "disabled";
1999	};
2000
2001	vad: vad@fe450000 {
2002		compatible = "rockchip,rk3568-vad";
2003		reg = <0x0 0xfe450000 0x0 0x10000>;
2004		reg-names = "vad";
2005		clocks = <&cru HCLK_VAD>;
2006		clock-names = "hclk";
2007		interrupts = <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>;
2008		rockchip,audio-src = <0>;
2009		rockchip,det-channel = <0>;
2010		rockchip,mode = <0>;
2011		#sound-dai-cells = <0>;
2012		status = "disabled";
2013	};
2014
2015	spdif_8ch: spdif@fe460000 {
2016		compatible = "rockchip,rk3568-spdif";
2017		reg = <0x0 0xfe460000 0x0 0x1000>;
2018		interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
2019		dmas = <&dmac1 1>;
2020		dma-names = "tx";
2021		clock-names = "mclk", "hclk";
2022		clocks = <&cru MCLK_SPDIF_8CH>, <&cru HCLK_SPDIF_8CH>;
2023		#sound-dai-cells = <0>;
2024		pinctrl-names = "default";
2025		pinctrl-0 = <&spdifm0_pins>;
2026		status = "disabled";
2027	};
2028
2029	audpwm: audpwm@fe470000 {
2030		compatible = "rockchip,rk3568-audio-pwm", "rockchip,audio-pwm-v1";
2031		reg = <0x0 0xfe470000 0x0 0x1000>;
2032		clocks = <&cru SCLK_AUDPWM>, <&cru HCLK_AUDPWM>;
2033		clock-names = "clk", "hclk";
2034		dmas = <&dmac1 8>;
2035		dma-names = "tx";
2036		#sound-dai-cells = <0>;
2037		rockchip,sample-width-bits = <11>;
2038		rockchip,interpolat-points = <1>;
2039		status = "disabled";
2040	};
2041
2042	dig_acodec: codec-digital@fe478000 {
2043		compatible = "rockchip,rk3568-codec-digital", "rockchip,codec-digital-v1";
2044		reg = <0x0 0xfe478000 0x0 0x1000>;
2045		clocks = <&cru CLK_ACDCDIG_ADC>, <&cru CLK_ACDCDIG_DAC>,
2046			 <&cru CLK_ACDCDIG_I2C>, <&cru HCLK_ACDCDIG>;
2047		clock-names = "adc", "dac", "i2c", "pclk";
2048		pinctrl-names = "default";
2049		pinctrl-0 = <&acodec_pins>;
2050		resets = <&cru SRST_ACDCDIG>;
2051		reset-names = "reset" ;
2052		rockchip,grf = <&grf>;
2053		#sound-dai-cells = <0>;
2054		status = "disabled";
2055	};
2056
2057	dmac0: dmac@fe530000 {
2058		compatible = "arm,pl330", "arm,primecell";
2059		reg = <0x0 0xfe530000 0x0 0x4000>;
2060		interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>,
2061			     <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
2062		clocks = <&cru ACLK_BUS>;
2063		clock-names = "apb_pclk";
2064		#dma-cells = <1>;
2065		arm,pl330-periph-burst;
2066	};
2067
2068	dmac1: dmac@fe550000 {
2069		compatible = "arm,pl330", "arm,primecell";
2070		reg = <0x0 0xfe550000 0x0 0x4000>;
2071		interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
2072			     <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
2073		clocks = <&cru ACLK_BUS>;
2074		clock-names = "apb_pclk";
2075		#dma-cells = <1>;
2076		arm,pl330-periph-burst;
2077	};
2078
2079	can0: can@fe570000 {
2080		compatible = "rockchip,canfd-1.0";
2081		reg = <0x0 0xfe570000 0x0 0x1000>;
2082		interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
2083		clocks = <&cru CLK_CAN0>, <&cru PCLK_CAN0>;
2084		clock-names = "baudclk", "apb_pclk";
2085		resets = <&cru SRST_CAN0>, <&cru SRST_P_CAN0>;
2086		reset-names = "can", "can-apb";
2087		tx-fifo-depth = <1>;
2088		rx-fifo-depth = <6>;
2089		status = "disabled";
2090	};
2091
2092	can1: can@fe580000 {
2093		compatible = "rockchip,canfd-1.0";
2094		reg = <0x0 0xfe580000 0x0 0x1000>;
2095		interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
2096		clocks = <&cru CLK_CAN1>, <&cru PCLK_CAN1>;
2097		clock-names = "baudclk", "apb_pclk";
2098		resets = <&cru SRST_CAN1>, <&cru SRST_P_CAN1>;
2099		reset-names = "can", "can-apb";
2100		tx-fifo-depth = <1>;
2101		rx-fifo-depth = <6>;
2102		status = "disabled";
2103	};
2104
2105	can2: can@fe590000 {
2106		compatible = "rockchip,canfd-1.0";
2107		reg = <0x0 0xfe590000 0x0 0x1000>;
2108		interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
2109		clocks = <&cru CLK_CAN2>, <&cru PCLK_CAN2>;
2110		clock-names = "baudclk", "apb_pclk";
2111		resets = <&cru SRST_CAN2>, <&cru SRST_P_CAN2>;
2112		reset-names = "can", "can-apb";
2113		tx-fifo-depth = <1>;
2114		rx-fifo-depth = <6>;
2115		status = "disabled";
2116	};
2117
2118	i2c1: i2c@fe5a0000 {
2119		compatible = "rockchip,rk3399-i2c";
2120		reg = <0x0 0xfe5a0000 0x0 0x1000>;
2121		clocks = <&cru CLK_I2C1>, <&cru PCLK_I2C1>;
2122		clock-names = "i2c", "pclk";
2123		interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
2124		pinctrl-names = "default";
2125		pinctrl-0 = <&i2c1_xfer>;
2126		#address-cells = <1>;
2127		#size-cells = <0>;
2128		status = "disabled";
2129	};
2130
2131	i2c2: i2c@fe5b0000 {
2132		compatible = "rockchip,rk3399-i2c";
2133		reg = <0x0 0xfe5b0000 0x0 0x1000>;
2134		clocks = <&cru CLK_I2C2>, <&cru PCLK_I2C2>;
2135		clock-names = "i2c", "pclk";
2136		interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
2137		pinctrl-names = "default";
2138		pinctrl-0 = <&i2c2m0_xfer>;
2139		#address-cells = <1>;
2140		#size-cells = <0>;
2141		status = "disabled";
2142	};
2143
2144	i2c3: i2c@fe5c0000 {
2145		compatible = "rockchip,rk3399-i2c";
2146		reg = <0x0 0xfe5c0000 0x0 0x1000>;
2147		clocks = <&cru CLK_I2C3>, <&cru PCLK_I2C3>;
2148		clock-names = "i2c", "pclk";
2149		interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
2150		pinctrl-names = "default";
2151		pinctrl-0 = <&i2c3m0_xfer>;
2152		#address-cells = <1>;
2153		#size-cells = <0>;
2154		status = "disabled";
2155	};
2156
2157	i2c4: i2c@fe5d0000 {
2158		compatible = "rockchip,rk3399-i2c";
2159		reg = <0x0 0xfe5d0000 0x0 0x1000>;
2160		clocks = <&cru CLK_I2C4>, <&cru PCLK_I2C4>;
2161		clock-names = "i2c", "pclk";
2162		interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
2163		pinctrl-names = "default";
2164		pinctrl-0 = <&i2c4m0_xfer>;
2165		#address-cells = <1>;
2166		#size-cells = <0>;
2167		status = "disabled";
2168	};
2169
2170	i2c5: i2c@fe5e0000 {
2171		compatible = "rockchip,rk3399-i2c";
2172		reg = <0x0 0xfe5e0000 0x0 0x1000>;
2173		clocks = <&cru CLK_I2C5>, <&cru PCLK_I2C5>;
2174		clock-names = "i2c", "pclk";
2175		interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
2176		pinctrl-names = "default";
2177		pinctrl-0 = <&i2c5m0_xfer>;
2178		#address-cells = <1>;
2179		#size-cells = <0>;
2180		status = "disabled";
2181	};
2182
2183	wdt: watchdog@fe600000 {
2184		compatible = "snps,dw-wdt";
2185		reg = <0x0 0xfe600000 0x0 0x100>;
2186		clocks = <&cru TCLK_WDT_NS>, <&cru PCLK_WDT_NS>;
2187		clock-names = "tclk", "pclk";
2188		interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>;
2189		resets = <&cru SRST_T_WDT_NS>;
2190		reset-names = "reset";
2191		status = "okay";
2192	};
2193
2194	spi0: spi@fe610000 {
2195		compatible = "rockchip,rk3568-spi", "rockchip,rk3066-spi";
2196		reg = <0x0 0xfe610000 0x0 0x1000>;
2197		interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
2198		#address-cells = <1>;
2199		#size-cells = <0>;
2200		clocks = <&cru CLK_SPI0>, <&cru PCLK_SPI0>;
2201		clock-names = "spiclk", "apb_pclk";
2202		dmas = <&dmac0 20>, <&dmac0 21>;
2203		dma-names = "tx", "rx";
2204		pinctrl-names = "default", "high_speed";
2205		pinctrl-0 = <&spi0clkm0 &spi0cs0m0 &spi0cs1m0 &spi0misom0 &spi0mosim0>;
2206		pinctrl-1 = <&spi0clkm0_hs &spi0cs0m0 &spi0cs1m0 &spi0misom0_hs &spi0mosim0_hs>;
2207		status = "disabled";
2208	};
2209
2210	spi1: spi@fe620000 {
2211		compatible = "rockchip,rk3568-spi", "rockchip,rk3066-spi";
2212		reg = <0x0 0xfe620000 0x0 0x1000>;
2213		interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
2214		#address-cells = <1>;
2215		#size-cells = <0>;
2216		clocks = <&cru CLK_SPI1>, <&cru PCLK_SPI1>;
2217		clock-names = "spiclk", "apb_pclk";
2218		dmas = <&dmac0 22>, <&dmac0 23>;
2219		dma-names = "tx", "rx";
2220		pinctrl-names = "default", "high_speed";
2221		pinctrl-0 = <&spi1clkm0 &spi1cs0m0 &spi1cs1m0 &spi1misom0 &spi1mosim0>;
2222		pinctrl-1 = <&spi1clkm0_hs &spi1cs0m0 &spi1cs1m0 &spi1misom0_hs &spi1mosim0_hs>;
2223		status = "disabled";
2224	};
2225
2226	spi2: spi@fe630000 {
2227		compatible = "rockchip,rk3568-spi", "rockchip,rk3066-spi";
2228		reg = <0x0 0xfe630000 0x0 0x1000>;
2229		interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
2230		#address-cells = <1>;
2231		#size-cells = <0>;
2232		clocks = <&cru CLK_SPI2>, <&cru PCLK_SPI2>;
2233		clock-names = "spiclk", "apb_pclk";
2234		dmas = <&dmac0 24>, <&dmac0 25>;
2235		dma-names = "tx", "rx";
2236		pinctrl-names = "default", "high_speed";
2237		pinctrl-0 = <&spi2clkm0 &spi2cs0m0 &spi2cs1m0 &spi2misom0 &spi2mosim0>;
2238		pinctrl-1 = <&spi2clkm0_hs &spi2cs0m0 &spi2cs1m0 &spi2misom0_hs &spi2mosim0_hs>;
2239		status = "disabled";
2240	};
2241
2242	spi3: spi@fe640000 {
2243		compatible = "rockchip,rk3568-spi", "rockchip,rk3066-spi";
2244		reg = <0x0 0xfe640000 0x0 0x1000>;
2245		interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
2246		#address-cells = <1>;
2247		#size-cells = <0>;
2248		clocks = <&cru CLK_SPI3>, <&cru PCLK_SPI3>;
2249		clock-names = "spiclk", "apb_pclk";
2250		dmas = <&dmac0 26>, <&dmac0 27>;
2251		dma-names = "tx", "rx";
2252		pinctrl-names = "default", "high_speed";
2253		pinctrl-0 = <&spi3clkm0 &spi3cs0m0 &spi3cs1m0 &spi3misom0 &spi3mosim0>;
2254		pinctrl-1 = <&spi3clkm0_hs &spi3cs0m0 &spi3cs1m0 &spi3misom0_hs &spi3mosim0_hs>;
2255		status = "disabled";
2256	};
2257
2258	uart1: serial@fe650000 {
2259		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
2260		reg = <0x0 0xfe650000 0x0 0x100>;
2261		interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
2262		clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>;
2263		clock-names = "baudclk", "apb_pclk";
2264		reg-shift = <2>;
2265		reg-io-width = <4>;
2266		dmas = <&dmac0 2>, <&dmac0 3>;
2267		pinctrl-names = "default";
2268		pinctrl-0 = <&uart1m0_xfer>;
2269		status = "disabled";
2270	};
2271
2272	uart2: serial@fe660000 {
2273		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
2274		reg = <0x0 0xfe660000 0x0 0x100>;
2275		interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
2276		clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>;
2277		clock-names = "baudclk", "apb_pclk";
2278		reg-shift = <2>;
2279		reg-io-width = <4>;
2280		dmas = <&dmac0 4>, <&dmac0 5>;
2281		pinctrl-names = "default";
2282		pinctrl-0 = <&uart2m0_xfer>;
2283		status = "disabled";
2284	};
2285
2286	uart3: serial@fe670000 {
2287		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
2288		reg = <0x0 0xfe670000 0x0 0x100>;
2289		interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
2290		clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>;
2291		clock-names = "baudclk", "apb_pclk";
2292		reg-shift = <2>;
2293		reg-io-width = <4>;
2294		dmas = <&dmac0 6>, <&dmac0 7>;
2295		pinctrl-names = "default";
2296		pinctrl-0 = <&uart3m0_xfer>;
2297		status = "disabled";
2298	};
2299
2300	uart4: serial@fe680000 {
2301		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
2302		reg = <0x0 0xfe680000 0x0 0x100>;
2303		interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
2304		clocks = <&cru SCLK_UART4>, <&cru PCLK_UART4>;
2305		clock-names = "baudclk", "apb_pclk";
2306		reg-shift = <2>;
2307		reg-io-width = <4>;
2308		dmas = <&dmac0 8>, <&dmac0 9>;
2309		pinctrl-names = "default";
2310		pinctrl-0 = <&uart4m0_xfer>;
2311		status = "disabled";
2312	};
2313
2314	uart5: serial@fe690000 {
2315		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
2316		reg = <0x0 0xfe690000 0x0 0x100>;
2317		interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>;
2318		clocks = <&cru SCLK_UART5>, <&cru PCLK_UART5>;
2319		clock-names = "baudclk", "apb_pclk";
2320		reg-shift = <2>;
2321		reg-io-width = <4>;
2322		dmas = <&dmac0 10>, <&dmac0 11>;
2323		pinctrl-names = "default";
2324		pinctrl-0 = <&uart5m0_xfer>;
2325		status = "disabled";
2326	};
2327
2328	uart6: serial@fe6a0000 {
2329		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
2330		reg = <0x0 0xfe6a0000 0x0 0x100>;
2331		interrupts = <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
2332		clocks = <&cru SCLK_UART6>, <&cru PCLK_UART6>;
2333		clock-names = "baudclk", "apb_pclk";
2334		reg-shift = <2>;
2335		reg-io-width = <4>;
2336		dmas = <&dmac0 12>, <&dmac0 13>;
2337		pinctrl-names = "default";
2338		pinctrl-0 = <&uart6m0_xfer>;
2339		status = "disabled";
2340	};
2341
2342	uart7: serial@fe6b0000 {
2343		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
2344		reg = <0x0 0xfe6b0000 0x0 0x100>;
2345		interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>;
2346		clocks = <&cru SCLK_UART7>, <&cru PCLK_UART7>;
2347		clock-names = "baudclk", "apb_pclk";
2348		reg-shift = <2>;
2349		reg-io-width = <4>;
2350		dmas = <&dmac0 14>, <&dmac0 15>;
2351		pinctrl-names = "default";
2352		pinctrl-0 = <&uart7m0_xfer>;
2353		status = "disabled";
2354	};
2355
2356	uart8: serial@fe6c0000 {
2357		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
2358		reg = <0x0 0xfe6c0000 0x0 0x100>;
2359		interrupts = <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>;
2360		clocks = <&cru SCLK_UART8>, <&cru PCLK_UART8>;
2361		clock-names = "baudclk", "apb_pclk";
2362		reg-shift = <2>;
2363		reg-io-width = <4>;
2364		dmas = <&dmac0 16>, <&dmac0 17>;
2365		pinctrl-names = "default";
2366		pinctrl-0 = <&uart8m0_xfer>;
2367		status = "disabled";
2368	};
2369
2370	uart9: serial@fe6d0000 {
2371		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
2372		reg = <0x0 0xfe6d0000 0x0 0x100>;
2373		interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
2374		clocks = <&cru SCLK_UART9>, <&cru PCLK_UART9>;
2375		clock-names = "baudclk", "apb_pclk";
2376		reg-shift = <2>;
2377		reg-io-width = <4>;
2378		dmas = <&dmac0 18>, <&dmac0 19>;
2379		pinctrl-names = "default";
2380		pinctrl-0 = <&uart9m0_xfer>;
2381		status = "disabled";
2382	};
2383
2384	pwm4: pwm@fe6e0000 {
2385		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
2386		reg = <0x0 0xfe6e0000 0x0 0x10>;
2387		#pwm-cells = <3>;
2388		pinctrl-names = "active";
2389		pinctrl-0 = <&pwm4_pins>;
2390		clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
2391		clock-names = "pwm", "pclk";
2392		status = "disabled";
2393	};
2394
2395	pwm5: pwm@fe6e0010 {
2396		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
2397		reg = <0x0 0xfe6e0010 0x0 0x10>;
2398		#pwm-cells = <3>;
2399		pinctrl-names = "active";
2400		pinctrl-0 = <&pwm5_pins>;
2401		clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
2402		clock-names = "pwm", "pclk";
2403		status = "disabled";
2404	};
2405
2406	pwm6: pwm@fe6e0020 {
2407		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
2408		reg = <0x0 0xfe6e0020 0x0 0x10>;
2409		#pwm-cells = <3>;
2410		pinctrl-names = "active";
2411		pinctrl-0 = <&pwm6_pins>;
2412		clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
2413		clock-names = "pwm", "pclk";
2414		status = "disabled";
2415	};
2416
2417	pwm7: pwm@fe6e0030 {
2418		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
2419		reg = <0x0 0xfe6e0030 0x0 0x10>;
2420		#pwm-cells = <3>;
2421		pinctrl-names = "active";
2422		pinctrl-0 = <&pwm7_pins>;
2423		clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
2424		clock-names = "pwm", "pclk";
2425		status = "disabled";
2426	};
2427
2428	pwm8: pwm@fe6f0000 {
2429		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
2430		reg = <0x0 0xfe6f0000 0x0 0x10>;
2431		#pwm-cells = <3>;
2432		pinctrl-names = "active";
2433		pinctrl-0 = <&pwm8m0_pins>;
2434		clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>;
2435		clock-names = "pwm", "pclk";
2436		status = "disabled";
2437	};
2438
2439	pwm9: pwm@fe6f0010 {
2440		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
2441		reg = <0x0 0xfe6f0010 0x0 0x10>;
2442		#pwm-cells = <3>;
2443		pinctrl-names = "active";
2444		pinctrl-0 = <&pwm9m0_pins>;
2445		clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>;
2446		clock-names = "pwm", "pclk";
2447		status = "disabled";
2448	};
2449
2450	pwm10: pwm@fe6f0020 {
2451		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
2452		reg = <0x0 0xfe6f0020 0x0 0x10>;
2453		#pwm-cells = <3>;
2454		pinctrl-names = "active";
2455		pinctrl-0 = <&pwm10m0_pins>;
2456		clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>;
2457		clock-names = "pwm", "pclk";
2458		status = "disabled";
2459	};
2460
2461	pwm11: pwm@fe6f0030 {
2462		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
2463		reg = <0x0 0xfe6f0030 0x0 0x10>;
2464		#pwm-cells = <3>;
2465		pinctrl-names = "active";
2466		pinctrl-0 = <&pwm11m0_pins>;
2467		clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>;
2468		clock-names = "pwm", "pclk";
2469		status = "disabled";
2470	};
2471
2472	pwm12: pwm@fe700000 {
2473		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
2474		reg = <0x0 0xfe700000 0x0 0x10>;
2475		#pwm-cells = <3>;
2476		pinctrl-names = "active";
2477		pinctrl-0 = <&pwm12m0_pins>;
2478		clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>;
2479		clock-names = "pwm", "pclk";
2480		status = "disabled";
2481	};
2482
2483	pwm13: pwm@fe700010 {
2484		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
2485		reg = <0x0 0xfe700010 0x0 0x10>;
2486		#pwm-cells = <3>;
2487		pinctrl-names = "active";
2488		pinctrl-0 = <&pwm13m0_pins>;
2489		clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>;
2490		clock-names = "pwm", "pclk";
2491		status = "disabled";
2492	};
2493
2494	pwm14: pwm@fe700020 {
2495		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
2496		reg = <0x0 0xfe700020 0x0 0x10>;
2497		#pwm-cells = <3>;
2498		pinctrl-names = "active";
2499		pinctrl-0 = <&pwm14m0_pins>;
2500		clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>;
2501		clock-names = "pwm", "pclk";
2502		status = "disabled";
2503	};
2504
2505	pwm15: pwm@fe700030 {
2506		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
2507		reg = <0x0 0xfe700030 0x0 0x10>;
2508		#pwm-cells = <3>;
2509		pinctrl-names = "active";
2510		pinctrl-0 = <&pwm15m0_pins>;
2511		clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>;
2512		clock-names = "pwm", "pclk";
2513		status = "disabled";
2514	};
2515
2516	tsadc: tsadc@fe710000 {
2517		compatible = "rockchip,rk3568-tsadc";
2518		reg = <0x0 0xfe710000 0x0 0x100>;
2519		interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
2520		rockchip,grf = <&grf>;
2521		clocks = <&cru CLK_TSADC>, <&cru PCLK_TSADC>;
2522		clock-names = "tsadc", "apb_pclk";
2523		assigned-clocks = <&cru CLK_TSADC_TSEN>, <&cru CLK_TSADC>;
2524		assigned-clock-rates = <17000000>, <700000>;
2525		resets = <&cru SRST_TSADC>, <&cru SRST_P_TSADC>,
2526			 <&cru SRST_TSADCPHY>;
2527		reset-names = "tsadc", "tsadc-apb", "tsadc-phy";
2528		#thermal-sensor-cells = <1>;
2529		rockchip,hw-tshut-temp = <120000>;
2530		rockchip,hw-tshut-mode = <1>; /* tshut mode 0:CRU 1:GPIO */
2531		rockchip,hw-tshut-polarity = <0>; /* tshut polarity 0:LOW 1:HIGH */
2532		pinctrl-names = "gpio", "otpout";
2533		pinctrl-0 = <&tsadc_gpio>;
2534		pinctrl-1 = <&tsadc_shutorg>;
2535		status = "disabled";
2536	};
2537
2538	saradc: saradc@fe720000 {
2539		compatible = "rockchip,rk3568-saradc", "rockchip,rk3399-saradc";
2540		reg = <0x0 0xfe720000 0x0 0x100>;
2541		interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
2542		#io-channel-cells = <1>;
2543		clocks = <&cru CLK_SARADC>, <&cru PCLK_SARADC>;
2544		clock-names = "saradc", "apb_pclk";
2545		resets = <&cru SRST_P_SARADC>;
2546		reset-names = "saradc-apb";
2547		status = "disabled";
2548	};
2549
2550	mailbox: mailbox@fe780000 {
2551		compatible = "rockchip,rk3568-mailbox",
2552			     "rockchip,rk3368-mailbox";
2553		reg = <0x0 0xfe780000 0x0 0x1000>;
2554		interrupts = <GIC_SPI 183 IRQ_TYPE_LEVEL_HIGH>,
2555			     <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>,
2556			     <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>,
2557			     <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>;
2558		clocks = <&cru PCLK_MAILBOX>;
2559		clock-names = "pclk_mailbox";
2560		#mbox-cells = <1>;
2561		status = "disabled";
2562	};
2563
2564	combphy0_us: phy@fe820000 {
2565		compatible = "rockchip,rk3568-naneng-combphy";
2566		reg = <0x0 0xfe820000 0x0 0x100>;
2567		#phy-cells = <1>;
2568		clocks = <&pmucru CLK_PCIEPHY0_REF>, <&cru PCLK_PIPEPHY0>;
2569		clock-names = "refclk", "apbclk";
2570		assigned-clocks = <&pmucru CLK_PCIEPHY0_REF>;
2571		assigned-clock-rates = <24000000>;
2572		resets = <&cru SRST_P_PIPEPHY0>, <&cru SRST_PIPEPHY0>;
2573		reset-names = "combphy-apb", "combphy";
2574		rockchip,pipe-grf = <&pipegrf>;
2575		rockchip,pipe-phy-grf = <&pipe_phy_grf0>;
2576		status = "disabled";
2577	};
2578
2579	combphy1_usq: phy@fe830000 {
2580		compatible = "rockchip,rk3568-naneng-combphy";
2581		reg = <0x0 0xfe830000 0x0 0x100>;
2582		#phy-cells = <1>;
2583		clocks = <&pmucru CLK_PCIEPHY1_REF>, <&cru PCLK_PIPEPHY1>;
2584		clock-names = "refclk", "apbclk";
2585		assigned-clocks = <&pmucru CLK_PCIEPHY1_REF>;
2586		assigned-clock-rates = <24000000>;
2587		resets = <&cru SRST_P_PIPEPHY1>, <&cru SRST_PIPEPHY1>;
2588		reset-names = "combphy-apb", "combphy";
2589		rockchip,pipe-grf = <&pipegrf>;
2590		rockchip,pipe-phy-grf = <&pipe_phy_grf1>;
2591		status = "disabled";
2592	};
2593
2594	combphy2_psq: phy@fe840000 {
2595		compatible = "rockchip,rk3568-naneng-combphy";
2596		reg = <0x0 0xfe840000 0x0 0x100>;
2597		#phy-cells = <1>;
2598		clocks = <&pmucru CLK_PCIEPHY2_REF>, <&cru PCLK_PIPEPHY2>;
2599		clock-names = "refclk", "apbclk";
2600		assigned-clocks = <&pmucru CLK_PCIEPHY2_REF>;
2601		assigned-clock-rates = <24000000>;
2602		resets = <&cru SRST_P_PIPEPHY2>, <&cru SRST_PIPEPHY2>;
2603		reset-names = "combphy-apb", "combphy";
2604		rockchip,pipe-grf = <&pipegrf>;
2605		rockchip,pipe-phy-grf = <&pipe_phy_grf2>;
2606		status = "disabled";
2607	};
2608
2609	mipi_dphy0: mipi-dphy@fe850000 {
2610		compatible = "rockchip,rk3568-mipi-dphy";
2611		reg = <0x0 0xfe850000 0x0 0x10000>;
2612		clocks = <&pmucru CLK_MIPIDSIPHY0_REF>, <&cru PCLK_MIPIDSIPHY0>;
2613		clock-names = "ref", "pclk";
2614		clock-output-names = "mipi_dphy_pll";
2615		#clock-cells = <0>;
2616		resets = <&cru SRST_P_MIPIDSIPHY0>;
2617		reset-names = "apb";
2618		power-domains = <&power RK3568_PD_VO>;
2619		#phy-cells = <0>;
2620		rockchip,grf = <&grf>;
2621		status = "disabled";
2622	};
2623
2624	video_phy0: video-phy@fe850000 {
2625		compatible = "rockchip,rk3568-video-phy";
2626		reg = <0x0 0xfe850000  0x0 0x10000>,
2627		      <0x0 0xfe060000 0x0 0x10000>;
2628		clocks = <&pmucru CLK_MIPIDSIPHY0_REF>,
2629			 <&cru PCLK_MIPIDSIPHY0>, <&cru PCLK_DSITX_0>;
2630		clock-names = "ref", "pclk_phy", "pclk_host";
2631		#clock-cells = <0>;
2632		resets = <&cru SRST_P_MIPIDSIPHY0>;
2633		reset-names = "rst";
2634		power-domains = <&power RK3568_PD_VO>;
2635		#phy-cells = <0>;
2636		status = "disabled";
2637	};
2638
2639	mipi_dphy1: mipi-dphy@fe860000 {
2640		compatible = "rockchip,rk3568-mipi-dphy";
2641		reg = <0x0 0xfe860000 0x0 0x10000>;
2642		clocks = <&pmucru CLK_MIPIDSIPHY1_REF>, <&cru PCLK_MIPIDSIPHY1>;
2643		clock-names = "ref", "pclk";
2644		clock-output-names = "mipi_dphy1_pll";
2645		#clock-cells = <0>;
2646		resets = <&cru SRST_P_MIPIDSIPHY1>;
2647		reset-names = "apb";
2648		power-domains = <&power RK3568_PD_VO>;
2649		#phy-cells = <0>;
2650		rockchip,grf = <&grf>;
2651		status = "disabled";
2652	};
2653
2654	video_phy1: video-phy@fe860000 {
2655		compatible = "rockchip,rk3568-video-phy";
2656		reg = <0x0 0xfe860000 0x0 0x10000>,
2657		      <0x0 0xfe070000 0x0 0x10000>;
2658		clocks = <&pmucru CLK_MIPIDSIPHY1_REF>,
2659			 <&cru PCLK_MIPIDSIPHY1>, <&cru PCLK_DSITX_1>;
2660		clock-names = "ref", "pclk_phy", "pclk_host";
2661		#clock-cells = <0>;
2662		resets = <&cru SRST_P_MIPIDSIPHY1>;
2663		reset-names = "rst";
2664		power-domains = <&power RK3568_PD_VO>;
2665		#phy-cells = <0>;
2666		status = "disabled";
2667	};
2668
2669	csi_dphy: csi-dphy@fe870000 {
2670		compatible = "rockchip,rk3568-csi-dphy";
2671		reg = <0x0 0xfe870000 0x0 0x1000>;
2672		clocks = <&cru PCLK_MIPICSIPHY>;
2673		clock-names = "pclk";
2674		rockchip,grf = <&grf>;
2675		status = "disabled";
2676	};
2677
2678	usb2phy0: usb2-phy@fe8a0000 {
2679		compatible = "rockchip,rk3568-usb2phy";
2680		reg = <0x0 0xfe8a0000 0x0 0x10000>;
2681		interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>;
2682		clocks = <&pmucru CLK_USBPHY0_REF>;
2683		clock-names = "phyclk";
2684		#clock-cells = <0>;
2685		assigned-clocks = <&cru USB480M>;
2686		assigned-clock-parents = <&usb2phy0>;
2687		clock-output-names = "usb480m_phy";
2688		rockchip,usbgrf = <&usb2phy0_grf>;
2689		status = "disabled";
2690
2691		u2phy0_host: host-port {
2692			#phy-cells = <0>;
2693			status = "disabled";
2694		};
2695
2696		u2phy0_otg: otg-port {
2697			#phy-cells = <0>;
2698			status = "disabled";
2699		};
2700	};
2701
2702	usb2phy1: usb2-phy@fe8b0000 {
2703		compatible = "rockchip,rk3568-usb2phy";
2704		reg = <0x0 0xfe8b0000 0x0 0x10000>;
2705		interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
2706		clocks = <&pmucru CLK_USBPHY1_REF>;
2707		clock-names = "phyclk";
2708		#clock-cells = <0>;
2709		rockchip,usbgrf = <&usb2phy1_grf>;
2710		status = "disabled";
2711
2712		u2phy1_host: host-port {
2713			#phy-cells = <0>;
2714			status = "disabled";
2715		};
2716
2717		u2phy1_otg: otg-port {
2718			#phy-cells = <0>;
2719			status = "disabled";
2720		};
2721	};
2722
2723	pcie30phy: phy@fe8c0000 {
2724		compatible = "rockchip,rk3568-pcie3-phy";
2725		reg = <0x0 0xfe8c0000 0x0 0x20000>;
2726		#phy-cells = <0>;
2727		clocks = <&pmucru CLK_PCIE30PHY_REF_M>, <&pmucru CLK_PCIE30PHY_REF_N>,
2728			 <&cru PCLK_PCIE30PHY>;
2729		clock-names = "refclk_m", "refclk_n", "pclk";
2730		resets = <&cru SRST_PCIE30PHY>;
2731		reset-names = "phy";
2732		rockchip,phy-grf = <&pcie30_phy_grf>;
2733		status = "disabled";
2734	};
2735
2736	pinctrl: pinctrl {
2737		compatible = "rockchip,rk3568-pinctrl";
2738		rockchip,grf = <&grf>;
2739		rockchip,pmu = <&pmugrf>;
2740		#address-cells = <2>;
2741		#size-cells = <2>;
2742		ranges;
2743
2744		gpio0: gpio@fdd60000 {
2745			compatible = "rockchip,gpio-bank";
2746			reg = <0x0 0xfdd60000 0x0 0x100>;
2747			interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
2748			clocks = <&pmucru PCLK_GPIO0>, <&pmucru DBCLK_GPIO0>;
2749
2750			gpio-controller;
2751			#gpio-cells = <2>;
2752			gpio-ranges = <&pinctrl 0 0 32>;
2753			interrupt-controller;
2754			#interrupt-cells = <2>;
2755		};
2756
2757		gpio1: gpio@fe740000 {
2758			compatible = "rockchip,gpio-bank";
2759			reg = <0x0 0xfe740000 0x0 0x100>;
2760			interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
2761			clocks = <&cru PCLK_GPIO1>, <&cru DBCLK_GPIO1>;
2762
2763			gpio-controller;
2764			#gpio-cells = <2>;
2765			gpio-ranges = <&pinctrl 0 32 32>;
2766			interrupt-controller;
2767			#interrupt-cells = <2>;
2768		};
2769
2770		gpio2: gpio@fe750000 {
2771			compatible = "rockchip,gpio-bank";
2772			reg = <0x0 0xfe750000 0x0 0x100>;
2773			interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
2774			clocks = <&cru PCLK_GPIO2>, <&cru DBCLK_GPIO2>;
2775
2776			gpio-controller;
2777			#gpio-cells = <2>;
2778			gpio-ranges = <&pinctrl 0 64 32>;
2779			interrupt-controller;
2780			#interrupt-cells = <2>;
2781		};
2782
2783		gpio3: gpio@fe760000 {
2784			compatible = "rockchip,gpio-bank";
2785			reg = <0x0 0xfe760000 0x0 0x100>;
2786			interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
2787			clocks = <&cru PCLK_GPIO3>, <&cru DBCLK_GPIO3>;
2788
2789			gpio-controller;
2790			#gpio-cells = <2>;
2791			gpio-ranges = <&pinctrl 0 96 32>;
2792			interrupt-controller;
2793			#interrupt-cells = <2>;
2794		};
2795
2796		gpio4: gpio@fe770000 {
2797			compatible = "rockchip,gpio-bank";
2798			reg = <0x0 0xfe770000 0x0 0x100>;
2799			interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
2800			clocks = <&cru PCLK_GPIO4>, <&cru DBCLK_GPIO4>;
2801
2802			gpio-controller;
2803			#gpio-cells = <2>;
2804			gpio-ranges = <&pinctrl 0 128 32>;
2805			interrupt-controller;
2806			#interrupt-cells = <2>;
2807		};
2808	};
2809};
2810
2811#include "rk3568-pinctrl.dtsi"
2812