xref: /rk3399_rockchip-uboot/arch/arm/dts/rk3568.dtsi (revision fa284b34c50140fbd8540b86744e1c7ef775a0bb)
1be7064f8SJoseph Chen// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2be7064f8SJoseph Chen/*
3be7064f8SJoseph Chen * Copyright (c) 2020 Rockchip Electronics Co., Ltd.
4be7064f8SJoseph Chen */
5be7064f8SJoseph Chen
6be7064f8SJoseph Chen#include <dt-bindings/clock/rk3568-cru.h>
734ddf661SDavid Wu#include <dt-bindings/gpio/gpio.h>
8be7064f8SJoseph Chen#include <dt-bindings/interrupt-controller/arm-gic.h>
9be7064f8SJoseph Chen#include <dt-bindings/interrupt-controller/irq.h>
10be7064f8SJoseph Chen#include <dt-bindings/pinctrl/rockchip.h>
112d25c32eSJoseph Chen#include <dt-bindings/soc/rockchip,boot-mode.h>
122d25c32eSJoseph Chen#include <dt-bindings/phy/phy.h>
13be7064f8SJoseph Chen#include <dt-bindings/power/rk3568-power.h>
14be7064f8SJoseph Chen
15be7064f8SJoseph Chen/ {
16be7064f8SJoseph Chen	compatible = "rockchip,rk3568";
17be7064f8SJoseph Chen
18be7064f8SJoseph Chen	interrupt-parent = <&gic>;
19be7064f8SJoseph Chen	#address-cells = <2>;
20be7064f8SJoseph Chen	#size-cells = <2>;
21be7064f8SJoseph Chen
22be7064f8SJoseph Chen	aliases {
232d25c32eSJoseph Chen		dsi0 = &dsi0;
242d25c32eSJoseph Chen		dsi1 = &dsi1;
252d25c32eSJoseph Chen		ethernet0 = &gmac0;
262d25c32eSJoseph Chen		ethernet1 = &gmac1;
272d25c32eSJoseph Chen		gpio0 = &gpio0;
282d25c32eSJoseph Chen		gpio1 = &gpio1;
292d25c32eSJoseph Chen		gpio2 = &gpio2;
302d25c32eSJoseph Chen		gpio3 = &gpio3;
312d25c32eSJoseph Chen		gpio4 = &gpio4;
32be7064f8SJoseph Chen		i2c0 = &i2c0;
33be7064f8SJoseph Chen		i2c1 = &i2c1;
34be7064f8SJoseph Chen		i2c2 = &i2c2;
35be7064f8SJoseph Chen		i2c3 = &i2c3;
36be7064f8SJoseph Chen		i2c4 = &i2c4;
37be7064f8SJoseph Chen		i2c5 = &i2c5;
382d25c32eSJoseph Chen		lvds0 = &lvds0;
392d25c32eSJoseph Chen		lvds1 = &lvds1;
40be7064f8SJoseph Chen		serial0 = &uart0;
41be7064f8SJoseph Chen		serial1 = &uart1;
42be7064f8SJoseph Chen		serial2 = &uart2;
43be7064f8SJoseph Chen		serial3 = &uart3;
44be7064f8SJoseph Chen		serial4 = &uart4;
45be7064f8SJoseph Chen		serial5 = &uart5;
46be7064f8SJoseph Chen		serial6 = &uart6;
47be7064f8SJoseph Chen		serial7 = &uart7;
48be7064f8SJoseph Chen		serial8 = &uart8;
49be7064f8SJoseph Chen		serial9 = &uart9;
50be7064f8SJoseph Chen		spi0 = &spi0;
51be7064f8SJoseph Chen		spi1 = &spi1;
52be7064f8SJoseph Chen		spi2 = &spi2;
53be7064f8SJoseph Chen		spi3 = &spi3;
54be7064f8SJoseph Chen	};
55be7064f8SJoseph Chen
56be7064f8SJoseph Chen	cpus {
57be7064f8SJoseph Chen		#address-cells = <2>;
58be7064f8SJoseph Chen		#size-cells = <0>;
59be7064f8SJoseph Chen
60be7064f8SJoseph Chen		cpu0: cpu@0 {
61be7064f8SJoseph Chen			device_type = "cpu";
62be7064f8SJoseph Chen			compatible = "arm,cortex-a55";
63be7064f8SJoseph Chen			reg = <0x0 0x0>;
64be7064f8SJoseph Chen			enable-method = "psci";
652d25c32eSJoseph Chen			clocks = <&cru ARMCLK>;
662d25c32eSJoseph Chen			operating-points-v2 = <&cpu0_opp_table>;
67be7064f8SJoseph Chen		};
682d25c32eSJoseph Chen
69be7064f8SJoseph Chen		cpu1: cpu@100 {
70be7064f8SJoseph Chen			device_type = "cpu";
71be7064f8SJoseph Chen			compatible = "arm,cortex-a55";
72be7064f8SJoseph Chen			reg = <0x0 0x100>;
73be7064f8SJoseph Chen			enable-method = "psci";
742d25c32eSJoseph Chen			clocks = <&cru ARMCLK>;
752d25c32eSJoseph Chen			operating-points-v2 = <&cpu0_opp_table>;
76be7064f8SJoseph Chen		};
77be7064f8SJoseph Chen
78be7064f8SJoseph Chen		cpu2: cpu@200 {
79be7064f8SJoseph Chen			device_type = "cpu";
80be7064f8SJoseph Chen			compatible = "arm,cortex-a55";
81be7064f8SJoseph Chen			reg = <0x0 0x200>;
82be7064f8SJoseph Chen			enable-method = "psci";
832d25c32eSJoseph Chen			clocks = <&cru ARMCLK>;
842d25c32eSJoseph Chen			operating-points-v2 = <&cpu0_opp_table>;
85be7064f8SJoseph Chen		};
86be7064f8SJoseph Chen
87be7064f8SJoseph Chen		cpu3: cpu@300 {
88be7064f8SJoseph Chen			device_type = "cpu";
89be7064f8SJoseph Chen			compatible = "arm,cortex-a55";
90be7064f8SJoseph Chen			reg = <0x0 0x300>;
91be7064f8SJoseph Chen			enable-method = "psci";
922d25c32eSJoseph Chen			clocks = <&cru ARMCLK>;
932d25c32eSJoseph Chen			operating-points-v2 = <&cpu0_opp_table>;
94be7064f8SJoseph Chen		};
95be7064f8SJoseph Chen	};
96be7064f8SJoseph Chen
972d25c32eSJoseph Chen	cpu0_opp_table: cpu0-opp-table {
982d25c32eSJoseph Chen		compatible = "operating-points-v2";
992d25c32eSJoseph Chen		opp-shared;
1002d25c32eSJoseph Chen
1012d25c32eSJoseph Chen		opp-408000000 {
1022d25c32eSJoseph Chen			opp-hz = /bits/ 64 <408000000>;
1032d25c32eSJoseph Chen			opp-microvolt = <1000000 1000000 1250000>;
1042d25c32eSJoseph Chen			clock-latency-ns = <40000>;
1052d25c32eSJoseph Chen		};
1062d25c32eSJoseph Chen		opp-600000000 {
1072d25c32eSJoseph Chen			opp-hz = /bits/ 64 <600000000>;
1082d25c32eSJoseph Chen			opp-microvolt = <1000000 1000000 1250000>;
1092d25c32eSJoseph Chen			clock-latency-ns = <40000>;
1102d25c32eSJoseph Chen		};
1112d25c32eSJoseph Chen		opp-816000000 {
1122d25c32eSJoseph Chen			opp-hz = /bits/ 64 <816000000>;
1132d25c32eSJoseph Chen			opp-microvolt = <1000000 1000000 1250000>;
1142d25c32eSJoseph Chen			clock-latency-ns = <40000>;
1152d25c32eSJoseph Chen			opp-suspend;
1162d25c32eSJoseph Chen		};
1172d25c32eSJoseph Chen		opp-1008000000 {
1182d25c32eSJoseph Chen			opp-hz = /bits/ 64 <1008000000>;
1192d25c32eSJoseph Chen			opp-microvolt = <1000000 1000000 1250000>;
1202d25c32eSJoseph Chen			clock-latency-ns = <40000>;
1212d25c32eSJoseph Chen		};
1222d25c32eSJoseph Chen		opp-1200000000 {
1232d25c32eSJoseph Chen			opp-hz = /bits/ 64 <1200000000>;
1242d25c32eSJoseph Chen			opp-microvolt = <1000000 1000000 1250000>;
1252d25c32eSJoseph Chen			clock-latency-ns = <40000>;
1262d25c32eSJoseph Chen		};
1272d25c32eSJoseph Chen	};
1282d25c32eSJoseph Chen
129be7064f8SJoseph Chen	arm-pmu {
130be7064f8SJoseph Chen		compatible = "arm,cortex-a55-pmu", "arm,armv8-pmuv3";
131be7064f8SJoseph Chen		interrupts = <GIC_SPI 228 IRQ_TYPE_LEVEL_HIGH>,
132be7064f8SJoseph Chen			     <GIC_SPI 229 IRQ_TYPE_LEVEL_HIGH>,
133be7064f8SJoseph Chen			     <GIC_SPI 230 IRQ_TYPE_LEVEL_HIGH>,
134be7064f8SJoseph Chen			     <GIC_SPI 231 IRQ_TYPE_LEVEL_HIGH>;
135be7064f8SJoseph Chen		interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
136be7064f8SJoseph Chen	};
1372d25c32eSJoseph Chen
1382d25c32eSJoseph Chen	display_subsystem: display-subsystem {
1392d25c32eSJoseph Chen		compatible = "rockchip,display-subsystem";
1402d25c32eSJoseph Chen		ports = <&vop_out>;
1412d25c32eSJoseph Chen	};
1422d25c32eSJoseph Chen
1432d25c32eSJoseph Chen	mpp_srv: mpp-srv {
1442d25c32eSJoseph Chen		compatible = "rockchip,mpp-service";
1452d25c32eSJoseph Chen		rockchip,taskqueue-count = <5>;
1462d25c32eSJoseph Chen		rockchip,resetgroup-count = <5>;
1472d25c32eSJoseph Chen		status = "disabled";
1482d25c32eSJoseph Chen	};
149be7064f8SJoseph Chen
150fbf3603bSJoseph Chen	psci: psci {
151be7064f8SJoseph Chen		compatible = "arm,psci-1.0";
152be7064f8SJoseph Chen		method = "smc";
153be7064f8SJoseph Chen	};
154be7064f8SJoseph Chen
1552d25c32eSJoseph Chen	thermal_zones: thermal-zones {
1562d25c32eSJoseph Chen		soc_thermal: soc-thermal {
1572d25c32eSJoseph Chen			polling-delay-passive = <20>; /* milliseconds */
1582d25c32eSJoseph Chen			polling-delay = <1000>; /* milliseconds */
1592d25c32eSJoseph Chen
1602d25c32eSJoseph Chen			thermal-sensors = <&tsadc 0>;
1612d25c32eSJoseph Chen			trips {
1622d25c32eSJoseph Chen				soc_crit: soc-crit {
1632d25c32eSJoseph Chen					/* millicelsius */
1642d25c32eSJoseph Chen					temperature = <115000>;
1652d25c32eSJoseph Chen					/* millicelsius */
1662d25c32eSJoseph Chen					hysteresis = <2000>;
1672d25c32eSJoseph Chen					type = "critical";
1682d25c32eSJoseph Chen				};
1692d25c32eSJoseph Chen			};
1702d25c32eSJoseph Chen		};
1712d25c32eSJoseph Chen
1722d25c32eSJoseph Chen		gpu_thermal: gpu-thermal {
1732d25c32eSJoseph Chen			polling-delay-passive = <20>; /* milliseconds */
1742d25c32eSJoseph Chen			polling-delay = <1000>; /* milliseconds */
1752d25c32eSJoseph Chen
1762d25c32eSJoseph Chen			thermal-sensors = <&tsadc 1>;
1772d25c32eSJoseph Chen		};
1782d25c32eSJoseph Chen	};
1792d25c32eSJoseph Chen
180be7064f8SJoseph Chen	timer {
181be7064f8SJoseph Chen		compatible = "arm,armv8-timer";
182be7064f8SJoseph Chen		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
183be7064f8SJoseph Chen			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
184be7064f8SJoseph Chen			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
185be7064f8SJoseph Chen			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
186be7064f8SJoseph Chen	};
187be7064f8SJoseph Chen
1882d25c32eSJoseph Chen	gmac0_clkin: external-gmac0-clock {
1892d25c32eSJoseph Chen		compatible = "fixed-clock";
1902d25c32eSJoseph Chen		clock-frequency = <125000000>;
1912d25c32eSJoseph Chen		clock-output-names = "gmac0_clkin";
1922d25c32eSJoseph Chen		#clock-cells = <0>;
1932d25c32eSJoseph Chen	};
1942d25c32eSJoseph Chen
1952a2aae6cSDavid Wu	gmac1_clkin: external-gmac1-clock {
1962d25c32eSJoseph Chen		compatible = "fixed-clock";
1972d25c32eSJoseph Chen		clock-frequency = <125000000>;
1982d25c32eSJoseph Chen		clock-output-names = "gmac1_clkin";
1992d25c32eSJoseph Chen		#clock-cells = <0>;
2002d25c32eSJoseph Chen	};
2012d25c32eSJoseph Chen
202be7064f8SJoseph Chen	xin24m: xin24m {
203be7064f8SJoseph Chen		compatible = "fixed-clock";
204be7064f8SJoseph Chen		#clock-cells = <0>;
205be7064f8SJoseph Chen		clock-frequency = <24000000>;
206be7064f8SJoseph Chen		clock-output-names = "xin24m";
207be7064f8SJoseph Chen	};
208be7064f8SJoseph Chen
2092d25c32eSJoseph Chen	sata0: sata@fc000000 {
2102d25c32eSJoseph Chen		compatible = "snps,dwc-ahci";
2112d25c32eSJoseph Chen		reg = <0 0xfc000000 0 0x1000>;
2122d25c32eSJoseph Chen		clocks = <&cru ACLK_SATA0>, <&cru CLK_SATA0_PMALIVE>,
2132d25c32eSJoseph Chen			 <&cru CLK_SATA0_RXOOB>;
2142d25c32eSJoseph Chen		clock-names = "sata", "pmalive", "rxoob";
2152d25c32eSJoseph Chen		interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
2162d25c32eSJoseph Chen		interrupt-names = "hostc";
2172d25c32eSJoseph Chen		phys = <&combphy0_us PHY_TYPE_SATA>;
2182d25c32eSJoseph Chen		phy-names = "sata-phy";
2192d25c32eSJoseph Chen		ports-implemented = <0x1>;
2202d25c32eSJoseph Chen		power-domains = <&power RK3568_PD_PIPE>;
2212d25c32eSJoseph Chen		status = "disabled";
2222d25c32eSJoseph Chen	};
2232d25c32eSJoseph Chen
2242d25c32eSJoseph Chen	sata1: sata@fc400000 {
2252d25c32eSJoseph Chen		compatible = "snps,dwc-ahci";
2262d25c32eSJoseph Chen		reg = <0 0xfc400000 0 0x1000>;
2272d25c32eSJoseph Chen		clocks = <&cru ACLK_SATA1>, <&cru CLK_SATA1_PMALIVE>,
2282d25c32eSJoseph Chen			 <&cru CLK_SATA1_RXOOB>;
2292d25c32eSJoseph Chen		clock-names = "sata", "pmalive", "rxoob";
2302d25c32eSJoseph Chen		interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
2312d25c32eSJoseph Chen		interrupt-names = "hostc";
2322d25c32eSJoseph Chen		phys = <&combphy1_usq PHY_TYPE_SATA>;
2332d25c32eSJoseph Chen		phy-names = "sata-phy";
2342d25c32eSJoseph Chen		ports-implemented = <0x1>;
2352d25c32eSJoseph Chen		power-domains = <&power RK3568_PD_PIPE>;
2362d25c32eSJoseph Chen		status = "disabled";
2372d25c32eSJoseph Chen	};
2382d25c32eSJoseph Chen
2392d25c32eSJoseph Chen	sata2: sata@fc800000 {
2402d25c32eSJoseph Chen		compatible = "snps,dwc-ahci";
2412d25c32eSJoseph Chen		reg = <0 0xfc800000 0 0x1000>;
2422d25c32eSJoseph Chen		clocks = <&cru ACLK_SATA2>, <&cru CLK_SATA2_PMALIVE>,
2432d25c32eSJoseph Chen			 <&cru CLK_SATA2_RXOOB>;
2442d25c32eSJoseph Chen		clock-names = "sata", "pmalive", "rxoob";
2452d25c32eSJoseph Chen		interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
2462d25c32eSJoseph Chen		interrupt-names = "hostc";
2472d25c32eSJoseph Chen		phys = <&combphy2_psq PHY_TYPE_SATA>;
2482d25c32eSJoseph Chen		phy-names = "sata-phy";
2492d25c32eSJoseph Chen		ports-implemented = <0x1>;
2502d25c32eSJoseph Chen		power-domains = <&power RK3568_PD_PIPE>;
2512d25c32eSJoseph Chen		status = "disabled";
2522d25c32eSJoseph Chen	};
2532d25c32eSJoseph Chen
254be7064f8SJoseph Chen	usbdrd30: usbdrd {
255be7064f8SJoseph Chen		compatible = "rockchip,rk3568-dwc3", "rockchip,rk3399-dwc3";
256be7064f8SJoseph Chen		clocks = <&cru CLK_USB3OTG0_REF>, <&cru CLK_USB3OTG0_SUSPEND>,
257be7064f8SJoseph Chen			 <&cru ACLK_USB3OTG0>;
258be7064f8SJoseph Chen		clock-names = "ref_clk", "suspend_clk",
259be7064f8SJoseph Chen			      "bus_clk";
260be7064f8SJoseph Chen		#address-cells = <2>;
261be7064f8SJoseph Chen		#size-cells = <2>;
262be7064f8SJoseph Chen		ranges;
263be7064f8SJoseph Chen		status = "disabled";
264be7064f8SJoseph Chen
265be7064f8SJoseph Chen		usbdrd_dwc3: dwc3@fcc00000 {
266be7064f8SJoseph Chen			compatible = "snps,dwc3";
267be7064f8SJoseph Chen			reg = <0x0 0xfcc00000 0x0 0x400000>;
268be7064f8SJoseph Chen			interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>;
269be7064f8SJoseph Chen			dr_mode = "otg";
270*fa284b34SWilliam Wu			phys = <&u2phy0_otg>, <&combphy0_us PHY_TYPE_USB3>;
271*fa284b34SWilliam Wu			phy-names = "usb2-phy", "usb3-phy";
272be7064f8SJoseph Chen			phy_type = "utmi_wide";
273be7064f8SJoseph Chen			power-domains = <&power RK3568_PD_PIPE>;
274be7064f8SJoseph Chen			resets = <&cru SRST_USB3OTG0>;
275be7064f8SJoseph Chen			reset-names = "usb3-otg";
276be7064f8SJoseph Chen			snps,dis_enblslpm_quirk;
277be7064f8SJoseph Chen			snps,dis-u2-freeclk-exists-quirk;
278be7064f8SJoseph Chen			snps,dis_u2_susphy_quirk;
279be7064f8SJoseph Chen			snps,dis-del-phy-power-chg-quirk;
280be7064f8SJoseph Chen			snps,dis-tx-ipgap-linecheck-quirk;
281be7064f8SJoseph Chen			snps,xhci-trb-ent-quirk;
282be7064f8SJoseph Chen			status = "disabled";
283be7064f8SJoseph Chen		};
284be7064f8SJoseph Chen	};
285be7064f8SJoseph Chen
286be7064f8SJoseph Chen	usbhost30: usbhost {
287be7064f8SJoseph Chen		compatible = "rockchip,rk3568-dwc3", "rockchip,rk3399-dwc3";
288be7064f8SJoseph Chen		clocks = <&cru CLK_USB3OTG1_REF>, <&cru CLK_USB3OTG1_SUSPEND>,
289be7064f8SJoseph Chen			 <&cru ACLK_USB3OTG1>;
290be7064f8SJoseph Chen		clock-names = "ref_clk", "suspend_clk",
291be7064f8SJoseph Chen			      "bus_clk";
292be7064f8SJoseph Chen		#address-cells = <2>;
293be7064f8SJoseph Chen		#size-cells = <2>;
294be7064f8SJoseph Chen		ranges;
295be7064f8SJoseph Chen		status = "disabled";
296be7064f8SJoseph Chen
297be7064f8SJoseph Chen		usbhost_dwc3: dwc3@fd000000 {
298be7064f8SJoseph Chen			compatible = "snps,dwc3";
299be7064f8SJoseph Chen			reg = <0x0 0xfd000000 0x0 0x400000>;
300be7064f8SJoseph Chen			interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>;
301be7064f8SJoseph Chen			dr_mode = "host";
30242474902SRen Jianing			phys = <&u2phy0_host>;
30342474902SRen Jianing			phy-names = "usb2-phy";
304be7064f8SJoseph Chen			phy_type = "utmi_wide";
305be7064f8SJoseph Chen			power-domains = <&power RK3568_PD_PIPE>;
306be7064f8SJoseph Chen			resets = <&cru SRST_USB3OTG1>;
307be7064f8SJoseph Chen			reset-names = "usb3-host";
308be7064f8SJoseph Chen			snps,dis_enblslpm_quirk;
309be7064f8SJoseph Chen			snps,dis-u2-freeclk-exists-quirk;
310be7064f8SJoseph Chen			snps,dis_u2_susphy_quirk;
311be7064f8SJoseph Chen			snps,dis-del-phy-power-chg-quirk;
312be7064f8SJoseph Chen			snps,dis-tx-ipgap-linecheck-quirk;
313be7064f8SJoseph Chen			snps,xhci-trb-ent-quirk;
314be7064f8SJoseph Chen			status = "disabled";
315be7064f8SJoseph Chen		};
316be7064f8SJoseph Chen	};
317be7064f8SJoseph Chen
318be7064f8SJoseph Chen	gic: interrupt-controller@fd400000 {
319be7064f8SJoseph Chen		compatible = "arm,gic-v3";
320be7064f8SJoseph Chen		#interrupt-cells = <3>;
321be7064f8SJoseph Chen		#address-cells = <2>;
322be7064f8SJoseph Chen		#size-cells = <2>;
323be7064f8SJoseph Chen		ranges;
324be7064f8SJoseph Chen		interrupt-controller;
325be7064f8SJoseph Chen
326be7064f8SJoseph Chen		reg = <0x0 0xfd400000 0 0x10000>, /* GICD */
327be7064f8SJoseph Chen		      <0x0 0xfd460000 0 0xc0000>; /* GICR */
328be7064f8SJoseph Chen		interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
329be7064f8SJoseph Chen		its: interrupt-controller@fd440000 {
330be7064f8SJoseph Chen			compatible = "arm,gic-v3-its";
331be7064f8SJoseph Chen			msi-controller;
332be7064f8SJoseph Chen			reg = <0x0 0xfd440000 0x0 0x20000>;
3332d25c32eSJoseph Chen			status = "disabled";
334be7064f8SJoseph Chen		};
335be7064f8SJoseph Chen	};
336be7064f8SJoseph Chen
337be7064f8SJoseph Chen	usb_host0_ehci: usb@fd800000 {
338be7064f8SJoseph Chen		compatible = "generic-ehci";
339be7064f8SJoseph Chen		reg = <0x0 0xfd800000 0x0 0x40000>;
340be7064f8SJoseph Chen		interrupts = <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>;
3412d25c32eSJoseph Chen		clocks = <&cru HCLK_USB2HOST0>, <&cru HCLK_USB2HOST0_ARB>,
3422d25c32eSJoseph Chen			 <&cru PCLK_USB>, <&usb2phy1>;
3432d25c32eSJoseph Chen		clock-names = "usbhost", "arbiter", "pclk", "utmi";
34442474902SRen Jianing		phys = <&u2phy1_otg>;
3452d25c32eSJoseph Chen		phy-names = "usb2-phy";
346be7064f8SJoseph Chen		status = "disabled";
347be7064f8SJoseph Chen	};
348be7064f8SJoseph Chen
349be7064f8SJoseph Chen	usb_host0_ohci: usb@fd840000 {
350be7064f8SJoseph Chen		compatible = "generic-ohci";
351be7064f8SJoseph Chen		reg = <0x0 0xfd840000 0x0 0x40000>;
352be7064f8SJoseph Chen		interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>;
3532d25c32eSJoseph Chen		clocks = <&cru HCLK_USB2HOST0>, <&cru HCLK_USB2HOST0_ARB>,
3542d25c32eSJoseph Chen			 <&cru PCLK_USB>, <&usb2phy1>;
3552d25c32eSJoseph Chen		clock-names = "usbhost", "arbiter", "pclk", "utmi";
35642474902SRen Jianing		phys = <&u2phy1_otg>;
3572d25c32eSJoseph Chen		phy-names = "usb2-phy";
358be7064f8SJoseph Chen		status = "disabled";
359be7064f8SJoseph Chen	};
360be7064f8SJoseph Chen
361be7064f8SJoseph Chen	usb_host1_ehci: usb@fd880000 {
362be7064f8SJoseph Chen		compatible = "generic-ehci";
363be7064f8SJoseph Chen		reg = <0x0 0xfd880000 0x0 0x40000>;
364be7064f8SJoseph Chen		interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
3652d25c32eSJoseph Chen		clocks = <&cru HCLK_USB2HOST1>, <&cru HCLK_USB2HOST1_ARB>,
3662d25c32eSJoseph Chen			 <&cru PCLK_USB>, <&usb2phy1>;
3672d25c32eSJoseph Chen		clock-names = "usbhost", "arbiter", "pclk", "utmi";
36842474902SRen Jianing		phys = <&u2phy1_host>;
3692d25c32eSJoseph Chen		phy-names = "usb2-phy";
370be7064f8SJoseph Chen		status = "disabled";
371be7064f8SJoseph Chen	};
372be7064f8SJoseph Chen
373be7064f8SJoseph Chen	usb_host1_ohci: usb@fd8c0000 {
374be7064f8SJoseph Chen		compatible = "generic-ohci";
375be7064f8SJoseph Chen		reg = <0x0 0xfd8c0000 0x0 0x40000>;
376be7064f8SJoseph Chen		interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>;
3772d25c32eSJoseph Chen		clocks = <&cru HCLK_USB2HOST1>, <&cru HCLK_USB2HOST1_ARB>,
3782d25c32eSJoseph Chen			 <&cru PCLK_USB>, <&usb2phy1>;
3792d25c32eSJoseph Chen		clock-names = "usbhost", "arbiter", "pclk", "utmi";
38042474902SRen Jianing		phys = <&u2phy1_host>;
3812d25c32eSJoseph Chen		phy-names = "usb2-phy";
382be7064f8SJoseph Chen		status = "disabled";
383be7064f8SJoseph Chen	};
384be7064f8SJoseph Chen
385be7064f8SJoseph Chen	pmugrf: syscon@fdc20000 {
3862d25c32eSJoseph Chen		compatible = "rockchip,rk3568-pmugrf", "syscon", "simple-mfd";
387be7064f8SJoseph Chen		reg = <0x0 0xfdc20000 0x0 0x10000>;
388be7064f8SJoseph Chen
389be7064f8SJoseph Chen		pmu_io_domains: io-domains {
390be7064f8SJoseph Chen			compatible = "rockchip,rk3568-pmu-io-voltage-domain";
391be7064f8SJoseph Chen			status = "disabled";
392be7064f8SJoseph Chen		};
3932d25c32eSJoseph Chen
3942d25c32eSJoseph Chen		reboot_mode: reboot-mode {
3952d25c32eSJoseph Chen			compatible = "syscon-reboot-mode";
3962d25c32eSJoseph Chen			offset = <0x200>;
3972d25c32eSJoseph Chen			mode-bootloader = <BOOT_BL_DOWNLOAD>;
3982d25c32eSJoseph Chen			mode-charge = <BOOT_CHARGING>;
3992d25c32eSJoseph Chen			mode-fastboot = <BOOT_FASTBOOT>;
4002d25c32eSJoseph Chen			mode-loader = <BOOT_BL_DOWNLOAD>;
4012d25c32eSJoseph Chen			mode-normal = <BOOT_NORMAL>;
4022d25c32eSJoseph Chen			mode-recovery = <BOOT_RECOVERY>;
4032d25c32eSJoseph Chen			mode-ums = <BOOT_UMS>;
4042d25c32eSJoseph Chen			mode-panic = <BOOT_PANIC>;
4052d25c32eSJoseph Chen			mode-watchdog = <BOOT_WATCHDOG>;
4062d25c32eSJoseph Chen		};
407be7064f8SJoseph Chen	};
408be7064f8SJoseph Chen
409be7064f8SJoseph Chen	pipegrf: syscon@fdc50000 {
410be7064f8SJoseph Chen		compatible = "rockchip,rk3568-pipegrf", "syscon";
411be7064f8SJoseph Chen		reg = <0x0 0xfdc50000 0x0 0x1000>;
412be7064f8SJoseph Chen	};
413be7064f8SJoseph Chen
414be7064f8SJoseph Chen	grf: syscon@fdc60000 {
415be7064f8SJoseph Chen		compatible = "rockchip,rk3568-grf", "syscon", "simple-mfd";
416be7064f8SJoseph Chen		reg = <0x0 0xfdc60000 0x0 0x10000>;
417be7064f8SJoseph Chen
418be7064f8SJoseph Chen		io_domains: io-domains {
419be7064f8SJoseph Chen			compatible = "rockchip,rk3568-io-voltage-domain";
420be7064f8SJoseph Chen			status = "disabled";
421be7064f8SJoseph Chen		};
4222d25c32eSJoseph Chen
4232d25c32eSJoseph Chen		lvds0: lvds0 {
4242d25c32eSJoseph Chen			compatible = "rockchip,rk3568-lvds";
4252d25c32eSJoseph Chen			phys = <&video_phy0>;
4262d25c32eSJoseph Chen			phy-names = "phy";
4272d25c32eSJoseph Chen			status = "disabled";
4282d25c32eSJoseph Chen
4292d25c32eSJoseph Chen			ports {
4302d25c32eSJoseph Chen				#address-cells = <1>;
4312d25c32eSJoseph Chen				#size-cells = <0>;
4322d25c32eSJoseph Chen
4332d25c32eSJoseph Chen				port@0 {
4342d25c32eSJoseph Chen					reg = <0>;
4352d25c32eSJoseph Chen					#address-cells = <1>;
4362d25c32eSJoseph Chen					#size-cells = <0>;
4372d25c32eSJoseph Chen
4382d25c32eSJoseph Chen					lvds0_in_vp1: endpoint@0 {
4392d25c32eSJoseph Chen						reg = <0>;
4402d25c32eSJoseph Chen						remote-endpoint = <&vp1_out_lvds0>;
4412d25c32eSJoseph Chen					};
4422d25c32eSJoseph Chen
4432d25c32eSJoseph Chen					lvds0_in_vp2: endpoint@1 {
4442d25c32eSJoseph Chen						reg = <1>;
4452d25c32eSJoseph Chen						remote-endpoint = <&vp2_out_lvds0>;
4462d25c32eSJoseph Chen					};
4472d25c32eSJoseph Chen				};
4482d25c32eSJoseph Chen			};
4492d25c32eSJoseph Chen		};
4502d25c32eSJoseph Chen
4512d25c32eSJoseph Chen		lvds1: lvds1 {
4522d25c32eSJoseph Chen			compatible = "rockchip,rk3568-lvds";
4532d25c32eSJoseph Chen			phys = <&video_phy1>;
4542d25c32eSJoseph Chen			phy-names = "phy";
4552d25c32eSJoseph Chen			status = "disabled";
4562d25c32eSJoseph Chen
4572d25c32eSJoseph Chen			ports {
4582d25c32eSJoseph Chen				#address-cells = <1>;
4592d25c32eSJoseph Chen				#size-cells = <0>;
4602d25c32eSJoseph Chen
4612d25c32eSJoseph Chen				port@0 {
4622d25c32eSJoseph Chen					reg = <0>;
4632d25c32eSJoseph Chen					#address-cells = <1>;
4642d25c32eSJoseph Chen					#size-cells = <0>;
4652d25c32eSJoseph Chen
4662d25c32eSJoseph Chen					lvds1_in_vp1: endpoint@0 {
4672d25c32eSJoseph Chen						reg = <0>;
4682d25c32eSJoseph Chen						remote-endpoint = <&vp1_out_lvds1>;
4692d25c32eSJoseph Chen					};
4702d25c32eSJoseph Chen
4712d25c32eSJoseph Chen					lvds1_in_vp2: endpoint@1 {
4722d25c32eSJoseph Chen						reg = <1>;
4732d25c32eSJoseph Chen						remote-endpoint = <&vp2_out_lvds1>;
4742d25c32eSJoseph Chen					};
4752d25c32eSJoseph Chen				};
4762d25c32eSJoseph Chen			};
4772d25c32eSJoseph Chen		};
4782d25c32eSJoseph Chen
4792d25c32eSJoseph Chen		rgb: rgb {
4802d25c32eSJoseph Chen			compatible = "rockchip,rk3568-rgb";
4812d25c32eSJoseph Chen			pinctrl-names = "default";
4822d25c32eSJoseph Chen			pinctrl-0 = <&lcdc_ctl>;
4832d25c32eSJoseph Chen			status = "disabled";
4842d25c32eSJoseph Chen
4852d25c32eSJoseph Chen			ports {
4862d25c32eSJoseph Chen				#address-cells = <1>;
4872d25c32eSJoseph Chen				#size-cells = <0>;
4882d25c32eSJoseph Chen
4892d25c32eSJoseph Chen				port@0 {
4902d25c32eSJoseph Chen					reg = <0>;
4912d25c32eSJoseph Chen					#address-cells = <1>;
4922d25c32eSJoseph Chen					#size-cells = <0>;
4932d25c32eSJoseph Chen
4942d25c32eSJoseph Chen					rgb_in_vp2: endpoint@0 {
4952d25c32eSJoseph Chen						reg = <0>;
4962d25c32eSJoseph Chen						remote-endpoint = <&vp2_out_rgb>;
4972d25c32eSJoseph Chen					};
4982d25c32eSJoseph Chen				};
4992d25c32eSJoseph Chen
5002d25c32eSJoseph Chen			};
5012d25c32eSJoseph Chen		};
5022d25c32eSJoseph Chen
503be7064f8SJoseph Chen	};
504be7064f8SJoseph Chen
505be7064f8SJoseph Chen	pipe_phy_grf0: syscon@fdc70000 {
506be7064f8SJoseph Chen		compatible = "rockchip,pipe-phy-grf", "syscon";
507be7064f8SJoseph Chen		reg = <0x0 0xfdc70000 0x0 0x1000>;
508be7064f8SJoseph Chen	};
509be7064f8SJoseph Chen
510be7064f8SJoseph Chen	pipe_phy_grf1: syscon@fdc80000 {
511be7064f8SJoseph Chen		compatible = "rockchip,pipe-phy-grf", "syscon";
512be7064f8SJoseph Chen		reg = <0x0 0xfdc80000 0x0 0x1000>;
513be7064f8SJoseph Chen	};
514be7064f8SJoseph Chen
515be7064f8SJoseph Chen	pipe_phy_grf2: syscon@fdc90000 {
516be7064f8SJoseph Chen		compatible = "rockchip,pipe-phy-grf", "syscon";
517be7064f8SJoseph Chen		reg = <0x0 0xfdc90000 0x0 0x1000>;
518be7064f8SJoseph Chen	};
519be7064f8SJoseph Chen
52042474902SRen Jianing	usb2phy0_grf: syscon@fdca0000 {
52142474902SRen Jianing		compatible = "rockchip,rk3568-usb2phy-grf", "syscon";
52242474902SRen Jianing		reg = <0x0 0xfdca0000 0x0 0x8000>;
52342474902SRen Jianing	};
52442474902SRen Jianing
52542474902SRen Jianing	usb2phy1_grf: syscon@fdca8000 {
52642474902SRen Jianing		compatible = "rockchip,rk3568-usb2phy-grf", "syscon";
52742474902SRen Jianing		reg = <0x0 0xfdca8000 0x0 0x8000>;
52842474902SRen Jianing	};
52942474902SRen Jianing
5302d25c32eSJoseph Chen	edp_phy: edp-phy@fdcb0000 {
5312d25c32eSJoseph Chen		compatible = "rockchip,rk3568-edp-phy";
5322d25c32eSJoseph Chen		reg = <0x0 0xfdcb0000 0x0 0x8000>;
5332d25c32eSJoseph Chen		clocks = <&pmucru XIN_OSC0_EDPPHY_G>, <&cru PCLK_EDPPHY_GRF>;
5342d25c32eSJoseph Chen		clock-names = "refclk", "pclk";
5352d25c32eSJoseph Chen		resets = <&cru SRST_P_EDPPHY_GRF>;
5362d25c32eSJoseph Chen		reset-names = "apb";
5372d25c32eSJoseph Chen		#phy-cells = <0>;
5382d25c32eSJoseph Chen		status = "disabled";
5392d25c32eSJoseph Chen	};
5402d25c32eSJoseph Chen
5412d25c32eSJoseph Chen	pcie30_phy_grf: syscon@fdcb8000 {
5422d25c32eSJoseph Chen		compatible = "rockchip,pcie30-phy-grf", "syscon";
5432d25c32eSJoseph Chen		reg = <0x0 0xfdcb8000 0x0 0x10000>;
5442d25c32eSJoseph Chen	};
5452d25c32eSJoseph Chen
546be7064f8SJoseph Chen	pmucru: clock-controller@fdd00000 {
547be7064f8SJoseph Chen		compatible = "rockchip,rk3568-pmucru";
548be7064f8SJoseph Chen		reg = <0x0 0xfdd00000 0x0 0x1000>;
549be7064f8SJoseph Chen		rockchip,grf = <&grf>;
550be7064f8SJoseph Chen		#clock-cells = <1>;
551be7064f8SJoseph Chen		#reset-cells = <1>;
552be7064f8SJoseph Chen	};
553be7064f8SJoseph Chen
554be7064f8SJoseph Chen	cru: clock-controller@fdd20000 {
555be7064f8SJoseph Chen		compatible = "rockchip,rk3568-cru";
556be7064f8SJoseph Chen		reg = <0x0 0xfdd20000 0x0 0x1000>;
557be7064f8SJoseph Chen		rockchip,grf = <&grf>;
558be7064f8SJoseph Chen		#clock-cells = <1>;
559be7064f8SJoseph Chen		#reset-cells = <1>;
560be7064f8SJoseph Chen
561be7064f8SJoseph Chen		assigned-clocks =
562be7064f8SJoseph Chen			<&pmucru CLK_RTC_32K>, <&pmucru PLL_PPLL>,
563be7064f8SJoseph Chen			<&pmucru PCLK_PMU>, <&cru PLL_CPLL>,
564be7064f8SJoseph Chen			<&cru PLL_GPLL>, <&cru ARMCLK>,
565be7064f8SJoseph Chen			<&cru ACLK_BUS>, <&cru PCLK_BUS>,
566be7064f8SJoseph Chen			<&cru ACLK_TOP_HIGH>, <&cru ACLK_TOP_LOW>,
567be7064f8SJoseph Chen			<&cru HCLK_TOP>, <&cru PCLK_TOP>,
5682d25c32eSJoseph Chen			<&cru ACLK_PERIMID>, <&cru HCLK_PERIMID>,
5692d25c32eSJoseph Chen			<&cru PLL_NPLL>;
570be7064f8SJoseph Chen		assigned-clock-rates =
5712d25c32eSJoseph Chen			<32768>, <200000000>,
572be7064f8SJoseph Chen			<100000000>, <1000000000>,
573be7064f8SJoseph Chen			<1188000000>, <600000000>,
574be7064f8SJoseph Chen			<150000000>, <100000000>,
575be7064f8SJoseph Chen			<300000000>, <200000000>,
576be7064f8SJoseph Chen			<150000000>, <100000000>,
5772d25c32eSJoseph Chen			<300000000>, <150000000>,
5782d25c32eSJoseph Chen			<1200000000>;
579be7064f8SJoseph Chen		assigned-clock-parents =
580be7064f8SJoseph Chen			<&pmucru CLK_RTC32K_FRAC>;
581be7064f8SJoseph Chen	};
582be7064f8SJoseph Chen
583be7064f8SJoseph Chen	i2c0: i2c@fdd40000 {
584be7064f8SJoseph Chen		compatible = "rockchip,rk3399-i2c";
585be7064f8SJoseph Chen		reg = <0x0 0xfdd40000 0x0 0x1000>;
586be7064f8SJoseph Chen		clocks = <&pmucru CLK_I2C0>, <&pmucru PCLK_I2C0>;
587be7064f8SJoseph Chen		clock-names = "i2c", "pclk";
588be7064f8SJoseph Chen		interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
589be7064f8SJoseph Chen		pinctrl-names = "default";
590be7064f8SJoseph Chen		pinctrl-0 = <&i2c0_xfer>;
591be7064f8SJoseph Chen		#address-cells = <1>;
592be7064f8SJoseph Chen		#size-cells = <0>;
593be7064f8SJoseph Chen		status = "disabled";
594be7064f8SJoseph Chen	};
595be7064f8SJoseph Chen
596be7064f8SJoseph Chen	uart0: serial@fdd50000 {
597be7064f8SJoseph Chen		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
598be7064f8SJoseph Chen		reg = <0x0 0xfdd50000 0x0 0x100>;
599be7064f8SJoseph Chen		interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
600be7064f8SJoseph Chen		clocks = <&pmucru SCLK_UART0>, <&pmucru PCLK_UART0>;
601be7064f8SJoseph Chen		clock-names = "baudclk", "apb_pclk";
602be7064f8SJoseph Chen		reg-shift = <2>;
603be7064f8SJoseph Chen		reg-io-width = <4>;
604be7064f8SJoseph Chen		dmas = <&dmac0 0>, <&dmac0 1>;
605be7064f8SJoseph Chen		pinctrl-names = "default";
606be7064f8SJoseph Chen		pinctrl-0 = <&uart0_xfer>;
607be7064f8SJoseph Chen		status = "disabled";
608be7064f8SJoseph Chen	};
609be7064f8SJoseph Chen
610be7064f8SJoseph Chen	pwm0: pwm@fdd70000 {
611be7064f8SJoseph Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
612be7064f8SJoseph Chen		reg = <0x0 0xfdd70000 0x0 0x10>;
613be7064f8SJoseph Chen		#pwm-cells = <3>;
614be7064f8SJoseph Chen		pinctrl-names = "active";
615be7064f8SJoseph Chen		pinctrl-0 = <&pwm0m0_pins>;
616be7064f8SJoseph Chen		clocks = <&pmucru CLK_PWM0>, <&pmucru PCLK_PWM0>;
617be7064f8SJoseph Chen		clock-names = "pwm", "pclk";
618be7064f8SJoseph Chen		status = "disabled";
619be7064f8SJoseph Chen	};
620be7064f8SJoseph Chen
621be7064f8SJoseph Chen	pwm1: pwm@fdd70010 {
622be7064f8SJoseph Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
623be7064f8SJoseph Chen		reg = <0x0 0xfdd70010 0x0 0x10>;
624be7064f8SJoseph Chen		#pwm-cells = <3>;
625be7064f8SJoseph Chen		pinctrl-names = "active";
626be7064f8SJoseph Chen		pinctrl-0 = <&pwm1m0_pins>;
627be7064f8SJoseph Chen		clocks = <&pmucru CLK_PWM0>, <&pmucru PCLK_PWM0>;
628be7064f8SJoseph Chen		clock-names = "pwm", "pclk";
629be7064f8SJoseph Chen		status = "disabled";
630be7064f8SJoseph Chen	};
631be7064f8SJoseph Chen
632be7064f8SJoseph Chen	pwm2: pwm@fdd70020 {
633be7064f8SJoseph Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
634be7064f8SJoseph Chen		reg = <0x0 0xfdd70020 0x0 0x10>;
635be7064f8SJoseph Chen		#pwm-cells = <3>;
636be7064f8SJoseph Chen		pinctrl-names = "active";
637be7064f8SJoseph Chen		pinctrl-0 = <&pwm2m0_pins>;
638be7064f8SJoseph Chen		clocks = <&pmucru CLK_PWM0>, <&pmucru PCLK_PWM0>;
639be7064f8SJoseph Chen		clock-names = "pwm", "pclk";
640be7064f8SJoseph Chen		status = "disabled";
641be7064f8SJoseph Chen	};
642be7064f8SJoseph Chen
643be7064f8SJoseph Chen	pwm3: pwm@fdd70030 {
644be7064f8SJoseph Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
645be7064f8SJoseph Chen		reg = <0x0 0xfdd70030 0x0 0x10>;
646be7064f8SJoseph Chen		#pwm-cells = <3>;
647be7064f8SJoseph Chen		pinctrl-names = "active";
648be7064f8SJoseph Chen		pinctrl-0 = <&pwm3_pins>;
649be7064f8SJoseph Chen		clocks = <&pmucru CLK_PWM0>, <&pmucru PCLK_PWM0>;
650be7064f8SJoseph Chen		clock-names = "pwm", "pclk";
651be7064f8SJoseph Chen		status = "disabled";
652be7064f8SJoseph Chen	};
653be7064f8SJoseph Chen
654be7064f8SJoseph Chen	pmu: power-management@fdd90000 {
655be7064f8SJoseph Chen		compatible = "rockchip,rk3568-pmu", "syscon", "simple-mfd";
656be7064f8SJoseph Chen		reg = <0x0 0xfdd90000 0x0 0x1000>;
657be7064f8SJoseph Chen
658be7064f8SJoseph Chen		power: power-controller {
659be7064f8SJoseph Chen			compatible = "rockchip,rk3568-power-controller";
660be7064f8SJoseph Chen			#power-domain-cells = <1>;
661be7064f8SJoseph Chen			#address-cells = <1>;
662be7064f8SJoseph Chen			#size-cells = <0>;
663be7064f8SJoseph Chen			status = "okay";
664be7064f8SJoseph Chen
665be7064f8SJoseph Chen			/* These power domains are grouped by VD_NPU */
666be7064f8SJoseph Chen			pd_npu@RK3568_PD_NPU {
667be7064f8SJoseph Chen				reg = <RK3568_PD_NPU>;
6682d25c32eSJoseph Chen				clocks = <&cru ACLK_NPU_PRE>,
6692d25c32eSJoseph Chen					 <&cru HCLK_NPU_PRE>,
6702d25c32eSJoseph Chen					 <&cru PCLK_NPU_PRE>;
671be7064f8SJoseph Chen				pm_qos = <&qos_npu>;
672be7064f8SJoseph Chen			};
673be7064f8SJoseph Chen			/* These power domains are grouped by VD_GPU */
674be7064f8SJoseph Chen			pd_gpu@RK3568_PD_GPU {
675be7064f8SJoseph Chen				reg = <RK3568_PD_GPU>;
6762d25c32eSJoseph Chen				clocks = <&cru ACLK_GPU_PRE>,
6772d25c32eSJoseph Chen					 <&cru PCLK_GPU_PRE>;
678be7064f8SJoseph Chen				pm_qos = <&qos_gpu>;
679be7064f8SJoseph Chen			};
680be7064f8SJoseph Chen			/* These power domains are grouped by VD_LOGIC */
681be7064f8SJoseph Chen			pd_vi@RK3568_PD_VI {
682be7064f8SJoseph Chen				reg = <RK3568_PD_VI>;
6832d25c32eSJoseph Chen				clocks = <&cru HCLK_VI>,
6842d25c32eSJoseph Chen					 <&cru PCLK_VI>;
685be7064f8SJoseph Chen				pm_qos = <&qos_isp>,
686be7064f8SJoseph Chen					 <&qos_vicap0>,
687be7064f8SJoseph Chen					 <&qos_vicap1>;
688be7064f8SJoseph Chen			};
689be7064f8SJoseph Chen			pd_vo@RK3568_PD_VO {
690be7064f8SJoseph Chen				reg = <RK3568_PD_VO>;
6912d25c32eSJoseph Chen				clocks = <&cru HCLK_VO>,
6922d25c32eSJoseph Chen					 <&cru PCLK_VO>,
6932d25c32eSJoseph Chen					 <&cru ACLK_VOP_PRE>;
694be7064f8SJoseph Chen				pm_qos = <&qos_hdcp>,
695be7064f8SJoseph Chen					 <&qos_vop_m0>,
696be7064f8SJoseph Chen					 <&qos_vop_m1>;
697be7064f8SJoseph Chen			};
698be7064f8SJoseph Chen			pd_rga@RK3568_PD_RGA {
699be7064f8SJoseph Chen				reg = <RK3568_PD_RGA>;
7002d25c32eSJoseph Chen				clocks = <&cru HCLK_RGA_PRE>,
7012d25c32eSJoseph Chen					 <&cru PCLK_RGA_PRE>;
702be7064f8SJoseph Chen				pm_qos = <&qos_ebc>,
703be7064f8SJoseph Chen					 <&qos_iep>,
704be7064f8SJoseph Chen					 <&qos_jpeg_dec>,
705be7064f8SJoseph Chen					 <&qos_jpeg_enc>,
706be7064f8SJoseph Chen					 <&qos_rga_rd>,
707be7064f8SJoseph Chen					 <&qos_rga_wr>;
708be7064f8SJoseph Chen			};
709be7064f8SJoseph Chen			pd_vpu@RK3568_PD_VPU {
710be7064f8SJoseph Chen				reg = <RK3568_PD_VPU>;
7112d25c32eSJoseph Chen				clocks = <&cru HCLK_VPU_PRE>;
712be7064f8SJoseph Chen				pm_qos = <&qos_vpu>;
713be7064f8SJoseph Chen			};
714be7064f8SJoseph Chen			pd_rkvdec@RK3568_PD_RKVDEC {
7152d25c32eSJoseph Chen				clocks = <&cru HCLK_RKVDEC_PRE>;
716be7064f8SJoseph Chen				reg = <RK3568_PD_RKVDEC>;
717be7064f8SJoseph Chen				pm_qos = <&qos_rkvdec>;
718be7064f8SJoseph Chen			};
719be7064f8SJoseph Chen			pd_rkvenc@RK3568_PD_RKVENC {
720be7064f8SJoseph Chen				reg = <RK3568_PD_RKVENC>;
7212d25c32eSJoseph Chen				clocks = <&cru HCLK_RKVENC_PRE>;
722be7064f8SJoseph Chen				pm_qos = <&qos_rkvenc_rd_m0>,
723be7064f8SJoseph Chen					 <&qos_rkvenc_rd_m1>,
724be7064f8SJoseph Chen					 <&qos_rkvenc_wr_m0>;
725be7064f8SJoseph Chen			};
726be7064f8SJoseph Chen			pd_pipe@RK3568_PD_PIPE {
727be7064f8SJoseph Chen				reg = <RK3568_PD_PIPE>;
7282d25c32eSJoseph Chen				clocks = <&cru PCLK_PIPE>;
729be7064f8SJoseph Chen				pm_qos = <&qos_pcie2x1>,
730be7064f8SJoseph Chen					 <&qos_pcie3x1>,
731be7064f8SJoseph Chen					 <&qos_pcie3x2>,
732be7064f8SJoseph Chen					 <&qos_sata0>,
733be7064f8SJoseph Chen					 <&qos_sata1>,
734be7064f8SJoseph Chen					 <&qos_sata2>,
735be7064f8SJoseph Chen					 <&qos_usb3_0>,
736be7064f8SJoseph Chen					 <&qos_usb3_1>;
737be7064f8SJoseph Chen			};
738be7064f8SJoseph Chen		};
739be7064f8SJoseph Chen	};
740be7064f8SJoseph Chen
7412d25c32eSJoseph Chen	pvtm@fde00000 {
7422d25c32eSJoseph Chen		compatible = "rockchip,rk3568-core-pvtm";
7432d25c32eSJoseph Chen		reg = <0x0 0xfde00000 0x0 0x100>;
7442d25c32eSJoseph Chen		#address-cells = <1>;
7452d25c32eSJoseph Chen		#size-cells = <0>;
7462d25c32eSJoseph Chen		pvtm@0 {
7472d25c32eSJoseph Chen			reg = <0>;
7482d25c32eSJoseph Chen			clocks = <&cru CLK_CORE_PVTM>, <&cru PCLK_CORE_PVTM>;
7492d25c32eSJoseph Chen			clock-names = "clk", "pclk";
7502d25c32eSJoseph Chen			resets = <&cru SRST_CORE_PVTM>, <&cru SRST_P_CORE_PVTM>;
7512d25c32eSJoseph Chen			reset-names = "rts", "rst-p";
7522d25c32eSJoseph Chen			thermal-zone = "soc-thermal";
7532d25c32eSJoseph Chen		};
7542d25c32eSJoseph Chen	};
7552d25c32eSJoseph Chen
756be7064f8SJoseph Chen	gpu: gpu@fde60000 {
757be7064f8SJoseph Chen		compatible = "arm,malit602", "arm,malit60x", "arm,malit6xx", "arm,mali-midgard";
758be7064f8SJoseph Chen		reg = <0x0 0xfde60000 0x0 0x4000>;
759be7064f8SJoseph Chen
760be7064f8SJoseph Chen		interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>,
761be7064f8SJoseph Chen			     <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
762be7064f8SJoseph Chen			     <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
763be7064f8SJoseph Chen		interrupt-names = "GPU", "MMU", "JOB";
764be7064f8SJoseph Chen
765be7064f8SJoseph Chen		upthreshold = <40>;
766be7064f8SJoseph Chen		downdifferential = <10>;
767be7064f8SJoseph Chen
768be7064f8SJoseph Chen		clocks = <&cru CLK_GPU>;
769be7064f8SJoseph Chen		clock-names = "clk_mali";
770be7064f8SJoseph Chen		power-domains = <&power RK3568_PD_GPU>;
771be7064f8SJoseph Chen		#cooling-cells = <2>;
772be7064f8SJoseph Chen		operating-points-v2 = <&gpu_opp_table>;
773be7064f8SJoseph Chen
774be7064f8SJoseph Chen		status = "disabled";
775be7064f8SJoseph Chen		power_model {
776be7064f8SJoseph Chen			compatible = "arm,mali-simple-power-model";
777be7064f8SJoseph Chen			static-coefficient = <411000>;
778be7064f8SJoseph Chen			dynamic-coefficient = <733>;
779be7064f8SJoseph Chen			ts = <32000 4700 (-80) 2>;
780be7064f8SJoseph Chen			thermal-zone = "gpu-thermal";
781be7064f8SJoseph Chen		};
782be7064f8SJoseph Chen	};
783be7064f8SJoseph Chen
784be7064f8SJoseph Chen	gpu_opp_table: opp-table2 {
785be7064f8SJoseph Chen		compatible = "operating-points-v2";
786be7064f8SJoseph Chen
787be7064f8SJoseph Chen		opp-200000000 {
788be7064f8SJoseph Chen			opp-hz = /bits/ 64 <200000000>;
789be7064f8SJoseph Chen			opp-microvolt = <1000000>;
790be7064f8SJoseph Chen		};
791be7064f8SJoseph Chen		opp-300000000 {
792be7064f8SJoseph Chen			opp-hz = /bits/ 64 <300000000>;
793be7064f8SJoseph Chen			opp-microvolt = <1000000>;
794be7064f8SJoseph Chen		};
795be7064f8SJoseph Chen		opp-400000000 {
796be7064f8SJoseph Chen			opp-hz = /bits/ 64 <400000000>;
797be7064f8SJoseph Chen			opp-microvolt = <1000000>;
798be7064f8SJoseph Chen		};
799be7064f8SJoseph Chen		opp-600000000 {
800be7064f8SJoseph Chen			opp-hz = /bits/ 64 <600000000>;
801be7064f8SJoseph Chen			opp-microvolt = <1000000>;
802be7064f8SJoseph Chen		};
803be7064f8SJoseph Chen	};
804be7064f8SJoseph Chen
8052d25c32eSJoseph Chen	pvtm@fde80000 {
8062d25c32eSJoseph Chen		compatible = "rockchip,rk3568-gpu-pvtm";
8072d25c32eSJoseph Chen		reg = <0x0 0xfde80000 0x0 0x100>;
8082d25c32eSJoseph Chen		#address-cells = <1>;
8092d25c32eSJoseph Chen		#size-cells = <0>;
8102d25c32eSJoseph Chen		pvtm@1 {
8112d25c32eSJoseph Chen			reg = <1>;
8122d25c32eSJoseph Chen			clocks = <&cru CLK_GPU_PVTM>, <&cru PCLK_GPU_PVTM>;
8132d25c32eSJoseph Chen			clock-names = "clk", "pclk";
8142d25c32eSJoseph Chen			resets = <&cru SRST_GPU_PVTM>, <&cru SRST_P_GPU_PVTM>;
8152d25c32eSJoseph Chen			reset-names = "rts", "rst-p";
8162d25c32eSJoseph Chen			thermal-zone = "gpu-thermal";
8172d25c32eSJoseph Chen		};
8182d25c32eSJoseph Chen	};
8192d25c32eSJoseph Chen
8202d25c32eSJoseph Chen	pvtm@fde90000 {
8212d25c32eSJoseph Chen		compatible = "rockchip,rk3568-npu-pvtm";
8222d25c32eSJoseph Chen		reg = <0x0 0xfde90000 0x0 0x100>;
8232d25c32eSJoseph Chen		#address-cells = <1>;
8242d25c32eSJoseph Chen		#size-cells = <0>;
8252d25c32eSJoseph Chen		pvtm@2 {
8262d25c32eSJoseph Chen			reg = <2>;
8272d25c32eSJoseph Chen			clocks = <&cru CLK_NPU_PVTM>, <&cru PCLK_NPU_PVTM>,
8282d25c32eSJoseph Chen				 <&cru HCLK_NPU_PRE>;
8292d25c32eSJoseph Chen			clock-names = "clk", "pclk", "hclk";
8302d25c32eSJoseph Chen			resets = <&cru SRST_NPU_PVTM>, <&cru SRST_P_NPU_PVTM>;
8312d25c32eSJoseph Chen			reset-names = "rts", "rst-p";
8322d25c32eSJoseph Chen			thermal-zone = "soc-thermal";
8332d25c32eSJoseph Chen		};
8342d25c32eSJoseph Chen	};
8352d25c32eSJoseph Chen
8362d25c32eSJoseph Chen	vdpu: vdpu@fdea0400 {
8372d25c32eSJoseph Chen		compatible = "rockchip,vpu-decoder-v2";
8382d25c32eSJoseph Chen		reg = <0x0 0xfdea0400 0x0 0x400>;
8392d25c32eSJoseph Chen		interrupts = <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>;
8402d25c32eSJoseph Chen		interrupt-names = "irq_dec";
8412d25c32eSJoseph Chen		clocks = <&cru ACLK_VPU>, <&cru HCLK_VPU>;
8422d25c32eSJoseph Chen		clock-names = "aclk_vcodec", "hclk_vcodec";
8432d25c32eSJoseph Chen		resets = <&cru SRST_A_VPU>, <&cru SRST_H_VPU>;
8442d25c32eSJoseph Chen		reset-names = "video_a", "video_h";
8452d25c32eSJoseph Chen		iommus = <&vdpu_mmu>;
8462d25c32eSJoseph Chen		power-domains = <&power RK3568_PD_VPU>;
8472d25c32eSJoseph Chen		rockchip,srv = <&mpp_srv>;
8482d25c32eSJoseph Chen		rockchip,taskqueue-node = <0>;
8492d25c32eSJoseph Chen		rockchip,resetgroup-node = <0>;
8502d25c32eSJoseph Chen		status = "disabled";
8512d25c32eSJoseph Chen	};
8522d25c32eSJoseph Chen
8532d25c32eSJoseph Chen	vdpu_mmu: iommu@fdea0800 {
8542d25c32eSJoseph Chen		compatible = "rockchip,iommu-v2";
8552d25c32eSJoseph Chen		reg = <0x0 0xfdea0800 0x0 0x40>;
8562d25c32eSJoseph Chen		interrupts = <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
8572d25c32eSJoseph Chen		interrupt-names = "vdpu_mmu";
8582d25c32eSJoseph Chen		clock-names = "aclk", "iface";
8592d25c32eSJoseph Chen		clocks = <&cru ACLK_VPU>, <&cru HCLK_VPU>;
8602d25c32eSJoseph Chen		power-domains = <&power RK3568_PD_VPU>;
8612d25c32eSJoseph Chen		#iommu-cells = <0>;
8622d25c32eSJoseph Chen		status = "disabled";
8632d25c32eSJoseph Chen	};
8642d25c32eSJoseph Chen
8652d25c32eSJoseph Chen	rk_rga: rk_rga@fdeb0000 {
8662d25c32eSJoseph Chen		compatible = "rockchip,rga2";
8672d25c32eSJoseph Chen		reg = <0x0 0xfdeb0000 0x0 0x1000>;
8682d25c32eSJoseph Chen		interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
8692d25c32eSJoseph Chen		clocks = <&cru ACLK_RGA>, <&cru HCLK_RGA>, <&cru CLK_RGA_CORE>;
8702d25c32eSJoseph Chen		clock-names = "aclk_rga", "hclk_rga", "clk_rga";
8712d25c32eSJoseph Chen		power-domains = <&power RK3568_PD_RGA>;
8722d25c32eSJoseph Chen		status = "disabled";
8732d25c32eSJoseph Chen	};
8742d25c32eSJoseph Chen
8752d25c32eSJoseph Chen	ebc: ebc@fdec0000 {
8762d25c32eSJoseph Chen		compatible = "rockchip,rk3568-ebc-tcon";
8772d25c32eSJoseph Chen		reg = <0x0 0xfdec0000 0x0 0x5000>;
8782d25c32eSJoseph Chen		interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
8792d25c32eSJoseph Chen		clocks = <&cru HCLK_EBC>, <&cru DCLK_EBC>;
8802d25c32eSJoseph Chen		clock-names = "hclk", "dclk";
8812d25c32eSJoseph Chen		power-domains = <&power RK3568_PD_RGA>;
8822d25c32eSJoseph Chen		rockchip,grf = <&grf>;
8832d25c32eSJoseph Chen		pinctrl-names = "default";
8842d25c32eSJoseph Chen		pinctrl-0 = <&ebc_pins>;
8852d25c32eSJoseph Chen		status = "disabled";
8862d25c32eSJoseph Chen	};
8872d25c32eSJoseph Chen
8882d25c32eSJoseph Chen	jpegd: jpegd@fded0000 {
8892d25c32eSJoseph Chen		compatible = "rockchip,rkv-jpeg-decoder-v1";
8902d25c32eSJoseph Chen		reg = <0x0 0xfded0000 0x0 0x400>;
8912d25c32eSJoseph Chen		interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
8922d25c32eSJoseph Chen		clocks = <&cru ACLK_JDEC>, <&cru HCLK_JDEC>;
8932d25c32eSJoseph Chen		clock-names = "aclk_vcodec", "hclk_vcodec";
8942d25c32eSJoseph Chen		rockchip,normal-rates = <297000000>, <0>;
8952d25c32eSJoseph Chen		resets = <&cru SRST_A_JDEC>, <&cru SRST_H_JDEC>;
8962d25c32eSJoseph Chen		reset-names = "video_a", "video_h";
8972d25c32eSJoseph Chen		iommus = <&jpegd_mmu>;
8982d25c32eSJoseph Chen		rockchip,srv = <&mpp_srv>;
8992d25c32eSJoseph Chen		rockchip,taskqueue-node = <1>;
9002d25c32eSJoseph Chen		rockchip,resetgroup-node = <1>;
9012d25c32eSJoseph Chen		power-domains = <&power RK3568_PD_RGA>;
9022d25c32eSJoseph Chen		status = "disabled";
9032d25c32eSJoseph Chen	};
9042d25c32eSJoseph Chen
9052d25c32eSJoseph Chen	jpegd_mmu: iommu@fded0480 {
9062d25c32eSJoseph Chen		compatible = "rockchip,iommu-v2";
9072d25c32eSJoseph Chen		reg = <0x0 0xfded0480 0x0 0x40>;
9082d25c32eSJoseph Chen		interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
9092d25c32eSJoseph Chen		interrupt-names = "jpegd_mmu";
9102d25c32eSJoseph Chen		clock-names = "aclk", "iface";
9112d25c32eSJoseph Chen		clocks = <&cru ACLK_JDEC>, <&cru HCLK_JDEC>;
9122d25c32eSJoseph Chen		power-domains = <&power RK3568_PD_RGA>;
9132d25c32eSJoseph Chen		#iommu-cells = <0>;
9142d25c32eSJoseph Chen		status = "disabled";
9152d25c32eSJoseph Chen	};
9162d25c32eSJoseph Chen
9172d25c32eSJoseph Chen	vepu: vepu@fdee0000 {
9182d25c32eSJoseph Chen		compatible = "rockchip,vpu-encoder-v2";
9192d25c32eSJoseph Chen		reg = <0x0 0xfdee0000 0x0 0x400>;
9202d25c32eSJoseph Chen		interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
9212d25c32eSJoseph Chen		clocks = <&cru ACLK_JENC>, <&cru HCLK_JENC>;
9222d25c32eSJoseph Chen		clock-names = "aclk_vcodec", "hclk_vcodec";
9232d25c32eSJoseph Chen		rockchip,normal-rates = <297000000>, <0>;
9242d25c32eSJoseph Chen		resets = <&cru SRST_A_JENC>, <&cru SRST_H_JENC>;
9252d25c32eSJoseph Chen		reset-names = "video_a", "video_h";
9262d25c32eSJoseph Chen		iommus = <&vepu_mmu>;
9272d25c32eSJoseph Chen		rockchip,srv = <&mpp_srv>;
9282d25c32eSJoseph Chen		rockchip,taskqueue-node = <2>;
9292d25c32eSJoseph Chen		rockchip,resetgroup-node = <2>;
9302d25c32eSJoseph Chen		power-domains = <&power RK3568_PD_RGA>;
9312d25c32eSJoseph Chen		status = "disabled";
9322d25c32eSJoseph Chen	};
9332d25c32eSJoseph Chen
9342d25c32eSJoseph Chen	vepu_mmu: iommu@fdee0800 {
9352d25c32eSJoseph Chen		compatible = "rockchip,iommu-v2";
9362d25c32eSJoseph Chen		reg = <0x0 0xfdee0800 0x0 0x40>;
9372d25c32eSJoseph Chen		interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
9382d25c32eSJoseph Chen		interrupt-names = "vepu_mmu";
9392d25c32eSJoseph Chen		clock-names = "aclk", "iface";
9402d25c32eSJoseph Chen		clocks = <&cru ACLK_JENC>, <&cru HCLK_JENC>;
9412d25c32eSJoseph Chen		power-domains = <&power RK3568_PD_RGA>;
9422d25c32eSJoseph Chen		#iommu-cells = <0>;
9432d25c32eSJoseph Chen		status = "disabled";
9442d25c32eSJoseph Chen	};
9452d25c32eSJoseph Chen
9462d25c32eSJoseph Chen	iep: iep@fdef0000 {
9472d25c32eSJoseph Chen		compatible = "rockchip,iep-v2";
9482d25c32eSJoseph Chen		reg = <0x0 0xfdef0000 0x0 0x500>;
9492d25c32eSJoseph Chen		interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
9502d25c32eSJoseph Chen		clocks = <&cru ACLK_IEP>, <&cru HCLK_IEP>, <&cru CLK_IEP_CORE>;
9512d25c32eSJoseph Chen		clock-names = "aclk", "hclk", "sclk";
9522d25c32eSJoseph Chen		resets = <&cru SRST_A_IEP>, <&cru SRST_H_IEP>,
9532d25c32eSJoseph Chen			<&cru SRST_IEP_CORE>;
9542d25c32eSJoseph Chen		reset-names = "rst_a", "rst_h", "rst_s";
9552d25c32eSJoseph Chen		power-domains = <&power RK3568_PD_RGA>;
9562d25c32eSJoseph Chen		rockchip,srv = <&mpp_srv>;
9572d25c32eSJoseph Chen		rockchip,taskqueue-node = <5>;
9582d25c32eSJoseph Chen		rockchip,resetgroup-node = <5>;
9592d25c32eSJoseph Chen		iommus = <&iep_mmu>;
9602d25c32eSJoseph Chen		status = "disabled";
9612d25c32eSJoseph Chen	};
9622d25c32eSJoseph Chen
9632d25c32eSJoseph Chen	iep_mmu: iommu@fdef0800 {
9642d25c32eSJoseph Chen		compatible = "rockchip,iommu-v2";
9652d25c32eSJoseph Chen		reg = <0x0 0xfdef0800 0x0 0x100>;
9662d25c32eSJoseph Chen		interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
9672d25c32eSJoseph Chen		interrupt-names = "iep_mmu";
9682d25c32eSJoseph Chen		clocks = <&cru ACLK_IEP>, <&cru HCLK_IEP>;
9692d25c32eSJoseph Chen		clock-names = "aclk", "iface";
9702d25c32eSJoseph Chen		#iommu-cells = <0>;
9712d25c32eSJoseph Chen		power-domains = <&power RK3568_PD_RGA>;
9722d25c32eSJoseph Chen		//rockchip,disable-device-link-resume;
9732d25c32eSJoseph Chen		status = "disabled";
9742d25c32eSJoseph Chen	};
9752d25c32eSJoseph Chen
9762d25c32eSJoseph Chen	eink: eink@fdf00000 {
9772d25c32eSJoseph Chen		compatible = "rockchip,rk3568-eink-tcon";
9782d25c32eSJoseph Chen		reg = <0x0 0xfdf00000 0x0 0x74>;
9792d25c32eSJoseph Chen		interrupts = <GIC_SPI 178 IRQ_TYPE_LEVEL_HIGH>;
9802d25c32eSJoseph Chen		clocks = <&cru PCLK_EINK>, <&cru HCLK_EINK>;
9812d25c32eSJoseph Chen		clock-names = "pclk", "hclk";
9822d25c32eSJoseph Chen		status = "disabled";
9832d25c32eSJoseph Chen	};
9842d25c32eSJoseph Chen
9852d25c32eSJoseph Chen	rkvenc: rkvenc@fdf40000 {
9862d25c32eSJoseph Chen		compatible = "rockchip,rkv-encoder-v1";
9872d25c32eSJoseph Chen		reg = <0x0 0xfdf40000 0x0 0x400>;
9882d25c32eSJoseph Chen		interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>;
9892d25c32eSJoseph Chen		interrupt-names = "irq_enc";
9902d25c32eSJoseph Chen		clocks = <&cru ACLK_RKVENC>, <&cru HCLK_RKVENC>,
9912d25c32eSJoseph Chen			<&cru CLK_RKVENC_CORE>;
9922d25c32eSJoseph Chen		clock-names = "aclk_vcodec", "hclk_vcodec", "clk_core";
9932d25c32eSJoseph Chen		rockchip,normal-rates = <297000000>, <0>, <400000000>;
9942d25c32eSJoseph Chen		rockchip,advanced-rates = <297000000>, <0>, <500000000>;
9952d25c32eSJoseph Chen		rockchip,default-max-load = <2088960>;
9962d25c32eSJoseph Chen		resets = <&cru SRST_A_RKVENC>, <&cru SRST_H_RKVENC>,
9972d25c32eSJoseph Chen			<&cru SRST_RKVENC_CORE>;
9982d25c32eSJoseph Chen		reset-names = "video_a", "video_h", "video_core";
9992d25c32eSJoseph Chen		assigned-clocks = <&cru ACLK_RKVENC>, <&cru CLK_RKVENC_CORE>;
10002d25c32eSJoseph Chen		assigned-clock-rates = <297000000>, <297000000>;
10012d25c32eSJoseph Chen		iommus = <&rkvenc_mmu>;
10022d25c32eSJoseph Chen		node-name = "rkvenc";
10032d25c32eSJoseph Chen		rockchip,srv = <&mpp_srv>;
10042d25c32eSJoseph Chen		rockchip,taskqueue-node = <3>;
10052d25c32eSJoseph Chen		rockchip,resetgroup-node = <3>;
10062d25c32eSJoseph Chen		power-domains = <&power RK3568_PD_RKVENC>;
10072d25c32eSJoseph Chen		status = "disabled";
10082d25c32eSJoseph Chen	};
10092d25c32eSJoseph Chen
10102d25c32eSJoseph Chen	rkvenc_mmu: iommu@fdf40f00 {
10112d25c32eSJoseph Chen		compatible = "rockchip,iommu-v2";
10122d25c32eSJoseph Chen		reg = <0x0 0xfdf40f00 0x0 0x40>, <0x0 0xfdf40f40 0x0 0x40>;
10132d25c32eSJoseph Chen		interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>,
10142d25c32eSJoseph Chen			<GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>;
10152d25c32eSJoseph Chen		interrupt-names = "rkvenc_mmu0", "rkvenc_mmu1";
10162d25c32eSJoseph Chen		clocks = <&cru ACLK_RKVENC>, <&cru HCLK_RKVENC>;
10172d25c32eSJoseph Chen		clock-names = "aclk", "iface";
10182d25c32eSJoseph Chen		rockchip,disable-mmu-reset;
10192d25c32eSJoseph Chen		rockchip,enable-cmd-retry;
10202d25c32eSJoseph Chen		#iommu-cells = <0>;
10212d25c32eSJoseph Chen		power-domains = <&power RK3568_PD_RKVENC>;
10222d25c32eSJoseph Chen		status = "disabled";
10232d25c32eSJoseph Chen	};
10242d25c32eSJoseph Chen
10252d25c32eSJoseph Chen	rkvdec: rkvdec@fdf80200 {
10262d25c32eSJoseph Chen		compatible = "rockchip,rkv-decoder-v2";
10272d25c32eSJoseph Chen		reg = <0x0 0xfdf80200 0x0 0x400>;
10282d25c32eSJoseph Chen		interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
10292d25c32eSJoseph Chen		interrupt-names = "irq_dec";
10302d25c32eSJoseph Chen		clocks = <&cru ACLK_RKVDEC>, <&cru HCLK_RKVDEC>,
10312d25c32eSJoseph Chen			 <&cru CLK_RKVDEC_CA>, <&cru CLK_RKVDEC_CORE>,
10322d25c32eSJoseph Chen			 <&cru CLK_RKVDEC_HEVC_CA>;
10332d25c32eSJoseph Chen		clock-names = "aclk_vcodec", "hclk_vcodec","clk_cabac",
10342d25c32eSJoseph Chen			      "clk_core", "clk_hevc_cabac";
10352d25c32eSJoseph Chen		rockchip,normal-rates = <297000000>, <0>, <297000000>,
10362d25c32eSJoseph Chen					<297000000>, <400000000>;
10372d25c32eSJoseph Chen		rockchip,advanced-rates = <400000000>, <0>, <400000000>,
10382d25c32eSJoseph Chen					<400000000>, <500000000>;
10392d25c32eSJoseph Chen		rockchip,default-max-load = <2088960>;
10402d25c32eSJoseph Chen		resets = <&cru SRST_A_RKVDEC>, <&cru SRST_H_RKVDEC>,
10412d25c32eSJoseph Chen			 <&cru SRST_RKVDEC_CA>, <&cru SRST_RKVDEC_CORE>,
10422d25c32eSJoseph Chen			 <&cru SRST_RKVDEC_HEVC_CA>;
10432d25c32eSJoseph Chen		assigned-clocks = <&cru ACLK_RKVDEC>, <&cru CLK_RKVDEC_CA>,
10442d25c32eSJoseph Chen				  <&cru CLK_RKVDEC_CORE>, <&cru CLK_RKVDEC_HEVC_CA>;
10452d25c32eSJoseph Chen		assigned-clock-rates = <297000000>, <297000000>, <297000000>, <297000000>;
10462d25c32eSJoseph Chen		reset-names = "video_a", "video_h", "video_cabac",
10472d25c32eSJoseph Chen			      "video_core", "video_hevc_cabac";
10482d25c32eSJoseph Chen		power-domains = <&power RK3568_PD_RKVDEC>;
10492d25c32eSJoseph Chen		iommus = <&rkvdec_mmu>;
10502d25c32eSJoseph Chen		rockchip,srv = <&mpp_srv>;
10512d25c32eSJoseph Chen		rockchip,taskqueue-node = <4>;
10522d25c32eSJoseph Chen		rockchip,resetgroup-node = <4>;
10532d25c32eSJoseph Chen		status = "disabled";
10542d25c32eSJoseph Chen	};
10552d25c32eSJoseph Chen
10562d25c32eSJoseph Chen	rkvdec_mmu: iommu@fdf80800 {
10572d25c32eSJoseph Chen		compatible = "rockchip,iommu-v2";
10582d25c32eSJoseph Chen		reg = <0x0 0xfdf80800 0x0 0x40>, <0x0 0xfdf80840 0x0 0x40>;
10592d25c32eSJoseph Chen		interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
10602d25c32eSJoseph Chen		interrupt-names = "rkvdec_mmu";
10612d25c32eSJoseph Chen		clocks = <&cru ACLK_RKVDEC>, <&cru HCLK_RKVDEC>;
10622d25c32eSJoseph Chen		clock-names = "aclk", "iface";
10632d25c32eSJoseph Chen		power-domains = <&power RK3568_PD_RKVDEC>;
10642d25c32eSJoseph Chen		#iommu-cells = <0>;
10652d25c32eSJoseph Chen		status = "disabled";
10662d25c32eSJoseph Chen	};
10672d25c32eSJoseph Chen
10682d25c32eSJoseph Chen	mipi_csi2: mipi-csi2@fdfb0000 {
10692d25c32eSJoseph Chen		compatible = "rockchip,rk3568-mipi-csi2";
10702d25c32eSJoseph Chen		reg = <0x0 0xfdfb0000 0x0 0x10000>;
10712d25c32eSJoseph Chen		reg-names = "csihost_regs";
10722d25c32eSJoseph Chen		interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
10732d25c32eSJoseph Chen			     <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
10742d25c32eSJoseph Chen		interrupt-names = "csi-intr1", "csi-intr2";
10752d25c32eSJoseph Chen		clocks = <&cru PCLK_CSI2HOST1>, <&cru SRST_P_CSI2HOST1>;
10762d25c32eSJoseph Chen		clock-names = "pclk_csi2host", "srst_csihost_p";
10772d25c32eSJoseph Chen		power-domains = <&power RK3568_PD_VI>;
10782d25c32eSJoseph Chen		status = "disabled";
10792d25c32eSJoseph Chen	};
10802d25c32eSJoseph Chen
10812d25c32eSJoseph Chen	rkcif: rkcif@fdfe0000 {
10822d25c32eSJoseph Chen		compatible = "rockchip,rk3568-cif";
10832d25c32eSJoseph Chen		reg = <0x0 0xfdfe0000 0x0 0x8000>;
10842d25c32eSJoseph Chen		reg-names = "cif_regs";
10852d25c32eSJoseph Chen		interrupts = <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>;
10862d25c32eSJoseph Chen		interrupt-names = "cif-intr";
10872d25c32eSJoseph Chen
10882d25c32eSJoseph Chen		clocks = <&cru ACLK_VICAP>, <&cru HCLK_VICAP>,
10892d25c32eSJoseph Chen			 <&cru DCLK_VICAP>, <&cru ICLK_VICAP_G>;
10902d25c32eSJoseph Chen		clock-names = "aclk_cif", "hclk_cif",
10912d25c32eSJoseph Chen			      "dclk_cif", "iclk_cif_g";
10922d25c32eSJoseph Chen		resets = <&cru SRST_A_VICAP>, <&cru SRST_H_VICAP>,
10932d25c32eSJoseph Chen			 <&cru SRST_D_VICAP>, <&cru SRST_P_VICAP>,
10942d25c32eSJoseph Chen			 <&cru SRST_I_VICAP>;
10952d25c32eSJoseph Chen		reset-names = "rst_cif_a", "rst_cif_h",
10962d25c32eSJoseph Chen			      "rst_cif_d", "rst_cif_p",
10972d25c32eSJoseph Chen			      "rst_cif_i";
10982d25c32eSJoseph Chen		assigned-clocks = <&cru DCLK_VICAP>;
10992d25c32eSJoseph Chen		assigned-clock-rates = <300000000>;
11002d25c32eSJoseph Chen		power-domains = <&power RK3568_PD_VI>;
11012d25c32eSJoseph Chen		rockchip,grf = <&grf>;
11022d25c32eSJoseph Chen		iommus = <&rkcif_mmu>;
11032d25c32eSJoseph Chen		status = "disabled";
11042d25c32eSJoseph Chen	};
11052d25c32eSJoseph Chen
11062d25c32eSJoseph Chen	rkcif_mmu: iommu@fdfe0800 {
11072d25c32eSJoseph Chen		compatible = "rockchip,iommu";
11082d25c32eSJoseph Chen		reg = <0x0 0xfdfe0800 0x0 0x100>;
11092d25c32eSJoseph Chen		interrupts = <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>;
11102d25c32eSJoseph Chen		interrupt-names = "cif_mmu";
11112d25c32eSJoseph Chen		clocks = <&cru ACLK_VICAP>, <&cru HCLK_VICAP>;
11122d25c32eSJoseph Chen		clock-names = "aclk", "iface";
11132d25c32eSJoseph Chen		power-domains = <&power RK3568_PD_VI>;
11142d25c32eSJoseph Chen		#iommu-cells = <0>;
11152d25c32eSJoseph Chen		rockchip,disable-mmu-reset;
11162d25c32eSJoseph Chen		status = "disabled";
11172d25c32eSJoseph Chen	};
11182d25c32eSJoseph Chen
11192d25c32eSJoseph Chen	rkcif_dvp: rkcif_dvp {
11202d25c32eSJoseph Chen		compatible = "rockchip,rkcif-dvp";
11212d25c32eSJoseph Chen		rockchip,hw = <&rkcif>;
11222d25c32eSJoseph Chen		iommus = <&rkcif_mmu>;
11232d25c32eSJoseph Chen		status = "disabled";
11242d25c32eSJoseph Chen	};
11252d25c32eSJoseph Chen
11262d25c32eSJoseph Chen	rkcif_dvp_sditf: rkcif_dvp_sditf {
11272d25c32eSJoseph Chen		compatible = "rockchip,rkcif-sditf";
11282d25c32eSJoseph Chen		rockchip,cif = <&rkcif_dvp>;
11292d25c32eSJoseph Chen		status = "disabled";
11302d25c32eSJoseph Chen	};
11312d25c32eSJoseph Chen
11322d25c32eSJoseph Chen	rkcif_mipi_lvds: rkcif_mipi_lvds {
11332d25c32eSJoseph Chen		compatible = "rockchip,rkcif-mipi-lvds";
11342d25c32eSJoseph Chen		rockchip,hw = <&rkcif>;
11352d25c32eSJoseph Chen		iommus = <&rkcif_mmu>;
11362d25c32eSJoseph Chen		status = "disabled";
11372d25c32eSJoseph Chen	};
11382d25c32eSJoseph Chen
11392d25c32eSJoseph Chen	rkcif_mipi_lvds_sditf: rkcif_mipi_lvds_sditf {
11402d25c32eSJoseph Chen		compatible = "rockchip,rkcif-sditf";
11412d25c32eSJoseph Chen		rockchip,cif = <&rkcif_mipi_lvds>;
11422d25c32eSJoseph Chen		status = "disabled";
11432d25c32eSJoseph Chen	};
11442d25c32eSJoseph Chen
11452d25c32eSJoseph Chen	rkisp: rkisp@fdff0000 {
11462d25c32eSJoseph Chen		compatible = "rockchip,rk3568-rkisp";
11472d25c32eSJoseph Chen		reg = <0x0 0xfdff0000 0x0 0x10000>;
11482d25c32eSJoseph Chen		interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>,
11492d25c32eSJoseph Chen			     <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>,
11502d25c32eSJoseph Chen			     <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
11512d25c32eSJoseph Chen		interrupt-names = "mipi_irq", "mi_irq", "isp_irq";
11522d25c32eSJoseph Chen		clocks = <&cru ACLK_ISP>, <&cru HCLK_ISP>, <&cru CLK_ISP>;
11532d25c32eSJoseph Chen		clock-names = "aclk_isp", "hclk_isp", "clk_isp";
11542d25c32eSJoseph Chen		resets = <&cru SRST_ISP>, <&cru SRST_H_ISP>;
11552d25c32eSJoseph Chen		reset-names = "isp", "isp-h";
11562d25c32eSJoseph Chen		rockchip,grf = <&grf>;
11572d25c32eSJoseph Chen		power-domains = <&power RK3568_PD_VI>;
11582d25c32eSJoseph Chen		iommus = <&rkisp_mmu>;
11592d25c32eSJoseph Chen		status = "disabled";
11602d25c32eSJoseph Chen	};
11612d25c32eSJoseph Chen
11622d25c32eSJoseph Chen	rkisp_mmu: iommu@fdff1a00 {
11632d25c32eSJoseph Chen		compatible = "rockchip,iommu";
11642d25c32eSJoseph Chen		reg = <0x0 0xfdff1a00 0x0 0x100>;
11652d25c32eSJoseph Chen		interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
11662d25c32eSJoseph Chen		interrupt-names = "isp_mmu";
11672d25c32eSJoseph Chen		clocks = <&cru ACLK_ISP>, <&cru HCLK_ISP>;
11682d25c32eSJoseph Chen		clock-names = "aclk", "iface";
11692d25c32eSJoseph Chen		power-domains = <&power RK3568_PD_VI>;
11702d25c32eSJoseph Chen		#iommu-cells = <0>;
11712d25c32eSJoseph Chen		rockchip,disable-mmu-reset;
11722d25c32eSJoseph Chen		status = "disabled";
11732d25c32eSJoseph Chen	};
11742d25c32eSJoseph Chen
11752d25c32eSJoseph Chen	rkisp_vir0: rkisp-vir0 {
11762d25c32eSJoseph Chen		compatible = "rockchip,rkisp-vir";
11772d25c32eSJoseph Chen		rockchip,hw = <&rkisp>;
11782d25c32eSJoseph Chen		status = "disabled";
11792d25c32eSJoseph Chen	};
11802d25c32eSJoseph Chen
11812d25c32eSJoseph Chen	rkisp_vir1: rkisp-vir1 {
11822d25c32eSJoseph Chen		compatible = "rockchip,rkisp-vir";
11832d25c32eSJoseph Chen		rockchip,hw = <&rkisp>;
11842d25c32eSJoseph Chen		status = "disabled";
11852d25c32eSJoseph Chen	};
11862d25c32eSJoseph Chen
11872d25c32eSJoseph Chen	gmac1: ethernet@fe010000 {
11882d25c32eSJoseph Chen		compatible = "rockchip,rk3568-gmac", "snps,dwmac-4.20a";
11892d25c32eSJoseph Chen		reg = <0x0 0xfe010000 0x0 0x10000>;
11902d25c32eSJoseph Chen		interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>,
11912d25c32eSJoseph Chen			     <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
11922d25c32eSJoseph Chen		interrupt-names = "macirq", "eth_wake_irq";
11932d25c32eSJoseph Chen		rockchip,grf = <&grf>;
11942d25c32eSJoseph Chen		clocks = <&cru SCLK_GMAC1>, <&cru SCLK_GMAC1_RX_TX>,
11952d25c32eSJoseph Chen			 <&cru SCLK_GMAC1_RX_TX>, <&cru CLK_MAC1_REFOUT>,
11962d25c32eSJoseph Chen			 <&cru ACLK_GMAC1>, <&cru PCLK_GMAC1>,
11972d25c32eSJoseph Chen			 <&cru SCLK_GMAC1_RX_TX>, <&cru CLK_GMAC1_PTP_REF>;
11982d25c32eSJoseph Chen		clock-names = "stmmaceth", "mac_clk_rx",
11992d25c32eSJoseph Chen			      "mac_clk_tx", "clk_mac_refout",
12002d25c32eSJoseph Chen			      "aclk_mac", "pclk_mac",
12012d25c32eSJoseph Chen			      "clk_mac_speed", "ptp_ref";
12022d25c32eSJoseph Chen		resets = <&cru SRST_A_GMAC1>;
12032d25c32eSJoseph Chen		reset-names = "stmmaceth";
12042d25c32eSJoseph Chen
12052d25c32eSJoseph Chen		snps,mixed-burst;
12062d25c32eSJoseph Chen		snps,tso;
12072d25c32eSJoseph Chen
12082d25c32eSJoseph Chen		snps,axi-config = <&gmac1_stmmac_axi_setup>;
12092d25c32eSJoseph Chen		snps,mtl-rx-config = <&gmac1_mtl_rx_setup>;
12102d25c32eSJoseph Chen		snps,mtl-tx-config = <&gmac1_mtl_tx_setup>;
12112d25c32eSJoseph Chen		status = "disabled";
12122d25c32eSJoseph Chen
12132d25c32eSJoseph Chen		mdio1: mdio {
12142d25c32eSJoseph Chen			compatible = "snps,dwmac-mdio";
12152d25c32eSJoseph Chen			#address-cells = <0x1>;
12162d25c32eSJoseph Chen			#size-cells = <0x0>;
12172d25c32eSJoseph Chen		};
12182d25c32eSJoseph Chen
12192d25c32eSJoseph Chen		gmac1_stmmac_axi_setup: stmmac-axi-config {
12202d25c32eSJoseph Chen			snps,wr_osr_lmt = <4>;
12212d25c32eSJoseph Chen			snps,rd_osr_lmt = <8>;
12222d25c32eSJoseph Chen			snps,blen = <0 0 0 0 16 8 4>;
12232d25c32eSJoseph Chen		};
12242d25c32eSJoseph Chen
12252d25c32eSJoseph Chen		gmac1_mtl_rx_setup: rx-queues-config {
12262d25c32eSJoseph Chen			snps,rx-queues-to-use = <1>;
12272d25c32eSJoseph Chen			queue0 {};
12282d25c32eSJoseph Chen		};
12292d25c32eSJoseph Chen
12302d25c32eSJoseph Chen		gmac1_mtl_tx_setup: tx-queues-config {
12312d25c32eSJoseph Chen			snps,tx-queues-to-use = <1>;
12322d25c32eSJoseph Chen			queue0 {};
12332d25c32eSJoseph Chen		};
12342d25c32eSJoseph Chen	};
12352d25c32eSJoseph Chen
12362d25c32eSJoseph Chen	vop: vop@fe040000 {
12372d25c32eSJoseph Chen		compatible = "rockchip,rk3568-vop";
12382d25c32eSJoseph Chen		reg = <0x0 0xfe040000 0x0 0x3000>;
12392d25c32eSJoseph Chen		reg-names = "regs";
12402d25c32eSJoseph Chen		rockchip,grf = <&grf>;
12412d25c32eSJoseph Chen		interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
12422d25c32eSJoseph Chen		clocks = <&cru ACLK_VOP>, <&cru HCLK_VOP>, <&cru DCLK_VOP0>, <&cru DCLK_VOP1>, <&cru DCLK_VOP2>;
12432d25c32eSJoseph Chen		clock-names = "aclk_vop", "hclk_vop", "dclk_vp0", "dclk_vp1", "dclk_vp2";
12442d25c32eSJoseph Chen		iommus = <&vop_mmu>;
12452d25c32eSJoseph Chen		power-domains = <&power RK3568_PD_VO>;
12462d25c32eSJoseph Chen		status = "disabled";
12472d25c32eSJoseph Chen
12482d25c32eSJoseph Chen		vop_out: ports {
12492d25c32eSJoseph Chen			#address-cells = <1>;
12502d25c32eSJoseph Chen			#size-cells = <0>;
12512d25c32eSJoseph Chen
12522d25c32eSJoseph Chen			port@0 {
12532d25c32eSJoseph Chen				#address-cells = <1>;
12542d25c32eSJoseph Chen				#size-cells = <0>;
12552d25c32eSJoseph Chen				reg = <0>;
12562d25c32eSJoseph Chen
12572d25c32eSJoseph Chen				vp0_out_dsi0: endpoint@0 {
12582d25c32eSJoseph Chen					reg = <0>;
12592d25c32eSJoseph Chen					remote-endpoint = <&dsi0_in_vp0>;
12602d25c32eSJoseph Chen				};
12612d25c32eSJoseph Chen
12622d25c32eSJoseph Chen				vp0_out_dsi1: endpoint@1 {
12632d25c32eSJoseph Chen					reg = <1>;
12642d25c32eSJoseph Chen					remote-endpoint = <&dsi1_in_vp0>;
12652d25c32eSJoseph Chen				};
12662d25c32eSJoseph Chen
12672d25c32eSJoseph Chen				vp0_out_edp: endpoint@2 {
12682d25c32eSJoseph Chen					reg = <2>;
12692d25c32eSJoseph Chen					remote-endpoint = <&edp_in_vp0>;
12702d25c32eSJoseph Chen				};
12712d25c32eSJoseph Chen
12722d25c32eSJoseph Chen				vp0_out_hdmi: endpoint@3 {
12732d25c32eSJoseph Chen					reg = <3>;
12742d25c32eSJoseph Chen					remote-endpoint = <&hdmi_in_vp0>;
12752d25c32eSJoseph Chen				};
12762d25c32eSJoseph Chen			};
12772d25c32eSJoseph Chen
12782d25c32eSJoseph Chen			port@1 {
12792d25c32eSJoseph Chen				#address-cells = <1>;
12802d25c32eSJoseph Chen				#size-cells = <0>;
12812d25c32eSJoseph Chen				reg = <1>;
12822d25c32eSJoseph Chen
12832d25c32eSJoseph Chen				vp1_out_dsi0: endpoint@0 {
12842d25c32eSJoseph Chen					reg = <0>;
12852d25c32eSJoseph Chen					remote-endpoint = <&dsi0_in_vp1>;
12862d25c32eSJoseph Chen				};
12872d25c32eSJoseph Chen
12882d25c32eSJoseph Chen				vp1_out_dsi1: endpoint@1 {
12892d25c32eSJoseph Chen					reg = <1>;
12902d25c32eSJoseph Chen					remote-endpoint = <&dsi1_in_vp1>;
12912d25c32eSJoseph Chen				};
12922d25c32eSJoseph Chen
12932d25c32eSJoseph Chen				vp1_out_edp: endpoint@2 {
12942d25c32eSJoseph Chen					reg = <2>;
12952d25c32eSJoseph Chen					remote-endpoint = <&edp_in_vp1>;
12962d25c32eSJoseph Chen				};
12972d25c32eSJoseph Chen
12982d25c32eSJoseph Chen				vp1_out_hdmi: endpoint@3 {
12992d25c32eSJoseph Chen					reg = <3>;
13002d25c32eSJoseph Chen					remote-endpoint = <&hdmi_in_vp1>;
13012d25c32eSJoseph Chen				};
13022d25c32eSJoseph Chen
13032d25c32eSJoseph Chen				vp1_out_lvds0: endpoint@4 {
13042d25c32eSJoseph Chen					reg = <4>;
13052d25c32eSJoseph Chen					remote-endpoint = <&lvds0_in_vp1>;
13062d25c32eSJoseph Chen				};
13072d25c32eSJoseph Chen
13082d25c32eSJoseph Chen				vp1_out_lvds1: endpoint@5 {
13092d25c32eSJoseph Chen					reg = <5>;
13102d25c32eSJoseph Chen					remote-endpoint = <&lvds1_in_vp1>;
13112d25c32eSJoseph Chen				};
13122d25c32eSJoseph Chen
13132d25c32eSJoseph Chen			};
13142d25c32eSJoseph Chen
13152d25c32eSJoseph Chen			port@2 {
13162d25c32eSJoseph Chen				#address-cells = <1>;
13172d25c32eSJoseph Chen				#size-cells = <0>;
13182d25c32eSJoseph Chen
13192d25c32eSJoseph Chen				reg = <2>;
13202d25c32eSJoseph Chen
13212d25c32eSJoseph Chen				vp2_out_lvds0: endpoint@0 {
13222d25c32eSJoseph Chen					reg = <0>;
13232d25c32eSJoseph Chen					remote-endpoint = <&lvds0_in_vp2>;
13242d25c32eSJoseph Chen				};
13252d25c32eSJoseph Chen
13262d25c32eSJoseph Chen				vp2_out_lvds1: endpoint@1 {
13272d25c32eSJoseph Chen					reg = <1>;
13282d25c32eSJoseph Chen					remote-endpoint = <&lvds1_in_vp2>;
13292d25c32eSJoseph Chen				};
13302d25c32eSJoseph Chen
13312d25c32eSJoseph Chen				vp2_out_rgb: endpoint@2 {
13322d25c32eSJoseph Chen					reg = <2>;
13332d25c32eSJoseph Chen					remote-endpoint = <&rgb_in_vp2>;
13342d25c32eSJoseph Chen				};
13352d25c32eSJoseph Chen			};
13362d25c32eSJoseph Chen		};
13372d25c32eSJoseph Chen	};
13382d25c32eSJoseph Chen
13392d25c32eSJoseph Chen	vop_mmu: iommu@fe043e00 {
13402d25c32eSJoseph Chen		compatible = "rockchip,iommu-v2";
13412d25c32eSJoseph Chen		reg = <0x0 0xfe043e00 0x0 0x100>, <0x0 0xfe043f00 0x0 0x100>;
13422d25c32eSJoseph Chen		interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
13432d25c32eSJoseph Chen		interrupt-names = "vop_mmu";
13442d25c32eSJoseph Chen		clocks = <&cru ACLK_VOP>, <&cru HCLK_VOP>;
13452d25c32eSJoseph Chen		clock-names = "aclk", "iface";
13462d25c32eSJoseph Chen		#iommu-cells = <0>;
13472d25c32eSJoseph Chen		status = "disabled";
13482d25c32eSJoseph Chen	};
13492d25c32eSJoseph Chen
13502d25c32eSJoseph Chen	dsi0: dsi@fe060000 {
13512d25c32eSJoseph Chen		compatible = "rockchip,rk3568-mipi-dsi";
13522d25c32eSJoseph Chen		reg = <0x0 0xfe060000 0x0 0x10000>;
13532d25c32eSJoseph Chen		interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>;
13542d25c32eSJoseph Chen		clocks = <&cru PCLK_DSITX_0>, <&cru HCLK_VO>, <&mipi_dphy0>;
13552d25c32eSJoseph Chen		clock-names = "pclk", "hclk", "hs_clk";
13562d25c32eSJoseph Chen		resets = <&cru SRST_P_DSITX_0>;
13572d25c32eSJoseph Chen		reset-names = "apb";
13582d25c32eSJoseph Chen		phys = <&mipi_dphy0>;
13592d25c32eSJoseph Chen		phy-names = "mipi_dphy";
13602d25c32eSJoseph Chen		power-domains = <&power RK3568_PD_VO>;
13612d25c32eSJoseph Chen		rockchip,grf = <&grf>;
13622d25c32eSJoseph Chen		#address-cells = <1>;
13632d25c32eSJoseph Chen		#size-cells = <0>;
13642d25c32eSJoseph Chen		status = "disabled";
13652d25c32eSJoseph Chen
13662d25c32eSJoseph Chen		ports {
13672d25c32eSJoseph Chen			#address-cells = <1>;
13682d25c32eSJoseph Chen			#size-cells = <0>;
13692d25c32eSJoseph Chen
13702d25c32eSJoseph Chen			dsi0_in: port@0 {
13712d25c32eSJoseph Chen				reg = <0>;
13722d25c32eSJoseph Chen				#address-cells = <1>;
13732d25c32eSJoseph Chen				#size-cells = <0>;
13742d25c32eSJoseph Chen
13752d25c32eSJoseph Chen				dsi0_in_vp0: endpoint@0 {
13762d25c32eSJoseph Chen					reg = <0>;
13772d25c32eSJoseph Chen					remote-endpoint = <&vp0_out_dsi0>;
13782d25c32eSJoseph Chen				};
13792d25c32eSJoseph Chen
13802d25c32eSJoseph Chen				dsi0_in_vp1: endpoint@1 {
13812d25c32eSJoseph Chen					reg = <1>;
13822d25c32eSJoseph Chen					remote-endpoint = <&vp1_out_dsi0>;
13832d25c32eSJoseph Chen				};
13842d25c32eSJoseph Chen			};
13852d25c32eSJoseph Chen		};
13862d25c32eSJoseph Chen	};
13872d25c32eSJoseph Chen
13882d25c32eSJoseph Chen	dsi1: dsi@fe070000 {
13892d25c32eSJoseph Chen		compatible = "rockchip,rk3568-mipi-dsi";
13902d25c32eSJoseph Chen		reg = <0x0 0xfe070000 0x0 0x10000>;
13912d25c32eSJoseph Chen		interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
13922d25c32eSJoseph Chen		clocks = <&cru PCLK_DSITX_1>, <&cru HCLK_VO>, <&mipi_dphy1>;
13932d25c32eSJoseph Chen		clock-names = "pclk", "hclk", "hs_clk";
13942d25c32eSJoseph Chen		resets = <&cru SRST_P_DSITX_1>;
13952d25c32eSJoseph Chen		reset-names = "apb";
13962d25c32eSJoseph Chen		phys = <&mipi_dphy1>;
13972d25c32eSJoseph Chen		phy-names = "mipi_dphy";
13982d25c32eSJoseph Chen		power-domains = <&power RK3568_PD_VO>;
13992d25c32eSJoseph Chen		rockchip,grf = <&grf>;
14002d25c32eSJoseph Chen		#address-cells = <1>;
14012d25c32eSJoseph Chen		#size-cells = <0>;
14022d25c32eSJoseph Chen		status = "disabled";
14032d25c32eSJoseph Chen
14042d25c32eSJoseph Chen		ports {
14052d25c32eSJoseph Chen			#address-cells = <1>;
14062d25c32eSJoseph Chen			#size-cells = <0>;
14072d25c32eSJoseph Chen
14082d25c32eSJoseph Chen			dsi1_in: port@0 {
14092d25c32eSJoseph Chen				reg = <0>;
14102d25c32eSJoseph Chen				#address-cells = <1>;
14112d25c32eSJoseph Chen				#size-cells = <0>;
14122d25c32eSJoseph Chen
14132d25c32eSJoseph Chen				dsi1_in_vp0: endpoint@0 {
14142d25c32eSJoseph Chen					reg = <0>;
14152d25c32eSJoseph Chen					remote-endpoint = <&vp0_out_dsi1>;
14162d25c32eSJoseph Chen				};
14172d25c32eSJoseph Chen
14182d25c32eSJoseph Chen				dsi1_in_vp1: endpoint@1 {
14192d25c32eSJoseph Chen					reg = <1>;
14202d25c32eSJoseph Chen					remote-endpoint = <&vp1_out_dsi1>;
14212d25c32eSJoseph Chen				};
14222d25c32eSJoseph Chen			};
14232d25c32eSJoseph Chen		};
14242d25c32eSJoseph Chen	};
14252d25c32eSJoseph Chen
14262d25c32eSJoseph Chen	hdmi: hdmi@fe0a0000 {
14272d25c32eSJoseph Chen		compatible = "rockchip,rk3568-dw-hdmi";
14282d25c32eSJoseph Chen		reg = <0x0 0xfe0a0000 0x0 0x20000>;
14292d25c32eSJoseph Chen		interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
14302d25c32eSJoseph Chen		clocks = <&cru PCLK_HDMI_HOST>,
14312d25c32eSJoseph Chen			 <&cru CLK_HDMI_SFR>,
14322d25c32eSJoseph Chen			 <&cru CLK_HDMI_CEC>,
14332d25c32eSJoseph Chen			 <&pmucru PLL_HPLL>,
14342d25c32eSJoseph Chen			 <&cru HCLK_VOP>;
14352d25c32eSJoseph Chen		clock-names = "iahb", "isfr", "cec", "ref", "hclk";
14362d25c32eSJoseph Chen		power-domains = <&power RK3568_PD_VO>;
14372d25c32eSJoseph Chen		reg-io-width = <4>;
14382d25c32eSJoseph Chen		rockchip,grf = <&grf>;
14392d25c32eSJoseph Chen		#sound-dai-cells = <0>;
14402d25c32eSJoseph Chen		pinctrl-names = "default";
14412d25c32eSJoseph Chen		pinctrl-0 = <&hdmitx_scl &hdmitx_sda &hdmitxm0_cec>;
14422d25c32eSJoseph Chen		status = "disabled";
14432d25c32eSJoseph Chen
14442d25c32eSJoseph Chen		ports {
14452d25c32eSJoseph Chen			#address-cells = <1>;
14462d25c32eSJoseph Chen			#size-cells = <0>;
14472d25c32eSJoseph Chen
14482d25c32eSJoseph Chen			hdmi_in: port {
14492d25c32eSJoseph Chen				reg = <0>;
14502d25c32eSJoseph Chen				#address-cells = <1>;
14512d25c32eSJoseph Chen				#size-cells = <0>;
14522d25c32eSJoseph Chen
14532d25c32eSJoseph Chen				hdmi_in_vp0: endpoint@0 {
14542d25c32eSJoseph Chen					reg = <0>;
14552d25c32eSJoseph Chen					remote-endpoint = <&vp0_out_hdmi>;
14562d25c32eSJoseph Chen				};
14572d25c32eSJoseph Chen				hdmi_in_vp1: endpoint@1 {
14582d25c32eSJoseph Chen					reg = <1>;
14592d25c32eSJoseph Chen					remote-endpoint = <&vp1_out_hdmi>;
14602d25c32eSJoseph Chen				};
14612d25c32eSJoseph Chen			};
14622d25c32eSJoseph Chen		};
14632d25c32eSJoseph Chen	};
14642d25c32eSJoseph Chen
14652d25c32eSJoseph Chen	edp: edp@fe0c0000 {
14662d25c32eSJoseph Chen		compatible = "rockchip,rk3568-edp";
14672d25c32eSJoseph Chen		reg = <0x0 0xfe0c0000 0x0 0x10000>;
14682d25c32eSJoseph Chen		interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>;
14692d25c32eSJoseph Chen		clocks = <&pmucru XIN_OSC0_EDPPHY_G>, <&cru PCLK_EDP_CTRL>,
14702d25c32eSJoseph Chen			 <&cru CLK_EDP_200M>, <&cru HCLK_VO>;
14712d25c32eSJoseph Chen		clock-names = "dp", "pclk", "spdif", "hclk";
14722d25c32eSJoseph Chen		resets = <&cru SRST_EDP_24M>, <&cru SRST_P_EDP_CTRL>;
14732d25c32eSJoseph Chen		reset-names = "dp", "apb";
14742d25c32eSJoseph Chen		phys = <&edp_phy>;
14752d25c32eSJoseph Chen		phy-names = "dp";
14762d25c32eSJoseph Chen		power-domains = <&power RK3568_PD_VO>;
14772d25c32eSJoseph Chen		status = "disabled";
14782d25c32eSJoseph Chen
14792d25c32eSJoseph Chen		ports {
14802d25c32eSJoseph Chen			#address-cells = <1>;
14812d25c32eSJoseph Chen			#size-cells = <0>;
14822d25c32eSJoseph Chen
14832d25c32eSJoseph Chen			edp_in: port@0 {
14842d25c32eSJoseph Chen				reg = <0>;
14852d25c32eSJoseph Chen				#address-cells = <1>;
14862d25c32eSJoseph Chen				#size-cells = <0>;
14872d25c32eSJoseph Chen
14882d25c32eSJoseph Chen				edp_in_vp0: endpoint@0 {
14892d25c32eSJoseph Chen					reg = <0>;
14902d25c32eSJoseph Chen					remote-endpoint = <&vp0_out_edp>;
14912d25c32eSJoseph Chen				};
14922d25c32eSJoseph Chen
14932d25c32eSJoseph Chen				edp_in_vp1: endpoint@1 {
14942d25c32eSJoseph Chen					reg = <1>;
14952d25c32eSJoseph Chen					remote-endpoint = <&vp1_out_edp>;
14962d25c32eSJoseph Chen				};
14972d25c32eSJoseph Chen			};
14982d25c32eSJoseph Chen		};
14992d25c32eSJoseph Chen	};
15002d25c32eSJoseph Chen
1501be7064f8SJoseph Chen	qos_gpu: qos@fe128000 {
1502be7064f8SJoseph Chen		compatible = "syscon";
1503be7064f8SJoseph Chen		reg = <0x0 0xfe128000 0x0 0x20>;
1504be7064f8SJoseph Chen	};
1505be7064f8SJoseph Chen
1506be7064f8SJoseph Chen	qos_rkvenc_rd_m0: qos@fe138080 {
1507be7064f8SJoseph Chen		compatible = "syscon";
1508be7064f8SJoseph Chen		reg = <0x0 0xfe138080 0x0 0x20>;
1509be7064f8SJoseph Chen	};
1510be7064f8SJoseph Chen
1511be7064f8SJoseph Chen	qos_rkvenc_rd_m1: qos@fe138100 {
1512be7064f8SJoseph Chen		compatible = "syscon";
1513be7064f8SJoseph Chen		reg = <0x0 0xfe138100 0x0 0x20>;
1514be7064f8SJoseph Chen	};
1515be7064f8SJoseph Chen
1516be7064f8SJoseph Chen	qos_rkvenc_wr_m0: qos@fe138180 {
1517be7064f8SJoseph Chen		compatible = "syscon";
1518be7064f8SJoseph Chen		reg = <0x0 0xfe138180 0x0 0x20>;
1519be7064f8SJoseph Chen	};
1520be7064f8SJoseph Chen
1521be7064f8SJoseph Chen	qos_isp: qos@fe148000 {
1522be7064f8SJoseph Chen		compatible = "syscon";
1523be7064f8SJoseph Chen		reg = <0x0 0xfe148000 0x0 0x20>;
1524be7064f8SJoseph Chen	};
1525be7064f8SJoseph Chen
1526be7064f8SJoseph Chen	qos_vicap0: qos@fe148080 {
1527be7064f8SJoseph Chen		compatible = "syscon";
1528be7064f8SJoseph Chen		reg = <0x0 0xfe148080 0x0 0x20>;
1529be7064f8SJoseph Chen	};
1530be7064f8SJoseph Chen
1531be7064f8SJoseph Chen	qos_vicap1: qos@fe148100 {
1532be7064f8SJoseph Chen		compatible = "syscon";
1533be7064f8SJoseph Chen		reg = <0x0 0xfe148100 0x0 0x20>;
1534be7064f8SJoseph Chen	};
1535be7064f8SJoseph Chen
1536be7064f8SJoseph Chen	qos_vpu: qos@fe150000 {
1537be7064f8SJoseph Chen		compatible = "syscon";
1538be7064f8SJoseph Chen		reg = <0x0 0xfe150000 0x0 0x20>;
1539be7064f8SJoseph Chen	};
1540be7064f8SJoseph Chen
1541be7064f8SJoseph Chen	qos_ebc: qos@fe158000 {
1542be7064f8SJoseph Chen		compatible = "syscon";
1543be7064f8SJoseph Chen		reg = <0x0 0xfe158000 0x0 0x20>;
1544be7064f8SJoseph Chen	};
1545be7064f8SJoseph Chen
1546be7064f8SJoseph Chen	qos_iep: qos@fe158100 {
1547be7064f8SJoseph Chen		compatible = "syscon";
1548be7064f8SJoseph Chen		reg = <0x0 0xfe158100 0x0 0x20>;
1549be7064f8SJoseph Chen	};
1550be7064f8SJoseph Chen
1551be7064f8SJoseph Chen	qos_jpeg_dec: qos@fe158180 {
1552be7064f8SJoseph Chen		compatible = "syscon";
1553be7064f8SJoseph Chen		reg = <0x0 0xfe158180 0x0 0x20>;
1554be7064f8SJoseph Chen	};
1555be7064f8SJoseph Chen
1556be7064f8SJoseph Chen	qos_jpeg_enc: qos@fe158200 {
1557be7064f8SJoseph Chen		compatible = "syscon";
1558be7064f8SJoseph Chen		reg = <0x0 0xfe158200 0x0 0x20>;
1559be7064f8SJoseph Chen	};
1560be7064f8SJoseph Chen
1561be7064f8SJoseph Chen	qos_rga_rd: qos@fe158280 {
1562be7064f8SJoseph Chen		compatible = "syscon";
1563be7064f8SJoseph Chen		reg = <0x0 0xfe158280 0x0 0x20>;
1564be7064f8SJoseph Chen	};
1565be7064f8SJoseph Chen
1566be7064f8SJoseph Chen	qos_rga_wr: qos@fe158300 {
1567be7064f8SJoseph Chen		compatible = "syscon";
1568be7064f8SJoseph Chen		reg = <0x0 0xfe158300 0x0 0x20>;
1569be7064f8SJoseph Chen	};
1570be7064f8SJoseph Chen
1571be7064f8SJoseph Chen	qos_npu: qos@fe180000 {
1572be7064f8SJoseph Chen		compatible = "syscon";
1573be7064f8SJoseph Chen		reg = <0x0 0xfe180000 0x0 0x20>;
1574be7064f8SJoseph Chen	};
1575be7064f8SJoseph Chen
1576be7064f8SJoseph Chen	qos_pcie2x1: qos@fe190000 {
1577be7064f8SJoseph Chen		compatible = "syscon";
1578be7064f8SJoseph Chen		reg = <0x0 0xfe190000 0x0 0x20>;
1579be7064f8SJoseph Chen	};
1580be7064f8SJoseph Chen
1581be7064f8SJoseph Chen	qos_pcie3x1: qos@fe190080 {
1582be7064f8SJoseph Chen		compatible = "syscon";
1583be7064f8SJoseph Chen		reg = <0x0 0xfe190080 0x0 0x20>;
1584be7064f8SJoseph Chen	};
1585be7064f8SJoseph Chen
1586be7064f8SJoseph Chen	qos_pcie3x2: qos@fe190100 {
1587be7064f8SJoseph Chen		compatible = "syscon";
1588be7064f8SJoseph Chen		reg = <0x0 0xfe190100 0x0 0x20>;
1589be7064f8SJoseph Chen	};
1590be7064f8SJoseph Chen
1591be7064f8SJoseph Chen	qos_sata0: qos@fe190200 {
1592be7064f8SJoseph Chen		compatible = "syscon";
1593be7064f8SJoseph Chen		reg = <0x0 0xfe190200 0x0 0x20>;
1594be7064f8SJoseph Chen	};
1595be7064f8SJoseph Chen
1596be7064f8SJoseph Chen	qos_sata1: qos@fe190280 {
1597be7064f8SJoseph Chen		compatible = "syscon";
1598be7064f8SJoseph Chen		reg = <0x0 0xfe190280 0x0 0x20>;
1599be7064f8SJoseph Chen	};
1600be7064f8SJoseph Chen
1601be7064f8SJoseph Chen	qos_sata2: qos@fe190300 {
1602be7064f8SJoseph Chen		compatible = "syscon";
1603be7064f8SJoseph Chen		reg = <0x0 0xfe190300 0x0 0x20>;
1604be7064f8SJoseph Chen	};
1605be7064f8SJoseph Chen
1606be7064f8SJoseph Chen	qos_usb3_0: qos@fe190380 {
1607be7064f8SJoseph Chen		compatible = "syscon";
1608be7064f8SJoseph Chen		reg = <0x0 0xfe190380 0x0 0x20>;
1609be7064f8SJoseph Chen	};
1610be7064f8SJoseph Chen
1611be7064f8SJoseph Chen	qos_usb3_1: qos@fe190400 {
1612be7064f8SJoseph Chen		compatible = "syscon";
1613be7064f8SJoseph Chen		reg = <0x0 0xfe190400 0x0 0x20>;
1614be7064f8SJoseph Chen	};
1615be7064f8SJoseph Chen
1616be7064f8SJoseph Chen	qos_rkvdec: qos@fe198000 {
1617be7064f8SJoseph Chen		compatible = "syscon";
1618be7064f8SJoseph Chen		reg = <0x0 0xfe198000 0x0 0x20>;
1619be7064f8SJoseph Chen	};
1620be7064f8SJoseph Chen
1621be7064f8SJoseph Chen	qos_hdcp: qos@fe1a8000 {
1622be7064f8SJoseph Chen		compatible = "syscon";
1623be7064f8SJoseph Chen		reg = <0x0 0xfe1a8000 0x0 0x20>;
1624be7064f8SJoseph Chen	};
1625be7064f8SJoseph Chen
1626be7064f8SJoseph Chen	qos_vop_m0: qos@fe1a8080 {
1627be7064f8SJoseph Chen		compatible = "syscon";
1628be7064f8SJoseph Chen		reg = <0x0 0xfe1a8080 0x0 0x20>;
1629be7064f8SJoseph Chen	};
1630be7064f8SJoseph Chen
1631be7064f8SJoseph Chen	qos_vop_m1: qos@fe1a8100 {
1632be7064f8SJoseph Chen		compatible = "syscon";
1633be7064f8SJoseph Chen		reg = <0x0 0xfe1a8100 0x0 0x20>;
1634be7064f8SJoseph Chen	};
1635be7064f8SJoseph Chen
1636be7064f8SJoseph Chen	sdmmc2: dwmmc@fe000000 {
1637be7064f8SJoseph Chen		compatible = "rockchip,rk3568-dw-mshc",
1638be7064f8SJoseph Chen			     "rockchip,rk3288-dw-mshc";
1639be7064f8SJoseph Chen		reg = <0x0 0xfe000000 0x0 0x4000>;
1640be7064f8SJoseph Chen		interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
1641be7064f8SJoseph Chen		max-frequency = <150000000>;
1642be7064f8SJoseph Chen		clocks = <&cru HCLK_SDMMC2>, <&cru CLK_SDMMC2>,
1643be7064f8SJoseph Chen			 <&cru SCLK_SDMMC2_DRV>, <&cru SCLK_SDMMC2_SAMPLE>;
1644be7064f8SJoseph Chen		clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
1645be7064f8SJoseph Chen		fifo-depth = <0x100>;
1646be7064f8SJoseph Chen		resets = <&cru SRST_SDMMC2>;
1647be7064f8SJoseph Chen		reset-names = "reset";
1648be7064f8SJoseph Chen		status = "disabled";
1649be7064f8SJoseph Chen	};
1650be7064f8SJoseph Chen
16512d25c32eSJoseph Chen	pcie2x1: pcie@fe260000 {
16522d25c32eSJoseph Chen		compatible = "rockchip,rk3568-pcie", "snps,dw-pcie";
16532d25c32eSJoseph Chen		#address-cells = <3>;
16542d25c32eSJoseph Chen		#size-cells = <2>;
16552d25c32eSJoseph Chen		bus-range = <0x0 0x1f>;
16562d25c32eSJoseph Chen		clocks = <&cru ACLK_PCIE20_MST>, <&cru ACLK_PCIE20_SLV>,
16572d25c32eSJoseph Chen			 <&cru ACLK_PCIE20_DBI>, <&cru PCLK_PCIE20>;
16582d25c32eSJoseph Chen		clock-names = "aclk_mst", "aclk_slv",
16592d25c32eSJoseph Chen			      "aclk_dbi", "pclk";
16602d25c32eSJoseph Chen		device_type = "pci";
16612d25c32eSJoseph Chen		interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>,
16622d25c32eSJoseph Chen			     <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>,
16632d25c32eSJoseph Chen			     <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>,
16642d25c32eSJoseph Chen			     <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>,
16652d25c32eSJoseph Chen			     <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
16662d25c32eSJoseph Chen		interrupt-names = "sys", "pmc", "msg", "legacy", "err";
16672d25c32eSJoseph Chen		linux,pci-domain = <0>;
16682d25c32eSJoseph Chen		num-ib-windows = <6>;
16692d25c32eSJoseph Chen		num-ob-windows = <2>;
16702d25c32eSJoseph Chen		max-link-speed = <2>;
16712d25c32eSJoseph Chen		msi-map = <0x0 &its 0x0 0x1000>;
16722d25c32eSJoseph Chen		num-lanes = <1>;
16732d25c32eSJoseph Chen		phys = <&combphy2_psq PHY_TYPE_PCIE>;
16742d25c32eSJoseph Chen		phy-names = "pcie-phy";
16752d25c32eSJoseph Chen		power-domains = <&power RK3568_PD_PIPE>;
1676a92b58d4SJon Lin		ranges = <0x00000800 0x0 0xf4000000 0x0 0xf4000000 0x0 0x100000
1677a92b58d4SJon Lin			  0x81000000 0x0 0xf4100000 0x0 0xf4100000 0x0 0x100000
1678a92b58d4SJon Lin			  0x82000000 0x0 0xf4200000 0x0 0xf4200000 0x0 0x1e00000
1679a92b58d4SJon Lin			  0xc3000000 0x3 0x00000000 0x3 0x00000000 0x0 0x40000000>;
16802d25c32eSJoseph Chen		reg = <0x3 0xc0000000 0x0 0x400000>,
16812d25c32eSJoseph Chen		      <0x0 0xfe260000 0x0 0x10000>;
16822d25c32eSJoseph Chen		reg-names = "pcie-dbi", "pcie-apb";
16832d25c32eSJoseph Chen		resets = <&cru SRST_PCIE20_POWERUP>;
16842d25c32eSJoseph Chen		reset-names = "pipe";
16852d25c32eSJoseph Chen		status = "disabled";
16862d25c32eSJoseph Chen	};
16872d25c32eSJoseph Chen
16882d25c32eSJoseph Chen	pcie3x1: pcie@fe270000 {
16892d25c32eSJoseph Chen		compatible = "rockchip,rk3568-pcie", "snps,dw-pcie";
16902d25c32eSJoseph Chen		#address-cells = <3>;
16912d25c32eSJoseph Chen		#size-cells = <2>;
16922d25c32eSJoseph Chen		bus-range = <0x0 0x1f>;
16932d25c32eSJoseph Chen		clocks = <&cru ACLK_PCIE30X1_MST>, <&cru ACLK_PCIE30X1_SLV>,
16942d25c32eSJoseph Chen			 <&cru ACLK_PCIE30X1_DBI>, <&cru PCLK_PCIE30X1>;
16952d25c32eSJoseph Chen		clock-names = "aclk_mst", "aclk_slv",
16962d25c32eSJoseph Chen			      "aclk_dbi", "pclk";
16972d25c32eSJoseph Chen		device_type = "pci";
16982d25c32eSJoseph Chen		interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>,
16992d25c32eSJoseph Chen			     <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>,
17002d25c32eSJoseph Chen			     <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>,
17012d25c32eSJoseph Chen			     <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>,
17022d25c32eSJoseph Chen			     <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH>;
17032d25c32eSJoseph Chen		interrupt-names = "sys", "pmc", "msg", "legacy", "err";
17042d25c32eSJoseph Chen		linux,pci-domain = <1>;
17052d25c32eSJoseph Chen		num-ib-windows = <6>;
17062d25c32eSJoseph Chen		num-ob-windows = <2>;
17072d25c32eSJoseph Chen		max-link-speed = <3>;
17082d25c32eSJoseph Chen		msi-map = <0x0 &its 0x3000 0x1000>;
17092d25c32eSJoseph Chen		num-lanes = <1>;
17102d25c32eSJoseph Chen		phys = <&pcie30phy>;
17112d25c32eSJoseph Chen		phy-names = "pcie-phy";
17122d25c32eSJoseph Chen		power-domains = <&power RK3568_PD_PIPE>;
1713a92b58d4SJon Lin		ranges = <0x00000800 0x0 0xf2000000 0x0 0xf2000000 0x0 0x100000
1714a92b58d4SJon Lin			  0x81000000 0x0 0xf2100000 0x0 0xf2100000 0x0 0x100000
1715a92b58d4SJon Lin			  0x82000000 0x0 0xf2200000 0x0 0xf2200000 0x0 0x1e00000
1716a92b58d4SJon Lin			  0xc3000000 0x3 0x40000000 0x3 0x40000000 0x0 0x40000000>;
17172d25c32eSJoseph Chen		reg = <0x3 0xc0400000 0x0 0x400000>,
17182d25c32eSJoseph Chen		      <0x0 0xfe270000 0x0 0x10000>;
17192d25c32eSJoseph Chen		reg-names = "pcie-dbi", "pcie-apb";
17202d25c32eSJoseph Chen		resets = <&cru SRST_PCIE30X1_POWERUP>;
17212d25c32eSJoseph Chen		reset-names = "pipe";
17222d25c32eSJoseph Chen		/* rockchip,bifurcation; lane1 when using 1+1 */
17232d25c32eSJoseph Chen		status = "disabled";
17242d25c32eSJoseph Chen	};
17252d25c32eSJoseph Chen
17262d25c32eSJoseph Chen	pcie3x2: pcie@fe280000 {
17272d25c32eSJoseph Chen		compatible = "rockchip,rk3568-pcie", "snps,dw-pcie";
17282d25c32eSJoseph Chen		#address-cells = <3>;
17292d25c32eSJoseph Chen		#size-cells = <2>;
17302d25c32eSJoseph Chen		bus-range = <0x0 0x1f>;
17312d25c32eSJoseph Chen		clocks = <&cru ACLK_PCIE30X2_MST>, <&cru ACLK_PCIE30X2_SLV>,
17322d25c32eSJoseph Chen			 <&cru ACLK_PCIE30X2_DBI>, <&cru PCLK_PCIE30X2>;
17332d25c32eSJoseph Chen		clock-names = "aclk_mst", "aclk_slv",
17342d25c32eSJoseph Chen			      "aclk_dbi", "pclk";
17352d25c32eSJoseph Chen		device_type = "pci";
17362d25c32eSJoseph Chen		interrupts = <GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>,
17372d25c32eSJoseph Chen			     <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>,
17382d25c32eSJoseph Chen			     <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>,
17392d25c32eSJoseph Chen			     <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>,
17402d25c32eSJoseph Chen			     <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>;
17412d25c32eSJoseph Chen		interrupt-names = "sys", "pmc", "msg", "legacy", "err";
17422d25c32eSJoseph Chen		linux,pci-domain = <2>;
17432d25c32eSJoseph Chen		num-ib-windows = <6>;
17442d25c32eSJoseph Chen		num-ob-windows = <2>;
17452d25c32eSJoseph Chen		max-link-speed = <3>;
17462d25c32eSJoseph Chen		msi-map = <0x0 &its 0x2000 0x1000>;
17472d25c32eSJoseph Chen		num-lanes = <2>;
17482d25c32eSJoseph Chen		phys = <&pcie30phy>;
17492d25c32eSJoseph Chen		phy-names = "pcie-phy";
17502d25c32eSJoseph Chen		power-domains = <&power RK3568_PD_PIPE>;
1751a92b58d4SJon Lin		ranges = <0x00000800 0x0 0xf0000000 0x0 0xf0000000 0x0 0x100000
1752a92b58d4SJon Lin			  0x81000000 0x0 0xf0100000 0x0 0xf0100000 0x0 0x100000
1753a92b58d4SJon Lin			  0x82000000 0x0 0xf0200000 0x0 0xf0200000 0x0 0x1e00000
1754a92b58d4SJon Lin			  0xc3000000 0x3 0x80000000 0x3 0x80000000 0x0 0x40000000>;
17552d25c32eSJoseph Chen		reg = <0x3 0xc0800000 0x0 0x400000>,
17562d25c32eSJoseph Chen		      <0x0 0xfe280000 0x0 0x10000>;
17572d25c32eSJoseph Chen		reg-names = "pcie-dbi", "pcie-apb";
17582d25c32eSJoseph Chen		resets = <&cru SRST_PCIE30X2_POWERUP>;
17592d25c32eSJoseph Chen		reset-names = "pipe";
17602d25c32eSJoseph Chen		/* rockchip,bifurcation; lane0 when using 1+1 */
17612d25c32eSJoseph Chen		status = "disabled";
17622d25c32eSJoseph Chen	};
17632d25c32eSJoseph Chen
17642d25c32eSJoseph Chen	gmac0: ethernet@fe2a0000 {
17652d25c32eSJoseph Chen		compatible = "rockchip,rk3568-gmac", "snps,dwmac-4.20a";
17662d25c32eSJoseph Chen		reg = <0x0 0xfe2a0000 0x0 0x10000>;
17672d25c32eSJoseph Chen		interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>,
17682d25c32eSJoseph Chen			     <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
17692d25c32eSJoseph Chen		interrupt-names = "macirq", "eth_wake_irq";
17702d25c32eSJoseph Chen		rockchip,grf = <&grf>;
17712d25c32eSJoseph Chen		clocks = <&cru SCLK_GMAC0>, <&cru SCLK_GMAC0_RX_TX>,
17722d25c32eSJoseph Chen			 <&cru SCLK_GMAC0_RX_TX>, <&cru CLK_MAC0_REFOUT>,
17732d25c32eSJoseph Chen			 <&cru ACLK_GMAC0>, <&cru PCLK_GMAC0>,
17742d25c32eSJoseph Chen			 <&cru SCLK_GMAC0_RX_TX>, <&cru CLK_GMAC0_PTP_REF>;
17752d25c32eSJoseph Chen		clock-names = "stmmaceth", "mac_clk_rx",
17762d25c32eSJoseph Chen			      "mac_clk_tx", "clk_mac_refout",
17772d25c32eSJoseph Chen			      "aclk_mac", "pclk_mac",
17782d25c32eSJoseph Chen			      "clk_mac_speed", "ptp_ref";
17792d25c32eSJoseph Chen		resets = <&cru SRST_A_GMAC0>;
17802d25c32eSJoseph Chen		reset-names = "stmmaceth";
17812d25c32eSJoseph Chen
17822d25c32eSJoseph Chen		snps,mixed-burst;
17832d25c32eSJoseph Chen		snps,tso;
17842d25c32eSJoseph Chen
17852d25c32eSJoseph Chen		snps,axi-config = <&gmac0_stmmac_axi_setup>;
17862d25c32eSJoseph Chen		snps,mtl-rx-config = <&gmac0_mtl_rx_setup>;
17872d25c32eSJoseph Chen		snps,mtl-tx-config = <&gmac0_mtl_tx_setup>;
17882d25c32eSJoseph Chen		status = "disabled";
17892d25c32eSJoseph Chen
17902d25c32eSJoseph Chen		mdio0: mdio {
17912d25c32eSJoseph Chen			compatible = "snps,dwmac-mdio";
17922d25c32eSJoseph Chen			#address-cells = <0x1>;
17932d25c32eSJoseph Chen			#size-cells = <0x0>;
17942d25c32eSJoseph Chen		};
17952d25c32eSJoseph Chen
17962d25c32eSJoseph Chen		gmac0_stmmac_axi_setup: stmmac-axi-config {
17972d25c32eSJoseph Chen			snps,wr_osr_lmt = <4>;
17982d25c32eSJoseph Chen			snps,rd_osr_lmt = <8>;
17992d25c32eSJoseph Chen			snps,blen = <0 0 0 0 16 8 4>;
18002d25c32eSJoseph Chen		};
18012d25c32eSJoseph Chen
18022d25c32eSJoseph Chen		gmac0_mtl_rx_setup: rx-queues-config {
18032d25c32eSJoseph Chen			snps,rx-queues-to-use = <1>;
18042d25c32eSJoseph Chen			queue0 {};
18052d25c32eSJoseph Chen		};
18062d25c32eSJoseph Chen
18072d25c32eSJoseph Chen		gmac0_mtl_tx_setup: tx-queues-config {
18082d25c32eSJoseph Chen			snps,tx-queues-to-use = <1>;
18092d25c32eSJoseph Chen			queue0 {};
18102d25c32eSJoseph Chen		};
18112d25c32eSJoseph Chen	};
18122d25c32eSJoseph Chen
1813be7064f8SJoseph Chen	sdmmc0: dwmmc@fe2b0000 {
1814be7064f8SJoseph Chen		compatible = "rockchip,rk3568-dw-mshc",
1815be7064f8SJoseph Chen			     "rockchip,rk3288-dw-mshc";
1816be7064f8SJoseph Chen		reg = <0x0 0xfe2b0000 0x0 0x4000>;
1817be7064f8SJoseph Chen		interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
1818be7064f8SJoseph Chen		max-frequency = <150000000>;
1819be7064f8SJoseph Chen		clocks = <&cru HCLK_SDMMC0>, <&cru CLK_SDMMC0>,
1820be7064f8SJoseph Chen			 <&cru SCLK_SDMMC0_DRV>, <&cru SCLK_SDMMC0_SAMPLE>;
1821be7064f8SJoseph Chen		clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
1822be7064f8SJoseph Chen		fifo-depth = <0x100>;
1823be7064f8SJoseph Chen		resets = <&cru SRST_SDMMC0>;
1824be7064f8SJoseph Chen		reset-names = "reset";
1825a2304477SJason Zhu		pinctrl-names = "default";
1826a2304477SJason Zhu		pinctrl-0 = <&sdmmc0_clk &sdmmc0_cmd &sdmmc0_det &sdmmc0_bus4>;
1827be7064f8SJoseph Chen		status = "disabled";
1828be7064f8SJoseph Chen	};
1829be7064f8SJoseph Chen
1830be7064f8SJoseph Chen	sdmmc1: dwmmc@fe2c0000 {
1831be7064f8SJoseph Chen		compatible = "rockchip,rk3568-dw-mshc",
1832be7064f8SJoseph Chen			     "rockchip,rk3288-dw-mshc";
1833be7064f8SJoseph Chen		reg = <0x0 0xfe2c0000 0x0 0x4000>;
1834be7064f8SJoseph Chen		interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
1835be7064f8SJoseph Chen		max-frequency = <150000000>;
1836be7064f8SJoseph Chen		clocks = <&cru HCLK_SDMMC1>, <&cru CLK_SDMMC1>,
1837be7064f8SJoseph Chen			 <&cru SCLK_SDMMC1_DRV>, <&cru SCLK_SDMMC1_SAMPLE>;
1838be7064f8SJoseph Chen		clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
1839be7064f8SJoseph Chen		fifo-depth = <0x100>;
1840be7064f8SJoseph Chen		resets = <&cru SRST_SDMMC1>;
1841be7064f8SJoseph Chen		reset-names = "reset";
1842be7064f8SJoseph Chen		status = "disabled";
1843be7064f8SJoseph Chen	};
1844be7064f8SJoseph Chen
1845cf85037cSJon Lin	sfc: sfc@fe300000 {
1846cf85037cSJon Lin		compatible = "rockchip,sfc";
1847cf85037cSJon Lin		reg = <0x0 0xfe300000 0x0 0x4000>;
1848cf85037cSJon Lin		interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
1849cf85037cSJon Lin		clocks = <&cru SCLK_SFC>, <&cru HCLK_SFC>;
1850cf85037cSJon Lin		clock-names = "clk_sfc", "hclk_sfc";
1851cf85037cSJon Lin		assigned-clocks = <&cru SCLK_SFC>;
1852cf85037cSJon Lin		assigned-clock-rates = <100000000>;
1853cf85037cSJon Lin		status = "disabled";
1854cf85037cSJon Lin	};
1855cf85037cSJon Lin
1856be7064f8SJoseph Chen	sdhci: sdhci@fe310000 {
1857be7064f8SJoseph Chen		compatible = "rockchip,dwcmshc-sdhci", "snps,dwcmshc-sdhci";
1858be7064f8SJoseph Chen		reg = <0x0 0xfe310000 0x0 0x10000>;
18596f71993bSJason Zhu		max-frequency = <200000000>;
1860be7064f8SJoseph Chen		interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
18612d25c32eSJoseph Chen		assigned-clocks = <&cru BCLK_EMMC>, <&cru TCLK_EMMC>;
18622d25c32eSJoseph Chen		assigned-clock-rates = <200000000>, <24000000>;
1863be7064f8SJoseph Chen		clocks = <&cru CCLK_EMMC>, <&cru HCLK_EMMC>,
1864be7064f8SJoseph Chen			 <&cru ACLK_EMMC>, <&cru BCLK_EMMC>,
1865be7064f8SJoseph Chen			 <&cru TCLK_EMMC>;
1866be7064f8SJoseph Chen		clock-names = "core", "bus", "axi", "block", "timer";
1867be7064f8SJoseph Chen		status = "disabled";
1868be7064f8SJoseph Chen	};
1869be7064f8SJoseph Chen
1870be7064f8SJoseph Chen	nandc0: nandc@fe330000 {
1871be7064f8SJoseph Chen		compatible = "rockchip,rk-nandc";
1872be7064f8SJoseph Chen		reg = <0x0 0xfe330000 0x0 0x4000>;
1873be7064f8SJoseph Chen		interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
1874be7064f8SJoseph Chen		nandc_id = <0>;
1875be7064f8SJoseph Chen		clocks = <&cru NCLK_NANDC>, <&cru HCLK_NANDC>;
1876be7064f8SJoseph Chen		clock-names = "clk_nandc", "hclk_nandc";
1877be7064f8SJoseph Chen		status = "disabled";
1878be7064f8SJoseph Chen	};
1879be7064f8SJoseph Chen
188094d677daSLin Jinhan	crypto: crypto@fe380000 {
188194d677daSLin Jinhan		compatible = "rockchip,rk3568-crypto";
188294d677daSLin Jinhan		reg = <0x0 0xfe380000 0x0 0x4000>;
188394d677daSLin Jinhan		clocks = <&cru CLK_CRYPTO_NS_CORE>, <&cru CLK_CRYPTO_NS_PKA>;
188494d677daSLin Jinhan		clock-names = "sclk_crypto", "apkclk_crypto";
188594d677daSLin Jinhan		clock-frequency = <150000000>, <300000000>;
188694d677daSLin Jinhan		status = "disabled";
188794d677daSLin Jinhan	};
188894d677daSLin Jinhan
1889529dfdedSLin Jinhan	rng: rng@fe388000 {
1890529dfdedSLin Jinhan		compatible = "rockchip,cryptov2-rng";
1891529dfdedSLin Jinhan		reg = <0x0 0xfe388000 0x0 0x2000>;
1892529dfdedSLin Jinhan		status = "disabled";
1893529dfdedSLin Jinhan	};
1894529dfdedSLin Jinhan
1895be7064f8SJoseph Chen	i2s0_8ch: i2s@fe400000 {
1896be7064f8SJoseph Chen		compatible = "rockchip,rk3568-i2s-tdm";
1897be7064f8SJoseph Chen		reg = <0x0 0xfe400000 0x0 0x1000>;
1898be7064f8SJoseph Chen		interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
1899be7064f8SJoseph Chen		clocks = <&cru MCLK_I2S0_8CH_TX>, <&cru MCLK_I2S0_8CH_RX>, <&cru HCLK_I2S0_8CH>;
1900be7064f8SJoseph Chen		clock-names = "mclk_tx", "mclk_rx", "hclk";
1901be7064f8SJoseph Chen		dmas = <&dmac1 0>;
1902be7064f8SJoseph Chen		dma-names = "tx";
1903be7064f8SJoseph Chen		resets = <&cru SRST_M_I2S0_8CH_TX>, <&cru SRST_M_I2S0_8CH_RX>;
1904be7064f8SJoseph Chen		reset-names = "tx-m", "rx-m";
1905be7064f8SJoseph Chen		rockchip,cru = <&cru>;
1906be7064f8SJoseph Chen		rockchip,grf = <&grf>;
1907be7064f8SJoseph Chen		rockchip,playback-only;
19082d25c32eSJoseph Chen		#sound-dai-cells = <0>;
1909be7064f8SJoseph Chen		status = "disabled";
1910be7064f8SJoseph Chen	};
1911be7064f8SJoseph Chen
1912be7064f8SJoseph Chen	i2s1_8ch: i2s@fe410000 {
1913be7064f8SJoseph Chen		compatible = "rockchip,rk3568-i2s-tdm";
1914be7064f8SJoseph Chen		reg = <0x0 0xfe410000 0x0 0x1000>;
1915be7064f8SJoseph Chen		interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
1916be7064f8SJoseph Chen		clocks = <&cru MCLK_I2S1_8CH_TX>, <&cru MCLK_I2S1_8CH_RX>, <&cru HCLK_I2S1_8CH>;
1917be7064f8SJoseph Chen		clock-names = "mclk_tx", "mclk_rx", "hclk";
1918be7064f8SJoseph Chen		dmas = <&dmac1 2>, <&dmac1 3>;
1919be7064f8SJoseph Chen		dma-names = "tx", "rx";
1920be7064f8SJoseph Chen		resets = <&cru SRST_M_I2S1_8CH_TX>, <&cru SRST_M_I2S1_8CH_RX>;
1921be7064f8SJoseph Chen		reset-names = "tx-m", "rx-m";
1922be7064f8SJoseph Chen		rockchip,cru = <&cru>;
1923be7064f8SJoseph Chen		rockchip,grf = <&grf>;
19242d25c32eSJoseph Chen		#sound-dai-cells = <0>;
1925be7064f8SJoseph Chen		pinctrl-names = "default";
1926be7064f8SJoseph Chen		pinctrl-0 = <&i2s1sclktxm0
1927be7064f8SJoseph Chen			     &i2s1sclkrxm0
1928be7064f8SJoseph Chen			     &i2s1lrcktxm0
1929be7064f8SJoseph Chen			     &i2s1lrckrxm0
1930be7064f8SJoseph Chen			     &i2s1sdi0m0
1931be7064f8SJoseph Chen			     &i2s1sdi1m0
1932be7064f8SJoseph Chen			     &i2s1sdi2m0
1933be7064f8SJoseph Chen			     &i2s1sdi3m0
1934be7064f8SJoseph Chen			     &i2s1sdo0m0
1935be7064f8SJoseph Chen			     &i2s1sdo1m0
1936be7064f8SJoseph Chen			     &i2s1sdo2m0
1937be7064f8SJoseph Chen			     &i2s1sdo3m0>;
1938be7064f8SJoseph Chen		status = "disabled";
1939be7064f8SJoseph Chen	};
1940be7064f8SJoseph Chen
1941be7064f8SJoseph Chen	i2s2_2ch: i2s@fe420000 {
1942be7064f8SJoseph Chen		compatible = "rockchip,rk3568-i2s-tdm";
1943be7064f8SJoseph Chen		reg = <0x0 0xfe420000 0x0 0x1000>;
1944be7064f8SJoseph Chen		interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
1945be7064f8SJoseph Chen		clocks = <&cru MCLK_I2S2_2CH>, <&cru MCLK_I2S2_2CH>, <&cru HCLK_I2S2_2CH>;
1946be7064f8SJoseph Chen		clock-names = "mclk_tx", "mclk_rx", "hclk";
1947be7064f8SJoseph Chen		dmas = <&dmac1 4>, <&dmac1 5>;
1948be7064f8SJoseph Chen		dma-names = "tx", "rx";
1949be7064f8SJoseph Chen		rockchip,cru = <&cru>;
1950be7064f8SJoseph Chen		rockchip,grf = <&grf>;
1951be7064f8SJoseph Chen		rockchip,clk-trcm = <1>;
19522d25c32eSJoseph Chen		#sound-dai-cells = <0>;
1953be7064f8SJoseph Chen		pinctrl-names = "default";
1954be7064f8SJoseph Chen		pinctrl-0 = <&i2s2sclktxm0
1955be7064f8SJoseph Chen			     &i2s2lrcktxm0
1956be7064f8SJoseph Chen			     &i2s2sdim0
1957be7064f8SJoseph Chen			     &i2s2sdom0>;
1958be7064f8SJoseph Chen		status = "disabled";
1959be7064f8SJoseph Chen	};
1960be7064f8SJoseph Chen
1961be7064f8SJoseph Chen	i2s3_2ch: i2s@fe430000 {
1962be7064f8SJoseph Chen		compatible = "rockchip,rk3568-i2s-tdm";
1963be7064f8SJoseph Chen		reg = <0x0 0xfe430000 0x0 0x1000>;
1964be7064f8SJoseph Chen		interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
1965be7064f8SJoseph Chen		clocks = <&cru MCLK_I2S3_2CH_TX>, <&cru MCLK_I2S3_2CH_RX>, <&cru HCLK_I2S3_2CH>;
1966be7064f8SJoseph Chen		clock-names = "mclk_tx", "mclk_rx", "hclk";
1967be7064f8SJoseph Chen		dmas = <&dmac1 6>, <&dmac1 7>;
1968be7064f8SJoseph Chen		dma-names = "tx", "rx";
1969be7064f8SJoseph Chen		resets = <&cru SRST_M_I2S3_2CH_TX>, <&cru SRST_M_I2S3_2CH_RX>;
1970be7064f8SJoseph Chen		reset-names = "tx-m", "rx-m";
1971be7064f8SJoseph Chen		rockchip,cru = <&cru>;
1972be7064f8SJoseph Chen		rockchip,grf = <&grf>;
19732d25c32eSJoseph Chen		#sound-dai-cells = <0>;
1974be7064f8SJoseph Chen		pinctrl-names = "default";
1975be7064f8SJoseph Chen		pinctrl-0 = <&i2s3sclkm0
1976be7064f8SJoseph Chen			     &i2s3lrckm0
1977be7064f8SJoseph Chen			     &i2s3sdim0
1978be7064f8SJoseph Chen			     &i2s3sdom0>;
1979be7064f8SJoseph Chen		status = "disabled";
1980be7064f8SJoseph Chen	};
1981be7064f8SJoseph Chen
1982be7064f8SJoseph Chen	pdm: pdm@fe440000 {
1983be7064f8SJoseph Chen		compatible = "rockchip,rk3568-pdm", "rockchip,pdm";
1984be7064f8SJoseph Chen		reg = <0x0 0xfe440000 0x0 0x1000>;
1985be7064f8SJoseph Chen		clocks = <&cru MCLK_PDM>, <&cru HCLK_PDM>;
1986be7064f8SJoseph Chen		clock-names = "pdm_clk", "pdm_hclk";
1987be7064f8SJoseph Chen		dmas = <&dmac1 9>;
1988be7064f8SJoseph Chen		dma-names = "rx";
19892d25c32eSJoseph Chen		#sound-dai-cells = <0>;
19902d25c32eSJoseph Chen		status = "disabled";
19912d25c32eSJoseph Chen	};
19922d25c32eSJoseph Chen
19932d25c32eSJoseph Chen	vad: vad@fe450000 {
19942d25c32eSJoseph Chen		compatible = "rockchip,rk3568-vad";
19952d25c32eSJoseph Chen		reg = <0x0 0xfe450000 0x0 0x10000>;
19962d25c32eSJoseph Chen		reg-names = "vad";
19972d25c32eSJoseph Chen		clocks = <&cru HCLK_VAD>;
19982d25c32eSJoseph Chen		clock-names = "hclk";
19992d25c32eSJoseph Chen		interrupts = <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>;
20002d25c32eSJoseph Chen		rockchip,audio-src = <0>;
20012d25c32eSJoseph Chen		rockchip,det-channel = <0>;
20022d25c32eSJoseph Chen		rockchip,mode = <0>;
20032d25c32eSJoseph Chen		#sound-dai-cells = <0>;
2004be7064f8SJoseph Chen		status = "disabled";
2005be7064f8SJoseph Chen	};
2006be7064f8SJoseph Chen
2007be7064f8SJoseph Chen	spdif_8ch: spdif@fe460000 {
20082d25c32eSJoseph Chen		compatible = "rockchip,rk3568-spdif";
2009be7064f8SJoseph Chen		reg = <0x0 0xfe460000 0x0 0x1000>;
2010be7064f8SJoseph Chen		interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
2011be7064f8SJoseph Chen		dmas = <&dmac1 1>;
2012be7064f8SJoseph Chen		dma-names = "tx";
2013be7064f8SJoseph Chen		clock-names = "mclk", "hclk";
2014be7064f8SJoseph Chen		clocks = <&cru MCLK_SPDIF_8CH>, <&cru HCLK_SPDIF_8CH>;
20152d25c32eSJoseph Chen		#sound-dai-cells = <0>;
2016be7064f8SJoseph Chen		pinctrl-names = "default";
2017be7064f8SJoseph Chen		pinctrl-0 = <&spdifm0_pins>;
2018be7064f8SJoseph Chen		status = "disabled";
2019be7064f8SJoseph Chen	};
2020be7064f8SJoseph Chen
2021be7064f8SJoseph Chen	audpwm: audpwm@fe470000 {
2022be7064f8SJoseph Chen		compatible = "rockchip,rk3568-audio-pwm", "rockchip,audio-pwm-v1";
2023be7064f8SJoseph Chen		reg = <0x0 0xfe470000 0x0 0x1000>;
2024be7064f8SJoseph Chen		clocks = <&cru SCLK_AUDPWM>, <&cru HCLK_AUDPWM>;
2025be7064f8SJoseph Chen		clock-names = "clk", "hclk";
2026be7064f8SJoseph Chen		dmas = <&dmac1 8>;
2027be7064f8SJoseph Chen		dma-names = "tx";
20282d25c32eSJoseph Chen		#sound-dai-cells = <0>;
2029be7064f8SJoseph Chen		rockchip,sample-width-bits = <11>;
2030be7064f8SJoseph Chen		rockchip,interpolat-points = <1>;
2031be7064f8SJoseph Chen		status = "disabled";
2032be7064f8SJoseph Chen	};
2033be7064f8SJoseph Chen
2034be7064f8SJoseph Chen	dig_acodec: codec-digital@fe478000 {
2035be7064f8SJoseph Chen		compatible = "rockchip,rk3568-codec-digital", "rockchip,codec-digital-v1";
2036be7064f8SJoseph Chen		reg = <0x0 0xfe478000 0x0 0x1000>;
20372d25c32eSJoseph Chen		clocks = <&cru CLK_ACDCDIG_ADC>, <&cru CLK_ACDCDIG_DAC>,
20382d25c32eSJoseph Chen			 <&cru CLK_ACDCDIG_I2C>, <&cru HCLK_ACDCDIG>;
20392d25c32eSJoseph Chen		clock-names = "adc", "dac", "i2c", "pclk";
2040be7064f8SJoseph Chen		pinctrl-names = "default";
2041be7064f8SJoseph Chen		pinctrl-0 = <&acodec_pins>;
2042be7064f8SJoseph Chen		resets = <&cru SRST_ACDCDIG>;
2043be7064f8SJoseph Chen		reset-names = "reset" ;
2044be7064f8SJoseph Chen		rockchip,grf = <&grf>;
20452d25c32eSJoseph Chen		#sound-dai-cells = <0>;
2046be7064f8SJoseph Chen		status = "disabled";
2047be7064f8SJoseph Chen	};
2048be7064f8SJoseph Chen
2049be7064f8SJoseph Chen	dmac0: dmac@fe530000 {
2050be7064f8SJoseph Chen		compatible = "arm,pl330", "arm,primecell";
2051be7064f8SJoseph Chen		reg = <0x0 0xfe530000 0x0 0x4000>;
2052be7064f8SJoseph Chen		interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>,
2053be7064f8SJoseph Chen			     <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
20542d25c32eSJoseph Chen		clocks = <&cru ACLK_BUS>;
2055be7064f8SJoseph Chen		clock-names = "apb_pclk";
2056be7064f8SJoseph Chen		#dma-cells = <1>;
2057be7064f8SJoseph Chen		arm,pl330-periph-burst;
2058be7064f8SJoseph Chen	};
2059be7064f8SJoseph Chen
2060be7064f8SJoseph Chen	dmac1: dmac@fe550000 {
2061be7064f8SJoseph Chen		compatible = "arm,pl330", "arm,primecell";
2062be7064f8SJoseph Chen		reg = <0x0 0xfe550000 0x0 0x4000>;
2063be7064f8SJoseph Chen		interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
2064be7064f8SJoseph Chen			     <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
20652d25c32eSJoseph Chen		clocks = <&cru ACLK_BUS>;
2066be7064f8SJoseph Chen		clock-names = "apb_pclk";
2067be7064f8SJoseph Chen		#dma-cells = <1>;
2068be7064f8SJoseph Chen		arm,pl330-periph-burst;
2069be7064f8SJoseph Chen	};
2070be7064f8SJoseph Chen
2071be7064f8SJoseph Chen	can0: can@fe570000 {
2072be7064f8SJoseph Chen		compatible = "rockchip,canfd-1.0";
2073be7064f8SJoseph Chen		reg = <0x0 0xfe570000 0x0 0x1000>;
2074be7064f8SJoseph Chen		interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
2075be7064f8SJoseph Chen		clocks = <&cru CLK_CAN0>, <&cru PCLK_CAN0>;
2076be7064f8SJoseph Chen		clock-names = "baudclk", "apb_pclk";
2077be7064f8SJoseph Chen		resets = <&cru SRST_CAN0>, <&cru SRST_P_CAN0>;
2078be7064f8SJoseph Chen		reset-names = "can", "can-apb";
2079be7064f8SJoseph Chen		tx-fifo-depth = <1>;
2080be7064f8SJoseph Chen		rx-fifo-depth = <6>;
2081be7064f8SJoseph Chen		status = "disabled";
2082be7064f8SJoseph Chen	};
2083be7064f8SJoseph Chen
2084be7064f8SJoseph Chen	can1: can@fe580000 {
2085be7064f8SJoseph Chen		compatible = "rockchip,canfd-1.0";
2086be7064f8SJoseph Chen		reg = <0x0 0xfe580000 0x0 0x1000>;
2087be7064f8SJoseph Chen		interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
2088be7064f8SJoseph Chen		clocks = <&cru CLK_CAN1>, <&cru PCLK_CAN1>;
2089be7064f8SJoseph Chen		clock-names = "baudclk", "apb_pclk";
2090be7064f8SJoseph Chen		resets = <&cru SRST_CAN1>, <&cru SRST_P_CAN1>;
2091be7064f8SJoseph Chen		reset-names = "can", "can-apb";
2092be7064f8SJoseph Chen		tx-fifo-depth = <1>;
2093be7064f8SJoseph Chen		rx-fifo-depth = <6>;
2094be7064f8SJoseph Chen		status = "disabled";
2095be7064f8SJoseph Chen	};
2096be7064f8SJoseph Chen
2097be7064f8SJoseph Chen	can2: can@fe590000 {
2098be7064f8SJoseph Chen		compatible = "rockchip,canfd-1.0";
2099be7064f8SJoseph Chen		reg = <0x0 0xfe590000 0x0 0x1000>;
2100be7064f8SJoseph Chen		interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
2101be7064f8SJoseph Chen		clocks = <&cru CLK_CAN2>, <&cru PCLK_CAN2>;
2102be7064f8SJoseph Chen		clock-names = "baudclk", "apb_pclk";
2103be7064f8SJoseph Chen		resets = <&cru SRST_CAN2>, <&cru SRST_P_CAN2>;
2104be7064f8SJoseph Chen		reset-names = "can", "can-apb";
2105be7064f8SJoseph Chen		tx-fifo-depth = <1>;
2106be7064f8SJoseph Chen		rx-fifo-depth = <6>;
2107be7064f8SJoseph Chen		status = "disabled";
2108be7064f8SJoseph Chen	};
2109be7064f8SJoseph Chen
2110be7064f8SJoseph Chen	i2c1: i2c@fe5a0000 {
2111be7064f8SJoseph Chen		compatible = "rockchip,rk3399-i2c";
2112be7064f8SJoseph Chen		reg = <0x0 0xfe5a0000 0x0 0x1000>;
2113be7064f8SJoseph Chen		clocks = <&cru CLK_I2C1>, <&cru PCLK_I2C1>;
2114be7064f8SJoseph Chen		clock-names = "i2c", "pclk";
2115be7064f8SJoseph Chen		interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
2116be7064f8SJoseph Chen		pinctrl-names = "default";
2117be7064f8SJoseph Chen		pinctrl-0 = <&i2c1_xfer>;
2118be7064f8SJoseph Chen		#address-cells = <1>;
2119be7064f8SJoseph Chen		#size-cells = <0>;
2120be7064f8SJoseph Chen		status = "disabled";
2121be7064f8SJoseph Chen	};
2122be7064f8SJoseph Chen
2123be7064f8SJoseph Chen	i2c2: i2c@fe5b0000 {
2124be7064f8SJoseph Chen		compatible = "rockchip,rk3399-i2c";
2125be7064f8SJoseph Chen		reg = <0x0 0xfe5b0000 0x0 0x1000>;
2126be7064f8SJoseph Chen		clocks = <&cru CLK_I2C2>, <&cru PCLK_I2C2>;
2127be7064f8SJoseph Chen		clock-names = "i2c", "pclk";
2128be7064f8SJoseph Chen		interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
2129be7064f8SJoseph Chen		pinctrl-names = "default";
2130be7064f8SJoseph Chen		pinctrl-0 = <&i2c2m0_xfer>;
2131be7064f8SJoseph Chen		#address-cells = <1>;
2132be7064f8SJoseph Chen		#size-cells = <0>;
2133be7064f8SJoseph Chen		status = "disabled";
2134be7064f8SJoseph Chen	};
2135be7064f8SJoseph Chen
2136be7064f8SJoseph Chen	i2c3: i2c@fe5c0000 {
2137be7064f8SJoseph Chen		compatible = "rockchip,rk3399-i2c";
2138be7064f8SJoseph Chen		reg = <0x0 0xfe5c0000 0x0 0x1000>;
2139be7064f8SJoseph Chen		clocks = <&cru CLK_I2C3>, <&cru PCLK_I2C3>;
2140be7064f8SJoseph Chen		clock-names = "i2c", "pclk";
2141be7064f8SJoseph Chen		interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
2142be7064f8SJoseph Chen		pinctrl-names = "default";
2143be7064f8SJoseph Chen		pinctrl-0 = <&i2c3m0_xfer>;
2144be7064f8SJoseph Chen		#address-cells = <1>;
2145be7064f8SJoseph Chen		#size-cells = <0>;
2146be7064f8SJoseph Chen		status = "disabled";
2147be7064f8SJoseph Chen	};
2148be7064f8SJoseph Chen
2149be7064f8SJoseph Chen	i2c4: i2c@fe5d0000 {
2150be7064f8SJoseph Chen		compatible = "rockchip,rk3399-i2c";
2151be7064f8SJoseph Chen		reg = <0x0 0xfe5d0000 0x0 0x1000>;
2152be7064f8SJoseph Chen		clocks = <&cru CLK_I2C4>, <&cru PCLK_I2C4>;
2153be7064f8SJoseph Chen		clock-names = "i2c", "pclk";
2154be7064f8SJoseph Chen		interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
2155be7064f8SJoseph Chen		pinctrl-names = "default";
2156be7064f8SJoseph Chen		pinctrl-0 = <&i2c4m0_xfer>;
2157be7064f8SJoseph Chen		#address-cells = <1>;
2158be7064f8SJoseph Chen		#size-cells = <0>;
2159be7064f8SJoseph Chen		status = "disabled";
2160be7064f8SJoseph Chen	};
2161be7064f8SJoseph Chen
2162be7064f8SJoseph Chen	i2c5: i2c@fe5e0000 {
2163be7064f8SJoseph Chen		compatible = "rockchip,rk3399-i2c";
2164be7064f8SJoseph Chen		reg = <0x0 0xfe5e0000 0x0 0x1000>;
2165be7064f8SJoseph Chen		clocks = <&cru CLK_I2C5>, <&cru PCLK_I2C5>;
2166be7064f8SJoseph Chen		clock-names = "i2c", "pclk";
2167be7064f8SJoseph Chen		interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
2168be7064f8SJoseph Chen		pinctrl-names = "default";
2169be7064f8SJoseph Chen		pinctrl-0 = <&i2c5m0_xfer>;
2170be7064f8SJoseph Chen		#address-cells = <1>;
2171be7064f8SJoseph Chen		#size-cells = <0>;
2172be7064f8SJoseph Chen		status = "disabled";
2173be7064f8SJoseph Chen	};
2174be7064f8SJoseph Chen
2175be7064f8SJoseph Chen	wdt: watchdog@fe600000 {
2176be7064f8SJoseph Chen		compatible = "snps,dw-wdt";
2177be7064f8SJoseph Chen		reg = <0x0 0xfe600000 0x0 0x100>;
21782d25c32eSJoseph Chen		clocks = <&cru TCLK_WDT_NS>, <&cru PCLK_WDT_NS>;
21792d25c32eSJoseph Chen		clock-names = "tclk", "pclk";
2180be7064f8SJoseph Chen		interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>;
218163ea0259SSimon Xue		resets = <&cru SRST_T_WDT_NS>;
218263ea0259SSimon Xue		reset-names = "reset";
2183be7064f8SJoseph Chen		status = "okay";
2184be7064f8SJoseph Chen	};
2185be7064f8SJoseph Chen
2186be7064f8SJoseph Chen	spi0: spi@fe610000 {
2187be7064f8SJoseph Chen		compatible = "rockchip,rk3568-spi", "rockchip,rk3066-spi";
2188be7064f8SJoseph Chen		reg = <0x0 0xfe610000 0x0 0x1000>;
2189be7064f8SJoseph Chen		interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
2190be7064f8SJoseph Chen		#address-cells = <1>;
2191be7064f8SJoseph Chen		#size-cells = <0>;
2192be7064f8SJoseph Chen		clocks = <&cru CLK_SPI0>, <&cru PCLK_SPI0>;
2193be7064f8SJoseph Chen		clock-names = "spiclk", "apb_pclk";
2194be7064f8SJoseph Chen		dmas = <&dmac0 20>, <&dmac0 21>;
21952d25c32eSJoseph Chen		dma-names = "tx", "rx";
21962d25c32eSJoseph Chen		pinctrl-names = "default", "high_speed";
2197be7064f8SJoseph Chen		pinctrl-0 = <&spi0clkm0 &spi0cs0m0 &spi0cs1m0 &spi0misom0 &spi0mosim0>;
21982d25c32eSJoseph Chen		pinctrl-1 = <&spi0clkm0_hs &spi0cs0m0 &spi0cs1m0 &spi0misom0_hs &spi0mosim0_hs>;
2199be7064f8SJoseph Chen		status = "disabled";
2200be7064f8SJoseph Chen	};
2201be7064f8SJoseph Chen
2202be7064f8SJoseph Chen	spi1: spi@fe620000 {
2203be7064f8SJoseph Chen		compatible = "rockchip,rk3568-spi", "rockchip,rk3066-spi";
2204be7064f8SJoseph Chen		reg = <0x0 0xfe620000 0x0 0x1000>;
2205be7064f8SJoseph Chen		interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
2206be7064f8SJoseph Chen		#address-cells = <1>;
2207be7064f8SJoseph Chen		#size-cells = <0>;
2208be7064f8SJoseph Chen		clocks = <&cru CLK_SPI1>, <&cru PCLK_SPI1>;
2209be7064f8SJoseph Chen		clock-names = "spiclk", "apb_pclk";
2210be7064f8SJoseph Chen		dmas = <&dmac0 22>, <&dmac0 23>;
22112d25c32eSJoseph Chen		dma-names = "tx", "rx";
22122d25c32eSJoseph Chen		pinctrl-names = "default", "high_speed";
2213be7064f8SJoseph Chen		pinctrl-0 = <&spi1clkm0 &spi1cs0m0 &spi1cs1m0 &spi1misom0 &spi1mosim0>;
22142d25c32eSJoseph Chen		pinctrl-1 = <&spi1clkm0_hs &spi1cs0m0 &spi1cs1m0 &spi1misom0_hs &spi1mosim0_hs>;
2215be7064f8SJoseph Chen		status = "disabled";
2216be7064f8SJoseph Chen	};
2217be7064f8SJoseph Chen
2218be7064f8SJoseph Chen	spi2: spi@fe630000 {
2219be7064f8SJoseph Chen		compatible = "rockchip,rk3568-spi", "rockchip,rk3066-spi";
2220be7064f8SJoseph Chen		reg = <0x0 0xfe630000 0x0 0x1000>;
2221be7064f8SJoseph Chen		interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
2222be7064f8SJoseph Chen		#address-cells = <1>;
2223be7064f8SJoseph Chen		#size-cells = <0>;
2224be7064f8SJoseph Chen		clocks = <&cru CLK_SPI2>, <&cru PCLK_SPI2>;
2225be7064f8SJoseph Chen		clock-names = "spiclk", "apb_pclk";
2226be7064f8SJoseph Chen		dmas = <&dmac0 24>, <&dmac0 25>;
22272d25c32eSJoseph Chen		dma-names = "tx", "rx";
22282d25c32eSJoseph Chen		pinctrl-names = "default", "high_speed";
2229be7064f8SJoseph Chen		pinctrl-0 = <&spi2clkm0 &spi2cs0m0 &spi2cs1m0 &spi2misom0 &spi2mosim0>;
22302d25c32eSJoseph Chen		pinctrl-1 = <&spi2clkm0_hs &spi2cs0m0 &spi2cs1m0 &spi2misom0_hs &spi2mosim0_hs>;
2231be7064f8SJoseph Chen		status = "disabled";
2232be7064f8SJoseph Chen	};
2233be7064f8SJoseph Chen
2234be7064f8SJoseph Chen	spi3: spi@fe640000 {
2235be7064f8SJoseph Chen		compatible = "rockchip,rk3568-spi", "rockchip,rk3066-spi";
2236be7064f8SJoseph Chen		reg = <0x0 0xfe640000 0x0 0x1000>;
2237be7064f8SJoseph Chen		interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
2238be7064f8SJoseph Chen		#address-cells = <1>;
2239be7064f8SJoseph Chen		#size-cells = <0>;
2240be7064f8SJoseph Chen		clocks = <&cru CLK_SPI3>, <&cru PCLK_SPI3>;
2241be7064f8SJoseph Chen		clock-names = "spiclk", "apb_pclk";
2242be7064f8SJoseph Chen		dmas = <&dmac0 26>, <&dmac0 27>;
22432d25c32eSJoseph Chen		dma-names = "tx", "rx";
22442d25c32eSJoseph Chen		pinctrl-names = "default", "high_speed";
2245be7064f8SJoseph Chen		pinctrl-0 = <&spi3clkm0 &spi3cs0m0 &spi3cs1m0 &spi3misom0 &spi3mosim0>;
22462d25c32eSJoseph Chen		pinctrl-1 = <&spi3clkm0_hs &spi3cs0m0 &spi3cs1m0 &spi3misom0_hs &spi3mosim0_hs>;
2247be7064f8SJoseph Chen		status = "disabled";
2248be7064f8SJoseph Chen	};
2249be7064f8SJoseph Chen
2250be7064f8SJoseph Chen	uart1: serial@fe650000 {
2251be7064f8SJoseph Chen		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
2252be7064f8SJoseph Chen		reg = <0x0 0xfe650000 0x0 0x100>;
2253be7064f8SJoseph Chen		interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
2254be7064f8SJoseph Chen		clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>;
2255be7064f8SJoseph Chen		clock-names = "baudclk", "apb_pclk";
2256be7064f8SJoseph Chen		reg-shift = <2>;
2257be7064f8SJoseph Chen		reg-io-width = <4>;
2258be7064f8SJoseph Chen		dmas = <&dmac0 2>, <&dmac0 3>;
2259be7064f8SJoseph Chen		pinctrl-names = "default";
2260be7064f8SJoseph Chen		pinctrl-0 = <&uart1m0_xfer>;
2261be7064f8SJoseph Chen		status = "disabled";
2262be7064f8SJoseph Chen	};
2263be7064f8SJoseph Chen
2264be7064f8SJoseph Chen	uart2: serial@fe660000 {
2265be7064f8SJoseph Chen		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
2266be7064f8SJoseph Chen		reg = <0x0 0xfe660000 0x0 0x100>;
2267be7064f8SJoseph Chen		interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
2268be7064f8SJoseph Chen		clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>;
2269be7064f8SJoseph Chen		clock-names = "baudclk", "apb_pclk";
2270be7064f8SJoseph Chen		reg-shift = <2>;
2271be7064f8SJoseph Chen		reg-io-width = <4>;
2272be7064f8SJoseph Chen		dmas = <&dmac0 4>, <&dmac0 5>;
2273be7064f8SJoseph Chen		pinctrl-names = "default";
2274be7064f8SJoseph Chen		pinctrl-0 = <&uart2m0_xfer>;
2275be7064f8SJoseph Chen		status = "disabled";
2276be7064f8SJoseph Chen	};
2277be7064f8SJoseph Chen
2278be7064f8SJoseph Chen	uart3: serial@fe670000 {
2279be7064f8SJoseph Chen		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
2280be7064f8SJoseph Chen		reg = <0x0 0xfe670000 0x0 0x100>;
2281be7064f8SJoseph Chen		interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
2282be7064f8SJoseph Chen		clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>;
2283be7064f8SJoseph Chen		clock-names = "baudclk", "apb_pclk";
2284be7064f8SJoseph Chen		reg-shift = <2>;
2285be7064f8SJoseph Chen		reg-io-width = <4>;
2286be7064f8SJoseph Chen		dmas = <&dmac0 6>, <&dmac0 7>;
2287be7064f8SJoseph Chen		pinctrl-names = "default";
2288be7064f8SJoseph Chen		pinctrl-0 = <&uart3m0_xfer>;
2289be7064f8SJoseph Chen		status = "disabled";
2290be7064f8SJoseph Chen	};
2291be7064f8SJoseph Chen
2292be7064f8SJoseph Chen	uart4: serial@fe680000 {
2293be7064f8SJoseph Chen		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
2294be7064f8SJoseph Chen		reg = <0x0 0xfe680000 0x0 0x100>;
2295be7064f8SJoseph Chen		interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
2296be7064f8SJoseph Chen		clocks = <&cru SCLK_UART4>, <&cru PCLK_UART4>;
2297be7064f8SJoseph Chen		clock-names = "baudclk", "apb_pclk";
2298be7064f8SJoseph Chen		reg-shift = <2>;
2299be7064f8SJoseph Chen		reg-io-width = <4>;
2300be7064f8SJoseph Chen		dmas = <&dmac0 8>, <&dmac0 9>;
2301be7064f8SJoseph Chen		pinctrl-names = "default";
2302be7064f8SJoseph Chen		pinctrl-0 = <&uart4m0_xfer>;
2303be7064f8SJoseph Chen		status = "disabled";
2304be7064f8SJoseph Chen	};
2305be7064f8SJoseph Chen
2306be7064f8SJoseph Chen	uart5: serial@fe690000 {
2307be7064f8SJoseph Chen		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
2308be7064f8SJoseph Chen		reg = <0x0 0xfe690000 0x0 0x100>;
2309be7064f8SJoseph Chen		interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>;
2310be7064f8SJoseph Chen		clocks = <&cru SCLK_UART5>, <&cru PCLK_UART5>;
2311be7064f8SJoseph Chen		clock-names = "baudclk", "apb_pclk";
2312be7064f8SJoseph Chen		reg-shift = <2>;
2313be7064f8SJoseph Chen		reg-io-width = <4>;
2314be7064f8SJoseph Chen		dmas = <&dmac0 10>, <&dmac0 11>;
2315be7064f8SJoseph Chen		pinctrl-names = "default";
2316be7064f8SJoseph Chen		pinctrl-0 = <&uart5m0_xfer>;
2317be7064f8SJoseph Chen		status = "disabled";
2318be7064f8SJoseph Chen	};
2319be7064f8SJoseph Chen
2320be7064f8SJoseph Chen	uart6: serial@fe6a0000 {
2321be7064f8SJoseph Chen		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
2322be7064f8SJoseph Chen		reg = <0x0 0xfe6a0000 0x0 0x100>;
2323be7064f8SJoseph Chen		interrupts = <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
2324be7064f8SJoseph Chen		clocks = <&cru SCLK_UART6>, <&cru PCLK_UART6>;
2325be7064f8SJoseph Chen		clock-names = "baudclk", "apb_pclk";
2326be7064f8SJoseph Chen		reg-shift = <2>;
2327be7064f8SJoseph Chen		reg-io-width = <4>;
2328be7064f8SJoseph Chen		dmas = <&dmac0 12>, <&dmac0 13>;
2329be7064f8SJoseph Chen		pinctrl-names = "default";
2330be7064f8SJoseph Chen		pinctrl-0 = <&uart6m0_xfer>;
2331be7064f8SJoseph Chen		status = "disabled";
2332be7064f8SJoseph Chen	};
2333be7064f8SJoseph Chen
2334be7064f8SJoseph Chen	uart7: serial@fe6b0000 {
2335be7064f8SJoseph Chen		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
2336be7064f8SJoseph Chen		reg = <0x0 0xfe6b0000 0x0 0x100>;
2337be7064f8SJoseph Chen		interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>;
2338be7064f8SJoseph Chen		clocks = <&cru SCLK_UART7>, <&cru PCLK_UART7>;
2339be7064f8SJoseph Chen		clock-names = "baudclk", "apb_pclk";
2340be7064f8SJoseph Chen		reg-shift = <2>;
2341be7064f8SJoseph Chen		reg-io-width = <4>;
2342be7064f8SJoseph Chen		dmas = <&dmac0 14>, <&dmac0 15>;
2343be7064f8SJoseph Chen		pinctrl-names = "default";
2344be7064f8SJoseph Chen		pinctrl-0 = <&uart7m0_xfer>;
2345be7064f8SJoseph Chen		status = "disabled";
2346be7064f8SJoseph Chen	};
2347be7064f8SJoseph Chen
2348be7064f8SJoseph Chen	uart8: serial@fe6c0000 {
2349be7064f8SJoseph Chen		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
2350be7064f8SJoseph Chen		reg = <0x0 0xfe6c0000 0x0 0x100>;
2351be7064f8SJoseph Chen		interrupts = <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>;
2352be7064f8SJoseph Chen		clocks = <&cru SCLK_UART8>, <&cru PCLK_UART8>;
2353be7064f8SJoseph Chen		clock-names = "baudclk", "apb_pclk";
2354be7064f8SJoseph Chen		reg-shift = <2>;
2355be7064f8SJoseph Chen		reg-io-width = <4>;
2356be7064f8SJoseph Chen		dmas = <&dmac0 16>, <&dmac0 17>;
2357be7064f8SJoseph Chen		pinctrl-names = "default";
2358be7064f8SJoseph Chen		pinctrl-0 = <&uart8m0_xfer>;
2359be7064f8SJoseph Chen		status = "disabled";
2360be7064f8SJoseph Chen	};
2361be7064f8SJoseph Chen
2362be7064f8SJoseph Chen	uart9: serial@fe6d0000 {
2363be7064f8SJoseph Chen		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
2364be7064f8SJoseph Chen		reg = <0x0 0xfe6d0000 0x0 0x100>;
2365be7064f8SJoseph Chen		interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
2366be7064f8SJoseph Chen		clocks = <&cru SCLK_UART9>, <&cru PCLK_UART9>;
2367be7064f8SJoseph Chen		clock-names = "baudclk", "apb_pclk";
2368be7064f8SJoseph Chen		reg-shift = <2>;
2369be7064f8SJoseph Chen		reg-io-width = <4>;
2370be7064f8SJoseph Chen		dmas = <&dmac0 18>, <&dmac0 19>;
2371be7064f8SJoseph Chen		pinctrl-names = "default";
2372be7064f8SJoseph Chen		pinctrl-0 = <&uart9m0_xfer>;
2373be7064f8SJoseph Chen		status = "disabled";
2374be7064f8SJoseph Chen	};
2375be7064f8SJoseph Chen
2376be7064f8SJoseph Chen	pwm4: pwm@fe6e0000 {
2377be7064f8SJoseph Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
2378be7064f8SJoseph Chen		reg = <0x0 0xfe6e0000 0x0 0x10>;
2379be7064f8SJoseph Chen		#pwm-cells = <3>;
2380be7064f8SJoseph Chen		pinctrl-names = "active";
2381be7064f8SJoseph Chen		pinctrl-0 = <&pwm4_pins>;
2382be7064f8SJoseph Chen		clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
2383be7064f8SJoseph Chen		clock-names = "pwm", "pclk";
2384be7064f8SJoseph Chen		status = "disabled";
2385be7064f8SJoseph Chen	};
2386be7064f8SJoseph Chen
2387be7064f8SJoseph Chen	pwm5: pwm@fe6e0010 {
2388be7064f8SJoseph Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
2389be7064f8SJoseph Chen		reg = <0x0 0xfe6e0010 0x0 0x10>;
2390be7064f8SJoseph Chen		#pwm-cells = <3>;
2391be7064f8SJoseph Chen		pinctrl-names = "active";
2392be7064f8SJoseph Chen		pinctrl-0 = <&pwm5_pins>;
2393be7064f8SJoseph Chen		clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
2394be7064f8SJoseph Chen		clock-names = "pwm", "pclk";
2395be7064f8SJoseph Chen		status = "disabled";
2396be7064f8SJoseph Chen	};
2397be7064f8SJoseph Chen
2398be7064f8SJoseph Chen	pwm6: pwm@fe6e0020 {
2399be7064f8SJoseph Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
2400be7064f8SJoseph Chen		reg = <0x0 0xfe6e0020 0x0 0x10>;
2401be7064f8SJoseph Chen		#pwm-cells = <3>;
2402be7064f8SJoseph Chen		pinctrl-names = "active";
2403be7064f8SJoseph Chen		pinctrl-0 = <&pwm6_pins>;
2404be7064f8SJoseph Chen		clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
2405be7064f8SJoseph Chen		clock-names = "pwm", "pclk";
2406be7064f8SJoseph Chen		status = "disabled";
2407be7064f8SJoseph Chen	};
2408be7064f8SJoseph Chen
2409be7064f8SJoseph Chen	pwm7: pwm@fe6e0030 {
2410be7064f8SJoseph Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
2411be7064f8SJoseph Chen		reg = <0x0 0xfe6e0030 0x0 0x10>;
2412be7064f8SJoseph Chen		#pwm-cells = <3>;
2413be7064f8SJoseph Chen		pinctrl-names = "active";
2414be7064f8SJoseph Chen		pinctrl-0 = <&pwm7_pins>;
2415be7064f8SJoseph Chen		clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
2416be7064f8SJoseph Chen		clock-names = "pwm", "pclk";
2417be7064f8SJoseph Chen		status = "disabled";
2418be7064f8SJoseph Chen	};
2419be7064f8SJoseph Chen
2420be7064f8SJoseph Chen	pwm8: pwm@fe6f0000 {
2421be7064f8SJoseph Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
2422be7064f8SJoseph Chen		reg = <0x0 0xfe6f0000 0x0 0x10>;
2423be7064f8SJoseph Chen		#pwm-cells = <3>;
2424be7064f8SJoseph Chen		pinctrl-names = "active";
2425be7064f8SJoseph Chen		pinctrl-0 = <&pwm8m0_pins>;
2426be7064f8SJoseph Chen		clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>;
2427be7064f8SJoseph Chen		clock-names = "pwm", "pclk";
2428be7064f8SJoseph Chen		status = "disabled";
2429be7064f8SJoseph Chen	};
2430be7064f8SJoseph Chen
2431be7064f8SJoseph Chen	pwm9: pwm@fe6f0010 {
2432be7064f8SJoseph Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
2433be7064f8SJoseph Chen		reg = <0x0 0xfe6f0010 0x0 0x10>;
2434be7064f8SJoseph Chen		#pwm-cells = <3>;
2435be7064f8SJoseph Chen		pinctrl-names = "active";
2436be7064f8SJoseph Chen		pinctrl-0 = <&pwm9m0_pins>;
2437be7064f8SJoseph Chen		clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>;
2438be7064f8SJoseph Chen		clock-names = "pwm", "pclk";
2439be7064f8SJoseph Chen		status = "disabled";
2440be7064f8SJoseph Chen	};
2441be7064f8SJoseph Chen
2442be7064f8SJoseph Chen	pwm10: pwm@fe6f0020 {
2443be7064f8SJoseph Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
2444be7064f8SJoseph Chen		reg = <0x0 0xfe6f0020 0x0 0x10>;
2445be7064f8SJoseph Chen		#pwm-cells = <3>;
2446be7064f8SJoseph Chen		pinctrl-names = "active";
2447be7064f8SJoseph Chen		pinctrl-0 = <&pwm10m0_pins>;
2448be7064f8SJoseph Chen		clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>;
2449be7064f8SJoseph Chen		clock-names = "pwm", "pclk";
2450be7064f8SJoseph Chen		status = "disabled";
2451be7064f8SJoseph Chen	};
2452be7064f8SJoseph Chen
2453be7064f8SJoseph Chen	pwm11: pwm@fe6f0030 {
2454be7064f8SJoseph Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
2455be7064f8SJoseph Chen		reg = <0x0 0xfe6f0030 0x0 0x10>;
2456be7064f8SJoseph Chen		#pwm-cells = <3>;
2457be7064f8SJoseph Chen		pinctrl-names = "active";
2458be7064f8SJoseph Chen		pinctrl-0 = <&pwm11m0_pins>;
2459be7064f8SJoseph Chen		clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>;
2460be7064f8SJoseph Chen		clock-names = "pwm", "pclk";
2461be7064f8SJoseph Chen		status = "disabled";
2462be7064f8SJoseph Chen	};
2463be7064f8SJoseph Chen
2464be7064f8SJoseph Chen	pwm12: pwm@fe700000 {
2465be7064f8SJoseph Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
2466be7064f8SJoseph Chen		reg = <0x0 0xfe700000 0x0 0x10>;
2467be7064f8SJoseph Chen		#pwm-cells = <3>;
2468be7064f8SJoseph Chen		pinctrl-names = "active";
2469be7064f8SJoseph Chen		pinctrl-0 = <&pwm12m0_pins>;
2470be7064f8SJoseph Chen		clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>;
2471be7064f8SJoseph Chen		clock-names = "pwm", "pclk";
2472be7064f8SJoseph Chen		status = "disabled";
2473be7064f8SJoseph Chen	};
2474be7064f8SJoseph Chen
2475be7064f8SJoseph Chen	pwm13: pwm@fe700010 {
2476be7064f8SJoseph Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
2477be7064f8SJoseph Chen		reg = <0x0 0xfe700010 0x0 0x10>;
2478be7064f8SJoseph Chen		#pwm-cells = <3>;
2479be7064f8SJoseph Chen		pinctrl-names = "active";
2480be7064f8SJoseph Chen		pinctrl-0 = <&pwm13m0_pins>;
2481be7064f8SJoseph Chen		clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>;
2482be7064f8SJoseph Chen		clock-names = "pwm", "pclk";
2483be7064f8SJoseph Chen		status = "disabled";
2484be7064f8SJoseph Chen	};
2485be7064f8SJoseph Chen
2486be7064f8SJoseph Chen	pwm14: pwm@fe700020 {
2487be7064f8SJoseph Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
2488be7064f8SJoseph Chen		reg = <0x0 0xfe700020 0x0 0x10>;
2489be7064f8SJoseph Chen		#pwm-cells = <3>;
2490be7064f8SJoseph Chen		pinctrl-names = "active";
2491be7064f8SJoseph Chen		pinctrl-0 = <&pwm14m0_pins>;
2492be7064f8SJoseph Chen		clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>;
2493be7064f8SJoseph Chen		clock-names = "pwm", "pclk";
2494be7064f8SJoseph Chen		status = "disabled";
2495be7064f8SJoseph Chen	};
2496be7064f8SJoseph Chen
2497be7064f8SJoseph Chen	pwm15: pwm@fe700030 {
2498be7064f8SJoseph Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
2499be7064f8SJoseph Chen		reg = <0x0 0xfe700030 0x0 0x10>;
2500be7064f8SJoseph Chen		#pwm-cells = <3>;
2501be7064f8SJoseph Chen		pinctrl-names = "active";
2502be7064f8SJoseph Chen		pinctrl-0 = <&pwm15m0_pins>;
2503be7064f8SJoseph Chen		clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>;
2504be7064f8SJoseph Chen		clock-names = "pwm", "pclk";
2505be7064f8SJoseph Chen		status = "disabled";
2506be7064f8SJoseph Chen	};
2507be7064f8SJoseph Chen
25082d25c32eSJoseph Chen	tsadc: tsadc@fe710000 {
25092d25c32eSJoseph Chen		compatible = "rockchip,rk3568-tsadc";
25102d25c32eSJoseph Chen		reg = <0x0 0xfe710000 0x0 0x100>;
25112d25c32eSJoseph Chen		interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
25122d25c32eSJoseph Chen		rockchip,grf = <&grf>;
25132d25c32eSJoseph Chen		clocks = <&cru CLK_TSADC>, <&cru PCLK_TSADC>;
25142d25c32eSJoseph Chen		clock-names = "tsadc", "apb_pclk";
25152d25c32eSJoseph Chen		assigned-clocks = <&cru CLK_TSADC_TSEN>, <&cru CLK_TSADC>;
25162d25c32eSJoseph Chen		assigned-clock-rates = <17000000>, <700000>;
25172d25c32eSJoseph Chen		resets = <&cru SRST_TSADC>, <&cru SRST_P_TSADC>,
25182d25c32eSJoseph Chen			 <&cru SRST_TSADCPHY>;
25192d25c32eSJoseph Chen		reset-names = "tsadc", "tsadc-apb", "tsadc-phy";
25202d25c32eSJoseph Chen		#thermal-sensor-cells = <1>;
25212d25c32eSJoseph Chen		rockchip,hw-tshut-temp = <120000>;
25222d25c32eSJoseph Chen		rockchip,hw-tshut-mode = <1>; /* tshut mode 0:CRU 1:GPIO */
25232d25c32eSJoseph Chen		rockchip,hw-tshut-polarity = <0>; /* tshut polarity 0:LOW 1:HIGH */
25242d25c32eSJoseph Chen		pinctrl-names = "gpio", "otpout";
25252d25c32eSJoseph Chen		pinctrl-0 = <&tsadc_gpio>;
25262d25c32eSJoseph Chen		pinctrl-1 = <&tsadc_shutorg>;
25272d25c32eSJoseph Chen		status = "disabled";
25282d25c32eSJoseph Chen	};
25292d25c32eSJoseph Chen
2530be7064f8SJoseph Chen	saradc: saradc@fe720000 {
2531be7064f8SJoseph Chen		compatible = "rockchip,rk3568-saradc", "rockchip,rk3399-saradc";
2532be7064f8SJoseph Chen		reg = <0x0 0xfe720000 0x0 0x100>;
2533be7064f8SJoseph Chen		interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
2534be7064f8SJoseph Chen		#io-channel-cells = <1>;
2535be7064f8SJoseph Chen		clocks = <&cru CLK_SARADC>, <&cru PCLK_SARADC>;
2536be7064f8SJoseph Chen		clock-names = "saradc", "apb_pclk";
2537be7064f8SJoseph Chen		resets = <&cru SRST_P_SARADC>;
2538be7064f8SJoseph Chen		reset-names = "saradc-apb";
2539be7064f8SJoseph Chen		status = "disabled";
2540be7064f8SJoseph Chen	};
2541be7064f8SJoseph Chen
25422d25c32eSJoseph Chen	mailbox: mailbox@fe780000 {
25432d25c32eSJoseph Chen		compatible = "rockchip,rk3568-mailbox",
25442d25c32eSJoseph Chen			     "rockchip,rk3368-mailbox";
25452d25c32eSJoseph Chen		reg = <0x0 0xfe780000 0x0 0x1000>;
25462d25c32eSJoseph Chen		interrupts = <GIC_SPI 183 IRQ_TYPE_LEVEL_HIGH>,
25472d25c32eSJoseph Chen			     <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>,
25482d25c32eSJoseph Chen			     <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>,
25492d25c32eSJoseph Chen			     <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>;
25502d25c32eSJoseph Chen		clocks = <&cru PCLK_MAILBOX>;
25512d25c32eSJoseph Chen		clock-names = "pclk_mailbox";
25522d25c32eSJoseph Chen		#mbox-cells = <1>;
25532d25c32eSJoseph Chen		status = "disabled";
25542d25c32eSJoseph Chen	};
25552d25c32eSJoseph Chen
2556be7064f8SJoseph Chen	combphy0_us: phy@fe820000 {
2557be7064f8SJoseph Chen		compatible = "rockchip,rk3568-naneng-combphy";
2558be7064f8SJoseph Chen		reg = <0x0 0xfe820000 0x0 0x100>;
2559be7064f8SJoseph Chen		#phy-cells = <1>;
2560be7064f8SJoseph Chen		clocks = <&pmucru CLK_PCIEPHY0_REF>, <&cru PCLK_PIPEPHY0>;
2561be7064f8SJoseph Chen		clock-names = "refclk", "apbclk";
25622d25c32eSJoseph Chen		assigned-clocks = <&pmucru CLK_PCIEPHY0_REF>;
25632d25c32eSJoseph Chen		assigned-clock-rates = <24000000>;
2564be7064f8SJoseph Chen		resets = <&cru SRST_P_PIPEPHY0>, <&cru SRST_PIPEPHY0>;
2565be7064f8SJoseph Chen		reset-names = "combphy-apb", "combphy";
2566be7064f8SJoseph Chen		rockchip,pipe-grf = <&pipegrf>;
2567be7064f8SJoseph Chen		rockchip,pipe-phy-grf = <&pipe_phy_grf0>;
2568be7064f8SJoseph Chen		status = "disabled";
2569be7064f8SJoseph Chen	};
2570be7064f8SJoseph Chen
2571be7064f8SJoseph Chen	combphy1_usq: phy@fe830000 {
2572be7064f8SJoseph Chen		compatible = "rockchip,rk3568-naneng-combphy";
2573be7064f8SJoseph Chen		reg = <0x0 0xfe830000 0x0 0x100>;
2574be7064f8SJoseph Chen		#phy-cells = <1>;
2575be7064f8SJoseph Chen		clocks = <&pmucru CLK_PCIEPHY1_REF>, <&cru PCLK_PIPEPHY1>;
2576be7064f8SJoseph Chen		clock-names = "refclk", "apbclk";
25772d25c32eSJoseph Chen		assigned-clocks = <&pmucru CLK_PCIEPHY1_REF>;
25782d25c32eSJoseph Chen		assigned-clock-rates = <24000000>;
25792d25c32eSJoseph Chen		resets = <&cru SRST_P_PIPEPHY1>, <&cru SRST_PIPEPHY1>;
2580be7064f8SJoseph Chen		reset-names = "combphy-apb", "combphy";
2581be7064f8SJoseph Chen		rockchip,pipe-grf = <&pipegrf>;
2582be7064f8SJoseph Chen		rockchip,pipe-phy-grf = <&pipe_phy_grf1>;
2583be7064f8SJoseph Chen		status = "disabled";
2584be7064f8SJoseph Chen	};
2585be7064f8SJoseph Chen
2586be7064f8SJoseph Chen	combphy2_psq: phy@fe840000 {
2587be7064f8SJoseph Chen		compatible = "rockchip,rk3568-naneng-combphy";
2588be7064f8SJoseph Chen		reg = <0x0 0xfe840000 0x0 0x100>;
2589be7064f8SJoseph Chen		#phy-cells = <1>;
2590be7064f8SJoseph Chen		clocks = <&pmucru CLK_PCIEPHY2_REF>, <&cru PCLK_PIPEPHY2>;
2591be7064f8SJoseph Chen		clock-names = "refclk", "apbclk";
25922d25c32eSJoseph Chen		assigned-clocks = <&pmucru CLK_PCIEPHY2_REF>;
25932d25c32eSJoseph Chen		assigned-clock-rates = <24000000>;
2594be7064f8SJoseph Chen		resets = <&cru SRST_P_PIPEPHY2>, <&cru SRST_PIPEPHY2>;
2595be7064f8SJoseph Chen		reset-names = "combphy-apb", "combphy";
2596be7064f8SJoseph Chen		rockchip,pipe-grf = <&pipegrf>;
2597be7064f8SJoseph Chen		rockchip,pipe-phy-grf = <&pipe_phy_grf2>;
2598be7064f8SJoseph Chen		status = "disabled";
2599be7064f8SJoseph Chen	};
2600be7064f8SJoseph Chen
26012d25c32eSJoseph Chen	mipi_dphy0: mipi-dphy@fe850000 {
26022d25c32eSJoseph Chen		compatible = "rockchip,rk3568-mipi-dphy";
26032d25c32eSJoseph Chen		reg = <0x0 0xfe850000 0x0 0x10000>;
26042d25c32eSJoseph Chen		clocks = <&pmucru CLK_MIPIDSIPHY0_REF>, <&cru PCLK_MIPIDSIPHY0>;
26052d25c32eSJoseph Chen		clock-names = "ref", "pclk";
26062d25c32eSJoseph Chen		clock-output-names = "mipi_dphy_pll";
26072d25c32eSJoseph Chen		#clock-cells = <0>;
26082d25c32eSJoseph Chen		resets = <&cru SRST_P_MIPIDSIPHY0>;
26092d25c32eSJoseph Chen		reset-names = "apb";
26102d25c32eSJoseph Chen		power-domains = <&power RK3568_PD_VO>;
26112d25c32eSJoseph Chen		#phy-cells = <0>;
26122d25c32eSJoseph Chen		rockchip,grf = <&grf>;
26132d25c32eSJoseph Chen		status = "disabled";
26142d25c32eSJoseph Chen	};
26152d25c32eSJoseph Chen
26162d25c32eSJoseph Chen	video_phy0: video-phy@fe850000 {
26172d25c32eSJoseph Chen		compatible = "rockchip,rk3568-video-phy";
26182d25c32eSJoseph Chen		reg = <0x0 0xfe850000  0x0 0x10000>,
26192d25c32eSJoseph Chen		      <0x0 0xfe060000 0x0 0x10000>;
26202d25c32eSJoseph Chen		clocks = <&pmucru CLK_MIPIDSIPHY0_REF>,
26212d25c32eSJoseph Chen			 <&cru PCLK_MIPIDSIPHY0>, <&cru PCLK_DSITX_0>;
26222d25c32eSJoseph Chen		clock-names = "ref", "pclk_phy", "pclk_host";
26232d25c32eSJoseph Chen		#clock-cells = <0>;
26242d25c32eSJoseph Chen		resets = <&cru SRST_P_MIPIDSIPHY0>;
26252d25c32eSJoseph Chen		reset-names = "rst";
26262d25c32eSJoseph Chen		power-domains = <&power RK3568_PD_VO>;
26272d25c32eSJoseph Chen		#phy-cells = <0>;
26282d25c32eSJoseph Chen		status = "disabled";
26292d25c32eSJoseph Chen	};
26302d25c32eSJoseph Chen
26312d25c32eSJoseph Chen	mipi_dphy1: mipi-dphy@fe860000 {
26322d25c32eSJoseph Chen		compatible = "rockchip,rk3568-mipi-dphy";
26332d25c32eSJoseph Chen		reg = <0x0 0xfe860000 0x0 0x10000>;
26342d25c32eSJoseph Chen		clocks = <&pmucru CLK_MIPIDSIPHY1_REF>, <&cru PCLK_MIPIDSIPHY1>;
26352d25c32eSJoseph Chen		clock-names = "ref", "pclk";
26362d25c32eSJoseph Chen		clock-output-names = "mipi_dphy1_pll";
26372d25c32eSJoseph Chen		#clock-cells = <0>;
26382d25c32eSJoseph Chen		resets = <&cru SRST_P_MIPIDSIPHY1>;
26392d25c32eSJoseph Chen		reset-names = "apb";
26402d25c32eSJoseph Chen		power-domains = <&power RK3568_PD_VO>;
26412d25c32eSJoseph Chen		#phy-cells = <0>;
26422d25c32eSJoseph Chen		rockchip,grf = <&grf>;
26432d25c32eSJoseph Chen		status = "disabled";
26442d25c32eSJoseph Chen	};
26452d25c32eSJoseph Chen
26462d25c32eSJoseph Chen	video_phy1: video-phy@fe860000 {
26472d25c32eSJoseph Chen		compatible = "rockchip,rk3568-video-phy";
26482d25c32eSJoseph Chen		reg = <0x0 0xfe860000 0x0 0x10000>,
26492d25c32eSJoseph Chen		      <0x0 0xfe070000 0x0 0x10000>;
26502d25c32eSJoseph Chen		clocks = <&pmucru CLK_MIPIDSIPHY1_REF>,
26512d25c32eSJoseph Chen			 <&cru PCLK_MIPIDSIPHY1>, <&cru PCLK_DSITX_1>;
26522d25c32eSJoseph Chen		clock-names = "ref", "pclk_phy", "pclk_host";
26532d25c32eSJoseph Chen		#clock-cells = <0>;
26542d25c32eSJoseph Chen		resets = <&cru SRST_P_MIPIDSIPHY1>;
26552d25c32eSJoseph Chen		reset-names = "rst";
26562d25c32eSJoseph Chen		power-domains = <&power RK3568_PD_VO>;
26572d25c32eSJoseph Chen		#phy-cells = <0>;
26582d25c32eSJoseph Chen		status = "disabled";
26592d25c32eSJoseph Chen	};
26602d25c32eSJoseph Chen
26612d25c32eSJoseph Chen	csi_dphy: csi-dphy@fe870000 {
26622d25c32eSJoseph Chen		compatible = "rockchip,rk3568-csi-dphy";
26632d25c32eSJoseph Chen		reg = <0x0 0xfe870000 0x0 0x1000>;
26642d25c32eSJoseph Chen		clocks = <&cru PCLK_MIPICSIPHY>;
26652d25c32eSJoseph Chen		clock-names = "pclk";
26662d25c32eSJoseph Chen		rockchip,grf = <&grf>;
26672d25c32eSJoseph Chen		status = "disabled";
26682d25c32eSJoseph Chen	};
26692d25c32eSJoseph Chen
267042474902SRen Jianing	usb2phy0: usb2-phy@fe8a0000 {
267142474902SRen Jianing		compatible = "rockchip,rk3568-usb2phy";
267242474902SRen Jianing		reg = <0x0 0xfe8a0000 0x0 0x10000>;
267342474902SRen Jianing		interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>;
267442474902SRen Jianing		clocks = <&pmucru CLK_USBPHY0_REF>;
267542474902SRen Jianing		clock-names = "phyclk";
267642474902SRen Jianing		#clock-cells = <0>;
26772d25c32eSJoseph Chen		assigned-clocks = <&cru USB480M>;
26782d25c32eSJoseph Chen		assigned-clock-parents = <&usb2phy0>;
267942474902SRen Jianing		clock-output-names = "usb480m_phy";
268042474902SRen Jianing		rockchip,usbgrf = <&usb2phy0_grf>;
268142474902SRen Jianing		status = "disabled";
268242474902SRen Jianing
268342474902SRen Jianing		u2phy0_host: host-port {
268442474902SRen Jianing			#phy-cells = <0>;
268542474902SRen Jianing			status = "disabled";
268642474902SRen Jianing		};
268742474902SRen Jianing
268842474902SRen Jianing		u2phy0_otg: otg-port {
268942474902SRen Jianing			#phy-cells = <0>;
269042474902SRen Jianing			status = "disabled";
269142474902SRen Jianing		};
269242474902SRen Jianing	};
269342474902SRen Jianing
269442474902SRen Jianing	usb2phy1: usb2-phy@fe8b0000 {
269542474902SRen Jianing		compatible = "rockchip,rk3568-usb2phy";
269642474902SRen Jianing		reg = <0x0 0xfe8b0000 0x0 0x10000>;
269742474902SRen Jianing		interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
269842474902SRen Jianing		clocks = <&pmucru CLK_USBPHY1_REF>;
269942474902SRen Jianing		clock-names = "phyclk";
27002d25c32eSJoseph Chen		#clock-cells = <0>;
270142474902SRen Jianing		rockchip,usbgrf = <&usb2phy1_grf>;
270242474902SRen Jianing		status = "disabled";
270342474902SRen Jianing
270442474902SRen Jianing		u2phy1_host: host-port {
270542474902SRen Jianing			#phy-cells = <0>;
270642474902SRen Jianing			status = "disabled";
270742474902SRen Jianing		};
270842474902SRen Jianing
270942474902SRen Jianing		u2phy1_otg: otg-port {
271042474902SRen Jianing			#phy-cells = <0>;
271142474902SRen Jianing			status = "disabled";
271242474902SRen Jianing		};
271342474902SRen Jianing	};
271442474902SRen Jianing
27152d25c32eSJoseph Chen	pcie30phy: phy@fe8c0000 {
27162d25c32eSJoseph Chen		compatible = "rockchip,rk3568-pcie3-phy";
27172d25c32eSJoseph Chen		reg = <0x0 0xfe8c0000 0x0 0x20000>;
27182d25c32eSJoseph Chen		#phy-cells = <0>;
27192d25c32eSJoseph Chen		clocks = <&pmucru CLK_PCIE30PHY_REF_M>, <&pmucru CLK_PCIE30PHY_REF_N>,
27202d25c32eSJoseph Chen			 <&cru PCLK_PCIE30PHY>;
27212d25c32eSJoseph Chen		clock-names = "refclk_m", "refclk_n", "pclk";
27222d25c32eSJoseph Chen		resets = <&cru SRST_PCIE30PHY>;
27232d25c32eSJoseph Chen		reset-names = "phy";
27242d25c32eSJoseph Chen		rockchip,phy-grf = <&pcie30_phy_grf>;
27252d25c32eSJoseph Chen		status = "disabled";
27262d25c32eSJoseph Chen	};
27272d25c32eSJoseph Chen
2728be7064f8SJoseph Chen	pinctrl: pinctrl {
2729be7064f8SJoseph Chen		compatible = "rockchip,rk3568-pinctrl";
2730be7064f8SJoseph Chen		rockchip,grf = <&grf>;
2731be7064f8SJoseph Chen		rockchip,pmu = <&pmugrf>;
2732be7064f8SJoseph Chen		#address-cells = <2>;
2733be7064f8SJoseph Chen		#size-cells = <2>;
2734be7064f8SJoseph Chen		ranges;
2735be7064f8SJoseph Chen
2736be7064f8SJoseph Chen		gpio0: gpio@fdd60000 {
2737be7064f8SJoseph Chen			compatible = "rockchip,gpio-bank";
2738be7064f8SJoseph Chen			reg = <0x0 0xfdd60000 0x0 0x100>;
2739be7064f8SJoseph Chen			interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
2740be7064f8SJoseph Chen			clocks = <&pmucru PCLK_GPIO0>, <&pmucru DBCLK_GPIO0>;
2741be7064f8SJoseph Chen
2742be7064f8SJoseph Chen			gpio-controller;
2743be7064f8SJoseph Chen			#gpio-cells = <2>;
2744be7064f8SJoseph Chen			gpio-ranges = <&pinctrl 0 0 32>;
2745be7064f8SJoseph Chen			interrupt-controller;
2746be7064f8SJoseph Chen			#interrupt-cells = <2>;
2747be7064f8SJoseph Chen		};
2748be7064f8SJoseph Chen
2749be7064f8SJoseph Chen		gpio1: gpio@fe740000 {
2750be7064f8SJoseph Chen			compatible = "rockchip,gpio-bank";
2751be7064f8SJoseph Chen			reg = <0x0 0xfe740000 0x0 0x100>;
2752be7064f8SJoseph Chen			interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
2753be7064f8SJoseph Chen			clocks = <&cru PCLK_GPIO1>, <&cru DBCLK_GPIO1>;
2754be7064f8SJoseph Chen
2755be7064f8SJoseph Chen			gpio-controller;
2756be7064f8SJoseph Chen			#gpio-cells = <2>;
2757be7064f8SJoseph Chen			gpio-ranges = <&pinctrl 0 32 32>;
2758be7064f8SJoseph Chen			interrupt-controller;
2759be7064f8SJoseph Chen			#interrupt-cells = <2>;
2760be7064f8SJoseph Chen		};
2761be7064f8SJoseph Chen
2762be7064f8SJoseph Chen		gpio2: gpio@fe750000 {
2763be7064f8SJoseph Chen			compatible = "rockchip,gpio-bank";
2764be7064f8SJoseph Chen			reg = <0x0 0xfe750000 0x0 0x100>;
2765be7064f8SJoseph Chen			interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
2766be7064f8SJoseph Chen			clocks = <&cru PCLK_GPIO2>, <&cru DBCLK_GPIO2>;
2767be7064f8SJoseph Chen
2768be7064f8SJoseph Chen			gpio-controller;
2769be7064f8SJoseph Chen			#gpio-cells = <2>;
2770be7064f8SJoseph Chen			gpio-ranges = <&pinctrl 0 64 32>;
2771be7064f8SJoseph Chen			interrupt-controller;
2772be7064f8SJoseph Chen			#interrupt-cells = <2>;
2773be7064f8SJoseph Chen		};
2774be7064f8SJoseph Chen
2775be7064f8SJoseph Chen		gpio3: gpio@fe760000 {
2776be7064f8SJoseph Chen			compatible = "rockchip,gpio-bank";
27772d25c32eSJoseph Chen			reg = <0x0 0xfe760000 0x0 0x100>;
2778be7064f8SJoseph Chen			interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
2779be7064f8SJoseph Chen			clocks = <&cru PCLK_GPIO3>, <&cru DBCLK_GPIO3>;
2780be7064f8SJoseph Chen
2781be7064f8SJoseph Chen			gpio-controller;
2782be7064f8SJoseph Chen			#gpio-cells = <2>;
2783be7064f8SJoseph Chen			gpio-ranges = <&pinctrl 0 96 32>;
2784be7064f8SJoseph Chen			interrupt-controller;
2785be7064f8SJoseph Chen			#interrupt-cells = <2>;
2786be7064f8SJoseph Chen		};
2787be7064f8SJoseph Chen
2788be7064f8SJoseph Chen		gpio4: gpio@fe770000 {
2789be7064f8SJoseph Chen			compatible = "rockchip,gpio-bank";
2790be7064f8SJoseph Chen			reg = <0x0 0xfe770000 0x0 0x100>;
2791be7064f8SJoseph Chen			interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
2792be7064f8SJoseph Chen			clocks = <&cru PCLK_GPIO4>, <&cru DBCLK_GPIO4>;
2793be7064f8SJoseph Chen
2794be7064f8SJoseph Chen			gpio-controller;
2795be7064f8SJoseph Chen			#gpio-cells = <2>;
2796be7064f8SJoseph Chen			gpio-ranges = <&pinctrl 0 128 32>;
2797be7064f8SJoseph Chen			interrupt-controller;
2798be7064f8SJoseph Chen			#interrupt-cells = <2>;
2799be7064f8SJoseph Chen		};
2800be7064f8SJoseph Chen	};
2801be7064f8SJoseph Chen};
2802be7064f8SJoseph Chen
2803be7064f8SJoseph Chen#include "rk3568-pinctrl.dtsi"
2804