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
23316c0f95dSFrank Wunderlich	sata1: sata@fc400000 {
23416c0f95dSFrank Wunderlich		compatible = "rockchip,rk3568-dwc-ahci", "snps,dwc-ahci";
23516c0f95dSFrank Wunderlich		reg = <0 0xfc400000 0 0x1000>;
23616c0f95dSFrank Wunderlich		clocks = <&cru ACLK_SATA1>, <&cru CLK_SATA1_PMALIVE>,
23716c0f95dSFrank Wunderlich			 <&cru CLK_SATA1_RXOOB>;
23816c0f95dSFrank Wunderlich		clock-names = "sata", "pmalive", "rxoob";
23916c0f95dSFrank Wunderlich		interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
24016c0f95dSFrank Wunderlich		phys = <&combphy1 PHY_TYPE_SATA>;
24116c0f95dSFrank Wunderlich		phy-names = "sata-phy";
24216c0f95dSFrank Wunderlich		ports-implemented = <0x1>;
24316c0f95dSFrank Wunderlich		power-domains = <&power RK3568_PD_PIPE>;
24416c0f95dSFrank Wunderlich		status = "disabled";
24516c0f95dSFrank Wunderlich	};
24616c0f95dSFrank Wunderlich
24716c0f95dSFrank Wunderlich	sata2: sata@fc800000 {
24816c0f95dSFrank Wunderlich		compatible = "rockchip,rk3568-dwc-ahci", "snps,dwc-ahci";
24916c0f95dSFrank Wunderlich		reg = <0 0xfc800000 0 0x1000>;
25016c0f95dSFrank Wunderlich		clocks = <&cru ACLK_SATA2>, <&cru CLK_SATA2_PMALIVE>,
25116c0f95dSFrank Wunderlich			 <&cru CLK_SATA2_RXOOB>;
25216c0f95dSFrank Wunderlich		clock-names = "sata", "pmalive", "rxoob";
25316c0f95dSFrank Wunderlich		interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
25416c0f95dSFrank Wunderlich		phys = <&combphy2 PHY_TYPE_SATA>;
25516c0f95dSFrank Wunderlich		phy-names = "sata-phy";
25616c0f95dSFrank Wunderlich		ports-implemented = <0x1>;
25716c0f95dSFrank Wunderlich		power-domains = <&power RK3568_PD_PIPE>;
25816c0f95dSFrank Wunderlich		status = "disabled";
25916c0f95dSFrank Wunderlich	};
26016c0f95dSFrank Wunderlich
2619f4c480fSPeter Geis	usb_host0_xhci: usb@fcc00000 {
2629f4c480fSPeter Geis		compatible = "rockchip,rk3568-dwc3", "snps,dwc3";
2639f4c480fSPeter Geis		reg = <0x0 0xfcc00000 0x0 0x400000>;
2649f4c480fSPeter Geis		interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>;
2659f4c480fSPeter Geis		clocks = <&cru CLK_USB3OTG0_REF>, <&cru CLK_USB3OTG0_SUSPEND>,
2669f4c480fSPeter Geis			 <&cru ACLK_USB3OTG0>;
2679f4c480fSPeter Geis		clock-names = "ref_clk", "suspend_clk",
2689f4c480fSPeter Geis			      "bus_clk";
269bc405bb3SMichael Riesch		dr_mode = "otg";
2709f4c480fSPeter Geis		phy_type = "utmi_wide";
2719f4c480fSPeter Geis		power-domains = <&power RK3568_PD_PIPE>;
2729f4c480fSPeter Geis		resets = <&cru SRST_USB3OTG0>;
2739f4c480fSPeter Geis		snps,dis_u2_susphy_quirk;
2749f4c480fSPeter Geis		status = "disabled";
2759f4c480fSPeter Geis	};
2769f4c480fSPeter Geis
2779f4c480fSPeter Geis	usb_host1_xhci: usb@fd000000 {
2789f4c480fSPeter Geis		compatible = "rockchip,rk3568-dwc3", "snps,dwc3";
2799f4c480fSPeter Geis		reg = <0x0 0xfd000000 0x0 0x400000>;
2809f4c480fSPeter Geis		interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>;
2819f4c480fSPeter Geis		clocks = <&cru CLK_USB3OTG1_REF>, <&cru CLK_USB3OTG1_SUSPEND>,
2829f4c480fSPeter Geis			 <&cru ACLK_USB3OTG1>;
2839f4c480fSPeter Geis		clock-names = "ref_clk", "suspend_clk",
2849f4c480fSPeter Geis			      "bus_clk";
2859f4c480fSPeter Geis		dr_mode = "host";
2869f4c480fSPeter Geis		phys = <&usb2phy0_host>, <&combphy1 PHY_TYPE_USB3>;
2879f4c480fSPeter Geis		phy-names = "usb2-phy", "usb3-phy";
2889f4c480fSPeter Geis		phy_type = "utmi_wide";
2899f4c480fSPeter Geis		power-domains = <&power RK3568_PD_PIPE>;
2909f4c480fSPeter Geis		resets = <&cru SRST_USB3OTG1>;
2919f4c480fSPeter Geis		snps,dis_u2_susphy_quirk;
2929f4c480fSPeter Geis		status = "disabled";
2939f4c480fSPeter Geis	};
2949f4c480fSPeter Geis
2954e50d217SPeter Geis	gic: interrupt-controller@fd400000 {
2964e50d217SPeter Geis		compatible = "arm,gic-v3";
2974e50d217SPeter Geis		reg = <0x0 0xfd400000 0 0x10000>, /* GICD */
2984e50d217SPeter Geis		      <0x0 0xfd460000 0 0x80000>; /* GICR */
2994e50d217SPeter Geis		interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
3004e50d217SPeter Geis		interrupt-controller;
3014e50d217SPeter Geis		#interrupt-cells = <3>;
302b6c1a590SPeter Geis		mbi-alias = <0x0 0xfd410000>;
3034e50d217SPeter Geis		mbi-ranges = <296 24>;
3044e50d217SPeter Geis		msi-controller;
3054e50d217SPeter Geis	};
3064e50d217SPeter Geis
30791c4c3e0SPeter Geis	usb_host0_ehci: usb@fd800000 {
30891c4c3e0SPeter Geis		compatible = "generic-ehci";
30991c4c3e0SPeter Geis		reg = <0x0 0xfd800000 0x0 0x40000>;
31091c4c3e0SPeter Geis		interrupts = <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>;
31191c4c3e0SPeter Geis		clocks = <&cru HCLK_USB2HOST0>, <&cru HCLK_USB2HOST0_ARB>,
31291c4c3e0SPeter Geis			 <&cru PCLK_USB>;
31378f71860SMichael Riesch		phys = <&usb2phy1_otg>;
31491c4c3e0SPeter Geis		phy-names = "usb";
31591c4c3e0SPeter Geis		status = "disabled";
31691c4c3e0SPeter Geis	};
31791c4c3e0SPeter Geis
31891c4c3e0SPeter Geis	usb_host0_ohci: usb@fd840000 {
31991c4c3e0SPeter Geis		compatible = "generic-ohci";
32091c4c3e0SPeter Geis		reg = <0x0 0xfd840000 0x0 0x40000>;
32191c4c3e0SPeter Geis		interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>;
32291c4c3e0SPeter Geis		clocks = <&cru HCLK_USB2HOST0>, <&cru HCLK_USB2HOST0_ARB>,
32391c4c3e0SPeter Geis			 <&cru PCLK_USB>;
32478f71860SMichael Riesch		phys = <&usb2phy1_otg>;
32591c4c3e0SPeter Geis		phy-names = "usb";
32691c4c3e0SPeter Geis		status = "disabled";
32791c4c3e0SPeter Geis	};
32891c4c3e0SPeter Geis
32991c4c3e0SPeter Geis	usb_host1_ehci: usb@fd880000 {
33091c4c3e0SPeter Geis		compatible = "generic-ehci";
33191c4c3e0SPeter Geis		reg = <0x0 0xfd880000 0x0 0x40000>;
33291c4c3e0SPeter Geis		interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
33391c4c3e0SPeter Geis		clocks = <&cru HCLK_USB2HOST1>, <&cru HCLK_USB2HOST1_ARB>,
33491c4c3e0SPeter Geis			 <&cru PCLK_USB>;
33578f71860SMichael Riesch		phys = <&usb2phy1_host>;
33691c4c3e0SPeter Geis		phy-names = "usb";
33791c4c3e0SPeter Geis		status = "disabled";
33891c4c3e0SPeter Geis	};
33991c4c3e0SPeter Geis
34091c4c3e0SPeter Geis	usb_host1_ohci: usb@fd8c0000 {
34191c4c3e0SPeter Geis		compatible = "generic-ohci";
34291c4c3e0SPeter Geis		reg = <0x0 0xfd8c0000 0x0 0x40000>;
34391c4c3e0SPeter Geis		interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>;
34491c4c3e0SPeter Geis		clocks = <&cru HCLK_USB2HOST1>, <&cru HCLK_USB2HOST1_ARB>,
34591c4c3e0SPeter Geis			 <&cru PCLK_USB>;
34678f71860SMichael Riesch		phys = <&usb2phy1_host>;
34791c4c3e0SPeter Geis		phy-names = "usb";
34891c4c3e0SPeter Geis		status = "disabled";
34991c4c3e0SPeter Geis	};
35091c4c3e0SPeter Geis
3514e50d217SPeter Geis	pmugrf: syscon@fdc20000 {
3524e50d217SPeter Geis		compatible = "rockchip,rk3568-pmugrf", "syscon", "simple-mfd";
3534e50d217SPeter Geis		reg = <0x0 0xfdc20000 0x0 0x10000>;
3542dbcb251SMichael Riesch
3552dbcb251SMichael Riesch		pmu_io_domains: io-domains {
3562dbcb251SMichael Riesch			compatible = "rockchip,rk3568-pmu-io-voltage-domain";
3572dbcb251SMichael Riesch			status = "disabled";
3582dbcb251SMichael Riesch		};
3594e50d217SPeter Geis	};
3604e50d217SPeter Geis
3613cc8cd2dSYifeng Zhao	pipegrf: syscon@fdc50000 {
3623cc8cd2dSYifeng Zhao		reg = <0x0 0xfdc50000 0x0 0x1000>;
3633cc8cd2dSYifeng Zhao	};
3643cc8cd2dSYifeng Zhao
3654e50d217SPeter Geis	grf: syscon@fdc60000 {
3664e50d217SPeter Geis		compatible = "rockchip,rk3568-grf", "syscon", "simple-mfd";
3674e50d217SPeter Geis		reg = <0x0 0xfdc60000 0x0 0x10000>;
3684e50d217SPeter Geis	};
3694e50d217SPeter Geis
3703cc8cd2dSYifeng Zhao	pipe_phy_grf1: syscon@fdc80000 {
3713cc8cd2dSYifeng Zhao		compatible = "rockchip,rk3568-pipe-phy-grf", "syscon";
3723cc8cd2dSYifeng Zhao		reg = <0x0 0xfdc80000 0x0 0x1000>;
3733cc8cd2dSYifeng Zhao	};
3743cc8cd2dSYifeng Zhao
3753cc8cd2dSYifeng Zhao	pipe_phy_grf2: syscon@fdc90000 {
3763cc8cd2dSYifeng Zhao		compatible = "rockchip,rk3568-pipe-phy-grf", "syscon";
3773cc8cd2dSYifeng Zhao		reg = <0x0 0xfdc90000 0x0 0x1000>;
3783cc8cd2dSYifeng Zhao	};
3793cc8cd2dSYifeng Zhao
38091c4c3e0SPeter Geis	usb2phy0_grf: syscon@fdca0000 {
38191c4c3e0SPeter Geis		compatible = "rockchip,rk3568-usb2phy-grf", "syscon";
38291c4c3e0SPeter Geis		reg = <0x0 0xfdca0000 0x0 0x8000>;
38391c4c3e0SPeter Geis	};
38491c4c3e0SPeter Geis
38591c4c3e0SPeter Geis	usb2phy1_grf: syscon@fdca8000 {
38691c4c3e0SPeter Geis		compatible = "rockchip,rk3568-usb2phy-grf", "syscon";
38791c4c3e0SPeter Geis		reg = <0x0 0xfdca8000 0x0 0x8000>;
38891c4c3e0SPeter Geis	};
38991c4c3e0SPeter Geis
3904e50d217SPeter Geis	pmucru: clock-controller@fdd00000 {
3914e50d217SPeter Geis		compatible = "rockchip,rk3568-pmucru";
3924e50d217SPeter Geis		reg = <0x0 0xfdd00000 0x0 0x1000>;
3934e50d217SPeter Geis		#clock-cells = <1>;
3944e50d217SPeter Geis		#reset-cells = <1>;
3954e50d217SPeter Geis	};
3964e50d217SPeter Geis
3974e50d217SPeter Geis	cru: clock-controller@fdd20000 {
3984e50d217SPeter Geis		compatible = "rockchip,rk3568-cru";
3994e50d217SPeter Geis		reg = <0x0 0xfdd20000 0x0 0x1000>;
400cd2d081dSPeter Geis		clocks = <&xin24m>;
401cd2d081dSPeter Geis		clock-names = "xin24m";
4024e50d217SPeter Geis		#clock-cells = <1>;
4034e50d217SPeter Geis		#reset-cells = <1>;
404f7c5b9c2SPeter Geis		assigned-clocks = <&cru PLL_GPLL>, <&pmucru PLL_PPLL>;
405f7c5b9c2SPeter Geis		assigned-clock-rates = <1200000000>, <200000000>;
40695ad4dbeSMichael Riesch		rockchip,grf = <&grf>;
4074e50d217SPeter Geis	};
4084e50d217SPeter Geis
4094e50d217SPeter Geis	i2c0: i2c@fdd40000 {
4104e50d217SPeter Geis		compatible = "rockchip,rk3568-i2c", "rockchip,rk3399-i2c";
4114e50d217SPeter Geis		reg = <0x0 0xfdd40000 0x0 0x1000>;
4124e50d217SPeter Geis		interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
4134e50d217SPeter Geis		clocks = <&pmucru CLK_I2C0>, <&pmucru PCLK_I2C0>;
4144e50d217SPeter Geis		clock-names = "i2c", "pclk";
4154e50d217SPeter Geis		pinctrl-0 = <&i2c0_xfer>;
4164e50d217SPeter Geis		pinctrl-names = "default";
4174e50d217SPeter Geis		#address-cells = <1>;
4184e50d217SPeter Geis		#size-cells = <0>;
4194e50d217SPeter Geis		status = "disabled";
4204e50d217SPeter Geis	};
4214e50d217SPeter Geis
4224e50d217SPeter Geis	uart0: serial@fdd50000 {
4234e50d217SPeter Geis		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
4244e50d217SPeter Geis		reg = <0x0 0xfdd50000 0x0 0x100>;
4254e50d217SPeter Geis		interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
4264e50d217SPeter Geis		clocks = <&pmucru SCLK_UART0>, <&pmucru PCLK_UART0>;
4274e50d217SPeter Geis		clock-names = "baudclk", "apb_pclk";
4284e50d217SPeter Geis		dmas = <&dmac0 0>, <&dmac0 1>;
4294e50d217SPeter Geis		pinctrl-0 = <&uart0_xfer>;
4304e50d217SPeter Geis		pinctrl-names = "default";
4314e50d217SPeter Geis		reg-io-width = <4>;
4324e50d217SPeter Geis		reg-shift = <2>;
4334e50d217SPeter Geis		status = "disabled";
4344e50d217SPeter Geis	};
4354e50d217SPeter Geis
43698419a39SLiang Chen	pwm0: pwm@fdd70000 {
43798419a39SLiang Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
43898419a39SLiang Chen		reg = <0x0 0xfdd70000 0x0 0x10>;
43998419a39SLiang Chen		clocks = <&pmucru CLK_PWM0>, <&pmucru PCLK_PWM0>;
44098419a39SLiang Chen		clock-names = "pwm", "pclk";
44198419a39SLiang Chen		pinctrl-0 = <&pwm0m0_pins>;
4422e4dbcf7SSascha Hauer		pinctrl-names = "default";
44398419a39SLiang Chen		#pwm-cells = <3>;
44498419a39SLiang Chen		status = "disabled";
44598419a39SLiang Chen	};
44698419a39SLiang Chen
44798419a39SLiang Chen	pwm1: pwm@fdd70010 {
44898419a39SLiang Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
44998419a39SLiang Chen		reg = <0x0 0xfdd70010 0x0 0x10>;
45098419a39SLiang Chen		clocks = <&pmucru CLK_PWM0>, <&pmucru PCLK_PWM0>;
45198419a39SLiang Chen		clock-names = "pwm", "pclk";
45298419a39SLiang Chen		pinctrl-0 = <&pwm1m0_pins>;
4532e4dbcf7SSascha Hauer		pinctrl-names = "default";
45498419a39SLiang Chen		#pwm-cells = <3>;
45598419a39SLiang Chen		status = "disabled";
45698419a39SLiang Chen	};
45798419a39SLiang Chen
45898419a39SLiang Chen	pwm2: pwm@fdd70020 {
45998419a39SLiang Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
46098419a39SLiang Chen		reg = <0x0 0xfdd70020 0x0 0x10>;
46198419a39SLiang Chen		clocks = <&pmucru CLK_PWM0>, <&pmucru PCLK_PWM0>;
46298419a39SLiang Chen		clock-names = "pwm", "pclk";
46398419a39SLiang Chen		pinctrl-0 = <&pwm2m0_pins>;
4642e4dbcf7SSascha Hauer		pinctrl-names = "default";
46598419a39SLiang Chen		#pwm-cells = <3>;
46698419a39SLiang Chen		status = "disabled";
46798419a39SLiang Chen	};
46898419a39SLiang Chen
46998419a39SLiang Chen	pwm3: pwm@fdd70030 {
47098419a39SLiang Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
47198419a39SLiang Chen		reg = <0x0 0xfdd70030 0x0 0x10>;
47298419a39SLiang Chen		clocks = <&pmucru CLK_PWM0>, <&pmucru PCLK_PWM0>;
47398419a39SLiang Chen		clock-names = "pwm", "pclk";
47498419a39SLiang Chen		pinctrl-0 = <&pwm3_pins>;
4752e4dbcf7SSascha Hauer		pinctrl-names = "default";
47698419a39SLiang Chen		#pwm-cells = <3>;
47798419a39SLiang Chen		status = "disabled";
47898419a39SLiang Chen	};
47998419a39SLiang Chen
4804e50d217SPeter Geis	pmu: power-management@fdd90000 {
4814e50d217SPeter Geis		compatible = "rockchip,rk3568-pmu", "syscon", "simple-mfd";
4824e50d217SPeter Geis		reg = <0x0 0xfdd90000 0x0 0x1000>;
4834e50d217SPeter Geis
4844e50d217SPeter Geis		power: power-controller {
4854e50d217SPeter Geis			compatible = "rockchip,rk3568-power-controller";
4864e50d217SPeter Geis			#power-domain-cells = <1>;
4874e50d217SPeter Geis			#address-cells = <1>;
4884e50d217SPeter Geis			#size-cells = <0>;
4894e50d217SPeter Geis
4904e50d217SPeter Geis			/* These power domains are grouped by VD_GPU */
4914e50d217SPeter Geis			power-domain@RK3568_PD_GPU {
4924e50d217SPeter Geis				reg = <RK3568_PD_GPU>;
4934e50d217SPeter Geis				clocks = <&cru ACLK_GPU_PRE>,
4944e50d217SPeter Geis					 <&cru PCLK_GPU_PRE>;
4954e50d217SPeter Geis				pm_qos = <&qos_gpu>;
4964e50d217SPeter Geis				#power-domain-cells = <0>;
4974e50d217SPeter Geis			};
4984e50d217SPeter Geis
4994e50d217SPeter Geis			/* These power domains are grouped by VD_LOGIC */
5004e50d217SPeter Geis			power-domain@RK3568_PD_VI {
5014e50d217SPeter Geis				reg = <RK3568_PD_VI>;
5024e50d217SPeter Geis				clocks = <&cru HCLK_VI>,
5034e50d217SPeter Geis					 <&cru PCLK_VI>;
5044e50d217SPeter Geis				pm_qos = <&qos_isp>,
5054e50d217SPeter Geis					 <&qos_vicap0>,
5064e50d217SPeter Geis					 <&qos_vicap1>;
5074e50d217SPeter Geis				#power-domain-cells = <0>;
5084e50d217SPeter Geis			};
5094e50d217SPeter Geis
5104e50d217SPeter Geis			power-domain@RK3568_PD_VO {
5114e50d217SPeter Geis				reg = <RK3568_PD_VO>;
5124e50d217SPeter Geis				clocks = <&cru HCLK_VO>,
5134e50d217SPeter Geis					 <&cru PCLK_VO>,
5144e50d217SPeter Geis					 <&cru ACLK_VOP_PRE>;
5154e50d217SPeter Geis				pm_qos = <&qos_hdcp>,
5164e50d217SPeter Geis					 <&qos_vop_m0>,
5174e50d217SPeter Geis					 <&qos_vop_m1>;
5184e50d217SPeter Geis				#power-domain-cells = <0>;
5194e50d217SPeter Geis			};
5204e50d217SPeter Geis
5214e50d217SPeter Geis			power-domain@RK3568_PD_RGA {
5224e50d217SPeter Geis				reg = <RK3568_PD_RGA>;
5234e50d217SPeter Geis				clocks = <&cru HCLK_RGA_PRE>,
5244e50d217SPeter Geis					 <&cru PCLK_RGA_PRE>;
5254e50d217SPeter Geis				pm_qos = <&qos_ebc>,
5264e50d217SPeter Geis					 <&qos_iep>,
5274e50d217SPeter Geis					 <&qos_jpeg_dec>,
5284e50d217SPeter Geis					 <&qos_jpeg_enc>,
5294e50d217SPeter Geis					 <&qos_rga_rd>,
5304e50d217SPeter Geis					 <&qos_rga_wr>;
5314e50d217SPeter Geis				#power-domain-cells = <0>;
5324e50d217SPeter Geis			};
5334e50d217SPeter Geis
5344e50d217SPeter Geis			power-domain@RK3568_PD_VPU {
5354e50d217SPeter Geis				reg = <RK3568_PD_VPU>;
5364e50d217SPeter Geis				clocks = <&cru HCLK_VPU_PRE>;
5374e50d217SPeter Geis				pm_qos = <&qos_vpu>;
5384e50d217SPeter Geis				#power-domain-cells = <0>;
5394e50d217SPeter Geis			};
5404e50d217SPeter Geis
5414e50d217SPeter Geis			power-domain@RK3568_PD_RKVDEC {
5424e50d217SPeter Geis				clocks = <&cru HCLK_RKVDEC_PRE>;
5434e50d217SPeter Geis				reg = <RK3568_PD_RKVDEC>;
5444e50d217SPeter Geis				pm_qos = <&qos_rkvdec>;
5454e50d217SPeter Geis				#power-domain-cells = <0>;
5464e50d217SPeter Geis			};
5474e50d217SPeter Geis
5484e50d217SPeter Geis			power-domain@RK3568_PD_RKVENC {
5494e50d217SPeter Geis				reg = <RK3568_PD_RKVENC>;
5504e50d217SPeter Geis				clocks = <&cru HCLK_RKVENC_PRE>;
5514e50d217SPeter Geis				pm_qos = <&qos_rkvenc_rd_m0>,
5524e50d217SPeter Geis					 <&qos_rkvenc_rd_m1>,
5534e50d217SPeter Geis					 <&qos_rkvenc_wr_m0>;
5544e50d217SPeter Geis				#power-domain-cells = <0>;
5554e50d217SPeter Geis			};
5564e50d217SPeter Geis		};
5574e50d217SPeter Geis	};
5584e50d217SPeter Geis
55981002866SEzequiel Garcia	gpu: gpu@fde60000 {
56081002866SEzequiel Garcia		compatible = "rockchip,rk3568-mali", "arm,mali-bifrost";
56181002866SEzequiel Garcia		reg = <0x0 0xfde60000 0x0 0x4000>;
56281002866SEzequiel Garcia		interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
56381002866SEzequiel Garcia			     <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
56481002866SEzequiel Garcia			     <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
56581002866SEzequiel Garcia		interrupt-names = "job", "mmu", "gpu";
56681002866SEzequiel Garcia		clocks = <&scmi_clk 1>, <&cru CLK_GPU>;
56781002866SEzequiel Garcia		clock-names = "gpu", "bus";
56881002866SEzequiel Garcia		#cooling-cells = <2>;
56981002866SEzequiel Garcia		operating-points-v2 = <&gpu_opp_table>;
57081002866SEzequiel Garcia		power-domains = <&power RK3568_PD_GPU>;
57181002866SEzequiel Garcia		status = "disabled";
57281002866SEzequiel Garcia	};
57381002866SEzequiel Garcia
5744e50d217SPeter Geis	sdmmc2: mmc@fe000000 {
5754e50d217SPeter Geis		compatible = "rockchip,rk3568-dw-mshc", "rockchip,rk3288-dw-mshc";
5764e50d217SPeter Geis		reg = <0x0 0xfe000000 0x0 0x4000>;
5774e50d217SPeter Geis		interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
5784e50d217SPeter Geis		clocks = <&cru HCLK_SDMMC2>, <&cru CLK_SDMMC2>,
5794e50d217SPeter Geis			 <&cru SCLK_SDMMC2_DRV>, <&cru SCLK_SDMMC2_SAMPLE>;
5804e50d217SPeter Geis		clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
5814e50d217SPeter Geis		fifo-depth = <0x100>;
5824e50d217SPeter Geis		max-frequency = <150000000>;
5834e50d217SPeter Geis		resets = <&cru SRST_SDMMC2>;
5844e50d217SPeter Geis		reset-names = "reset";
5854e50d217SPeter Geis		status = "disabled";
5864e50d217SPeter Geis	};
5874e50d217SPeter Geis
5880dcec571SPeter Geis	gmac1: ethernet@fe010000 {
5890dcec571SPeter Geis		compatible = "rockchip,rk3568-gmac", "snps,dwmac-4.20a";
5900dcec571SPeter Geis		reg = <0x0 0xfe010000 0x0 0x10000>;
5910dcec571SPeter Geis		interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>,
5920dcec571SPeter Geis			     <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
5930dcec571SPeter Geis		interrupt-names = "macirq", "eth_wake_irq";
5940dcec571SPeter Geis		clocks = <&cru SCLK_GMAC1>, <&cru SCLK_GMAC1_RX_TX>,
5950dcec571SPeter Geis			 <&cru SCLK_GMAC1_RX_TX>, <&cru CLK_MAC1_REFOUT>,
5960dcec571SPeter Geis			 <&cru ACLK_GMAC1>, <&cru PCLK_GMAC1>,
5970dcec571SPeter Geis			 <&cru SCLK_GMAC1_RX_TX>, <&cru CLK_GMAC1_PTP_REF>;
5980dcec571SPeter Geis		clock-names = "stmmaceth", "mac_clk_rx",
5990dcec571SPeter Geis			      "mac_clk_tx", "clk_mac_refout",
6000dcec571SPeter Geis			      "aclk_mac", "pclk_mac",
6010dcec571SPeter Geis			      "clk_mac_speed", "ptp_ref";
6020dcec571SPeter Geis		resets = <&cru SRST_A_GMAC1>;
6030dcec571SPeter Geis		reset-names = "stmmaceth";
6040dcec571SPeter Geis		rockchip,grf = <&grf>;
6050dcec571SPeter Geis		snps,axi-config = <&gmac1_stmmac_axi_setup>;
6060dcec571SPeter Geis		snps,mixed-burst;
6070dcec571SPeter Geis		snps,mtl-rx-config = <&gmac1_mtl_rx_setup>;
6080dcec571SPeter Geis		snps,mtl-tx-config = <&gmac1_mtl_tx_setup>;
6090dcec571SPeter Geis		snps,tso;
6100dcec571SPeter Geis		status = "disabled";
6110dcec571SPeter Geis
6120dcec571SPeter Geis		mdio1: mdio {
6130dcec571SPeter Geis			compatible = "snps,dwmac-mdio";
6140dcec571SPeter Geis			#address-cells = <0x1>;
6150dcec571SPeter Geis			#size-cells = <0x0>;
6160dcec571SPeter Geis		};
6170dcec571SPeter Geis
6180dcec571SPeter Geis		gmac1_stmmac_axi_setup: stmmac-axi-config {
6190dcec571SPeter Geis			snps,blen = <0 0 0 0 16 8 4>;
6200dcec571SPeter Geis			snps,rd_osr_lmt = <8>;
6210dcec571SPeter Geis			snps,wr_osr_lmt = <4>;
6220dcec571SPeter Geis		};
6230dcec571SPeter Geis
6240dcec571SPeter Geis		gmac1_mtl_rx_setup: rx-queues-config {
6250dcec571SPeter Geis			snps,rx-queues-to-use = <1>;
6260dcec571SPeter Geis			queue0 {};
6270dcec571SPeter Geis		};
6280dcec571SPeter Geis
6290dcec571SPeter Geis		gmac1_mtl_tx_setup: tx-queues-config {
6300dcec571SPeter Geis			snps,tx-queues-to-use = <1>;
6310dcec571SPeter Geis			queue0 {};
6320dcec571SPeter Geis		};
6330dcec571SPeter Geis	};
6340dcec571SPeter Geis
6354e50d217SPeter Geis	qos_gpu: qos@fe128000 {
6364e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
6374e50d217SPeter Geis		reg = <0x0 0xfe128000 0x0 0x20>;
6384e50d217SPeter Geis	};
6394e50d217SPeter Geis
6404e50d217SPeter Geis	qos_rkvenc_rd_m0: qos@fe138080 {
6414e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
6424e50d217SPeter Geis		reg = <0x0 0xfe138080 0x0 0x20>;
6434e50d217SPeter Geis	};
6444e50d217SPeter Geis
6454e50d217SPeter Geis	qos_rkvenc_rd_m1: qos@fe138100 {
6464e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
6474e50d217SPeter Geis		reg = <0x0 0xfe138100 0x0 0x20>;
6484e50d217SPeter Geis	};
6494e50d217SPeter Geis
6504e50d217SPeter Geis	qos_rkvenc_wr_m0: qos@fe138180 {
6514e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
6524e50d217SPeter Geis		reg = <0x0 0xfe138180 0x0 0x20>;
6534e50d217SPeter Geis	};
6544e50d217SPeter Geis
6554e50d217SPeter Geis	qos_isp: qos@fe148000 {
6564e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
6574e50d217SPeter Geis		reg = <0x0 0xfe148000 0x0 0x20>;
6584e50d217SPeter Geis	};
6594e50d217SPeter Geis
6604e50d217SPeter Geis	qos_vicap0: qos@fe148080 {
6614e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
6624e50d217SPeter Geis		reg = <0x0 0xfe148080 0x0 0x20>;
6634e50d217SPeter Geis	};
6644e50d217SPeter Geis
6654e50d217SPeter Geis	qos_vicap1: qos@fe148100 {
6664e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
6674e50d217SPeter Geis		reg = <0x0 0xfe148100 0x0 0x20>;
6684e50d217SPeter Geis	};
6694e50d217SPeter Geis
6704e50d217SPeter Geis	qos_vpu: qos@fe150000 {
6714e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
6724e50d217SPeter Geis		reg = <0x0 0xfe150000 0x0 0x20>;
6734e50d217SPeter Geis	};
6744e50d217SPeter Geis
6754e50d217SPeter Geis	qos_ebc: qos@fe158000 {
6764e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
6774e50d217SPeter Geis		reg = <0x0 0xfe158000 0x0 0x20>;
6784e50d217SPeter Geis	};
6794e50d217SPeter Geis
6804e50d217SPeter Geis	qos_iep: qos@fe158100 {
6814e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
6824e50d217SPeter Geis		reg = <0x0 0xfe158100 0x0 0x20>;
6834e50d217SPeter Geis	};
6844e50d217SPeter Geis
6854e50d217SPeter Geis	qos_jpeg_dec: qos@fe158180 {
6864e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
6874e50d217SPeter Geis		reg = <0x0 0xfe158180 0x0 0x20>;
6884e50d217SPeter Geis	};
6894e50d217SPeter Geis
6904e50d217SPeter Geis	qos_jpeg_enc: qos@fe158200 {
6914e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
6924e50d217SPeter Geis		reg = <0x0 0xfe158200 0x0 0x20>;
6934e50d217SPeter Geis	};
6944e50d217SPeter Geis
6954e50d217SPeter Geis	qos_rga_rd: qos@fe158280 {
6964e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
6974e50d217SPeter Geis		reg = <0x0 0xfe158280 0x0 0x20>;
6984e50d217SPeter Geis	};
6994e50d217SPeter Geis
7004e50d217SPeter Geis	qos_rga_wr: qos@fe158300 {
7014e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
7024e50d217SPeter Geis		reg = <0x0 0xfe158300 0x0 0x20>;
7034e50d217SPeter Geis	};
7044e50d217SPeter Geis
7054e50d217SPeter Geis	qos_npu: qos@fe180000 {
7064e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
7074e50d217SPeter Geis		reg = <0x0 0xfe180000 0x0 0x20>;
7084e50d217SPeter Geis	};
7094e50d217SPeter Geis
7104e50d217SPeter Geis	qos_pcie2x1: qos@fe190000 {
7114e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
7124e50d217SPeter Geis		reg = <0x0 0xfe190000 0x0 0x20>;
7134e50d217SPeter Geis	};
7144e50d217SPeter Geis
7154e50d217SPeter Geis	qos_sata1: qos@fe190280 {
7164e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
7174e50d217SPeter Geis		reg = <0x0 0xfe190280 0x0 0x20>;
7184e50d217SPeter Geis	};
7194e50d217SPeter Geis
7204e50d217SPeter Geis	qos_sata2: qos@fe190300 {
7214e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
7224e50d217SPeter Geis		reg = <0x0 0xfe190300 0x0 0x20>;
7234e50d217SPeter Geis	};
7244e50d217SPeter Geis
7254e50d217SPeter Geis	qos_usb3_0: qos@fe190380 {
7264e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
7274e50d217SPeter Geis		reg = <0x0 0xfe190380 0x0 0x20>;
7284e50d217SPeter Geis	};
7294e50d217SPeter Geis
7304e50d217SPeter Geis	qos_usb3_1: qos@fe190400 {
7314e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
7324e50d217SPeter Geis		reg = <0x0 0xfe190400 0x0 0x20>;
7334e50d217SPeter Geis	};
7344e50d217SPeter Geis
7354e50d217SPeter Geis	qos_rkvdec: qos@fe198000 {
7364e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
7374e50d217SPeter Geis		reg = <0x0 0xfe198000 0x0 0x20>;
7384e50d217SPeter Geis	};
7394e50d217SPeter Geis
7404e50d217SPeter Geis	qos_hdcp: qos@fe1a8000 {
7414e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
7424e50d217SPeter Geis		reg = <0x0 0xfe1a8000 0x0 0x20>;
7434e50d217SPeter Geis	};
7444e50d217SPeter Geis
7454e50d217SPeter Geis	qos_vop_m0: qos@fe1a8080 {
7464e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
7474e50d217SPeter Geis		reg = <0x0 0xfe1a8080 0x0 0x20>;
7484e50d217SPeter Geis	};
7494e50d217SPeter Geis
7504e50d217SPeter Geis	qos_vop_m1: qos@fe1a8100 {
7514e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
7524e50d217SPeter Geis		reg = <0x0 0xfe1a8100 0x0 0x20>;
7534e50d217SPeter Geis	};
7544e50d217SPeter Geis
755*66b51ea7SPeter Geis	pcie2x1: pcie@fe260000 {
756*66b51ea7SPeter Geis		compatible = "rockchip,rk3568-pcie";
757*66b51ea7SPeter Geis		reg = <0x3 0xc0000000 0x0 0x00400000>,
758*66b51ea7SPeter Geis		      <0x0 0xfe260000 0x0 0x00010000>,
759*66b51ea7SPeter Geis		      <0x3 0x3f000000 0x0 0x01000000>;
760*66b51ea7SPeter Geis		reg-names = "dbi", "apb", "config";
761*66b51ea7SPeter Geis		interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>,
762*66b51ea7SPeter Geis			     <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>,
763*66b51ea7SPeter Geis			     <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>,
764*66b51ea7SPeter Geis			     <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>,
765*66b51ea7SPeter Geis			     <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
766*66b51ea7SPeter Geis		interrupt-names = "sys", "pmc", "msi", "legacy", "err";
767*66b51ea7SPeter Geis		bus-range = <0x0 0xf>;
768*66b51ea7SPeter Geis		clocks = <&cru ACLK_PCIE20_MST>, <&cru ACLK_PCIE20_SLV>,
769*66b51ea7SPeter Geis			 <&cru ACLK_PCIE20_DBI>, <&cru PCLK_PCIE20>,
770*66b51ea7SPeter Geis			 <&cru CLK_PCIE20_AUX_NDFT>;
771*66b51ea7SPeter Geis		clock-names = "aclk_mst", "aclk_slv",
772*66b51ea7SPeter Geis			      "aclk_dbi", "pclk", "aux";
773*66b51ea7SPeter Geis		device_type = "pci";
774*66b51ea7SPeter Geis		interrupt-map-mask = <0 0 0 7>;
775*66b51ea7SPeter Geis		interrupt-map = <0 0 0 1 &pcie_intc 0>,
776*66b51ea7SPeter Geis				<0 0 0 2 &pcie_intc 1>,
777*66b51ea7SPeter Geis				<0 0 0 3 &pcie_intc 2>,
778*66b51ea7SPeter Geis				<0 0 0 4 &pcie_intc 3>;
779*66b51ea7SPeter Geis		linux,pci-domain = <0>;
780*66b51ea7SPeter Geis		num-ib-windows = <6>;
781*66b51ea7SPeter Geis		num-ob-windows = <2>;
782*66b51ea7SPeter Geis		max-link-speed = <2>;
783*66b51ea7SPeter Geis		msi-map = <0x0 &gic 0x0 0x1000>;
784*66b51ea7SPeter Geis		num-lanes = <1>;
785*66b51ea7SPeter Geis		phys = <&combphy2 PHY_TYPE_PCIE>;
786*66b51ea7SPeter Geis		phy-names = "pcie-phy";
787*66b51ea7SPeter Geis		power-domains = <&power RK3568_PD_PIPE>;
788*66b51ea7SPeter Geis		ranges = <0x01000000 0x0 0x3ef00000 0x3 0x3ef00000 0x0 0x00100000
789*66b51ea7SPeter Geis			  0x02000000 0x0 0x00000000 0x3 0x00000000 0x0 0x3ef00000>;
790*66b51ea7SPeter Geis		resets = <&cru SRST_PCIE20_POWERUP>;
791*66b51ea7SPeter Geis		reset-names = "pipe";
792*66b51ea7SPeter Geis		#address-cells = <3>;
793*66b51ea7SPeter Geis		#size-cells = <2>;
794*66b51ea7SPeter Geis		status = "disabled";
795*66b51ea7SPeter Geis
796*66b51ea7SPeter Geis		pcie_intc: legacy-interrupt-controller {
797*66b51ea7SPeter Geis			#address-cells = <0>;
798*66b51ea7SPeter Geis			#interrupt-cells = <1>;
799*66b51ea7SPeter Geis			interrupt-controller;
800*66b51ea7SPeter Geis			interrupt-parent = <&gic>;
801*66b51ea7SPeter Geis			interrupts = <GIC_SPI 72 IRQ_TYPE_EDGE_RISING>;
802*66b51ea7SPeter Geis		};
803*66b51ea7SPeter Geis	};
804*66b51ea7SPeter Geis
8054e50d217SPeter Geis	sdmmc0: mmc@fe2b0000 {
8064e50d217SPeter Geis		compatible = "rockchip,rk3568-dw-mshc", "rockchip,rk3288-dw-mshc";
8074e50d217SPeter Geis		reg = <0x0 0xfe2b0000 0x0 0x4000>;
8084e50d217SPeter Geis		interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
8094e50d217SPeter Geis		clocks = <&cru HCLK_SDMMC0>, <&cru CLK_SDMMC0>,
8104e50d217SPeter Geis			 <&cru SCLK_SDMMC0_DRV>, <&cru SCLK_SDMMC0_SAMPLE>;
8114e50d217SPeter Geis		clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
8124e50d217SPeter Geis		fifo-depth = <0x100>;
8134e50d217SPeter Geis		max-frequency = <150000000>;
8144e50d217SPeter Geis		resets = <&cru SRST_SDMMC0>;
8154e50d217SPeter Geis		reset-names = "reset";
8164e50d217SPeter Geis		status = "disabled";
8174e50d217SPeter Geis	};
8184e50d217SPeter Geis
8194e50d217SPeter Geis	sdmmc1: mmc@fe2c0000 {
8204e50d217SPeter Geis		compatible = "rockchip,rk3568-dw-mshc", "rockchip,rk3288-dw-mshc";
8214e50d217SPeter Geis		reg = <0x0 0xfe2c0000 0x0 0x4000>;
8224e50d217SPeter Geis		interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
8234e50d217SPeter Geis		clocks = <&cru HCLK_SDMMC1>, <&cru CLK_SDMMC1>,
8244e50d217SPeter Geis			 <&cru SCLK_SDMMC1_DRV>, <&cru SCLK_SDMMC1_SAMPLE>;
8254e50d217SPeter Geis		clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
8264e50d217SPeter Geis		fifo-depth = <0x100>;
8274e50d217SPeter Geis		max-frequency = <150000000>;
8284e50d217SPeter Geis		resets = <&cru SRST_SDMMC1>;
8294e50d217SPeter Geis		reset-names = "reset";
8304e50d217SPeter Geis		status = "disabled";
8314e50d217SPeter Geis	};
8324e50d217SPeter Geis
83313e0ee34SPeter Geis	sfc: spi@fe300000 {
83413e0ee34SPeter Geis		compatible = "rockchip,sfc";
83513e0ee34SPeter Geis		reg = <0x0 0xfe300000 0x0 0x4000>;
83613e0ee34SPeter Geis		interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
83713e0ee34SPeter Geis		clocks = <&cru SCLK_SFC>, <&cru HCLK_SFC>;
83813e0ee34SPeter Geis		clock-names = "clk_sfc", "hclk_sfc";
83913e0ee34SPeter Geis		pinctrl-0 = <&fspi_pins>;
84013e0ee34SPeter Geis		pinctrl-names = "default";
84113e0ee34SPeter Geis		status = "disabled";
84213e0ee34SPeter Geis	};
84313e0ee34SPeter Geis
8444e50d217SPeter Geis	sdhci: mmc@fe310000 {
8454e50d217SPeter Geis		compatible = "rockchip,rk3568-dwcmshc";
8464e50d217SPeter Geis		reg = <0x0 0xfe310000 0x0 0x10000>;
8474e50d217SPeter Geis		interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
8484e50d217SPeter Geis		assigned-clocks = <&cru BCLK_EMMC>, <&cru TCLK_EMMC>;
8494e50d217SPeter Geis		assigned-clock-rates = <200000000>, <24000000>;
8504e50d217SPeter Geis		clocks = <&cru CCLK_EMMC>, <&cru HCLK_EMMC>,
8514e50d217SPeter Geis			 <&cru ACLK_EMMC>, <&cru BCLK_EMMC>,
8524e50d217SPeter Geis			 <&cru TCLK_EMMC>;
8534e50d217SPeter Geis		clock-names = "core", "bus", "axi", "block", "timer";
8544e50d217SPeter Geis		status = "disabled";
8554e50d217SPeter Geis	};
8564e50d217SPeter Geis
857a65e6523SPeter Geis	spdif: spdif@fe460000 {
858a65e6523SPeter Geis		compatible = "rockchip,rk3568-spdif";
859a65e6523SPeter Geis		reg = <0x0 0xfe460000 0x0 0x1000>;
860a65e6523SPeter Geis		interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
861a65e6523SPeter Geis		clock-names = "mclk", "hclk";
862a65e6523SPeter Geis		clocks = <&cru MCLK_SPDIF_8CH>, <&cru HCLK_SPDIF_8CH>;
863a65e6523SPeter Geis		dmas = <&dmac1 1>;
864a65e6523SPeter Geis		dma-names = "tx";
865a65e6523SPeter Geis		pinctrl-names = "default";
866a65e6523SPeter Geis		pinctrl-0 = <&spdifm0_tx>;
867a65e6523SPeter Geis		#sound-dai-cells = <0>;
868a65e6523SPeter Geis		status = "disabled";
869a65e6523SPeter Geis	};
870a65e6523SPeter Geis
871ef5c9135SNicolas Frattaroli	i2s1_8ch: i2s@fe410000 {
872ef5c9135SNicolas Frattaroli		compatible = "rockchip,rk3568-i2s-tdm";
873ef5c9135SNicolas Frattaroli		reg = <0x0 0xfe410000 0x0 0x1000>;
874ef5c9135SNicolas Frattaroli		interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
875ef5c9135SNicolas Frattaroli		assigned-clocks = <&cru CLK_I2S1_8CH_TX_SRC>, <&cru CLK_I2S1_8CH_RX_SRC>;
876ef5c9135SNicolas Frattaroli		assigned-clock-rates = <1188000000>, <1188000000>;
877ef5c9135SNicolas Frattaroli		clocks = <&cru MCLK_I2S1_8CH_TX>, <&cru MCLK_I2S1_8CH_RX>,
878ef5c9135SNicolas Frattaroli			 <&cru HCLK_I2S1_8CH>;
879ef5c9135SNicolas Frattaroli		clock-names = "mclk_tx", "mclk_rx", "hclk";
880ef5c9135SNicolas Frattaroli		dmas = <&dmac1 3>, <&dmac1 2>;
881ef5c9135SNicolas Frattaroli		dma-names = "rx", "tx";
882ef5c9135SNicolas Frattaroli		resets = <&cru SRST_M_I2S1_8CH_TX>, <&cru SRST_M_I2S1_8CH_RX>;
883ef5c9135SNicolas Frattaroli		reset-names = "tx-m", "rx-m";
884ef5c9135SNicolas Frattaroli		rockchip,grf = <&grf>;
885ef5c9135SNicolas Frattaroli		pinctrl-names = "default";
886ef5c9135SNicolas Frattaroli		pinctrl-0 = <&i2s1m0_sclktx &i2s1m0_sclkrx
887ef5c9135SNicolas Frattaroli			     &i2s1m0_lrcktx &i2s1m0_lrckrx
888ef5c9135SNicolas Frattaroli			     &i2s1m0_sdi0   &i2s1m0_sdi1
889ef5c9135SNicolas Frattaroli			     &i2s1m0_sdi2   &i2s1m0_sdi3
890ef5c9135SNicolas Frattaroli			     &i2s1m0_sdo0   &i2s1m0_sdo1
891ef5c9135SNicolas Frattaroli			     &i2s1m0_sdo2   &i2s1m0_sdo3>;
892ef5c9135SNicolas Frattaroli		#sound-dai-cells = <0>;
893ef5c9135SNicolas Frattaroli		status = "disabled";
894ef5c9135SNicolas Frattaroli	};
895ef5c9135SNicolas Frattaroli
896ad14de06SMichael Riesch	i2s3_2ch: i2s@fe430000 {
897ad14de06SMichael Riesch		compatible = "rockchip,rk3568-i2s-tdm";
898ad14de06SMichael Riesch		reg = <0x0 0xfe430000 0x0 0x1000>;
899ad14de06SMichael Riesch		interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
900ad14de06SMichael Riesch		clocks = <&cru MCLK_I2S3_2CH_TX>, <&cru MCLK_I2S3_2CH_RX>,
901ad14de06SMichael Riesch			 <&cru HCLK_I2S3_2CH>;
902ad14de06SMichael Riesch		clock-names = "mclk_tx", "mclk_rx", "hclk";
903ad14de06SMichael Riesch		dmas = <&dmac1 6>, <&dmac1 7>;
904ad14de06SMichael Riesch		dma-names = "tx", "rx";
905ad14de06SMichael Riesch		resets = <&cru SRST_M_I2S3_2CH_TX>, <&cru SRST_M_I2S3_2CH_RX>;
906ad14de06SMichael Riesch		reset-names = "tx-m", "rx-m";
907ad14de06SMichael Riesch		rockchip,grf = <&grf>;
908ad14de06SMichael Riesch		#sound-dai-cells = <0>;
909ad14de06SMichael Riesch		status = "disabled";
910ad14de06SMichael Riesch	};
911ad14de06SMichael Riesch
91279c5f0e5SSamuel Holland	pdm: pdm@fe440000 {
91379c5f0e5SSamuel Holland		compatible = "rockchip,rk3568-pdm";
91479c5f0e5SSamuel Holland		reg = <0x0 0xfe440000 0x0 0x1000>;
91579c5f0e5SSamuel Holland		interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
91679c5f0e5SSamuel Holland		clocks = <&cru MCLK_PDM>, <&cru HCLK_PDM>;
91779c5f0e5SSamuel Holland		clock-names = "pdm_clk", "pdm_hclk";
91879c5f0e5SSamuel Holland		dmas = <&dmac1 9>;
91979c5f0e5SSamuel Holland		dma-names = "rx";
92079c5f0e5SSamuel Holland		pinctrl-0 = <&pdmm0_clk
92179c5f0e5SSamuel Holland			     &pdmm0_clk1
92279c5f0e5SSamuel Holland			     &pdmm0_sdi0
92379c5f0e5SSamuel Holland			     &pdmm0_sdi1
92479c5f0e5SSamuel Holland			     &pdmm0_sdi2
92579c5f0e5SSamuel Holland			     &pdmm0_sdi3>;
92679c5f0e5SSamuel Holland		pinctrl-names = "default";
92779c5f0e5SSamuel Holland		resets = <&cru SRST_M_PDM>;
92879c5f0e5SSamuel Holland		reset-names = "pdm-m";
92979c5f0e5SSamuel Holland		#sound-dai-cells = <0>;
93079c5f0e5SSamuel Holland		status = "disabled";
93179c5f0e5SSamuel Holland	};
93279c5f0e5SSamuel Holland
9332ddd96aaSFrank Wunderlich	dmac0: dma-controller@fe530000 {
9344e50d217SPeter Geis		compatible = "arm,pl330", "arm,primecell";
9354e50d217SPeter Geis		reg = <0x0 0xfe530000 0x0 0x4000>;
9364e50d217SPeter Geis		interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>,
9374e50d217SPeter Geis			     <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
9384e50d217SPeter Geis		arm,pl330-periph-burst;
9394e50d217SPeter Geis		clocks = <&cru ACLK_BUS>;
9404e50d217SPeter Geis		clock-names = "apb_pclk";
9414e50d217SPeter Geis		#dma-cells = <1>;
9424e50d217SPeter Geis	};
9434e50d217SPeter Geis
9442ddd96aaSFrank Wunderlich	dmac1: dma-controller@fe550000 {
9454e50d217SPeter Geis		compatible = "arm,pl330", "arm,primecell";
9464e50d217SPeter Geis		reg = <0x0 0xfe550000 0x0 0x4000>;
9474e50d217SPeter Geis		interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
9484e50d217SPeter Geis			     <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
9494e50d217SPeter Geis		arm,pl330-periph-burst;
9504e50d217SPeter Geis		clocks = <&cru ACLK_BUS>;
9514e50d217SPeter Geis		clock-names = "apb_pclk";
9524e50d217SPeter Geis		#dma-cells = <1>;
9534e50d217SPeter Geis	};
9544e50d217SPeter Geis
9554e50d217SPeter Geis	i2c1: i2c@fe5a0000 {
9564e50d217SPeter Geis		compatible = "rockchip,rk3568-i2c", "rockchip,rk3399-i2c";
9574e50d217SPeter Geis		reg = <0x0 0xfe5a0000 0x0 0x1000>;
9584e50d217SPeter Geis		interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
9594e50d217SPeter Geis		clocks = <&cru CLK_I2C1>, <&cru PCLK_I2C1>;
9604e50d217SPeter Geis		clock-names = "i2c", "pclk";
9614e50d217SPeter Geis		pinctrl-0 = <&i2c1_xfer>;
9624e50d217SPeter Geis		pinctrl-names = "default";
9634e50d217SPeter Geis		#address-cells = <1>;
9644e50d217SPeter Geis		#size-cells = <0>;
9654e50d217SPeter Geis		status = "disabled";
9664e50d217SPeter Geis	};
9674e50d217SPeter Geis
9684e50d217SPeter Geis	i2c2: i2c@fe5b0000 {
9694e50d217SPeter Geis		compatible = "rockchip,rk3568-i2c", "rockchip,rk3399-i2c";
9704e50d217SPeter Geis		reg = <0x0 0xfe5b0000 0x0 0x1000>;
9714e50d217SPeter Geis		interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
9724e50d217SPeter Geis		clocks = <&cru CLK_I2C2>, <&cru PCLK_I2C2>;
9734e50d217SPeter Geis		clock-names = "i2c", "pclk";
9744e50d217SPeter Geis		pinctrl-0 = <&i2c2m0_xfer>;
9754e50d217SPeter Geis		pinctrl-names = "default";
9764e50d217SPeter Geis		#address-cells = <1>;
9774e50d217SPeter Geis		#size-cells = <0>;
9784e50d217SPeter Geis		status = "disabled";
9794e50d217SPeter Geis	};
9804e50d217SPeter Geis
9814e50d217SPeter Geis	i2c3: i2c@fe5c0000 {
9824e50d217SPeter Geis		compatible = "rockchip,rk3568-i2c", "rockchip,rk3399-i2c";
9834e50d217SPeter Geis		reg = <0x0 0xfe5c0000 0x0 0x1000>;
9844e50d217SPeter Geis		interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
9854e50d217SPeter Geis		clocks = <&cru CLK_I2C3>, <&cru PCLK_I2C3>;
9864e50d217SPeter Geis		clock-names = "i2c", "pclk";
9874e50d217SPeter Geis		pinctrl-0 = <&i2c3m0_xfer>;
9884e50d217SPeter Geis		pinctrl-names = "default";
9894e50d217SPeter Geis		#address-cells = <1>;
9904e50d217SPeter Geis		#size-cells = <0>;
9914e50d217SPeter Geis		status = "disabled";
9924e50d217SPeter Geis	};
9934e50d217SPeter Geis
9944e50d217SPeter Geis	i2c4: i2c@fe5d0000 {
9954e50d217SPeter Geis		compatible = "rockchip,rk3568-i2c", "rockchip,rk3399-i2c";
9964e50d217SPeter Geis		reg = <0x0 0xfe5d0000 0x0 0x1000>;
9974e50d217SPeter Geis		interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
9984e50d217SPeter Geis		clocks = <&cru CLK_I2C4>, <&cru PCLK_I2C4>;
9994e50d217SPeter Geis		clock-names = "i2c", "pclk";
10004e50d217SPeter Geis		pinctrl-0 = <&i2c4m0_xfer>;
10014e50d217SPeter Geis		pinctrl-names = "default";
10024e50d217SPeter Geis		#address-cells = <1>;
10034e50d217SPeter Geis		#size-cells = <0>;
10044e50d217SPeter Geis		status = "disabled";
10054e50d217SPeter Geis	};
10064e50d217SPeter Geis
10074e50d217SPeter Geis	i2c5: i2c@fe5e0000 {
10084e50d217SPeter Geis		compatible = "rockchip,rk3568-i2c", "rockchip,rk3399-i2c";
10094e50d217SPeter Geis		reg = <0x0 0xfe5e0000 0x0 0x1000>;
10104e50d217SPeter Geis		interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
10114e50d217SPeter Geis		clocks = <&cru CLK_I2C5>, <&cru PCLK_I2C5>;
10124e50d217SPeter Geis		clock-names = "i2c", "pclk";
10134e50d217SPeter Geis		pinctrl-0 = <&i2c5m0_xfer>;
10144e50d217SPeter Geis		pinctrl-names = "default";
10154e50d217SPeter Geis		#address-cells = <1>;
10164e50d217SPeter Geis		#size-cells = <0>;
10174e50d217SPeter Geis		status = "disabled";
10184e50d217SPeter Geis	};
10194e50d217SPeter Geis
10200edcfec3SLiang Chen	wdt: watchdog@fe600000 {
10210edcfec3SLiang Chen		compatible = "rockchip,rk3568-wdt", "snps,dw-wdt";
10220edcfec3SLiang Chen		reg = <0x0 0xfe600000 0x0 0x100>;
10230edcfec3SLiang Chen		interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>;
10240edcfec3SLiang Chen		clocks = <&cru TCLK_WDT_NS>, <&cru PCLK_WDT_NS>;
10250edcfec3SLiang Chen		clock-names = "tclk", "pclk";
10260edcfec3SLiang Chen	};
10270edcfec3SLiang Chen
1028aaa552d8SNicolas Frattaroli	spi0: spi@fe610000 {
1029aaa552d8SNicolas Frattaroli		compatible = "rockchip,rk3568-spi", "rockchip,rk3066-spi";
1030aaa552d8SNicolas Frattaroli		reg = <0x0 0xfe610000 0x0 0x1000>;
1031aaa552d8SNicolas Frattaroli		interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
1032aaa552d8SNicolas Frattaroli		clocks = <&cru CLK_SPI0>, <&cru PCLK_SPI0>;
1033aaa552d8SNicolas Frattaroli		clock-names = "spiclk", "apb_pclk";
1034aaa552d8SNicolas Frattaroli		dmas = <&dmac0 20>, <&dmac0 21>;
1035aaa552d8SNicolas Frattaroli		dma-names = "tx", "rx";
1036aaa552d8SNicolas Frattaroli		pinctrl-names = "default";
1037aaa552d8SNicolas Frattaroli		pinctrl-0 = <&spi0m0_cs0 &spi0m0_cs1 &spi0m0_pins>;
1038aaa552d8SNicolas Frattaroli		#address-cells = <1>;
1039aaa552d8SNicolas Frattaroli		#size-cells = <0>;
1040aaa552d8SNicolas Frattaroli		status = "disabled";
1041aaa552d8SNicolas Frattaroli	};
1042aaa552d8SNicolas Frattaroli
1043aaa552d8SNicolas Frattaroli	spi1: spi@fe620000 {
1044aaa552d8SNicolas Frattaroli		compatible = "rockchip,rk3568-spi", "rockchip,rk3066-spi";
1045aaa552d8SNicolas Frattaroli		reg = <0x0 0xfe620000 0x0 0x1000>;
1046aaa552d8SNicolas Frattaroli		interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
1047aaa552d8SNicolas Frattaroli		clocks = <&cru CLK_SPI1>, <&cru PCLK_SPI1>;
1048aaa552d8SNicolas Frattaroli		clock-names = "spiclk", "apb_pclk";
1049aaa552d8SNicolas Frattaroli		dmas = <&dmac0 22>, <&dmac0 23>;
1050aaa552d8SNicolas Frattaroli		dma-names = "tx", "rx";
1051aaa552d8SNicolas Frattaroli		pinctrl-names = "default";
1052aaa552d8SNicolas Frattaroli		pinctrl-0 = <&spi1m0_cs0 &spi1m0_cs1 &spi1m0_pins>;
1053aaa552d8SNicolas Frattaroli		#address-cells = <1>;
1054aaa552d8SNicolas Frattaroli		#size-cells = <0>;
1055aaa552d8SNicolas Frattaroli		status = "disabled";
1056aaa552d8SNicolas Frattaroli	};
1057aaa552d8SNicolas Frattaroli
1058aaa552d8SNicolas Frattaroli	spi2: spi@fe630000 {
1059aaa552d8SNicolas Frattaroli		compatible = "rockchip,rk3568-spi", "rockchip,rk3066-spi";
1060aaa552d8SNicolas Frattaroli		reg = <0x0 0xfe630000 0x0 0x1000>;
1061aaa552d8SNicolas Frattaroli		interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
1062aaa552d8SNicolas Frattaroli		clocks = <&cru CLK_SPI2>, <&cru PCLK_SPI2>;
1063aaa552d8SNicolas Frattaroli		clock-names = "spiclk", "apb_pclk";
1064aaa552d8SNicolas Frattaroli		dmas = <&dmac0 24>, <&dmac0 25>;
1065aaa552d8SNicolas Frattaroli		dma-names = "tx", "rx";
1066aaa552d8SNicolas Frattaroli		pinctrl-names = "default";
1067aaa552d8SNicolas Frattaroli		pinctrl-0 = <&spi2m0_cs0 &spi2m0_cs1 &spi2m0_pins>;
1068aaa552d8SNicolas Frattaroli		#address-cells = <1>;
1069aaa552d8SNicolas Frattaroli		#size-cells = <0>;
1070aaa552d8SNicolas Frattaroli		status = "disabled";
1071aaa552d8SNicolas Frattaroli	};
1072aaa552d8SNicolas Frattaroli
1073aaa552d8SNicolas Frattaroli	spi3: spi@fe640000 {
1074aaa552d8SNicolas Frattaroli		compatible = "rockchip,rk3568-spi", "rockchip,rk3066-spi";
1075aaa552d8SNicolas Frattaroli		reg = <0x0 0xfe640000 0x0 0x1000>;
1076aaa552d8SNicolas Frattaroli		interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
1077aaa552d8SNicolas Frattaroli		clocks = <&cru CLK_SPI3>, <&cru PCLK_SPI3>;
1078aaa552d8SNicolas Frattaroli		clock-names = "spiclk", "apb_pclk";
1079aaa552d8SNicolas Frattaroli		dmas = <&dmac0 26>, <&dmac0 27>;
1080aaa552d8SNicolas Frattaroli		dma-names = "tx", "rx";
1081aaa552d8SNicolas Frattaroli		pinctrl-names = "default";
1082aaa552d8SNicolas Frattaroli		pinctrl-0 = <&spi3m0_cs0 &spi3m0_cs1 &spi3m0_pins>;
1083aaa552d8SNicolas Frattaroli		#address-cells = <1>;
1084aaa552d8SNicolas Frattaroli		#size-cells = <0>;
1085aaa552d8SNicolas Frattaroli		status = "disabled";
1086aaa552d8SNicolas Frattaroli	};
1087aaa552d8SNicolas Frattaroli
10884e50d217SPeter Geis	uart1: serial@fe650000 {
10894e50d217SPeter Geis		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
10904e50d217SPeter Geis		reg = <0x0 0xfe650000 0x0 0x100>;
10914e50d217SPeter Geis		interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
10924e50d217SPeter Geis		clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>;
10934e50d217SPeter Geis		clock-names = "baudclk", "apb_pclk";
10944e50d217SPeter Geis		dmas = <&dmac0 2>, <&dmac0 3>;
10954e50d217SPeter Geis		pinctrl-0 = <&uart1m0_xfer>;
10964e50d217SPeter Geis		pinctrl-names = "default";
10974e50d217SPeter Geis		reg-io-width = <4>;
10984e50d217SPeter Geis		reg-shift = <2>;
10994e50d217SPeter Geis		status = "disabled";
11004e50d217SPeter Geis	};
11014e50d217SPeter Geis
11024e50d217SPeter Geis	uart2: serial@fe660000 {
11034e50d217SPeter Geis		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
11044e50d217SPeter Geis		reg = <0x0 0xfe660000 0x0 0x100>;
11054e50d217SPeter Geis		interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
11064e50d217SPeter Geis		clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>;
11074e50d217SPeter Geis		clock-names = "baudclk", "apb_pclk";
11084e50d217SPeter Geis		dmas = <&dmac0 4>, <&dmac0 5>;
11094e50d217SPeter Geis		pinctrl-0 = <&uart2m0_xfer>;
11104e50d217SPeter Geis		pinctrl-names = "default";
11114e50d217SPeter Geis		reg-io-width = <4>;
11124e50d217SPeter Geis		reg-shift = <2>;
11134e50d217SPeter Geis		status = "disabled";
11144e50d217SPeter Geis	};
11154e50d217SPeter Geis
11164e50d217SPeter Geis	uart3: serial@fe670000 {
11174e50d217SPeter Geis		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
11184e50d217SPeter Geis		reg = <0x0 0xfe670000 0x0 0x100>;
11194e50d217SPeter Geis		interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
11204e50d217SPeter Geis		clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>;
11214e50d217SPeter Geis		clock-names = "baudclk", "apb_pclk";
11224e50d217SPeter Geis		dmas = <&dmac0 6>, <&dmac0 7>;
11234e50d217SPeter Geis		pinctrl-0 = <&uart3m0_xfer>;
11244e50d217SPeter Geis		pinctrl-names = "default";
11254e50d217SPeter Geis		reg-io-width = <4>;
11264e50d217SPeter Geis		reg-shift = <2>;
11274e50d217SPeter Geis		status = "disabled";
11284e50d217SPeter Geis	};
11294e50d217SPeter Geis
11304e50d217SPeter Geis	uart4: serial@fe680000 {
11314e50d217SPeter Geis		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
11324e50d217SPeter Geis		reg = <0x0 0xfe680000 0x0 0x100>;
11334e50d217SPeter Geis		interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
11344e50d217SPeter Geis		clocks = <&cru SCLK_UART4>, <&cru PCLK_UART4>;
11354e50d217SPeter Geis		clock-names = "baudclk", "apb_pclk";
11364e50d217SPeter Geis		dmas = <&dmac0 8>, <&dmac0 9>;
11374e50d217SPeter Geis		pinctrl-0 = <&uart4m0_xfer>;
11384e50d217SPeter Geis		pinctrl-names = "default";
11394e50d217SPeter Geis		reg-io-width = <4>;
11404e50d217SPeter Geis		reg-shift = <2>;
11414e50d217SPeter Geis		status = "disabled";
11424e50d217SPeter Geis	};
11434e50d217SPeter Geis
11444e50d217SPeter Geis	uart5: serial@fe690000 {
11454e50d217SPeter Geis		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
11464e50d217SPeter Geis		reg = <0x0 0xfe690000 0x0 0x100>;
11474e50d217SPeter Geis		interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>;
11484e50d217SPeter Geis		clocks = <&cru SCLK_UART5>, <&cru PCLK_UART5>;
11494e50d217SPeter Geis		clock-names = "baudclk", "apb_pclk";
11504e50d217SPeter Geis		dmas = <&dmac0 10>, <&dmac0 11>;
11514e50d217SPeter Geis		pinctrl-0 = <&uart5m0_xfer>;
11524e50d217SPeter Geis		pinctrl-names = "default";
11534e50d217SPeter Geis		reg-io-width = <4>;
11544e50d217SPeter Geis		reg-shift = <2>;
11554e50d217SPeter Geis		status = "disabled";
11564e50d217SPeter Geis	};
11574e50d217SPeter Geis
11584e50d217SPeter Geis	uart6: serial@fe6a0000 {
11594e50d217SPeter Geis		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
11604e50d217SPeter Geis		reg = <0x0 0xfe6a0000 0x0 0x100>;
11614e50d217SPeter Geis		interrupts = <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
11624e50d217SPeter Geis		clocks = <&cru SCLK_UART6>, <&cru PCLK_UART6>;
11634e50d217SPeter Geis		clock-names = "baudclk", "apb_pclk";
11644e50d217SPeter Geis		dmas = <&dmac0 12>, <&dmac0 13>;
11654e50d217SPeter Geis		pinctrl-0 = <&uart6m0_xfer>;
11664e50d217SPeter Geis		pinctrl-names = "default";
11674e50d217SPeter Geis		reg-io-width = <4>;
11684e50d217SPeter Geis		reg-shift = <2>;
11694e50d217SPeter Geis		status = "disabled";
11704e50d217SPeter Geis	};
11714e50d217SPeter Geis
11724e50d217SPeter Geis	uart7: serial@fe6b0000 {
11734e50d217SPeter Geis		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
11744e50d217SPeter Geis		reg = <0x0 0xfe6b0000 0x0 0x100>;
11754e50d217SPeter Geis		interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>;
11764e50d217SPeter Geis		clocks = <&cru SCLK_UART7>, <&cru PCLK_UART7>;
11774e50d217SPeter Geis		clock-names = "baudclk", "apb_pclk";
11784e50d217SPeter Geis		dmas = <&dmac0 14>, <&dmac0 15>;
11794e50d217SPeter Geis		pinctrl-0 = <&uart7m0_xfer>;
11804e50d217SPeter Geis		pinctrl-names = "default";
11814e50d217SPeter Geis		reg-io-width = <4>;
11824e50d217SPeter Geis		reg-shift = <2>;
11834e50d217SPeter Geis		status = "disabled";
11844e50d217SPeter Geis	};
11854e50d217SPeter Geis
11864e50d217SPeter Geis	uart8: serial@fe6c0000 {
11874e50d217SPeter Geis		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
11884e50d217SPeter Geis		reg = <0x0 0xfe6c0000 0x0 0x100>;
11894e50d217SPeter Geis		interrupts = <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>;
11904e50d217SPeter Geis		clocks = <&cru SCLK_UART8>, <&cru PCLK_UART8>;
11914e50d217SPeter Geis		clock-names = "baudclk", "apb_pclk";
11924e50d217SPeter Geis		dmas = <&dmac0 16>, <&dmac0 17>;
11934e50d217SPeter Geis		pinctrl-0 = <&uart8m0_xfer>;
11944e50d217SPeter Geis		pinctrl-names = "default";
11954e50d217SPeter Geis		reg-io-width = <4>;
11964e50d217SPeter Geis		reg-shift = <2>;
11974e50d217SPeter Geis		status = "disabled";
11984e50d217SPeter Geis	};
11994e50d217SPeter Geis
12004e50d217SPeter Geis	uart9: serial@fe6d0000 {
12014e50d217SPeter Geis		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
12024e50d217SPeter Geis		reg = <0x0 0xfe6d0000 0x0 0x100>;
12034e50d217SPeter Geis		interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
12044e50d217SPeter Geis		clocks = <&cru SCLK_UART9>, <&cru PCLK_UART9>;
12054e50d217SPeter Geis		clock-names = "baudclk", "apb_pclk";
12064e50d217SPeter Geis		dmas = <&dmac0 18>, <&dmac0 19>;
12074e50d217SPeter Geis		pinctrl-0 = <&uart9m0_xfer>;
12084e50d217SPeter Geis		pinctrl-names = "default";
12094e50d217SPeter Geis		reg-io-width = <4>;
12104e50d217SPeter Geis		reg-shift = <2>;
12114e50d217SPeter Geis		status = "disabled";
12124e50d217SPeter Geis	};
12134e50d217SPeter Geis
12141330875dSPeter Geis	thermal_zones: thermal-zones {
12151330875dSPeter Geis		cpu_thermal: cpu-thermal {
12161330875dSPeter Geis			polling-delay-passive = <100>;
12171330875dSPeter Geis			polling-delay = <1000>;
12181330875dSPeter Geis
12191330875dSPeter Geis			thermal-sensors = <&tsadc 0>;
12201330875dSPeter Geis
12211330875dSPeter Geis			trips {
12221330875dSPeter Geis				cpu_alert0: cpu_alert0 {
12231330875dSPeter Geis					temperature = <70000>;
12241330875dSPeter Geis					hysteresis = <2000>;
12251330875dSPeter Geis					type = "passive";
12261330875dSPeter Geis				};
12271330875dSPeter Geis				cpu_alert1: cpu_alert1 {
12281330875dSPeter Geis					temperature = <75000>;
12291330875dSPeter Geis					hysteresis = <2000>;
12301330875dSPeter Geis					type = "passive";
12311330875dSPeter Geis				};
12321330875dSPeter Geis				cpu_crit: cpu_crit {
12331330875dSPeter Geis					temperature = <95000>;
12341330875dSPeter Geis					hysteresis = <2000>;
12351330875dSPeter Geis					type = "critical";
12361330875dSPeter Geis				};
12371330875dSPeter Geis			};
12381330875dSPeter Geis
12391330875dSPeter Geis			cooling-maps {
12401330875dSPeter Geis				map0 {
12411330875dSPeter Geis					trip = <&cpu_alert0>;
12421330875dSPeter Geis					cooling-device =
12431330875dSPeter Geis						<&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
12441330875dSPeter Geis						<&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
12451330875dSPeter Geis						<&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
12461330875dSPeter Geis						<&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
12471330875dSPeter Geis				};
12481330875dSPeter Geis			};
12491330875dSPeter Geis		};
12501330875dSPeter Geis
12511330875dSPeter Geis		gpu_thermal: gpu-thermal {
12521330875dSPeter Geis			polling-delay-passive = <20>; /* milliseconds */
12531330875dSPeter Geis			polling-delay = <1000>; /* milliseconds */
12541330875dSPeter Geis
12551330875dSPeter Geis			thermal-sensors = <&tsadc 1>;
1256c0a7259fSAlex Bee
1257c0a7259fSAlex Bee			trips {
1258c0a7259fSAlex Bee				gpu_threshold: gpu-threshold {
1259c0a7259fSAlex Bee					temperature = <70000>;
1260c0a7259fSAlex Bee					hysteresis = <2000>;
1261c0a7259fSAlex Bee					type = "passive";
1262c0a7259fSAlex Bee				};
1263c0a7259fSAlex Bee				gpu_target: gpu-target {
1264c0a7259fSAlex Bee					temperature = <75000>;
1265c0a7259fSAlex Bee					hysteresis = <2000>;
1266c0a7259fSAlex Bee					type = "passive";
1267c0a7259fSAlex Bee				};
1268c0a7259fSAlex Bee				gpu_crit: gpu-crit {
1269c0a7259fSAlex Bee					temperature = <95000>;
1270c0a7259fSAlex Bee					hysteresis = <2000>;
1271c0a7259fSAlex Bee					type = "critical";
1272c0a7259fSAlex Bee				};
1273c0a7259fSAlex Bee			};
1274c0a7259fSAlex Bee
1275c0a7259fSAlex Bee			cooling-maps {
1276c0a7259fSAlex Bee				map0 {
1277c0a7259fSAlex Bee					trip = <&gpu_target>;
1278c0a7259fSAlex Bee					cooling-device =
1279c0a7259fSAlex Bee						<&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
1280c0a7259fSAlex Bee				};
1281c0a7259fSAlex Bee			};
12821330875dSPeter Geis		};
12831330875dSPeter Geis	};
12841330875dSPeter Geis
12851330875dSPeter Geis	tsadc: tsadc@fe710000 {
12861330875dSPeter Geis		compatible = "rockchip,rk3568-tsadc";
12871330875dSPeter Geis		reg = <0x0 0xfe710000 0x0 0x100>;
12881330875dSPeter Geis		interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
12891330875dSPeter Geis		assigned-clocks = <&cru CLK_TSADC_TSEN>, <&cru CLK_TSADC>;
12901330875dSPeter Geis		assigned-clock-rates = <17000000>, <700000>;
12911330875dSPeter Geis		clocks = <&cru CLK_TSADC>, <&cru PCLK_TSADC>;
12921330875dSPeter Geis		clock-names = "tsadc", "apb_pclk";
12935c9e66c6SJohan Jonker		resets = <&cru SRST_P_TSADC>, <&cru SRST_TSADC>,
12941330875dSPeter Geis			 <&cru SRST_TSADCPHY>;
12951330875dSPeter Geis		rockchip,grf = <&grf>;
12961330875dSPeter Geis		rockchip,hw-tshut-temp = <95000>;
12971330875dSPeter Geis		pinctrl-names = "init", "default", "sleep";
12981330875dSPeter Geis		pinctrl-0 = <&tsadc_pin>;
12991330875dSPeter Geis		pinctrl-1 = <&tsadc_shutorg>;
13001330875dSPeter Geis		pinctrl-2 = <&tsadc_pin>;
13011330875dSPeter Geis		#thermal-sensor-cells = <1>;
13021330875dSPeter Geis		status = "disabled";
13031330875dSPeter Geis	};
13041330875dSPeter Geis
13054e50d217SPeter Geis	saradc: saradc@fe720000 {
13064e50d217SPeter Geis		compatible = "rockchip,rk3568-saradc", "rockchip,rk3399-saradc";
13074e50d217SPeter Geis		reg = <0x0 0xfe720000 0x0 0x100>;
13084e50d217SPeter Geis		interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
13094e50d217SPeter Geis		clocks = <&cru CLK_SARADC>, <&cru PCLK_SARADC>;
13104e50d217SPeter Geis		clock-names = "saradc", "apb_pclk";
13114e50d217SPeter Geis		resets = <&cru SRST_P_SARADC>;
13124e50d217SPeter Geis		reset-names = "saradc-apb";
13134e50d217SPeter Geis		#io-channel-cells = <1>;
13144e50d217SPeter Geis		status = "disabled";
13154e50d217SPeter Geis	};
13164e50d217SPeter Geis
131798419a39SLiang Chen	pwm4: pwm@fe6e0000 {
131898419a39SLiang Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
131998419a39SLiang Chen		reg = <0x0 0xfe6e0000 0x0 0x10>;
132098419a39SLiang Chen		clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
132198419a39SLiang Chen		clock-names = "pwm", "pclk";
132298419a39SLiang Chen		pinctrl-0 = <&pwm4_pins>;
13232e4dbcf7SSascha Hauer		pinctrl-names = "default";
132498419a39SLiang Chen		#pwm-cells = <3>;
132598419a39SLiang Chen		status = "disabled";
132698419a39SLiang Chen	};
132798419a39SLiang Chen
132898419a39SLiang Chen	pwm5: pwm@fe6e0010 {
132998419a39SLiang Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
133098419a39SLiang Chen		reg = <0x0 0xfe6e0010 0x0 0x10>;
133198419a39SLiang Chen		clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
133298419a39SLiang Chen		clock-names = "pwm", "pclk";
133398419a39SLiang Chen		pinctrl-0 = <&pwm5_pins>;
13342e4dbcf7SSascha Hauer		pinctrl-names = "default";
133598419a39SLiang Chen		#pwm-cells = <3>;
133698419a39SLiang Chen		status = "disabled";
133798419a39SLiang Chen	};
133898419a39SLiang Chen
133998419a39SLiang Chen	pwm6: pwm@fe6e0020 {
134098419a39SLiang Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
134198419a39SLiang Chen		reg = <0x0 0xfe6e0020 0x0 0x10>;
134298419a39SLiang Chen		clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
134398419a39SLiang Chen		clock-names = "pwm", "pclk";
134498419a39SLiang Chen		pinctrl-0 = <&pwm6_pins>;
13452e4dbcf7SSascha Hauer		pinctrl-names = "default";
134698419a39SLiang Chen		#pwm-cells = <3>;
134798419a39SLiang Chen		status = "disabled";
134898419a39SLiang Chen	};
134998419a39SLiang Chen
135098419a39SLiang Chen	pwm7: pwm@fe6e0030 {
135198419a39SLiang Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
135298419a39SLiang Chen		reg = <0x0 0xfe6e0030 0x0 0x10>;
135398419a39SLiang Chen		clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
135498419a39SLiang Chen		clock-names = "pwm", "pclk";
135598419a39SLiang Chen		pinctrl-0 = <&pwm7_pins>;
13562e4dbcf7SSascha Hauer		pinctrl-names = "default";
135798419a39SLiang Chen		#pwm-cells = <3>;
135898419a39SLiang Chen		status = "disabled";
135998419a39SLiang Chen	};
136098419a39SLiang Chen
136198419a39SLiang Chen	pwm8: pwm@fe6f0000 {
136298419a39SLiang Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
136398419a39SLiang Chen		reg = <0x0 0xfe6f0000 0x0 0x10>;
136498419a39SLiang Chen		clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>;
136598419a39SLiang Chen		clock-names = "pwm", "pclk";
136698419a39SLiang Chen		pinctrl-0 = <&pwm8m0_pins>;
13672e4dbcf7SSascha Hauer		pinctrl-names = "default";
136898419a39SLiang Chen		#pwm-cells = <3>;
136998419a39SLiang Chen		status = "disabled";
137098419a39SLiang Chen	};
137198419a39SLiang Chen
137298419a39SLiang Chen	pwm9: pwm@fe6f0010 {
137398419a39SLiang Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
137498419a39SLiang Chen		reg = <0x0 0xfe6f0010 0x0 0x10>;
137598419a39SLiang Chen		clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>;
137698419a39SLiang Chen		clock-names = "pwm", "pclk";
137798419a39SLiang Chen		pinctrl-0 = <&pwm9m0_pins>;
13782e4dbcf7SSascha Hauer		pinctrl-names = "default";
137998419a39SLiang Chen		#pwm-cells = <3>;
138098419a39SLiang Chen		status = "disabled";
138198419a39SLiang Chen	};
138298419a39SLiang Chen
138398419a39SLiang Chen	pwm10: pwm@fe6f0020 {
138498419a39SLiang Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
138598419a39SLiang Chen		reg = <0x0 0xfe6f0020 0x0 0x10>;
138698419a39SLiang Chen		clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>;
138798419a39SLiang Chen		clock-names = "pwm", "pclk";
138898419a39SLiang Chen		pinctrl-0 = <&pwm10m0_pins>;
13892e4dbcf7SSascha Hauer		pinctrl-names = "default";
139098419a39SLiang Chen		#pwm-cells = <3>;
139198419a39SLiang Chen		status = "disabled";
139298419a39SLiang Chen	};
139398419a39SLiang Chen
139498419a39SLiang Chen	pwm11: pwm@fe6f0030 {
139598419a39SLiang Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
139698419a39SLiang Chen		reg = <0x0 0xfe6f0030 0x0 0x10>;
139798419a39SLiang Chen		clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>;
139898419a39SLiang Chen		clock-names = "pwm", "pclk";
139998419a39SLiang Chen		pinctrl-0 = <&pwm11m0_pins>;
14002e4dbcf7SSascha Hauer		pinctrl-names = "default";
140198419a39SLiang Chen		#pwm-cells = <3>;
140298419a39SLiang Chen		status = "disabled";
140398419a39SLiang Chen	};
140498419a39SLiang Chen
140598419a39SLiang Chen	pwm12: pwm@fe700000 {
140698419a39SLiang Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
140798419a39SLiang Chen		reg = <0x0 0xfe700000 0x0 0x10>;
140898419a39SLiang Chen		clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>;
140998419a39SLiang Chen		clock-names = "pwm", "pclk";
141098419a39SLiang Chen		pinctrl-0 = <&pwm12m0_pins>;
14112e4dbcf7SSascha Hauer		pinctrl-names = "default";
141298419a39SLiang Chen		#pwm-cells = <3>;
141398419a39SLiang Chen		status = "disabled";
141498419a39SLiang Chen	};
141598419a39SLiang Chen
141698419a39SLiang Chen	pwm13: pwm@fe700010 {
141798419a39SLiang Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
141898419a39SLiang Chen		reg = <0x0 0xfe700010 0x0 0x10>;
141998419a39SLiang Chen		clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>;
142098419a39SLiang Chen		clock-names = "pwm", "pclk";
142198419a39SLiang Chen		pinctrl-0 = <&pwm13m0_pins>;
14222e4dbcf7SSascha Hauer		pinctrl-names = "default";
142398419a39SLiang Chen		#pwm-cells = <3>;
142498419a39SLiang Chen		status = "disabled";
142598419a39SLiang Chen	};
142698419a39SLiang Chen
142798419a39SLiang Chen	pwm14: pwm@fe700020 {
142898419a39SLiang Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
142998419a39SLiang Chen		reg = <0x0 0xfe700020 0x0 0x10>;
143098419a39SLiang Chen		clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>;
143198419a39SLiang Chen		clock-names = "pwm", "pclk";
143298419a39SLiang Chen		pinctrl-0 = <&pwm14m0_pins>;
14332e4dbcf7SSascha Hauer		pinctrl-names = "default";
143498419a39SLiang Chen		#pwm-cells = <3>;
143598419a39SLiang Chen		status = "disabled";
143698419a39SLiang Chen	};
143798419a39SLiang Chen
143898419a39SLiang Chen	pwm15: pwm@fe700030 {
143998419a39SLiang Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
144098419a39SLiang Chen		reg = <0x0 0xfe700030 0x0 0x10>;
144198419a39SLiang Chen		clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>;
144298419a39SLiang Chen		clock-names = "pwm", "pclk";
144398419a39SLiang Chen		pinctrl-0 = <&pwm15m0_pins>;
14442e4dbcf7SSascha Hauer		pinctrl-names = "default";
144598419a39SLiang Chen		#pwm-cells = <3>;
144698419a39SLiang Chen		status = "disabled";
144798419a39SLiang Chen	};
144898419a39SLiang Chen
14493cc8cd2dSYifeng Zhao	combphy1: phy@fe830000 {
14503cc8cd2dSYifeng Zhao		compatible = "rockchip,rk3568-naneng-combphy";
14513cc8cd2dSYifeng Zhao		reg = <0x0 0xfe830000 0x0 0x100>;
14523cc8cd2dSYifeng Zhao		clocks = <&pmucru CLK_PCIEPHY1_REF>,
14533cc8cd2dSYifeng Zhao			 <&cru PCLK_PIPEPHY1>,
14543cc8cd2dSYifeng Zhao			 <&cru PCLK_PIPE>;
14553cc8cd2dSYifeng Zhao		clock-names = "ref", "apb", "pipe";
14563cc8cd2dSYifeng Zhao		assigned-clocks = <&pmucru CLK_PCIEPHY1_REF>;
14573cc8cd2dSYifeng Zhao		assigned-clock-rates = <100000000>;
14583cc8cd2dSYifeng Zhao		resets = <&cru SRST_PIPEPHY1>;
14593cc8cd2dSYifeng Zhao		rockchip,pipe-grf = <&pipegrf>;
14603cc8cd2dSYifeng Zhao		rockchip,pipe-phy-grf = <&pipe_phy_grf1>;
14613cc8cd2dSYifeng Zhao		#phy-cells = <1>;
14623cc8cd2dSYifeng Zhao		status = "disabled";
14633cc8cd2dSYifeng Zhao	};
14643cc8cd2dSYifeng Zhao
14653cc8cd2dSYifeng Zhao	combphy2: phy@fe840000 {
14663cc8cd2dSYifeng Zhao		compatible = "rockchip,rk3568-naneng-combphy";
14673cc8cd2dSYifeng Zhao		reg = <0x0 0xfe840000 0x0 0x100>;
14683cc8cd2dSYifeng Zhao		clocks = <&pmucru CLK_PCIEPHY2_REF>,
14693cc8cd2dSYifeng Zhao			 <&cru PCLK_PIPEPHY2>,
14703cc8cd2dSYifeng Zhao			 <&cru PCLK_PIPE>;
14713cc8cd2dSYifeng Zhao		clock-names = "ref", "apb", "pipe";
14723cc8cd2dSYifeng Zhao		assigned-clocks = <&pmucru CLK_PCIEPHY2_REF>;
14733cc8cd2dSYifeng Zhao		assigned-clock-rates = <100000000>;
14743cc8cd2dSYifeng Zhao		resets = <&cru SRST_PIPEPHY2>;
14753cc8cd2dSYifeng Zhao		rockchip,pipe-grf = <&pipegrf>;
14763cc8cd2dSYifeng Zhao		rockchip,pipe-phy-grf = <&pipe_phy_grf2>;
14773cc8cd2dSYifeng Zhao		#phy-cells = <1>;
14783cc8cd2dSYifeng Zhao		status = "disabled";
14793cc8cd2dSYifeng Zhao	};
14803cc8cd2dSYifeng Zhao
148178f71860SMichael Riesch	usb2phy0: usb2phy@fe8a0000 {
148291c4c3e0SPeter Geis		compatible = "rockchip,rk3568-usb2phy";
148391c4c3e0SPeter Geis		reg = <0x0 0xfe8a0000 0x0 0x10000>;
148491c4c3e0SPeter Geis		clocks = <&pmucru CLK_USBPHY0_REF>;
148591c4c3e0SPeter Geis		clock-names = "phyclk";
148691c4c3e0SPeter Geis		clock-output-names = "clk_usbphy0_480m";
148791c4c3e0SPeter Geis		interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>;
148891c4c3e0SPeter Geis		rockchip,usbgrf = <&usb2phy0_grf>;
148991c4c3e0SPeter Geis		#clock-cells = <0>;
149091c4c3e0SPeter Geis		status = "disabled";
149191c4c3e0SPeter Geis
149278f71860SMichael Riesch		usb2phy0_host: host-port {
149391c4c3e0SPeter Geis			#phy-cells = <0>;
149491c4c3e0SPeter Geis			status = "disabled";
149591c4c3e0SPeter Geis		};
149691c4c3e0SPeter Geis
149778f71860SMichael Riesch		usb2phy0_otg: otg-port {
149891c4c3e0SPeter Geis			#phy-cells = <0>;
149991c4c3e0SPeter Geis			status = "disabled";
150091c4c3e0SPeter Geis		};
150191c4c3e0SPeter Geis	};
150291c4c3e0SPeter Geis
150378f71860SMichael Riesch	usb2phy1: usb2phy@fe8b0000 {
150491c4c3e0SPeter Geis		compatible = "rockchip,rk3568-usb2phy";
150591c4c3e0SPeter Geis		reg = <0x0 0xfe8b0000 0x0 0x10000>;
150691c4c3e0SPeter Geis		clocks = <&pmucru CLK_USBPHY1_REF>;
150791c4c3e0SPeter Geis		clock-names = "phyclk";
150891c4c3e0SPeter Geis		clock-output-names = "clk_usbphy1_480m";
150991c4c3e0SPeter Geis		interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
151091c4c3e0SPeter Geis		rockchip,usbgrf = <&usb2phy1_grf>;
151191c4c3e0SPeter Geis		#clock-cells = <0>;
151291c4c3e0SPeter Geis		status = "disabled";
151391c4c3e0SPeter Geis
151478f71860SMichael Riesch		usb2phy1_host: host-port {
151591c4c3e0SPeter Geis			#phy-cells = <0>;
151691c4c3e0SPeter Geis			status = "disabled";
151791c4c3e0SPeter Geis		};
151891c4c3e0SPeter Geis
151978f71860SMichael Riesch		usb2phy1_otg: otg-port {
152091c4c3e0SPeter Geis			#phy-cells = <0>;
152191c4c3e0SPeter Geis			status = "disabled";
152291c4c3e0SPeter Geis		};
152391c4c3e0SPeter Geis	};
152491c4c3e0SPeter Geis
15254e50d217SPeter Geis	pinctrl: pinctrl {
15264e50d217SPeter Geis		compatible = "rockchip,rk3568-pinctrl";
15274e50d217SPeter Geis		rockchip,grf = <&grf>;
15284e50d217SPeter Geis		rockchip,pmu = <&pmugrf>;
15294e50d217SPeter Geis		#address-cells = <2>;
15304e50d217SPeter Geis		#size-cells = <2>;
15314e50d217SPeter Geis		ranges;
15324e50d217SPeter Geis
15334e50d217SPeter Geis		gpio0: gpio@fdd60000 {
15344e50d217SPeter Geis			compatible = "rockchip,gpio-bank";
15354e50d217SPeter Geis			reg = <0x0 0xfdd60000 0x0 0x100>;
15364e50d217SPeter Geis			interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
15373d9170c3SPeter Geis			clocks = <&pmucru PCLK_GPIO0>, <&pmucru DBCLK_GPIO0>;
15384e50d217SPeter Geis			gpio-controller;
15394e50d217SPeter Geis			#gpio-cells = <2>;
15404e50d217SPeter Geis			interrupt-controller;
15414e50d217SPeter Geis			#interrupt-cells = <2>;
15424e50d217SPeter Geis		};
15434e50d217SPeter Geis
15444e50d217SPeter Geis		gpio1: gpio@fe740000 {
15454e50d217SPeter Geis			compatible = "rockchip,gpio-bank";
15464e50d217SPeter Geis			reg = <0x0 0xfe740000 0x0 0x100>;
15474e50d217SPeter Geis			interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
15483d9170c3SPeter Geis			clocks = <&cru PCLK_GPIO1>, <&cru DBCLK_GPIO1>;
15494e50d217SPeter Geis			gpio-controller;
15504e50d217SPeter Geis			#gpio-cells = <2>;
15514e50d217SPeter Geis			interrupt-controller;
15524e50d217SPeter Geis			#interrupt-cells = <2>;
15534e50d217SPeter Geis		};
15544e50d217SPeter Geis
15554e50d217SPeter Geis		gpio2: gpio@fe750000 {
15564e50d217SPeter Geis			compatible = "rockchip,gpio-bank";
15574e50d217SPeter Geis			reg = <0x0 0xfe750000 0x0 0x100>;
15584e50d217SPeter Geis			interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
15593d9170c3SPeter Geis			clocks = <&cru PCLK_GPIO2>, <&cru DBCLK_GPIO2>;
15604e50d217SPeter Geis			gpio-controller;
15614e50d217SPeter Geis			#gpio-cells = <2>;
15624e50d217SPeter Geis			interrupt-controller;
15634e50d217SPeter Geis			#interrupt-cells = <2>;
15644e50d217SPeter Geis		};
15654e50d217SPeter Geis
15664e50d217SPeter Geis		gpio3: gpio@fe760000 {
15674e50d217SPeter Geis			compatible = "rockchip,gpio-bank";
15684e50d217SPeter Geis			reg = <0x0 0xfe760000 0x0 0x100>;
15694e50d217SPeter Geis			interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
15703d9170c3SPeter Geis			clocks = <&cru PCLK_GPIO3>, <&cru DBCLK_GPIO3>;
15714e50d217SPeter Geis			gpio-controller;
15724e50d217SPeter Geis			#gpio-cells = <2>;
15734e50d217SPeter Geis			interrupt-controller;
15744e50d217SPeter Geis			#interrupt-cells = <2>;
15754e50d217SPeter Geis		};
15764e50d217SPeter Geis
15774e50d217SPeter Geis		gpio4: gpio@fe770000 {
15784e50d217SPeter Geis			compatible = "rockchip,gpio-bank";
15794e50d217SPeter Geis			reg = <0x0 0xfe770000 0x0 0x100>;
15804e50d217SPeter Geis			interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
15813d9170c3SPeter Geis			clocks = <&cru PCLK_GPIO4>, <&cru DBCLK_GPIO4>;
15824e50d217SPeter Geis			gpio-controller;
15834e50d217SPeter Geis			#gpio-cells = <2>;
15844e50d217SPeter Geis			interrupt-controller;
15854e50d217SPeter Geis			#interrupt-cells = <2>;
15864e50d217SPeter Geis		};
15874e50d217SPeter Geis	};
15884e50d217SPeter Geis};
15894e50d217SPeter Geis
15904e50d217SPeter Geis#include "rk3568-pinctrl.dtsi"
1591