14e50d217SPeter Geis// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
24e50d217SPeter Geis/*
34e50d217SPeter Geis * Copyright (c) 2021 Rockchip Electronics Co., Ltd.
44e50d217SPeter Geis */
54e50d217SPeter Geis
64e50d217SPeter Geis#include <dt-bindings/clock/rk3568-cru.h>
74e50d217SPeter Geis#include <dt-bindings/interrupt-controller/arm-gic.h>
84e50d217SPeter Geis#include <dt-bindings/interrupt-controller/irq.h>
94e50d217SPeter Geis#include <dt-bindings/phy/phy.h>
104e50d217SPeter Geis#include <dt-bindings/pinctrl/rockchip.h>
114e50d217SPeter Geis#include <dt-bindings/power/rk3568-power.h>
124e50d217SPeter Geis#include <dt-bindings/soc/rockchip,boot-mode.h>
134e50d217SPeter Geis#include <dt-bindings/thermal/thermal.h>
144e50d217SPeter Geis
154e50d217SPeter Geis/ {
164e50d217SPeter Geis	interrupt-parent = <&gic>;
174e50d217SPeter Geis	#address-cells = <2>;
184e50d217SPeter Geis	#size-cells = <2>;
194e50d217SPeter Geis
204e50d217SPeter Geis	aliases {
214e50d217SPeter Geis		gpio0 = &gpio0;
224e50d217SPeter Geis		gpio1 = &gpio1;
234e50d217SPeter Geis		gpio2 = &gpio2;
244e50d217SPeter Geis		gpio3 = &gpio3;
254e50d217SPeter Geis		gpio4 = &gpio4;
264e50d217SPeter Geis		i2c0 = &i2c0;
274e50d217SPeter Geis		i2c1 = &i2c1;
284e50d217SPeter Geis		i2c2 = &i2c2;
294e50d217SPeter Geis		i2c3 = &i2c3;
304e50d217SPeter Geis		i2c4 = &i2c4;
314e50d217SPeter Geis		i2c5 = &i2c5;
324e50d217SPeter Geis		serial0 = &uart0;
334e50d217SPeter Geis		serial1 = &uart1;
344e50d217SPeter Geis		serial2 = &uart2;
354e50d217SPeter Geis		serial3 = &uart3;
364e50d217SPeter Geis		serial4 = &uart4;
374e50d217SPeter Geis		serial5 = &uart5;
384e50d217SPeter Geis		serial6 = &uart6;
394e50d217SPeter Geis		serial7 = &uart7;
404e50d217SPeter Geis		serial8 = &uart8;
414e50d217SPeter Geis		serial9 = &uart9;
42aaa552d8SNicolas Frattaroli		spi0 = &spi0;
43aaa552d8SNicolas Frattaroli		spi1 = &spi1;
44aaa552d8SNicolas Frattaroli		spi2 = &spi2;
45aaa552d8SNicolas Frattaroli		spi3 = &spi3;
464e50d217SPeter Geis	};
474e50d217SPeter Geis
484e50d217SPeter Geis	cpus {
494e50d217SPeter Geis		#address-cells = <2>;
504e50d217SPeter Geis		#size-cells = <0>;
514e50d217SPeter Geis
524e50d217SPeter Geis		cpu0: cpu@0 {
534e50d217SPeter Geis			device_type = "cpu";
544e50d217SPeter Geis			compatible = "arm,cortex-a55";
554e50d217SPeter Geis			reg = <0x0 0x0>;
564e50d217SPeter Geis			clocks = <&scmi_clk 0>;
571330875dSPeter Geis			#cooling-cells = <2>;
584e50d217SPeter Geis			enable-method = "psci";
594e50d217SPeter Geis			operating-points-v2 = <&cpu0_opp_table>;
604e50d217SPeter Geis		};
614e50d217SPeter Geis
624e50d217SPeter Geis		cpu1: cpu@100 {
634e50d217SPeter Geis			device_type = "cpu";
644e50d217SPeter Geis			compatible = "arm,cortex-a55";
654e50d217SPeter Geis			reg = <0x0 0x100>;
661330875dSPeter Geis			#cooling-cells = <2>;
674e50d217SPeter Geis			enable-method = "psci";
684e50d217SPeter Geis			operating-points-v2 = <&cpu0_opp_table>;
694e50d217SPeter Geis		};
704e50d217SPeter Geis
714e50d217SPeter Geis		cpu2: cpu@200 {
724e50d217SPeter Geis			device_type = "cpu";
734e50d217SPeter Geis			compatible = "arm,cortex-a55";
744e50d217SPeter Geis			reg = <0x0 0x200>;
751330875dSPeter Geis			#cooling-cells = <2>;
764e50d217SPeter Geis			enable-method = "psci";
774e50d217SPeter Geis			operating-points-v2 = <&cpu0_opp_table>;
784e50d217SPeter Geis		};
794e50d217SPeter Geis
804e50d217SPeter Geis		cpu3: cpu@300 {
814e50d217SPeter Geis			device_type = "cpu";
824e50d217SPeter Geis			compatible = "arm,cortex-a55";
834e50d217SPeter Geis			reg = <0x0 0x300>;
841330875dSPeter Geis			#cooling-cells = <2>;
854e50d217SPeter Geis			enable-method = "psci";
864e50d217SPeter Geis			operating-points-v2 = <&cpu0_opp_table>;
874e50d217SPeter Geis		};
884e50d217SPeter Geis	};
894e50d217SPeter Geis
90a30f3d90SKrzysztof Kozlowski	cpu0_opp_table: opp-table-0 {
914e50d217SPeter Geis		compatible = "operating-points-v2";
924e50d217SPeter Geis		opp-shared;
934e50d217SPeter Geis
944e50d217SPeter Geis		opp-408000000 {
954e50d217SPeter Geis			opp-hz = /bits/ 64 <408000000>;
964e50d217SPeter Geis			opp-microvolt = <900000 900000 1150000>;
974e50d217SPeter Geis			clock-latency-ns = <40000>;
984e50d217SPeter Geis		};
994e50d217SPeter Geis
1004e50d217SPeter Geis		opp-600000000 {
1014e50d217SPeter Geis			opp-hz = /bits/ 64 <600000000>;
1024e50d217SPeter Geis			opp-microvolt = <900000 900000 1150000>;
1034e50d217SPeter Geis		};
1044e50d217SPeter Geis
1054e50d217SPeter Geis		opp-816000000 {
1064e50d217SPeter Geis			opp-hz = /bits/ 64 <816000000>;
1074e50d217SPeter Geis			opp-microvolt = <900000 900000 1150000>;
1084e50d217SPeter Geis			opp-suspend;
1094e50d217SPeter Geis		};
1104e50d217SPeter Geis
1114e50d217SPeter Geis		opp-1104000000 {
1124e50d217SPeter Geis			opp-hz = /bits/ 64 <1104000000>;
1134e50d217SPeter Geis			opp-microvolt = <900000 900000 1150000>;
1144e50d217SPeter Geis		};
1154e50d217SPeter Geis
1164e50d217SPeter Geis		opp-1416000000 {
1174e50d217SPeter Geis			opp-hz = /bits/ 64 <1416000000>;
1184e50d217SPeter Geis			opp-microvolt = <900000 900000 1150000>;
1194e50d217SPeter Geis		};
1204e50d217SPeter Geis
1214e50d217SPeter Geis		opp-1608000000 {
1224e50d217SPeter Geis			opp-hz = /bits/ 64 <1608000000>;
1234e50d217SPeter Geis			opp-microvolt = <975000 975000 1150000>;
1244e50d217SPeter Geis		};
1254e50d217SPeter Geis
1264e50d217SPeter Geis		opp-1800000000 {
1274e50d217SPeter Geis			opp-hz = /bits/ 64 <1800000000>;
1284e50d217SPeter Geis			opp-microvolt = <1050000 1050000 1150000>;
1294e50d217SPeter Geis		};
1304e50d217SPeter Geis	};
1314e50d217SPeter Geis
1324e50d217SPeter Geis	firmware {
1334e50d217SPeter Geis		scmi: scmi {
1344e50d217SPeter Geis			compatible = "arm,scmi-smc";
1354e50d217SPeter Geis			arm,smc-id = <0x82000010>;
1364e50d217SPeter Geis			shmem = <&scmi_shmem>;
1374e50d217SPeter Geis			#address-cells = <1>;
1384e50d217SPeter Geis			#size-cells = <0>;
1394e50d217SPeter Geis
1404e50d217SPeter Geis			scmi_clk: protocol@14 {
1414e50d217SPeter Geis				reg = <0x14>;
1424e50d217SPeter Geis				#clock-cells = <1>;
1434e50d217SPeter Geis			};
1444e50d217SPeter Geis		};
1454e50d217SPeter Geis	};
1464e50d217SPeter Geis
1474e50d217SPeter Geis	pmu {
1484e50d217SPeter Geis		compatible = "arm,cortex-a55-pmu";
1494e50d217SPeter Geis		interrupts = <GIC_SPI 228 IRQ_TYPE_LEVEL_HIGH>,
1504e50d217SPeter Geis			     <GIC_SPI 229 IRQ_TYPE_LEVEL_HIGH>,
1514e50d217SPeter Geis			     <GIC_SPI 230 IRQ_TYPE_LEVEL_HIGH>,
1524e50d217SPeter Geis			     <GIC_SPI 231 IRQ_TYPE_LEVEL_HIGH>;
1534e50d217SPeter Geis		interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
1544e50d217SPeter Geis	};
1554e50d217SPeter Geis
1564e50d217SPeter Geis	psci {
1574e50d217SPeter Geis		compatible = "arm,psci-1.0";
1584e50d217SPeter Geis		method = "smc";
1594e50d217SPeter Geis	};
1604e50d217SPeter Geis
1614e50d217SPeter Geis	timer {
1624e50d217SPeter Geis		compatible = "arm,armv8-timer";
1634e50d217SPeter Geis		interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_HIGH>,
1644e50d217SPeter Geis			     <GIC_PPI 14 IRQ_TYPE_LEVEL_HIGH>,
1654e50d217SPeter Geis			     <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH>,
1664e50d217SPeter Geis			     <GIC_PPI 10 IRQ_TYPE_LEVEL_HIGH>;
1674e50d217SPeter Geis		arm,no-tick-in-suspend;
1684e50d217SPeter Geis	};
1694e50d217SPeter Geis
1704e50d217SPeter Geis	xin24m: xin24m {
1714e50d217SPeter Geis		compatible = "fixed-clock";
1724e50d217SPeter Geis		clock-frequency = <24000000>;
1734e50d217SPeter Geis		clock-output-names = "xin24m";
1744e50d217SPeter Geis		#clock-cells = <0>;
1754e50d217SPeter Geis	};
1764e50d217SPeter Geis
1774e50d217SPeter Geis	xin32k: xin32k {
1784e50d217SPeter Geis		compatible = "fixed-clock";
1794e50d217SPeter Geis		clock-frequency = <32768>;
1804e50d217SPeter Geis		clock-output-names = "xin32k";
1814e50d217SPeter Geis		pinctrl-0 = <&clk32k_out0>;
1824e50d217SPeter Geis		pinctrl-names = "default";
1834e50d217SPeter Geis		#clock-cells = <0>;
1844e50d217SPeter Geis	};
1854e50d217SPeter Geis
1864e50d217SPeter Geis	sram@10f000 {
1874e50d217SPeter Geis		compatible = "mmio-sram";
1884e50d217SPeter Geis		reg = <0x0 0x0010f000 0x0 0x100>;
1894e50d217SPeter Geis		#address-cells = <1>;
1904e50d217SPeter Geis		#size-cells = <1>;
1914e50d217SPeter Geis		ranges = <0 0x0 0x0010f000 0x100>;
1924e50d217SPeter Geis
1934e50d217SPeter Geis		scmi_shmem: sram@0 {
1944e50d217SPeter Geis			compatible = "arm,scmi-shmem";
1954e50d217SPeter Geis			reg = <0x0 0x100>;
1964e50d217SPeter Geis		};
1974e50d217SPeter Geis	};
1984e50d217SPeter Geis
1994e50d217SPeter Geis	gic: interrupt-controller@fd400000 {
2004e50d217SPeter Geis		compatible = "arm,gic-v3";
2014e50d217SPeter Geis		reg = <0x0 0xfd400000 0 0x10000>, /* GICD */
2024e50d217SPeter Geis		      <0x0 0xfd460000 0 0x80000>; /* GICR */
2034e50d217SPeter Geis		interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
2044e50d217SPeter Geis		interrupt-controller;
2054e50d217SPeter Geis		#interrupt-cells = <3>;
206b6c1a590SPeter Geis		mbi-alias = <0x0 0xfd410000>;
2074e50d217SPeter Geis		mbi-ranges = <296 24>;
2084e50d217SPeter Geis		msi-controller;
2094e50d217SPeter Geis	};
2104e50d217SPeter Geis
21191c4c3e0SPeter Geis	usb_host0_ehci: usb@fd800000 {
21291c4c3e0SPeter Geis		compatible = "generic-ehci";
21391c4c3e0SPeter Geis		reg = <0x0 0xfd800000 0x0 0x40000>;
21491c4c3e0SPeter Geis		interrupts = <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>;
21591c4c3e0SPeter Geis		clocks = <&cru HCLK_USB2HOST0>, <&cru HCLK_USB2HOST0_ARB>,
21691c4c3e0SPeter Geis			 <&cru PCLK_USB>;
217*78f71860SMichael Riesch		phys = <&usb2phy1_otg>;
21891c4c3e0SPeter Geis		phy-names = "usb";
21991c4c3e0SPeter Geis		status = "disabled";
22091c4c3e0SPeter Geis	};
22191c4c3e0SPeter Geis
22291c4c3e0SPeter Geis	usb_host0_ohci: usb@fd840000 {
22391c4c3e0SPeter Geis		compatible = "generic-ohci";
22491c4c3e0SPeter Geis		reg = <0x0 0xfd840000 0x0 0x40000>;
22591c4c3e0SPeter Geis		interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>;
22691c4c3e0SPeter Geis		clocks = <&cru HCLK_USB2HOST0>, <&cru HCLK_USB2HOST0_ARB>,
22791c4c3e0SPeter Geis			 <&cru PCLK_USB>;
228*78f71860SMichael Riesch		phys = <&usb2phy1_otg>;
22991c4c3e0SPeter Geis		phy-names = "usb";
23091c4c3e0SPeter Geis		status = "disabled";
23191c4c3e0SPeter Geis	};
23291c4c3e0SPeter Geis
23391c4c3e0SPeter Geis	usb_host1_ehci: usb@fd880000 {
23491c4c3e0SPeter Geis		compatible = "generic-ehci";
23591c4c3e0SPeter Geis		reg = <0x0 0xfd880000 0x0 0x40000>;
23691c4c3e0SPeter Geis		interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
23791c4c3e0SPeter Geis		clocks = <&cru HCLK_USB2HOST1>, <&cru HCLK_USB2HOST1_ARB>,
23891c4c3e0SPeter Geis			 <&cru PCLK_USB>;
239*78f71860SMichael Riesch		phys = <&usb2phy1_host>;
24091c4c3e0SPeter Geis		phy-names = "usb";
24191c4c3e0SPeter Geis		status = "disabled";
24291c4c3e0SPeter Geis	};
24391c4c3e0SPeter Geis
24491c4c3e0SPeter Geis	usb_host1_ohci: usb@fd8c0000 {
24591c4c3e0SPeter Geis		compatible = "generic-ohci";
24691c4c3e0SPeter Geis		reg = <0x0 0xfd8c0000 0x0 0x40000>;
24791c4c3e0SPeter Geis		interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>;
24891c4c3e0SPeter Geis		clocks = <&cru HCLK_USB2HOST1>, <&cru HCLK_USB2HOST1_ARB>,
24991c4c3e0SPeter Geis			 <&cru PCLK_USB>;
250*78f71860SMichael Riesch		phys = <&usb2phy1_host>;
25191c4c3e0SPeter Geis		phy-names = "usb";
25291c4c3e0SPeter Geis		status = "disabled";
25391c4c3e0SPeter Geis	};
25491c4c3e0SPeter Geis
2554e50d217SPeter Geis	pmugrf: syscon@fdc20000 {
2564e50d217SPeter Geis		compatible = "rockchip,rk3568-pmugrf", "syscon", "simple-mfd";
2574e50d217SPeter Geis		reg = <0x0 0xfdc20000 0x0 0x10000>;
2582dbcb251SMichael Riesch
2592dbcb251SMichael Riesch		pmu_io_domains: io-domains {
2602dbcb251SMichael Riesch			compatible = "rockchip,rk3568-pmu-io-voltage-domain";
2612dbcb251SMichael Riesch			status = "disabled";
2622dbcb251SMichael Riesch		};
2634e50d217SPeter Geis	};
2644e50d217SPeter Geis
2654e50d217SPeter Geis	grf: syscon@fdc60000 {
2664e50d217SPeter Geis		compatible = "rockchip,rk3568-grf", "syscon", "simple-mfd";
2674e50d217SPeter Geis		reg = <0x0 0xfdc60000 0x0 0x10000>;
2684e50d217SPeter Geis	};
2694e50d217SPeter Geis
27091c4c3e0SPeter Geis	usb2phy0_grf: syscon@fdca0000 {
27191c4c3e0SPeter Geis		compatible = "rockchip,rk3568-usb2phy-grf", "syscon";
27291c4c3e0SPeter Geis		reg = <0x0 0xfdca0000 0x0 0x8000>;
27391c4c3e0SPeter Geis	};
27491c4c3e0SPeter Geis
27591c4c3e0SPeter Geis	usb2phy1_grf: syscon@fdca8000 {
27691c4c3e0SPeter Geis		compatible = "rockchip,rk3568-usb2phy-grf", "syscon";
27791c4c3e0SPeter Geis		reg = <0x0 0xfdca8000 0x0 0x8000>;
27891c4c3e0SPeter Geis	};
27991c4c3e0SPeter Geis
2804e50d217SPeter Geis	pmucru: clock-controller@fdd00000 {
2814e50d217SPeter Geis		compatible = "rockchip,rk3568-pmucru";
2824e50d217SPeter Geis		reg = <0x0 0xfdd00000 0x0 0x1000>;
2834e50d217SPeter Geis		#clock-cells = <1>;
2844e50d217SPeter Geis		#reset-cells = <1>;
2854e50d217SPeter Geis	};
2864e50d217SPeter Geis
2874e50d217SPeter Geis	cru: clock-controller@fdd20000 {
2884e50d217SPeter Geis		compatible = "rockchip,rk3568-cru";
2894e50d217SPeter Geis		reg = <0x0 0xfdd20000 0x0 0x1000>;
2904e50d217SPeter Geis		#clock-cells = <1>;
2914e50d217SPeter Geis		#reset-cells = <1>;
292f7c5b9c2SPeter Geis		assigned-clocks = <&cru PLL_GPLL>, <&pmucru PLL_PPLL>;
293f7c5b9c2SPeter Geis		assigned-clock-rates = <1200000000>, <200000000>;
29495ad4dbeSMichael Riesch		rockchip,grf = <&grf>;
2954e50d217SPeter Geis	};
2964e50d217SPeter Geis
2974e50d217SPeter Geis	i2c0: i2c@fdd40000 {
2984e50d217SPeter Geis		compatible = "rockchip,rk3568-i2c", "rockchip,rk3399-i2c";
2994e50d217SPeter Geis		reg = <0x0 0xfdd40000 0x0 0x1000>;
3004e50d217SPeter Geis		interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
3014e50d217SPeter Geis		clocks = <&pmucru CLK_I2C0>, <&pmucru PCLK_I2C0>;
3024e50d217SPeter Geis		clock-names = "i2c", "pclk";
3034e50d217SPeter Geis		pinctrl-0 = <&i2c0_xfer>;
3044e50d217SPeter Geis		pinctrl-names = "default";
3054e50d217SPeter Geis		#address-cells = <1>;
3064e50d217SPeter Geis		#size-cells = <0>;
3074e50d217SPeter Geis		status = "disabled";
3084e50d217SPeter Geis	};
3094e50d217SPeter Geis
3104e50d217SPeter Geis	uart0: serial@fdd50000 {
3114e50d217SPeter Geis		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
3124e50d217SPeter Geis		reg = <0x0 0xfdd50000 0x0 0x100>;
3134e50d217SPeter Geis		interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
3144e50d217SPeter Geis		clocks = <&pmucru SCLK_UART0>, <&pmucru PCLK_UART0>;
3154e50d217SPeter Geis		clock-names = "baudclk", "apb_pclk";
3164e50d217SPeter Geis		dmas = <&dmac0 0>, <&dmac0 1>;
3174e50d217SPeter Geis		pinctrl-0 = <&uart0_xfer>;
3184e50d217SPeter Geis		pinctrl-names = "default";
3194e50d217SPeter Geis		reg-io-width = <4>;
3204e50d217SPeter Geis		reg-shift = <2>;
3214e50d217SPeter Geis		status = "disabled";
3224e50d217SPeter Geis	};
3234e50d217SPeter Geis
32498419a39SLiang Chen	pwm0: pwm@fdd70000 {
32598419a39SLiang Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
32698419a39SLiang Chen		reg = <0x0 0xfdd70000 0x0 0x10>;
32798419a39SLiang Chen		clocks = <&pmucru CLK_PWM0>, <&pmucru PCLK_PWM0>;
32898419a39SLiang Chen		clock-names = "pwm", "pclk";
32998419a39SLiang Chen		pinctrl-0 = <&pwm0m0_pins>;
3302e4dbcf7SSascha Hauer		pinctrl-names = "default";
33198419a39SLiang Chen		#pwm-cells = <3>;
33298419a39SLiang Chen		status = "disabled";
33398419a39SLiang Chen	};
33498419a39SLiang Chen
33598419a39SLiang Chen	pwm1: pwm@fdd70010 {
33698419a39SLiang Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
33798419a39SLiang Chen		reg = <0x0 0xfdd70010 0x0 0x10>;
33898419a39SLiang Chen		clocks = <&pmucru CLK_PWM0>, <&pmucru PCLK_PWM0>;
33998419a39SLiang Chen		clock-names = "pwm", "pclk";
34098419a39SLiang Chen		pinctrl-0 = <&pwm1m0_pins>;
3412e4dbcf7SSascha Hauer		pinctrl-names = "default";
34298419a39SLiang Chen		#pwm-cells = <3>;
34398419a39SLiang Chen		status = "disabled";
34498419a39SLiang Chen	};
34598419a39SLiang Chen
34698419a39SLiang Chen	pwm2: pwm@fdd70020 {
34798419a39SLiang Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
34898419a39SLiang Chen		reg = <0x0 0xfdd70020 0x0 0x10>;
34998419a39SLiang Chen		clocks = <&pmucru CLK_PWM0>, <&pmucru PCLK_PWM0>;
35098419a39SLiang Chen		clock-names = "pwm", "pclk";
35198419a39SLiang Chen		pinctrl-0 = <&pwm2m0_pins>;
3522e4dbcf7SSascha Hauer		pinctrl-names = "default";
35398419a39SLiang Chen		#pwm-cells = <3>;
35498419a39SLiang Chen		status = "disabled";
35598419a39SLiang Chen	};
35698419a39SLiang Chen
35798419a39SLiang Chen	pwm3: pwm@fdd70030 {
35898419a39SLiang Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
35998419a39SLiang Chen		reg = <0x0 0xfdd70030 0x0 0x10>;
36098419a39SLiang Chen		clocks = <&pmucru CLK_PWM0>, <&pmucru PCLK_PWM0>;
36198419a39SLiang Chen		clock-names = "pwm", "pclk";
36298419a39SLiang Chen		pinctrl-0 = <&pwm3_pins>;
3632e4dbcf7SSascha Hauer		pinctrl-names = "default";
36498419a39SLiang Chen		#pwm-cells = <3>;
36598419a39SLiang Chen		status = "disabled";
36698419a39SLiang Chen	};
36798419a39SLiang Chen
3684e50d217SPeter Geis	pmu: power-management@fdd90000 {
3694e50d217SPeter Geis		compatible = "rockchip,rk3568-pmu", "syscon", "simple-mfd";
3704e50d217SPeter Geis		reg = <0x0 0xfdd90000 0x0 0x1000>;
3714e50d217SPeter Geis
3724e50d217SPeter Geis		power: power-controller {
3734e50d217SPeter Geis			compatible = "rockchip,rk3568-power-controller";
3744e50d217SPeter Geis			#power-domain-cells = <1>;
3754e50d217SPeter Geis			#address-cells = <1>;
3764e50d217SPeter Geis			#size-cells = <0>;
3774e50d217SPeter Geis
3784e50d217SPeter Geis			/* These power domains are grouped by VD_GPU */
3794e50d217SPeter Geis			power-domain@RK3568_PD_GPU {
3804e50d217SPeter Geis				reg = <RK3568_PD_GPU>;
3814e50d217SPeter Geis				clocks = <&cru ACLK_GPU_PRE>,
3824e50d217SPeter Geis					 <&cru PCLK_GPU_PRE>;
3834e50d217SPeter Geis				pm_qos = <&qos_gpu>;
3844e50d217SPeter Geis				#power-domain-cells = <0>;
3854e50d217SPeter Geis			};
3864e50d217SPeter Geis
3874e50d217SPeter Geis			/* These power domains are grouped by VD_LOGIC */
3884e50d217SPeter Geis			power-domain@RK3568_PD_VI {
3894e50d217SPeter Geis				reg = <RK3568_PD_VI>;
3904e50d217SPeter Geis				clocks = <&cru HCLK_VI>,
3914e50d217SPeter Geis					 <&cru PCLK_VI>;
3924e50d217SPeter Geis				pm_qos = <&qos_isp>,
3934e50d217SPeter Geis					 <&qos_vicap0>,
3944e50d217SPeter Geis					 <&qos_vicap1>;
3954e50d217SPeter Geis				#power-domain-cells = <0>;
3964e50d217SPeter Geis			};
3974e50d217SPeter Geis
3984e50d217SPeter Geis			power-domain@RK3568_PD_VO {
3994e50d217SPeter Geis				reg = <RK3568_PD_VO>;
4004e50d217SPeter Geis				clocks = <&cru HCLK_VO>,
4014e50d217SPeter Geis					 <&cru PCLK_VO>,
4024e50d217SPeter Geis					 <&cru ACLK_VOP_PRE>;
4034e50d217SPeter Geis				pm_qos = <&qos_hdcp>,
4044e50d217SPeter Geis					 <&qos_vop_m0>,
4054e50d217SPeter Geis					 <&qos_vop_m1>;
4064e50d217SPeter Geis				#power-domain-cells = <0>;
4074e50d217SPeter Geis			};
4084e50d217SPeter Geis
4094e50d217SPeter Geis			power-domain@RK3568_PD_RGA {
4104e50d217SPeter Geis				reg = <RK3568_PD_RGA>;
4114e50d217SPeter Geis				clocks = <&cru HCLK_RGA_PRE>,
4124e50d217SPeter Geis					 <&cru PCLK_RGA_PRE>;
4134e50d217SPeter Geis				pm_qos = <&qos_ebc>,
4144e50d217SPeter Geis					 <&qos_iep>,
4154e50d217SPeter Geis					 <&qos_jpeg_dec>,
4164e50d217SPeter Geis					 <&qos_jpeg_enc>,
4174e50d217SPeter Geis					 <&qos_rga_rd>,
4184e50d217SPeter Geis					 <&qos_rga_wr>;
4194e50d217SPeter Geis				#power-domain-cells = <0>;
4204e50d217SPeter Geis			};
4214e50d217SPeter Geis
4224e50d217SPeter Geis			power-domain@RK3568_PD_VPU {
4234e50d217SPeter Geis				reg = <RK3568_PD_VPU>;
4244e50d217SPeter Geis				clocks = <&cru HCLK_VPU_PRE>;
4254e50d217SPeter Geis				pm_qos = <&qos_vpu>;
4264e50d217SPeter Geis				#power-domain-cells = <0>;
4274e50d217SPeter Geis			};
4284e50d217SPeter Geis
4294e50d217SPeter Geis			power-domain@RK3568_PD_RKVDEC {
4304e50d217SPeter Geis				clocks = <&cru HCLK_RKVDEC_PRE>;
4314e50d217SPeter Geis				reg = <RK3568_PD_RKVDEC>;
4324e50d217SPeter Geis				pm_qos = <&qos_rkvdec>;
4334e50d217SPeter Geis				#power-domain-cells = <0>;
4344e50d217SPeter Geis			};
4354e50d217SPeter Geis
4364e50d217SPeter Geis			power-domain@RK3568_PD_RKVENC {
4374e50d217SPeter Geis				reg = <RK3568_PD_RKVENC>;
4384e50d217SPeter Geis				clocks = <&cru HCLK_RKVENC_PRE>;
4394e50d217SPeter Geis				pm_qos = <&qos_rkvenc_rd_m0>,
4404e50d217SPeter Geis					 <&qos_rkvenc_rd_m1>,
4414e50d217SPeter Geis					 <&qos_rkvenc_wr_m0>;
4424e50d217SPeter Geis				#power-domain-cells = <0>;
4434e50d217SPeter Geis			};
4444e50d217SPeter Geis		};
4454e50d217SPeter Geis	};
4464e50d217SPeter Geis
4474e50d217SPeter Geis	sdmmc2: mmc@fe000000 {
4484e50d217SPeter Geis		compatible = "rockchip,rk3568-dw-mshc", "rockchip,rk3288-dw-mshc";
4494e50d217SPeter Geis		reg = <0x0 0xfe000000 0x0 0x4000>;
4504e50d217SPeter Geis		interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
4514e50d217SPeter Geis		clocks = <&cru HCLK_SDMMC2>, <&cru CLK_SDMMC2>,
4524e50d217SPeter Geis			 <&cru SCLK_SDMMC2_DRV>, <&cru SCLK_SDMMC2_SAMPLE>;
4534e50d217SPeter Geis		clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
4544e50d217SPeter Geis		fifo-depth = <0x100>;
4554e50d217SPeter Geis		max-frequency = <150000000>;
4564e50d217SPeter Geis		resets = <&cru SRST_SDMMC2>;
4574e50d217SPeter Geis		reset-names = "reset";
4584e50d217SPeter Geis		status = "disabled";
4594e50d217SPeter Geis	};
4604e50d217SPeter Geis
4610dcec571SPeter Geis	gmac1: ethernet@fe010000 {
4620dcec571SPeter Geis		compatible = "rockchip,rk3568-gmac", "snps,dwmac-4.20a";
4630dcec571SPeter Geis		reg = <0x0 0xfe010000 0x0 0x10000>;
4640dcec571SPeter Geis		interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>,
4650dcec571SPeter Geis			     <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
4660dcec571SPeter Geis		interrupt-names = "macirq", "eth_wake_irq";
4670dcec571SPeter Geis		clocks = <&cru SCLK_GMAC1>, <&cru SCLK_GMAC1_RX_TX>,
4680dcec571SPeter Geis			 <&cru SCLK_GMAC1_RX_TX>, <&cru CLK_MAC1_REFOUT>,
4690dcec571SPeter Geis			 <&cru ACLK_GMAC1>, <&cru PCLK_GMAC1>,
4700dcec571SPeter Geis			 <&cru SCLK_GMAC1_RX_TX>, <&cru CLK_GMAC1_PTP_REF>;
4710dcec571SPeter Geis		clock-names = "stmmaceth", "mac_clk_rx",
4720dcec571SPeter Geis			      "mac_clk_tx", "clk_mac_refout",
4730dcec571SPeter Geis			      "aclk_mac", "pclk_mac",
4740dcec571SPeter Geis			      "clk_mac_speed", "ptp_ref";
4750dcec571SPeter Geis		resets = <&cru SRST_A_GMAC1>;
4760dcec571SPeter Geis		reset-names = "stmmaceth";
4770dcec571SPeter Geis		rockchip,grf = <&grf>;
4780dcec571SPeter Geis		snps,axi-config = <&gmac1_stmmac_axi_setup>;
4790dcec571SPeter Geis		snps,mixed-burst;
4800dcec571SPeter Geis		snps,mtl-rx-config = <&gmac1_mtl_rx_setup>;
4810dcec571SPeter Geis		snps,mtl-tx-config = <&gmac1_mtl_tx_setup>;
4820dcec571SPeter Geis		snps,tso;
4830dcec571SPeter Geis		status = "disabled";
4840dcec571SPeter Geis
4850dcec571SPeter Geis		mdio1: mdio {
4860dcec571SPeter Geis			compatible = "snps,dwmac-mdio";
4870dcec571SPeter Geis			#address-cells = <0x1>;
4880dcec571SPeter Geis			#size-cells = <0x0>;
4890dcec571SPeter Geis		};
4900dcec571SPeter Geis
4910dcec571SPeter Geis		gmac1_stmmac_axi_setup: stmmac-axi-config {
4920dcec571SPeter Geis			snps,blen = <0 0 0 0 16 8 4>;
4930dcec571SPeter Geis			snps,rd_osr_lmt = <8>;
4940dcec571SPeter Geis			snps,wr_osr_lmt = <4>;
4950dcec571SPeter Geis		};
4960dcec571SPeter Geis
4970dcec571SPeter Geis		gmac1_mtl_rx_setup: rx-queues-config {
4980dcec571SPeter Geis			snps,rx-queues-to-use = <1>;
4990dcec571SPeter Geis			queue0 {};
5000dcec571SPeter Geis		};
5010dcec571SPeter Geis
5020dcec571SPeter Geis		gmac1_mtl_tx_setup: tx-queues-config {
5030dcec571SPeter Geis			snps,tx-queues-to-use = <1>;
5040dcec571SPeter Geis			queue0 {};
5050dcec571SPeter Geis		};
5060dcec571SPeter Geis	};
5070dcec571SPeter Geis
5084e50d217SPeter Geis	qos_gpu: qos@fe128000 {
5094e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
5104e50d217SPeter Geis		reg = <0x0 0xfe128000 0x0 0x20>;
5114e50d217SPeter Geis	};
5124e50d217SPeter Geis
5134e50d217SPeter Geis	qos_rkvenc_rd_m0: qos@fe138080 {
5144e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
5154e50d217SPeter Geis		reg = <0x0 0xfe138080 0x0 0x20>;
5164e50d217SPeter Geis	};
5174e50d217SPeter Geis
5184e50d217SPeter Geis	qos_rkvenc_rd_m1: qos@fe138100 {
5194e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
5204e50d217SPeter Geis		reg = <0x0 0xfe138100 0x0 0x20>;
5214e50d217SPeter Geis	};
5224e50d217SPeter Geis
5234e50d217SPeter Geis	qos_rkvenc_wr_m0: qos@fe138180 {
5244e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
5254e50d217SPeter Geis		reg = <0x0 0xfe138180 0x0 0x20>;
5264e50d217SPeter Geis	};
5274e50d217SPeter Geis
5284e50d217SPeter Geis	qos_isp: qos@fe148000 {
5294e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
5304e50d217SPeter Geis		reg = <0x0 0xfe148000 0x0 0x20>;
5314e50d217SPeter Geis	};
5324e50d217SPeter Geis
5334e50d217SPeter Geis	qos_vicap0: qos@fe148080 {
5344e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
5354e50d217SPeter Geis		reg = <0x0 0xfe148080 0x0 0x20>;
5364e50d217SPeter Geis	};
5374e50d217SPeter Geis
5384e50d217SPeter Geis	qos_vicap1: qos@fe148100 {
5394e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
5404e50d217SPeter Geis		reg = <0x0 0xfe148100 0x0 0x20>;
5414e50d217SPeter Geis	};
5424e50d217SPeter Geis
5434e50d217SPeter Geis	qos_vpu: qos@fe150000 {
5444e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
5454e50d217SPeter Geis		reg = <0x0 0xfe150000 0x0 0x20>;
5464e50d217SPeter Geis	};
5474e50d217SPeter Geis
5484e50d217SPeter Geis	qos_ebc: qos@fe158000 {
5494e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
5504e50d217SPeter Geis		reg = <0x0 0xfe158000 0x0 0x20>;
5514e50d217SPeter Geis	};
5524e50d217SPeter Geis
5534e50d217SPeter Geis	qos_iep: qos@fe158100 {
5544e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
5554e50d217SPeter Geis		reg = <0x0 0xfe158100 0x0 0x20>;
5564e50d217SPeter Geis	};
5574e50d217SPeter Geis
5584e50d217SPeter Geis	qos_jpeg_dec: qos@fe158180 {
5594e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
5604e50d217SPeter Geis		reg = <0x0 0xfe158180 0x0 0x20>;
5614e50d217SPeter Geis	};
5624e50d217SPeter Geis
5634e50d217SPeter Geis	qos_jpeg_enc: qos@fe158200 {
5644e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
5654e50d217SPeter Geis		reg = <0x0 0xfe158200 0x0 0x20>;
5664e50d217SPeter Geis	};
5674e50d217SPeter Geis
5684e50d217SPeter Geis	qos_rga_rd: qos@fe158280 {
5694e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
5704e50d217SPeter Geis		reg = <0x0 0xfe158280 0x0 0x20>;
5714e50d217SPeter Geis	};
5724e50d217SPeter Geis
5734e50d217SPeter Geis	qos_rga_wr: qos@fe158300 {
5744e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
5754e50d217SPeter Geis		reg = <0x0 0xfe158300 0x0 0x20>;
5764e50d217SPeter Geis	};
5774e50d217SPeter Geis
5784e50d217SPeter Geis	qos_npu: qos@fe180000 {
5794e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
5804e50d217SPeter Geis		reg = <0x0 0xfe180000 0x0 0x20>;
5814e50d217SPeter Geis	};
5824e50d217SPeter Geis
5834e50d217SPeter Geis	qos_pcie2x1: qos@fe190000 {
5844e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
5854e50d217SPeter Geis		reg = <0x0 0xfe190000 0x0 0x20>;
5864e50d217SPeter Geis	};
5874e50d217SPeter Geis
5884e50d217SPeter Geis	qos_sata1: qos@fe190280 {
5894e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
5904e50d217SPeter Geis		reg = <0x0 0xfe190280 0x0 0x20>;
5914e50d217SPeter Geis	};
5924e50d217SPeter Geis
5934e50d217SPeter Geis	qos_sata2: qos@fe190300 {
5944e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
5954e50d217SPeter Geis		reg = <0x0 0xfe190300 0x0 0x20>;
5964e50d217SPeter Geis	};
5974e50d217SPeter Geis
5984e50d217SPeter Geis	qos_usb3_0: qos@fe190380 {
5994e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
6004e50d217SPeter Geis		reg = <0x0 0xfe190380 0x0 0x20>;
6014e50d217SPeter Geis	};
6024e50d217SPeter Geis
6034e50d217SPeter Geis	qos_usb3_1: qos@fe190400 {
6044e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
6054e50d217SPeter Geis		reg = <0x0 0xfe190400 0x0 0x20>;
6064e50d217SPeter Geis	};
6074e50d217SPeter Geis
6084e50d217SPeter Geis	qos_rkvdec: qos@fe198000 {
6094e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
6104e50d217SPeter Geis		reg = <0x0 0xfe198000 0x0 0x20>;
6114e50d217SPeter Geis	};
6124e50d217SPeter Geis
6134e50d217SPeter Geis	qos_hdcp: qos@fe1a8000 {
6144e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
6154e50d217SPeter Geis		reg = <0x0 0xfe1a8000 0x0 0x20>;
6164e50d217SPeter Geis	};
6174e50d217SPeter Geis
6184e50d217SPeter Geis	qos_vop_m0: qos@fe1a8080 {
6194e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
6204e50d217SPeter Geis		reg = <0x0 0xfe1a8080 0x0 0x20>;
6214e50d217SPeter Geis	};
6224e50d217SPeter Geis
6234e50d217SPeter Geis	qos_vop_m1: qos@fe1a8100 {
6244e50d217SPeter Geis		compatible = "rockchip,rk3568-qos", "syscon";
6254e50d217SPeter Geis		reg = <0x0 0xfe1a8100 0x0 0x20>;
6264e50d217SPeter Geis	};
6274e50d217SPeter Geis
6284e50d217SPeter Geis	sdmmc0: mmc@fe2b0000 {
6294e50d217SPeter Geis		compatible = "rockchip,rk3568-dw-mshc", "rockchip,rk3288-dw-mshc";
6304e50d217SPeter Geis		reg = <0x0 0xfe2b0000 0x0 0x4000>;
6314e50d217SPeter Geis		interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
6324e50d217SPeter Geis		clocks = <&cru HCLK_SDMMC0>, <&cru CLK_SDMMC0>,
6334e50d217SPeter Geis			 <&cru SCLK_SDMMC0_DRV>, <&cru SCLK_SDMMC0_SAMPLE>;
6344e50d217SPeter Geis		clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
6354e50d217SPeter Geis		fifo-depth = <0x100>;
6364e50d217SPeter Geis		max-frequency = <150000000>;
6374e50d217SPeter Geis		resets = <&cru SRST_SDMMC0>;
6384e50d217SPeter Geis		reset-names = "reset";
6394e50d217SPeter Geis		status = "disabled";
6404e50d217SPeter Geis	};
6414e50d217SPeter Geis
6424e50d217SPeter Geis	sdmmc1: mmc@fe2c0000 {
6434e50d217SPeter Geis		compatible = "rockchip,rk3568-dw-mshc", "rockchip,rk3288-dw-mshc";
6444e50d217SPeter Geis		reg = <0x0 0xfe2c0000 0x0 0x4000>;
6454e50d217SPeter Geis		interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
6464e50d217SPeter Geis		clocks = <&cru HCLK_SDMMC1>, <&cru CLK_SDMMC1>,
6474e50d217SPeter Geis			 <&cru SCLK_SDMMC1_DRV>, <&cru SCLK_SDMMC1_SAMPLE>;
6484e50d217SPeter Geis		clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
6494e50d217SPeter Geis		fifo-depth = <0x100>;
6504e50d217SPeter Geis		max-frequency = <150000000>;
6514e50d217SPeter Geis		resets = <&cru SRST_SDMMC1>;
6524e50d217SPeter Geis		reset-names = "reset";
6534e50d217SPeter Geis		status = "disabled";
6544e50d217SPeter Geis	};
6554e50d217SPeter Geis
6564e50d217SPeter Geis	sdhci: mmc@fe310000 {
6574e50d217SPeter Geis		compatible = "rockchip,rk3568-dwcmshc";
6584e50d217SPeter Geis		reg = <0x0 0xfe310000 0x0 0x10000>;
6594e50d217SPeter Geis		interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
6604e50d217SPeter Geis		assigned-clocks = <&cru BCLK_EMMC>, <&cru TCLK_EMMC>;
6614e50d217SPeter Geis		assigned-clock-rates = <200000000>, <24000000>;
6624e50d217SPeter Geis		clocks = <&cru CCLK_EMMC>, <&cru HCLK_EMMC>,
6634e50d217SPeter Geis			 <&cru ACLK_EMMC>, <&cru BCLK_EMMC>,
6644e50d217SPeter Geis			 <&cru TCLK_EMMC>;
6654e50d217SPeter Geis		clock-names = "core", "bus", "axi", "block", "timer";
6664e50d217SPeter Geis		status = "disabled";
6674e50d217SPeter Geis	};
6684e50d217SPeter Geis
669a65e6523SPeter Geis	spdif: spdif@fe460000 {
670a65e6523SPeter Geis		compatible = "rockchip,rk3568-spdif";
671a65e6523SPeter Geis		reg = <0x0 0xfe460000 0x0 0x1000>;
672a65e6523SPeter Geis		interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
673a65e6523SPeter Geis		clock-names = "mclk", "hclk";
674a65e6523SPeter Geis		clocks = <&cru MCLK_SPDIF_8CH>, <&cru HCLK_SPDIF_8CH>;
675a65e6523SPeter Geis		dmas = <&dmac1 1>;
676a65e6523SPeter Geis		dma-names = "tx";
677a65e6523SPeter Geis		pinctrl-names = "default";
678a65e6523SPeter Geis		pinctrl-0 = <&spdifm0_tx>;
679a65e6523SPeter Geis		#sound-dai-cells = <0>;
680a65e6523SPeter Geis		status = "disabled";
681a65e6523SPeter Geis	};
682a65e6523SPeter Geis
683ef5c9135SNicolas Frattaroli	i2s1_8ch: i2s@fe410000 {
684ef5c9135SNicolas Frattaroli		compatible = "rockchip,rk3568-i2s-tdm";
685ef5c9135SNicolas Frattaroli		reg = <0x0 0xfe410000 0x0 0x1000>;
686ef5c9135SNicolas Frattaroli		interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
687ef5c9135SNicolas Frattaroli		assigned-clocks = <&cru CLK_I2S1_8CH_TX_SRC>, <&cru CLK_I2S1_8CH_RX_SRC>;
688ef5c9135SNicolas Frattaroli		assigned-clock-rates = <1188000000>, <1188000000>;
689ef5c9135SNicolas Frattaroli		clocks = <&cru MCLK_I2S1_8CH_TX>, <&cru MCLK_I2S1_8CH_RX>,
690ef5c9135SNicolas Frattaroli			 <&cru HCLK_I2S1_8CH>;
691ef5c9135SNicolas Frattaroli		clock-names = "mclk_tx", "mclk_rx", "hclk";
692ef5c9135SNicolas Frattaroli		dmas = <&dmac1 3>, <&dmac1 2>;
693ef5c9135SNicolas Frattaroli		dma-names = "rx", "tx";
694ef5c9135SNicolas Frattaroli		resets = <&cru SRST_M_I2S1_8CH_TX>, <&cru SRST_M_I2S1_8CH_RX>;
695ef5c9135SNicolas Frattaroli		reset-names = "tx-m", "rx-m";
696ef5c9135SNicolas Frattaroli		rockchip,grf = <&grf>;
697ef5c9135SNicolas Frattaroli		pinctrl-names = "default";
698ef5c9135SNicolas Frattaroli		pinctrl-0 = <&i2s1m0_sclktx &i2s1m0_sclkrx
699ef5c9135SNicolas Frattaroli			     &i2s1m0_lrcktx &i2s1m0_lrckrx
700ef5c9135SNicolas Frattaroli			     &i2s1m0_sdi0   &i2s1m0_sdi1
701ef5c9135SNicolas Frattaroli			     &i2s1m0_sdi2   &i2s1m0_sdi3
702ef5c9135SNicolas Frattaroli			     &i2s1m0_sdo0   &i2s1m0_sdo1
703ef5c9135SNicolas Frattaroli			     &i2s1m0_sdo2   &i2s1m0_sdo3>;
704ef5c9135SNicolas Frattaroli		#sound-dai-cells = <0>;
705ef5c9135SNicolas Frattaroli		status = "disabled";
706ef5c9135SNicolas Frattaroli	};
707ef5c9135SNicolas Frattaroli
708ad14de06SMichael Riesch	i2s3_2ch: i2s@fe430000 {
709ad14de06SMichael Riesch		compatible = "rockchip,rk3568-i2s-tdm";
710ad14de06SMichael Riesch		reg = <0x0 0xfe430000 0x0 0x1000>;
711ad14de06SMichael Riesch		interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
712ad14de06SMichael Riesch		clocks = <&cru MCLK_I2S3_2CH_TX>, <&cru MCLK_I2S3_2CH_RX>,
713ad14de06SMichael Riesch			 <&cru HCLK_I2S3_2CH>;
714ad14de06SMichael Riesch		clock-names = "mclk_tx", "mclk_rx", "hclk";
715ad14de06SMichael Riesch		dmas = <&dmac1 6>, <&dmac1 7>;
716ad14de06SMichael Riesch		dma-names = "tx", "rx";
717ad14de06SMichael Riesch		resets = <&cru SRST_M_I2S3_2CH_TX>, <&cru SRST_M_I2S3_2CH_RX>;
718ad14de06SMichael Riesch		reset-names = "tx-m", "rx-m";
719ad14de06SMichael Riesch		rockchip,grf = <&grf>;
720ad14de06SMichael Riesch		#sound-dai-cells = <0>;
721ad14de06SMichael Riesch		status = "disabled";
722ad14de06SMichael Riesch	};
723ad14de06SMichael Riesch
7244e50d217SPeter Geis	dmac0: dmac@fe530000 {
7254e50d217SPeter Geis		compatible = "arm,pl330", "arm,primecell";
7264e50d217SPeter Geis		reg = <0x0 0xfe530000 0x0 0x4000>;
7274e50d217SPeter Geis		interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>,
7284e50d217SPeter Geis			     <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
7294e50d217SPeter Geis		arm,pl330-periph-burst;
7304e50d217SPeter Geis		clocks = <&cru ACLK_BUS>;
7314e50d217SPeter Geis		clock-names = "apb_pclk";
7324e50d217SPeter Geis		#dma-cells = <1>;
7334e50d217SPeter Geis	};
7344e50d217SPeter Geis
7354e50d217SPeter Geis	dmac1: dmac@fe550000 {
7364e50d217SPeter Geis		compatible = "arm,pl330", "arm,primecell";
7374e50d217SPeter Geis		reg = <0x0 0xfe550000 0x0 0x4000>;
7384e50d217SPeter Geis		interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
7394e50d217SPeter Geis			     <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
7404e50d217SPeter Geis		arm,pl330-periph-burst;
7414e50d217SPeter Geis		clocks = <&cru ACLK_BUS>;
7424e50d217SPeter Geis		clock-names = "apb_pclk";
7434e50d217SPeter Geis		#dma-cells = <1>;
7444e50d217SPeter Geis	};
7454e50d217SPeter Geis
7464e50d217SPeter Geis	i2c1: i2c@fe5a0000 {
7474e50d217SPeter Geis		compatible = "rockchip,rk3568-i2c", "rockchip,rk3399-i2c";
7484e50d217SPeter Geis		reg = <0x0 0xfe5a0000 0x0 0x1000>;
7494e50d217SPeter Geis		interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
7504e50d217SPeter Geis		clocks = <&cru CLK_I2C1>, <&cru PCLK_I2C1>;
7514e50d217SPeter Geis		clock-names = "i2c", "pclk";
7524e50d217SPeter Geis		pinctrl-0 = <&i2c1_xfer>;
7534e50d217SPeter Geis		pinctrl-names = "default";
7544e50d217SPeter Geis		#address-cells = <1>;
7554e50d217SPeter Geis		#size-cells = <0>;
7564e50d217SPeter Geis		status = "disabled";
7574e50d217SPeter Geis	};
7584e50d217SPeter Geis
7594e50d217SPeter Geis	i2c2: i2c@fe5b0000 {
7604e50d217SPeter Geis		compatible = "rockchip,rk3568-i2c", "rockchip,rk3399-i2c";
7614e50d217SPeter Geis		reg = <0x0 0xfe5b0000 0x0 0x1000>;
7624e50d217SPeter Geis		interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
7634e50d217SPeter Geis		clocks = <&cru CLK_I2C2>, <&cru PCLK_I2C2>;
7644e50d217SPeter Geis		clock-names = "i2c", "pclk";
7654e50d217SPeter Geis		pinctrl-0 = <&i2c2m0_xfer>;
7664e50d217SPeter Geis		pinctrl-names = "default";
7674e50d217SPeter Geis		#address-cells = <1>;
7684e50d217SPeter Geis		#size-cells = <0>;
7694e50d217SPeter Geis		status = "disabled";
7704e50d217SPeter Geis	};
7714e50d217SPeter Geis
7724e50d217SPeter Geis	i2c3: i2c@fe5c0000 {
7734e50d217SPeter Geis		compatible = "rockchip,rk3568-i2c", "rockchip,rk3399-i2c";
7744e50d217SPeter Geis		reg = <0x0 0xfe5c0000 0x0 0x1000>;
7754e50d217SPeter Geis		interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
7764e50d217SPeter Geis		clocks = <&cru CLK_I2C3>, <&cru PCLK_I2C3>;
7774e50d217SPeter Geis		clock-names = "i2c", "pclk";
7784e50d217SPeter Geis		pinctrl-0 = <&i2c3m0_xfer>;
7794e50d217SPeter Geis		pinctrl-names = "default";
7804e50d217SPeter Geis		#address-cells = <1>;
7814e50d217SPeter Geis		#size-cells = <0>;
7824e50d217SPeter Geis		status = "disabled";
7834e50d217SPeter Geis	};
7844e50d217SPeter Geis
7854e50d217SPeter Geis	i2c4: i2c@fe5d0000 {
7864e50d217SPeter Geis		compatible = "rockchip,rk3568-i2c", "rockchip,rk3399-i2c";
7874e50d217SPeter Geis		reg = <0x0 0xfe5d0000 0x0 0x1000>;
7884e50d217SPeter Geis		interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
7894e50d217SPeter Geis		clocks = <&cru CLK_I2C4>, <&cru PCLK_I2C4>;
7904e50d217SPeter Geis		clock-names = "i2c", "pclk";
7914e50d217SPeter Geis		pinctrl-0 = <&i2c4m0_xfer>;
7924e50d217SPeter Geis		pinctrl-names = "default";
7934e50d217SPeter Geis		#address-cells = <1>;
7944e50d217SPeter Geis		#size-cells = <0>;
7954e50d217SPeter Geis		status = "disabled";
7964e50d217SPeter Geis	};
7974e50d217SPeter Geis
7984e50d217SPeter Geis	i2c5: i2c@fe5e0000 {
7994e50d217SPeter Geis		compatible = "rockchip,rk3568-i2c", "rockchip,rk3399-i2c";
8004e50d217SPeter Geis		reg = <0x0 0xfe5e0000 0x0 0x1000>;
8014e50d217SPeter Geis		interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
8024e50d217SPeter Geis		clocks = <&cru CLK_I2C5>, <&cru PCLK_I2C5>;
8034e50d217SPeter Geis		clock-names = "i2c", "pclk";
8044e50d217SPeter Geis		pinctrl-0 = <&i2c5m0_xfer>;
8054e50d217SPeter Geis		pinctrl-names = "default";
8064e50d217SPeter Geis		#address-cells = <1>;
8074e50d217SPeter Geis		#size-cells = <0>;
8084e50d217SPeter Geis		status = "disabled";
8094e50d217SPeter Geis	};
8104e50d217SPeter Geis
8110edcfec3SLiang Chen	wdt: watchdog@fe600000 {
8120edcfec3SLiang Chen		compatible = "rockchip,rk3568-wdt", "snps,dw-wdt";
8130edcfec3SLiang Chen		reg = <0x0 0xfe600000 0x0 0x100>;
8140edcfec3SLiang Chen		interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>;
8150edcfec3SLiang Chen		clocks = <&cru TCLK_WDT_NS>, <&cru PCLK_WDT_NS>;
8160edcfec3SLiang Chen		clock-names = "tclk", "pclk";
8170edcfec3SLiang Chen	};
8180edcfec3SLiang Chen
819aaa552d8SNicolas Frattaroli	spi0: spi@fe610000 {
820aaa552d8SNicolas Frattaroli		compatible = "rockchip,rk3568-spi", "rockchip,rk3066-spi";
821aaa552d8SNicolas Frattaroli		reg = <0x0 0xfe610000 0x0 0x1000>;
822aaa552d8SNicolas Frattaroli		interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
823aaa552d8SNicolas Frattaroli		clocks = <&cru CLK_SPI0>, <&cru PCLK_SPI0>;
824aaa552d8SNicolas Frattaroli		clock-names = "spiclk", "apb_pclk";
825aaa552d8SNicolas Frattaroli		dmas = <&dmac0 20>, <&dmac0 21>;
826aaa552d8SNicolas Frattaroli		dma-names = "tx", "rx";
827aaa552d8SNicolas Frattaroli		pinctrl-names = "default";
828aaa552d8SNicolas Frattaroli		pinctrl-0 = <&spi0m0_cs0 &spi0m0_cs1 &spi0m0_pins>;
829aaa552d8SNicolas Frattaroli		#address-cells = <1>;
830aaa552d8SNicolas Frattaroli		#size-cells = <0>;
831aaa552d8SNicolas Frattaroli		status = "disabled";
832aaa552d8SNicolas Frattaroli	};
833aaa552d8SNicolas Frattaroli
834aaa552d8SNicolas Frattaroli	spi1: spi@fe620000 {
835aaa552d8SNicolas Frattaroli		compatible = "rockchip,rk3568-spi", "rockchip,rk3066-spi";
836aaa552d8SNicolas Frattaroli		reg = <0x0 0xfe620000 0x0 0x1000>;
837aaa552d8SNicolas Frattaroli		interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
838aaa552d8SNicolas Frattaroli		clocks = <&cru CLK_SPI1>, <&cru PCLK_SPI1>;
839aaa552d8SNicolas Frattaroli		clock-names = "spiclk", "apb_pclk";
840aaa552d8SNicolas Frattaroli		dmas = <&dmac0 22>, <&dmac0 23>;
841aaa552d8SNicolas Frattaroli		dma-names = "tx", "rx";
842aaa552d8SNicolas Frattaroli		pinctrl-names = "default";
843aaa552d8SNicolas Frattaroli		pinctrl-0 = <&spi1m0_cs0 &spi1m0_cs1 &spi1m0_pins>;
844aaa552d8SNicolas Frattaroli		#address-cells = <1>;
845aaa552d8SNicolas Frattaroli		#size-cells = <0>;
846aaa552d8SNicolas Frattaroli		status = "disabled";
847aaa552d8SNicolas Frattaroli	};
848aaa552d8SNicolas Frattaroli
849aaa552d8SNicolas Frattaroli	spi2: spi@fe630000 {
850aaa552d8SNicolas Frattaroli		compatible = "rockchip,rk3568-spi", "rockchip,rk3066-spi";
851aaa552d8SNicolas Frattaroli		reg = <0x0 0xfe630000 0x0 0x1000>;
852aaa552d8SNicolas Frattaroli		interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
853aaa552d8SNicolas Frattaroli		clocks = <&cru CLK_SPI2>, <&cru PCLK_SPI2>;
854aaa552d8SNicolas Frattaroli		clock-names = "spiclk", "apb_pclk";
855aaa552d8SNicolas Frattaroli		dmas = <&dmac0 24>, <&dmac0 25>;
856aaa552d8SNicolas Frattaroli		dma-names = "tx", "rx";
857aaa552d8SNicolas Frattaroli		pinctrl-names = "default";
858aaa552d8SNicolas Frattaroli		pinctrl-0 = <&spi2m0_cs0 &spi2m0_cs1 &spi2m0_pins>;
859aaa552d8SNicolas Frattaroli		#address-cells = <1>;
860aaa552d8SNicolas Frattaroli		#size-cells = <0>;
861aaa552d8SNicolas Frattaroli		status = "disabled";
862aaa552d8SNicolas Frattaroli	};
863aaa552d8SNicolas Frattaroli
864aaa552d8SNicolas Frattaroli	spi3: spi@fe640000 {
865aaa552d8SNicolas Frattaroli		compatible = "rockchip,rk3568-spi", "rockchip,rk3066-spi";
866aaa552d8SNicolas Frattaroli		reg = <0x0 0xfe640000 0x0 0x1000>;
867aaa552d8SNicolas Frattaroli		interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
868aaa552d8SNicolas Frattaroli		clocks = <&cru CLK_SPI3>, <&cru PCLK_SPI3>;
869aaa552d8SNicolas Frattaroli		clock-names = "spiclk", "apb_pclk";
870aaa552d8SNicolas Frattaroli		dmas = <&dmac0 26>, <&dmac0 27>;
871aaa552d8SNicolas Frattaroli		dma-names = "tx", "rx";
872aaa552d8SNicolas Frattaroli		pinctrl-names = "default";
873aaa552d8SNicolas Frattaroli		pinctrl-0 = <&spi3m0_cs0 &spi3m0_cs1 &spi3m0_pins>;
874aaa552d8SNicolas Frattaroli		#address-cells = <1>;
875aaa552d8SNicolas Frattaroli		#size-cells = <0>;
876aaa552d8SNicolas Frattaroli		status = "disabled";
877aaa552d8SNicolas Frattaroli	};
878aaa552d8SNicolas Frattaroli
8794e50d217SPeter Geis	uart1: serial@fe650000 {
8804e50d217SPeter Geis		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
8814e50d217SPeter Geis		reg = <0x0 0xfe650000 0x0 0x100>;
8824e50d217SPeter Geis		interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
8834e50d217SPeter Geis		clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>;
8844e50d217SPeter Geis		clock-names = "baudclk", "apb_pclk";
8854e50d217SPeter Geis		dmas = <&dmac0 2>, <&dmac0 3>;
8864e50d217SPeter Geis		pinctrl-0 = <&uart1m0_xfer>;
8874e50d217SPeter Geis		pinctrl-names = "default";
8884e50d217SPeter Geis		reg-io-width = <4>;
8894e50d217SPeter Geis		reg-shift = <2>;
8904e50d217SPeter Geis		status = "disabled";
8914e50d217SPeter Geis	};
8924e50d217SPeter Geis
8934e50d217SPeter Geis	uart2: serial@fe660000 {
8944e50d217SPeter Geis		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
8954e50d217SPeter Geis		reg = <0x0 0xfe660000 0x0 0x100>;
8964e50d217SPeter Geis		interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
8974e50d217SPeter Geis		clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>;
8984e50d217SPeter Geis		clock-names = "baudclk", "apb_pclk";
8994e50d217SPeter Geis		dmas = <&dmac0 4>, <&dmac0 5>;
9004e50d217SPeter Geis		pinctrl-0 = <&uart2m0_xfer>;
9014e50d217SPeter Geis		pinctrl-names = "default";
9024e50d217SPeter Geis		reg-io-width = <4>;
9034e50d217SPeter Geis		reg-shift = <2>;
9044e50d217SPeter Geis		status = "disabled";
9054e50d217SPeter Geis	};
9064e50d217SPeter Geis
9074e50d217SPeter Geis	uart3: serial@fe670000 {
9084e50d217SPeter Geis		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
9094e50d217SPeter Geis		reg = <0x0 0xfe670000 0x0 0x100>;
9104e50d217SPeter Geis		interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
9114e50d217SPeter Geis		clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>;
9124e50d217SPeter Geis		clock-names = "baudclk", "apb_pclk";
9134e50d217SPeter Geis		dmas = <&dmac0 6>, <&dmac0 7>;
9144e50d217SPeter Geis		pinctrl-0 = <&uart3m0_xfer>;
9154e50d217SPeter Geis		pinctrl-names = "default";
9164e50d217SPeter Geis		reg-io-width = <4>;
9174e50d217SPeter Geis		reg-shift = <2>;
9184e50d217SPeter Geis		status = "disabled";
9194e50d217SPeter Geis	};
9204e50d217SPeter Geis
9214e50d217SPeter Geis	uart4: serial@fe680000 {
9224e50d217SPeter Geis		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
9234e50d217SPeter Geis		reg = <0x0 0xfe680000 0x0 0x100>;
9244e50d217SPeter Geis		interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
9254e50d217SPeter Geis		clocks = <&cru SCLK_UART4>, <&cru PCLK_UART4>;
9264e50d217SPeter Geis		clock-names = "baudclk", "apb_pclk";
9274e50d217SPeter Geis		dmas = <&dmac0 8>, <&dmac0 9>;
9284e50d217SPeter Geis		pinctrl-0 = <&uart4m0_xfer>;
9294e50d217SPeter Geis		pinctrl-names = "default";
9304e50d217SPeter Geis		reg-io-width = <4>;
9314e50d217SPeter Geis		reg-shift = <2>;
9324e50d217SPeter Geis		status = "disabled";
9334e50d217SPeter Geis	};
9344e50d217SPeter Geis
9354e50d217SPeter Geis	uart5: serial@fe690000 {
9364e50d217SPeter Geis		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
9374e50d217SPeter Geis		reg = <0x0 0xfe690000 0x0 0x100>;
9384e50d217SPeter Geis		interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>;
9394e50d217SPeter Geis		clocks = <&cru SCLK_UART5>, <&cru PCLK_UART5>;
9404e50d217SPeter Geis		clock-names = "baudclk", "apb_pclk";
9414e50d217SPeter Geis		dmas = <&dmac0 10>, <&dmac0 11>;
9424e50d217SPeter Geis		pinctrl-0 = <&uart5m0_xfer>;
9434e50d217SPeter Geis		pinctrl-names = "default";
9444e50d217SPeter Geis		reg-io-width = <4>;
9454e50d217SPeter Geis		reg-shift = <2>;
9464e50d217SPeter Geis		status = "disabled";
9474e50d217SPeter Geis	};
9484e50d217SPeter Geis
9494e50d217SPeter Geis	uart6: serial@fe6a0000 {
9504e50d217SPeter Geis		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
9514e50d217SPeter Geis		reg = <0x0 0xfe6a0000 0x0 0x100>;
9524e50d217SPeter Geis		interrupts = <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
9534e50d217SPeter Geis		clocks = <&cru SCLK_UART6>, <&cru PCLK_UART6>;
9544e50d217SPeter Geis		clock-names = "baudclk", "apb_pclk";
9554e50d217SPeter Geis		dmas = <&dmac0 12>, <&dmac0 13>;
9564e50d217SPeter Geis		pinctrl-0 = <&uart6m0_xfer>;
9574e50d217SPeter Geis		pinctrl-names = "default";
9584e50d217SPeter Geis		reg-io-width = <4>;
9594e50d217SPeter Geis		reg-shift = <2>;
9604e50d217SPeter Geis		status = "disabled";
9614e50d217SPeter Geis	};
9624e50d217SPeter Geis
9634e50d217SPeter Geis	uart7: serial@fe6b0000 {
9644e50d217SPeter Geis		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
9654e50d217SPeter Geis		reg = <0x0 0xfe6b0000 0x0 0x100>;
9664e50d217SPeter Geis		interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>;
9674e50d217SPeter Geis		clocks = <&cru SCLK_UART7>, <&cru PCLK_UART7>;
9684e50d217SPeter Geis		clock-names = "baudclk", "apb_pclk";
9694e50d217SPeter Geis		dmas = <&dmac0 14>, <&dmac0 15>;
9704e50d217SPeter Geis		pinctrl-0 = <&uart7m0_xfer>;
9714e50d217SPeter Geis		pinctrl-names = "default";
9724e50d217SPeter Geis		reg-io-width = <4>;
9734e50d217SPeter Geis		reg-shift = <2>;
9744e50d217SPeter Geis		status = "disabled";
9754e50d217SPeter Geis	};
9764e50d217SPeter Geis
9774e50d217SPeter Geis	uart8: serial@fe6c0000 {
9784e50d217SPeter Geis		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
9794e50d217SPeter Geis		reg = <0x0 0xfe6c0000 0x0 0x100>;
9804e50d217SPeter Geis		interrupts = <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>;
9814e50d217SPeter Geis		clocks = <&cru SCLK_UART8>, <&cru PCLK_UART8>;
9824e50d217SPeter Geis		clock-names = "baudclk", "apb_pclk";
9834e50d217SPeter Geis		dmas = <&dmac0 16>, <&dmac0 17>;
9844e50d217SPeter Geis		pinctrl-0 = <&uart8m0_xfer>;
9854e50d217SPeter Geis		pinctrl-names = "default";
9864e50d217SPeter Geis		reg-io-width = <4>;
9874e50d217SPeter Geis		reg-shift = <2>;
9884e50d217SPeter Geis		status = "disabled";
9894e50d217SPeter Geis	};
9904e50d217SPeter Geis
9914e50d217SPeter Geis	uart9: serial@fe6d0000 {
9924e50d217SPeter Geis		compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
9934e50d217SPeter Geis		reg = <0x0 0xfe6d0000 0x0 0x100>;
9944e50d217SPeter Geis		interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
9954e50d217SPeter Geis		clocks = <&cru SCLK_UART9>, <&cru PCLK_UART9>;
9964e50d217SPeter Geis		clock-names = "baudclk", "apb_pclk";
9974e50d217SPeter Geis		dmas = <&dmac0 18>, <&dmac0 19>;
9984e50d217SPeter Geis		pinctrl-0 = <&uart9m0_xfer>;
9994e50d217SPeter Geis		pinctrl-names = "default";
10004e50d217SPeter Geis		reg-io-width = <4>;
10014e50d217SPeter Geis		reg-shift = <2>;
10024e50d217SPeter Geis		status = "disabled";
10034e50d217SPeter Geis	};
10044e50d217SPeter Geis
10051330875dSPeter Geis	thermal_zones: thermal-zones {
10061330875dSPeter Geis		cpu_thermal: cpu-thermal {
10071330875dSPeter Geis			polling-delay-passive = <100>;
10081330875dSPeter Geis			polling-delay = <1000>;
10091330875dSPeter Geis
10101330875dSPeter Geis			thermal-sensors = <&tsadc 0>;
10111330875dSPeter Geis
10121330875dSPeter Geis			trips {
10131330875dSPeter Geis				cpu_alert0: cpu_alert0 {
10141330875dSPeter Geis					temperature = <70000>;
10151330875dSPeter Geis					hysteresis = <2000>;
10161330875dSPeter Geis					type = "passive";
10171330875dSPeter Geis				};
10181330875dSPeter Geis				cpu_alert1: cpu_alert1 {
10191330875dSPeter Geis					temperature = <75000>;
10201330875dSPeter Geis					hysteresis = <2000>;
10211330875dSPeter Geis					type = "passive";
10221330875dSPeter Geis				};
10231330875dSPeter Geis				cpu_crit: cpu_crit {
10241330875dSPeter Geis					temperature = <95000>;
10251330875dSPeter Geis					hysteresis = <2000>;
10261330875dSPeter Geis					type = "critical";
10271330875dSPeter Geis				};
10281330875dSPeter Geis			};
10291330875dSPeter Geis
10301330875dSPeter Geis			cooling-maps {
10311330875dSPeter Geis				map0 {
10321330875dSPeter Geis					trip = <&cpu_alert0>;
10331330875dSPeter Geis					cooling-device =
10341330875dSPeter Geis						<&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
10351330875dSPeter Geis						<&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
10361330875dSPeter Geis						<&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
10371330875dSPeter Geis						<&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
10381330875dSPeter Geis				};
10391330875dSPeter Geis			};
10401330875dSPeter Geis		};
10411330875dSPeter Geis
10421330875dSPeter Geis		gpu_thermal: gpu-thermal {
10431330875dSPeter Geis			polling-delay-passive = <20>; /* milliseconds */
10441330875dSPeter Geis			polling-delay = <1000>; /* milliseconds */
10451330875dSPeter Geis
10461330875dSPeter Geis			thermal-sensors = <&tsadc 1>;
10471330875dSPeter Geis		};
10481330875dSPeter Geis	};
10491330875dSPeter Geis
10501330875dSPeter Geis	tsadc: tsadc@fe710000 {
10511330875dSPeter Geis		compatible = "rockchip,rk3568-tsadc";
10521330875dSPeter Geis		reg = <0x0 0xfe710000 0x0 0x100>;
10531330875dSPeter Geis		interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
10541330875dSPeter Geis		assigned-clocks = <&cru CLK_TSADC_TSEN>, <&cru CLK_TSADC>;
10551330875dSPeter Geis		assigned-clock-rates = <17000000>, <700000>;
10561330875dSPeter Geis		clocks = <&cru CLK_TSADC>, <&cru PCLK_TSADC>;
10571330875dSPeter Geis		clock-names = "tsadc", "apb_pclk";
10585c9e66c6SJohan Jonker		resets = <&cru SRST_P_TSADC>, <&cru SRST_TSADC>,
10591330875dSPeter Geis			 <&cru SRST_TSADCPHY>;
10601330875dSPeter Geis		rockchip,grf = <&grf>;
10611330875dSPeter Geis		rockchip,hw-tshut-temp = <95000>;
10621330875dSPeter Geis		pinctrl-names = "init", "default", "sleep";
10631330875dSPeter Geis		pinctrl-0 = <&tsadc_pin>;
10641330875dSPeter Geis		pinctrl-1 = <&tsadc_shutorg>;
10651330875dSPeter Geis		pinctrl-2 = <&tsadc_pin>;
10661330875dSPeter Geis		#thermal-sensor-cells = <1>;
10671330875dSPeter Geis		status = "disabled";
10681330875dSPeter Geis	};
10691330875dSPeter Geis
10704e50d217SPeter Geis	saradc: saradc@fe720000 {
10714e50d217SPeter Geis		compatible = "rockchip,rk3568-saradc", "rockchip,rk3399-saradc";
10724e50d217SPeter Geis		reg = <0x0 0xfe720000 0x0 0x100>;
10734e50d217SPeter Geis		interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
10744e50d217SPeter Geis		clocks = <&cru CLK_SARADC>, <&cru PCLK_SARADC>;
10754e50d217SPeter Geis		clock-names = "saradc", "apb_pclk";
10764e50d217SPeter Geis		resets = <&cru SRST_P_SARADC>;
10774e50d217SPeter Geis		reset-names = "saradc-apb";
10784e50d217SPeter Geis		#io-channel-cells = <1>;
10794e50d217SPeter Geis		status = "disabled";
10804e50d217SPeter Geis	};
10814e50d217SPeter Geis
108298419a39SLiang Chen	pwm4: pwm@fe6e0000 {
108398419a39SLiang Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
108498419a39SLiang Chen		reg = <0x0 0xfe6e0000 0x0 0x10>;
108598419a39SLiang Chen		clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
108698419a39SLiang Chen		clock-names = "pwm", "pclk";
108798419a39SLiang Chen		pinctrl-0 = <&pwm4_pins>;
10882e4dbcf7SSascha Hauer		pinctrl-names = "default";
108998419a39SLiang Chen		#pwm-cells = <3>;
109098419a39SLiang Chen		status = "disabled";
109198419a39SLiang Chen	};
109298419a39SLiang Chen
109398419a39SLiang Chen	pwm5: pwm@fe6e0010 {
109498419a39SLiang Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
109598419a39SLiang Chen		reg = <0x0 0xfe6e0010 0x0 0x10>;
109698419a39SLiang Chen		clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
109798419a39SLiang Chen		clock-names = "pwm", "pclk";
109898419a39SLiang Chen		pinctrl-0 = <&pwm5_pins>;
10992e4dbcf7SSascha Hauer		pinctrl-names = "default";
110098419a39SLiang Chen		#pwm-cells = <3>;
110198419a39SLiang Chen		status = "disabled";
110298419a39SLiang Chen	};
110398419a39SLiang Chen
110498419a39SLiang Chen	pwm6: pwm@fe6e0020 {
110598419a39SLiang Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
110698419a39SLiang Chen		reg = <0x0 0xfe6e0020 0x0 0x10>;
110798419a39SLiang Chen		clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
110898419a39SLiang Chen		clock-names = "pwm", "pclk";
110998419a39SLiang Chen		pinctrl-0 = <&pwm6_pins>;
11102e4dbcf7SSascha Hauer		pinctrl-names = "default";
111198419a39SLiang Chen		#pwm-cells = <3>;
111298419a39SLiang Chen		status = "disabled";
111398419a39SLiang Chen	};
111498419a39SLiang Chen
111598419a39SLiang Chen	pwm7: pwm@fe6e0030 {
111698419a39SLiang Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
111798419a39SLiang Chen		reg = <0x0 0xfe6e0030 0x0 0x10>;
111898419a39SLiang Chen		clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
111998419a39SLiang Chen		clock-names = "pwm", "pclk";
112098419a39SLiang Chen		pinctrl-0 = <&pwm7_pins>;
11212e4dbcf7SSascha Hauer		pinctrl-names = "default";
112298419a39SLiang Chen		#pwm-cells = <3>;
112398419a39SLiang Chen		status = "disabled";
112498419a39SLiang Chen	};
112598419a39SLiang Chen
112698419a39SLiang Chen	pwm8: pwm@fe6f0000 {
112798419a39SLiang Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
112898419a39SLiang Chen		reg = <0x0 0xfe6f0000 0x0 0x10>;
112998419a39SLiang Chen		clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>;
113098419a39SLiang Chen		clock-names = "pwm", "pclk";
113198419a39SLiang Chen		pinctrl-0 = <&pwm8m0_pins>;
11322e4dbcf7SSascha Hauer		pinctrl-names = "default";
113398419a39SLiang Chen		#pwm-cells = <3>;
113498419a39SLiang Chen		status = "disabled";
113598419a39SLiang Chen	};
113698419a39SLiang Chen
113798419a39SLiang Chen	pwm9: pwm@fe6f0010 {
113898419a39SLiang Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
113998419a39SLiang Chen		reg = <0x0 0xfe6f0010 0x0 0x10>;
114098419a39SLiang Chen		clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>;
114198419a39SLiang Chen		clock-names = "pwm", "pclk";
114298419a39SLiang Chen		pinctrl-0 = <&pwm9m0_pins>;
11432e4dbcf7SSascha Hauer		pinctrl-names = "default";
114498419a39SLiang Chen		#pwm-cells = <3>;
114598419a39SLiang Chen		status = "disabled";
114698419a39SLiang Chen	};
114798419a39SLiang Chen
114898419a39SLiang Chen	pwm10: pwm@fe6f0020 {
114998419a39SLiang Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
115098419a39SLiang Chen		reg = <0x0 0xfe6f0020 0x0 0x10>;
115198419a39SLiang Chen		clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>;
115298419a39SLiang Chen		clock-names = "pwm", "pclk";
115398419a39SLiang Chen		pinctrl-0 = <&pwm10m0_pins>;
11542e4dbcf7SSascha Hauer		pinctrl-names = "default";
115598419a39SLiang Chen		#pwm-cells = <3>;
115698419a39SLiang Chen		status = "disabled";
115798419a39SLiang Chen	};
115898419a39SLiang Chen
115998419a39SLiang Chen	pwm11: pwm@fe6f0030 {
116098419a39SLiang Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
116198419a39SLiang Chen		reg = <0x0 0xfe6f0030 0x0 0x10>;
116298419a39SLiang Chen		clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>;
116398419a39SLiang Chen		clock-names = "pwm", "pclk";
116498419a39SLiang Chen		pinctrl-0 = <&pwm11m0_pins>;
11652e4dbcf7SSascha Hauer		pinctrl-names = "default";
116698419a39SLiang Chen		#pwm-cells = <3>;
116798419a39SLiang Chen		status = "disabled";
116898419a39SLiang Chen	};
116998419a39SLiang Chen
117098419a39SLiang Chen	pwm12: pwm@fe700000 {
117198419a39SLiang Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
117298419a39SLiang Chen		reg = <0x0 0xfe700000 0x0 0x10>;
117398419a39SLiang Chen		clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>;
117498419a39SLiang Chen		clock-names = "pwm", "pclk";
117598419a39SLiang Chen		pinctrl-0 = <&pwm12m0_pins>;
11762e4dbcf7SSascha Hauer		pinctrl-names = "default";
117798419a39SLiang Chen		#pwm-cells = <3>;
117898419a39SLiang Chen		status = "disabled";
117998419a39SLiang Chen	};
118098419a39SLiang Chen
118198419a39SLiang Chen	pwm13: pwm@fe700010 {
118298419a39SLiang Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
118398419a39SLiang Chen		reg = <0x0 0xfe700010 0x0 0x10>;
118498419a39SLiang Chen		clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>;
118598419a39SLiang Chen		clock-names = "pwm", "pclk";
118698419a39SLiang Chen		pinctrl-0 = <&pwm13m0_pins>;
11872e4dbcf7SSascha Hauer		pinctrl-names = "default";
118898419a39SLiang Chen		#pwm-cells = <3>;
118998419a39SLiang Chen		status = "disabled";
119098419a39SLiang Chen	};
119198419a39SLiang Chen
119298419a39SLiang Chen	pwm14: pwm@fe700020 {
119398419a39SLiang Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
119498419a39SLiang Chen		reg = <0x0 0xfe700020 0x0 0x10>;
119598419a39SLiang Chen		clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>;
119698419a39SLiang Chen		clock-names = "pwm", "pclk";
119798419a39SLiang Chen		pinctrl-0 = <&pwm14m0_pins>;
11982e4dbcf7SSascha Hauer		pinctrl-names = "default";
119998419a39SLiang Chen		#pwm-cells = <3>;
120098419a39SLiang Chen		status = "disabled";
120198419a39SLiang Chen	};
120298419a39SLiang Chen
120398419a39SLiang Chen	pwm15: pwm@fe700030 {
120498419a39SLiang Chen		compatible = "rockchip,rk3568-pwm", "rockchip,rk3328-pwm";
120598419a39SLiang Chen		reg = <0x0 0xfe700030 0x0 0x10>;
120698419a39SLiang Chen		clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>;
120798419a39SLiang Chen		clock-names = "pwm", "pclk";
120898419a39SLiang Chen		pinctrl-0 = <&pwm15m0_pins>;
12092e4dbcf7SSascha Hauer		pinctrl-names = "default";
121098419a39SLiang Chen		#pwm-cells = <3>;
121198419a39SLiang Chen		status = "disabled";
121298419a39SLiang Chen	};
121398419a39SLiang Chen
1214*78f71860SMichael Riesch	usb2phy0: usb2phy@fe8a0000 {
121591c4c3e0SPeter Geis		compatible = "rockchip,rk3568-usb2phy";
121691c4c3e0SPeter Geis		reg = <0x0 0xfe8a0000 0x0 0x10000>;
121791c4c3e0SPeter Geis		clocks = <&pmucru CLK_USBPHY0_REF>;
121891c4c3e0SPeter Geis		clock-names = "phyclk";
121991c4c3e0SPeter Geis		clock-output-names = "clk_usbphy0_480m";
122091c4c3e0SPeter Geis		interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>;
122191c4c3e0SPeter Geis		rockchip,usbgrf = <&usb2phy0_grf>;
122291c4c3e0SPeter Geis		#clock-cells = <0>;
122391c4c3e0SPeter Geis		status = "disabled";
122491c4c3e0SPeter Geis
1225*78f71860SMichael Riesch		usb2phy0_host: host-port {
122691c4c3e0SPeter Geis			#phy-cells = <0>;
122791c4c3e0SPeter Geis			status = "disabled";
122891c4c3e0SPeter Geis		};
122991c4c3e0SPeter Geis
1230*78f71860SMichael Riesch		usb2phy0_otg: otg-port {
123191c4c3e0SPeter Geis			#phy-cells = <0>;
123291c4c3e0SPeter Geis			status = "disabled";
123391c4c3e0SPeter Geis		};
123491c4c3e0SPeter Geis	};
123591c4c3e0SPeter Geis
1236*78f71860SMichael Riesch	usb2phy1: usb2phy@fe8b0000 {
123791c4c3e0SPeter Geis		compatible = "rockchip,rk3568-usb2phy";
123891c4c3e0SPeter Geis		reg = <0x0 0xfe8b0000 0x0 0x10000>;
123991c4c3e0SPeter Geis		clocks = <&pmucru CLK_USBPHY1_REF>;
124091c4c3e0SPeter Geis		clock-names = "phyclk";
124191c4c3e0SPeter Geis		clock-output-names = "clk_usbphy1_480m";
124291c4c3e0SPeter Geis		interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
124391c4c3e0SPeter Geis		rockchip,usbgrf = <&usb2phy1_grf>;
124491c4c3e0SPeter Geis		#clock-cells = <0>;
124591c4c3e0SPeter Geis		status = "disabled";
124691c4c3e0SPeter Geis
1247*78f71860SMichael Riesch		usb2phy1_host: host-port {
124891c4c3e0SPeter Geis			#phy-cells = <0>;
124991c4c3e0SPeter Geis			status = "disabled";
125091c4c3e0SPeter Geis		};
125191c4c3e0SPeter Geis
1252*78f71860SMichael Riesch		usb2phy1_otg: otg-port {
125391c4c3e0SPeter Geis			#phy-cells = <0>;
125491c4c3e0SPeter Geis			status = "disabled";
125591c4c3e0SPeter Geis		};
125691c4c3e0SPeter Geis	};
125791c4c3e0SPeter Geis
12584e50d217SPeter Geis	pinctrl: pinctrl {
12594e50d217SPeter Geis		compatible = "rockchip,rk3568-pinctrl";
12604e50d217SPeter Geis		rockchip,grf = <&grf>;
12614e50d217SPeter Geis		rockchip,pmu = <&pmugrf>;
12624e50d217SPeter Geis		#address-cells = <2>;
12634e50d217SPeter Geis		#size-cells = <2>;
12644e50d217SPeter Geis		ranges;
12654e50d217SPeter Geis
12664e50d217SPeter Geis		gpio0: gpio@fdd60000 {
12674e50d217SPeter Geis			compatible = "rockchip,gpio-bank";
12684e50d217SPeter Geis			reg = <0x0 0xfdd60000 0x0 0x100>;
12694e50d217SPeter Geis			interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
12703d9170c3SPeter Geis			clocks = <&pmucru PCLK_GPIO0>, <&pmucru DBCLK_GPIO0>;
12714e50d217SPeter Geis			gpio-controller;
12724e50d217SPeter Geis			#gpio-cells = <2>;
12734e50d217SPeter Geis			interrupt-controller;
12744e50d217SPeter Geis			#interrupt-cells = <2>;
12754e50d217SPeter Geis		};
12764e50d217SPeter Geis
12774e50d217SPeter Geis		gpio1: gpio@fe740000 {
12784e50d217SPeter Geis			compatible = "rockchip,gpio-bank";
12794e50d217SPeter Geis			reg = <0x0 0xfe740000 0x0 0x100>;
12804e50d217SPeter Geis			interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
12813d9170c3SPeter Geis			clocks = <&cru PCLK_GPIO1>, <&cru DBCLK_GPIO1>;
12824e50d217SPeter Geis			gpio-controller;
12834e50d217SPeter Geis			#gpio-cells = <2>;
12844e50d217SPeter Geis			interrupt-controller;
12854e50d217SPeter Geis			#interrupt-cells = <2>;
12864e50d217SPeter Geis		};
12874e50d217SPeter Geis
12884e50d217SPeter Geis		gpio2: gpio@fe750000 {
12894e50d217SPeter Geis			compatible = "rockchip,gpio-bank";
12904e50d217SPeter Geis			reg = <0x0 0xfe750000 0x0 0x100>;
12914e50d217SPeter Geis			interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
12923d9170c3SPeter Geis			clocks = <&cru PCLK_GPIO2>, <&cru DBCLK_GPIO2>;
12934e50d217SPeter Geis			gpio-controller;
12944e50d217SPeter Geis			#gpio-cells = <2>;
12954e50d217SPeter Geis			interrupt-controller;
12964e50d217SPeter Geis			#interrupt-cells = <2>;
12974e50d217SPeter Geis		};
12984e50d217SPeter Geis
12994e50d217SPeter Geis		gpio3: gpio@fe760000 {
13004e50d217SPeter Geis			compatible = "rockchip,gpio-bank";
13014e50d217SPeter Geis			reg = <0x0 0xfe760000 0x0 0x100>;
13024e50d217SPeter Geis			interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
13033d9170c3SPeter Geis			clocks = <&cru PCLK_GPIO3>, <&cru DBCLK_GPIO3>;
13044e50d217SPeter Geis			gpio-controller;
13054e50d217SPeter Geis			#gpio-cells = <2>;
13064e50d217SPeter Geis			interrupt-controller;
13074e50d217SPeter Geis			#interrupt-cells = <2>;
13084e50d217SPeter Geis		};
13094e50d217SPeter Geis
13104e50d217SPeter Geis		gpio4: gpio@fe770000 {
13114e50d217SPeter Geis			compatible = "rockchip,gpio-bank";
13124e50d217SPeter Geis			reg = <0x0 0xfe770000 0x0 0x100>;
13134e50d217SPeter Geis			interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
13143d9170c3SPeter Geis			clocks = <&cru PCLK_GPIO4>, <&cru DBCLK_GPIO4>;
13154e50d217SPeter Geis			gpio-controller;
13164e50d217SPeter Geis			#gpio-cells = <2>;
13174e50d217SPeter Geis			interrupt-controller;
13184e50d217SPeter Geis			#interrupt-cells = <2>;
13194e50d217SPeter Geis		};
13204e50d217SPeter Geis	};
13214e50d217SPeter Geis};
13224e50d217SPeter Geis
13234e50d217SPeter Geis#include "rk3568-pinctrl.dtsi"
1324