14e50d217SPeter Geis// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
24e50d217SPeter Geis/*
34e50d217SPeter Geis * Copyright (c) 2021 Rockchip Electronics Co., Ltd.
44e50d217SPeter Geis */
54e50d217SPeter Geis
64e50d217SPeter Geis#include <dt-bindings/clock/rk3568-cru.h>
74e50d217SPeter Geis#include <dt-bindings/interrupt-controller/arm-gic.h>
84e50d217SPeter Geis#include <dt-bindings/interrupt-controller/irq.h>
94e50d217SPeter Geis#include <dt-bindings/phy/phy.h>
104e50d217SPeter Geis#include <dt-bindings/pinctrl/rockchip.h>
114e50d217SPeter Geis#include <dt-bindings/power/rk3568-power.h>
124e50d217SPeter Geis#include <dt-bindings/soc/rockchip,boot-mode.h>
134e50d217SPeter Geis#include <dt-bindings/thermal/thermal.h>
144e50d217SPeter Geis
154e50d217SPeter Geis/ {
164e50d217SPeter Geis	interrupt-parent = <&gic>;
174e50d217SPeter Geis	#address-cells = <2>;
184e50d217SPeter Geis	#size-cells = <2>;
194e50d217SPeter Geis
204e50d217SPeter Geis	aliases {
214e50d217SPeter Geis		gpio0 = &gpio0;
224e50d217SPeter Geis		gpio1 = &gpio1;
234e50d217SPeter Geis		gpio2 = &gpio2;
244e50d217SPeter Geis		gpio3 = &gpio3;
254e50d217SPeter Geis		gpio4 = &gpio4;
264e50d217SPeter Geis		i2c0 = &i2c0;
274e50d217SPeter Geis		i2c1 = &i2c1;
284e50d217SPeter Geis		i2c2 = &i2c2;
294e50d217SPeter Geis		i2c3 = &i2c3;
304e50d217SPeter Geis		i2c4 = &i2c4;
314e50d217SPeter Geis		i2c5 = &i2c5;
324e50d217SPeter Geis		serial0 = &uart0;
334e50d217SPeter Geis		serial1 = &uart1;
344e50d217SPeter Geis		serial2 = &uart2;
354e50d217SPeter Geis		serial3 = &uart3;
364e50d217SPeter Geis		serial4 = &uart4;
374e50d217SPeter Geis		serial5 = &uart5;
384e50d217SPeter Geis		serial6 = &uart6;
394e50d217SPeter Geis		serial7 = &uart7;
404e50d217SPeter Geis		serial8 = &uart8;
414e50d217SPeter Geis		serial9 = &uart9;
42aaa552d8SNicolas Frattaroli		spi0 = &spi0;
43aaa552d8SNicolas Frattaroli		spi1 = &spi1;
44aaa552d8SNicolas Frattaroli		spi2 = &spi2;
45aaa552d8SNicolas Frattaroli		spi3 = &spi3;
464e50d217SPeter Geis	};
474e50d217SPeter Geis
484e50d217SPeter Geis	cpus {
494e50d217SPeter Geis		#address-cells = <2>;
504e50d217SPeter Geis		#size-cells = <0>;
514e50d217SPeter Geis
524e50d217SPeter Geis		cpu0: cpu@0 {
534e50d217SPeter Geis			device_type = "cpu";
544e50d217SPeter Geis			compatible = "arm,cortex-a55";
554e50d217SPeter Geis			reg = <0x0 0x0>;
564e50d217SPeter Geis			clocks = <&scmi_clk 0>;
571330875dSPeter Geis			#cooling-cells = <2>;
584e50d217SPeter Geis			enable-method = "psci";
594e50d217SPeter Geis			operating-points-v2 = <&cpu0_opp_table>;
604e50d217SPeter Geis		};
614e50d217SPeter Geis
624e50d217SPeter Geis		cpu1: cpu@100 {
634e50d217SPeter Geis			device_type = "cpu";
644e50d217SPeter Geis			compatible = "arm,cortex-a55";
654e50d217SPeter Geis			reg = <0x0 0x100>;
661330875dSPeter Geis			#cooling-cells = <2>;
674e50d217SPeter Geis			enable-method = "psci";
684e50d217SPeter Geis			operating-points-v2 = <&cpu0_opp_table>;
694e50d217SPeter Geis		};
704e50d217SPeter Geis
714e50d217SPeter Geis		cpu2: cpu@200 {
724e50d217SPeter Geis			device_type = "cpu";
734e50d217SPeter Geis			compatible = "arm,cortex-a55";
744e50d217SPeter Geis			reg = <0x0 0x200>;
751330875dSPeter Geis			#cooling-cells = <2>;
764e50d217SPeter Geis			enable-method = "psci";
774e50d217SPeter Geis			operating-points-v2 = <&cpu0_opp_table>;
784e50d217SPeter Geis		};
794e50d217SPeter Geis
804e50d217SPeter Geis		cpu3: cpu@300 {
814e50d217SPeter Geis			device_type = "cpu";
824e50d217SPeter Geis			compatible = "arm,cortex-a55";
834e50d217SPeter Geis			reg = <0x0 0x300>;
841330875dSPeter Geis			#cooling-cells = <2>;
854e50d217SPeter Geis			enable-method = "psci";
864e50d217SPeter Geis			operating-points-v2 = <&cpu0_opp_table>;
874e50d217SPeter Geis		};
884e50d217SPeter Geis	};
894e50d217SPeter Geis
90a30f3d90SKrzysztof Kozlowski	cpu0_opp_table: opp-table-0 {
914e50d217SPeter Geis		compatible = "operating-points-v2";
924e50d217SPeter Geis		opp-shared;
934e50d217SPeter Geis
944e50d217SPeter Geis		opp-408000000 {
954e50d217SPeter Geis			opp-hz = /bits/ 64 <408000000>;
964e50d217SPeter Geis			opp-microvolt = <900000 900000 1150000>;
974e50d217SPeter Geis			clock-latency-ns = <40000>;
984e50d217SPeter Geis		};
994e50d217SPeter Geis
1004e50d217SPeter Geis		opp-600000000 {
1014e50d217SPeter Geis			opp-hz = /bits/ 64 <600000000>;
1024e50d217SPeter Geis			opp-microvolt = <900000 900000 1150000>;
1034e50d217SPeter Geis		};
1044e50d217SPeter Geis
1054e50d217SPeter Geis		opp-816000000 {
1064e50d217SPeter Geis			opp-hz = /bits/ 64 <816000000>;
1074e50d217SPeter Geis			opp-microvolt = <900000 900000 1150000>;
1084e50d217SPeter Geis			opp-suspend;
1094e50d217SPeter Geis		};
1104e50d217SPeter Geis
1114e50d217SPeter Geis		opp-1104000000 {
1124e50d217SPeter Geis			opp-hz = /bits/ 64 <1104000000>;
1134e50d217SPeter Geis			opp-microvolt = <900000 900000 1150000>;
1144e50d217SPeter Geis		};
1154e50d217SPeter Geis
1164e50d217SPeter Geis		opp-1416000000 {
1174e50d217SPeter Geis			opp-hz = /bits/ 64 <1416000000>;
1184e50d217SPeter Geis			opp-microvolt = <900000 900000 1150000>;
1194e50d217SPeter Geis		};
1204e50d217SPeter Geis
1214e50d217SPeter Geis		opp-1608000000 {
1224e50d217SPeter Geis			opp-hz = /bits/ 64 <1608000000>;
1234e50d217SPeter Geis			opp-microvolt = <975000 975000 1150000>;
1244e50d217SPeter Geis		};
1254e50d217SPeter Geis
1264e50d217SPeter Geis		opp-1800000000 {
1274e50d217SPeter Geis			opp-hz = /bits/ 64 <1800000000>;
1284e50d217SPeter Geis			opp-microvolt = <1050000 1050000 1150000>;
1294e50d217SPeter Geis		};
1304e50d217SPeter Geis	};
1314e50d217SPeter Geis
1324e50d217SPeter Geis	firmware {
1334e50d217SPeter Geis		scmi: scmi {
1344e50d217SPeter Geis			compatible = "arm,scmi-smc";
1354e50d217SPeter Geis			arm,smc-id = <0x82000010>;
1364e50d217SPeter Geis			shmem = <&scmi_shmem>;
1374e50d217SPeter Geis			#address-cells = <1>;
1384e50d217SPeter Geis			#size-cells = <0>;
1394e50d217SPeter Geis
1404e50d217SPeter Geis			scmi_clk: protocol@14 {
1414e50d217SPeter Geis				reg = <0x14>;
1424e50d217SPeter Geis				#clock-cells = <1>;
1434e50d217SPeter Geis			};
1444e50d217SPeter Geis		};
1454e50d217SPeter Geis	};
1464e50d217SPeter Geis
14781002866SEzequiel Garcia	gpu_opp_table: opp-table-1 {
14881002866SEzequiel Garcia		compatible = "operating-points-v2";
14981002866SEzequiel Garcia
15081002866SEzequiel Garcia		opp-200000000 {
15181002866SEzequiel Garcia			opp-hz = /bits/ 64 <200000000>;
15281002866SEzequiel Garcia			opp-microvolt = <825000>;
15381002866SEzequiel Garcia		};
15481002866SEzequiel Garcia
15581002866SEzequiel Garcia		opp-300000000 {
15681002866SEzequiel Garcia			opp-hz = /bits/ 64 <300000000>;
15781002866SEzequiel Garcia			opp-microvolt = <825000>;
15881002866SEzequiel Garcia		};
15981002866SEzequiel Garcia
16081002866SEzequiel Garcia		opp-400000000 {
16181002866SEzequiel Garcia			opp-hz = /bits/ 64 <400000000>;
16281002866SEzequiel Garcia			opp-microvolt = <825000>;
16381002866SEzequiel Garcia		};
16481002866SEzequiel Garcia
16581002866SEzequiel Garcia		opp-600000000 {
16681002866SEzequiel Garcia			opp-hz = /bits/ 64 <600000000>;
16781002866SEzequiel Garcia			opp-microvolt = <825000>;
16881002866SEzequiel Garcia		};
16981002866SEzequiel Garcia
17081002866SEzequiel Garcia		opp-700000000 {
17181002866SEzequiel Garcia			opp-hz = /bits/ 64 <700000000>;
17281002866SEzequiel Garcia			opp-microvolt = <900000>;
17381002866SEzequiel Garcia		};
17481002866SEzequiel Garcia
17581002866SEzequiel Garcia		opp-800000000 {
17681002866SEzequiel Garcia			opp-hz = /bits/ 64 <800000000>;
17781002866SEzequiel Garcia			opp-microvolt = <1000000>;
17881002866SEzequiel Garcia		};
17981002866SEzequiel Garcia	};
18081002866SEzequiel Garcia
1814e50d217SPeter Geis	pmu {
1824e50d217SPeter Geis		compatible = "arm,cortex-a55-pmu";
1834e50d217SPeter Geis		interrupts = <GIC_SPI 228 IRQ_TYPE_LEVEL_HIGH>,
1844e50d217SPeter Geis			     <GIC_SPI 229 IRQ_TYPE_LEVEL_HIGH>,
1854e50d217SPeter Geis			     <GIC_SPI 230 IRQ_TYPE_LEVEL_HIGH>,
1864e50d217SPeter Geis			     <GIC_SPI 231 IRQ_TYPE_LEVEL_HIGH>;
1874e50d217SPeter Geis		interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
1884e50d217SPeter Geis	};
1894e50d217SPeter Geis
1904e50d217SPeter Geis	psci {
1914e50d217SPeter Geis		compatible = "arm,psci-1.0";
1924e50d217SPeter Geis		method = "smc";
1934e50d217SPeter Geis	};
1944e50d217SPeter Geis
1954e50d217SPeter Geis	timer {
1964e50d217SPeter Geis		compatible = "arm,armv8-timer";
1974e50d217SPeter Geis		interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_HIGH>,
1984e50d217SPeter Geis			     <GIC_PPI 14 IRQ_TYPE_LEVEL_HIGH>,
1994e50d217SPeter Geis			     <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH>,
2004e50d217SPeter Geis			     <GIC_PPI 10 IRQ_TYPE_LEVEL_HIGH>;
2014e50d217SPeter Geis		arm,no-tick-in-suspend;
2024e50d217SPeter Geis	};
2034e50d217SPeter Geis
2044e50d217SPeter Geis	xin24m: xin24m {
2054e50d217SPeter Geis		compatible = "fixed-clock";
2064e50d217SPeter Geis		clock-frequency = <24000000>;
2074e50d217SPeter Geis		clock-output-names = "xin24m";
2084e50d217SPeter Geis		#clock-cells = <0>;
2094e50d217SPeter Geis	};
2104e50d217SPeter Geis
2114e50d217SPeter Geis	xin32k: xin32k {
2124e50d217SPeter Geis		compatible = "fixed-clock";
2134e50d217SPeter Geis		clock-frequency = <32768>;
2144e50d217SPeter Geis		clock-output-names = "xin32k";
2154e50d217SPeter Geis		pinctrl-0 = <&clk32k_out0>;
2164e50d217SPeter Geis		pinctrl-names = "default";
2174e50d217SPeter Geis		#clock-cells = <0>;
2184e50d217SPeter Geis	};
2194e50d217SPeter Geis
2204e50d217SPeter Geis	sram@10f000 {
2214e50d217SPeter Geis		compatible = "mmio-sram";
2224e50d217SPeter Geis		reg = <0x0 0x0010f000 0x0 0x100>;
2234e50d217SPeter Geis		#address-cells = <1>;
2244e50d217SPeter Geis		#size-cells = <1>;
2254e50d217SPeter Geis		ranges = <0 0x0 0x0010f000 0x100>;
2264e50d217SPeter Geis
2274e50d217SPeter Geis		scmi_shmem: sram@0 {
2284e50d217SPeter Geis			compatible = "arm,scmi-shmem";
2294e50d217SPeter Geis			reg = <0x0 0x100>;
2304e50d217SPeter Geis		};
2314e50d217SPeter Geis	};
2324e50d217SPeter Geis
233*16c0f95dSFrank Wunderlich	sata1: sata@fc400000 {
234*16c0f95dSFrank Wunderlich		compatible = "rockchip,rk3568-dwc-ahci", "snps,dwc-ahci";
235*16c0f95dSFrank Wunderlich		reg = <0 0xfc400000 0 0x1000>;
236*16c0f95dSFrank Wunderlich		clocks = <&cru ACLK_SATA1>, <&cru CLK_SATA1_PMALIVE>,
237*16c0f95dSFrank Wunderlich			 <&cru CLK_SATA1_RXOOB>;
238*16c0f95dSFrank Wunderlich		clock-names = "sata", "pmalive", "rxoob";
239*16c0f95dSFrank Wunderlich		interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
240*16c0f95dSFrank Wunderlich		phys = <&combphy1 PHY_TYPE_SATA>;
241*16c0f95dSFrank Wunderlich		phy-names = "sata-phy";
242*16c0f95dSFrank Wunderlich		ports-implemented = <0x1>;
243*16c0f95dSFrank Wunderlich		power-domains = <&power RK3568_PD_PIPE>;
244*16c0f95dSFrank Wunderlich		status = "disabled";
245*16c0f95dSFrank Wunderlich	};
246*16c0f95dSFrank Wunderlich
247*16c0f95dSFrank Wunderlich	sata2: sata@fc800000 {
248*16c0f95dSFrank Wunderlich		compatible = "rockchip,rk3568-dwc-ahci", "snps,dwc-ahci";
249*16c0f95dSFrank Wunderlich		reg = <0 0xfc800000 0 0x1000>;
250*16c0f95dSFrank Wunderlich		clocks = <&cru ACLK_SATA2>, <&cru CLK_SATA2_PMALIVE>,
251*16c0f95dSFrank Wunderlich			 <&cru CLK_SATA2_RXOOB>;
252*16c0f95dSFrank Wunderlich		clock-names = "sata", "pmalive", "rxoob";
253*16c0f95dSFrank Wunderlich		interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
254*16c0f95dSFrank Wunderlich		phys = <&combphy2 PHY_TYPE_SATA>;
255*16c0f95dSFrank Wunderlich		phy-names = "sata-phy";
256*16c0f95dSFrank Wunderlich		ports-implemented = <0x1>;
257*16c0f95dSFrank Wunderlich		power-domains = <&power RK3568_PD_PIPE>;
258*16c0f95dSFrank Wunderlich		status = "disabled";
259*16c0f95dSFrank Wunderlich	};
260*16c0f95dSFrank Wunderlich
2614e50d217SPeter Geis	gic: interrupt-controller@fd400000 {
2624e50d217SPeter Geis		compatible = "arm,gic-v3";
2634e50d217SPeter Geis		reg = <0x0 0xfd400000 0 0x10000>, /* GICD */
2644e50d217SPeter Geis		      <0x0 0xfd460000 0 0x80000>; /* GICR */
2654e50d217SPeter Geis		interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
2664e50d217SPeter Geis		interrupt-controller;
2674e50d217SPeter Geis		#interrupt-cells = <3>;
268b6c1a590SPeter Geis		mbi-alias = <0x0 0xfd410000>;
2694e50d217SPeter Geis		mbi-ranges = <296 24>;
2704e50d217SPeter Geis		msi-controller;
2714e50d217SPeter Geis	};
2724e50d217SPeter Geis
27391c4c3e0SPeter Geis	usb_host0_ehci: usb@fd800000 {
27491c4c3e0SPeter Geis		compatible = "generic-ehci";
27591c4c3e0SPeter Geis		reg = <0x0 0xfd800000 0x0 0x40000>;
27691c4c3e0SPeter Geis		interrupts = <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>;
27791c4c3e0SPeter Geis		clocks = <&cru HCLK_USB2HOST0>, <&cru HCLK_USB2HOST0_ARB>,
27891c4c3e0SPeter Geis			 <&cru PCLK_USB>;
27978f71860SMichael Riesch		phys = <&usb2phy1_otg>;
28091c4c3e0SPeter Geis		phy-names = "usb";
28191c4c3e0SPeter Geis		status = "disabled";
28291c4c3e0SPeter Geis	};
28391c4c3e0SPeter Geis
28491c4c3e0SPeter Geis	usb_host0_ohci: usb@fd840000 {
28591c4c3e0SPeter Geis		compatible = "generic-ohci";
28691c4c3e0SPeter Geis		reg = <0x0 0xfd840000 0x0 0x40000>;
28791c4c3e0SPeter Geis		interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>;
28891c4c3e0SPeter Geis		clocks = <&cru HCLK_USB2HOST0>, <&cru HCLK_USB2HOST0_ARB>,
28991c4c3e0SPeter Geis			 <&cru PCLK_USB>;
29078f71860SMichael Riesch		phys = <&usb2phy1_otg>;
29191c4c3e0SPeter Geis		phy-names = "usb";
29291c4c3e0SPeter Geis		status = "disabled";
29391c4c3e0SPeter Geis	};
29491c4c3e0SPeter Geis
29591c4c3e0SPeter Geis	usb_host1_ehci: usb@fd880000 {
29691c4c3e0SPeter Geis		compatible = "generic-ehci";
29791c4c3e0SPeter Geis		reg = <0x0 0xfd880000 0x0 0x40000>;
29891c4c3e0SPeter Geis		interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
29991c4c3e0SPeter Geis		clocks = <&cru HCLK_USB2HOST1>, <&cru HCLK_USB2HOST1_ARB>,
30091c4c3e0SPeter Geis			 <&cru PCLK_USB>;
30178f71860SMichael Riesch		phys = <&usb2phy1_host>;
30291c4c3e0SPeter Geis		phy-names = "usb";
30391c4c3e0SPeter Geis		status = "disabled";
30491c4c3e0SPeter Geis	};
30591c4c3e0SPeter Geis
30691c4c3e0SPeter Geis	usb_host1_ohci: usb@fd8c0000 {
30791c4c3e0SPeter Geis		compatible = "generic-ohci";
30891c4c3e0SPeter Geis		reg = <0x0 0xfd8c0000 0x0 0x40000>;
30991c4c3e0SPeter Geis		interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>;
31091c4c3e0SPeter Geis		clocks = <&cru HCLK_USB2HOST1>, <&cru HCLK_USB2HOST1_ARB>,
31191c4c3e0SPeter Geis			 <&cru PCLK_USB>;
31278f71860SMichael Riesch		phys = <&usb2phy1_host>;
31391c4c3e0SPeter Geis		phy-names = "usb";
31491c4c3e0SPeter Geis		status = "disabled";
31591c4c3e0SPeter Geis	};
31691c4c3e0SPeter Geis
3174e50d217SPeter Geis	pmugrf: syscon@fdc20000 {
3184e50d217SPeter Geis		compatible = "rockchip,rk3568-pmugrf", "syscon", "simple-mfd";
3194e50d217SPeter Geis		reg = <0x0 0xfdc20000 0x0 0x10000>;
3202dbcb251SMichael Riesch
3212dbcb251SMichael Riesch		pmu_io_domains: io-domains {
3222dbcb251SMichael Riesch			compatible = "rockchip,rk3568-pmu-io-voltage-domain";
3232dbcb251SMichael Riesch			status = "disabled";
3242dbcb251SMichael Riesch		};
3254e50d217SPeter Geis	};
3264e50d217SPeter Geis
3273cc8cd2dSYifeng Zhao	pipegrf: syscon@fdc50000 {
3283cc8cd2dSYifeng Zhao		compatible = "rockchip,rk3568-pipe-grf", "syscon";
3293cc8cd2dSYifeng Zhao		reg = <0x0 0xfdc50000 0x0 0x1000>;
3303cc8cd2dSYifeng Zhao	};
3313cc8cd2dSYifeng Zhao
3324e50d217SPeter Geis	grf: syscon@fdc60000 {
3334e50d217SPeter Geis		compatible = "rockchip,rk3568-grf", "syscon", "simple-mfd";
3344e50d217SPeter Geis		reg = <0x0 0xfdc60000 0x0 0x10000>;
3354e50d217SPeter Geis	};
3364e50d217SPeter Geis
3373cc8cd2dSYifeng Zhao	pipe_phy_grf1: syscon@fdc80000 {
3383cc8cd2dSYifeng Zhao		compatible = "rockchip,rk3568-pipe-phy-grf", "syscon";
3393cc8cd2dSYifeng Zhao		reg = <0x0 0xfdc80000 0x0 0x1000>;
3403cc8cd2dSYifeng Zhao	};
3413cc8cd2dSYifeng Zhao
3423cc8cd2dSYifeng Zhao	pipe_phy_grf2: syscon@fdc90000 {
3433cc8cd2dSYifeng Zhao		compatible = "rockchip,rk3568-pipe-phy-grf", "syscon";
3443cc8cd2dSYifeng Zhao		reg = <0x0 0xfdc90000 0x0 0x1000>;
3453cc8cd2dSYifeng Zhao	};
3463cc8cd2dSYifeng Zhao
34791c4c3e0SPeter Geis	usb2phy0_grf: syscon@fdca0000 {
34891c4c3e0SPeter Geis		compatible = "rockchip,rk3568-usb2phy-grf", "syscon";
34991c4c3e0SPeter Geis		reg = <0x0 0xfdca0000 0x0 0x8000>;
35091c4c3e0SPeter Geis	};
35191c4c3e0SPeter Geis
35291c4c3e0SPeter Geis	usb2phy1_grf: syscon@fdca8000 {
35391c4c3e0SPeter Geis		compatible = "rockchip,rk3568-usb2phy-grf", "syscon";
35491c4c3e0SPeter Geis		reg = <0x0 0xfdca8000 0x0 0x8000>;
35591c4c3e0SPeter Geis	};
35691c4c3e0SPeter Geis
3574e50d217SPeter Geis	pmucru: clock-controller@fdd00000 {
3584e50d217SPeter Geis		compatible = "rockchip,rk3568-pmucru";
3594e50d217SPeter Geis		reg = <0x0 0xfdd00000 0x0 0x1000>;
3604e50d217SPeter Geis		#clock-cells = <1>;
3614e50d217SPeter Geis		#reset-cells = <1>;
3624e50d217SPeter Geis	};
3634e50d217SPeter Geis
3644e50d217SPeter Geis	cru: clock-controller@fdd20000 {
3654e50d217SPeter Geis		compatible = "rockchip,rk3568-cru";
3664e50d217SPeter Geis		reg = <0x0 0xfdd20000 0x0 0x1000>;
3674e50d217SPeter Geis		#clock-cells = <1>;
3684e50d217SPeter Geis		#reset-cells = <1>;
369f7c5b9c2SPeter Geis		assigned-clocks = <&cru PLL_GPLL>, <&pmucru PLL_PPLL>;
370f7c5b9c2SPeter Geis		assigned-clock-rates = <1200000000>, <200000000>;
37195ad4dbeSMichael Riesch		rockchip,grf = <&grf>;
3724e50d217SPeter Geis	};
3734e50d217SPeter Geis
3744e50d217SPeter Geis	i2c0: i2c@fdd40000 {
3754e50d217SPeter Geis		compatible = "rockchip,rk3568-i2c", "rockchip,rk3399-i2c";
3764e50d217SPeter Geis		reg = <0x0 0xfdd40000 0x0 0x1000>;
3774e50d217SPeter Geis		interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
3784e50d217SPeter Geis		clocks = <&pmucru CLK_I2C0>, <&pmucru PCLK_I2C0>;
3794e50d217SPeter Geis		clock-names = "i2c", "pclk";
3804e50d217SPeter Geis		pinctrl-0 = <&i2c0_xfer>;
3814e50d217SPeter Geis		pinctrl-names = "default";
3824e50d217SPeter Geis		#address-cells = <1>;
3834e50d217SPeter Geis		#size-cells = <0>;
3844e50d217SPeter Geis		status = "disabled";
3854e50d217SPeter Geis	};
3864e50d217SPeter Geis
3874e50d217SPeter Geis	uart0: serial@fdd50000 {
3884e50d217SPeter Geis		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
3894e50d217SPeter Geis		reg = <0x0 0xfdd50000 0x0 0x100>;
3904e50d217SPeter Geis		interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
3914e50d217SPeter Geis		clocks = <&pmucru SCLK_UART0>, <&pmucru PCLK_UART0>;
3924e50d217SPeter Geis		clock-names = "baudclk", "apb_pclk";
3934e50d217SPeter Geis		dmas = <&dmac0 0>, <&dmac0 1>;
3944e50d217SPeter Geis		pinctrl-0 = <&uart0_xfer>;
3954e50d217SPeter Geis		pinctrl-names = "default";
3964e50d217SPeter Geis		reg-io-width = <4>;
3974e50d217SPeter Geis		reg-shift = <2>;
3984e50d217SPeter Geis		status = "disabled";
3994e50d217SPeter Geis	};
4004e50d217SPeter Geis
40198419a39SLiang Chen	pwm0: pwm@fdd70000 {
40298419a39SLiang Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
40398419a39SLiang Chen		reg = <0x0 0xfdd70000 0x0 0x10>;
40498419a39SLiang Chen		clocks = <&pmucru CLK_PWM0>, <&pmucru PCLK_PWM0>;
40598419a39SLiang Chen		clock-names = "pwm", "pclk";
40698419a39SLiang Chen		pinctrl-0 = <&pwm0m0_pins>;
4072e4dbcf7SSascha Hauer		pinctrl-names = "default";
40898419a39SLiang Chen		#pwm-cells = <3>;
40998419a39SLiang Chen		status = "disabled";
41098419a39SLiang Chen	};
41198419a39SLiang Chen
41298419a39SLiang Chen	pwm1: pwm@fdd70010 {
41398419a39SLiang Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
41498419a39SLiang Chen		reg = <0x0 0xfdd70010 0x0 0x10>;
41598419a39SLiang Chen		clocks = <&pmucru CLK_PWM0>, <&pmucru PCLK_PWM0>;
41698419a39SLiang Chen		clock-names = "pwm", "pclk";
41798419a39SLiang Chen		pinctrl-0 = <&pwm1m0_pins>;
4182e4dbcf7SSascha Hauer		pinctrl-names = "default";
41998419a39SLiang Chen		#pwm-cells = <3>;
42098419a39SLiang Chen		status = "disabled";
42198419a39SLiang Chen	};
42298419a39SLiang Chen
42398419a39SLiang Chen	pwm2: pwm@fdd70020 {
42498419a39SLiang Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
42598419a39SLiang Chen		reg = <0x0 0xfdd70020 0x0 0x10>;
42698419a39SLiang Chen		clocks = <&pmucru CLK_PWM0>, <&pmucru PCLK_PWM0>;
42798419a39SLiang Chen		clock-names = "pwm", "pclk";
42898419a39SLiang Chen		pinctrl-0 = <&pwm2m0_pins>;
4292e4dbcf7SSascha Hauer		pinctrl-names = "default";
43098419a39SLiang Chen		#pwm-cells = <3>;
43198419a39SLiang Chen		status = "disabled";
43298419a39SLiang Chen	};
43398419a39SLiang Chen
43498419a39SLiang Chen	pwm3: pwm@fdd70030 {
43598419a39SLiang Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
43698419a39SLiang Chen		reg = <0x0 0xfdd70030 0x0 0x10>;
43798419a39SLiang Chen		clocks = <&pmucru CLK_PWM0>, <&pmucru PCLK_PWM0>;
43898419a39SLiang Chen		clock-names = "pwm", "pclk";
43998419a39SLiang Chen		pinctrl-0 = <&pwm3_pins>;
4402e4dbcf7SSascha Hauer		pinctrl-names = "default";
44198419a39SLiang Chen		#pwm-cells = <3>;
44298419a39SLiang Chen		status = "disabled";
44398419a39SLiang Chen	};
44498419a39SLiang Chen
4454e50d217SPeter Geis	pmu: power-management@fdd90000 {
4464e50d217SPeter Geis		compatible = "rockchip,rk3568-pmu", "syscon", "simple-mfd";
4474e50d217SPeter Geis		reg = <0x0 0xfdd90000 0x0 0x1000>;
4484e50d217SPeter Geis
4494e50d217SPeter Geis		power: power-controller {
4504e50d217SPeter Geis			compatible = "rockchip,rk3568-power-controller";
4514e50d217SPeter Geis			#power-domain-cells = <1>;
4524e50d217SPeter Geis			#address-cells = <1>;
4534e50d217SPeter Geis			#size-cells = <0>;
4544e50d217SPeter Geis
4554e50d217SPeter Geis			/* These power domains are grouped by VD_GPU */
4564e50d217SPeter Geis			power-domain@RK3568_PD_GPU {
4574e50d217SPeter Geis				reg = <RK3568_PD_GPU>;
4584e50d217SPeter Geis				clocks = <&cru ACLK_GPU_PRE>,
4594e50d217SPeter Geis					 <&cru PCLK_GPU_PRE>;
4604e50d217SPeter Geis				pm_qos = <&qos_gpu>;
4614e50d217SPeter Geis				#power-domain-cells = <0>;
4624e50d217SPeter Geis			};
4634e50d217SPeter Geis
4644e50d217SPeter Geis			/* These power domains are grouped by VD_LOGIC */
4654e50d217SPeter Geis			power-domain@RK3568_PD_VI {
4664e50d217SPeter Geis				reg = <RK3568_PD_VI>;
4674e50d217SPeter Geis				clocks = <&cru HCLK_VI>,
4684e50d217SPeter Geis					 <&cru PCLK_VI>;
4694e50d217SPeter Geis				pm_qos = <&qos_isp>,
4704e50d217SPeter Geis					 <&qos_vicap0>,
4714e50d217SPeter Geis					 <&qos_vicap1>;
4724e50d217SPeter Geis				#power-domain-cells = <0>;
4734e50d217SPeter Geis			};
4744e50d217SPeter Geis
4754e50d217SPeter Geis			power-domain@RK3568_PD_VO {
4764e50d217SPeter Geis				reg = <RK3568_PD_VO>;
4774e50d217SPeter Geis				clocks = <&cru HCLK_VO>,
4784e50d217SPeter Geis					 <&cru PCLK_VO>,
4794e50d217SPeter Geis					 <&cru ACLK_VOP_PRE>;
4804e50d217SPeter Geis				pm_qos = <&qos_hdcp>,
4814e50d217SPeter Geis					 <&qos_vop_m0>,
4824e50d217SPeter Geis					 <&qos_vop_m1>;
4834e50d217SPeter Geis				#power-domain-cells = <0>;
4844e50d217SPeter Geis			};
4854e50d217SPeter Geis
4864e50d217SPeter Geis			power-domain@RK3568_PD_RGA {
4874e50d217SPeter Geis				reg = <RK3568_PD_RGA>;
4884e50d217SPeter Geis				clocks = <&cru HCLK_RGA_PRE>,
4894e50d217SPeter Geis					 <&cru PCLK_RGA_PRE>;
4904e50d217SPeter Geis				pm_qos = <&qos_ebc>,
4914e50d217SPeter Geis					 <&qos_iep>,
4924e50d217SPeter Geis					 <&qos_jpeg_dec>,
4934e50d217SPeter Geis					 <&qos_jpeg_enc>,
4944e50d217SPeter Geis					 <&qos_rga_rd>,
4954e50d217SPeter Geis					 <&qos_rga_wr>;
4964e50d217SPeter Geis				#power-domain-cells = <0>;
4974e50d217SPeter Geis			};
4984e50d217SPeter Geis
4994e50d217SPeter Geis			power-domain@RK3568_PD_VPU {
5004e50d217SPeter Geis				reg = <RK3568_PD_VPU>;
5014e50d217SPeter Geis				clocks = <&cru HCLK_VPU_PRE>;
5024e50d217SPeter Geis				pm_qos = <&qos_vpu>;
5034e50d217SPeter Geis				#power-domain-cells = <0>;
5044e50d217SPeter Geis			};
5054e50d217SPeter Geis
5064e50d217SPeter Geis			power-domain@RK3568_PD_RKVDEC {
5074e50d217SPeter Geis				clocks = <&cru HCLK_RKVDEC_PRE>;
5084e50d217SPeter Geis				reg = <RK3568_PD_RKVDEC>;
5094e50d217SPeter Geis				pm_qos = <&qos_rkvdec>;
5104e50d217SPeter Geis				#power-domain-cells = <0>;
5114e50d217SPeter Geis			};
5124e50d217SPeter Geis
5134e50d217SPeter Geis			power-domain@RK3568_PD_RKVENC {
5144e50d217SPeter Geis				reg = <RK3568_PD_RKVENC>;
5154e50d217SPeter Geis				clocks = <&cru HCLK_RKVENC_PRE>;
5164e50d217SPeter Geis				pm_qos = <&qos_rkvenc_rd_m0>,
5174e50d217SPeter Geis					 <&qos_rkvenc_rd_m1>,
5184e50d217SPeter Geis					 <&qos_rkvenc_wr_m0>;
5194e50d217SPeter Geis				#power-domain-cells = <0>;
5204e50d217SPeter Geis			};
5214e50d217SPeter Geis		};
5224e50d217SPeter Geis	};
5234e50d217SPeter Geis
52481002866SEzequiel Garcia	gpu: gpu@fde60000 {
52581002866SEzequiel Garcia		compatible = "rockchip,rk3568-mali", "arm,mali-bifrost";
52681002866SEzequiel Garcia		reg = <0x0 0xfde60000 0x0 0x4000>;
52781002866SEzequiel Garcia		interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
52881002866SEzequiel Garcia			     <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
52981002866SEzequiel Garcia			     <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
53081002866SEzequiel Garcia		interrupt-names = "job", "mmu", "gpu";
53181002866SEzequiel Garcia		clocks = <&scmi_clk 1>, <&cru CLK_GPU>;
53281002866SEzequiel Garcia		clock-names = "gpu", "bus";
53381002866SEzequiel Garcia		#cooling-cells = <2>;
53481002866SEzequiel Garcia		operating-points-v2 = <&gpu_opp_table>;
53581002866SEzequiel Garcia		power-domains = <&power RK3568_PD_GPU>;
53681002866SEzequiel Garcia		status = "disabled";
53781002866SEzequiel Garcia	};
53881002866SEzequiel Garcia
5394e50d217SPeter Geis	sdmmc2: mmc@fe000000 {
5404e50d217SPeter Geis		compatible = "rockchip,rk3568-dw-mshc", "rockchip,rk3288-dw-mshc";
5414e50d217SPeter Geis		reg = <0x0 0xfe000000 0x0 0x4000>;
5424e50d217SPeter Geis		interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
5434e50d217SPeter Geis		clocks = <&cru HCLK_SDMMC2>, <&cru CLK_SDMMC2>,
5444e50d217SPeter Geis			 <&cru SCLK_SDMMC2_DRV>, <&cru SCLK_SDMMC2_SAMPLE>;
5454e50d217SPeter Geis		clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
5464e50d217SPeter Geis		fifo-depth = <0x100>;
5474e50d217SPeter Geis		max-frequency = <150000000>;
5484e50d217SPeter Geis		resets = <&cru SRST_SDMMC2>;
5494e50d217SPeter Geis		reset-names = "reset";
5504e50d217SPeter Geis		status = "disabled";
5514e50d217SPeter Geis	};
5524e50d217SPeter Geis
5530dcec571SPeter Geis	gmac1: ethernet@fe010000 {
5540dcec571SPeter Geis		compatible = "rockchip,rk3568-gmac", "snps,dwmac-4.20a";
5550dcec571SPeter Geis		reg = <0x0 0xfe010000 0x0 0x10000>;
5560dcec571SPeter Geis		interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>,
5570dcec571SPeter Geis			     <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
5580dcec571SPeter Geis		interrupt-names = "macirq", "eth_wake_irq";
5590dcec571SPeter Geis		clocks = <&cru SCLK_GMAC1>, <&cru SCLK_GMAC1_RX_TX>,
5600dcec571SPeter Geis			 <&cru SCLK_GMAC1_RX_TX>, <&cru CLK_MAC1_REFOUT>,
5610dcec571SPeter Geis			 <&cru ACLK_GMAC1>, <&cru PCLK_GMAC1>,
5620dcec571SPeter Geis			 <&cru SCLK_GMAC1_RX_TX>, <&cru CLK_GMAC1_PTP_REF>;
5630dcec571SPeter Geis		clock-names = "stmmaceth", "mac_clk_rx",
5640dcec571SPeter Geis			      "mac_clk_tx", "clk_mac_refout",
5650dcec571SPeter Geis			      "aclk_mac", "pclk_mac",
5660dcec571SPeter Geis			      "clk_mac_speed", "ptp_ref";
5670dcec571SPeter Geis		resets = <&cru SRST_A_GMAC1>;
5680dcec571SPeter Geis		reset-names = "stmmaceth";
5690dcec571SPeter Geis		rockchip,grf = <&grf>;
5700dcec571SPeter Geis		snps,axi-config = <&gmac1_stmmac_axi_setup>;
5710dcec571SPeter Geis		snps,mixed-burst;
5720dcec571SPeter Geis		snps,mtl-rx-config = <&gmac1_mtl_rx_setup>;
5730dcec571SPeter Geis		snps,mtl-tx-config = <&gmac1_mtl_tx_setup>;
5740dcec571SPeter Geis		snps,tso;
5750dcec571SPeter Geis		status = "disabled";
5760dcec571SPeter Geis
5770dcec571SPeter Geis		mdio1: mdio {
5780dcec571SPeter Geis			compatible = "snps,dwmac-mdio";
5790dcec571SPeter Geis			#address-cells = <0x1>;
5800dcec571SPeter Geis			#size-cells = <0x0>;
5810dcec571SPeter Geis		};
5820dcec571SPeter Geis
5830dcec571SPeter Geis		gmac1_stmmac_axi_setup: stmmac-axi-config {
5840dcec571SPeter Geis			snps,blen = <0 0 0 0 16 8 4>;
5850dcec571SPeter Geis			snps,rd_osr_lmt = <8>;
5860dcec571SPeter Geis			snps,wr_osr_lmt = <4>;
5870dcec571SPeter Geis		};
5880dcec571SPeter Geis
5890dcec571SPeter Geis		gmac1_mtl_rx_setup: rx-queues-config {
5900dcec571SPeter Geis			snps,rx-queues-to-use = <1>;
5910dcec571SPeter Geis			queue0 {};
5920dcec571SPeter Geis		};
5930dcec571SPeter Geis
5940dcec571SPeter Geis		gmac1_mtl_tx_setup: tx-queues-config {
5950dcec571SPeter Geis			snps,tx-queues-to-use = <1>;
5960dcec571SPeter Geis			queue0 {};
5970dcec571SPeter Geis		};
5980dcec571SPeter Geis	};
5990dcec571SPeter Geis
6004e50d217SPeter Geis	qos_gpu: qos@fe128000 {
6014e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
6024e50d217SPeter Geis		reg = <0x0 0xfe128000 0x0 0x20>;
6034e50d217SPeter Geis	};
6044e50d217SPeter Geis
6054e50d217SPeter Geis	qos_rkvenc_rd_m0: qos@fe138080 {
6064e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
6074e50d217SPeter Geis		reg = <0x0 0xfe138080 0x0 0x20>;
6084e50d217SPeter Geis	};
6094e50d217SPeter Geis
6104e50d217SPeter Geis	qos_rkvenc_rd_m1: qos@fe138100 {
6114e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
6124e50d217SPeter Geis		reg = <0x0 0xfe138100 0x0 0x20>;
6134e50d217SPeter Geis	};
6144e50d217SPeter Geis
6154e50d217SPeter Geis	qos_rkvenc_wr_m0: qos@fe138180 {
6164e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
6174e50d217SPeter Geis		reg = <0x0 0xfe138180 0x0 0x20>;
6184e50d217SPeter Geis	};
6194e50d217SPeter Geis
6204e50d217SPeter Geis	qos_isp: qos@fe148000 {
6214e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
6224e50d217SPeter Geis		reg = <0x0 0xfe148000 0x0 0x20>;
6234e50d217SPeter Geis	};
6244e50d217SPeter Geis
6254e50d217SPeter Geis	qos_vicap0: qos@fe148080 {
6264e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
6274e50d217SPeter Geis		reg = <0x0 0xfe148080 0x0 0x20>;
6284e50d217SPeter Geis	};
6294e50d217SPeter Geis
6304e50d217SPeter Geis	qos_vicap1: qos@fe148100 {
6314e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
6324e50d217SPeter Geis		reg = <0x0 0xfe148100 0x0 0x20>;
6334e50d217SPeter Geis	};
6344e50d217SPeter Geis
6354e50d217SPeter Geis	qos_vpu: qos@fe150000 {
6364e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
6374e50d217SPeter Geis		reg = <0x0 0xfe150000 0x0 0x20>;
6384e50d217SPeter Geis	};
6394e50d217SPeter Geis
6404e50d217SPeter Geis	qos_ebc: qos@fe158000 {
6414e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
6424e50d217SPeter Geis		reg = <0x0 0xfe158000 0x0 0x20>;
6434e50d217SPeter Geis	};
6444e50d217SPeter Geis
6454e50d217SPeter Geis	qos_iep: qos@fe158100 {
6464e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
6474e50d217SPeter Geis		reg = <0x0 0xfe158100 0x0 0x20>;
6484e50d217SPeter Geis	};
6494e50d217SPeter Geis
6504e50d217SPeter Geis	qos_jpeg_dec: qos@fe158180 {
6514e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
6524e50d217SPeter Geis		reg = <0x0 0xfe158180 0x0 0x20>;
6534e50d217SPeter Geis	};
6544e50d217SPeter Geis
6554e50d217SPeter Geis	qos_jpeg_enc: qos@fe158200 {
6564e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
6574e50d217SPeter Geis		reg = <0x0 0xfe158200 0x0 0x20>;
6584e50d217SPeter Geis	};
6594e50d217SPeter Geis
6604e50d217SPeter Geis	qos_rga_rd: qos@fe158280 {
6614e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
6624e50d217SPeter Geis		reg = <0x0 0xfe158280 0x0 0x20>;
6634e50d217SPeter Geis	};
6644e50d217SPeter Geis
6654e50d217SPeter Geis	qos_rga_wr: qos@fe158300 {
6664e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
6674e50d217SPeter Geis		reg = <0x0 0xfe158300 0x0 0x20>;
6684e50d217SPeter Geis	};
6694e50d217SPeter Geis
6704e50d217SPeter Geis	qos_npu: qos@fe180000 {
6714e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
6724e50d217SPeter Geis		reg = <0x0 0xfe180000 0x0 0x20>;
6734e50d217SPeter Geis	};
6744e50d217SPeter Geis
6754e50d217SPeter Geis	qos_pcie2x1: qos@fe190000 {
6764e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
6774e50d217SPeter Geis		reg = <0x0 0xfe190000 0x0 0x20>;
6784e50d217SPeter Geis	};
6794e50d217SPeter Geis
6804e50d217SPeter Geis	qos_sata1: qos@fe190280 {
6814e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
6824e50d217SPeter Geis		reg = <0x0 0xfe190280 0x0 0x20>;
6834e50d217SPeter Geis	};
6844e50d217SPeter Geis
6854e50d217SPeter Geis	qos_sata2: qos@fe190300 {
6864e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
6874e50d217SPeter Geis		reg = <0x0 0xfe190300 0x0 0x20>;
6884e50d217SPeter Geis	};
6894e50d217SPeter Geis
6904e50d217SPeter Geis	qos_usb3_0: qos@fe190380 {
6914e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
6924e50d217SPeter Geis		reg = <0x0 0xfe190380 0x0 0x20>;
6934e50d217SPeter Geis	};
6944e50d217SPeter Geis
6954e50d217SPeter Geis	qos_usb3_1: qos@fe190400 {
6964e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
6974e50d217SPeter Geis		reg = <0x0 0xfe190400 0x0 0x20>;
6984e50d217SPeter Geis	};
6994e50d217SPeter Geis
7004e50d217SPeter Geis	qos_rkvdec: qos@fe198000 {
7014e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
7024e50d217SPeter Geis		reg = <0x0 0xfe198000 0x0 0x20>;
7034e50d217SPeter Geis	};
7044e50d217SPeter Geis
7054e50d217SPeter Geis	qos_hdcp: qos@fe1a8000 {
7064e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
7074e50d217SPeter Geis		reg = <0x0 0xfe1a8000 0x0 0x20>;
7084e50d217SPeter Geis	};
7094e50d217SPeter Geis
7104e50d217SPeter Geis	qos_vop_m0: qos@fe1a8080 {
7114e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
7124e50d217SPeter Geis		reg = <0x0 0xfe1a8080 0x0 0x20>;
7134e50d217SPeter Geis	};
7144e50d217SPeter Geis
7154e50d217SPeter Geis	qos_vop_m1: qos@fe1a8100 {
7164e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
7174e50d217SPeter Geis		reg = <0x0 0xfe1a8100 0x0 0x20>;
7184e50d217SPeter Geis	};
7194e50d217SPeter Geis
7204e50d217SPeter Geis	sdmmc0: mmc@fe2b0000 {
7214e50d217SPeter Geis		compatible = "rockchip,rk3568-dw-mshc", "rockchip,rk3288-dw-mshc";
7224e50d217SPeter Geis		reg = <0x0 0xfe2b0000 0x0 0x4000>;
7234e50d217SPeter Geis		interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
7244e50d217SPeter Geis		clocks = <&cru HCLK_SDMMC0>, <&cru CLK_SDMMC0>,
7254e50d217SPeter Geis			 <&cru SCLK_SDMMC0_DRV>, <&cru SCLK_SDMMC0_SAMPLE>;
7264e50d217SPeter Geis		clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
7274e50d217SPeter Geis		fifo-depth = <0x100>;
7284e50d217SPeter Geis		max-frequency = <150000000>;
7294e50d217SPeter Geis		resets = <&cru SRST_SDMMC0>;
7304e50d217SPeter Geis		reset-names = "reset";
7314e50d217SPeter Geis		status = "disabled";
7324e50d217SPeter Geis	};
7334e50d217SPeter Geis
7344e50d217SPeter Geis	sdmmc1: mmc@fe2c0000 {
7354e50d217SPeter Geis		compatible = "rockchip,rk3568-dw-mshc", "rockchip,rk3288-dw-mshc";
7364e50d217SPeter Geis		reg = <0x0 0xfe2c0000 0x0 0x4000>;
7374e50d217SPeter Geis		interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
7384e50d217SPeter Geis		clocks = <&cru HCLK_SDMMC1>, <&cru CLK_SDMMC1>,
7394e50d217SPeter Geis			 <&cru SCLK_SDMMC1_DRV>, <&cru SCLK_SDMMC1_SAMPLE>;
7404e50d217SPeter Geis		clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
7414e50d217SPeter Geis		fifo-depth = <0x100>;
7424e50d217SPeter Geis		max-frequency = <150000000>;
7434e50d217SPeter Geis		resets = <&cru SRST_SDMMC1>;
7444e50d217SPeter Geis		reset-names = "reset";
7454e50d217SPeter Geis		status = "disabled";
7464e50d217SPeter Geis	};
7474e50d217SPeter Geis
7484e50d217SPeter Geis	sdhci: mmc@fe310000 {
7494e50d217SPeter Geis		compatible = "rockchip,rk3568-dwcmshc";
7504e50d217SPeter Geis		reg = <0x0 0xfe310000 0x0 0x10000>;
7514e50d217SPeter Geis		interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
7524e50d217SPeter Geis		assigned-clocks = <&cru BCLK_EMMC>, <&cru TCLK_EMMC>;
7534e50d217SPeter Geis		assigned-clock-rates = <200000000>, <24000000>;
7544e50d217SPeter Geis		clocks = <&cru CCLK_EMMC>, <&cru HCLK_EMMC>,
7554e50d217SPeter Geis			 <&cru ACLK_EMMC>, <&cru BCLK_EMMC>,
7564e50d217SPeter Geis			 <&cru TCLK_EMMC>;
7574e50d217SPeter Geis		clock-names = "core", "bus", "axi", "block", "timer";
7584e50d217SPeter Geis		status = "disabled";
7594e50d217SPeter Geis	};
7604e50d217SPeter Geis
761a65e6523SPeter Geis	spdif: spdif@fe460000 {
762a65e6523SPeter Geis		compatible = "rockchip,rk3568-spdif";
763a65e6523SPeter Geis		reg = <0x0 0xfe460000 0x0 0x1000>;
764a65e6523SPeter Geis		interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
765a65e6523SPeter Geis		clock-names = "mclk", "hclk";
766a65e6523SPeter Geis		clocks = <&cru MCLK_SPDIF_8CH>, <&cru HCLK_SPDIF_8CH>;
767a65e6523SPeter Geis		dmas = <&dmac1 1>;
768a65e6523SPeter Geis		dma-names = "tx";
769a65e6523SPeter Geis		pinctrl-names = "default";
770a65e6523SPeter Geis		pinctrl-0 = <&spdifm0_tx>;
771a65e6523SPeter Geis		#sound-dai-cells = <0>;
772a65e6523SPeter Geis		status = "disabled";
773a65e6523SPeter Geis	};
774a65e6523SPeter Geis
775ef5c9135SNicolas Frattaroli	i2s1_8ch: i2s@fe410000 {
776ef5c9135SNicolas Frattaroli		compatible = "rockchip,rk3568-i2s-tdm";
777ef5c9135SNicolas Frattaroli		reg = <0x0 0xfe410000 0x0 0x1000>;
778ef5c9135SNicolas Frattaroli		interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
779ef5c9135SNicolas Frattaroli		assigned-clocks = <&cru CLK_I2S1_8CH_TX_SRC>, <&cru CLK_I2S1_8CH_RX_SRC>;
780ef5c9135SNicolas Frattaroli		assigned-clock-rates = <1188000000>, <1188000000>;
781ef5c9135SNicolas Frattaroli		clocks = <&cru MCLK_I2S1_8CH_TX>, <&cru MCLK_I2S1_8CH_RX>,
782ef5c9135SNicolas Frattaroli			 <&cru HCLK_I2S1_8CH>;
783ef5c9135SNicolas Frattaroli		clock-names = "mclk_tx", "mclk_rx", "hclk";
784ef5c9135SNicolas Frattaroli		dmas = <&dmac1 3>, <&dmac1 2>;
785ef5c9135SNicolas Frattaroli		dma-names = "rx", "tx";
786ef5c9135SNicolas Frattaroli		resets = <&cru SRST_M_I2S1_8CH_TX>, <&cru SRST_M_I2S1_8CH_RX>;
787ef5c9135SNicolas Frattaroli		reset-names = "tx-m", "rx-m";
788ef5c9135SNicolas Frattaroli		rockchip,grf = <&grf>;
789ef5c9135SNicolas Frattaroli		pinctrl-names = "default";
790ef5c9135SNicolas Frattaroli		pinctrl-0 = <&i2s1m0_sclktx &i2s1m0_sclkrx
791ef5c9135SNicolas Frattaroli			     &i2s1m0_lrcktx &i2s1m0_lrckrx
792ef5c9135SNicolas Frattaroli			     &i2s1m0_sdi0   &i2s1m0_sdi1
793ef5c9135SNicolas Frattaroli			     &i2s1m0_sdi2   &i2s1m0_sdi3
794ef5c9135SNicolas Frattaroli			     &i2s1m0_sdo0   &i2s1m0_sdo1
795ef5c9135SNicolas Frattaroli			     &i2s1m0_sdo2   &i2s1m0_sdo3>;
796ef5c9135SNicolas Frattaroli		#sound-dai-cells = <0>;
797ef5c9135SNicolas Frattaroli		status = "disabled";
798ef5c9135SNicolas Frattaroli	};
799ef5c9135SNicolas Frattaroli
800ad14de06SMichael Riesch	i2s3_2ch: i2s@fe430000 {
801ad14de06SMichael Riesch		compatible = "rockchip,rk3568-i2s-tdm";
802ad14de06SMichael Riesch		reg = <0x0 0xfe430000 0x0 0x1000>;
803ad14de06SMichael Riesch		interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
804ad14de06SMichael Riesch		clocks = <&cru MCLK_I2S3_2CH_TX>, <&cru MCLK_I2S3_2CH_RX>,
805ad14de06SMichael Riesch			 <&cru HCLK_I2S3_2CH>;
806ad14de06SMichael Riesch		clock-names = "mclk_tx", "mclk_rx", "hclk";
807ad14de06SMichael Riesch		dmas = <&dmac1 6>, <&dmac1 7>;
808ad14de06SMichael Riesch		dma-names = "tx", "rx";
809ad14de06SMichael Riesch		resets = <&cru SRST_M_I2S3_2CH_TX>, <&cru SRST_M_I2S3_2CH_RX>;
810ad14de06SMichael Riesch		reset-names = "tx-m", "rx-m";
811ad14de06SMichael Riesch		rockchip,grf = <&grf>;
812ad14de06SMichael Riesch		#sound-dai-cells = <0>;
813ad14de06SMichael Riesch		status = "disabled";
814ad14de06SMichael Riesch	};
815ad14de06SMichael Riesch
81679c5f0e5SSamuel Holland	pdm: pdm@fe440000 {
81779c5f0e5SSamuel Holland		compatible = "rockchip,rk3568-pdm";
81879c5f0e5SSamuel Holland		reg = <0x0 0xfe440000 0x0 0x1000>;
81979c5f0e5SSamuel Holland		interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
82079c5f0e5SSamuel Holland		clocks = <&cru MCLK_PDM>, <&cru HCLK_PDM>;
82179c5f0e5SSamuel Holland		clock-names = "pdm_clk", "pdm_hclk";
82279c5f0e5SSamuel Holland		dmas = <&dmac1 9>;
82379c5f0e5SSamuel Holland		dma-names = "rx";
82479c5f0e5SSamuel Holland		pinctrl-0 = <&pdmm0_clk
82579c5f0e5SSamuel Holland			     &pdmm0_clk1
82679c5f0e5SSamuel Holland			     &pdmm0_sdi0
82779c5f0e5SSamuel Holland			     &pdmm0_sdi1
82879c5f0e5SSamuel Holland			     &pdmm0_sdi2
82979c5f0e5SSamuel Holland			     &pdmm0_sdi3>;
83079c5f0e5SSamuel Holland		pinctrl-names = "default";
83179c5f0e5SSamuel Holland		resets = <&cru SRST_M_PDM>;
83279c5f0e5SSamuel Holland		reset-names = "pdm-m";
83379c5f0e5SSamuel Holland		#sound-dai-cells = <0>;
83479c5f0e5SSamuel Holland		status = "disabled";
83579c5f0e5SSamuel Holland	};
83679c5f0e5SSamuel Holland
8372ddd96aaSFrank Wunderlich	dmac0: dma-controller@fe530000 {
8384e50d217SPeter Geis		compatible = "arm,pl330", "arm,primecell";
8394e50d217SPeter Geis		reg = <0x0 0xfe530000 0x0 0x4000>;
8404e50d217SPeter Geis		interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>,
8414e50d217SPeter Geis			     <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
8424e50d217SPeter Geis		arm,pl330-periph-burst;
8434e50d217SPeter Geis		clocks = <&cru ACLK_BUS>;
8444e50d217SPeter Geis		clock-names = "apb_pclk";
8454e50d217SPeter Geis		#dma-cells = <1>;
8464e50d217SPeter Geis	};
8474e50d217SPeter Geis
8482ddd96aaSFrank Wunderlich	dmac1: dma-controller@fe550000 {
8494e50d217SPeter Geis		compatible = "arm,pl330", "arm,primecell";
8504e50d217SPeter Geis		reg = <0x0 0xfe550000 0x0 0x4000>;
8514e50d217SPeter Geis		interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
8524e50d217SPeter Geis			     <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
8534e50d217SPeter Geis		arm,pl330-periph-burst;
8544e50d217SPeter Geis		clocks = <&cru ACLK_BUS>;
8554e50d217SPeter Geis		clock-names = "apb_pclk";
8564e50d217SPeter Geis		#dma-cells = <1>;
8574e50d217SPeter Geis	};
8584e50d217SPeter Geis
8594e50d217SPeter Geis	i2c1: i2c@fe5a0000 {
8604e50d217SPeter Geis		compatible = "rockchip,rk3568-i2c", "rockchip,rk3399-i2c";
8614e50d217SPeter Geis		reg = <0x0 0xfe5a0000 0x0 0x1000>;
8624e50d217SPeter Geis		interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
8634e50d217SPeter Geis		clocks = <&cru CLK_I2C1>, <&cru PCLK_I2C1>;
8644e50d217SPeter Geis		clock-names = "i2c", "pclk";
8654e50d217SPeter Geis		pinctrl-0 = <&i2c1_xfer>;
8664e50d217SPeter Geis		pinctrl-names = "default";
8674e50d217SPeter Geis		#address-cells = <1>;
8684e50d217SPeter Geis		#size-cells = <0>;
8694e50d217SPeter Geis		status = "disabled";
8704e50d217SPeter Geis	};
8714e50d217SPeter Geis
8724e50d217SPeter Geis	i2c2: i2c@fe5b0000 {
8734e50d217SPeter Geis		compatible = "rockchip,rk3568-i2c", "rockchip,rk3399-i2c";
8744e50d217SPeter Geis		reg = <0x0 0xfe5b0000 0x0 0x1000>;
8754e50d217SPeter Geis		interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
8764e50d217SPeter Geis		clocks = <&cru CLK_I2C2>, <&cru PCLK_I2C2>;
8774e50d217SPeter Geis		clock-names = "i2c", "pclk";
8784e50d217SPeter Geis		pinctrl-0 = <&i2c2m0_xfer>;
8794e50d217SPeter Geis		pinctrl-names = "default";
8804e50d217SPeter Geis		#address-cells = <1>;
8814e50d217SPeter Geis		#size-cells = <0>;
8824e50d217SPeter Geis		status = "disabled";
8834e50d217SPeter Geis	};
8844e50d217SPeter Geis
8854e50d217SPeter Geis	i2c3: i2c@fe5c0000 {
8864e50d217SPeter Geis		compatible = "rockchip,rk3568-i2c", "rockchip,rk3399-i2c";
8874e50d217SPeter Geis		reg = <0x0 0xfe5c0000 0x0 0x1000>;
8884e50d217SPeter Geis		interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
8894e50d217SPeter Geis		clocks = <&cru CLK_I2C3>, <&cru PCLK_I2C3>;
8904e50d217SPeter Geis		clock-names = "i2c", "pclk";
8914e50d217SPeter Geis		pinctrl-0 = <&i2c3m0_xfer>;
8924e50d217SPeter Geis		pinctrl-names = "default";
8934e50d217SPeter Geis		#address-cells = <1>;
8944e50d217SPeter Geis		#size-cells = <0>;
8954e50d217SPeter Geis		status = "disabled";
8964e50d217SPeter Geis	};
8974e50d217SPeter Geis
8984e50d217SPeter Geis	i2c4: i2c@fe5d0000 {
8994e50d217SPeter Geis		compatible = "rockchip,rk3568-i2c", "rockchip,rk3399-i2c";
9004e50d217SPeter Geis		reg = <0x0 0xfe5d0000 0x0 0x1000>;
9014e50d217SPeter Geis		interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
9024e50d217SPeter Geis		clocks = <&cru CLK_I2C4>, <&cru PCLK_I2C4>;
9034e50d217SPeter Geis		clock-names = "i2c", "pclk";
9044e50d217SPeter Geis		pinctrl-0 = <&i2c4m0_xfer>;
9054e50d217SPeter Geis		pinctrl-names = "default";
9064e50d217SPeter Geis		#address-cells = <1>;
9074e50d217SPeter Geis		#size-cells = <0>;
9084e50d217SPeter Geis		status = "disabled";
9094e50d217SPeter Geis	};
9104e50d217SPeter Geis
9114e50d217SPeter Geis	i2c5: i2c@fe5e0000 {
9124e50d217SPeter Geis		compatible = "rockchip,rk3568-i2c", "rockchip,rk3399-i2c";
9134e50d217SPeter Geis		reg = <0x0 0xfe5e0000 0x0 0x1000>;
9144e50d217SPeter Geis		interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
9154e50d217SPeter Geis		clocks = <&cru CLK_I2C5>, <&cru PCLK_I2C5>;
9164e50d217SPeter Geis		clock-names = "i2c", "pclk";
9174e50d217SPeter Geis		pinctrl-0 = <&i2c5m0_xfer>;
9184e50d217SPeter Geis		pinctrl-names = "default";
9194e50d217SPeter Geis		#address-cells = <1>;
9204e50d217SPeter Geis		#size-cells = <0>;
9214e50d217SPeter Geis		status = "disabled";
9224e50d217SPeter Geis	};
9234e50d217SPeter Geis
9240edcfec3SLiang Chen	wdt: watchdog@fe600000 {
9250edcfec3SLiang Chen		compatible = "rockchip,rk3568-wdt", "snps,dw-wdt";
9260edcfec3SLiang Chen		reg = <0x0 0xfe600000 0x0 0x100>;
9270edcfec3SLiang Chen		interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>;
9280edcfec3SLiang Chen		clocks = <&cru TCLK_WDT_NS>, <&cru PCLK_WDT_NS>;
9290edcfec3SLiang Chen		clock-names = "tclk", "pclk";
9300edcfec3SLiang Chen	};
9310edcfec3SLiang Chen
932aaa552d8SNicolas Frattaroli	spi0: spi@fe610000 {
933aaa552d8SNicolas Frattaroli		compatible = "rockchip,rk3568-spi", "rockchip,rk3066-spi";
934aaa552d8SNicolas Frattaroli		reg = <0x0 0xfe610000 0x0 0x1000>;
935aaa552d8SNicolas Frattaroli		interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
936aaa552d8SNicolas Frattaroli		clocks = <&cru CLK_SPI0>, <&cru PCLK_SPI0>;
937aaa552d8SNicolas Frattaroli		clock-names = "spiclk", "apb_pclk";
938aaa552d8SNicolas Frattaroli		dmas = <&dmac0 20>, <&dmac0 21>;
939aaa552d8SNicolas Frattaroli		dma-names = "tx", "rx";
940aaa552d8SNicolas Frattaroli		pinctrl-names = "default";
941aaa552d8SNicolas Frattaroli		pinctrl-0 = <&spi0m0_cs0 &spi0m0_cs1 &spi0m0_pins>;
942aaa552d8SNicolas Frattaroli		#address-cells = <1>;
943aaa552d8SNicolas Frattaroli		#size-cells = <0>;
944aaa552d8SNicolas Frattaroli		status = "disabled";
945aaa552d8SNicolas Frattaroli	};
946aaa552d8SNicolas Frattaroli
947aaa552d8SNicolas Frattaroli	spi1: spi@fe620000 {
948aaa552d8SNicolas Frattaroli		compatible = "rockchip,rk3568-spi", "rockchip,rk3066-spi";
949aaa552d8SNicolas Frattaroli		reg = <0x0 0xfe620000 0x0 0x1000>;
950aaa552d8SNicolas Frattaroli		interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
951aaa552d8SNicolas Frattaroli		clocks = <&cru CLK_SPI1>, <&cru PCLK_SPI1>;
952aaa552d8SNicolas Frattaroli		clock-names = "spiclk", "apb_pclk";
953aaa552d8SNicolas Frattaroli		dmas = <&dmac0 22>, <&dmac0 23>;
954aaa552d8SNicolas Frattaroli		dma-names = "tx", "rx";
955aaa552d8SNicolas Frattaroli		pinctrl-names = "default";
956aaa552d8SNicolas Frattaroli		pinctrl-0 = <&spi1m0_cs0 &spi1m0_cs1 &spi1m0_pins>;
957aaa552d8SNicolas Frattaroli		#address-cells = <1>;
958aaa552d8SNicolas Frattaroli		#size-cells = <0>;
959aaa552d8SNicolas Frattaroli		status = "disabled";
960aaa552d8SNicolas Frattaroli	};
961aaa552d8SNicolas Frattaroli
962aaa552d8SNicolas Frattaroli	spi2: spi@fe630000 {
963aaa552d8SNicolas Frattaroli		compatible = "rockchip,rk3568-spi", "rockchip,rk3066-spi";
964aaa552d8SNicolas Frattaroli		reg = <0x0 0xfe630000 0x0 0x1000>;
965aaa552d8SNicolas Frattaroli		interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
966aaa552d8SNicolas Frattaroli		clocks = <&cru CLK_SPI2>, <&cru PCLK_SPI2>;
967aaa552d8SNicolas Frattaroli		clock-names = "spiclk", "apb_pclk";
968aaa552d8SNicolas Frattaroli		dmas = <&dmac0 24>, <&dmac0 25>;
969aaa552d8SNicolas Frattaroli		dma-names = "tx", "rx";
970aaa552d8SNicolas Frattaroli		pinctrl-names = "default";
971aaa552d8SNicolas Frattaroli		pinctrl-0 = <&spi2m0_cs0 &spi2m0_cs1 &spi2m0_pins>;
972aaa552d8SNicolas Frattaroli		#address-cells = <1>;
973aaa552d8SNicolas Frattaroli		#size-cells = <0>;
974aaa552d8SNicolas Frattaroli		status = "disabled";
975aaa552d8SNicolas Frattaroli	};
976aaa552d8SNicolas Frattaroli
977aaa552d8SNicolas Frattaroli	spi3: spi@fe640000 {
978aaa552d8SNicolas Frattaroli		compatible = "rockchip,rk3568-spi", "rockchip,rk3066-spi";
979aaa552d8SNicolas Frattaroli		reg = <0x0 0xfe640000 0x0 0x1000>;
980aaa552d8SNicolas Frattaroli		interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
981aaa552d8SNicolas Frattaroli		clocks = <&cru CLK_SPI3>, <&cru PCLK_SPI3>;
982aaa552d8SNicolas Frattaroli		clock-names = "spiclk", "apb_pclk";
983aaa552d8SNicolas Frattaroli		dmas = <&dmac0 26>, <&dmac0 27>;
984aaa552d8SNicolas Frattaroli		dma-names = "tx", "rx";
985aaa552d8SNicolas Frattaroli		pinctrl-names = "default";
986aaa552d8SNicolas Frattaroli		pinctrl-0 = <&spi3m0_cs0 &spi3m0_cs1 &spi3m0_pins>;
987aaa552d8SNicolas Frattaroli		#address-cells = <1>;
988aaa552d8SNicolas Frattaroli		#size-cells = <0>;
989aaa552d8SNicolas Frattaroli		status = "disabled";
990aaa552d8SNicolas Frattaroli	};
991aaa552d8SNicolas Frattaroli
9924e50d217SPeter Geis	uart1: serial@fe650000 {
9934e50d217SPeter Geis		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
9944e50d217SPeter Geis		reg = <0x0 0xfe650000 0x0 0x100>;
9954e50d217SPeter Geis		interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
9964e50d217SPeter Geis		clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>;
9974e50d217SPeter Geis		clock-names = "baudclk", "apb_pclk";
9984e50d217SPeter Geis		dmas = <&dmac0 2>, <&dmac0 3>;
9994e50d217SPeter Geis		pinctrl-0 = <&uart1m0_xfer>;
10004e50d217SPeter Geis		pinctrl-names = "default";
10014e50d217SPeter Geis		reg-io-width = <4>;
10024e50d217SPeter Geis		reg-shift = <2>;
10034e50d217SPeter Geis		status = "disabled";
10044e50d217SPeter Geis	};
10054e50d217SPeter Geis
10064e50d217SPeter Geis	uart2: serial@fe660000 {
10074e50d217SPeter Geis		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
10084e50d217SPeter Geis		reg = <0x0 0xfe660000 0x0 0x100>;
10094e50d217SPeter Geis		interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
10104e50d217SPeter Geis		clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>;
10114e50d217SPeter Geis		clock-names = "baudclk", "apb_pclk";
10124e50d217SPeter Geis		dmas = <&dmac0 4>, <&dmac0 5>;
10134e50d217SPeter Geis		pinctrl-0 = <&uart2m0_xfer>;
10144e50d217SPeter Geis		pinctrl-names = "default";
10154e50d217SPeter Geis		reg-io-width = <4>;
10164e50d217SPeter Geis		reg-shift = <2>;
10174e50d217SPeter Geis		status = "disabled";
10184e50d217SPeter Geis	};
10194e50d217SPeter Geis
10204e50d217SPeter Geis	uart3: serial@fe670000 {
10214e50d217SPeter Geis		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
10224e50d217SPeter Geis		reg = <0x0 0xfe670000 0x0 0x100>;
10234e50d217SPeter Geis		interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
10244e50d217SPeter Geis		clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>;
10254e50d217SPeter Geis		clock-names = "baudclk", "apb_pclk";
10264e50d217SPeter Geis		dmas = <&dmac0 6>, <&dmac0 7>;
10274e50d217SPeter Geis		pinctrl-0 = <&uart3m0_xfer>;
10284e50d217SPeter Geis		pinctrl-names = "default";
10294e50d217SPeter Geis		reg-io-width = <4>;
10304e50d217SPeter Geis		reg-shift = <2>;
10314e50d217SPeter Geis		status = "disabled";
10324e50d217SPeter Geis	};
10334e50d217SPeter Geis
10344e50d217SPeter Geis	uart4: serial@fe680000 {
10354e50d217SPeter Geis		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
10364e50d217SPeter Geis		reg = <0x0 0xfe680000 0x0 0x100>;
10374e50d217SPeter Geis		interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
10384e50d217SPeter Geis		clocks = <&cru SCLK_UART4>, <&cru PCLK_UART4>;
10394e50d217SPeter Geis		clock-names = "baudclk", "apb_pclk";
10404e50d217SPeter Geis		dmas = <&dmac0 8>, <&dmac0 9>;
10414e50d217SPeter Geis		pinctrl-0 = <&uart4m0_xfer>;
10424e50d217SPeter Geis		pinctrl-names = "default";
10434e50d217SPeter Geis		reg-io-width = <4>;
10444e50d217SPeter Geis		reg-shift = <2>;
10454e50d217SPeter Geis		status = "disabled";
10464e50d217SPeter Geis	};
10474e50d217SPeter Geis
10484e50d217SPeter Geis	uart5: serial@fe690000 {
10494e50d217SPeter Geis		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
10504e50d217SPeter Geis		reg = <0x0 0xfe690000 0x0 0x100>;
10514e50d217SPeter Geis		interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>;
10524e50d217SPeter Geis		clocks = <&cru SCLK_UART5>, <&cru PCLK_UART5>;
10534e50d217SPeter Geis		clock-names = "baudclk", "apb_pclk";
10544e50d217SPeter Geis		dmas = <&dmac0 10>, <&dmac0 11>;
10554e50d217SPeter Geis		pinctrl-0 = <&uart5m0_xfer>;
10564e50d217SPeter Geis		pinctrl-names = "default";
10574e50d217SPeter Geis		reg-io-width = <4>;
10584e50d217SPeter Geis		reg-shift = <2>;
10594e50d217SPeter Geis		status = "disabled";
10604e50d217SPeter Geis	};
10614e50d217SPeter Geis
10624e50d217SPeter Geis	uart6: serial@fe6a0000 {
10634e50d217SPeter Geis		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
10644e50d217SPeter Geis		reg = <0x0 0xfe6a0000 0x0 0x100>;
10654e50d217SPeter Geis		interrupts = <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
10664e50d217SPeter Geis		clocks = <&cru SCLK_UART6>, <&cru PCLK_UART6>;
10674e50d217SPeter Geis		clock-names = "baudclk", "apb_pclk";
10684e50d217SPeter Geis		dmas = <&dmac0 12>, <&dmac0 13>;
10694e50d217SPeter Geis		pinctrl-0 = <&uart6m0_xfer>;
10704e50d217SPeter Geis		pinctrl-names = "default";
10714e50d217SPeter Geis		reg-io-width = <4>;
10724e50d217SPeter Geis		reg-shift = <2>;
10734e50d217SPeter Geis		status = "disabled";
10744e50d217SPeter Geis	};
10754e50d217SPeter Geis
10764e50d217SPeter Geis	uart7: serial@fe6b0000 {
10774e50d217SPeter Geis		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
10784e50d217SPeter Geis		reg = <0x0 0xfe6b0000 0x0 0x100>;
10794e50d217SPeter Geis		interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>;
10804e50d217SPeter Geis		clocks = <&cru SCLK_UART7>, <&cru PCLK_UART7>;
10814e50d217SPeter Geis		clock-names = "baudclk", "apb_pclk";
10824e50d217SPeter Geis		dmas = <&dmac0 14>, <&dmac0 15>;
10834e50d217SPeter Geis		pinctrl-0 = <&uart7m0_xfer>;
10844e50d217SPeter Geis		pinctrl-names = "default";
10854e50d217SPeter Geis		reg-io-width = <4>;
10864e50d217SPeter Geis		reg-shift = <2>;
10874e50d217SPeter Geis		status = "disabled";
10884e50d217SPeter Geis	};
10894e50d217SPeter Geis
10904e50d217SPeter Geis	uart8: serial@fe6c0000 {
10914e50d217SPeter Geis		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
10924e50d217SPeter Geis		reg = <0x0 0xfe6c0000 0x0 0x100>;
10934e50d217SPeter Geis		interrupts = <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>;
10944e50d217SPeter Geis		clocks = <&cru SCLK_UART8>, <&cru PCLK_UART8>;
10954e50d217SPeter Geis		clock-names = "baudclk", "apb_pclk";
10964e50d217SPeter Geis		dmas = <&dmac0 16>, <&dmac0 17>;
10974e50d217SPeter Geis		pinctrl-0 = <&uart8m0_xfer>;
10984e50d217SPeter Geis		pinctrl-names = "default";
10994e50d217SPeter Geis		reg-io-width = <4>;
11004e50d217SPeter Geis		reg-shift = <2>;
11014e50d217SPeter Geis		status = "disabled";
11024e50d217SPeter Geis	};
11034e50d217SPeter Geis
11044e50d217SPeter Geis	uart9: serial@fe6d0000 {
11054e50d217SPeter Geis		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
11064e50d217SPeter Geis		reg = <0x0 0xfe6d0000 0x0 0x100>;
11074e50d217SPeter Geis		interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
11084e50d217SPeter Geis		clocks = <&cru SCLK_UART9>, <&cru PCLK_UART9>;
11094e50d217SPeter Geis		clock-names = "baudclk", "apb_pclk";
11104e50d217SPeter Geis		dmas = <&dmac0 18>, <&dmac0 19>;
11114e50d217SPeter Geis		pinctrl-0 = <&uart9m0_xfer>;
11124e50d217SPeter Geis		pinctrl-names = "default";
11134e50d217SPeter Geis		reg-io-width = <4>;
11144e50d217SPeter Geis		reg-shift = <2>;
11154e50d217SPeter Geis		status = "disabled";
11164e50d217SPeter Geis	};
11174e50d217SPeter Geis
11181330875dSPeter Geis	thermal_zones: thermal-zones {
11191330875dSPeter Geis		cpu_thermal: cpu-thermal {
11201330875dSPeter Geis			polling-delay-passive = <100>;
11211330875dSPeter Geis			polling-delay = <1000>;
11221330875dSPeter Geis
11231330875dSPeter Geis			thermal-sensors = <&tsadc 0>;
11241330875dSPeter Geis
11251330875dSPeter Geis			trips {
11261330875dSPeter Geis				cpu_alert0: cpu_alert0 {
11271330875dSPeter Geis					temperature = <70000>;
11281330875dSPeter Geis					hysteresis = <2000>;
11291330875dSPeter Geis					type = "passive";
11301330875dSPeter Geis				};
11311330875dSPeter Geis				cpu_alert1: cpu_alert1 {
11321330875dSPeter Geis					temperature = <75000>;
11331330875dSPeter Geis					hysteresis = <2000>;
11341330875dSPeter Geis					type = "passive";
11351330875dSPeter Geis				};
11361330875dSPeter Geis				cpu_crit: cpu_crit {
11371330875dSPeter Geis					temperature = <95000>;
11381330875dSPeter Geis					hysteresis = <2000>;
11391330875dSPeter Geis					type = "critical";
11401330875dSPeter Geis				};
11411330875dSPeter Geis			};
11421330875dSPeter Geis
11431330875dSPeter Geis			cooling-maps {
11441330875dSPeter Geis				map0 {
11451330875dSPeter Geis					trip = <&cpu_alert0>;
11461330875dSPeter Geis					cooling-device =
11471330875dSPeter Geis						<&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
11481330875dSPeter Geis						<&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
11491330875dSPeter Geis						<&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
11501330875dSPeter Geis						<&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
11511330875dSPeter Geis				};
11521330875dSPeter Geis			};
11531330875dSPeter Geis		};
11541330875dSPeter Geis
11551330875dSPeter Geis		gpu_thermal: gpu-thermal {
11561330875dSPeter Geis			polling-delay-passive = <20>; /* milliseconds */
11571330875dSPeter Geis			polling-delay = <1000>; /* milliseconds */
11581330875dSPeter Geis
11591330875dSPeter Geis			thermal-sensors = <&tsadc 1>;
1160c0a7259fSAlex Bee
1161c0a7259fSAlex Bee			trips {
1162c0a7259fSAlex Bee				gpu_threshold: gpu-threshold {
1163c0a7259fSAlex Bee					temperature = <70000>;
1164c0a7259fSAlex Bee					hysteresis = <2000>;
1165c0a7259fSAlex Bee					type = "passive";
1166c0a7259fSAlex Bee				};
1167c0a7259fSAlex Bee				gpu_target: gpu-target {
1168c0a7259fSAlex Bee					temperature = <75000>;
1169c0a7259fSAlex Bee					hysteresis = <2000>;
1170c0a7259fSAlex Bee					type = "passive";
1171c0a7259fSAlex Bee				};
1172c0a7259fSAlex Bee				gpu_crit: gpu-crit {
1173c0a7259fSAlex Bee					temperature = <95000>;
1174c0a7259fSAlex Bee					hysteresis = <2000>;
1175c0a7259fSAlex Bee					type = "critical";
1176c0a7259fSAlex Bee				};
1177c0a7259fSAlex Bee			};
1178c0a7259fSAlex Bee
1179c0a7259fSAlex Bee			cooling-maps {
1180c0a7259fSAlex Bee				map0 {
1181c0a7259fSAlex Bee					trip = <&gpu_target>;
1182c0a7259fSAlex Bee					cooling-device =
1183c0a7259fSAlex Bee						<&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
1184c0a7259fSAlex Bee				};
1185c0a7259fSAlex Bee			};
11861330875dSPeter Geis		};
11871330875dSPeter Geis	};
11881330875dSPeter Geis
11891330875dSPeter Geis	tsadc: tsadc@fe710000 {
11901330875dSPeter Geis		compatible = "rockchip,rk3568-tsadc";
11911330875dSPeter Geis		reg = <0x0 0xfe710000 0x0 0x100>;
11921330875dSPeter Geis		interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
11931330875dSPeter Geis		assigned-clocks = <&cru CLK_TSADC_TSEN>, <&cru CLK_TSADC>;
11941330875dSPeter Geis		assigned-clock-rates = <17000000>, <700000>;
11951330875dSPeter Geis		clocks = <&cru CLK_TSADC>, <&cru PCLK_TSADC>;
11961330875dSPeter Geis		clock-names = "tsadc", "apb_pclk";
11975c9e66c6SJohan Jonker		resets = <&cru SRST_P_TSADC>, <&cru SRST_TSADC>,
11981330875dSPeter Geis			 <&cru SRST_TSADCPHY>;
11991330875dSPeter Geis		rockchip,grf = <&grf>;
12001330875dSPeter Geis		rockchip,hw-tshut-temp = <95000>;
12011330875dSPeter Geis		pinctrl-names = "init", "default", "sleep";
12021330875dSPeter Geis		pinctrl-0 = <&tsadc_pin>;
12031330875dSPeter Geis		pinctrl-1 = <&tsadc_shutorg>;
12041330875dSPeter Geis		pinctrl-2 = <&tsadc_pin>;
12051330875dSPeter Geis		#thermal-sensor-cells = <1>;
12061330875dSPeter Geis		status = "disabled";
12071330875dSPeter Geis	};
12081330875dSPeter Geis
12094e50d217SPeter Geis	saradc: saradc@fe720000 {
12104e50d217SPeter Geis		compatible = "rockchip,rk3568-saradc", "rockchip,rk3399-saradc";
12114e50d217SPeter Geis		reg = <0x0 0xfe720000 0x0 0x100>;
12124e50d217SPeter Geis		interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
12134e50d217SPeter Geis		clocks = <&cru CLK_SARADC>, <&cru PCLK_SARADC>;
12144e50d217SPeter Geis		clock-names = "saradc", "apb_pclk";
12154e50d217SPeter Geis		resets = <&cru SRST_P_SARADC>;
12164e50d217SPeter Geis		reset-names = "saradc-apb";
12174e50d217SPeter Geis		#io-channel-cells = <1>;
12184e50d217SPeter Geis		status = "disabled";
12194e50d217SPeter Geis	};
12204e50d217SPeter Geis
122198419a39SLiang Chen	pwm4: pwm@fe6e0000 {
122298419a39SLiang Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
122398419a39SLiang Chen		reg = <0x0 0xfe6e0000 0x0 0x10>;
122498419a39SLiang Chen		clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
122598419a39SLiang Chen		clock-names = "pwm", "pclk";
122698419a39SLiang Chen		pinctrl-0 = <&pwm4_pins>;
12272e4dbcf7SSascha Hauer		pinctrl-names = "default";
122898419a39SLiang Chen		#pwm-cells = <3>;
122998419a39SLiang Chen		status = "disabled";
123098419a39SLiang Chen	};
123198419a39SLiang Chen
123298419a39SLiang Chen	pwm5: pwm@fe6e0010 {
123398419a39SLiang Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
123498419a39SLiang Chen		reg = <0x0 0xfe6e0010 0x0 0x10>;
123598419a39SLiang Chen		clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
123698419a39SLiang Chen		clock-names = "pwm", "pclk";
123798419a39SLiang Chen		pinctrl-0 = <&pwm5_pins>;
12382e4dbcf7SSascha Hauer		pinctrl-names = "default";
123998419a39SLiang Chen		#pwm-cells = <3>;
124098419a39SLiang Chen		status = "disabled";
124198419a39SLiang Chen	};
124298419a39SLiang Chen
124398419a39SLiang Chen	pwm6: pwm@fe6e0020 {
124498419a39SLiang Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
124598419a39SLiang Chen		reg = <0x0 0xfe6e0020 0x0 0x10>;
124698419a39SLiang Chen		clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
124798419a39SLiang Chen		clock-names = "pwm", "pclk";
124898419a39SLiang Chen		pinctrl-0 = <&pwm6_pins>;
12492e4dbcf7SSascha Hauer		pinctrl-names = "default";
125098419a39SLiang Chen		#pwm-cells = <3>;
125198419a39SLiang Chen		status = "disabled";
125298419a39SLiang Chen	};
125398419a39SLiang Chen
125498419a39SLiang Chen	pwm7: pwm@fe6e0030 {
125598419a39SLiang Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
125698419a39SLiang Chen		reg = <0x0 0xfe6e0030 0x0 0x10>;
125798419a39SLiang Chen		clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
125898419a39SLiang Chen		clock-names = "pwm", "pclk";
125998419a39SLiang Chen		pinctrl-0 = <&pwm7_pins>;
12602e4dbcf7SSascha Hauer		pinctrl-names = "default";
126198419a39SLiang Chen		#pwm-cells = <3>;
126298419a39SLiang Chen		status = "disabled";
126398419a39SLiang Chen	};
126498419a39SLiang Chen
126598419a39SLiang Chen	pwm8: pwm@fe6f0000 {
126698419a39SLiang Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
126798419a39SLiang Chen		reg = <0x0 0xfe6f0000 0x0 0x10>;
126898419a39SLiang Chen		clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>;
126998419a39SLiang Chen		clock-names = "pwm", "pclk";
127098419a39SLiang Chen		pinctrl-0 = <&pwm8m0_pins>;
12712e4dbcf7SSascha Hauer		pinctrl-names = "default";
127298419a39SLiang Chen		#pwm-cells = <3>;
127398419a39SLiang Chen		status = "disabled";
127498419a39SLiang Chen	};
127598419a39SLiang Chen
127698419a39SLiang Chen	pwm9: pwm@fe6f0010 {
127798419a39SLiang Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
127898419a39SLiang Chen		reg = <0x0 0xfe6f0010 0x0 0x10>;
127998419a39SLiang Chen		clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>;
128098419a39SLiang Chen		clock-names = "pwm", "pclk";
128198419a39SLiang Chen		pinctrl-0 = <&pwm9m0_pins>;
12822e4dbcf7SSascha Hauer		pinctrl-names = "default";
128398419a39SLiang Chen		#pwm-cells = <3>;
128498419a39SLiang Chen		status = "disabled";
128598419a39SLiang Chen	};
128698419a39SLiang Chen
128798419a39SLiang Chen	pwm10: pwm@fe6f0020 {
128898419a39SLiang Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
128998419a39SLiang Chen		reg = <0x0 0xfe6f0020 0x0 0x10>;
129098419a39SLiang Chen		clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>;
129198419a39SLiang Chen		clock-names = "pwm", "pclk";
129298419a39SLiang Chen		pinctrl-0 = <&pwm10m0_pins>;
12932e4dbcf7SSascha Hauer		pinctrl-names = "default";
129498419a39SLiang Chen		#pwm-cells = <3>;
129598419a39SLiang Chen		status = "disabled";
129698419a39SLiang Chen	};
129798419a39SLiang Chen
129898419a39SLiang Chen	pwm11: pwm@fe6f0030 {
129998419a39SLiang Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
130098419a39SLiang Chen		reg = <0x0 0xfe6f0030 0x0 0x10>;
130198419a39SLiang Chen		clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>;
130298419a39SLiang Chen		clock-names = "pwm", "pclk";
130398419a39SLiang Chen		pinctrl-0 = <&pwm11m0_pins>;
13042e4dbcf7SSascha Hauer		pinctrl-names = "default";
130598419a39SLiang Chen		#pwm-cells = <3>;
130698419a39SLiang Chen		status = "disabled";
130798419a39SLiang Chen	};
130898419a39SLiang Chen
130998419a39SLiang Chen	pwm12: pwm@fe700000 {
131098419a39SLiang Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
131198419a39SLiang Chen		reg = <0x0 0xfe700000 0x0 0x10>;
131298419a39SLiang Chen		clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>;
131398419a39SLiang Chen		clock-names = "pwm", "pclk";
131498419a39SLiang Chen		pinctrl-0 = <&pwm12m0_pins>;
13152e4dbcf7SSascha Hauer		pinctrl-names = "default";
131698419a39SLiang Chen		#pwm-cells = <3>;
131798419a39SLiang Chen		status = "disabled";
131898419a39SLiang Chen	};
131998419a39SLiang Chen
132098419a39SLiang Chen	pwm13: pwm@fe700010 {
132198419a39SLiang Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
132298419a39SLiang Chen		reg = <0x0 0xfe700010 0x0 0x10>;
132398419a39SLiang Chen		clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>;
132498419a39SLiang Chen		clock-names = "pwm", "pclk";
132598419a39SLiang Chen		pinctrl-0 = <&pwm13m0_pins>;
13262e4dbcf7SSascha Hauer		pinctrl-names = "default";
132798419a39SLiang Chen		#pwm-cells = <3>;
132898419a39SLiang Chen		status = "disabled";
132998419a39SLiang Chen	};
133098419a39SLiang Chen
133198419a39SLiang Chen	pwm14: pwm@fe700020 {
133298419a39SLiang Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
133398419a39SLiang Chen		reg = <0x0 0xfe700020 0x0 0x10>;
133498419a39SLiang Chen		clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>;
133598419a39SLiang Chen		clock-names = "pwm", "pclk";
133698419a39SLiang Chen		pinctrl-0 = <&pwm14m0_pins>;
13372e4dbcf7SSascha Hauer		pinctrl-names = "default";
133898419a39SLiang Chen		#pwm-cells = <3>;
133998419a39SLiang Chen		status = "disabled";
134098419a39SLiang Chen	};
134198419a39SLiang Chen
134298419a39SLiang Chen	pwm15: pwm@fe700030 {
134398419a39SLiang Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
134498419a39SLiang Chen		reg = <0x0 0xfe700030 0x0 0x10>;
134598419a39SLiang Chen		clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>;
134698419a39SLiang Chen		clock-names = "pwm", "pclk";
134798419a39SLiang Chen		pinctrl-0 = <&pwm15m0_pins>;
13482e4dbcf7SSascha Hauer		pinctrl-names = "default";
134998419a39SLiang Chen		#pwm-cells = <3>;
135098419a39SLiang Chen		status = "disabled";
135198419a39SLiang Chen	};
135298419a39SLiang Chen
13533cc8cd2dSYifeng Zhao	combphy1: phy@fe830000 {
13543cc8cd2dSYifeng Zhao		compatible = "rockchip,rk3568-naneng-combphy";
13553cc8cd2dSYifeng Zhao		reg = <0x0 0xfe830000 0x0 0x100>;
13563cc8cd2dSYifeng Zhao		clocks = <&pmucru CLK_PCIEPHY1_REF>,
13573cc8cd2dSYifeng Zhao			 <&cru PCLK_PIPEPHY1>,
13583cc8cd2dSYifeng Zhao			 <&cru PCLK_PIPE>;
13593cc8cd2dSYifeng Zhao		clock-names = "ref", "apb", "pipe";
13603cc8cd2dSYifeng Zhao		assigned-clocks = <&pmucru CLK_PCIEPHY1_REF>;
13613cc8cd2dSYifeng Zhao		assigned-clock-rates = <100000000>;
13623cc8cd2dSYifeng Zhao		resets = <&cru SRST_PIPEPHY1>;
13633cc8cd2dSYifeng Zhao		rockchip,pipe-grf = <&pipegrf>;
13643cc8cd2dSYifeng Zhao		rockchip,pipe-phy-grf = <&pipe_phy_grf1>;
13653cc8cd2dSYifeng Zhao		#phy-cells = <1>;
13663cc8cd2dSYifeng Zhao		status = "disabled";
13673cc8cd2dSYifeng Zhao	};
13683cc8cd2dSYifeng Zhao
13693cc8cd2dSYifeng Zhao	combphy2: phy@fe840000 {
13703cc8cd2dSYifeng Zhao		compatible = "rockchip,rk3568-naneng-combphy";
13713cc8cd2dSYifeng Zhao		reg = <0x0 0xfe840000 0x0 0x100>;
13723cc8cd2dSYifeng Zhao		clocks = <&pmucru CLK_PCIEPHY2_REF>,
13733cc8cd2dSYifeng Zhao			 <&cru PCLK_PIPEPHY2>,
13743cc8cd2dSYifeng Zhao			 <&cru PCLK_PIPE>;
13753cc8cd2dSYifeng Zhao		clock-names = "ref", "apb", "pipe";
13763cc8cd2dSYifeng Zhao		assigned-clocks = <&pmucru CLK_PCIEPHY2_REF>;
13773cc8cd2dSYifeng Zhao		assigned-clock-rates = <100000000>;
13783cc8cd2dSYifeng Zhao		resets = <&cru SRST_PIPEPHY2>;
13793cc8cd2dSYifeng Zhao		rockchip,pipe-grf = <&pipegrf>;
13803cc8cd2dSYifeng Zhao		rockchip,pipe-phy-grf = <&pipe_phy_grf2>;
13813cc8cd2dSYifeng Zhao		#phy-cells = <1>;
13823cc8cd2dSYifeng Zhao		status = "disabled";
13833cc8cd2dSYifeng Zhao	};
13843cc8cd2dSYifeng Zhao
138578f71860SMichael Riesch	usb2phy0: usb2phy@fe8a0000 {
138691c4c3e0SPeter Geis		compatible = "rockchip,rk3568-usb2phy";
138791c4c3e0SPeter Geis		reg = <0x0 0xfe8a0000 0x0 0x10000>;
138891c4c3e0SPeter Geis		clocks = <&pmucru CLK_USBPHY0_REF>;
138991c4c3e0SPeter Geis		clock-names = "phyclk";
139091c4c3e0SPeter Geis		clock-output-names = "clk_usbphy0_480m";
139191c4c3e0SPeter Geis		interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>;
139291c4c3e0SPeter Geis		rockchip,usbgrf = <&usb2phy0_grf>;
139391c4c3e0SPeter Geis		#clock-cells = <0>;
139491c4c3e0SPeter Geis		status = "disabled";
139591c4c3e0SPeter Geis
139678f71860SMichael Riesch		usb2phy0_host: host-port {
139791c4c3e0SPeter Geis			#phy-cells = <0>;
139891c4c3e0SPeter Geis			status = "disabled";
139991c4c3e0SPeter Geis		};
140091c4c3e0SPeter Geis
140178f71860SMichael Riesch		usb2phy0_otg: otg-port {
140291c4c3e0SPeter Geis			#phy-cells = <0>;
140391c4c3e0SPeter Geis			status = "disabled";
140491c4c3e0SPeter Geis		};
140591c4c3e0SPeter Geis	};
140691c4c3e0SPeter Geis
140778f71860SMichael Riesch	usb2phy1: usb2phy@fe8b0000 {
140891c4c3e0SPeter Geis		compatible = "rockchip,rk3568-usb2phy";
140991c4c3e0SPeter Geis		reg = <0x0 0xfe8b0000 0x0 0x10000>;
141091c4c3e0SPeter Geis		clocks = <&pmucru CLK_USBPHY1_REF>;
141191c4c3e0SPeter Geis		clock-names = "phyclk";
141291c4c3e0SPeter Geis		clock-output-names = "clk_usbphy1_480m";
141391c4c3e0SPeter Geis		interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
141491c4c3e0SPeter Geis		rockchip,usbgrf = <&usb2phy1_grf>;
141591c4c3e0SPeter Geis		#clock-cells = <0>;
141691c4c3e0SPeter Geis		status = "disabled";
141791c4c3e0SPeter Geis
141878f71860SMichael Riesch		usb2phy1_host: host-port {
141991c4c3e0SPeter Geis			#phy-cells = <0>;
142091c4c3e0SPeter Geis			status = "disabled";
142191c4c3e0SPeter Geis		};
142291c4c3e0SPeter Geis
142378f71860SMichael Riesch		usb2phy1_otg: otg-port {
142491c4c3e0SPeter Geis			#phy-cells = <0>;
142591c4c3e0SPeter Geis			status = "disabled";
142691c4c3e0SPeter Geis		};
142791c4c3e0SPeter Geis	};
142891c4c3e0SPeter Geis
14294e50d217SPeter Geis	pinctrl: pinctrl {
14304e50d217SPeter Geis		compatible = "rockchip,rk3568-pinctrl";
14314e50d217SPeter Geis		rockchip,grf = <&grf>;
14324e50d217SPeter Geis		rockchip,pmu = <&pmugrf>;
14334e50d217SPeter Geis		#address-cells = <2>;
14344e50d217SPeter Geis		#size-cells = <2>;
14354e50d217SPeter Geis		ranges;
14364e50d217SPeter Geis
14374e50d217SPeter Geis		gpio0: gpio@fdd60000 {
14384e50d217SPeter Geis			compatible = "rockchip,gpio-bank";
14394e50d217SPeter Geis			reg = <0x0 0xfdd60000 0x0 0x100>;
14404e50d217SPeter Geis			interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
14413d9170c3SPeter Geis			clocks = <&pmucru PCLK_GPIO0>, <&pmucru DBCLK_GPIO0>;
14424e50d217SPeter Geis			gpio-controller;
14434e50d217SPeter Geis			#gpio-cells = <2>;
14444e50d217SPeter Geis			interrupt-controller;
14454e50d217SPeter Geis			#interrupt-cells = <2>;
14464e50d217SPeter Geis		};
14474e50d217SPeter Geis
14484e50d217SPeter Geis		gpio1: gpio@fe740000 {
14494e50d217SPeter Geis			compatible = "rockchip,gpio-bank";
14504e50d217SPeter Geis			reg = <0x0 0xfe740000 0x0 0x100>;
14514e50d217SPeter Geis			interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
14523d9170c3SPeter Geis			clocks = <&cru PCLK_GPIO1>, <&cru DBCLK_GPIO1>;
14534e50d217SPeter Geis			gpio-controller;
14544e50d217SPeter Geis			#gpio-cells = <2>;
14554e50d217SPeter Geis			interrupt-controller;
14564e50d217SPeter Geis			#interrupt-cells = <2>;
14574e50d217SPeter Geis		};
14584e50d217SPeter Geis
14594e50d217SPeter Geis		gpio2: gpio@fe750000 {
14604e50d217SPeter Geis			compatible = "rockchip,gpio-bank";
14614e50d217SPeter Geis			reg = <0x0 0xfe750000 0x0 0x100>;
14624e50d217SPeter Geis			interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
14633d9170c3SPeter Geis			clocks = <&cru PCLK_GPIO2>, <&cru DBCLK_GPIO2>;
14644e50d217SPeter Geis			gpio-controller;
14654e50d217SPeter Geis			#gpio-cells = <2>;
14664e50d217SPeter Geis			interrupt-controller;
14674e50d217SPeter Geis			#interrupt-cells = <2>;
14684e50d217SPeter Geis		};
14694e50d217SPeter Geis
14704e50d217SPeter Geis		gpio3: gpio@fe760000 {
14714e50d217SPeter Geis			compatible = "rockchip,gpio-bank";
14724e50d217SPeter Geis			reg = <0x0 0xfe760000 0x0 0x100>;
14734e50d217SPeter Geis			interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
14743d9170c3SPeter Geis			clocks = <&cru PCLK_GPIO3>, <&cru DBCLK_GPIO3>;
14754e50d217SPeter Geis			gpio-controller;
14764e50d217SPeter Geis			#gpio-cells = <2>;
14774e50d217SPeter Geis			interrupt-controller;
14784e50d217SPeter Geis			#interrupt-cells = <2>;
14794e50d217SPeter Geis		};
14804e50d217SPeter Geis
14814e50d217SPeter Geis		gpio4: gpio@fe770000 {
14824e50d217SPeter Geis			compatible = "rockchip,gpio-bank";
14834e50d217SPeter Geis			reg = <0x0 0xfe770000 0x0 0x100>;
14844e50d217SPeter Geis			interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
14853d9170c3SPeter Geis			clocks = <&cru PCLK_GPIO4>, <&cru DBCLK_GPIO4>;
14864e50d217SPeter Geis			gpio-controller;
14874e50d217SPeter Geis			#gpio-cells = <2>;
14884e50d217SPeter Geis			interrupt-controller;
14894e50d217SPeter Geis			#interrupt-cells = <2>;
14904e50d217SPeter Geis		};
14914e50d217SPeter Geis	};
14924e50d217SPeter Geis};
14934e50d217SPeter Geis
14944e50d217SPeter Geis#include "rk3568-pinctrl.dtsi"
1495