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
1329d6c6d97SSascha Hauer	display_subsystem: display-subsystem {
1339d6c6d97SSascha Hauer		compatible = "rockchip,display-subsystem";
1349d6c6d97SSascha Hauer		ports = <&vop_out>;
1359d6c6d97SSascha Hauer	};
1369d6c6d97SSascha Hauer
1374e50d217SPeter Geis	firmware {
1384e50d217SPeter Geis		scmi: scmi {
1394e50d217SPeter Geis			compatible = "arm,scmi-smc";
1404e50d217SPeter Geis			arm,smc-id = <0x82000010>;
1414e50d217SPeter Geis			shmem = <&scmi_shmem>;
1424e50d217SPeter Geis			#address-cells = <1>;
1434e50d217SPeter Geis			#size-cells = <0>;
1444e50d217SPeter Geis
1454e50d217SPeter Geis			scmi_clk: protocol@14 {
1464e50d217SPeter Geis				reg = <0x14>;
1474e50d217SPeter Geis				#clock-cells = <1>;
1484e50d217SPeter Geis			};
1494e50d217SPeter Geis		};
1504e50d217SPeter Geis	};
1514e50d217SPeter Geis
15281002866SEzequiel Garcia	gpu_opp_table: opp-table-1 {
15381002866SEzequiel Garcia		compatible = "operating-points-v2";
15481002866SEzequiel Garcia
15581002866SEzequiel Garcia		opp-200000000 {
15681002866SEzequiel Garcia			opp-hz = /bits/ 64 <200000000>;
15781002866SEzequiel Garcia			opp-microvolt = <825000>;
15881002866SEzequiel Garcia		};
15981002866SEzequiel Garcia
16081002866SEzequiel Garcia		opp-300000000 {
16181002866SEzequiel Garcia			opp-hz = /bits/ 64 <300000000>;
16281002866SEzequiel Garcia			opp-microvolt = <825000>;
16381002866SEzequiel Garcia		};
16481002866SEzequiel Garcia
16581002866SEzequiel Garcia		opp-400000000 {
16681002866SEzequiel Garcia			opp-hz = /bits/ 64 <400000000>;
16781002866SEzequiel Garcia			opp-microvolt = <825000>;
16881002866SEzequiel Garcia		};
16981002866SEzequiel Garcia
17081002866SEzequiel Garcia		opp-600000000 {
17181002866SEzequiel Garcia			opp-hz = /bits/ 64 <600000000>;
17281002866SEzequiel Garcia			opp-microvolt = <825000>;
17381002866SEzequiel Garcia		};
17481002866SEzequiel Garcia
17581002866SEzequiel Garcia		opp-700000000 {
17681002866SEzequiel Garcia			opp-hz = /bits/ 64 <700000000>;
17781002866SEzequiel Garcia			opp-microvolt = <900000>;
17881002866SEzequiel Garcia		};
17981002866SEzequiel Garcia
18081002866SEzequiel Garcia		opp-800000000 {
18181002866SEzequiel Garcia			opp-hz = /bits/ 64 <800000000>;
18281002866SEzequiel Garcia			opp-microvolt = <1000000>;
18381002866SEzequiel Garcia		};
18481002866SEzequiel Garcia	};
18581002866SEzequiel Garcia
186697ee854SNicolas Frattaroli	hdmi_sound: hdmi-sound {
187697ee854SNicolas Frattaroli		compatible = "simple-audio-card";
188697ee854SNicolas Frattaroli		simple-audio-card,name = "HDMI";
189697ee854SNicolas Frattaroli		simple-audio-card,format = "i2s";
190697ee854SNicolas Frattaroli		simple-audio-card,mclk-fs = <256>;
191697ee854SNicolas Frattaroli		status = "disabled";
192697ee854SNicolas Frattaroli
193697ee854SNicolas Frattaroli		simple-audio-card,codec {
194697ee854SNicolas Frattaroli			sound-dai = <&hdmi>;
195697ee854SNicolas Frattaroli		};
196697ee854SNicolas Frattaroli
197697ee854SNicolas Frattaroli		simple-audio-card,cpu {
198697ee854SNicolas Frattaroli			sound-dai = <&i2s0_8ch>;
199697ee854SNicolas Frattaroli		};
200697ee854SNicolas Frattaroli	};
201697ee854SNicolas Frattaroli
2024e50d217SPeter Geis	pmu {
2034e50d217SPeter Geis		compatible = "arm,cortex-a55-pmu";
2044e50d217SPeter Geis		interrupts = <GIC_SPI 228 IRQ_TYPE_LEVEL_HIGH>,
2054e50d217SPeter Geis			     <GIC_SPI 229 IRQ_TYPE_LEVEL_HIGH>,
2064e50d217SPeter Geis			     <GIC_SPI 230 IRQ_TYPE_LEVEL_HIGH>,
2074e50d217SPeter Geis			     <GIC_SPI 231 IRQ_TYPE_LEVEL_HIGH>;
2084e50d217SPeter Geis		interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
2094e50d217SPeter Geis	};
2104e50d217SPeter Geis
2114e50d217SPeter Geis	psci {
2124e50d217SPeter Geis		compatible = "arm,psci-1.0";
2134e50d217SPeter Geis		method = "smc";
2144e50d217SPeter Geis	};
2154e50d217SPeter Geis
2164e50d217SPeter Geis	timer {
2174e50d217SPeter Geis		compatible = "arm,armv8-timer";
2184e50d217SPeter Geis		interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_HIGH>,
2194e50d217SPeter Geis			     <GIC_PPI 14 IRQ_TYPE_LEVEL_HIGH>,
2204e50d217SPeter Geis			     <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH>,
2214e50d217SPeter Geis			     <GIC_PPI 10 IRQ_TYPE_LEVEL_HIGH>;
2224e50d217SPeter Geis		arm,no-tick-in-suspend;
2234e50d217SPeter Geis	};
2244e50d217SPeter Geis
2254e50d217SPeter Geis	xin24m: xin24m {
2264e50d217SPeter Geis		compatible = "fixed-clock";
2274e50d217SPeter Geis		clock-frequency = <24000000>;
2284e50d217SPeter Geis		clock-output-names = "xin24m";
2294e50d217SPeter Geis		#clock-cells = <0>;
2304e50d217SPeter Geis	};
2314e50d217SPeter Geis
2324e50d217SPeter Geis	xin32k: xin32k {
2334e50d217SPeter Geis		compatible = "fixed-clock";
2344e50d217SPeter Geis		clock-frequency = <32768>;
2354e50d217SPeter Geis		clock-output-names = "xin32k";
2364e50d217SPeter Geis		pinctrl-0 = <&clk32k_out0>;
2374e50d217SPeter Geis		pinctrl-names = "default";
2384e50d217SPeter Geis		#clock-cells = <0>;
2394e50d217SPeter Geis	};
2404e50d217SPeter Geis
2414e50d217SPeter Geis	sram@10f000 {
2424e50d217SPeter Geis		compatible = "mmio-sram";
2434e50d217SPeter Geis		reg = <0x0 0x0010f000 0x0 0x100>;
2444e50d217SPeter Geis		#address-cells = <1>;
2454e50d217SPeter Geis		#size-cells = <1>;
2464e50d217SPeter Geis		ranges = <0 0x0 0x0010f000 0x100>;
2474e50d217SPeter Geis
2484e50d217SPeter Geis		scmi_shmem: sram@0 {
2494e50d217SPeter Geis			compatible = "arm,scmi-shmem";
2504e50d217SPeter Geis			reg = <0x0 0x100>;
2514e50d217SPeter Geis		};
2524e50d217SPeter Geis	};
2534e50d217SPeter Geis
25416c0f95dSFrank Wunderlich	sata1: sata@fc400000 {
25516c0f95dSFrank Wunderlich		compatible = "rockchip,rk3568-dwc-ahci", "snps,dwc-ahci";
25616c0f95dSFrank Wunderlich		reg = <0 0xfc400000 0 0x1000>;
25716c0f95dSFrank Wunderlich		clocks = <&cru ACLK_SATA1>, <&cru CLK_SATA1_PMALIVE>,
25816c0f95dSFrank Wunderlich			 <&cru CLK_SATA1_RXOOB>;
25916c0f95dSFrank Wunderlich		clock-names = "sata", "pmalive", "rxoob";
26016c0f95dSFrank Wunderlich		interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
26116c0f95dSFrank Wunderlich		phys = <&combphy1 PHY_TYPE_SATA>;
26216c0f95dSFrank Wunderlich		phy-names = "sata-phy";
26316c0f95dSFrank Wunderlich		ports-implemented = <0x1>;
26416c0f95dSFrank Wunderlich		power-domains = <&power RK3568_PD_PIPE>;
26516c0f95dSFrank Wunderlich		status = "disabled";
26616c0f95dSFrank Wunderlich	};
26716c0f95dSFrank Wunderlich
26816c0f95dSFrank Wunderlich	sata2: sata@fc800000 {
26916c0f95dSFrank Wunderlich		compatible = "rockchip,rk3568-dwc-ahci", "snps,dwc-ahci";
27016c0f95dSFrank Wunderlich		reg = <0 0xfc800000 0 0x1000>;
27116c0f95dSFrank Wunderlich		clocks = <&cru ACLK_SATA2>, <&cru CLK_SATA2_PMALIVE>,
27216c0f95dSFrank Wunderlich			 <&cru CLK_SATA2_RXOOB>;
27316c0f95dSFrank Wunderlich		clock-names = "sata", "pmalive", "rxoob";
27416c0f95dSFrank Wunderlich		interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
27516c0f95dSFrank Wunderlich		phys = <&combphy2 PHY_TYPE_SATA>;
27616c0f95dSFrank Wunderlich		phy-names = "sata-phy";
27716c0f95dSFrank Wunderlich		ports-implemented = <0x1>;
27816c0f95dSFrank Wunderlich		power-domains = <&power RK3568_PD_PIPE>;
27916c0f95dSFrank Wunderlich		status = "disabled";
28016c0f95dSFrank Wunderlich	};
28116c0f95dSFrank Wunderlich
2829f4c480fSPeter Geis	usb_host0_xhci: usb@fcc00000 {
2839f4c480fSPeter Geis		compatible = "rockchip,rk3568-dwc3", "snps,dwc3";
2849f4c480fSPeter Geis		reg = <0x0 0xfcc00000 0x0 0x400000>;
2859f4c480fSPeter Geis		interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>;
2869f4c480fSPeter Geis		clocks = <&cru CLK_USB3OTG0_REF>, <&cru CLK_USB3OTG0_SUSPEND>,
2879f4c480fSPeter Geis			 <&cru ACLK_USB3OTG0>;
2889f4c480fSPeter Geis		clock-names = "ref_clk", "suspend_clk",
2899f4c480fSPeter Geis			      "bus_clk";
290bc405bb3SMichael Riesch		dr_mode = "otg";
2919f4c480fSPeter Geis		phy_type = "utmi_wide";
2929f4c480fSPeter Geis		power-domains = <&power RK3568_PD_PIPE>;
2939f4c480fSPeter Geis		resets = <&cru SRST_USB3OTG0>;
2949f4c480fSPeter Geis		snps,dis_u2_susphy_quirk;
2959f4c480fSPeter Geis		status = "disabled";
2969f4c480fSPeter Geis	};
2979f4c480fSPeter Geis
2989f4c480fSPeter Geis	usb_host1_xhci: usb@fd000000 {
2999f4c480fSPeter Geis		compatible = "rockchip,rk3568-dwc3", "snps,dwc3";
3009f4c480fSPeter Geis		reg = <0x0 0xfd000000 0x0 0x400000>;
3019f4c480fSPeter Geis		interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>;
3029f4c480fSPeter Geis		clocks = <&cru CLK_USB3OTG1_REF>, <&cru CLK_USB3OTG1_SUSPEND>,
3039f4c480fSPeter Geis			 <&cru ACLK_USB3OTG1>;
3049f4c480fSPeter Geis		clock-names = "ref_clk", "suspend_clk",
3059f4c480fSPeter Geis			      "bus_clk";
3069f4c480fSPeter Geis		dr_mode = "host";
3079f4c480fSPeter Geis		phys = <&usb2phy0_host>, <&combphy1 PHY_TYPE_USB3>;
3089f4c480fSPeter Geis		phy-names = "usb2-phy", "usb3-phy";
3099f4c480fSPeter Geis		phy_type = "utmi_wide";
3109f4c480fSPeter Geis		power-domains = <&power RK3568_PD_PIPE>;
3119f4c480fSPeter Geis		resets = <&cru SRST_USB3OTG1>;
3129f4c480fSPeter Geis		snps,dis_u2_susphy_quirk;
3139f4c480fSPeter Geis		status = "disabled";
3149f4c480fSPeter Geis	};
3159f4c480fSPeter Geis
3164e50d217SPeter Geis	gic: interrupt-controller@fd400000 {
3174e50d217SPeter Geis		compatible = "arm,gic-v3";
3184e50d217SPeter Geis		reg = <0x0 0xfd400000 0 0x10000>, /* GICD */
3194e50d217SPeter Geis		      <0x0 0xfd460000 0 0x80000>; /* GICR */
3204e50d217SPeter Geis		interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
3214e50d217SPeter Geis		interrupt-controller;
3224e50d217SPeter Geis		#interrupt-cells = <3>;
323b6c1a590SPeter Geis		mbi-alias = <0x0 0xfd410000>;
3244e50d217SPeter Geis		mbi-ranges = <296 24>;
3254e50d217SPeter Geis		msi-controller;
3264e50d217SPeter Geis	};
3274e50d217SPeter Geis
32891c4c3e0SPeter Geis	usb_host0_ehci: usb@fd800000 {
32991c4c3e0SPeter Geis		compatible = "generic-ehci";
33091c4c3e0SPeter Geis		reg = <0x0 0xfd800000 0x0 0x40000>;
33191c4c3e0SPeter Geis		interrupts = <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>;
33291c4c3e0SPeter Geis		clocks = <&cru HCLK_USB2HOST0>, <&cru HCLK_USB2HOST0_ARB>,
33391c4c3e0SPeter Geis			 <&cru PCLK_USB>;
33478f71860SMichael Riesch		phys = <&usb2phy1_otg>;
33591c4c3e0SPeter Geis		phy-names = "usb";
33691c4c3e0SPeter Geis		status = "disabled";
33791c4c3e0SPeter Geis	};
33891c4c3e0SPeter Geis
33991c4c3e0SPeter Geis	usb_host0_ohci: usb@fd840000 {
34091c4c3e0SPeter Geis		compatible = "generic-ohci";
34191c4c3e0SPeter Geis		reg = <0x0 0xfd840000 0x0 0x40000>;
34291c4c3e0SPeter Geis		interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>;
34391c4c3e0SPeter Geis		clocks = <&cru HCLK_USB2HOST0>, <&cru HCLK_USB2HOST0_ARB>,
34491c4c3e0SPeter Geis			 <&cru PCLK_USB>;
34578f71860SMichael Riesch		phys = <&usb2phy1_otg>;
34691c4c3e0SPeter Geis		phy-names = "usb";
34791c4c3e0SPeter Geis		status = "disabled";
34891c4c3e0SPeter Geis	};
34991c4c3e0SPeter Geis
35091c4c3e0SPeter Geis	usb_host1_ehci: usb@fd880000 {
35191c4c3e0SPeter Geis		compatible = "generic-ehci";
35291c4c3e0SPeter Geis		reg = <0x0 0xfd880000 0x0 0x40000>;
35391c4c3e0SPeter Geis		interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
35491c4c3e0SPeter Geis		clocks = <&cru HCLK_USB2HOST1>, <&cru HCLK_USB2HOST1_ARB>,
35591c4c3e0SPeter Geis			 <&cru PCLK_USB>;
35678f71860SMichael Riesch		phys = <&usb2phy1_host>;
35791c4c3e0SPeter Geis		phy-names = "usb";
35891c4c3e0SPeter Geis		status = "disabled";
35991c4c3e0SPeter Geis	};
36091c4c3e0SPeter Geis
36191c4c3e0SPeter Geis	usb_host1_ohci: usb@fd8c0000 {
36291c4c3e0SPeter Geis		compatible = "generic-ohci";
36391c4c3e0SPeter Geis		reg = <0x0 0xfd8c0000 0x0 0x40000>;
36491c4c3e0SPeter Geis		interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>;
36591c4c3e0SPeter Geis		clocks = <&cru HCLK_USB2HOST1>, <&cru HCLK_USB2HOST1_ARB>,
36691c4c3e0SPeter Geis			 <&cru PCLK_USB>;
36778f71860SMichael Riesch		phys = <&usb2phy1_host>;
36891c4c3e0SPeter Geis		phy-names = "usb";
36991c4c3e0SPeter Geis		status = "disabled";
37091c4c3e0SPeter Geis	};
37191c4c3e0SPeter Geis
3724e50d217SPeter Geis	pmugrf: syscon@fdc20000 {
3734e50d217SPeter Geis		compatible = "rockchip,rk3568-pmugrf", "syscon", "simple-mfd";
3744e50d217SPeter Geis		reg = <0x0 0xfdc20000 0x0 0x10000>;
3752dbcb251SMichael Riesch
3762dbcb251SMichael Riesch		pmu_io_domains: io-domains {
3772dbcb251SMichael Riesch			compatible = "rockchip,rk3568-pmu-io-voltage-domain";
3782dbcb251SMichael Riesch			status = "disabled";
3792dbcb251SMichael Riesch		};
3804e50d217SPeter Geis	};
3814e50d217SPeter Geis
3823cc8cd2dSYifeng Zhao	pipegrf: syscon@fdc50000 {
3833cc8cd2dSYifeng Zhao		reg = <0x0 0xfdc50000 0x0 0x1000>;
3843cc8cd2dSYifeng Zhao	};
3853cc8cd2dSYifeng Zhao
3864e50d217SPeter Geis	grf: syscon@fdc60000 {
3874e50d217SPeter Geis		compatible = "rockchip,rk3568-grf", "syscon", "simple-mfd";
3884e50d217SPeter Geis		reg = <0x0 0xfdc60000 0x0 0x10000>;
3894e50d217SPeter Geis	};
3904e50d217SPeter Geis
3913cc8cd2dSYifeng Zhao	pipe_phy_grf1: syscon@fdc80000 {
3923cc8cd2dSYifeng Zhao		compatible = "rockchip,rk3568-pipe-phy-grf", "syscon";
3933cc8cd2dSYifeng Zhao		reg = <0x0 0xfdc80000 0x0 0x1000>;
3943cc8cd2dSYifeng Zhao	};
3953cc8cd2dSYifeng Zhao
3963cc8cd2dSYifeng Zhao	pipe_phy_grf2: syscon@fdc90000 {
3973cc8cd2dSYifeng Zhao		compatible = "rockchip,rk3568-pipe-phy-grf", "syscon";
3983cc8cd2dSYifeng Zhao		reg = <0x0 0xfdc90000 0x0 0x1000>;
3993cc8cd2dSYifeng Zhao	};
4003cc8cd2dSYifeng Zhao
40191c4c3e0SPeter Geis	usb2phy0_grf: syscon@fdca0000 {
40291c4c3e0SPeter Geis		compatible = "rockchip,rk3568-usb2phy-grf", "syscon";
40391c4c3e0SPeter Geis		reg = <0x0 0xfdca0000 0x0 0x8000>;
40491c4c3e0SPeter Geis	};
40591c4c3e0SPeter Geis
40691c4c3e0SPeter Geis	usb2phy1_grf: syscon@fdca8000 {
40791c4c3e0SPeter Geis		compatible = "rockchip,rk3568-usb2phy-grf", "syscon";
40891c4c3e0SPeter Geis		reg = <0x0 0xfdca8000 0x0 0x8000>;
40991c4c3e0SPeter Geis	};
41091c4c3e0SPeter Geis
4114e50d217SPeter Geis	pmucru: clock-controller@fdd00000 {
4124e50d217SPeter Geis		compatible = "rockchip,rk3568-pmucru";
4134e50d217SPeter Geis		reg = <0x0 0xfdd00000 0x0 0x1000>;
4144e50d217SPeter Geis		#clock-cells = <1>;
4154e50d217SPeter Geis		#reset-cells = <1>;
4164e50d217SPeter Geis	};
4174e50d217SPeter Geis
4184e50d217SPeter Geis	cru: clock-controller@fdd20000 {
4194e50d217SPeter Geis		compatible = "rockchip,rk3568-cru";
4204e50d217SPeter Geis		reg = <0x0 0xfdd20000 0x0 0x1000>;
421cd2d081dSPeter Geis		clocks = <&xin24m>;
422cd2d081dSPeter Geis		clock-names = "xin24m";
4234e50d217SPeter Geis		#clock-cells = <1>;
4244e50d217SPeter Geis		#reset-cells = <1>;
42564b69474SJonas Karlman		assigned-clocks = <&pmucru CLK_RTC_32K>, <&cru PLL_GPLL>, <&pmucru PLL_PPLL>;
42664b69474SJonas Karlman		assigned-clock-rates = <32768>, <1200000000>, <200000000>;
42764b69474SJonas Karlman		assigned-clock-parents = <&pmucru CLK_RTC32K_FRAC>;
42895ad4dbeSMichael Riesch		rockchip,grf = <&grf>;
4294e50d217SPeter Geis	};
4304e50d217SPeter Geis
4314e50d217SPeter Geis	i2c0: i2c@fdd40000 {
4324e50d217SPeter Geis		compatible = "rockchip,rk3568-i2c", "rockchip,rk3399-i2c";
4334e50d217SPeter Geis		reg = <0x0 0xfdd40000 0x0 0x1000>;
4344e50d217SPeter Geis		interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
4354e50d217SPeter Geis		clocks = <&pmucru CLK_I2C0>, <&pmucru PCLK_I2C0>;
4364e50d217SPeter Geis		clock-names = "i2c", "pclk";
4374e50d217SPeter Geis		pinctrl-0 = <&i2c0_xfer>;
4384e50d217SPeter Geis		pinctrl-names = "default";
4394e50d217SPeter Geis		#address-cells = <1>;
4404e50d217SPeter Geis		#size-cells = <0>;
4414e50d217SPeter Geis		status = "disabled";
4424e50d217SPeter Geis	};
4434e50d217SPeter Geis
4444e50d217SPeter Geis	uart0: serial@fdd50000 {
4454e50d217SPeter Geis		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
4464e50d217SPeter Geis		reg = <0x0 0xfdd50000 0x0 0x100>;
4474e50d217SPeter Geis		interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
4484e50d217SPeter Geis		clocks = <&pmucru SCLK_UART0>, <&pmucru PCLK_UART0>;
4494e50d217SPeter Geis		clock-names = "baudclk", "apb_pclk";
4504e50d217SPeter Geis		dmas = <&dmac0 0>, <&dmac0 1>;
4514e50d217SPeter Geis		pinctrl-0 = <&uart0_xfer>;
4524e50d217SPeter Geis		pinctrl-names = "default";
4534e50d217SPeter Geis		reg-io-width = <4>;
4544e50d217SPeter Geis		reg-shift = <2>;
4554e50d217SPeter Geis		status = "disabled";
4564e50d217SPeter Geis	};
4574e50d217SPeter Geis
45898419a39SLiang Chen	pwm0: pwm@fdd70000 {
45998419a39SLiang Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
46098419a39SLiang Chen		reg = <0x0 0xfdd70000 0x0 0x10>;
46198419a39SLiang Chen		clocks = <&pmucru CLK_PWM0>, <&pmucru PCLK_PWM0>;
46298419a39SLiang Chen		clock-names = "pwm", "pclk";
46398419a39SLiang Chen		pinctrl-0 = <&pwm0m0_pins>;
4642e4dbcf7SSascha Hauer		pinctrl-names = "default";
46598419a39SLiang Chen		#pwm-cells = <3>;
46698419a39SLiang Chen		status = "disabled";
46798419a39SLiang Chen	};
46898419a39SLiang Chen
46998419a39SLiang Chen	pwm1: pwm@fdd70010 {
47098419a39SLiang Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
47198419a39SLiang Chen		reg = <0x0 0xfdd70010 0x0 0x10>;
47298419a39SLiang Chen		clocks = <&pmucru CLK_PWM0>, <&pmucru PCLK_PWM0>;
47398419a39SLiang Chen		clock-names = "pwm", "pclk";
47498419a39SLiang Chen		pinctrl-0 = <&pwm1m0_pins>;
4752e4dbcf7SSascha Hauer		pinctrl-names = "default";
47698419a39SLiang Chen		#pwm-cells = <3>;
47798419a39SLiang Chen		status = "disabled";
47898419a39SLiang Chen	};
47998419a39SLiang Chen
48098419a39SLiang Chen	pwm2: pwm@fdd70020 {
48198419a39SLiang Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
48298419a39SLiang Chen		reg = <0x0 0xfdd70020 0x0 0x10>;
48398419a39SLiang Chen		clocks = <&pmucru CLK_PWM0>, <&pmucru PCLK_PWM0>;
48498419a39SLiang Chen		clock-names = "pwm", "pclk";
48598419a39SLiang Chen		pinctrl-0 = <&pwm2m0_pins>;
4862e4dbcf7SSascha Hauer		pinctrl-names = "default";
48798419a39SLiang Chen		#pwm-cells = <3>;
48898419a39SLiang Chen		status = "disabled";
48998419a39SLiang Chen	};
49098419a39SLiang Chen
49198419a39SLiang Chen	pwm3: pwm@fdd70030 {
49298419a39SLiang Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
49398419a39SLiang Chen		reg = <0x0 0xfdd70030 0x0 0x10>;
49498419a39SLiang Chen		clocks = <&pmucru CLK_PWM0>, <&pmucru PCLK_PWM0>;
49598419a39SLiang Chen		clock-names = "pwm", "pclk";
49698419a39SLiang Chen		pinctrl-0 = <&pwm3_pins>;
4972e4dbcf7SSascha Hauer		pinctrl-names = "default";
49898419a39SLiang Chen		#pwm-cells = <3>;
49998419a39SLiang Chen		status = "disabled";
50098419a39SLiang Chen	};
50198419a39SLiang Chen
5024e50d217SPeter Geis	pmu: power-management@fdd90000 {
5034e50d217SPeter Geis		compatible = "rockchip,rk3568-pmu", "syscon", "simple-mfd";
5044e50d217SPeter Geis		reg = <0x0 0xfdd90000 0x0 0x1000>;
5054e50d217SPeter Geis
5064e50d217SPeter Geis		power: power-controller {
5074e50d217SPeter Geis			compatible = "rockchip,rk3568-power-controller";
5084e50d217SPeter Geis			#power-domain-cells = <1>;
5094e50d217SPeter Geis			#address-cells = <1>;
5104e50d217SPeter Geis			#size-cells = <0>;
5114e50d217SPeter Geis
5124e50d217SPeter Geis			/* These power domains are grouped by VD_GPU */
5134e50d217SPeter Geis			power-domain@RK3568_PD_GPU {
5144e50d217SPeter Geis				reg = <RK3568_PD_GPU>;
5154e50d217SPeter Geis				clocks = <&cru ACLK_GPU_PRE>,
5164e50d217SPeter Geis					 <&cru PCLK_GPU_PRE>;
5174e50d217SPeter Geis				pm_qos = <&qos_gpu>;
5184e50d217SPeter Geis				#power-domain-cells = <0>;
5194e50d217SPeter Geis			};
5204e50d217SPeter Geis
5214e50d217SPeter Geis			/* These power domains are grouped by VD_LOGIC */
5224e50d217SPeter Geis			power-domain@RK3568_PD_VI {
5234e50d217SPeter Geis				reg = <RK3568_PD_VI>;
5244e50d217SPeter Geis				clocks = <&cru HCLK_VI>,
5254e50d217SPeter Geis					 <&cru PCLK_VI>;
5264e50d217SPeter Geis				pm_qos = <&qos_isp>,
5274e50d217SPeter Geis					 <&qos_vicap0>,
5284e50d217SPeter Geis					 <&qos_vicap1>;
5294e50d217SPeter Geis				#power-domain-cells = <0>;
5304e50d217SPeter Geis			};
5314e50d217SPeter Geis
5324e50d217SPeter Geis			power-domain@RK3568_PD_VO {
5334e50d217SPeter Geis				reg = <RK3568_PD_VO>;
5344e50d217SPeter Geis				clocks = <&cru HCLK_VO>,
5354e50d217SPeter Geis					 <&cru PCLK_VO>,
5364e50d217SPeter Geis					 <&cru ACLK_VOP_PRE>;
5374e50d217SPeter Geis				pm_qos = <&qos_hdcp>,
5384e50d217SPeter Geis					 <&qos_vop_m0>,
5394e50d217SPeter Geis					 <&qos_vop_m1>;
5404e50d217SPeter Geis				#power-domain-cells = <0>;
5414e50d217SPeter Geis			};
5424e50d217SPeter Geis
5434e50d217SPeter Geis			power-domain@RK3568_PD_RGA {
5444e50d217SPeter Geis				reg = <RK3568_PD_RGA>;
5454e50d217SPeter Geis				clocks = <&cru HCLK_RGA_PRE>,
5464e50d217SPeter Geis					 <&cru PCLK_RGA_PRE>;
5474e50d217SPeter Geis				pm_qos = <&qos_ebc>,
5484e50d217SPeter Geis					 <&qos_iep>,
5494e50d217SPeter Geis					 <&qos_jpeg_dec>,
5504e50d217SPeter Geis					 <&qos_jpeg_enc>,
5514e50d217SPeter Geis					 <&qos_rga_rd>,
5524e50d217SPeter Geis					 <&qos_rga_wr>;
5534e50d217SPeter Geis				#power-domain-cells = <0>;
5544e50d217SPeter Geis			};
5554e50d217SPeter Geis
5564e50d217SPeter Geis			power-domain@RK3568_PD_VPU {
5574e50d217SPeter Geis				reg = <RK3568_PD_VPU>;
5584e50d217SPeter Geis				clocks = <&cru HCLK_VPU_PRE>;
5594e50d217SPeter Geis				pm_qos = <&qos_vpu>;
5604e50d217SPeter Geis				#power-domain-cells = <0>;
5614e50d217SPeter Geis			};
5624e50d217SPeter Geis
5634e50d217SPeter Geis			power-domain@RK3568_PD_RKVDEC {
5644e50d217SPeter Geis				clocks = <&cru HCLK_RKVDEC_PRE>;
5654e50d217SPeter Geis				reg = <RK3568_PD_RKVDEC>;
5664e50d217SPeter Geis				pm_qos = <&qos_rkvdec>;
5674e50d217SPeter Geis				#power-domain-cells = <0>;
5684e50d217SPeter Geis			};
5694e50d217SPeter Geis
5704e50d217SPeter Geis			power-domain@RK3568_PD_RKVENC {
5714e50d217SPeter Geis				reg = <RK3568_PD_RKVENC>;
5724e50d217SPeter Geis				clocks = <&cru HCLK_RKVENC_PRE>;
5734e50d217SPeter Geis				pm_qos = <&qos_rkvenc_rd_m0>,
5744e50d217SPeter Geis					 <&qos_rkvenc_rd_m1>,
5754e50d217SPeter Geis					 <&qos_rkvenc_wr_m0>;
5764e50d217SPeter Geis				#power-domain-cells = <0>;
5774e50d217SPeter Geis			};
5784e50d217SPeter Geis		};
5794e50d217SPeter Geis	};
5804e50d217SPeter Geis
58181002866SEzequiel Garcia	gpu: gpu@fde60000 {
58281002866SEzequiel Garcia		compatible = "rockchip,rk3568-mali", "arm,mali-bifrost";
58381002866SEzequiel Garcia		reg = <0x0 0xfde60000 0x0 0x4000>;
58481002866SEzequiel Garcia		interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
58581002866SEzequiel Garcia			     <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
58681002866SEzequiel Garcia			     <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
58781002866SEzequiel Garcia		interrupt-names = "job", "mmu", "gpu";
58881002866SEzequiel Garcia		clocks = <&scmi_clk 1>, <&cru CLK_GPU>;
58981002866SEzequiel Garcia		clock-names = "gpu", "bus";
59081002866SEzequiel Garcia		#cooling-cells = <2>;
59181002866SEzequiel Garcia		operating-points-v2 = <&gpu_opp_table>;
59281002866SEzequiel Garcia		power-domains = <&power RK3568_PD_GPU>;
59381002866SEzequiel Garcia		status = "disabled";
59481002866SEzequiel Garcia	};
59581002866SEzequiel Garcia
596944be6fbSPiotr Oniszczuk	vpu: video-codec@fdea0400 {
597944be6fbSPiotr Oniszczuk		compatible = "rockchip,rk3568-vpu";
598944be6fbSPiotr Oniszczuk		reg = <0x0 0xfdea0000 0x0 0x800>;
599944be6fbSPiotr Oniszczuk		interrupts = <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>;
600944be6fbSPiotr Oniszczuk		clocks = <&cru ACLK_VPU>, <&cru HCLK_VPU>;
601944be6fbSPiotr Oniszczuk		clock-names = "aclk", "hclk";
602944be6fbSPiotr Oniszczuk		iommus = <&vdpu_mmu>;
603944be6fbSPiotr Oniszczuk		power-domains = <&power RK3568_PD_VPU>;
604944be6fbSPiotr Oniszczuk	};
605944be6fbSPiotr Oniszczuk
606944be6fbSPiotr Oniszczuk	vdpu_mmu: iommu@fdea0800 {
607944be6fbSPiotr Oniszczuk		compatible = "rockchip,rk3568-iommu";
608944be6fbSPiotr Oniszczuk		reg = <0x0 0xfdea0800 0x0 0x40>;
609944be6fbSPiotr Oniszczuk		interrupts = <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
610944be6fbSPiotr Oniszczuk		clock-names = "aclk", "iface";
611944be6fbSPiotr Oniszczuk		clocks = <&cru ACLK_VPU>, <&cru HCLK_VPU>;
612944be6fbSPiotr Oniszczuk		power-domains = <&power RK3568_PD_VPU>;
613944be6fbSPiotr Oniszczuk		#iommu-cells = <0>;
614944be6fbSPiotr Oniszczuk	};
615944be6fbSPiotr Oniszczuk
616*0c3391f8SMichael Tretter	rga: rga@fdeb0000 {
617*0c3391f8SMichael Tretter		compatible = "rockchip,rk3568-rga", "rockchip,rk3288-rga";
618*0c3391f8SMichael Tretter		reg = <0x0 0xfdeb0000 0x0 0x180>;
619*0c3391f8SMichael Tretter		interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
620*0c3391f8SMichael Tretter		clocks = <&cru ACLK_RGA>, <&cru HCLK_RGA>, <&cru CLK_RGA_CORE>;
621*0c3391f8SMichael Tretter		clock-names = "aclk", "hclk", "sclk";
622*0c3391f8SMichael Tretter		resets = <&cru SRST_RGA_CORE>, <&cru SRST_A_RGA>, <&cru SRST_H_RGA>;
623*0c3391f8SMichael Tretter		reset-names = "core", "axi", "ahb";
624*0c3391f8SMichael Tretter		power-domains = <&power RK3568_PD_RGA>;
625*0c3391f8SMichael Tretter	};
626*0c3391f8SMichael Tretter
62703d86fb5SNicolas Frattaroli	vepu: video-codec@fdee0000 {
62803d86fb5SNicolas Frattaroli		compatible = "rockchip,rk3568-vepu";
62903d86fb5SNicolas Frattaroli		reg = <0x0 0xfdee0000 0x0 0x800>;
63003d86fb5SNicolas Frattaroli		interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
63103d86fb5SNicolas Frattaroli		clocks = <&cru ACLK_JENC>, <&cru HCLK_JENC>;
63203d86fb5SNicolas Frattaroli		clock-names = "aclk", "hclk";
63303d86fb5SNicolas Frattaroli		iommus = <&vepu_mmu>;
63403d86fb5SNicolas Frattaroli		power-domains = <&power RK3568_PD_RGA>;
63503d86fb5SNicolas Frattaroli	};
63603d86fb5SNicolas Frattaroli
63703d86fb5SNicolas Frattaroli	vepu_mmu: iommu@fdee0800 {
63803d86fb5SNicolas Frattaroli		compatible = "rockchip,rk3568-iommu";
63903d86fb5SNicolas Frattaroli		reg = <0x0 0xfdee0800 0x0 0x40>;
64003d86fb5SNicolas Frattaroli		interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
64103d86fb5SNicolas Frattaroli		clocks = <&cru ACLK_JENC>, <&cru HCLK_JENC>;
64203d86fb5SNicolas Frattaroli		clock-names = "aclk", "iface";
64303d86fb5SNicolas Frattaroli		power-domains = <&power RK3568_PD_RGA>;
64403d86fb5SNicolas Frattaroli		#iommu-cells = <0>;
64503d86fb5SNicolas Frattaroli	};
64603d86fb5SNicolas Frattaroli
6474e50d217SPeter Geis	sdmmc2: mmc@fe000000 {
6484e50d217SPeter Geis		compatible = "rockchip,rk3568-dw-mshc", "rockchip,rk3288-dw-mshc";
6494e50d217SPeter Geis		reg = <0x0 0xfe000000 0x0 0x4000>;
6504e50d217SPeter Geis		interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
6514e50d217SPeter Geis		clocks = <&cru HCLK_SDMMC2>, <&cru CLK_SDMMC2>,
6524e50d217SPeter Geis			 <&cru SCLK_SDMMC2_DRV>, <&cru SCLK_SDMMC2_SAMPLE>;
6534e50d217SPeter Geis		clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
6544e50d217SPeter Geis		fifo-depth = <0x100>;
6554e50d217SPeter Geis		max-frequency = <150000000>;
6564e50d217SPeter Geis		resets = <&cru SRST_SDMMC2>;
6574e50d217SPeter Geis		reset-names = "reset";
6584e50d217SPeter Geis		status = "disabled";
6594e50d217SPeter Geis	};
6604e50d217SPeter Geis
6610dcec571SPeter Geis	gmac1: ethernet@fe010000 {
6620dcec571SPeter Geis		compatible = "rockchip,rk3568-gmac", "snps,dwmac-4.20a";
6630dcec571SPeter Geis		reg = <0x0 0xfe010000 0x0 0x10000>;
6640dcec571SPeter Geis		interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>,
6650dcec571SPeter Geis			     <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
6660dcec571SPeter Geis		interrupt-names = "macirq", "eth_wake_irq";
6670dcec571SPeter Geis		clocks = <&cru SCLK_GMAC1>, <&cru SCLK_GMAC1_RX_TX>,
6680dcec571SPeter Geis			 <&cru SCLK_GMAC1_RX_TX>, <&cru CLK_MAC1_REFOUT>,
6690dcec571SPeter Geis			 <&cru ACLK_GMAC1>, <&cru PCLK_GMAC1>,
6700dcec571SPeter Geis			 <&cru SCLK_GMAC1_RX_TX>, <&cru CLK_GMAC1_PTP_REF>;
6710dcec571SPeter Geis		clock-names = "stmmaceth", "mac_clk_rx",
6720dcec571SPeter Geis			      "mac_clk_tx", "clk_mac_refout",
6730dcec571SPeter Geis			      "aclk_mac", "pclk_mac",
6740dcec571SPeter Geis			      "clk_mac_speed", "ptp_ref";
6750dcec571SPeter Geis		resets = <&cru SRST_A_GMAC1>;
6760dcec571SPeter Geis		reset-names = "stmmaceth";
6770dcec571SPeter Geis		rockchip,grf = <&grf>;
6780dcec571SPeter Geis		snps,axi-config = <&gmac1_stmmac_axi_setup>;
6790dcec571SPeter Geis		snps,mixed-burst;
6800dcec571SPeter Geis		snps,mtl-rx-config = <&gmac1_mtl_rx_setup>;
6810dcec571SPeter Geis		snps,mtl-tx-config = <&gmac1_mtl_tx_setup>;
6820dcec571SPeter Geis		snps,tso;
6830dcec571SPeter Geis		status = "disabled";
6840dcec571SPeter Geis
6850dcec571SPeter Geis		mdio1: mdio {
6860dcec571SPeter Geis			compatible = "snps,dwmac-mdio";
6870dcec571SPeter Geis			#address-cells = <0x1>;
6880dcec571SPeter Geis			#size-cells = <0x0>;
6890dcec571SPeter Geis		};
6900dcec571SPeter Geis
6910dcec571SPeter Geis		gmac1_stmmac_axi_setup: stmmac-axi-config {
6920dcec571SPeter Geis			snps,blen = <0 0 0 0 16 8 4>;
6930dcec571SPeter Geis			snps,rd_osr_lmt = <8>;
6940dcec571SPeter Geis			snps,wr_osr_lmt = <4>;
6950dcec571SPeter Geis		};
6960dcec571SPeter Geis
6970dcec571SPeter Geis		gmac1_mtl_rx_setup: rx-queues-config {
6980dcec571SPeter Geis			snps,rx-queues-to-use = <1>;
6990dcec571SPeter Geis			queue0 {};
7000dcec571SPeter Geis		};
7010dcec571SPeter Geis
7020dcec571SPeter Geis		gmac1_mtl_tx_setup: tx-queues-config {
7030dcec571SPeter Geis			snps,tx-queues-to-use = <1>;
7040dcec571SPeter Geis			queue0 {};
7050dcec571SPeter Geis		};
7060dcec571SPeter Geis	};
7070dcec571SPeter Geis
7089d6c6d97SSascha Hauer	vop: vop@fe040000 {
7099d6c6d97SSascha Hauer		reg = <0x0 0xfe040000 0x0 0x3000>, <0x0 0xfe044000 0x0 0x1000>;
7109d6c6d97SSascha Hauer		reg-names = "vop", "gamma-lut";
7119d6c6d97SSascha Hauer		interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
7129d6c6d97SSascha Hauer		clocks = <&cru ACLK_VOP>, <&cru HCLK_VOP>, <&cru DCLK_VOP0>,
7139d6c6d97SSascha Hauer			 <&cru DCLK_VOP1>, <&cru DCLK_VOP2>;
7149d6c6d97SSascha Hauer		clock-names = "aclk", "hclk", "dclk_vp0", "dclk_vp1", "dclk_vp2";
7159d6c6d97SSascha Hauer		iommus = <&vop_mmu>;
7169d6c6d97SSascha Hauer		power-domains = <&power RK3568_PD_VO>;
7179d6c6d97SSascha Hauer		rockchip,grf = <&grf>;
7189d6c6d97SSascha Hauer		status = "disabled";
7199d6c6d97SSascha Hauer
7209d6c6d97SSascha Hauer		vop_out: ports {
7219d6c6d97SSascha Hauer			#address-cells = <1>;
7229d6c6d97SSascha Hauer			#size-cells = <0>;
7239d6c6d97SSascha Hauer
7249d6c6d97SSascha Hauer			vp0: port@0 {
7259d6c6d97SSascha Hauer				reg = <0>;
7269d6c6d97SSascha Hauer				#address-cells = <1>;
7279d6c6d97SSascha Hauer				#size-cells = <0>;
7289d6c6d97SSascha Hauer			};
7299d6c6d97SSascha Hauer
7309d6c6d97SSascha Hauer			vp1: port@1 {
7319d6c6d97SSascha Hauer				reg = <1>;
7329d6c6d97SSascha Hauer				#address-cells = <1>;
7339d6c6d97SSascha Hauer				#size-cells = <0>;
7349d6c6d97SSascha Hauer			};
7359d6c6d97SSascha Hauer
7369d6c6d97SSascha Hauer			vp2: port@2 {
7379d6c6d97SSascha Hauer				reg = <2>;
7389d6c6d97SSascha Hauer				#address-cells = <1>;
7399d6c6d97SSascha Hauer				#size-cells = <0>;
7409d6c6d97SSascha Hauer			};
7419d6c6d97SSascha Hauer		};
7429d6c6d97SSascha Hauer	};
7439d6c6d97SSascha Hauer
7449d6c6d97SSascha Hauer	vop_mmu: iommu@fe043e00 {
7459d6c6d97SSascha Hauer		compatible = "rockchip,rk3568-iommu";
7469d6c6d97SSascha Hauer		reg = <0x0 0xfe043e00 0x0 0x100>, <0x0 0xfe043f00 0x0 0x100>;
7479d6c6d97SSascha Hauer		interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
7489d6c6d97SSascha Hauer		clocks = <&cru ACLK_VOP>, <&cru HCLK_VOP>;
7499d6c6d97SSascha Hauer		clock-names = "aclk", "iface";
7509d6c6d97SSascha Hauer		#iommu-cells = <0>;
7519d6c6d97SSascha Hauer		status = "disabled";
7529d6c6d97SSascha Hauer	};
7539d6c6d97SSascha Hauer
754e18d9b09SChris Morgan	dsi0: dsi@fe060000 {
755e18d9b09SChris Morgan		compatible = "rockchip,rk3568-mipi-dsi", "snps,dw-mipi-dsi";
756e18d9b09SChris Morgan		reg = <0x00 0xfe060000 0x00 0x10000>;
757e18d9b09SChris Morgan		interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>;
758cadda005SJohan Jonker		clock-names = "pclk";
759cadda005SJohan Jonker		clocks = <&cru PCLK_DSITX_0>;
760e18d9b09SChris Morgan		phy-names = "dphy";
761e18d9b09SChris Morgan		phys = <&dsi_dphy0>;
762e18d9b09SChris Morgan		power-domains = <&power RK3568_PD_VO>;
763e18d9b09SChris Morgan		reset-names = "apb";
764e18d9b09SChris Morgan		resets = <&cru SRST_P_DSITX_0>;
765e18d9b09SChris Morgan		rockchip,grf = <&grf>;
766e18d9b09SChris Morgan		status = "disabled";
767e18d9b09SChris Morgan
768e18d9b09SChris Morgan		ports {
769e18d9b09SChris Morgan			#address-cells = <1>;
770e18d9b09SChris Morgan			#size-cells = <0>;
771e18d9b09SChris Morgan
772e18d9b09SChris Morgan			dsi0_in: port@0 {
773e18d9b09SChris Morgan				reg = <0>;
774e18d9b09SChris Morgan			};
775e18d9b09SChris Morgan
776e18d9b09SChris Morgan			dsi0_out: port@1 {
777e18d9b09SChris Morgan				reg = <1>;
778e18d9b09SChris Morgan			};
779e18d9b09SChris Morgan		};
780e18d9b09SChris Morgan	};
781e18d9b09SChris Morgan
782e18d9b09SChris Morgan	dsi1: dsi@fe070000 {
783e18d9b09SChris Morgan		compatible = "rockchip,rk3568-mipi-dsi", "snps,dw-mipi-dsi";
784e18d9b09SChris Morgan		reg = <0x0 0xfe070000 0x0 0x10000>;
785e18d9b09SChris Morgan		interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
786cadda005SJohan Jonker		clock-names = "pclk";
787cadda005SJohan Jonker		clocks = <&cru PCLK_DSITX_1>;
788e18d9b09SChris Morgan		phy-names = "dphy";
789e18d9b09SChris Morgan		phys = <&dsi_dphy1>;
790e18d9b09SChris Morgan		power-domains = <&power RK3568_PD_VO>;
791e18d9b09SChris Morgan		reset-names = "apb";
792e18d9b09SChris Morgan		resets = <&cru SRST_P_DSITX_1>;
793e18d9b09SChris Morgan		rockchip,grf = <&grf>;
794e18d9b09SChris Morgan		status = "disabled";
795e18d9b09SChris Morgan
796e18d9b09SChris Morgan		ports {
797e18d9b09SChris Morgan			#address-cells = <1>;
798e18d9b09SChris Morgan			#size-cells = <0>;
799e18d9b09SChris Morgan
800e18d9b09SChris Morgan			dsi1_in: port@0 {
801e18d9b09SChris Morgan				reg = <0>;
802e18d9b09SChris Morgan			};
803e18d9b09SChris Morgan
804e18d9b09SChris Morgan			dsi1_out: port@1 {
805e18d9b09SChris Morgan				reg = <1>;
806e18d9b09SChris Morgan			};
807e18d9b09SChris Morgan		};
808e18d9b09SChris Morgan	};
809e18d9b09SChris Morgan
810d689e570SSascha Hauer	hdmi: hdmi@fe0a0000 {
811d689e570SSascha Hauer		compatible = "rockchip,rk3568-dw-hdmi";
812d689e570SSascha Hauer		reg = <0x0 0xfe0a0000 0x0 0x20000>;
813d689e570SSascha Hauer		interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
814d689e570SSascha Hauer		clocks = <&cru PCLK_HDMI_HOST>,
815d689e570SSascha Hauer			 <&cru CLK_HDMI_SFR>,
816d689e570SSascha Hauer			 <&cru CLK_HDMI_CEC>,
817d689e570SSascha Hauer			 <&pmucru CLK_HDMI_REF>,
818d689e570SSascha Hauer			 <&cru HCLK_VO>;
819d689e570SSascha Hauer		clock-names = "iahb", "isfr", "cec", "ref";
820d689e570SSascha Hauer		pinctrl-names = "default";
821d689e570SSascha Hauer		pinctrl-0 = <&hdmitx_scl &hdmitx_sda &hdmitxm0_cec>;
822d689e570SSascha Hauer		power-domains = <&power RK3568_PD_VO>;
823d689e570SSascha Hauer		reg-io-width = <4>;
824d689e570SSascha Hauer		rockchip,grf = <&grf>;
825d689e570SSascha Hauer		#sound-dai-cells = <0>;
826d689e570SSascha Hauer		status = "disabled";
827d689e570SSascha Hauer
828d689e570SSascha Hauer		ports {
829d689e570SSascha Hauer			#address-cells = <1>;
830d689e570SSascha Hauer			#size-cells = <0>;
831d689e570SSascha Hauer
832d689e570SSascha Hauer			hdmi_in: port@0 {
833d689e570SSascha Hauer				reg = <0>;
834d689e570SSascha Hauer			};
835d689e570SSascha Hauer
836d689e570SSascha Hauer			hdmi_out: port@1 {
837d689e570SSascha Hauer				reg = <1>;
838d689e570SSascha Hauer			};
839d689e570SSascha Hauer		};
840d689e570SSascha Hauer	};
841d689e570SSascha Hauer
8424e50d217SPeter Geis	qos_gpu: qos@fe128000 {
8434e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
8444e50d217SPeter Geis		reg = <0x0 0xfe128000 0x0 0x20>;
8454e50d217SPeter Geis	};
8464e50d217SPeter Geis
8474e50d217SPeter Geis	qos_rkvenc_rd_m0: qos@fe138080 {
8484e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
8494e50d217SPeter Geis		reg = <0x0 0xfe138080 0x0 0x20>;
8504e50d217SPeter Geis	};
8514e50d217SPeter Geis
8524e50d217SPeter Geis	qos_rkvenc_rd_m1: qos@fe138100 {
8534e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
8544e50d217SPeter Geis		reg = <0x0 0xfe138100 0x0 0x20>;
8554e50d217SPeter Geis	};
8564e50d217SPeter Geis
8574e50d217SPeter Geis	qos_rkvenc_wr_m0: qos@fe138180 {
8584e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
8594e50d217SPeter Geis		reg = <0x0 0xfe138180 0x0 0x20>;
8604e50d217SPeter Geis	};
8614e50d217SPeter Geis
8624e50d217SPeter Geis	qos_isp: qos@fe148000 {
8634e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
8644e50d217SPeter Geis		reg = <0x0 0xfe148000 0x0 0x20>;
8654e50d217SPeter Geis	};
8664e50d217SPeter Geis
8674e50d217SPeter Geis	qos_vicap0: qos@fe148080 {
8684e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
8694e50d217SPeter Geis		reg = <0x0 0xfe148080 0x0 0x20>;
8704e50d217SPeter Geis	};
8714e50d217SPeter Geis
8724e50d217SPeter Geis	qos_vicap1: qos@fe148100 {
8734e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
8744e50d217SPeter Geis		reg = <0x0 0xfe148100 0x0 0x20>;
8754e50d217SPeter Geis	};
8764e50d217SPeter Geis
8774e50d217SPeter Geis	qos_vpu: qos@fe150000 {
8784e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
8794e50d217SPeter Geis		reg = <0x0 0xfe150000 0x0 0x20>;
8804e50d217SPeter Geis	};
8814e50d217SPeter Geis
8824e50d217SPeter Geis	qos_ebc: qos@fe158000 {
8834e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
8844e50d217SPeter Geis		reg = <0x0 0xfe158000 0x0 0x20>;
8854e50d217SPeter Geis	};
8864e50d217SPeter Geis
8874e50d217SPeter Geis	qos_iep: qos@fe158100 {
8884e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
8894e50d217SPeter Geis		reg = <0x0 0xfe158100 0x0 0x20>;
8904e50d217SPeter Geis	};
8914e50d217SPeter Geis
8924e50d217SPeter Geis	qos_jpeg_dec: qos@fe158180 {
8934e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
8944e50d217SPeter Geis		reg = <0x0 0xfe158180 0x0 0x20>;
8954e50d217SPeter Geis	};
8964e50d217SPeter Geis
8974e50d217SPeter Geis	qos_jpeg_enc: qos@fe158200 {
8984e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
8994e50d217SPeter Geis		reg = <0x0 0xfe158200 0x0 0x20>;
9004e50d217SPeter Geis	};
9014e50d217SPeter Geis
9024e50d217SPeter Geis	qos_rga_rd: qos@fe158280 {
9034e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
9044e50d217SPeter Geis		reg = <0x0 0xfe158280 0x0 0x20>;
9054e50d217SPeter Geis	};
9064e50d217SPeter Geis
9074e50d217SPeter Geis	qos_rga_wr: qos@fe158300 {
9084e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
9094e50d217SPeter Geis		reg = <0x0 0xfe158300 0x0 0x20>;
9104e50d217SPeter Geis	};
9114e50d217SPeter Geis
9124e50d217SPeter Geis	qos_npu: qos@fe180000 {
9134e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
9144e50d217SPeter Geis		reg = <0x0 0xfe180000 0x0 0x20>;
9154e50d217SPeter Geis	};
9164e50d217SPeter Geis
9174e50d217SPeter Geis	qos_pcie2x1: qos@fe190000 {
9184e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
9194e50d217SPeter Geis		reg = <0x0 0xfe190000 0x0 0x20>;
9204e50d217SPeter Geis	};
9214e50d217SPeter Geis
9224e50d217SPeter Geis	qos_sata1: qos@fe190280 {
9234e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
9244e50d217SPeter Geis		reg = <0x0 0xfe190280 0x0 0x20>;
9254e50d217SPeter Geis	};
9264e50d217SPeter Geis
9274e50d217SPeter Geis	qos_sata2: qos@fe190300 {
9284e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
9294e50d217SPeter Geis		reg = <0x0 0xfe190300 0x0 0x20>;
9304e50d217SPeter Geis	};
9314e50d217SPeter Geis
9324e50d217SPeter Geis	qos_usb3_0: qos@fe190380 {
9334e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
9344e50d217SPeter Geis		reg = <0x0 0xfe190380 0x0 0x20>;
9354e50d217SPeter Geis	};
9364e50d217SPeter Geis
9374e50d217SPeter Geis	qos_usb3_1: qos@fe190400 {
9384e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
9394e50d217SPeter Geis		reg = <0x0 0xfe190400 0x0 0x20>;
9404e50d217SPeter Geis	};
9414e50d217SPeter Geis
9424e50d217SPeter Geis	qos_rkvdec: qos@fe198000 {
9434e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
9444e50d217SPeter Geis		reg = <0x0 0xfe198000 0x0 0x20>;
9454e50d217SPeter Geis	};
9464e50d217SPeter Geis
9474e50d217SPeter Geis	qos_hdcp: qos@fe1a8000 {
9484e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
9494e50d217SPeter Geis		reg = <0x0 0xfe1a8000 0x0 0x20>;
9504e50d217SPeter Geis	};
9514e50d217SPeter Geis
9524e50d217SPeter Geis	qos_vop_m0: qos@fe1a8080 {
9534e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
9544e50d217SPeter Geis		reg = <0x0 0xfe1a8080 0x0 0x20>;
9554e50d217SPeter Geis	};
9564e50d217SPeter Geis
9574e50d217SPeter Geis	qos_vop_m1: qos@fe1a8100 {
9584e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
9594e50d217SPeter Geis		reg = <0x0 0xfe1a8100 0x0 0x20>;
9604e50d217SPeter Geis	};
9614e50d217SPeter Geis
96266b51ea7SPeter Geis	pcie2x1: pcie@fe260000 {
96366b51ea7SPeter Geis		compatible = "rockchip,rk3568-pcie";
96466b51ea7SPeter Geis		reg = <0x3 0xc0000000 0x0 0x00400000>,
96566b51ea7SPeter Geis		      <0x0 0xfe260000 0x0 0x00010000>,
96666b51ea7SPeter Geis		      <0x3 0x3f000000 0x0 0x01000000>;
96766b51ea7SPeter Geis		reg-names = "dbi", "apb", "config";
96866b51ea7SPeter Geis		interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>,
96966b51ea7SPeter Geis			     <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>,
97066b51ea7SPeter Geis			     <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>,
97166b51ea7SPeter Geis			     <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>,
97266b51ea7SPeter Geis			     <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
97366b51ea7SPeter Geis		interrupt-names = "sys", "pmc", "msi", "legacy", "err";
97466b51ea7SPeter Geis		bus-range = <0x0 0xf>;
97566b51ea7SPeter Geis		clocks = <&cru ACLK_PCIE20_MST>, <&cru ACLK_PCIE20_SLV>,
97666b51ea7SPeter Geis			 <&cru ACLK_PCIE20_DBI>, <&cru PCLK_PCIE20>,
97766b51ea7SPeter Geis			 <&cru CLK_PCIE20_AUX_NDFT>;
97866b51ea7SPeter Geis		clock-names = "aclk_mst", "aclk_slv",
97966b51ea7SPeter Geis			      "aclk_dbi", "pclk", "aux";
98066b51ea7SPeter Geis		device_type = "pci";
981a323e6b5SJensen Huang		#interrupt-cells = <1>;
98266b51ea7SPeter Geis		interrupt-map-mask = <0 0 0 7>;
98366b51ea7SPeter Geis		interrupt-map = <0 0 0 1 &pcie_intc 0>,
98466b51ea7SPeter Geis				<0 0 0 2 &pcie_intc 1>,
98566b51ea7SPeter Geis				<0 0 0 3 &pcie_intc 2>,
98666b51ea7SPeter Geis				<0 0 0 4 &pcie_intc 3>;
98766b51ea7SPeter Geis		linux,pci-domain = <0>;
98866b51ea7SPeter Geis		num-ib-windows = <6>;
98966b51ea7SPeter Geis		num-ob-windows = <2>;
99066b51ea7SPeter Geis		max-link-speed = <2>;
99166b51ea7SPeter Geis		msi-map = <0x0 &gic 0x0 0x1000>;
99266b51ea7SPeter Geis		num-lanes = <1>;
99366b51ea7SPeter Geis		phys = <&combphy2 PHY_TYPE_PCIE>;
99466b51ea7SPeter Geis		phy-names = "pcie-phy";
99566b51ea7SPeter Geis		power-domains = <&power RK3568_PD_PIPE>;
99666b51ea7SPeter Geis		ranges = <0x01000000 0x0 0x3ef00000 0x3 0x3ef00000 0x0 0x00100000
99766b51ea7SPeter Geis			  0x02000000 0x0 0x00000000 0x3 0x00000000 0x0 0x3ef00000>;
99866b51ea7SPeter Geis		resets = <&cru SRST_PCIE20_POWERUP>;
99966b51ea7SPeter Geis		reset-names = "pipe";
100066b51ea7SPeter Geis		#address-cells = <3>;
100166b51ea7SPeter Geis		#size-cells = <2>;
100266b51ea7SPeter Geis		status = "disabled";
100366b51ea7SPeter Geis
100466b51ea7SPeter Geis		pcie_intc: legacy-interrupt-controller {
100566b51ea7SPeter Geis			#address-cells = <0>;
100666b51ea7SPeter Geis			#interrupt-cells = <1>;
100766b51ea7SPeter Geis			interrupt-controller;
100866b51ea7SPeter Geis			interrupt-parent = <&gic>;
100966b51ea7SPeter Geis			interrupts = <GIC_SPI 72 IRQ_TYPE_EDGE_RISING>;
101066b51ea7SPeter Geis		};
101166b51ea7SPeter Geis	};
101266b51ea7SPeter Geis
10134e50d217SPeter Geis	sdmmc0: mmc@fe2b0000 {
10144e50d217SPeter Geis		compatible = "rockchip,rk3568-dw-mshc", "rockchip,rk3288-dw-mshc";
10154e50d217SPeter Geis		reg = <0x0 0xfe2b0000 0x0 0x4000>;
10164e50d217SPeter Geis		interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
10174e50d217SPeter Geis		clocks = <&cru HCLK_SDMMC0>, <&cru CLK_SDMMC0>,
10184e50d217SPeter Geis			 <&cru SCLK_SDMMC0_DRV>, <&cru SCLK_SDMMC0_SAMPLE>;
10194e50d217SPeter Geis		clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
10204e50d217SPeter Geis		fifo-depth = <0x100>;
10214e50d217SPeter Geis		max-frequency = <150000000>;
10224e50d217SPeter Geis		resets = <&cru SRST_SDMMC0>;
10234e50d217SPeter Geis		reset-names = "reset";
10244e50d217SPeter Geis		status = "disabled";
10254e50d217SPeter Geis	};
10264e50d217SPeter Geis
10274e50d217SPeter Geis	sdmmc1: mmc@fe2c0000 {
10284e50d217SPeter Geis		compatible = "rockchip,rk3568-dw-mshc", "rockchip,rk3288-dw-mshc";
10294e50d217SPeter Geis		reg = <0x0 0xfe2c0000 0x0 0x4000>;
10304e50d217SPeter Geis		interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
10314e50d217SPeter Geis		clocks = <&cru HCLK_SDMMC1>, <&cru CLK_SDMMC1>,
10324e50d217SPeter Geis			 <&cru SCLK_SDMMC1_DRV>, <&cru SCLK_SDMMC1_SAMPLE>;
10334e50d217SPeter Geis		clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
10344e50d217SPeter Geis		fifo-depth = <0x100>;
10354e50d217SPeter Geis		max-frequency = <150000000>;
10364e50d217SPeter Geis		resets = <&cru SRST_SDMMC1>;
10374e50d217SPeter Geis		reset-names = "reset";
10384e50d217SPeter Geis		status = "disabled";
10394e50d217SPeter Geis	};
10404e50d217SPeter Geis
104113e0ee34SPeter Geis	sfc: spi@fe300000 {
104213e0ee34SPeter Geis		compatible = "rockchip,sfc";
104313e0ee34SPeter Geis		reg = <0x0 0xfe300000 0x0 0x4000>;
104413e0ee34SPeter Geis		interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
104513e0ee34SPeter Geis		clocks = <&cru SCLK_SFC>, <&cru HCLK_SFC>;
104613e0ee34SPeter Geis		clock-names = "clk_sfc", "hclk_sfc";
104713e0ee34SPeter Geis		pinctrl-0 = <&fspi_pins>;
104813e0ee34SPeter Geis		pinctrl-names = "default";
104913e0ee34SPeter Geis		status = "disabled";
105013e0ee34SPeter Geis	};
105113e0ee34SPeter Geis
10524e50d217SPeter Geis	sdhci: mmc@fe310000 {
10534e50d217SPeter Geis		compatible = "rockchip,rk3568-dwcmshc";
10544e50d217SPeter Geis		reg = <0x0 0xfe310000 0x0 0x10000>;
10554e50d217SPeter Geis		interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
10564e50d217SPeter Geis		assigned-clocks = <&cru BCLK_EMMC>, <&cru TCLK_EMMC>;
10574e50d217SPeter Geis		assigned-clock-rates = <200000000>, <24000000>;
10584e50d217SPeter Geis		clocks = <&cru CCLK_EMMC>, <&cru HCLK_EMMC>,
10594e50d217SPeter Geis			 <&cru ACLK_EMMC>, <&cru BCLK_EMMC>,
10604e50d217SPeter Geis			 <&cru TCLK_EMMC>;
10614e50d217SPeter Geis		clock-names = "core", "bus", "axi", "block", "timer";
10624e50d217SPeter Geis		status = "disabled";
10634e50d217SPeter Geis	};
10644e50d217SPeter Geis
1065697ee854SNicolas Frattaroli	i2s0_8ch: i2s@fe400000 {
1066697ee854SNicolas Frattaroli		compatible = "rockchip,rk3568-i2s-tdm";
1067697ee854SNicolas Frattaroli		reg = <0x0 0xfe400000 0x0 0x1000>;
1068697ee854SNicolas Frattaroli		interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
1069697ee854SNicolas Frattaroli		assigned-clocks = <&cru CLK_I2S0_8CH_TX_SRC>, <&cru CLK_I2S0_8CH_RX_SRC>;
1070697ee854SNicolas Frattaroli		assigned-clock-rates = <1188000000>, <1188000000>;
1071697ee854SNicolas Frattaroli		clocks = <&cru MCLK_I2S0_8CH_TX>, <&cru MCLK_I2S0_8CH_RX>, <&cru HCLK_I2S0_8CH>;
1072697ee854SNicolas Frattaroli		clock-names = "mclk_tx", "mclk_rx", "hclk";
1073697ee854SNicolas Frattaroli		dmas = <&dmac1 0>;
1074697ee854SNicolas Frattaroli		dma-names = "tx";
1075697ee854SNicolas Frattaroli		resets = <&cru SRST_M_I2S0_8CH_TX>, <&cru SRST_M_I2S0_8CH_RX>;
1076697ee854SNicolas Frattaroli		reset-names = "tx-m", "rx-m";
1077697ee854SNicolas Frattaroli		rockchip,grf = <&grf>;
1078697ee854SNicolas Frattaroli		#sound-dai-cells = <0>;
1079697ee854SNicolas Frattaroli		status = "disabled";
1080697ee854SNicolas Frattaroli	};
1081697ee854SNicolas Frattaroli
1082ef5c9135SNicolas Frattaroli	i2s1_8ch: i2s@fe410000 {
1083ef5c9135SNicolas Frattaroli		compatible = "rockchip,rk3568-i2s-tdm";
1084ef5c9135SNicolas Frattaroli		reg = <0x0 0xfe410000 0x0 0x1000>;
1085ef5c9135SNicolas Frattaroli		interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
1086ef5c9135SNicolas Frattaroli		assigned-clocks = <&cru CLK_I2S1_8CH_TX_SRC>, <&cru CLK_I2S1_8CH_RX_SRC>;
1087ef5c9135SNicolas Frattaroli		assigned-clock-rates = <1188000000>, <1188000000>;
1088ef5c9135SNicolas Frattaroli		clocks = <&cru MCLK_I2S1_8CH_TX>, <&cru MCLK_I2S1_8CH_RX>,
1089ef5c9135SNicolas Frattaroli			 <&cru HCLK_I2S1_8CH>;
1090ef5c9135SNicolas Frattaroli		clock-names = "mclk_tx", "mclk_rx", "hclk";
1091ef5c9135SNicolas Frattaroli		dmas = <&dmac1 3>, <&dmac1 2>;
1092ef5c9135SNicolas Frattaroli		dma-names = "rx", "tx";
1093ef5c9135SNicolas Frattaroli		resets = <&cru SRST_M_I2S1_8CH_TX>, <&cru SRST_M_I2S1_8CH_RX>;
1094ef5c9135SNicolas Frattaroli		reset-names = "tx-m", "rx-m";
1095ef5c9135SNicolas Frattaroli		rockchip,grf = <&grf>;
1096ef5c9135SNicolas Frattaroli		pinctrl-names = "default";
1097ef5c9135SNicolas Frattaroli		pinctrl-0 = <&i2s1m0_sclktx &i2s1m0_sclkrx
1098ef5c9135SNicolas Frattaroli			     &i2s1m0_lrcktx &i2s1m0_lrckrx
1099ef5c9135SNicolas Frattaroli			     &i2s1m0_sdi0   &i2s1m0_sdi1
1100ef5c9135SNicolas Frattaroli			     &i2s1m0_sdi2   &i2s1m0_sdi3
1101ef5c9135SNicolas Frattaroli			     &i2s1m0_sdo0   &i2s1m0_sdo1
1102ef5c9135SNicolas Frattaroli			     &i2s1m0_sdo2   &i2s1m0_sdo3>;
1103ef5c9135SNicolas Frattaroli		#sound-dai-cells = <0>;
1104ef5c9135SNicolas Frattaroli		status = "disabled";
1105ef5c9135SNicolas Frattaroli	};
1106ef5c9135SNicolas Frattaroli
1107755f3701SShengyu Qu	i2s2_2ch: i2s@fe420000 {
1108755f3701SShengyu Qu		compatible = "rockchip,rk3568-i2s-tdm";
1109755f3701SShengyu Qu		reg = <0x0 0xfe420000 0x0 0x1000>;
1110755f3701SShengyu Qu		interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
1111755f3701SShengyu Qu		assigned-clocks = <&cru CLK_I2S2_2CH_SRC>;
1112755f3701SShengyu Qu		assigned-clock-rates = <1188000000>;
1113755f3701SShengyu Qu		clocks = <&cru MCLK_I2S2_2CH>, <&cru MCLK_I2S2_2CH>, <&cru HCLK_I2S2_2CH>;
1114755f3701SShengyu Qu		clock-names = "mclk_tx", "mclk_rx", "hclk";
1115755f3701SShengyu Qu		dmas = <&dmac1 4>, <&dmac1 5>;
1116755f3701SShengyu Qu		dma-names = "tx", "rx";
1117755f3701SShengyu Qu		resets = <&cru SRST_M_I2S2_2CH>;
1118755f3701SShengyu Qu		reset-names = "m";
1119755f3701SShengyu Qu		rockchip,grf = <&grf>;
1120755f3701SShengyu Qu		pinctrl-names = "default";
1121755f3701SShengyu Qu		pinctrl-0 = <&i2s2m0_sclktx
1122755f3701SShengyu Qu				&i2s2m0_lrcktx
1123755f3701SShengyu Qu				&i2s2m0_sdi
1124755f3701SShengyu Qu				&i2s2m0_sdo>;
1125755f3701SShengyu Qu		#sound-dai-cells = <0>;
1126755f3701SShengyu Qu		status = "disabled";
1127755f3701SShengyu Qu	};
1128755f3701SShengyu Qu
1129ad14de06SMichael Riesch	i2s3_2ch: i2s@fe430000 {
1130ad14de06SMichael Riesch		compatible = "rockchip,rk3568-i2s-tdm";
1131ad14de06SMichael Riesch		reg = <0x0 0xfe430000 0x0 0x1000>;
1132ad14de06SMichael Riesch		interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
1133ad14de06SMichael Riesch		clocks = <&cru MCLK_I2S3_2CH_TX>, <&cru MCLK_I2S3_2CH_RX>,
1134ad14de06SMichael Riesch			 <&cru HCLK_I2S3_2CH>;
1135ad14de06SMichael Riesch		clock-names = "mclk_tx", "mclk_rx", "hclk";
1136ad14de06SMichael Riesch		dmas = <&dmac1 6>, <&dmac1 7>;
1137ad14de06SMichael Riesch		dma-names = "tx", "rx";
1138ad14de06SMichael Riesch		resets = <&cru SRST_M_I2S3_2CH_TX>, <&cru SRST_M_I2S3_2CH_RX>;
1139ad14de06SMichael Riesch		reset-names = "tx-m", "rx-m";
1140ad14de06SMichael Riesch		rockchip,grf = <&grf>;
1141ad14de06SMichael Riesch		#sound-dai-cells = <0>;
1142ad14de06SMichael Riesch		status = "disabled";
1143ad14de06SMichael Riesch	};
1144ad14de06SMichael Riesch
114579c5f0e5SSamuel Holland	pdm: pdm@fe440000 {
114679c5f0e5SSamuel Holland		compatible = "rockchip,rk3568-pdm";
114779c5f0e5SSamuel Holland		reg = <0x0 0xfe440000 0x0 0x1000>;
114879c5f0e5SSamuel Holland		interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
114979c5f0e5SSamuel Holland		clocks = <&cru MCLK_PDM>, <&cru HCLK_PDM>;
115079c5f0e5SSamuel Holland		clock-names = "pdm_clk", "pdm_hclk";
115179c5f0e5SSamuel Holland		dmas = <&dmac1 9>;
115279c5f0e5SSamuel Holland		dma-names = "rx";
115379c5f0e5SSamuel Holland		pinctrl-0 = <&pdmm0_clk
115479c5f0e5SSamuel Holland			     &pdmm0_clk1
115579c5f0e5SSamuel Holland			     &pdmm0_sdi0
115679c5f0e5SSamuel Holland			     &pdmm0_sdi1
115779c5f0e5SSamuel Holland			     &pdmm0_sdi2
115879c5f0e5SSamuel Holland			     &pdmm0_sdi3>;
115979c5f0e5SSamuel Holland		pinctrl-names = "default";
116079c5f0e5SSamuel Holland		resets = <&cru SRST_M_PDM>;
116179c5f0e5SSamuel Holland		reset-names = "pdm-m";
116279c5f0e5SSamuel Holland		#sound-dai-cells = <0>;
116379c5f0e5SSamuel Holland		status = "disabled";
116479c5f0e5SSamuel Holland	};
116579c5f0e5SSamuel Holland
1166d4eade42SHeiko Stuebner	spdif: spdif@fe460000 {
1167d4eade42SHeiko Stuebner		compatible = "rockchip,rk3568-spdif";
1168d4eade42SHeiko Stuebner		reg = <0x0 0xfe460000 0x0 0x1000>;
1169d4eade42SHeiko Stuebner		interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
1170d4eade42SHeiko Stuebner		clock-names = "mclk", "hclk";
1171d4eade42SHeiko Stuebner		clocks = <&cru MCLK_SPDIF_8CH>, <&cru HCLK_SPDIF_8CH>;
1172d4eade42SHeiko Stuebner		dmas = <&dmac1 1>;
1173d4eade42SHeiko Stuebner		dma-names = "tx";
1174d4eade42SHeiko Stuebner		pinctrl-names = "default";
1175d4eade42SHeiko Stuebner		pinctrl-0 = <&spdifm0_tx>;
1176d4eade42SHeiko Stuebner		#sound-dai-cells = <0>;
1177d4eade42SHeiko Stuebner		status = "disabled";
1178d4eade42SHeiko Stuebner	};
1179d4eade42SHeiko Stuebner
11802ddd96aaSFrank Wunderlich	dmac0: dma-controller@fe530000 {
11814e50d217SPeter Geis		compatible = "arm,pl330", "arm,primecell";
11824e50d217SPeter Geis		reg = <0x0 0xfe530000 0x0 0x4000>;
11834e50d217SPeter Geis		interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>,
11844e50d217SPeter Geis			     <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
11854e50d217SPeter Geis		arm,pl330-periph-burst;
11864e50d217SPeter Geis		clocks = <&cru ACLK_BUS>;
11874e50d217SPeter Geis		clock-names = "apb_pclk";
11884e50d217SPeter Geis		#dma-cells = <1>;
11894e50d217SPeter Geis	};
11904e50d217SPeter Geis
11912ddd96aaSFrank Wunderlich	dmac1: dma-controller@fe550000 {
11924e50d217SPeter Geis		compatible = "arm,pl330", "arm,primecell";
11934e50d217SPeter Geis		reg = <0x0 0xfe550000 0x0 0x4000>;
11944e50d217SPeter Geis		interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
11954e50d217SPeter Geis			     <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
11964e50d217SPeter Geis		arm,pl330-periph-burst;
11974e50d217SPeter Geis		clocks = <&cru ACLK_BUS>;
11984e50d217SPeter Geis		clock-names = "apb_pclk";
11994e50d217SPeter Geis		#dma-cells = <1>;
12004e50d217SPeter Geis	};
12014e50d217SPeter Geis
12024e50d217SPeter Geis	i2c1: i2c@fe5a0000 {
12034e50d217SPeter Geis		compatible = "rockchip,rk3568-i2c", "rockchip,rk3399-i2c";
12044e50d217SPeter Geis		reg = <0x0 0xfe5a0000 0x0 0x1000>;
12054e50d217SPeter Geis		interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
12064e50d217SPeter Geis		clocks = <&cru CLK_I2C1>, <&cru PCLK_I2C1>;
12074e50d217SPeter Geis		clock-names = "i2c", "pclk";
12084e50d217SPeter Geis		pinctrl-0 = <&i2c1_xfer>;
12094e50d217SPeter Geis		pinctrl-names = "default";
12104e50d217SPeter Geis		#address-cells = <1>;
12114e50d217SPeter Geis		#size-cells = <0>;
12124e50d217SPeter Geis		status = "disabled";
12134e50d217SPeter Geis	};
12144e50d217SPeter Geis
12154e50d217SPeter Geis	i2c2: i2c@fe5b0000 {
12164e50d217SPeter Geis		compatible = "rockchip,rk3568-i2c", "rockchip,rk3399-i2c";
12174e50d217SPeter Geis		reg = <0x0 0xfe5b0000 0x0 0x1000>;
12184e50d217SPeter Geis		interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
12194e50d217SPeter Geis		clocks = <&cru CLK_I2C2>, <&cru PCLK_I2C2>;
12204e50d217SPeter Geis		clock-names = "i2c", "pclk";
12214e50d217SPeter Geis		pinctrl-0 = <&i2c2m0_xfer>;
12224e50d217SPeter Geis		pinctrl-names = "default";
12234e50d217SPeter Geis		#address-cells = <1>;
12244e50d217SPeter Geis		#size-cells = <0>;
12254e50d217SPeter Geis		status = "disabled";
12264e50d217SPeter Geis	};
12274e50d217SPeter Geis
12284e50d217SPeter Geis	i2c3: i2c@fe5c0000 {
12294e50d217SPeter Geis		compatible = "rockchip,rk3568-i2c", "rockchip,rk3399-i2c";
12304e50d217SPeter Geis		reg = <0x0 0xfe5c0000 0x0 0x1000>;
12314e50d217SPeter Geis		interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
12324e50d217SPeter Geis		clocks = <&cru CLK_I2C3>, <&cru PCLK_I2C3>;
12334e50d217SPeter Geis		clock-names = "i2c", "pclk";
12344e50d217SPeter Geis		pinctrl-0 = <&i2c3m0_xfer>;
12354e50d217SPeter Geis		pinctrl-names = "default";
12364e50d217SPeter Geis		#address-cells = <1>;
12374e50d217SPeter Geis		#size-cells = <0>;
12384e50d217SPeter Geis		status = "disabled";
12394e50d217SPeter Geis	};
12404e50d217SPeter Geis
12414e50d217SPeter Geis	i2c4: i2c@fe5d0000 {
12424e50d217SPeter Geis		compatible = "rockchip,rk3568-i2c", "rockchip,rk3399-i2c";
12434e50d217SPeter Geis		reg = <0x0 0xfe5d0000 0x0 0x1000>;
12444e50d217SPeter Geis		interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
12454e50d217SPeter Geis		clocks = <&cru CLK_I2C4>, <&cru PCLK_I2C4>;
12464e50d217SPeter Geis		clock-names = "i2c", "pclk";
12474e50d217SPeter Geis		pinctrl-0 = <&i2c4m0_xfer>;
12484e50d217SPeter Geis		pinctrl-names = "default";
12494e50d217SPeter Geis		#address-cells = <1>;
12504e50d217SPeter Geis		#size-cells = <0>;
12514e50d217SPeter Geis		status = "disabled";
12524e50d217SPeter Geis	};
12534e50d217SPeter Geis
12544e50d217SPeter Geis	i2c5: i2c@fe5e0000 {
12554e50d217SPeter Geis		compatible = "rockchip,rk3568-i2c", "rockchip,rk3399-i2c";
12564e50d217SPeter Geis		reg = <0x0 0xfe5e0000 0x0 0x1000>;
12574e50d217SPeter Geis		interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
12584e50d217SPeter Geis		clocks = <&cru CLK_I2C5>, <&cru PCLK_I2C5>;
12594e50d217SPeter Geis		clock-names = "i2c", "pclk";
12604e50d217SPeter Geis		pinctrl-0 = <&i2c5m0_xfer>;
12614e50d217SPeter Geis		pinctrl-names = "default";
12624e50d217SPeter Geis		#address-cells = <1>;
12634e50d217SPeter Geis		#size-cells = <0>;
12644e50d217SPeter Geis		status = "disabled";
12654e50d217SPeter Geis	};
12664e50d217SPeter Geis
12670edcfec3SLiang Chen	wdt: watchdog@fe600000 {
12680edcfec3SLiang Chen		compatible = "rockchip,rk3568-wdt", "snps,dw-wdt";
12690edcfec3SLiang Chen		reg = <0x0 0xfe600000 0x0 0x100>;
12700edcfec3SLiang Chen		interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>;
12710edcfec3SLiang Chen		clocks = <&cru TCLK_WDT_NS>, <&cru PCLK_WDT_NS>;
12720edcfec3SLiang Chen		clock-names = "tclk", "pclk";
12730edcfec3SLiang Chen	};
12740edcfec3SLiang Chen
1275aaa552d8SNicolas Frattaroli	spi0: spi@fe610000 {
1276aaa552d8SNicolas Frattaroli		compatible = "rockchip,rk3568-spi", "rockchip,rk3066-spi";
1277aaa552d8SNicolas Frattaroli		reg = <0x0 0xfe610000 0x0 0x1000>;
1278aaa552d8SNicolas Frattaroli		interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
1279aaa552d8SNicolas Frattaroli		clocks = <&cru CLK_SPI0>, <&cru PCLK_SPI0>;
1280aaa552d8SNicolas Frattaroli		clock-names = "spiclk", "apb_pclk";
1281aaa552d8SNicolas Frattaroli		dmas = <&dmac0 20>, <&dmac0 21>;
1282aaa552d8SNicolas Frattaroli		dma-names = "tx", "rx";
1283aaa552d8SNicolas Frattaroli		pinctrl-names = "default";
1284aaa552d8SNicolas Frattaroli		pinctrl-0 = <&spi0m0_cs0 &spi0m0_cs1 &spi0m0_pins>;
1285aaa552d8SNicolas Frattaroli		#address-cells = <1>;
1286aaa552d8SNicolas Frattaroli		#size-cells = <0>;
1287aaa552d8SNicolas Frattaroli		status = "disabled";
1288aaa552d8SNicolas Frattaroli	};
1289aaa552d8SNicolas Frattaroli
1290aaa552d8SNicolas Frattaroli	spi1: spi@fe620000 {
1291aaa552d8SNicolas Frattaroli		compatible = "rockchip,rk3568-spi", "rockchip,rk3066-spi";
1292aaa552d8SNicolas Frattaroli		reg = <0x0 0xfe620000 0x0 0x1000>;
1293aaa552d8SNicolas Frattaroli		interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
1294aaa552d8SNicolas Frattaroli		clocks = <&cru CLK_SPI1>, <&cru PCLK_SPI1>;
1295aaa552d8SNicolas Frattaroli		clock-names = "spiclk", "apb_pclk";
1296aaa552d8SNicolas Frattaroli		dmas = <&dmac0 22>, <&dmac0 23>;
1297aaa552d8SNicolas Frattaroli		dma-names = "tx", "rx";
1298aaa552d8SNicolas Frattaroli		pinctrl-names = "default";
1299aaa552d8SNicolas Frattaroli		pinctrl-0 = <&spi1m0_cs0 &spi1m0_cs1 &spi1m0_pins>;
1300aaa552d8SNicolas Frattaroli		#address-cells = <1>;
1301aaa552d8SNicolas Frattaroli		#size-cells = <0>;
1302aaa552d8SNicolas Frattaroli		status = "disabled";
1303aaa552d8SNicolas Frattaroli	};
1304aaa552d8SNicolas Frattaroli
1305aaa552d8SNicolas Frattaroli	spi2: spi@fe630000 {
1306aaa552d8SNicolas Frattaroli		compatible = "rockchip,rk3568-spi", "rockchip,rk3066-spi";
1307aaa552d8SNicolas Frattaroli		reg = <0x0 0xfe630000 0x0 0x1000>;
1308aaa552d8SNicolas Frattaroli		interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
1309aaa552d8SNicolas Frattaroli		clocks = <&cru CLK_SPI2>, <&cru PCLK_SPI2>;
1310aaa552d8SNicolas Frattaroli		clock-names = "spiclk", "apb_pclk";
1311aaa552d8SNicolas Frattaroli		dmas = <&dmac0 24>, <&dmac0 25>;
1312aaa552d8SNicolas Frattaroli		dma-names = "tx", "rx";
1313aaa552d8SNicolas Frattaroli		pinctrl-names = "default";
1314aaa552d8SNicolas Frattaroli		pinctrl-0 = <&spi2m0_cs0 &spi2m0_cs1 &spi2m0_pins>;
1315aaa552d8SNicolas Frattaroli		#address-cells = <1>;
1316aaa552d8SNicolas Frattaroli		#size-cells = <0>;
1317aaa552d8SNicolas Frattaroli		status = "disabled";
1318aaa552d8SNicolas Frattaroli	};
1319aaa552d8SNicolas Frattaroli
1320aaa552d8SNicolas Frattaroli	spi3: spi@fe640000 {
1321aaa552d8SNicolas Frattaroli		compatible = "rockchip,rk3568-spi", "rockchip,rk3066-spi";
1322aaa552d8SNicolas Frattaroli		reg = <0x0 0xfe640000 0x0 0x1000>;
1323aaa552d8SNicolas Frattaroli		interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
1324aaa552d8SNicolas Frattaroli		clocks = <&cru CLK_SPI3>, <&cru PCLK_SPI3>;
1325aaa552d8SNicolas Frattaroli		clock-names = "spiclk", "apb_pclk";
1326aaa552d8SNicolas Frattaroli		dmas = <&dmac0 26>, <&dmac0 27>;
1327aaa552d8SNicolas Frattaroli		dma-names = "tx", "rx";
1328aaa552d8SNicolas Frattaroli		pinctrl-names = "default";
1329aaa552d8SNicolas Frattaroli		pinctrl-0 = <&spi3m0_cs0 &spi3m0_cs1 &spi3m0_pins>;
1330aaa552d8SNicolas Frattaroli		#address-cells = <1>;
1331aaa552d8SNicolas Frattaroli		#size-cells = <0>;
1332aaa552d8SNicolas Frattaroli		status = "disabled";
1333aaa552d8SNicolas Frattaroli	};
1334aaa552d8SNicolas Frattaroli
13354e50d217SPeter Geis	uart1: serial@fe650000 {
13364e50d217SPeter Geis		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
13374e50d217SPeter Geis		reg = <0x0 0xfe650000 0x0 0x100>;
13384e50d217SPeter Geis		interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
13394e50d217SPeter Geis		clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>;
13404e50d217SPeter Geis		clock-names = "baudclk", "apb_pclk";
13414e50d217SPeter Geis		dmas = <&dmac0 2>, <&dmac0 3>;
13424e50d217SPeter Geis		pinctrl-0 = <&uart1m0_xfer>;
13434e50d217SPeter Geis		pinctrl-names = "default";
13444e50d217SPeter Geis		reg-io-width = <4>;
13454e50d217SPeter Geis		reg-shift = <2>;
13464e50d217SPeter Geis		status = "disabled";
13474e50d217SPeter Geis	};
13484e50d217SPeter Geis
13494e50d217SPeter Geis	uart2: serial@fe660000 {
13504e50d217SPeter Geis		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
13514e50d217SPeter Geis		reg = <0x0 0xfe660000 0x0 0x100>;
13524e50d217SPeter Geis		interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
13534e50d217SPeter Geis		clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>;
13544e50d217SPeter Geis		clock-names = "baudclk", "apb_pclk";
13554e50d217SPeter Geis		dmas = <&dmac0 4>, <&dmac0 5>;
13564e50d217SPeter Geis		pinctrl-0 = <&uart2m0_xfer>;
13574e50d217SPeter Geis		pinctrl-names = "default";
13584e50d217SPeter Geis		reg-io-width = <4>;
13594e50d217SPeter Geis		reg-shift = <2>;
13604e50d217SPeter Geis		status = "disabled";
13614e50d217SPeter Geis	};
13624e50d217SPeter Geis
13634e50d217SPeter Geis	uart3: serial@fe670000 {
13644e50d217SPeter Geis		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
13654e50d217SPeter Geis		reg = <0x0 0xfe670000 0x0 0x100>;
13664e50d217SPeter Geis		interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
13674e50d217SPeter Geis		clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>;
13684e50d217SPeter Geis		clock-names = "baudclk", "apb_pclk";
13694e50d217SPeter Geis		dmas = <&dmac0 6>, <&dmac0 7>;
13704e50d217SPeter Geis		pinctrl-0 = <&uart3m0_xfer>;
13714e50d217SPeter Geis		pinctrl-names = "default";
13724e50d217SPeter Geis		reg-io-width = <4>;
13734e50d217SPeter Geis		reg-shift = <2>;
13744e50d217SPeter Geis		status = "disabled";
13754e50d217SPeter Geis	};
13764e50d217SPeter Geis
13774e50d217SPeter Geis	uart4: serial@fe680000 {
13784e50d217SPeter Geis		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
13794e50d217SPeter Geis		reg = <0x0 0xfe680000 0x0 0x100>;
13804e50d217SPeter Geis		interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
13814e50d217SPeter Geis		clocks = <&cru SCLK_UART4>, <&cru PCLK_UART4>;
13824e50d217SPeter Geis		clock-names = "baudclk", "apb_pclk";
13834e50d217SPeter Geis		dmas = <&dmac0 8>, <&dmac0 9>;
13844e50d217SPeter Geis		pinctrl-0 = <&uart4m0_xfer>;
13854e50d217SPeter Geis		pinctrl-names = "default";
13864e50d217SPeter Geis		reg-io-width = <4>;
13874e50d217SPeter Geis		reg-shift = <2>;
13884e50d217SPeter Geis		status = "disabled";
13894e50d217SPeter Geis	};
13904e50d217SPeter Geis
13914e50d217SPeter Geis	uart5: serial@fe690000 {
13924e50d217SPeter Geis		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
13934e50d217SPeter Geis		reg = <0x0 0xfe690000 0x0 0x100>;
13944e50d217SPeter Geis		interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>;
13954e50d217SPeter Geis		clocks = <&cru SCLK_UART5>, <&cru PCLK_UART5>;
13964e50d217SPeter Geis		clock-names = "baudclk", "apb_pclk";
13974e50d217SPeter Geis		dmas = <&dmac0 10>, <&dmac0 11>;
13984e50d217SPeter Geis		pinctrl-0 = <&uart5m0_xfer>;
13994e50d217SPeter Geis		pinctrl-names = "default";
14004e50d217SPeter Geis		reg-io-width = <4>;
14014e50d217SPeter Geis		reg-shift = <2>;
14024e50d217SPeter Geis		status = "disabled";
14034e50d217SPeter Geis	};
14044e50d217SPeter Geis
14054e50d217SPeter Geis	uart6: serial@fe6a0000 {
14064e50d217SPeter Geis		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
14074e50d217SPeter Geis		reg = <0x0 0xfe6a0000 0x0 0x100>;
14084e50d217SPeter Geis		interrupts = <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
14094e50d217SPeter Geis		clocks = <&cru SCLK_UART6>, <&cru PCLK_UART6>;
14104e50d217SPeter Geis		clock-names = "baudclk", "apb_pclk";
14114e50d217SPeter Geis		dmas = <&dmac0 12>, <&dmac0 13>;
14124e50d217SPeter Geis		pinctrl-0 = <&uart6m0_xfer>;
14134e50d217SPeter Geis		pinctrl-names = "default";
14144e50d217SPeter Geis		reg-io-width = <4>;
14154e50d217SPeter Geis		reg-shift = <2>;
14164e50d217SPeter Geis		status = "disabled";
14174e50d217SPeter Geis	};
14184e50d217SPeter Geis
14194e50d217SPeter Geis	uart7: serial@fe6b0000 {
14204e50d217SPeter Geis		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
14214e50d217SPeter Geis		reg = <0x0 0xfe6b0000 0x0 0x100>;
14224e50d217SPeter Geis		interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>;
14234e50d217SPeter Geis		clocks = <&cru SCLK_UART7>, <&cru PCLK_UART7>;
14244e50d217SPeter Geis		clock-names = "baudclk", "apb_pclk";
14254e50d217SPeter Geis		dmas = <&dmac0 14>, <&dmac0 15>;
14264e50d217SPeter Geis		pinctrl-0 = <&uart7m0_xfer>;
14274e50d217SPeter Geis		pinctrl-names = "default";
14284e50d217SPeter Geis		reg-io-width = <4>;
14294e50d217SPeter Geis		reg-shift = <2>;
14304e50d217SPeter Geis		status = "disabled";
14314e50d217SPeter Geis	};
14324e50d217SPeter Geis
14334e50d217SPeter Geis	uart8: serial@fe6c0000 {
14344e50d217SPeter Geis		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
14354e50d217SPeter Geis		reg = <0x0 0xfe6c0000 0x0 0x100>;
14364e50d217SPeter Geis		interrupts = <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>;
14374e50d217SPeter Geis		clocks = <&cru SCLK_UART8>, <&cru PCLK_UART8>;
14384e50d217SPeter Geis		clock-names = "baudclk", "apb_pclk";
14394e50d217SPeter Geis		dmas = <&dmac0 16>, <&dmac0 17>;
14404e50d217SPeter Geis		pinctrl-0 = <&uart8m0_xfer>;
14414e50d217SPeter Geis		pinctrl-names = "default";
14424e50d217SPeter Geis		reg-io-width = <4>;
14434e50d217SPeter Geis		reg-shift = <2>;
14444e50d217SPeter Geis		status = "disabled";
14454e50d217SPeter Geis	};
14464e50d217SPeter Geis
14474e50d217SPeter Geis	uart9: serial@fe6d0000 {
14484e50d217SPeter Geis		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
14494e50d217SPeter Geis		reg = <0x0 0xfe6d0000 0x0 0x100>;
14504e50d217SPeter Geis		interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
14514e50d217SPeter Geis		clocks = <&cru SCLK_UART9>, <&cru PCLK_UART9>;
14524e50d217SPeter Geis		clock-names = "baudclk", "apb_pclk";
14534e50d217SPeter Geis		dmas = <&dmac0 18>, <&dmac0 19>;
14544e50d217SPeter Geis		pinctrl-0 = <&uart9m0_xfer>;
14554e50d217SPeter Geis		pinctrl-names = "default";
14564e50d217SPeter Geis		reg-io-width = <4>;
14574e50d217SPeter Geis		reg-shift = <2>;
14584e50d217SPeter Geis		status = "disabled";
14594e50d217SPeter Geis	};
14604e50d217SPeter Geis
14611330875dSPeter Geis	thermal_zones: thermal-zones {
14621330875dSPeter Geis		cpu_thermal: cpu-thermal {
14631330875dSPeter Geis			polling-delay-passive = <100>;
14641330875dSPeter Geis			polling-delay = <1000>;
14651330875dSPeter Geis
14661330875dSPeter Geis			thermal-sensors = <&tsadc 0>;
14671330875dSPeter Geis
14681330875dSPeter Geis			trips {
14691330875dSPeter Geis				cpu_alert0: cpu_alert0 {
14701330875dSPeter Geis					temperature = <70000>;
14711330875dSPeter Geis					hysteresis = <2000>;
14721330875dSPeter Geis					type = "passive";
14731330875dSPeter Geis				};
14741330875dSPeter Geis				cpu_alert1: cpu_alert1 {
14751330875dSPeter Geis					temperature = <75000>;
14761330875dSPeter Geis					hysteresis = <2000>;
14771330875dSPeter Geis					type = "passive";
14781330875dSPeter Geis				};
14791330875dSPeter Geis				cpu_crit: cpu_crit {
14801330875dSPeter Geis					temperature = <95000>;
14811330875dSPeter Geis					hysteresis = <2000>;
14821330875dSPeter Geis					type = "critical";
14831330875dSPeter Geis				};
14841330875dSPeter Geis			};
14851330875dSPeter Geis
14861330875dSPeter Geis			cooling-maps {
14871330875dSPeter Geis				map0 {
14881330875dSPeter Geis					trip = <&cpu_alert0>;
14891330875dSPeter Geis					cooling-device =
14901330875dSPeter Geis						<&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
14911330875dSPeter Geis						<&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
14921330875dSPeter Geis						<&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
14931330875dSPeter Geis						<&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
14941330875dSPeter Geis				};
14951330875dSPeter Geis			};
14961330875dSPeter Geis		};
14971330875dSPeter Geis
14981330875dSPeter Geis		gpu_thermal: gpu-thermal {
14991330875dSPeter Geis			polling-delay-passive = <20>; /* milliseconds */
15001330875dSPeter Geis			polling-delay = <1000>; /* milliseconds */
15011330875dSPeter Geis
15021330875dSPeter Geis			thermal-sensors = <&tsadc 1>;
1503c0a7259fSAlex Bee
1504c0a7259fSAlex Bee			trips {
1505c0a7259fSAlex Bee				gpu_threshold: gpu-threshold {
1506c0a7259fSAlex Bee					temperature = <70000>;
1507c0a7259fSAlex Bee					hysteresis = <2000>;
1508c0a7259fSAlex Bee					type = "passive";
1509c0a7259fSAlex Bee				};
1510c0a7259fSAlex Bee				gpu_target: gpu-target {
1511c0a7259fSAlex Bee					temperature = <75000>;
1512c0a7259fSAlex Bee					hysteresis = <2000>;
1513c0a7259fSAlex Bee					type = "passive";
1514c0a7259fSAlex Bee				};
1515c0a7259fSAlex Bee				gpu_crit: gpu-crit {
1516c0a7259fSAlex Bee					temperature = <95000>;
1517c0a7259fSAlex Bee					hysteresis = <2000>;
1518c0a7259fSAlex Bee					type = "critical";
1519c0a7259fSAlex Bee				};
1520c0a7259fSAlex Bee			};
1521c0a7259fSAlex Bee
1522c0a7259fSAlex Bee			cooling-maps {
1523c0a7259fSAlex Bee				map0 {
1524c0a7259fSAlex Bee					trip = <&gpu_target>;
1525c0a7259fSAlex Bee					cooling-device =
1526c0a7259fSAlex Bee						<&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
1527c0a7259fSAlex Bee				};
1528c0a7259fSAlex Bee			};
15291330875dSPeter Geis		};
15301330875dSPeter Geis	};
15311330875dSPeter Geis
15321330875dSPeter Geis	tsadc: tsadc@fe710000 {
15331330875dSPeter Geis		compatible = "rockchip,rk3568-tsadc";
15341330875dSPeter Geis		reg = <0x0 0xfe710000 0x0 0x100>;
15351330875dSPeter Geis		interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
15361330875dSPeter Geis		assigned-clocks = <&cru CLK_TSADC_TSEN>, <&cru CLK_TSADC>;
15371330875dSPeter Geis		assigned-clock-rates = <17000000>, <700000>;
15381330875dSPeter Geis		clocks = <&cru CLK_TSADC>, <&cru PCLK_TSADC>;
15391330875dSPeter Geis		clock-names = "tsadc", "apb_pclk";
15405c9e66c6SJohan Jonker		resets = <&cru SRST_P_TSADC>, <&cru SRST_TSADC>,
15411330875dSPeter Geis			 <&cru SRST_TSADCPHY>;
15421330875dSPeter Geis		rockchip,grf = <&grf>;
15431330875dSPeter Geis		rockchip,hw-tshut-temp = <95000>;
15441330875dSPeter Geis		pinctrl-names = "init", "default", "sleep";
15451330875dSPeter Geis		pinctrl-0 = <&tsadc_pin>;
15461330875dSPeter Geis		pinctrl-1 = <&tsadc_shutorg>;
15471330875dSPeter Geis		pinctrl-2 = <&tsadc_pin>;
15481330875dSPeter Geis		#thermal-sensor-cells = <1>;
15491330875dSPeter Geis		status = "disabled";
15501330875dSPeter Geis	};
15511330875dSPeter Geis
15524e50d217SPeter Geis	saradc: saradc@fe720000 {
15534e50d217SPeter Geis		compatible = "rockchip,rk3568-saradc", "rockchip,rk3399-saradc";
15544e50d217SPeter Geis		reg = <0x0 0xfe720000 0x0 0x100>;
15554e50d217SPeter Geis		interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
15564e50d217SPeter Geis		clocks = <&cru CLK_SARADC>, <&cru PCLK_SARADC>;
15574e50d217SPeter Geis		clock-names = "saradc", "apb_pclk";
15584e50d217SPeter Geis		resets = <&cru SRST_P_SARADC>;
15594e50d217SPeter Geis		reset-names = "saradc-apb";
15604e50d217SPeter Geis		#io-channel-cells = <1>;
15614e50d217SPeter Geis		status = "disabled";
15624e50d217SPeter Geis	};
15634e50d217SPeter Geis
156498419a39SLiang Chen	pwm4: pwm@fe6e0000 {
156598419a39SLiang Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
156698419a39SLiang Chen		reg = <0x0 0xfe6e0000 0x0 0x10>;
156798419a39SLiang Chen		clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
156898419a39SLiang Chen		clock-names = "pwm", "pclk";
156998419a39SLiang Chen		pinctrl-0 = <&pwm4_pins>;
15702e4dbcf7SSascha Hauer		pinctrl-names = "default";
157198419a39SLiang Chen		#pwm-cells = <3>;
157298419a39SLiang Chen		status = "disabled";
157398419a39SLiang Chen	};
157498419a39SLiang Chen
157598419a39SLiang Chen	pwm5: pwm@fe6e0010 {
157698419a39SLiang Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
157798419a39SLiang Chen		reg = <0x0 0xfe6e0010 0x0 0x10>;
157898419a39SLiang Chen		clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
157998419a39SLiang Chen		clock-names = "pwm", "pclk";
158098419a39SLiang Chen		pinctrl-0 = <&pwm5_pins>;
15812e4dbcf7SSascha Hauer		pinctrl-names = "default";
158298419a39SLiang Chen		#pwm-cells = <3>;
158398419a39SLiang Chen		status = "disabled";
158498419a39SLiang Chen	};
158598419a39SLiang Chen
158698419a39SLiang Chen	pwm6: pwm@fe6e0020 {
158798419a39SLiang Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
158898419a39SLiang Chen		reg = <0x0 0xfe6e0020 0x0 0x10>;
158998419a39SLiang Chen		clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
159098419a39SLiang Chen		clock-names = "pwm", "pclk";
159198419a39SLiang Chen		pinctrl-0 = <&pwm6_pins>;
15922e4dbcf7SSascha Hauer		pinctrl-names = "default";
159398419a39SLiang Chen		#pwm-cells = <3>;
159498419a39SLiang Chen		status = "disabled";
159598419a39SLiang Chen	};
159698419a39SLiang Chen
159798419a39SLiang Chen	pwm7: pwm@fe6e0030 {
159898419a39SLiang Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
159998419a39SLiang Chen		reg = <0x0 0xfe6e0030 0x0 0x10>;
160098419a39SLiang Chen		clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
160198419a39SLiang Chen		clock-names = "pwm", "pclk";
160298419a39SLiang Chen		pinctrl-0 = <&pwm7_pins>;
16032e4dbcf7SSascha Hauer		pinctrl-names = "default";
160498419a39SLiang Chen		#pwm-cells = <3>;
160598419a39SLiang Chen		status = "disabled";
160698419a39SLiang Chen	};
160798419a39SLiang Chen
160898419a39SLiang Chen	pwm8: pwm@fe6f0000 {
160998419a39SLiang Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
161098419a39SLiang Chen		reg = <0x0 0xfe6f0000 0x0 0x10>;
161198419a39SLiang Chen		clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>;
161298419a39SLiang Chen		clock-names = "pwm", "pclk";
161398419a39SLiang Chen		pinctrl-0 = <&pwm8m0_pins>;
16142e4dbcf7SSascha Hauer		pinctrl-names = "default";
161598419a39SLiang Chen		#pwm-cells = <3>;
161698419a39SLiang Chen		status = "disabled";
161798419a39SLiang Chen	};
161898419a39SLiang Chen
161998419a39SLiang Chen	pwm9: pwm@fe6f0010 {
162098419a39SLiang Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
162198419a39SLiang Chen		reg = <0x0 0xfe6f0010 0x0 0x10>;
162298419a39SLiang Chen		clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>;
162398419a39SLiang Chen		clock-names = "pwm", "pclk";
162498419a39SLiang Chen		pinctrl-0 = <&pwm9m0_pins>;
16252e4dbcf7SSascha Hauer		pinctrl-names = "default";
162698419a39SLiang Chen		#pwm-cells = <3>;
162798419a39SLiang Chen		status = "disabled";
162898419a39SLiang Chen	};
162998419a39SLiang Chen
163098419a39SLiang Chen	pwm10: pwm@fe6f0020 {
163198419a39SLiang Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
163298419a39SLiang Chen		reg = <0x0 0xfe6f0020 0x0 0x10>;
163398419a39SLiang Chen		clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>;
163498419a39SLiang Chen		clock-names = "pwm", "pclk";
163598419a39SLiang Chen		pinctrl-0 = <&pwm10m0_pins>;
16362e4dbcf7SSascha Hauer		pinctrl-names = "default";
163798419a39SLiang Chen		#pwm-cells = <3>;
163898419a39SLiang Chen		status = "disabled";
163998419a39SLiang Chen	};
164098419a39SLiang Chen
164198419a39SLiang Chen	pwm11: pwm@fe6f0030 {
164298419a39SLiang Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
164398419a39SLiang Chen		reg = <0x0 0xfe6f0030 0x0 0x10>;
164498419a39SLiang Chen		clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>;
164598419a39SLiang Chen		clock-names = "pwm", "pclk";
164698419a39SLiang Chen		pinctrl-0 = <&pwm11m0_pins>;
16472e4dbcf7SSascha Hauer		pinctrl-names = "default";
164898419a39SLiang Chen		#pwm-cells = <3>;
164998419a39SLiang Chen		status = "disabled";
165098419a39SLiang Chen	};
165198419a39SLiang Chen
165298419a39SLiang Chen	pwm12: pwm@fe700000 {
165398419a39SLiang Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
165498419a39SLiang Chen		reg = <0x0 0xfe700000 0x0 0x10>;
165598419a39SLiang Chen		clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>;
165698419a39SLiang Chen		clock-names = "pwm", "pclk";
165798419a39SLiang Chen		pinctrl-0 = <&pwm12m0_pins>;
16582e4dbcf7SSascha Hauer		pinctrl-names = "default";
165998419a39SLiang Chen		#pwm-cells = <3>;
166098419a39SLiang Chen		status = "disabled";
166198419a39SLiang Chen	};
166298419a39SLiang Chen
166398419a39SLiang Chen	pwm13: pwm@fe700010 {
166498419a39SLiang Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
166598419a39SLiang Chen		reg = <0x0 0xfe700010 0x0 0x10>;
166698419a39SLiang Chen		clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>;
166798419a39SLiang Chen		clock-names = "pwm", "pclk";
166898419a39SLiang Chen		pinctrl-0 = <&pwm13m0_pins>;
16692e4dbcf7SSascha Hauer		pinctrl-names = "default";
167098419a39SLiang Chen		#pwm-cells = <3>;
167198419a39SLiang Chen		status = "disabled";
167298419a39SLiang Chen	};
167398419a39SLiang Chen
167498419a39SLiang Chen	pwm14: pwm@fe700020 {
167598419a39SLiang Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
167698419a39SLiang Chen		reg = <0x0 0xfe700020 0x0 0x10>;
167798419a39SLiang Chen		clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>;
167898419a39SLiang Chen		clock-names = "pwm", "pclk";
167998419a39SLiang Chen		pinctrl-0 = <&pwm14m0_pins>;
16802e4dbcf7SSascha Hauer		pinctrl-names = "default";
168198419a39SLiang Chen		#pwm-cells = <3>;
168298419a39SLiang Chen		status = "disabled";
168398419a39SLiang Chen	};
168498419a39SLiang Chen
168598419a39SLiang Chen	pwm15: pwm@fe700030 {
168698419a39SLiang Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
168798419a39SLiang Chen		reg = <0x0 0xfe700030 0x0 0x10>;
168898419a39SLiang Chen		clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>;
168998419a39SLiang Chen		clock-names = "pwm", "pclk";
169098419a39SLiang Chen		pinctrl-0 = <&pwm15m0_pins>;
16912e4dbcf7SSascha Hauer		pinctrl-names = "default";
169298419a39SLiang Chen		#pwm-cells = <3>;
169398419a39SLiang Chen		status = "disabled";
169498419a39SLiang Chen	};
169598419a39SLiang Chen
16963cc8cd2dSYifeng Zhao	combphy1: phy@fe830000 {
16973cc8cd2dSYifeng Zhao		compatible = "rockchip,rk3568-naneng-combphy";
16983cc8cd2dSYifeng Zhao		reg = <0x0 0xfe830000 0x0 0x100>;
16993cc8cd2dSYifeng Zhao		clocks = <&pmucru CLK_PCIEPHY1_REF>,
17003cc8cd2dSYifeng Zhao			 <&cru PCLK_PIPEPHY1>,
17013cc8cd2dSYifeng Zhao			 <&cru PCLK_PIPE>;
17023cc8cd2dSYifeng Zhao		clock-names = "ref", "apb", "pipe";
17033cc8cd2dSYifeng Zhao		assigned-clocks = <&pmucru CLK_PCIEPHY1_REF>;
17043cc8cd2dSYifeng Zhao		assigned-clock-rates = <100000000>;
17053cc8cd2dSYifeng Zhao		resets = <&cru SRST_PIPEPHY1>;
17063cc8cd2dSYifeng Zhao		rockchip,pipe-grf = <&pipegrf>;
17073cc8cd2dSYifeng Zhao		rockchip,pipe-phy-grf = <&pipe_phy_grf1>;
17083cc8cd2dSYifeng Zhao		#phy-cells = <1>;
17093cc8cd2dSYifeng Zhao		status = "disabled";
17103cc8cd2dSYifeng Zhao	};
17113cc8cd2dSYifeng Zhao
17123cc8cd2dSYifeng Zhao	combphy2: phy@fe840000 {
17133cc8cd2dSYifeng Zhao		compatible = "rockchip,rk3568-naneng-combphy";
17143cc8cd2dSYifeng Zhao		reg = <0x0 0xfe840000 0x0 0x100>;
17153cc8cd2dSYifeng Zhao		clocks = <&pmucru CLK_PCIEPHY2_REF>,
17163cc8cd2dSYifeng Zhao			 <&cru PCLK_PIPEPHY2>,
17173cc8cd2dSYifeng Zhao			 <&cru PCLK_PIPE>;
17183cc8cd2dSYifeng Zhao		clock-names = "ref", "apb", "pipe";
17193cc8cd2dSYifeng Zhao		assigned-clocks = <&pmucru CLK_PCIEPHY2_REF>;
17203cc8cd2dSYifeng Zhao		assigned-clock-rates = <100000000>;
17213cc8cd2dSYifeng Zhao		resets = <&cru SRST_PIPEPHY2>;
17223cc8cd2dSYifeng Zhao		rockchip,pipe-grf = <&pipegrf>;
17233cc8cd2dSYifeng Zhao		rockchip,pipe-phy-grf = <&pipe_phy_grf2>;
17243cc8cd2dSYifeng Zhao		#phy-cells = <1>;
17253cc8cd2dSYifeng Zhao		status = "disabled";
17263cc8cd2dSYifeng Zhao	};
17273cc8cd2dSYifeng Zhao
1728b6c22840SMichael Riesch	csi_dphy: phy@fe870000 {
1729b6c22840SMichael Riesch		compatible = "rockchip,rk3568-csi-dphy";
1730b6c22840SMichael Riesch		reg = <0x0 0xfe870000 0x0 0x10000>;
1731b6c22840SMichael Riesch		clocks = <&cru PCLK_MIPICSIPHY>;
1732b6c22840SMichael Riesch		clock-names = "pclk";
1733b6c22840SMichael Riesch		#phy-cells = <0>;
1734b6c22840SMichael Riesch		resets = <&cru SRST_P_MIPICSIPHY>;
1735b6c22840SMichael Riesch		reset-names = "apb";
1736b6c22840SMichael Riesch		rockchip,grf = <&grf>;
1737b6c22840SMichael Riesch		status = "disabled";
1738b6c22840SMichael Riesch	};
1739b6c22840SMichael Riesch
1740e18d9b09SChris Morgan	dsi_dphy0: mipi-dphy@fe850000 {
1741e18d9b09SChris Morgan		compatible = "rockchip,rk3568-dsi-dphy";
1742e18d9b09SChris Morgan		reg = <0x0 0xfe850000 0x0 0x10000>;
1743e18d9b09SChris Morgan		clock-names = "ref", "pclk";
1744e18d9b09SChris Morgan		clocks = <&pmucru CLK_MIPIDSIPHY0_REF>, <&cru PCLK_MIPIDSIPHY0>;
1745e18d9b09SChris Morgan		#phy-cells = <0>;
1746e18d9b09SChris Morgan		power-domains = <&power RK3568_PD_VO>;
1747e18d9b09SChris Morgan		reset-names = "apb";
1748e18d9b09SChris Morgan		resets = <&cru SRST_P_MIPIDSIPHY0>;
1749e18d9b09SChris Morgan		status = "disabled";
1750e18d9b09SChris Morgan	};
1751e18d9b09SChris Morgan
1752e18d9b09SChris Morgan	dsi_dphy1: mipi-dphy@fe860000 {
1753e18d9b09SChris Morgan		compatible = "rockchip,rk3568-dsi-dphy";
1754e18d9b09SChris Morgan		reg = <0x0 0xfe860000 0x0 0x10000>;
1755e18d9b09SChris Morgan		clock-names = "ref", "pclk";
1756e18d9b09SChris Morgan		clocks = <&pmucru CLK_MIPIDSIPHY1_REF>, <&cru PCLK_MIPIDSIPHY1>;
1757e18d9b09SChris Morgan		#phy-cells = <0>;
1758e18d9b09SChris Morgan		power-domains = <&power RK3568_PD_VO>;
1759e18d9b09SChris Morgan		reset-names = "apb";
1760e18d9b09SChris Morgan		resets = <&cru SRST_P_MIPIDSIPHY1>;
1761e18d9b09SChris Morgan		status = "disabled";
1762e18d9b09SChris Morgan	};
1763e18d9b09SChris Morgan
176478f71860SMichael Riesch	usb2phy0: usb2phy@fe8a0000 {
176591c4c3e0SPeter Geis		compatible = "rockchip,rk3568-usb2phy";
176691c4c3e0SPeter Geis		reg = <0x0 0xfe8a0000 0x0 0x10000>;
176791c4c3e0SPeter Geis		clocks = <&pmucru CLK_USBPHY0_REF>;
176891c4c3e0SPeter Geis		clock-names = "phyclk";
176991c4c3e0SPeter Geis		clock-output-names = "clk_usbphy0_480m";
177091c4c3e0SPeter Geis		interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>;
177191c4c3e0SPeter Geis		rockchip,usbgrf = <&usb2phy0_grf>;
177291c4c3e0SPeter Geis		#clock-cells = <0>;
177391c4c3e0SPeter Geis		status = "disabled";
177491c4c3e0SPeter Geis
177578f71860SMichael Riesch		usb2phy0_host: host-port {
177691c4c3e0SPeter Geis			#phy-cells = <0>;
177791c4c3e0SPeter Geis			status = "disabled";
177891c4c3e0SPeter Geis		};
177991c4c3e0SPeter Geis
178078f71860SMichael Riesch		usb2phy0_otg: otg-port {
178191c4c3e0SPeter Geis			#phy-cells = <0>;
178291c4c3e0SPeter Geis			status = "disabled";
178391c4c3e0SPeter Geis		};
178491c4c3e0SPeter Geis	};
178591c4c3e0SPeter Geis
178678f71860SMichael Riesch	usb2phy1: usb2phy@fe8b0000 {
178791c4c3e0SPeter Geis		compatible = "rockchip,rk3568-usb2phy";
178891c4c3e0SPeter Geis		reg = <0x0 0xfe8b0000 0x0 0x10000>;
178991c4c3e0SPeter Geis		clocks = <&pmucru CLK_USBPHY1_REF>;
179091c4c3e0SPeter Geis		clock-names = "phyclk";
179191c4c3e0SPeter Geis		clock-output-names = "clk_usbphy1_480m";
179291c4c3e0SPeter Geis		interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
179391c4c3e0SPeter Geis		rockchip,usbgrf = <&usb2phy1_grf>;
179491c4c3e0SPeter Geis		#clock-cells = <0>;
179591c4c3e0SPeter Geis		status = "disabled";
179691c4c3e0SPeter Geis
179778f71860SMichael Riesch		usb2phy1_host: host-port {
179891c4c3e0SPeter Geis			#phy-cells = <0>;
179991c4c3e0SPeter Geis			status = "disabled";
180091c4c3e0SPeter Geis		};
180191c4c3e0SPeter Geis
180278f71860SMichael Riesch		usb2phy1_otg: otg-port {
180391c4c3e0SPeter Geis			#phy-cells = <0>;
180491c4c3e0SPeter Geis			status = "disabled";
180591c4c3e0SPeter Geis		};
180691c4c3e0SPeter Geis	};
180791c4c3e0SPeter Geis
18084e50d217SPeter Geis	pinctrl: pinctrl {
18094e50d217SPeter Geis		compatible = "rockchip,rk3568-pinctrl";
18104e50d217SPeter Geis		rockchip,grf = <&grf>;
18114e50d217SPeter Geis		rockchip,pmu = <&pmugrf>;
18124e50d217SPeter Geis		#address-cells = <2>;
18134e50d217SPeter Geis		#size-cells = <2>;
18144e50d217SPeter Geis		ranges;
18154e50d217SPeter Geis
18164e50d217SPeter Geis		gpio0: gpio@fdd60000 {
18174e50d217SPeter Geis			compatible = "rockchip,gpio-bank";
18184e50d217SPeter Geis			reg = <0x0 0xfdd60000 0x0 0x100>;
18194e50d217SPeter Geis			interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
18203d9170c3SPeter Geis			clocks = <&pmucru PCLK_GPIO0>, <&pmucru DBCLK_GPIO0>;
18214e50d217SPeter Geis			gpio-controller;
18226f5ab8faSJohn Clark			gpio-ranges = <&pinctrl 0 0 32>;
18234e50d217SPeter Geis			#gpio-cells = <2>;
18244e50d217SPeter Geis			interrupt-controller;
18254e50d217SPeter Geis			#interrupt-cells = <2>;
18264e50d217SPeter Geis		};
18274e50d217SPeter Geis
18284e50d217SPeter Geis		gpio1: gpio@fe740000 {
18294e50d217SPeter Geis			compatible = "rockchip,gpio-bank";
18304e50d217SPeter Geis			reg = <0x0 0xfe740000 0x0 0x100>;
18314e50d217SPeter Geis			interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
18323d9170c3SPeter Geis			clocks = <&cru PCLK_GPIO1>, <&cru DBCLK_GPIO1>;
18334e50d217SPeter Geis			gpio-controller;
18346f5ab8faSJohn Clark			gpio-ranges = <&pinctrl 0 32 32>;
18354e50d217SPeter Geis			#gpio-cells = <2>;
18364e50d217SPeter Geis			interrupt-controller;
18374e50d217SPeter Geis			#interrupt-cells = <2>;
18384e50d217SPeter Geis		};
18394e50d217SPeter Geis
18404e50d217SPeter Geis		gpio2: gpio@fe750000 {
18414e50d217SPeter Geis			compatible = "rockchip,gpio-bank";
18424e50d217SPeter Geis			reg = <0x0 0xfe750000 0x0 0x100>;
18434e50d217SPeter Geis			interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
18443d9170c3SPeter Geis			clocks = <&cru PCLK_GPIO2>, <&cru DBCLK_GPIO2>;
18454e50d217SPeter Geis			gpio-controller;
18466f5ab8faSJohn Clark			gpio-ranges = <&pinctrl 0 64 32>;
18474e50d217SPeter Geis			#gpio-cells = <2>;
18484e50d217SPeter Geis			interrupt-controller;
18494e50d217SPeter Geis			#interrupt-cells = <2>;
18504e50d217SPeter Geis		};
18514e50d217SPeter Geis
18524e50d217SPeter Geis		gpio3: gpio@fe760000 {
18534e50d217SPeter Geis			compatible = "rockchip,gpio-bank";
18544e50d217SPeter Geis			reg = <0x0 0xfe760000 0x0 0x100>;
18554e50d217SPeter Geis			interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
18563d9170c3SPeter Geis			clocks = <&cru PCLK_GPIO3>, <&cru DBCLK_GPIO3>;
18574e50d217SPeter Geis			gpio-controller;
18586f5ab8faSJohn Clark			gpio-ranges = <&pinctrl 0 96 32>;
18594e50d217SPeter Geis			#gpio-cells = <2>;
18604e50d217SPeter Geis			interrupt-controller;
18614e50d217SPeter Geis			#interrupt-cells = <2>;
18624e50d217SPeter Geis		};
18634e50d217SPeter Geis
18644e50d217SPeter Geis		gpio4: gpio@fe770000 {
18654e50d217SPeter Geis			compatible = "rockchip,gpio-bank";
18664e50d217SPeter Geis			reg = <0x0 0xfe770000 0x0 0x100>;
18674e50d217SPeter Geis			interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
18683d9170c3SPeter Geis			clocks = <&cru PCLK_GPIO4>, <&cru DBCLK_GPIO4>;
18694e50d217SPeter Geis			gpio-controller;
18706f5ab8faSJohn Clark			gpio-ranges = <&pinctrl 0 128 32>;
18714e50d217SPeter Geis			#gpio-cells = <2>;
18724e50d217SPeter Geis			interrupt-controller;
18734e50d217SPeter Geis			#interrupt-cells = <2>;
18744e50d217SPeter Geis		};
18754e50d217SPeter Geis	};
18764e50d217SPeter Geis};
18774e50d217SPeter Geis
18784e50d217SPeter Geis#include "rk3568-pinctrl.dtsi"
1879