xref: /rk3399_rockchip-uboot/arch/arm/dts/rk3506.dtsi (revision bf6c671bfd8e016ab505ac751d7ce629299fe703)
185e5c210SXuhui Lin// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
285e5c210SXuhui Lin/*
385e5c210SXuhui Lin * Copyright (c) 2023 Rockchip Electronics Co., Ltd.
485e5c210SXuhui Lin */
585e5c210SXuhui Lin
685e5c210SXuhui Lin#include <dt-bindings/clock/rockchip,rk3506-cru.h>
71546cf06SXuhui Lin#include <dt-bindings/gpio/gpio.h>
885e5c210SXuhui Lin#include <dt-bindings/interrupt-controller/irq.h>
985e5c210SXuhui Lin#include <dt-bindings/interrupt-controller/arm-gic.h>
1085e5c210SXuhui Lin#include <dt-bindings/pinctrl/rockchip.h>
111546cf06SXuhui Lin#include <dt-bindings/soc/rockchip,boot-mode.h>
1285e5c210SXuhui Lin
1385e5c210SXuhui Lin/ {
1485e5c210SXuhui Lin	#address-cells = <1>;
1585e5c210SXuhui Lin	#size-cells = <1>;
1685e5c210SXuhui Lin
1785e5c210SXuhui Lin	compatible = "rockchip,rk3506";
1885e5c210SXuhui Lin
1985e5c210SXuhui Lin	interrupt-parent = <&gic>;
2085e5c210SXuhui Lin
2185e5c210SXuhui Lin	aliases {
2285e5c210SXuhui Lin		ethernet0 = &gmac0;
2385e5c210SXuhui Lin		ethernet1 = &gmac1;
2485e5c210SXuhui Lin		gpio0 = &gpio0;
2585e5c210SXuhui Lin		gpio1 = &gpio1;
2685e5c210SXuhui Lin		gpio2 = &gpio2;
2785e5c210SXuhui Lin		gpio3 = &gpio3;
2885e5c210SXuhui Lin		gpio4 = &gpio4;
2985e5c210SXuhui Lin		i2c0 = &i2c0;
3085e5c210SXuhui Lin		i2c1 = &i2c1;
3185e5c210SXuhui Lin		i2c2 = &i2c2;
3285e5c210SXuhui Lin		serial0 = &uart0;
3385e5c210SXuhui Lin		serial1 = &uart1;
3485e5c210SXuhui Lin		serial2 = &uart2;
3585e5c210SXuhui Lin		serial3 = &uart3;
3685e5c210SXuhui Lin		serial4 = &uart4;
3785e5c210SXuhui Lin		serial5 = &uart5;
3885e5c210SXuhui Lin		spi0 = &spi0;
3985e5c210SXuhui Lin		spi1 = &spi1;
401546cf06SXuhui Lin		spi2 = &fspi;
411546cf06SXuhui Lin		spi3 = &flexbus_fspi;
4285e5c210SXuhui Lin	};
4385e5c210SXuhui Lin
4485e5c210SXuhui Lin	clocks {
4585e5c210SXuhui Lin		compatible = "simple-bus";
461546cf06SXuhui Lin		#address-cells = <1>;
471546cf06SXuhui Lin		#size-cells = <1>;
481546cf06SXuhui Lin		ranges;
4985e5c210SXuhui Lin
5085e5c210SXuhui Lin		clk_rc: clk-rc {
5185e5c210SXuhui Lin			compatible = "fixed-clock";
5285e5c210SXuhui Lin			#clock-cells = <0>;
5385e5c210SXuhui Lin			clock-frequency = <400000>;
5485e5c210SXuhui Lin			clock-output-names = "clk_rc";
5585e5c210SXuhui Lin		};
5685e5c210SXuhui Lin
5785e5c210SXuhui Lin		xin24m: xin24m {
5885e5c210SXuhui Lin			compatible = "fixed-clock";
5985e5c210SXuhui Lin			#clock-cells = <0>;
6085e5c210SXuhui Lin			clock-frequency = <24000000>;
6185e5c210SXuhui Lin			clock-output-names = "xin24m";
6285e5c210SXuhui Lin		};
6385e5c210SXuhui Lin
6485e5c210SXuhui Lin		xin32k: xin32k {
6585e5c210SXuhui Lin			compatible = "fixed-clock";
6685e5c210SXuhui Lin			#clock-cells = <0>;
6785e5c210SXuhui Lin			clock-frequency = <32768>;
6885e5c210SXuhui Lin			clock-output-names = "xin32k";
6985e5c210SXuhui Lin		};
701546cf06SXuhui Lin
711546cf06SXuhui Lin		mclkin_sai0: mclkin-sai0 {
721546cf06SXuhui Lin			compatible = "fixed-clock";
731546cf06SXuhui Lin			#clock-cells = <0>;
741546cf06SXuhui Lin			clock-frequency = <0>;
751546cf06SXuhui Lin			clock-output-names = "sai0_mclk_in";
761546cf06SXuhui Lin		};
771546cf06SXuhui Lin
781546cf06SXuhui Lin		mclkin_sai1: mclkin-sai1 {
791546cf06SXuhui Lin			compatible = "fixed-clock";
801546cf06SXuhui Lin			#clock-cells = <0>;
811546cf06SXuhui Lin			clock-frequency = <0>;
821546cf06SXuhui Lin			clock-output-names = "sai1_mclk_in";
831546cf06SXuhui Lin		};
841546cf06SXuhui Lin
851546cf06SXuhui Lin		mclkin_sai2: mclkin-sai2 {
861546cf06SXuhui Lin			compatible = "fixed-clock";
871546cf06SXuhui Lin			#clock-cells = <0>;
881546cf06SXuhui Lin			clock-frequency = <0>;
891546cf06SXuhui Lin			clock-output-names = "sai2_mclk_in";
901546cf06SXuhui Lin		};
911546cf06SXuhui Lin
921546cf06SXuhui Lin		mclkin_sai3: mclkin-sai3 {
931546cf06SXuhui Lin			compatible = "fixed-clock";
941546cf06SXuhui Lin			#clock-cells = <0>;
951546cf06SXuhui Lin			clock-frequency = <0>;
961546cf06SXuhui Lin			clock-output-names = "sai3_mclk_in";
971546cf06SXuhui Lin		};
981546cf06SXuhui Lin
991546cf06SXuhui Lin		mclkout_sai0: mclkout-sai0@ff910004 {
1001546cf06SXuhui Lin			compatible = "rockchip,clk-out";
1011546cf06SXuhui Lin			reg = <0xff910004 0x4>;
1021546cf06SXuhui Lin			clocks = <&cru MCLK_OUT_SAI0>;
1031546cf06SXuhui Lin			#clock-cells = <0>;
1041546cf06SXuhui Lin			clock-output-names = "mclk_sai0_to_io";
1051546cf06SXuhui Lin			rockchip,bit-shift = <8>;
1061546cf06SXuhui Lin		};
1071546cf06SXuhui Lin
1081546cf06SXuhui Lin		mclkout_sai1: mclkout-sai1@ff910004 {
1091546cf06SXuhui Lin			compatible = "rockchip,clk-out";
1101546cf06SXuhui Lin			reg = <0xff910004 0x4>;
1111546cf06SXuhui Lin			clocks = <&cru MCLK_OUT_SAI1>;
1121546cf06SXuhui Lin			#clock-cells = <0>;
1131546cf06SXuhui Lin			clock-output-names = "mclk_sai1_to_io";
1141546cf06SXuhui Lin			rockchip,bit-shift = <9>;
1151546cf06SXuhui Lin		};
1161546cf06SXuhui Lin
1171546cf06SXuhui Lin		mclkout_sai2: mclkout-sai2@ff288004 {
1181546cf06SXuhui Lin			compatible = "rockchip,clk-out";
1191546cf06SXuhui Lin			reg = <0xff288004 0x4>;
1201546cf06SXuhui Lin			clocks = <&cru MCLK_OUT_SAI2>;
1211546cf06SXuhui Lin			#clock-cells = <0>;
1221546cf06SXuhui Lin			clock-output-names = "mclk_sai2_to_io";
1231546cf06SXuhui Lin			rockchip,bit-shift = <2>;
1241546cf06SXuhui Lin		};
1251546cf06SXuhui Lin
1261546cf06SXuhui Lin		mclkout_sai3: mclkout-sai3@ff288004 {
1271546cf06SXuhui Lin			compatible = "rockchip,clk-out";
1281546cf06SXuhui Lin			reg = <0xff288004 0x4>;
1291546cf06SXuhui Lin			clocks = <&cru MCLK_OUT_SAI3>;
1301546cf06SXuhui Lin			#clock-cells = <0>;
1311546cf06SXuhui Lin			clock-output-names = "mclk_sai3_to_io";
1321546cf06SXuhui Lin			rockchip,bit-shift = <3>;
1331546cf06SXuhui Lin		};
1341546cf06SXuhui Lin
1351546cf06SXuhui Lin		pvtpll_core: pvtpll-core@ff840000 {
1361546cf06SXuhui Lin			compatible = "rockchip,rk3506-core-pvtpll", "syscon";
1371546cf06SXuhui Lin			reg = <0xff840000 0x100>;
1381546cf06SXuhui Lin			#clock-cells = <0>;
1391546cf06SXuhui Lin			clock-output-names = "clk_core_pvtpll";
1401546cf06SXuhui Lin			assigned-clocks = <&pvtpll_core>;
1411546cf06SXuhui Lin			assigned-clock-rates = <1200000000>;
1421546cf06SXuhui Lin		};
14385e5c210SXuhui Lin	};
14485e5c210SXuhui Lin
14585e5c210SXuhui Lin	cpus {
14685e5c210SXuhui Lin		#address-cells = <1>;
14785e5c210SXuhui Lin		#size-cells = <0>;
14885e5c210SXuhui Lin
14985e5c210SXuhui Lin		cpu0: cpu@f00 {
15085e5c210SXuhui Lin			device_type = "cpu";
15185e5c210SXuhui Lin			compatible = "arm,cortex-a7";
15285e5c210SXuhui Lin			reg = <0xf00>;
15385e5c210SXuhui Lin			enable-method = "psci";
1541546cf06SXuhui Lin			clocks = <&cru ARMCLK>;
1551546cf06SXuhui Lin			operating-points-v2 = <&cpu0_opp_table>;
15685e5c210SXuhui Lin		};
15785e5c210SXuhui Lin
15885e5c210SXuhui Lin		cpu1: cpu@f01 {
15985e5c210SXuhui Lin			device_type = "cpu";
16085e5c210SXuhui Lin			compatible = "arm,cortex-a7";
16185e5c210SXuhui Lin			reg = <0xf01>;
16285e5c210SXuhui Lin			enable-method = "psci";
1631546cf06SXuhui Lin			clocks = <&cru ARMCLK>;
1641546cf06SXuhui Lin			operating-points-v2 = <&cpu0_opp_table>;
16585e5c210SXuhui Lin		};
16685e5c210SXuhui Lin
16785e5c210SXuhui Lin		cpu2: cpu@f02 {
16885e5c210SXuhui Lin			device_type = "cpu";
16985e5c210SXuhui Lin			compatible = "arm,cortex-a7";
17085e5c210SXuhui Lin			reg = <0xf02>;
17185e5c210SXuhui Lin			enable-method = "psci";
1721546cf06SXuhui Lin			clocks = <&cru ARMCLK>;
1731546cf06SXuhui Lin			operating-points-v2 = <&cpu0_opp_table>;
17485e5c210SXuhui Lin		};
17585e5c210SXuhui Lin	};
17685e5c210SXuhui Lin
1771546cf06SXuhui Lin	cpu0_opp_table: cpu0-opp-table {
1781546cf06SXuhui Lin		compatible = "operating-points-v2";
1791546cf06SXuhui Lin		opp-shared;
1801546cf06SXuhui Lin
1811546cf06SXuhui Lin		nvmem-cells = <&cpu_leakage>;
1821546cf06SXuhui Lin		nvmem-cell-names = "leakage";
1831546cf06SXuhui Lin
1841546cf06SXuhui Lin		rockchip,pvtm-voltage-sel = <
1851546cf06SXuhui Lin			0	1584	0
1861546cf06SXuhui Lin			1585	1619	1
1871546cf06SXuhui Lin			1620	1654	2
1881546cf06SXuhui Lin			1655	1689	3
1891546cf06SXuhui Lin			1690	1724	4
1901546cf06SXuhui Lin			1725	1759	5
1911546cf06SXuhui Lin			1760	1794	6
1921546cf06SXuhui Lin			1795	9999	7
1931546cf06SXuhui Lin		>;
1941546cf06SXuhui Lin		rockchip,pvtm-pvtpll;
1951546cf06SXuhui Lin		rockchip,pvtm-offset = <0x18>;
1961546cf06SXuhui Lin		rockchip,pvtm-sample-time = <500>;
1971546cf06SXuhui Lin		rockchip,pvtm-freq = <1608000>;
1981546cf06SXuhui Lin		rockchip,pvtm-volt = <1000000>;
1991546cf06SXuhui Lin		rockchip,pvtm-ref-temp = <40>;
2001546cf06SXuhui Lin		rockchip,pvtm-temp-prop = <0 0>;
2011546cf06SXuhui Lin		rockchip,pvtm-thermal-zone = "soc-thermal";
2021546cf06SXuhui Lin		rockchip,grf = <&pvtpll_core>;
2031546cf06SXuhui Lin		rockchip,temp-hysteresis = <5000>;
2041546cf06SXuhui Lin		rockchip,low-temp = <10000>;
2051546cf06SXuhui Lin		rockchip,low-temp-min-volt = <900000>;
2061546cf06SXuhui Lin
2071546cf06SXuhui Lin		opp-600000000 {
2081546cf06SXuhui Lin			opp-hz = /bits/ 64 <600000000>;
2091546cf06SXuhui Lin			opp-microvolt = <850000 850000 1000000>;
2101546cf06SXuhui Lin			clock-latency-ns = <40000>;
2111546cf06SXuhui Lin			opp-suspend;
2121546cf06SXuhui Lin		};
2131546cf06SXuhui Lin		opp-800000000 {
2141546cf06SXuhui Lin			opp-hz = /bits/ 64 <800000000>;
2151546cf06SXuhui Lin			opp-microvolt = <850000 850000 1000000>;
2161546cf06SXuhui Lin			clock-latency-ns = <40000>;
2171546cf06SXuhui Lin		};
2181546cf06SXuhui Lin		opp-1008000000 {
2191546cf06SXuhui Lin			opp-hz = /bits/ 64 <1008000000>;
2201546cf06SXuhui Lin			opp-microvolt = <850000 850000 1000000>;
2211546cf06SXuhui Lin			opp-microvolt-L0 = <875000 875000 1000000>;
2221546cf06SXuhui Lin			clock-latency-ns = <40000>;
2231546cf06SXuhui Lin		};
2241546cf06SXuhui Lin		opp-1200000000 {
2251546cf06SXuhui Lin			opp-hz = /bits/ 64 <1200000000>;
2261546cf06SXuhui Lin			opp-microvolt = <850000 850000 1000000>;
2271546cf06SXuhui Lin			opp-microvolt-L0 = <875000 875000 1000000>;
2281546cf06SXuhui Lin			clock-latency-ns = <40000>;
2291546cf06SXuhui Lin		};
2301546cf06SXuhui Lin		opp-1296000000 {
2311546cf06SXuhui Lin			opp-hz = /bits/ 64 <1296000000>;
2321546cf06SXuhui Lin			opp-microvolt = <900000 900000 1000000>;
2331546cf06SXuhui Lin			opp-microvolt-L0 = <900000 900000 1000000>;
2341546cf06SXuhui Lin			opp-microvolt-L1 = <887500 887500 1000000>;
2351546cf06SXuhui Lin			opp-microvolt-L2 = <875000 875000 1000000>;
2361546cf06SXuhui Lin			opp-microvolt-L3 = <862500 862500 1000000>;
2371546cf06SXuhui Lin			opp-microvolt-L4 = <850000 850000 1000000>;
2381546cf06SXuhui Lin			opp-microvolt-L5 = <850000 850000 1000000>;
2391546cf06SXuhui Lin			opp-microvolt-L6 = <850000 850000 1000000>;
2401546cf06SXuhui Lin			opp-microvolt-L7 = <850000 850000 1000000>;
2411546cf06SXuhui Lin			clock-latency-ns = <40000>;
2421546cf06SXuhui Lin		};
2431546cf06SXuhui Lin		opp-1416000000 {
2441546cf06SXuhui Lin			opp-hz = /bits/ 64 <1416000000>;
2451546cf06SXuhui Lin			opp-microvolt = <937500 937500 1000000>;
2461546cf06SXuhui Lin			opp-microvolt-L0 = <937500 937500 1000000>;
2471546cf06SXuhui Lin			opp-microvolt-L1 = <925000 925000 1000000>;
2481546cf06SXuhui Lin			opp-microvolt-L2 = <912500 912500 1000000>;
2491546cf06SXuhui Lin			opp-microvolt-L3 = <900000 900000 1000000>;
2501546cf06SXuhui Lin			opp-microvolt-L4 = <887500 887500 1000000>;
2511546cf06SXuhui Lin			opp-microvolt-L5 = <875000 875000 1000000>;
2521546cf06SXuhui Lin			opp-microvolt-L6 = <862500 862500 1000000>;
2531546cf06SXuhui Lin			opp-microvolt-L7 = <850000 850000 1000000>;
2541546cf06SXuhui Lin			clock-latency-ns = <40000>;
2551546cf06SXuhui Lin		};
2561546cf06SXuhui Lin		opp-1512000000 {
2571546cf06SXuhui Lin			opp-hz = /bits/ 64 <1512000000>;
2581546cf06SXuhui Lin			opp-microvolt = <975000 975000 1000000>;
2591546cf06SXuhui Lin			opp-microvolt-L0 = <975000 975000 1000000>;
2601546cf06SXuhui Lin			opp-microvolt-L1 = <962500 962500 1000000>;
2611546cf06SXuhui Lin			opp-microvolt-L2 = <950000 950000 1000000>;
2621546cf06SXuhui Lin			opp-microvolt-L3 = <937500 937500 1000000>;
2631546cf06SXuhui Lin			opp-microvolt-L4 = <925000 925000 1000000>;
2641546cf06SXuhui Lin			opp-microvolt-L5 = <912500 912000 1000000>;
2651546cf06SXuhui Lin			opp-microvolt-L6 = <900000 900000 1000000>;
2661546cf06SXuhui Lin			opp-microvolt-L7 = <887500 887500 1000000>;
2671546cf06SXuhui Lin			clock-latency-ns = <40000>;
2681546cf06SXuhui Lin		};
2691546cf06SXuhui Lin	};
2701546cf06SXuhui Lin
2711546cf06SXuhui Lin	arm_pmu: arm-pmu {
27285e5c210SXuhui Lin		compatible = "arm,cortex-a7-pmu";
27385e5c210SXuhui Lin		interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
27485e5c210SXuhui Lin			     <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>,
27585e5c210SXuhui Lin			     <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>;
27685e5c210SXuhui Lin		interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>;
27785e5c210SXuhui Lin	};
27885e5c210SXuhui Lin
2791546cf06SXuhui Lin	cpuinfo {
2801546cf06SXuhui Lin		compatible = "rockchip,cpuinfo";
2811546cf06SXuhui Lin		nvmem-cells = <&otp_id>, <&otp_cpu_version>, <&cpu_code>;
2821546cf06SXuhui Lin		nvmem-cell-names = "id", "cpu-version", "cpu-code";
2831546cf06SXuhui Lin	};
2841546cf06SXuhui Lin
28585e5c210SXuhui Lin	display_subsystem: display-subsystem {
28685e5c210SXuhui Lin		compatible = "rockchip,display-subsystem";
28785e5c210SXuhui Lin		ports = <&vop_out>;
28885e5c210SXuhui Lin		status = "disabled";
2891546cf06SXuhui Lin
2901546cf06SXuhui Lin		route {
2911546cf06SXuhui Lin			route_dsi: route-dsi {
2921546cf06SXuhui Lin				status = "disabled";
2931546cf06SXuhui Lin				logo,uboot = "logo.bmp";
2941546cf06SXuhui Lin				logo,kernel = "logo_kernel.bmp";
2951546cf06SXuhui Lin				logo,mode = "center";
2961546cf06SXuhui Lin				charge_logo,mode = "center";
2971546cf06SXuhui Lin				connect = <&vop_out_dsi>;
2981546cf06SXuhui Lin			};
2991546cf06SXuhui Lin
3001546cf06SXuhui Lin			route_rgb: route-rgb {
3011546cf06SXuhui Lin				status = "disabled";
3021546cf06SXuhui Lin				logo,uboot = "logo.bmp";
3031546cf06SXuhui Lin				logo,kernel = "logo_kernel.bmp";
3041546cf06SXuhui Lin				logo,mode = "center";
3051546cf06SXuhui Lin				charge_logo,mode = "center";
3061546cf06SXuhui Lin				connect = <&vop_out_rgb>;
3071546cf06SXuhui Lin			};
3081546cf06SXuhui Lin		};
30985e5c210SXuhui Lin	};
31085e5c210SXuhui Lin
31185e5c210SXuhui Lin	psci: psci {
31285e5c210SXuhui Lin		compatible = "arm,psci-1.0";
31385e5c210SXuhui Lin		method = "smc";
31485e5c210SXuhui Lin	};
31585e5c210SXuhui Lin
3161546cf06SXuhui Lin	rockchip_system_monitor: rockchip-system-monitor {
3171546cf06SXuhui Lin		compatible = "rockchip,system-monitor";
3181546cf06SXuhui Lin
3191546cf06SXuhui Lin		rockchip,thermal-zone = "soc-thermal";
3201546cf06SXuhui Lin	};
3211546cf06SXuhui Lin
32285e5c210SXuhui Lin	thermal_zones: thermal-zones {
32385e5c210SXuhui Lin		soc_thermal: soc-thermal {
32485e5c210SXuhui Lin			polling-delay-passive = <20>; /* milliseconds */
32585e5c210SXuhui Lin			polling-delay = <1000>; /* milliseconds */
32685e5c210SXuhui Lin			thermal-sensors = <&tsadc 0>;
32785e5c210SXuhui Lin			trips {
32885e5c210SXuhui Lin				soc_crit: soc-crit {
32985e5c210SXuhui Lin					/* millicelsius */
33085e5c210SXuhui Lin					temperature = <115000>;
33185e5c210SXuhui Lin					/* millicelsius */
33285e5c210SXuhui Lin					hysteresis = <2000>;
33385e5c210SXuhui Lin					type = "critical";
33485e5c210SXuhui Lin				};
33585e5c210SXuhui Lin			};
33685e5c210SXuhui Lin		};
33785e5c210SXuhui Lin	};
33885e5c210SXuhui Lin
33985e5c210SXuhui Lin	timer {
34085e5c210SXuhui Lin		compatible = "arm,armv7-timer";
34185e5c210SXuhui Lin		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(3) | IRQ_TYPE_LEVEL_HIGH)>,
34285e5c210SXuhui Lin			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(3) | IRQ_TYPE_LEVEL_HIGH)>,
34385e5c210SXuhui Lin			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(3) | IRQ_TYPE_LEVEL_HIGH)>,
34485e5c210SXuhui Lin			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(3) | IRQ_TYPE_LEVEL_HIGH)>;
34585e5c210SXuhui Lin		clock-frequency = <24000000>;
34685e5c210SXuhui Lin	};
34785e5c210SXuhui Lin
34885e5c210SXuhui Lin	dmac0: dma-controller@ff000000 {
34985e5c210SXuhui Lin		compatible = "arm,pl330", "arm,primecell";
35085e5c210SXuhui Lin		reg = <0xff000000 0x4000>;
35185e5c210SXuhui Lin		interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
35285e5c210SXuhui Lin			     <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
35385e5c210SXuhui Lin		clocks = <&cru ACLK_DMAC0>;
35485e5c210SXuhui Lin		clock-names = "apb_pclk";
3551546cf06SXuhui Lin		#dma-cells = <5>;
35685e5c210SXuhui Lin		arm,pl330-periph-burst;
35785e5c210SXuhui Lin	};
35885e5c210SXuhui Lin
35985e5c210SXuhui Lin	dmac1: dma-controller@ff008000 {
36085e5c210SXuhui Lin		compatible = "arm,pl330", "arm,primecell";
36185e5c210SXuhui Lin		reg = <0xff008000 0x4000>;
36285e5c210SXuhui Lin		interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
36385e5c210SXuhui Lin			     <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
36485e5c210SXuhui Lin		clocks = <&cru ACLK_DMAC1>;
36585e5c210SXuhui Lin		clock-names = "apb_pclk";
3661546cf06SXuhui Lin		#dma-cells = <5>;
36785e5c210SXuhui Lin		arm,pl330-periph-burst;
36885e5c210SXuhui Lin	};
36985e5c210SXuhui Lin
37085e5c210SXuhui Lin	i2c0: i2c@ff040000 {
37185e5c210SXuhui Lin		compatible = "rockchip,rk3506-i2c", "rockchip,rk3399-i2c";
37285e5c210SXuhui Lin		reg = <0xff040000 0x1000>;
37385e5c210SXuhui Lin		interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
37485e5c210SXuhui Lin		#address-cells = <1>;
37585e5c210SXuhui Lin		#size-cells = <0>;
37685e5c210SXuhui Lin		clocks = <&cru CLK_I2C0>, <&cru PCLK_I2C0>;
37785e5c210SXuhui Lin		clock-names = "i2c", "pclk";
37885e5c210SXuhui Lin		status = "disabled";
37985e5c210SXuhui Lin	};
38085e5c210SXuhui Lin
38185e5c210SXuhui Lin	i2c1: i2c@ff050000 {
38285e5c210SXuhui Lin		compatible = "rockchip,rk3506-i2c", "rockchip,rk3399-i2c";
38385e5c210SXuhui Lin		reg = <0xff050000 0x1000>;
38485e5c210SXuhui Lin		interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
38585e5c210SXuhui Lin		#address-cells = <1>;
38685e5c210SXuhui Lin		#size-cells = <0>;
38785e5c210SXuhui Lin		clocks = <&cru CLK_I2C1>, <&cru PCLK_I2C1>;
38885e5c210SXuhui Lin		clock-names = "i2c", "pclk";
38985e5c210SXuhui Lin		status = "disabled";
39085e5c210SXuhui Lin	};
39185e5c210SXuhui Lin
39285e5c210SXuhui Lin	i2c2: i2c@ff060000 {
39385e5c210SXuhui Lin		compatible = "rockchip,rk3506-i2c", "rockchip,rk3399-i2c";
39485e5c210SXuhui Lin		reg = <0xff060000 0x1000>;
39585e5c210SXuhui Lin		interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
39685e5c210SXuhui Lin		#address-cells = <1>;
39785e5c210SXuhui Lin		#size-cells = <0>;
39885e5c210SXuhui Lin		clocks = <&cru CLK_I2C2>, <&cru PCLK_I2C2>;
39985e5c210SXuhui Lin		clock-names = "i2c", "pclk";
40085e5c210SXuhui Lin		status = "disabled";
40185e5c210SXuhui Lin	};
40285e5c210SXuhui Lin
40385e5c210SXuhui Lin	uart0: serial@ff0a0000 {
40485e5c210SXuhui Lin		compatible = "rockchip,rk3506-uart", "snps,dw-apb-uart";
40585e5c210SXuhui Lin		reg = <0xff0a0000 0x100>;
40685e5c210SXuhui Lin		interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
40785e5c210SXuhui Lin		reg-shift = <2>;
40885e5c210SXuhui Lin		reg-io-width = <4>;
4091546cf06SXuhui Lin		dmas = <&dmac0 4 0xff2880a8 0x03000100 0x0 0x0>,
4101546cf06SXuhui Lin		       <&dmac0 5 0xff2880a8 0x0c000400 0x0 0x0>;
41185e5c210SXuhui Lin		clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>;
41285e5c210SXuhui Lin		clock-names = "baudclk", "apb_pclk";
41385e5c210SXuhui Lin		pinctrl-names = "default";
41485e5c210SXuhui Lin		pinctrl-0 = <&uart0_xfer_pins>;
41585e5c210SXuhui Lin		status = "disabled";
41685e5c210SXuhui Lin	};
41785e5c210SXuhui Lin
41885e5c210SXuhui Lin	uart1: serial@ff0b0000 {
41985e5c210SXuhui Lin		compatible = "rockchip,rk3506-uart", "snps,dw-apb-uart";
42085e5c210SXuhui Lin		reg = <0xff0b0000 0x100>;
42185e5c210SXuhui Lin		interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
42285e5c210SXuhui Lin		reg-shift = <2>;
42385e5c210SXuhui Lin		reg-io-width = <4>;
4241546cf06SXuhui Lin		dmas = <&dmac0 6 0xff2880a8 0x30001000 0x0 0x0>,
4251546cf06SXuhui Lin		       <&dmac0 7 0xff2880a8 0xc0004000 0x0 0x0>;
42685e5c210SXuhui Lin		clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>;
42785e5c210SXuhui Lin		clock-names = "baudclk", "apb_pclk";
42885e5c210SXuhui Lin		status = "disabled";
42985e5c210SXuhui Lin	};
43085e5c210SXuhui Lin
43185e5c210SXuhui Lin	uart2: serial@ff0c0000 {
43285e5c210SXuhui Lin		compatible = "rockchip,rk3506-uart", "snps,dw-apb-uart";
43385e5c210SXuhui Lin		reg = <0xff0c0000 0x100>;
43485e5c210SXuhui Lin		interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
43585e5c210SXuhui Lin		reg-shift = <2>;
43685e5c210SXuhui Lin		reg-io-width = <4>;
4371546cf06SXuhui Lin		dmas = <&dmac0 8 0xff2880ac 0x00030001 0x0 0x0>,
4381546cf06SXuhui Lin		       <&dmac0 9 0xff2880ac 0x000c0004 0x0 0x0>;
43985e5c210SXuhui Lin		clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>;
44085e5c210SXuhui Lin		clock-names = "baudclk", "apb_pclk";
44185e5c210SXuhui Lin		status = "disabled";
44285e5c210SXuhui Lin	};
44385e5c210SXuhui Lin
44485e5c210SXuhui Lin	uart3: serial@ff0d0000 {
44585e5c210SXuhui Lin		compatible = "rockchip,rk3506-uart", "snps,dw-apb-uart";
44685e5c210SXuhui Lin		reg = <0xff0d0000 0x100>;
44785e5c210SXuhui Lin		interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
44885e5c210SXuhui Lin		reg-shift = <2>;
44985e5c210SXuhui Lin		reg-io-width = <4>;
4501546cf06SXuhui Lin		dmas = <&dmac0 10 0xff2880ac 0x00300010 0x0 0x0>,
4511546cf06SXuhui Lin		       <&dmac0 11 0xff2880ac 0x00c00040 0x0 0x0>;
45285e5c210SXuhui Lin		clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>;
45385e5c210SXuhui Lin		clock-names = "baudclk", "apb_pclk";
45485e5c210SXuhui Lin		status = "disabled";
45585e5c210SXuhui Lin	};
45685e5c210SXuhui Lin
45785e5c210SXuhui Lin	uart4: serial@ff0e0000 {
45885e5c210SXuhui Lin		compatible = "rockchip,rk3506-uart", "snps,dw-apb-uart";
45985e5c210SXuhui Lin		reg = <0xff0e0000 0x100>;
46085e5c210SXuhui Lin		interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
46185e5c210SXuhui Lin		reg-shift = <2>;
46285e5c210SXuhui Lin		reg-io-width = <4>;
4631546cf06SXuhui Lin		dmas = <&dmac1 12 0x0 0x0 0x0 0x0>, <&dmac1 13 0x0 0x0 0x0 0x0>;
46485e5c210SXuhui Lin		clocks = <&cru SCLK_UART4>, <&cru PCLK_UART4>;
46585e5c210SXuhui Lin		clock-names = "baudclk", "apb_pclk";
46685e5c210SXuhui Lin		status = "disabled";
46785e5c210SXuhui Lin	};
46885e5c210SXuhui Lin
46985e5c210SXuhui Lin	spi0: spi@ff120000 {
47085e5c210SXuhui Lin		compatible = "rockchip,rk3506-spi", "rockchip,rk3066-spi";
47185e5c210SXuhui Lin		reg = <0xff120000 0x1000>;
47285e5c210SXuhui Lin		interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
47385e5c210SXuhui Lin		#address-cells = <1>;
47485e5c210SXuhui Lin		#size-cells = <0>;
47585e5c210SXuhui Lin		clocks = <&cru CLK_SPI0>, <&cru PCLK_SPI0>;
47685e5c210SXuhui Lin		clock-names = "spiclk", "apb_pclk";
4771546cf06SXuhui Lin		dmas = <&dmac0 0 0xff2880a8 0x00030001 0x0 0x0>,
4781546cf06SXuhui Lin		       <&dmac0 1 0xff2880a8 0x000c0004 0x0 0x0>;
47985e5c210SXuhui Lin		dma-names = "tx", "rx";
4801546cf06SXuhui Lin		num-cs = <2>;
48185e5c210SXuhui Lin		pinctrl-names = "default";
48285e5c210SXuhui Lin		pinctrl-0 = <&spi0_csn0_pins &spi0_csn1_pins &spi0_clk_pins>;
48385e5c210SXuhui Lin		status = "disabled";
48485e5c210SXuhui Lin	};
48585e5c210SXuhui Lin
48685e5c210SXuhui Lin	spi1: spi@ff130000 {
48785e5c210SXuhui Lin		compatible = "rockchip,rk3506-spi", "rockchip,rk3066-spi";
48885e5c210SXuhui Lin		reg = <0xff130000 0x1000>;
48985e5c210SXuhui Lin		interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
49085e5c210SXuhui Lin		#address-cells = <1>;
49185e5c210SXuhui Lin		#size-cells = <0>;
49285e5c210SXuhui Lin		clocks = <&cru CLK_SPI1>, <&cru PCLK_SPI1>;
49385e5c210SXuhui Lin		clock-names = "spiclk", "apb_pclk";
4941546cf06SXuhui Lin		dmas = <&dmac0 2 0xff2880a8 0x00300010 0x0 0x0>,
4951546cf06SXuhui Lin		       <&dmac0 3 0xff2880a8 0x00c00040 0x0 0x0>;
49685e5c210SXuhui Lin		dma-names = "tx", "rx";
4971546cf06SXuhui Lin		num-cs = <2>;
49885e5c210SXuhui Lin		pinctrl-names = "default";
49985e5c210SXuhui Lin		pinctrl-0 = <&spi1_csn0_pins &spi1_csn1_pins &spi1_clk_pins>;
50085e5c210SXuhui Lin		status = "disabled";
50185e5c210SXuhui Lin	};
50285e5c210SXuhui Lin
50385e5c210SXuhui Lin	pwm1_8ch_0: pwm@ff170000 {
50485e5c210SXuhui Lin		compatible = "rockchip,rk3506-pwm", "rockchip,rk3576-pwm";
50585e5c210SXuhui Lin		reg = <0xff170000 0x200>;
50685e5c210SXuhui Lin		interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
50785e5c210SXuhui Lin		clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
50885e5c210SXuhui Lin		clock-names = "pwm", "pclk";
50985e5c210SXuhui Lin		#pwm-cells = <3>;
51085e5c210SXuhui Lin		status = "disabled";
51185e5c210SXuhui Lin	};
51285e5c210SXuhui Lin
51385e5c210SXuhui Lin	pwm1_8ch_1: pwm@ff171000 {
51485e5c210SXuhui Lin		compatible = "rockchip,rk3506-pwm", "rockchip,rk3576-pwm";
51585e5c210SXuhui Lin		reg = <0xff171000 0x200>;
51685e5c210SXuhui Lin		interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
51785e5c210SXuhui Lin		clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
51885e5c210SXuhui Lin		clock-names = "pwm", "pclk";
51985e5c210SXuhui Lin		#pwm-cells = <3>;
52085e5c210SXuhui Lin		status = "disabled";
52185e5c210SXuhui Lin	};
52285e5c210SXuhui Lin
52385e5c210SXuhui Lin	pwm1_8ch_2: pwm@ff172000 {
52485e5c210SXuhui Lin		compatible = "rockchip,rk3506-pwm", "rockchip,rk3576-pwm";
52585e5c210SXuhui Lin		reg = <0xff172000 0x200>;
52685e5c210SXuhui Lin		interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
52785e5c210SXuhui Lin		clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
52885e5c210SXuhui Lin		clock-names = "pwm", "pclk";
52985e5c210SXuhui Lin		#pwm-cells = <3>;
53085e5c210SXuhui Lin		status = "disabled";
53185e5c210SXuhui Lin	};
53285e5c210SXuhui Lin
53385e5c210SXuhui Lin	pwm1_8ch_3: pwm@ff173000 {
53485e5c210SXuhui Lin		compatible = "rockchip,rk3506-pwm", "rockchip,rk3576-pwm";
53585e5c210SXuhui Lin		reg = <0xff173000 0x200>;
53685e5c210SXuhui Lin		interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
53785e5c210SXuhui Lin		clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
53885e5c210SXuhui Lin		clock-names = "pwm", "pclk";
53985e5c210SXuhui Lin		#pwm-cells = <3>;
54085e5c210SXuhui Lin		status = "disabled";
54185e5c210SXuhui Lin	};
54285e5c210SXuhui Lin
54385e5c210SXuhui Lin	pwm1_8ch_4: pwm@ff174000 {
54485e5c210SXuhui Lin		compatible = "rockchip,rk3506-pwm", "rockchip,rk3576-pwm";
54585e5c210SXuhui Lin		reg = <0xff174000 0x200>;
54685e5c210SXuhui Lin		interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
54785e5c210SXuhui Lin		clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
54885e5c210SXuhui Lin		clock-names = "pwm", "pclk";
54985e5c210SXuhui Lin		#pwm-cells = <3>;
55085e5c210SXuhui Lin		status = "disabled";
55185e5c210SXuhui Lin	};
55285e5c210SXuhui Lin
55385e5c210SXuhui Lin	pwm1_8ch_5: pwm@ff175000 {
55485e5c210SXuhui Lin		compatible = "rockchip,rk3506-pwm", "rockchip,rk3576-pwm";
55585e5c210SXuhui Lin		reg = <0xff175000 0x200>;
55685e5c210SXuhui Lin		interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
55785e5c210SXuhui Lin		clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
55885e5c210SXuhui Lin		clock-names = "pwm", "pclk";
55985e5c210SXuhui Lin		#pwm-cells = <3>;
56085e5c210SXuhui Lin		status = "disabled";
56185e5c210SXuhui Lin	};
56285e5c210SXuhui Lin
56385e5c210SXuhui Lin	pwm1_8ch_6: pwm@ff176000 {
56485e5c210SXuhui Lin		compatible = "rockchip,rk3506-pwm", "rockchip,rk3576-pwm";
56585e5c210SXuhui Lin		reg = <0xff176000 0x200>;
56685e5c210SXuhui Lin		interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
56785e5c210SXuhui Lin		clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
56885e5c210SXuhui Lin		clock-names = "pwm", "pclk";
56985e5c210SXuhui Lin		#pwm-cells = <3>;
57085e5c210SXuhui Lin		status = "disabled";
57185e5c210SXuhui Lin	};
57285e5c210SXuhui Lin
57385e5c210SXuhui Lin	pwm1_8ch_7: pwm@ff177000 {
57485e5c210SXuhui Lin		compatible = "rockchip,rk3506-pwm", "rockchip,rk3576-pwm";
57585e5c210SXuhui Lin		reg = <0xff177000 0x200>;
57685e5c210SXuhui Lin		interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
57785e5c210SXuhui Lin		clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
57885e5c210SXuhui Lin		clock-names = "pwm", "pclk";
57985e5c210SXuhui Lin		#pwm-cells = <3>;
58085e5c210SXuhui Lin		status = "disabled";
58185e5c210SXuhui Lin	};
58285e5c210SXuhui Lin
58385e5c210SXuhui Lin	hwlock0: hwspinlock@ff240000 {
58485e5c210SXuhui Lin		compatible = "rockchip,hwspinlock";
58585e5c210SXuhui Lin		reg = <0xff240000 0x20>;
58685e5c210SXuhui Lin		#hwlock-cells = <1>;
58785e5c210SXuhui Lin		rockchip,hwlock-num-locks = <8>;
58885e5c210SXuhui Lin		status = "disabled";
58985e5c210SXuhui Lin	};
59085e5c210SXuhui Lin
59185e5c210SXuhui Lin	hwlock1: hwspinlock@ff241000 {
59285e5c210SXuhui Lin		compatible = "rockchip,hwspinlock";
59385e5c210SXuhui Lin		reg = <0xff241000 0x20>;
59485e5c210SXuhui Lin		#hwlock-cells = <1>;
59585e5c210SXuhui Lin		rockchip,hwlock-num-locks = <8>;
59685e5c210SXuhui Lin		status = "disabled";
59785e5c210SXuhui Lin	};
59885e5c210SXuhui Lin
59985e5c210SXuhui Lin	hwlock2: hwspinlock@ff242000 {
60085e5c210SXuhui Lin		compatible = "rockchip,hwspinlock";
60185e5c210SXuhui Lin		reg = <0xff242000 0x20>;
60285e5c210SXuhui Lin		#hwlock-cells = <1>;
60385e5c210SXuhui Lin		rockchip,hwlock-num-locks = <8>;
60485e5c210SXuhui Lin		status = "disabled";
60585e5c210SXuhui Lin	};
60685e5c210SXuhui Lin
60785e5c210SXuhui Lin	hwlock3: hwspinlock@ff243000 {
60885e5c210SXuhui Lin		compatible = "rockchip,hwspinlock";
60985e5c210SXuhui Lin		reg = <0xff243000 0x20>;
61085e5c210SXuhui Lin		#hwlock-cells = <1>;
61185e5c210SXuhui Lin		rockchip,hwlock-num-locks = <8>;
61285e5c210SXuhui Lin		status = "disabled";
61385e5c210SXuhui Lin	};
61485e5c210SXuhui Lin
61585e5c210SXuhui Lin	wdt0: watchdog@ff260000 {
61685e5c210SXuhui Lin		compatible = "snps,dw-wdt";
61785e5c210SXuhui Lin		reg = <0xff260000 0x100>;
61885e5c210SXuhui Lin		clocks = <&cru TCLK_WDT0>, <&cru PCLK_WDT0>;
61985e5c210SXuhui Lin		clock-names = "tclk", "pclk";
62085e5c210SXuhui Lin		interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
62185e5c210SXuhui Lin		status = "disabled";
62285e5c210SXuhui Lin	};
62385e5c210SXuhui Lin
62485e5c210SXuhui Lin	wdt1: watchdog@ff268000 {
62585e5c210SXuhui Lin		compatible = "snps,dw-wdt";
62685e5c210SXuhui Lin		reg = <0xff268000 0x100>;
62785e5c210SXuhui Lin		clocks = <&cru TCLK_WDT1>, <&cru PCLK_WDT1>;
62885e5c210SXuhui Lin		clock-names = "tclk", "pclk";
62985e5c210SXuhui Lin		interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
63085e5c210SXuhui Lin		status = "disabled";
63185e5c210SXuhui Lin	};
63285e5c210SXuhui Lin
63385e5c210SXuhui Lin	grf: syscon@ff288000 {
63485e5c210SXuhui Lin		compatible = "rockchip,rk3506-grf", "syscon", "simple-mfd";
63585e5c210SXuhui Lin		reg = <0xff288000 0x4000>;
63685e5c210SXuhui Lin
63785e5c210SXuhui Lin		rgb: rgb {
63885e5c210SXuhui Lin			compatible = "rockchip,rk3506-rgb";
63985e5c210SXuhui Lin			status = "disabled";
64085e5c210SXuhui Lin
64185e5c210SXuhui Lin			ports {
64285e5c210SXuhui Lin				#address-cells = <1>;
64385e5c210SXuhui Lin				#size-cells = <0>;
64485e5c210SXuhui Lin
64585e5c210SXuhui Lin				port@0 {
64685e5c210SXuhui Lin					reg = <0>;
64785e5c210SXuhui Lin					#address-cells = <1>;
64885e5c210SXuhui Lin					#size-cells = <0>;
64985e5c210SXuhui Lin
65085e5c210SXuhui Lin					rgb_in_vop: endpoint@0 {
65185e5c210SXuhui Lin						reg = <0>;
65285e5c210SXuhui Lin						remote-endpoint = <&vop_out_rgb>;
65385e5c210SXuhui Lin					};
65485e5c210SXuhui Lin				};
65585e5c210SXuhui Lin			};
65685e5c210SXuhui Lin		};
65785e5c210SXuhui Lin	};
65885e5c210SXuhui Lin
65985e5c210SXuhui Lin	mailbox0: mailbox@ff290000 {
66085e5c210SXuhui Lin		compatible = "rockchip,rk3506-mailbox", "rockchip,rk3576-mailbox";
66185e5c210SXuhui Lin		reg = <0xff290000 0x20>;
66285e5c210SXuhui Lin		interrupts = <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
66385e5c210SXuhui Lin		clocks = <&cru PCLK_MAILBOX>;
66485e5c210SXuhui Lin		clock-names = "pclk_mailbox";
66585e5c210SXuhui Lin		#mbox-cells = <1>;
66685e5c210SXuhui Lin		status = "disabled";
66785e5c210SXuhui Lin	};
66885e5c210SXuhui Lin
66985e5c210SXuhui Lin	mailbox1: mailbox@ff291000 {
67085e5c210SXuhui Lin		compatible = "rockchip,rk3506-mailbox", "rockchip,rk3576-mailbox";
67185e5c210SXuhui Lin		reg = <0xff291000 0x20>;
67285e5c210SXuhui Lin		interrupts = <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>;
67385e5c210SXuhui Lin		clocks = <&cru PCLK_MAILBOX>;
67485e5c210SXuhui Lin		clock-names = "pclk_mailbox";
67585e5c210SXuhui Lin		#mbox-cells = <1>;
67685e5c210SXuhui Lin		status = "disabled";
67785e5c210SXuhui Lin	};
67885e5c210SXuhui Lin
67985e5c210SXuhui Lin	mailbox2: mailbox@ff292000 {
68085e5c210SXuhui Lin		compatible = "rockchip,rk3506-mailbox", "rockchip,rk3576-mailbox";
68185e5c210SXuhui Lin		reg = <0xff292000 0x20>;
68285e5c210SXuhui Lin		interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>;
68385e5c210SXuhui Lin		clocks = <&cru PCLK_MAILBOX>;
68485e5c210SXuhui Lin		clock-names = "pclk_mailbox";
68585e5c210SXuhui Lin		#mbox-cells = <1>;
68685e5c210SXuhui Lin		status = "disabled";
68785e5c210SXuhui Lin	};
68885e5c210SXuhui Lin
68985e5c210SXuhui Lin	mailbox3: mailbox@ff293000 {
69085e5c210SXuhui Lin		compatible = "rockchip,rk3506-mailbox", "rockchip,rk3576-mailbox";
69185e5c210SXuhui Lin		reg = <0xff293000 0x20>;
69285e5c210SXuhui Lin		interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>;
69385e5c210SXuhui Lin		clocks = <&cru PCLK_MAILBOX>;
69485e5c210SXuhui Lin		clock-names = "pclk_mailbox";
69585e5c210SXuhui Lin		#mbox-cells = <1>;
69685e5c210SXuhui Lin		status = "disabled";
69785e5c210SXuhui Lin	};
69885e5c210SXuhui Lin
69985e5c210SXuhui Lin	usb2phy: usb2-phy@ff2b0000 {
70085e5c210SXuhui Lin		compatible = "rockchip,rk3506-usb2phy";
70185e5c210SXuhui Lin		reg = <0xff2b0000 0x8000>;
70285e5c210SXuhui Lin		clocks = <&cru CLK_REF_USBPHY_TOP>, <&cru PCLK_USBPHY>;
70385e5c210SXuhui Lin		clock-names = "phyclk", "apb_pclk";
70485e5c210SXuhui Lin		#clock-cells = <0>;
70585e5c210SXuhui Lin		rockchip,usbgrf = <&grf>;
70685e5c210SXuhui Lin		status = "disabled";
70785e5c210SXuhui Lin
70885e5c210SXuhui Lin		u2phy_otg0: otg-port {
70985e5c210SXuhui Lin			#phy-cells = <0>;
71085e5c210SXuhui Lin			interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>,
71185e5c210SXuhui Lin				     <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>,
71285e5c210SXuhui Lin				     <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
71385e5c210SXuhui Lin			interrupt-names = "otg-bvalid",
71485e5c210SXuhui Lin					  "otg-id",
71585e5c210SXuhui Lin					  "linestate";
71685e5c210SXuhui Lin			status = "disabled";
71785e5c210SXuhui Lin		};
71885e5c210SXuhui Lin
71985e5c210SXuhui Lin		u2phy_otg1: host-port {
72085e5c210SXuhui Lin			#phy-cells = <0>;
72185e5c210SXuhui Lin			interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>,
72285e5c210SXuhui Lin				     <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>,
72385e5c210SXuhui Lin				     <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
72485e5c210SXuhui Lin			interrupt-names = "otg-bvalid",
72585e5c210SXuhui Lin					  "otg-id",
72685e5c210SXuhui Lin					  "linestate";
72785e5c210SXuhui Lin			status = "disabled";
72885e5c210SXuhui Lin		};
72985e5c210SXuhui Lin	};
73085e5c210SXuhui Lin
73185e5c210SXuhui Lin	sai0: sai@ff300000 {
73285e5c210SXuhui Lin		compatible = "rockchip,rk3506-sai", "rockchip,sai-v1";
73385e5c210SXuhui Lin		reg = <0xff300000 0x1000>;
73485e5c210SXuhui Lin		interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
73585e5c210SXuhui Lin		clocks = <&cru MCLK_SAI0>, <&cru HCLK_SAI0>;
73685e5c210SXuhui Lin		clock-names = "mclk", "hclk";
7371546cf06SXuhui Lin		dmas = <&dmac1 1 0xff2880a4 0x01000000 0x0 0x0>,
7381546cf06SXuhui Lin		       <&dmac1 0 0xff2880a4 0x00800000 0x0 0x0>;
7391546cf06SXuhui Lin	//	dmas = <&dmac0 9 0xff2880a4 0x01000100 0xff2880ac 0x000c0000>,
7401546cf06SXuhui Lin	//	       <&dmac0 8 0xff2880a4 0x00800080 0xff2880ac 0x00030002>;
74185e5c210SXuhui Lin		dma-names = "tx", "rx";
74285e5c210SXuhui Lin		resets = <&cru SRST_M_SAI0>, <&cru SRST_H_SAI0>;
74385e5c210SXuhui Lin		reset-names = "m", "h";
74485e5c210SXuhui Lin		#sound-dai-cells = <0>;
74585e5c210SXuhui Lin		sound-name-prefix = "SAI0";
74685e5c210SXuhui Lin		pinctrl-names = "default";
74785e5c210SXuhui Lin		pinctrl-0 = <&sai0_lrck_pins
74885e5c210SXuhui Lin			     &sai0_sclk_pins
74985e5c210SXuhui Lin			     &sai0_sdi0_pins
75085e5c210SXuhui Lin			     &sai0_sdi1_pins
75185e5c210SXuhui Lin			     &sai0_sdi2_pins
75285e5c210SXuhui Lin			     &sai0_sdi3_pins
75385e5c210SXuhui Lin			     &sai0_sdo_pins>;
75485e5c210SXuhui Lin		status = "disabled";
75585e5c210SXuhui Lin	};
75685e5c210SXuhui Lin
75785e5c210SXuhui Lin	sai1: sai@ff310000 {
75885e5c210SXuhui Lin		compatible = "rockchip,rk3506-sai", "rockchip,sai-v1";
75985e5c210SXuhui Lin		reg = <0xff310000 0x1000>;
76085e5c210SXuhui Lin		interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
76185e5c210SXuhui Lin		clocks = <&cru MCLK_SAI1>, <&cru HCLK_SAI1>;
76285e5c210SXuhui Lin		clock-names = "mclk", "hclk";
7631546cf06SXuhui Lin		dmas = <&dmac1 3  0xff2880a4 0x04000000 0x0 0x0>,
7641546cf06SXuhui Lin		       <&dmac1 2  0xff2880a4 0x02000000 0x0 0x0>;
7651546cf06SXuhui Lin	//	dmas = <&dmac0 11 0xff2880a4 0x04000400 0xff2880ac 0x00c00000>,
7661546cf06SXuhui Lin	//	       <&dmac0 10 0xff2880a4 0x02000200 0xff2880ac 0x00300020>;
76785e5c210SXuhui Lin		dma-names = "tx", "rx";
76885e5c210SXuhui Lin		resets = <&cru SRST_M_SAI1>, <&cru SRST_H_SAI1>;
76985e5c210SXuhui Lin		reset-names = "m", "h";
77085e5c210SXuhui Lin		#sound-dai-cells = <0>;
77185e5c210SXuhui Lin		sound-name-prefix = "SAI1";
77285e5c210SXuhui Lin		pinctrl-names = "default";
77385e5c210SXuhui Lin		pinctrl-0 = <&sai1_lrck_pins
77485e5c210SXuhui Lin			     &sai1_sclk_pins
77585e5c210SXuhui Lin			     &sai1_sdi_pins
77685e5c210SXuhui Lin			     &sai1_sdo0_pins
77785e5c210SXuhui Lin			     &sai1_sdo1_pins
77885e5c210SXuhui Lin			     &sai1_sdo2_pins
77985e5c210SXuhui Lin			     &sai1_sdo3_pins>;
78085e5c210SXuhui Lin		status = "disabled";
78185e5c210SXuhui Lin	};
78285e5c210SXuhui Lin
78385e5c210SXuhui Lin	can0: can@ff320000 {
78485e5c210SXuhui Lin		compatible = "rockchip,rk3506-canfd", "rockchip,rk3576-canfd";
78585e5c210SXuhui Lin		reg = <0xff320000 0x1000>;
78685e5c210SXuhui Lin		interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
78785e5c210SXuhui Lin		clocks = <&cru CLK_CAN0>, <&cru HCLK_CAN0>;
78885e5c210SXuhui Lin		clock-names = "baudclk", "apb_pclk";
78985e5c210SXuhui Lin		resets = <&cru SRST_CAN0>, <&cru SRST_H_CAN0>;
79085e5c210SXuhui Lin		reset-names = "can", "can-apb";
79185e5c210SXuhui Lin		status = "disabled";
79285e5c210SXuhui Lin	};
79385e5c210SXuhui Lin
79485e5c210SXuhui Lin	can1: can@ff330000 {
79585e5c210SXuhui Lin		compatible = "rockchip,rk3506-canfd", "rockchip,rk3576-canfd";
79685e5c210SXuhui Lin		reg = <0xff330000 0x1000>;
79785e5c210SXuhui Lin		interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
79885e5c210SXuhui Lin		clocks = <&cru CLK_CAN1>, <&cru HCLK_CAN1>;
79985e5c210SXuhui Lin		clock-names = "baudclk", "apb_pclk";
80085e5c210SXuhui Lin		resets = <&cru SRST_CAN1>, <&cru SRST_H_CAN1>;
80185e5c210SXuhui Lin		reset-names = "can", "can-apb";
80285e5c210SXuhui Lin		status = "disabled";
80385e5c210SXuhui Lin	};
80485e5c210SXuhui Lin
80585e5c210SXuhui Lin	pdm: pdm@ff380000 {
80685e5c210SXuhui Lin		compatible = "rockchip,rk3506-pdm", "rockchip,rk3576-pdm";
80785e5c210SXuhui Lin		reg = <0xff380000 0x1000>;
80885e5c210SXuhui Lin		interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
80985e5c210SXuhui Lin		clocks = <&cru MCLK_PDM>, <&cru HCLK_PDM>, <&cru CLKOUT_PDM>;
81085e5c210SXuhui Lin		clock-names = "pdm_clk", "pdm_hclk", "pdm_clk_out";
8111546cf06SXuhui Lin		dmas = <&dmac1 9 0xff2880a4 0x00100000 0x0 0x0>;
8121546cf06SXuhui Lin	//	dmas = <&dmac0 5 0xff2880a4 0x00100010 0xff2880a8 0x0c000800>;
81385e5c210SXuhui Lin		dma-names = "rx";
81485e5c210SXuhui Lin		pinctrl-names = "default";
81585e5c210SXuhui Lin		pinctrl-0 = <&rm_io0_pdm_clk0
81685e5c210SXuhui Lin			     &rm_io0_pdm_clk1
81785e5c210SXuhui Lin			     &rm_io0_pdm_sdi0
81885e5c210SXuhui Lin			     &rm_io0_pdm_sdi1
81985e5c210SXuhui Lin			     &rm_io0_pdm_sdi2
82085e5c210SXuhui Lin			     &rm_io0_pdm_sdi3>;
82185e5c210SXuhui Lin		#sound-dai-cells = <0>;
82285e5c210SXuhui Lin		sound-name-prefix = "PDM0";
82385e5c210SXuhui Lin		status = "disabled";
82485e5c210SXuhui Lin	};
82585e5c210SXuhui Lin
82685e5c210SXuhui Lin	spdif_tx: spdif-tx@ff3a0000 {
82785e5c210SXuhui Lin		compatible = "rockchip,rk3506-spdif", "rockchip,rk3066-spdif";
82885e5c210SXuhui Lin		reg = <0xff3a0000 0x1000>;
82985e5c210SXuhui Lin		interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
83085e5c210SXuhui Lin		clocks = <&cru MCLK_SPDIFTX>, <&cru HCLK_SPDIFTX>;
83185e5c210SXuhui Lin		clock-names = "mclk", "hclk";
8321546cf06SXuhui Lin		dmas = <&dmac1 10 0xff2880a4 0x00200000 0xff2880ac 0x03000100>;
8331546cf06SXuhui Lin	//	dmas = <&dmac0 6  0xff2880a4 0x00200020 0xff2880a8 0x30000000>;
83485e5c210SXuhui Lin		dma-names = "tx";
83585e5c210SXuhui Lin		pinctrl-names = "default";
83685e5c210SXuhui Lin		pinctrl-0 = <&rm_io0_spdif_tx>;
8371546cf06SXuhui Lin		#sound-dai-cells = <0>;
83885e5c210SXuhui Lin		status = "disabled";
83985e5c210SXuhui Lin	};
84085e5c210SXuhui Lin
84185e5c210SXuhui Lin	spdif_rx: spdif-rx@ff3b0000 {
84285e5c210SXuhui Lin		compatible = "rockchip,rk3506-spdifrx", "rockchip,rk3308-spdifrx";
84385e5c210SXuhui Lin		reg = <0xff3b0000 0x1000>;
84485e5c210SXuhui Lin		interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
84585e5c210SXuhui Lin		clocks = <&cru MCLK_SPDIFRX>, <&cru HCLK_SPDIFRX>;
84685e5c210SXuhui Lin		clock-names = "mclk", "hclk";
8471546cf06SXuhui Lin		dmas = <&dmac1 11 0xff2880a4 0x00400000 0xff2880ac 0x0c000400>;
8481546cf06SXuhui Lin	//	dmas = <&dmac0 7  0xff2880a4 0x00400040 0xff2880a8 0xc0000000>;
84985e5c210SXuhui Lin		dma-names = "rx";
85085e5c210SXuhui Lin		resets = <&cru SRST_SPDIFRX>;
85185e5c210SXuhui Lin		reset-names = "spdifrx-m";
85285e5c210SXuhui Lin		pinctrl-names = "default";
85385e5c210SXuhui Lin		pinctrl-0 = <&rm_io0_spdif_rx>;
8541546cf06SXuhui Lin		#sound-dai-cells = <0>;
85585e5c210SXuhui Lin		status = "disabled";
85685e5c210SXuhui Lin	};
85785e5c210SXuhui Lin
85885e5c210SXuhui Lin	mmc: mmc@ff480000 {
85985e5c210SXuhui Lin		compatible = "rockchip,rk3506-dw-mshc", "rockchip,rk3288-dw-mshc";
86085e5c210SXuhui Lin		reg = <0xff480000 0x4000>;
86185e5c210SXuhui Lin		interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
86285e5c210SXuhui Lin		max-frequency = <150000000>;
86385e5c210SXuhui Lin		bus-width = <4>;
86485e5c210SXuhui Lin		clocks = <&cru HCLK_SDMMC>, <&cru CCLK_SRC_SDMMC>;
86585e5c210SXuhui Lin		clock-names = "biu", "ciu";
86685e5c210SXuhui Lin		fifo-depth = <0x100>;
86785e5c210SXuhui Lin		resets = <&cru SRST_H_SDMMC>;
86885e5c210SXuhui Lin		reset-names = "reset";
86985e5c210SXuhui Lin		status = "disabled";
87085e5c210SXuhui Lin	};
87185e5c210SXuhui Lin
8721546cf06SXuhui Lin	fspi: spi@ff488000 {
87385e5c210SXuhui Lin		compatible = "rockchip,fspi";
87485e5c210SXuhui Lin		reg = <0xff488000 0x4000>;
87585e5c210SXuhui Lin		interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
87685e5c210SXuhui Lin		clocks = <&cru SCLK_FSPI>, <&cru HCLK_FSPI>;
87785e5c210SXuhui Lin		clock-names = "clk_sfc", "hclk_sfc";
878*bf6c671bSJon Lin		rockchip,max-dll = <0x17F>;
87985e5c210SXuhui Lin		#address-cells = <1>;
88085e5c210SXuhui Lin		#size-cells = <0>;
88185e5c210SXuhui Lin		status = "disabled";
88285e5c210SXuhui Lin	};
88385e5c210SXuhui Lin
88485e5c210SXuhui Lin	sai2: sai@ff498000 {
88585e5c210SXuhui Lin		compatible = "rockchip,rk3506-sai", "rockchip,sai-v1";
88685e5c210SXuhui Lin		reg = <0xff498000 0x1000>;
88785e5c210SXuhui Lin		interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
88885e5c210SXuhui Lin		clocks = <&cru MCLK_SAI2>, <&cru HCLK_SAI2>;
88985e5c210SXuhui Lin		clock-names = "mclk", "hclk";
8901546cf06SXuhui Lin		dmas = <&dmac1 5 0x0 0x0 0x0 0x0>, <&dmac1 4 0x0 0x0 0x0 0x0>;
89185e5c210SXuhui Lin		dma-names = "tx", "rx";
89285e5c210SXuhui Lin		resets = <&cru SRST_M_SAI2>, <&cru SRST_H_SAI2>;
89385e5c210SXuhui Lin		reset-names = "m", "h";
89485e5c210SXuhui Lin		#sound-dai-cells = <0>;
89585e5c210SXuhui Lin		sound-name-prefix = "SAI2";
89685e5c210SXuhui Lin		pinctrl-names = "default";
89785e5c210SXuhui Lin		pinctrl-0 = <&sai2m0_lrck_pins
89885e5c210SXuhui Lin			     &sai2m0_sclk_pins
89985e5c210SXuhui Lin			     &sai2m0_sdi_pins
90085e5c210SXuhui Lin			     &sai2m0_sdo_pins>;
90185e5c210SXuhui Lin		status = "disabled";
90285e5c210SXuhui Lin	};
90385e5c210SXuhui Lin
90485e5c210SXuhui Lin	sai3: sai@ff4a0000 {
90585e5c210SXuhui Lin		compatible = "rockchip,rk3506-sai", "rockchip,sai-v1";
90685e5c210SXuhui Lin		reg = <0xff4a0000 0x1000>;
90785e5c210SXuhui Lin		interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
90885e5c210SXuhui Lin		clocks = <&cru MCLK_SAI3>, <&cru HCLK_SAI3>;
90985e5c210SXuhui Lin		clock-names = "mclk", "hclk";
9101546cf06SXuhui Lin		dmas = <&dmac1 6 0x0 0x0 0x0 0x0>, <&dmac1 7 0x0 0x0 0x0 0x0>;
91185e5c210SXuhui Lin		dma-names = "tx", "rx";
91285e5c210SXuhui Lin		resets = <&cru SRST_M_SAI3>, <&cru SRST_H_SAI3>;
91385e5c210SXuhui Lin		reset-names = "m", "h";
91485e5c210SXuhui Lin		#sound-dai-cells = <0>;
91585e5c210SXuhui Lin		sound-name-prefix = "SAI3";
91685e5c210SXuhui Lin		pinctrl-names = "default";
91785e5c210SXuhui Lin		pinctrl-0 = <&sai3_lrck_pins
91885e5c210SXuhui Lin			     &sai3_sclk_pins
91985e5c210SXuhui Lin			     &sai3_sdi_pins
92085e5c210SXuhui Lin			     &sai3_sdo_pins>;
92185e5c210SXuhui Lin		status = "disabled";
92285e5c210SXuhui Lin	};
92385e5c210SXuhui Lin
92485e5c210SXuhui Lin	sai4: sai@ff4a8000 {
92585e5c210SXuhui Lin		compatible = "rockchip,rk3506-sai", "rockchip,sai-v1";
92685e5c210SXuhui Lin		reg = <0xff4a8000 0x1000>;
92785e5c210SXuhui Lin		interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
92885e5c210SXuhui Lin		clocks = <&cru MCLK_SAI4>, <&cru HCLK_SAI4>;
92985e5c210SXuhui Lin		clock-names = "mclk", "hclk";
9301546cf06SXuhui Lin		dmas = <&dmac1 8 0x0 0x0 0x0 0x0>;
93185e5c210SXuhui Lin		dma-names = "rx";
93285e5c210SXuhui Lin		resets = <&cru SRST_M_SAI4>, <&cru SRST_H_SAI4>;
93385e5c210SXuhui Lin		reset-names = "m", "h";
93485e5c210SXuhui Lin		#sound-dai-cells = <0>;
93585e5c210SXuhui Lin		sound-name-prefix = "SAI4";
93685e5c210SXuhui Lin		status = "disabled";
93785e5c210SXuhui Lin	};
93885e5c210SXuhui Lin
93985e5c210SXuhui Lin	acdcdig_dsm: acdcdig-dsm@ff4b0000 {
94085e5c210SXuhui Lin		compatible = "rockchip,rk3506-dsm";
94185e5c210SXuhui Lin		reg = <0xff4b0000 0x1000>;
94285e5c210SXuhui Lin		clocks = <&cru MCLK_DSM>, <&cru HCLK_DSM>;
94385e5c210SXuhui Lin		clock-names = "dac", "pclk";
94485e5c210SXuhui Lin		resets = <&cru SRST_M_DSM>;
94585e5c210SXuhui Lin		reset-names = "reset" ;
94685e5c210SXuhui Lin		rockchip,grf = <&grf>;
94785e5c210SXuhui Lin		pinctrl-names = "default";
94885e5c210SXuhui Lin		pinctrl-0 = <&dsm_audm0_ln_pins
94985e5c210SXuhui Lin			     &dsm_audm0_lp_pins
95085e5c210SXuhui Lin			     &dsm_audm0_rn_pins
95185e5c210SXuhui Lin			     &dsm_audm0_rp_pins>;
95285e5c210SXuhui Lin		#sound-dai-cells = <0>;
95385e5c210SXuhui Lin		status = "disabled";
95485e5c210SXuhui Lin	};
95585e5c210SXuhui Lin
95685e5c210SXuhui Lin	gmac0: ethernet@ff4c8000 {
95785e5c210SXuhui Lin		compatible = "rockchip,rk3506-gmac", "snps,dwmac-4.20a";
95885e5c210SXuhui Lin		reg = <0xff4c8000 0x2000>;
95985e5c210SXuhui Lin		interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>,
96085e5c210SXuhui Lin			     <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
96185e5c210SXuhui Lin		interrupt-names = "macirq", "eth_wake_irq";
96285e5c210SXuhui Lin		rockchip,grf = <&grf>;
96385e5c210SXuhui Lin		clocks = <&cru CLK_MAC0>, <&cru CLK_MAC0_PTP>,
96485e5c210SXuhui Lin			 <&cru PCLK_MAC0>, <&cru ACLK_MAC0>;
96585e5c210SXuhui Lin		clock-names = "stmmaceth", "ptp_ref",
96685e5c210SXuhui Lin			      "pclk_mac", "aclk_mac";
96785e5c210SXuhui Lin		resets = <&cru SRST_A_MAC0>;
96885e5c210SXuhui Lin		reset-names = "stmmaceth";
96985e5c210SXuhui Lin
97085e5c210SXuhui Lin		snps,mixed-burst;
97185e5c210SXuhui Lin		snps,tso;
97285e5c210SXuhui Lin
97385e5c210SXuhui Lin		snps,axi-config = <&gmac0_stmmac_axi_setup>;
97485e5c210SXuhui Lin		snps,mtl-rx-config = <&gmac0_mtl_rx_setup>;
97585e5c210SXuhui Lin		snps,mtl-tx-config = <&gmac0_mtl_tx_setup>;
97685e5c210SXuhui Lin
97785e5c210SXuhui Lin		phy-mode = "rmii";
97885e5c210SXuhui Lin		status = "disabled";
97985e5c210SXuhui Lin
98085e5c210SXuhui Lin		mdio0: mdio {
98185e5c210SXuhui Lin			compatible = "snps,dwmac-mdio";
98285e5c210SXuhui Lin			#address-cells = <0x1>;
98385e5c210SXuhui Lin			#size-cells = <0x0>;
98485e5c210SXuhui Lin		};
98585e5c210SXuhui Lin
98685e5c210SXuhui Lin		gmac0_stmmac_axi_setup: stmmac-axi-config {
98785e5c210SXuhui Lin			snps,wr_osr_lmt = <4>;
98885e5c210SXuhui Lin			snps,rd_osr_lmt = <8>;
98985e5c210SXuhui Lin			snps,blen = <0 0 0 0 16 8 4>;
99085e5c210SXuhui Lin		};
99185e5c210SXuhui Lin
99285e5c210SXuhui Lin		gmac0_mtl_rx_setup: rx-queues-config {
99385e5c210SXuhui Lin			snps,rx-queues-to-use = <1>;
9941546cf06SXuhui Lin			queue0 {
9951546cf06SXuhui Lin				status = "okay";
9961546cf06SXuhui Lin			};
99785e5c210SXuhui Lin		};
99885e5c210SXuhui Lin
99985e5c210SXuhui Lin		gmac0_mtl_tx_setup: tx-queues-config {
100085e5c210SXuhui Lin			snps,tx-queues-to-use = <1>;
10011546cf06SXuhui Lin			queue0 {
10021546cf06SXuhui Lin				status = "okay";
10031546cf06SXuhui Lin			};
100485e5c210SXuhui Lin		};
100585e5c210SXuhui Lin	};
100685e5c210SXuhui Lin
100785e5c210SXuhui Lin	gmac1: ethernet@ff4d0000 {
100885e5c210SXuhui Lin		compatible = "rockchip,rk3506-gmac", "snps,dwmac-4.20a";
100985e5c210SXuhui Lin		reg = <0xff4d0000 0x2000>;
101085e5c210SXuhui Lin		interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>,
101185e5c210SXuhui Lin			     <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
101285e5c210SXuhui Lin		interrupt-names = "macirq", "eth_wake_irq";
101385e5c210SXuhui Lin		rockchip,grf = <&grf>;
101485e5c210SXuhui Lin		clocks = <&cru CLK_MAC1>, <&cru CLK_MAC1_PTP>,
101585e5c210SXuhui Lin			 <&cru PCLK_MAC1>, <&cru ACLK_MAC1>;
101685e5c210SXuhui Lin		clock-names = "stmmaceth", "ptp_ref",
101785e5c210SXuhui Lin			      "pclk_mac", "aclk_mac";
101885e5c210SXuhui Lin		resets = <&cru SRST_A_MAC1>;
101985e5c210SXuhui Lin		reset-names = "stmmaceth";
102085e5c210SXuhui Lin
102185e5c210SXuhui Lin		snps,mixed-burst;
102285e5c210SXuhui Lin		snps,tso;
102385e5c210SXuhui Lin
102485e5c210SXuhui Lin		snps,axi-config = <&gmac1_stmmac_axi_setup>;
102585e5c210SXuhui Lin		snps,mtl-rx-config = <&gmac1_mtl_rx_setup>;
102685e5c210SXuhui Lin		snps,mtl-tx-config = <&gmac1_mtl_tx_setup>;
102785e5c210SXuhui Lin
102885e5c210SXuhui Lin		phy-mode = "rmii";
102985e5c210SXuhui Lin		status = "disabled";
103085e5c210SXuhui Lin
103185e5c210SXuhui Lin		mdio1: mdio {
103285e5c210SXuhui Lin			compatible = "snps,dwmac-mdio";
103385e5c210SXuhui Lin			#address-cells = <0x1>;
103485e5c210SXuhui Lin			#size-cells = <0x0>;
103585e5c210SXuhui Lin		};
103685e5c210SXuhui Lin
103785e5c210SXuhui Lin		gmac1_stmmac_axi_setup: stmmac-axi-config {
103885e5c210SXuhui Lin			snps,wr_osr_lmt = <4>;
103985e5c210SXuhui Lin			snps,rd_osr_lmt = <8>;
104085e5c210SXuhui Lin			snps,blen = <0 0 0 0 16 8 4>;
104185e5c210SXuhui Lin		};
104285e5c210SXuhui Lin
104385e5c210SXuhui Lin		gmac1_mtl_rx_setup: rx-queues-config {
104485e5c210SXuhui Lin			snps,rx-queues-to-use = <1>;
10451546cf06SXuhui Lin			queue0 {
10461546cf06SXuhui Lin				status = "okay";
10471546cf06SXuhui Lin			};
104885e5c210SXuhui Lin		};
104985e5c210SXuhui Lin
105085e5c210SXuhui Lin		gmac1_mtl_tx_setup: tx-queues-config {
105185e5c210SXuhui Lin			snps,tx-queues-to-use = <1>;
10521546cf06SXuhui Lin			queue0 {
10531546cf06SXuhui Lin				status = "okay";
10541546cf06SXuhui Lin			};
105585e5c210SXuhui Lin		};
105685e5c210SXuhui Lin	};
105785e5c210SXuhui Lin
105885e5c210SXuhui Lin	ioc_grf: syscon@ff4d8000 {
105985e5c210SXuhui Lin		compatible = "rockchip,rk3506-ioc-grf", "syscon";
106085e5c210SXuhui Lin		reg = <0xff4d8000 0x8000>;
106185e5c210SXuhui Lin	};
106285e5c210SXuhui Lin
106385e5c210SXuhui Lin	uart5: serial@ff4e0000 {
106485e5c210SXuhui Lin		compatible = "rockchip,rk3506-uart", "snps,dw-apb-uart";
106585e5c210SXuhui Lin		reg = <0xff4e0000 0x100>;
106685e5c210SXuhui Lin		interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
106785e5c210SXuhui Lin		reg-shift = <2>;
106885e5c210SXuhui Lin		reg-io-width = <4>;
10691546cf06SXuhui Lin		dmas = <&dmac1 14 0x0 0x0 0x0 0x0>, <&dmac1 15 0x0 0x0 0x0 0x0>;
107085e5c210SXuhui Lin		clocks = <&cru SCLK_UART5>, <&cru PCLK_UART5>;
107185e5c210SXuhui Lin		clock-names = "baudclk", "apb_pclk";
107285e5c210SXuhui Lin		pinctrl-names = "default";
107385e5c210SXuhui Lin		pinctrl-0 = <&uart5m0_xfer_pins &uart5m0_ctsn_pins &uart5m0_rtsn_pins>;
107485e5c210SXuhui Lin		status = "disabled";
107585e5c210SXuhui Lin	};
107685e5c210SXuhui Lin
107785e5c210SXuhui Lin	saradc: adc@ff4e8000 {
10781546cf06SXuhui Lin		compatible = "rockchip,rk3506-saradc", "rockchip,rk3562-saradc";
10791546cf06SXuhui Lin		reg = <0xff4e8000 0x8000>;
108085e5c210SXuhui Lin		interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
108185e5c210SXuhui Lin		#io-channel-cells = <1>;
108285e5c210SXuhui Lin		clocks = <&cru CLK_SARADC>, <&cru PCLK_SARADC>;
108385e5c210SXuhui Lin		clock-names = "saradc", "apb_pclk";
108485e5c210SXuhui Lin		resets = <&cru SRST_P_SARADC>;
108585e5c210SXuhui Lin		reset-names = "saradc-apb";
108685e5c210SXuhui Lin		status = "disabled";
108785e5c210SXuhui Lin	};
108885e5c210SXuhui Lin
10891546cf06SXuhui Lin	otp: otp@ff4f0000 {
10901546cf06SXuhui Lin		compatible = "rockchip,rk3506-otp";
10911546cf06SXuhui Lin		reg = <0xff4f0000 0x4000>;
10921546cf06SXuhui Lin		#address-cells = <1>;
10931546cf06SXuhui Lin		#size-cells = <1>;
10941546cf06SXuhui Lin		clocks = <&cru CLK_USER_OTPC_NS>, <&cru CLK_SBPI_OTPC_NS>,
10951546cf06SXuhui Lin			 <&cru PCLK_OTPC_NS>;
10961546cf06SXuhui Lin		clock-names = "usr", "sbpi", "apb";
10971546cf06SXuhui Lin		resets = <&cru SRST_USER_OTPC_NS>, <&cru SRST_SBPI_OTPC_NS>,
10981546cf06SXuhui Lin			 <&cru SRST_P_OTPC_NS>;
10991546cf06SXuhui Lin		reset-names = "usr", "sbpi", "apb";
11001546cf06SXuhui Lin
11011546cf06SXuhui Lin		/* Data cells */
11021546cf06SXuhui Lin		cpu_code: cpu-code@2 {
11031546cf06SXuhui Lin			reg = <0x02 0x2>;
11041546cf06SXuhui Lin		};
11051546cf06SXuhui Lin		otp_cpu_version: cpu-version@5 {
11061546cf06SXuhui Lin			reg = <0x05 0x1>;
11071546cf06SXuhui Lin			bits = <3 3>;
11081546cf06SXuhui Lin		};
11091546cf06SXuhui Lin		otp_id: id@a {
11101546cf06SXuhui Lin			reg = <0x0a 0x10>;
11111546cf06SXuhui Lin		};
11121546cf06SXuhui Lin		cpu_leakage: cpu-leakage@1e {
11131546cf06SXuhui Lin			reg = <0x1e 0x1>;
11141546cf06SXuhui Lin		};
11151546cf06SXuhui Lin		log_leakage: log-leakage@1f {
11161546cf06SXuhui Lin			reg = <0x1f 0x1>;
11171546cf06SXuhui Lin		};
11181546cf06SXuhui Lin	};
11191546cf06SXuhui Lin
11201546cf06SXuhui Lin	audio_codec: audio-codec@ff4f8000 {
11211546cf06SXuhui Lin		compatible = "rockchip,rk3506-codec";
11221546cf06SXuhui Lin		reg = <0xff4f8000 0x1000>;
11231546cf06SXuhui Lin		#sound-dai-cells = <0>;
11241546cf06SXuhui Lin		clocks = <&cru PCLK_AUDIO_ADC>, <&cru MCLK_AUDIO_ADC>;
11251546cf06SXuhui Lin		clock-names = "pclk", "mclk";
11261546cf06SXuhui Lin		resets = <&cru SRST_M_AUDIO_ADC>;
11271546cf06SXuhui Lin		reset-names = "rst";
11281546cf06SXuhui Lin		status = "disabled";
11291546cf06SXuhui Lin	};
11301546cf06SXuhui Lin
11311546cf06SXuhui Lin	gic: interrupt-controller@ff581000 {
113285e5c210SXuhui Lin		compatible = "arm,gic-400";
113385e5c210SXuhui Lin		reg = <0xff581000 0x1000>,
113485e5c210SXuhui Lin		      <0xff582000 0x2000>,
113585e5c210SXuhui Lin		      <0xff584000 0x2000>,
113685e5c210SXuhui Lin		      <0xff586000 0x2000>;
113785e5c210SXuhui Lin		interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
113885e5c210SXuhui Lin		#interrupt-cells = <3>;
113985e5c210SXuhui Lin		interrupt-controller;
114085e5c210SXuhui Lin		#address-cells = <0>;
114185e5c210SXuhui Lin	};
114285e5c210SXuhui Lin
114385e5c210SXuhui Lin	vop: vop@ff600000 {
114485e5c210SXuhui Lin		compatible = "rockchip,rk3506-vop";
11451546cf06SXuhui Lin		reg = <0xff600000 0x200>, <0xff600a00 0x400>;
11461546cf06SXuhui Lin		reg-names = "regs", "gamma_lut";
114785e5c210SXuhui Lin		rockchip,grf = <&grf>;
114885e5c210SXuhui Lin		interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
11491546cf06SXuhui Lin		clocks = <&cru ACLK_VOP>, <&cru DCLK_VOP>, <&cru HCLK_VOP>;
11501546cf06SXuhui Lin		clock-names = "aclk_vop", "dclk_vop", "hclk_vop";
115185e5c210SXuhui Lin		status = "disabled";
115285e5c210SXuhui Lin
115385e5c210SXuhui Lin		vop_out: port {
115485e5c210SXuhui Lin			#address-cells = <1>;
115585e5c210SXuhui Lin			#size-cells = <0>;
115685e5c210SXuhui Lin
115785e5c210SXuhui Lin			vop_out_rgb: endpoint@0 {
115885e5c210SXuhui Lin				reg = <0>;
115985e5c210SXuhui Lin				remote-endpoint = <&rgb_in_vop>;
116085e5c210SXuhui Lin			};
11611546cf06SXuhui Lin
11621546cf06SXuhui Lin			vop_out_dsi: endpoint@1 {
11631546cf06SXuhui Lin				reg = <1>;
11641546cf06SXuhui Lin				remote-endpoint = <&dsi_in_vop>;
11651546cf06SXuhui Lin			};
116685e5c210SXuhui Lin		};
116785e5c210SXuhui Lin	};
116885e5c210SXuhui Lin
116985e5c210SXuhui Lin	rga2: rga@ff610000 {
117085e5c210SXuhui Lin		compatible = "rockchip,rga2";
117185e5c210SXuhui Lin		reg = <0xff610000 0x1000>;
117285e5c210SXuhui Lin		interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
117385e5c210SXuhui Lin		interrupt-names = "rga2_irq";
117485e5c210SXuhui Lin		clocks = <&cru ACLK_RGA>, <&cru HCLK_RGA>, <&cru CLK_CORE_RGA>;
117585e5c210SXuhui Lin		clock-names = "aclk_rga", "hclk_rga", "clk_rga";
117685e5c210SXuhui Lin		status = "disabled";
117785e5c210SXuhui Lin	};
117885e5c210SXuhui Lin
11791546cf06SXuhui Lin	dsi: dsi@ff640000 {
11801546cf06SXuhui Lin		compatible = "rockchip,rk3506-mipi-dsi";
11811546cf06SXuhui Lin		reg = <0xff640000 0x10000>;
11821546cf06SXuhui Lin		interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
11831546cf06SXuhui Lin		clocks = <&cru PCLK_DSI_HOST>;
11841546cf06SXuhui Lin		clock-names = "pclk";
11851546cf06SXuhui Lin		resets = <&cru SRST_P_DSI_HOST>;
11861546cf06SXuhui Lin		reset-names = "apb";
11871546cf06SXuhui Lin		phys = <&dsi_dphy>;
11881546cf06SXuhui Lin		phy-names = "dphy";
11891546cf06SXuhui Lin		rockchip,grf = <&grf>;
11901546cf06SXuhui Lin		#address-cells = <1>;
11911546cf06SXuhui Lin		#size-cells = <0>;
11921546cf06SXuhui Lin		status = "disabled";
11931546cf06SXuhui Lin
11941546cf06SXuhui Lin		ports {
11951546cf06SXuhui Lin			#address-cells = <1>;
11961546cf06SXuhui Lin			#size-cells = <0>;
11971546cf06SXuhui Lin
11981546cf06SXuhui Lin			dsi_in: port@0 {
11991546cf06SXuhui Lin				reg = <0>;
12001546cf06SXuhui Lin				#address-cells = <1>;
12011546cf06SXuhui Lin				#size-cells = <0>;
12021546cf06SXuhui Lin				dsi_in_vop: endpoint@0 {
12031546cf06SXuhui Lin					reg = <0>;
12041546cf06SXuhui Lin					remote-endpoint = <&vop_out_dsi>;
12051546cf06SXuhui Lin					status = "disabled";
12061546cf06SXuhui Lin				};
12071546cf06SXuhui Lin			};
12081546cf06SXuhui Lin		};
12091546cf06SXuhui Lin	};
12101546cf06SXuhui Lin
121185e5c210SXuhui Lin	tsadc: tsadc@ff650000 {
121285e5c210SXuhui Lin		compatible = "rockchip,rk3506-tsadc";
121385e5c210SXuhui Lin		reg = <0xff650000 0x400>;
121485e5c210SXuhui Lin		interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
121585e5c210SXuhui Lin		clocks = <&cru CLK_TSADC>, <&cru PCLK_TSADC>, <&cru CLK_TSADC_TSEN>;
121685e5c210SXuhui Lin		clock-names = "tsadc", "apb_pclk", "tsen";
121785e5c210SXuhui Lin		assigned-clocks = <&cru CLK_TSADC>, <&cru CLK_TSADC_TSEN>;
121885e5c210SXuhui Lin		assigned-clock-rates = <1000000>, <12000000>;
121985e5c210SXuhui Lin		resets = <&cru SRST_TSADC>, <&cru SRST_P_TSADC>;
122085e5c210SXuhui Lin		reset-names = "tsadc", "tsadc-apb";
122185e5c210SXuhui Lin		#thermal-sensor-cells = <1>;
122285e5c210SXuhui Lin		rockchip,grf = <&grf>;
122385e5c210SXuhui Lin		rockchip,hw-tshut-temp = <120000>;
122485e5c210SXuhui Lin		rockchip,hw-tshut-mode = <0>; /* tshut mode 0:CRU 1:GPIO */
122585e5c210SXuhui Lin		rockchip,hw-tshut-polarity = <0>; /* tshut polarity 0:LOW 1:HIGH */
122685e5c210SXuhui Lin		status = "disabled";
122785e5c210SXuhui Lin	};
122885e5c210SXuhui Lin
122985e5c210SXuhui Lin	ioc1: syscon@ff660000 {
123085e5c210SXuhui Lin		compatible = "rockchip,rk3506-ioc1", "syscon";
123185e5c210SXuhui Lin		reg = <0xff660000 0x10000>;
123285e5c210SXuhui Lin	};
123385e5c210SXuhui Lin
12341546cf06SXuhui Lin	dsi_dphy: phy@ff670000 {
12351546cf06SXuhui Lin		compatible = "rockchip,rk3506-dsi-dphy";
12361546cf06SXuhui Lin		reg = <0xff670000 0x10000>,
12371546cf06SXuhui Lin		      <0xff640000 0x10000>;
12381546cf06SXuhui Lin		reg-names = "phy", "host";
12391546cf06SXuhui Lin		clocks = <&cru CLK_REF_DPHY_TOP>,
12401546cf06SXuhui Lin			 <&cru PCLK_DPHY>, <&cru PCLK_DSI_HOST>;
12411546cf06SXuhui Lin		clock-names = "ref", "pclk", "pclk_host";
12421546cf06SXuhui Lin		#clock-cells = <0>;
12431546cf06SXuhui Lin		resets = <&cru SRST_P_DPHY>;
12441546cf06SXuhui Lin		reset-names = "apb";
12451546cf06SXuhui Lin		#phy-cells = <0>;
12461546cf06SXuhui Lin		status = "disabled";
12471546cf06SXuhui Lin	};
12481546cf06SXuhui Lin
124985e5c210SXuhui Lin	crypto: crypto@ff700000 {
125085e5c210SXuhui Lin		compatible = "rockchip,crypto-v4";
125185e5c210SXuhui Lin		reg = <0xff700000 0x2000>;
125285e5c210SXuhui Lin		interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
125385e5c210SXuhui Lin		clocks = <&cru ACLK_CRYPTO_NS>, <&cru HCLK_CRYPTO_NS>,
125485e5c210SXuhui Lin			 <&cru CLK_CORE_CRYPTO_NS>, <&cru CLK_PKA_CRYPTO_NS>;
125585e5c210SXuhui Lin		clock-names = "aclk", "hclk", "core", "pka";
125685e5c210SXuhui Lin		resets = <&cru SRST_H_CRYPTO>;
125785e5c210SXuhui Lin		reset-names = "crypto-rst";
125885e5c210SXuhui Lin		status = "disabled";
125985e5c210SXuhui Lin	};
126085e5c210SXuhui Lin
126185e5c210SXuhui Lin	rng: rng@ff710000 {
126285e5c210SXuhui Lin		compatible = "rockchip,rkrng";
126385e5c210SXuhui Lin		reg = <0xff710000 0x200>;
126485e5c210SXuhui Lin		interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
126585e5c210SXuhui Lin		clocks = <&cru HCLK_RNG>;
126685e5c210SXuhui Lin		clock-names = "hclk_trng";
126785e5c210SXuhui Lin		resets = <&cru SRST_H_RNG>;
126885e5c210SXuhui Lin		reset-names = "reset";
126985e5c210SXuhui Lin		status = "disabled";
127085e5c210SXuhui Lin	};
127185e5c210SXuhui Lin
127285e5c210SXuhui Lin	usb20_otg0: usb@ff740000 {
127385e5c210SXuhui Lin		compatible = "rockchip,rk3506-usb", "rockchip,rk3066-usb",
127485e5c210SXuhui Lin			     "snps,dwc2";
127585e5c210SXuhui Lin		reg = <0xff740000 0x40000>;
127685e5c210SXuhui Lin		interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
12771546cf06SXuhui Lin		clocks = <&cru HCLK_USBOTG0>, <&cru HCLK_USBOTG0_PMU>,
12781546cf06SXuhui Lin			 <&cru CLK_USBOTG0_ADP>;
12791546cf06SXuhui Lin		clock-names = "otg", "pmu", "adp";
128085e5c210SXuhui Lin		dr_mode = "otg";
12811546cf06SXuhui Lin		phys = <&u2phy_otg0>;
12821546cf06SXuhui Lin		phy-names = "usb2-phy";
128385e5c210SXuhui Lin		g-np-tx-fifo-size = <16>;
128485e5c210SXuhui Lin		g-rx-fifo-size = <280>;
128585e5c210SXuhui Lin		g-tx-fifo-size = <256 128 128 64 32 16>;
128685e5c210SXuhui Lin		status = "disabled";
128785e5c210SXuhui Lin	};
128885e5c210SXuhui Lin
128985e5c210SXuhui Lin	usb20_otg1: usb@ff780000 {
129085e5c210SXuhui Lin		compatible = "rockchip,rk3506-usb", "rockchip,rk3066-usb",
129185e5c210SXuhui Lin			     "snps,dwc2";
129285e5c210SXuhui Lin		reg = <0xff780000 0x40000>;
129385e5c210SXuhui Lin		interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
12941546cf06SXuhui Lin		clocks = <&cru HCLK_USBOTG1>, <&cru HCLK_USBOTG1_PMU>,
12951546cf06SXuhui Lin			 <&cru CLK_USBOTG1_ADP>;
12961546cf06SXuhui Lin		clock-names = "otg", "pmu", "adp";
129785e5c210SXuhui Lin		dr_mode = "otg";
12981546cf06SXuhui Lin		phys = <&u2phy_otg1>;
12991546cf06SXuhui Lin		phy-names = "usb2-phy";
130085e5c210SXuhui Lin		g-np-tx-fifo-size = <16>;
130185e5c210SXuhui Lin		g-rx-fifo-size = <280>;
130285e5c210SXuhui Lin		g-tx-fifo-size = <256 128 128 64 32 16>;
130385e5c210SXuhui Lin		status = "disabled";
130485e5c210SXuhui Lin	};
130585e5c210SXuhui Lin
130685e5c210SXuhui Lin	arm-debug@ff810000 {
130785e5c210SXuhui Lin		compatible = "rockchip,debug";
130885e5c210SXuhui Lin		reg = <0xff810000 0x1000>,
13091546cf06SXuhui Lin		      <0xff812000 0x1000>,
13101546cf06SXuhui Lin		      <0xff814000 0x1000>;
131185e5c210SXuhui Lin	};
131285e5c210SXuhui Lin
131385e5c210SXuhui Lin	flexbus: flexbus@ff880000 {
131485e5c210SXuhui Lin		compatible = "rockchip,rk3506-flexbus";
131585e5c210SXuhui Lin		reg = <0xff880000 0x200>;
131685e5c210SXuhui Lin		interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>;
131785e5c210SXuhui Lin		clocks = <&cru CLK_FLEXBUS_TX>, <&cru CLK_FLEXBUS_RX>,
131885e5c210SXuhui Lin			 <&cru ACLK_FLEXBUS>, <&cru HCLK_FLEXBUS>;
131985e5c210SXuhui Lin		clock-names = "tx_clk_flexbus", "rx_clk_flexbus",
132085e5c210SXuhui Lin			      "aclk_flexbus", "hclk_flexbus";
132185e5c210SXuhui Lin		rockchip,grf = <&grf>;
132285e5c210SXuhui Lin		status = "disabled";
132385e5c210SXuhui Lin
132485e5c210SXuhui Lin		flexbus_adc: adc {
132585e5c210SXuhui Lin			compatible = "rockchip,flexbus-adc";
132685e5c210SXuhui Lin			#io-channel-cells = <0>;
132785e5c210SXuhui Lin			rockchip,slave-mode;
132885e5c210SXuhui Lin			rockchip,free-sclk;
132985e5c210SXuhui Lin			rockchip,auto-pad;
133085e5c210SXuhui Lin			rockchip,dfs = <16>;
133185e5c210SXuhui Lin			status = "disabled";
133285e5c210SXuhui Lin		};
133385e5c210SXuhui Lin
13341546cf06SXuhui Lin		flexbus_cif: cif {
13351546cf06SXuhui Lin			compatible = "rockchip,flexbus-cif-rk3506";
13361546cf06SXuhui Lin			status = "disabled";
13371546cf06SXuhui Lin		};
13381546cf06SXuhui Lin
133985e5c210SXuhui Lin		flexbus_dac: dac {
134085e5c210SXuhui Lin			compatible = "rockchip,flexbus-dac";
134185e5c210SXuhui Lin			#io-channel-cells = <0>;
134285e5c210SXuhui Lin			rockchip,free-sclk;
134385e5c210SXuhui Lin			rockchip,dfs = <16>;
134485e5c210SXuhui Lin			status = "disabled";
134585e5c210SXuhui Lin		};
13461546cf06SXuhui Lin
13471546cf06SXuhui Lin		flexbus_fspi: fspi {
13481546cf06SXuhui Lin			compatible = "rockchip,flexbus-fspi";
13491546cf06SXuhui Lin			#address-cells = <1>;
13501546cf06SXuhui Lin			#size-cells = <0>;
13511546cf06SXuhui Lin			status = "disabled";
13521546cf06SXuhui Lin		};
135385e5c210SXuhui Lin	};
135485e5c210SXuhui Lin
135585e5c210SXuhui Lin	dsmc_lb_slave: dsmc-lb-slave@ff880000 {
135685e5c210SXuhui Lin		compatible = "rockchip,rk3506-dsmc-lb-slave";
135785e5c210SXuhui Lin		reg = <0xff880000 0x10000>;
135885e5c210SXuhui Lin		#address-cells = <1>;
135985e5c210SXuhui Lin		#size-cells = <1>;
136085e5c210SXuhui Lin		rockchip,grf = <&grf>;
136185e5c210SXuhui Lin		interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
136285e5c210SXuhui Lin		resets = <&cru SRST_DSMC_SLV>, <&cru SRST_A_DSMC_SLV>,
136385e5c210SXuhui Lin			 <&cru SRST_H_DSMC_SLV>;
136485e5c210SXuhui Lin		reset-names = "dsmc_slv", "a_dsmc_slv", "h_dsmc_slv";
136585e5c210SXuhui Lin		clocks = <&cru ACLK_DSMC_SLV>,
136685e5c210SXuhui Lin			 <&cru HCLK_DSMC_SLV>;
136785e5c210SXuhui Lin		clock-names = "aclk_dsmc_slv", "hclk_dsmc_slv";
136885e5c210SXuhui Lin		status = "disabled";
136985e5c210SXuhui Lin	};
137085e5c210SXuhui Lin
137185e5c210SXuhui Lin	dsmc: dsmc@ff8b0000 {
137285e5c210SXuhui Lin		compatible = "rockchip,rk3506-dsmc";
137385e5c210SXuhui Lin		reg = <0xff8b0000 0x10000>;
137485e5c210SXuhui Lin		#address-cells = <1>;
137585e5c210SXuhui Lin		#size-cells = <1>;
137685e5c210SXuhui Lin		rockchip,grf = <&ioc_grf>;
137785e5c210SXuhui Lin		interrupts = <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>;
137885e5c210SXuhui Lin		resets = <&cru SRST_A_DSMC>, <&cru SRST_P_DSMC>;
137985e5c210SXuhui Lin		reset-names = "dsmc", "apb";
138085e5c210SXuhui Lin		clocks = <&cru CLK_DSMC>,
138185e5c210SXuhui Lin			 <&cru ACLK_DSMC>,
138285e5c210SXuhui Lin			 <&cru PCLK_DSMC>,
138385e5c210SXuhui Lin			 <&cru CLK_DSMC>;
138485e5c210SXuhui Lin		clock-names = "clk_sys", "aclk_dsmc", "pclk", "aclk_root";
138585e5c210SXuhui Lin		clock-frequency = <100000000>;
13861546cf06SXuhui Lin		dmas = <&dmac0 2  0xff288078 0x80000000 0xff2880a8 0x00300000>,
13871546cf06SXuhui Lin		       <&dmac0 3  0xff288078 0x40000000 0xff2880a8 0x00c00000>;
13881546cf06SXuhui Lin	//	dmas = <&dmac0 8  0xff288078 0x80008000 0xff2880ac 0x00030000>,
13891546cf06SXuhui Lin	//	       <&dmac0 10 0xff288078 0x40004000 0xff2880ac 0x00300000>;
139085e5c210SXuhui Lin		dma-names = "req0", "req1";
139185e5c210SXuhui Lin		status = "disabled";
139285e5c210SXuhui Lin		slave {
139385e5c210SXuhui Lin			rockchip,dqs-dll = <0x40 0x40
139485e5c210SXuhui Lin					    0x40 0x40
139585e5c210SXuhui Lin					    0x40 0x40
139685e5c210SXuhui Lin					    0x40 0x40>;
139785e5c210SXuhui Lin			rockchip,ranges = <0x0 0xc0000000 0x0 0x2000000>;
139885e5c210SXuhui Lin			rockchip,slave-dev = <&dsmc_slave>;
139985e5c210SXuhui Lin		};
140085e5c210SXuhui Lin	};
140185e5c210SXuhui Lin
140285e5c210SXuhui Lin	dsmc_slave: dsmc-slave {
140385e5c210SXuhui Lin		compatible = "rockchip,dsmc-slave";
140485e5c210SXuhui Lin		rockchip,clk-mode = <0>;
140585e5c210SXuhui Lin		status = "disabled";
140685e5c210SXuhui Lin		psram {
140785e5c210SXuhui Lin			dsmc_psram0: psram0 {
140885e5c210SXuhui Lin				status = "disabled";
140985e5c210SXuhui Lin			};
141085e5c210SXuhui Lin			dsmc_psram1: psram1 {
141185e5c210SXuhui Lin				status = "disabled";
141285e5c210SXuhui Lin			};
141385e5c210SXuhui Lin			dsmc_psram2: psram2 {
141485e5c210SXuhui Lin				status = "disabled";
141585e5c210SXuhui Lin			};
141685e5c210SXuhui Lin			dsmc_psram3: psram3 {
141785e5c210SXuhui Lin				status = "disabled";
141885e5c210SXuhui Lin			};
141985e5c210SXuhui Lin		};
142085e5c210SXuhui Lin
142185e5c210SXuhui Lin		lb-slave {
142285e5c210SXuhui Lin			dsmc_lb_slave0: lb-slave0 {
142385e5c210SXuhui Lin				status = "disabled";
142485e5c210SXuhui Lin				dsmc_p0_region: region {
142585e5c210SXuhui Lin					dsmc_p0_region0: region0 {
142685e5c210SXuhui Lin						rockchip,attribute = "Merged FIFO";
142785e5c210SXuhui Lin						rockchip,ca-addr-width = <0>;
142885e5c210SXuhui Lin						rockchip,dummy-clk-num = <1>;
142985e5c210SXuhui Lin						rockchip,cs0-be-ctrled = <0>;
143085e5c210SXuhui Lin						rockchip,cs0-ctrl = <0>;
143185e5c210SXuhui Lin						status = "disabled";
143285e5c210SXuhui Lin					};
143385e5c210SXuhui Lin					dsmc_p0_region1: region1 {
143485e5c210SXuhui Lin						rockchip,attribute = "No-Merge FIFO";
143585e5c210SXuhui Lin						rockchip,ca-addr-width = <0>;
143685e5c210SXuhui Lin						rockchip,dummy-clk-num = <1>;
143785e5c210SXuhui Lin						rockchip,cs0-be-ctrled = <0>;
143885e5c210SXuhui Lin						rockchip,cs0-ctrl = <0>;
143985e5c210SXuhui Lin						status = "disabled";
144085e5c210SXuhui Lin					};
144185e5c210SXuhui Lin					dsmc_p0_region2: region2 {
144285e5c210SXuhui Lin						rockchip,attribute = "DPRA";
144385e5c210SXuhui Lin						rockchip,ca-addr-width = <0>;
144485e5c210SXuhui Lin						rockchip,dummy-clk-num = <1>;
144585e5c210SXuhui Lin						rockchip,cs0-be-ctrled = <0>;
144685e5c210SXuhui Lin						rockchip,cs0-ctrl = <0>;
144785e5c210SXuhui Lin						status = "disabled";
144885e5c210SXuhui Lin					};
144985e5c210SXuhui Lin					dsmc_p0_region3: region3 {
145085e5c210SXuhui Lin						rockchip,attribute = "Register";
145185e5c210SXuhui Lin						rockchip,ca-addr-width = <0>;
145285e5c210SXuhui Lin						rockchip,dummy-clk-num = <1>;
145385e5c210SXuhui Lin						rockchip,cs0-be-ctrled = <0>;
145485e5c210SXuhui Lin						rockchip,cs0-ctrl = <0>;
145585e5c210SXuhui Lin						status = "disabled";
145685e5c210SXuhui Lin					};
145785e5c210SXuhui Lin				};
145885e5c210SXuhui Lin			};
145985e5c210SXuhui Lin			dsmc_lb_slave1: lb-slave1 {
146085e5c210SXuhui Lin				status = "disabled";
146185e5c210SXuhui Lin				dsmc_p1_region: region {
146285e5c210SXuhui Lin					dsmc_p1_region0: region0 {
146385e5c210SXuhui Lin						rockchip,attribute = "Merged FIFO";
146485e5c210SXuhui Lin						rockchip,ca-addr-width = <0>;
146585e5c210SXuhui Lin						rockchip,dummy-clk-num = <1>;
146685e5c210SXuhui Lin						rockchip,cs0-be-ctrled = <0>;
146785e5c210SXuhui Lin						rockchip,cs0-ctrl = <0>;
146885e5c210SXuhui Lin						status = "disabled";
146985e5c210SXuhui Lin					};
147085e5c210SXuhui Lin					dsmc_p1_region1: region1 {
147185e5c210SXuhui Lin						rockchip,attribute = "No-Merge FIFO";
147285e5c210SXuhui Lin						rockchip,ca-addr-width = <0>;
147385e5c210SXuhui Lin						rockchip,dummy-clk-num = <1>;
147485e5c210SXuhui Lin						rockchip,cs0-be-ctrled = <0>;
147585e5c210SXuhui Lin						rockchip,cs0-ctrl = <0>;
147685e5c210SXuhui Lin						status = "disabled";
147785e5c210SXuhui Lin					};
147885e5c210SXuhui Lin					dsmc_p1_region2: region2 {
147985e5c210SXuhui Lin						rockchip,attribute = "DPRA";
148085e5c210SXuhui Lin						rockchip,ca-addr-width = <0>;
148185e5c210SXuhui Lin						rockchip,dummy-clk-num = <1>;
148285e5c210SXuhui Lin						rockchip,cs0-be-ctrled = <0>;
148385e5c210SXuhui Lin						rockchip,cs0-ctrl = <0>;
148485e5c210SXuhui Lin						status = "disabled";
148585e5c210SXuhui Lin					};
148685e5c210SXuhui Lin					dsmc_p1_region3: region3 {
148785e5c210SXuhui Lin						rockchip,attribute = "Register";
148885e5c210SXuhui Lin						rockchip,ca-addr-width = <0>;
148985e5c210SXuhui Lin						rockchip,dummy-clk-num = <1>;
149085e5c210SXuhui Lin						rockchip,cs0-be-ctrled = <0>;
149185e5c210SXuhui Lin						rockchip,cs0-ctrl = <0>;
149285e5c210SXuhui Lin						status = "disabled";
149385e5c210SXuhui Lin					};
149485e5c210SXuhui Lin				};
149585e5c210SXuhui Lin			};
149685e5c210SXuhui Lin			dsmc_lb_slave2: lb-slave2 {
149785e5c210SXuhui Lin				status = "disabled";
149885e5c210SXuhui Lin				dsmc_p2_region: region {
149985e5c210SXuhui Lin					dsmc_p2_region0: region0 {
150085e5c210SXuhui Lin						rockchip,attribute = "Merged FIFO";
150185e5c210SXuhui Lin						rockchip,ca-addr-width = <0>;
150285e5c210SXuhui Lin						rockchip,dummy-clk-num = <1>;
150385e5c210SXuhui Lin						rockchip,cs0-be-ctrled = <0>;
150485e5c210SXuhui Lin						rockchip,cs0-ctrl = <0>;
150585e5c210SXuhui Lin						status = "disabled";
150685e5c210SXuhui Lin					};
150785e5c210SXuhui Lin					dsmc_p2_region1: region1 {
150885e5c210SXuhui Lin						rockchip,attribute = "No-Merge FIFO";
150985e5c210SXuhui Lin						rockchip,ca-addr-width = <0>;
151085e5c210SXuhui Lin						rockchip,dummy-clk-num = <1>;
151185e5c210SXuhui Lin						rockchip,cs0-be-ctrled = <0>;
151285e5c210SXuhui Lin						rockchip,cs0-ctrl = <0>;
151385e5c210SXuhui Lin						status = "disabled";
151485e5c210SXuhui Lin					};
151585e5c210SXuhui Lin					dsmc_p2_region2: region2 {
151685e5c210SXuhui Lin						rockchip,attribute = "DPRA";
151785e5c210SXuhui Lin						rockchip,ca-addr-width = <0>;
151885e5c210SXuhui Lin						rockchip,dummy-clk-num = <1>;
151985e5c210SXuhui Lin						rockchip,cs0-be-ctrled = <0>;
152085e5c210SXuhui Lin						rockchip,cs0-ctrl = <0>;
152185e5c210SXuhui Lin						status = "disabled";
152285e5c210SXuhui Lin					};
152385e5c210SXuhui Lin					dsmc_p2_region3: region3 {
152485e5c210SXuhui Lin						rockchip,attribute = "Register";
152585e5c210SXuhui Lin						rockchip,ca-addr-width = <0>;
152685e5c210SXuhui Lin						rockchip,dummy-clk-num = <1>;
152785e5c210SXuhui Lin						rockchip,cs0-be-ctrled = <0>;
152885e5c210SXuhui Lin						rockchip,cs0-ctrl = <0>;
152985e5c210SXuhui Lin						status = "disabled";
153085e5c210SXuhui Lin					};
153185e5c210SXuhui Lin				};
153285e5c210SXuhui Lin			};
153385e5c210SXuhui Lin			dsmc_lb_slave3: lb-slave3 {
153485e5c210SXuhui Lin				status = "disabled";
153585e5c210SXuhui Lin				dsmc_p3_region: region {
153685e5c210SXuhui Lin					dsmc_p3_region0: region0 {
153785e5c210SXuhui Lin						rockchip,attribute = "Merged FIFO";
153885e5c210SXuhui Lin						rockchip,ca-addr-width = <0>;
153985e5c210SXuhui Lin						rockchip,dummy-clk-num = <1>;
154085e5c210SXuhui Lin						rockchip,cs0-be-ctrled = <0>;
154185e5c210SXuhui Lin						rockchip,cs0-ctrl = <0>;
154285e5c210SXuhui Lin						status = "disabled";
154385e5c210SXuhui Lin					};
154485e5c210SXuhui Lin					dsmc_p3_region1: region1 {
154585e5c210SXuhui Lin						rockchip,attribute = "No-Merge FIFO";
154685e5c210SXuhui Lin						rockchip,ca-addr-width = <0>;
154785e5c210SXuhui Lin						rockchip,dummy-clk-num = <1>;
154885e5c210SXuhui Lin						rockchip,cs0-be-ctrled = <0>;
154985e5c210SXuhui Lin						rockchip,cs0-ctrl = <0>;
155085e5c210SXuhui Lin						status = "disabled";
155185e5c210SXuhui Lin					};
155285e5c210SXuhui Lin					dsmc_p3_region2: region2 {
155385e5c210SXuhui Lin						rockchip,attribute = "DPRA";
155485e5c210SXuhui Lin						rockchip,ca-addr-width = <0>;
155585e5c210SXuhui Lin						rockchip,dummy-clk-num = <1>;
155685e5c210SXuhui Lin						rockchip,cs0-be-ctrled = <0>;
155785e5c210SXuhui Lin						rockchip,cs0-ctrl = <0>;
155885e5c210SXuhui Lin						status = "disabled";
155985e5c210SXuhui Lin					};
156085e5c210SXuhui Lin					dsmc_p3_region3: region3 {
156185e5c210SXuhui Lin						rockchip,attribute = "Register";
156285e5c210SXuhui Lin						rockchip,ca-addr-width = <0>;
156385e5c210SXuhui Lin						rockchip,dummy-clk-num = <1>;
156485e5c210SXuhui Lin						rockchip,cs0-be-ctrled = <0>;
156585e5c210SXuhui Lin						rockchip,cs0-ctrl = <0>;
156685e5c210SXuhui Lin						status = "disabled";
156785e5c210SXuhui Lin					};
156885e5c210SXuhui Lin				};
156985e5c210SXuhui Lin			};
157085e5c210SXuhui Lin		};
157185e5c210SXuhui Lin	};
157285e5c210SXuhui Lin
157385e5c210SXuhui Lin	grf_pmu: syscon@ff910000 {
15741546cf06SXuhui Lin		compatible = "rockchip,rk3506-grf-pmu", "syscon", "simple-mfd";
157585e5c210SXuhui Lin		reg = <0xff910000 0x4000>;
15761546cf06SXuhui Lin
15771546cf06SXuhui Lin		reboot_mode: reboot-mode {
15781546cf06SXuhui Lin			compatible = "syscon-reboot-mode";
15791546cf06SXuhui Lin			offset = <0x200>;
15801546cf06SXuhui Lin			mode-bootloader = <BOOT_BL_DOWNLOAD>;
15811546cf06SXuhui Lin			mode-charge = <BOOT_CHARGING>;
15821546cf06SXuhui Lin			mode-fastboot = <BOOT_FASTBOOT>;
15831546cf06SXuhui Lin			mode-loader = <BOOT_BL_DOWNLOAD>;
15841546cf06SXuhui Lin			mode-normal = <BOOT_NORMAL>;
15851546cf06SXuhui Lin			mode-recovery = <BOOT_RECOVERY>;
15861546cf06SXuhui Lin			mode-ums = <BOOT_UMS>;
15871546cf06SXuhui Lin			mode-panic = <BOOT_PANIC>;
15881546cf06SXuhui Lin			mode-watchdog = <BOOT_WATCHDOG>;
15891546cf06SXuhui Lin		};
159085e5c210SXuhui Lin	};
159185e5c210SXuhui Lin
159285e5c210SXuhui Lin	pwm0_4ch_0: pwm@ff930000 {
159385e5c210SXuhui Lin		compatible = "rockchip,rk3506-pwm", "rockchip,rk3576-pwm";
159485e5c210SXuhui Lin		reg = <0xff930000 0x200>;
159585e5c210SXuhui Lin		interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
159685e5c210SXuhui Lin		clocks = <&cru CLK_PWM0>, <&cru PCLK_PWM0>;
159785e5c210SXuhui Lin		clock-names = "pwm", "pclk";
159885e5c210SXuhui Lin		#pwm-cells = <3>;
159985e5c210SXuhui Lin		status = "disabled";
160085e5c210SXuhui Lin	};
160185e5c210SXuhui Lin
160285e5c210SXuhui Lin	pwm0_4ch_1: pwm@ff931000 {
160385e5c210SXuhui Lin		compatible = "rockchip,rk3506-pwm", "rockchip,rk3576-pwm";
160485e5c210SXuhui Lin		reg = <0xff931000 0x200>;
160585e5c210SXuhui Lin		interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
160685e5c210SXuhui Lin		clocks = <&cru CLK_PWM0>, <&cru PCLK_PWM0>;
160785e5c210SXuhui Lin		clock-names = "pwm", "pclk";
160885e5c210SXuhui Lin		#pwm-cells = <3>;
160985e5c210SXuhui Lin		status = "disabled";
161085e5c210SXuhui Lin	};
161185e5c210SXuhui Lin
161285e5c210SXuhui Lin	pwm0_4ch_2: pwm@ff932000 {
161385e5c210SXuhui Lin		compatible = "rockchip,rk3506-pwm", "rockchip,rk3576-pwm";
161485e5c210SXuhui Lin		reg = <0xff932000 0x200>;
161585e5c210SXuhui Lin		interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
161685e5c210SXuhui Lin		clocks = <&cru CLK_PWM0>, <&cru PCLK_PWM0>;
161785e5c210SXuhui Lin		clock-names = "pwm", "pclk";
161885e5c210SXuhui Lin		#pwm-cells = <3>;
161985e5c210SXuhui Lin		status = "disabled";
162085e5c210SXuhui Lin	};
162185e5c210SXuhui Lin
162285e5c210SXuhui Lin	pwm0_4ch_3: pwm@ff933000 {
162385e5c210SXuhui Lin		compatible = "rockchip,rk3506-pwm", "rockchip,rk3576-pwm";
162485e5c210SXuhui Lin		reg = <0xff933000 0x200>;
162585e5c210SXuhui Lin		interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
162685e5c210SXuhui Lin		clocks = <&cru CLK_PWM0>, <&cru PCLK_PWM0>;
162785e5c210SXuhui Lin		clock-names = "pwm", "pclk";
162885e5c210SXuhui Lin		#pwm-cells = <3>;
162985e5c210SXuhui Lin		status = "disabled";
163085e5c210SXuhui Lin	};
163185e5c210SXuhui Lin
163285e5c210SXuhui Lin	ioc_pmu: syscon@ff950000 {
163385e5c210SXuhui Lin		compatible = "rockchip,rk3506-ioc-pmu", "syscon";
163485e5c210SXuhui Lin		reg = <0xff950000 0x10000>;
163585e5c210SXuhui Lin	};
163685e5c210SXuhui Lin
163785e5c210SXuhui Lin	cru: clock-controller@ff9a0000 {
163885e5c210SXuhui Lin		compatible = "rockchip,rk3506-cru";
163985e5c210SXuhui Lin		reg = <0xff9a0000 0x20000>;
164085e5c210SXuhui Lin		rockchip,grf = <&grf>;
164185e5c210SXuhui Lin		#clock-cells = <1>;
164285e5c210SXuhui Lin		#reset-cells = <1>;
164385e5c210SXuhui Lin	};
164485e5c210SXuhui Lin
164585e5c210SXuhui Lin	pinctrl: pinctrl {
164685e5c210SXuhui Lin		compatible = "rockchip,rk3506-pinctrl";
164785e5c210SXuhui Lin		rockchip,grf = <&ioc_grf>;
164885e5c210SXuhui Lin		rockchip,ioc1 = <&ioc1>;
164985e5c210SXuhui Lin		rockchip,pmu = <&ioc_pmu>;
165085e5c210SXuhui Lin		rockchip,rmio = <&grf_pmu>;
165185e5c210SXuhui Lin		#address-cells = <1>;
165285e5c210SXuhui Lin		#size-cells = <1>;
165385e5c210SXuhui Lin		ranges;
165485e5c210SXuhui Lin
165585e5c210SXuhui Lin		gpio0: gpio@ff940000 {
165685e5c210SXuhui Lin			compatible = "rockchip,gpio-bank";
165785e5c210SXuhui Lin			reg = <0xff940000 0x200>;
165885e5c210SXuhui Lin			interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
165985e5c210SXuhui Lin			clocks = <&cru PCLK_GPIO0>, <&cru DBCLK_GPIO0>;
166085e5c210SXuhui Lin
166185e5c210SXuhui Lin			gpio-controller;
166285e5c210SXuhui Lin			#gpio-cells = <2>;
166385e5c210SXuhui Lin			gpio-ranges = <&pinctrl 0 0 32>;
166485e5c210SXuhui Lin			interrupt-controller;
166585e5c210SXuhui Lin			#interrupt-cells = <2>;
166685e5c210SXuhui Lin		};
166785e5c210SXuhui Lin
166885e5c210SXuhui Lin		gpio1: gpio@ff870000 {
166985e5c210SXuhui Lin			compatible = "rockchip,gpio-bank";
167085e5c210SXuhui Lin			reg = <0xff870000 0x200>;
167185e5c210SXuhui Lin			interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
167285e5c210SXuhui Lin			clocks = <&cru PCLK_GPIO1>, <&cru DBCLK_GPIO1>;
167385e5c210SXuhui Lin
167485e5c210SXuhui Lin			gpio-controller;
167585e5c210SXuhui Lin			#gpio-cells = <2>;
167685e5c210SXuhui Lin			gpio-ranges = <&pinctrl 0 32 32>;
167785e5c210SXuhui Lin			interrupt-controller;
167885e5c210SXuhui Lin			#interrupt-cells = <2>;
167985e5c210SXuhui Lin		};
168085e5c210SXuhui Lin
168185e5c210SXuhui Lin		gpio2: gpio@ff1c0000 {
168285e5c210SXuhui Lin			compatible = "rockchip,gpio-bank";
168385e5c210SXuhui Lin			reg = <0xff1c0000 0x200>;
168485e5c210SXuhui Lin			interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
168585e5c210SXuhui Lin			clocks = <&cru PCLK_GPIO2>, <&cru DBCLK_GPIO2>;
168685e5c210SXuhui Lin
168785e5c210SXuhui Lin			gpio-controller;
168885e5c210SXuhui Lin			#gpio-cells = <2>;
168985e5c210SXuhui Lin			gpio-ranges = <&pinctrl 0 64 32>;
169085e5c210SXuhui Lin			interrupt-controller;
169185e5c210SXuhui Lin			#interrupt-cells = <2>;
169285e5c210SXuhui Lin		};
169385e5c210SXuhui Lin
169485e5c210SXuhui Lin		gpio3: gpio@ff1d0000 {
169585e5c210SXuhui Lin			compatible = "rockchip,gpio-bank";
169685e5c210SXuhui Lin			reg = <0xff1d0000 0x200>;
169785e5c210SXuhui Lin			interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
169885e5c210SXuhui Lin			clocks = <&cru PCLK_GPIO3>, <&cru DBCLK_GPIO3>;
169985e5c210SXuhui Lin
170085e5c210SXuhui Lin			gpio-controller;
170185e5c210SXuhui Lin			#gpio-cells = <2>;
170285e5c210SXuhui Lin			gpio-ranges = <&pinctrl 0 96 32>;
170385e5c210SXuhui Lin			interrupt-controller;
170485e5c210SXuhui Lin			#interrupt-cells = <2>;
170585e5c210SXuhui Lin		};
170685e5c210SXuhui Lin
170785e5c210SXuhui Lin		gpio4: gpio@ff1e0000 {
170885e5c210SXuhui Lin			compatible = "rockchip,gpio-bank";
170985e5c210SXuhui Lin			reg = <0xff1e0000 0x200>;
171085e5c210SXuhui Lin			interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
171185e5c210SXuhui Lin			clocks = <&cru PCLK_GPIO4>, <&cru DBCLK_GPIO4>;
171285e5c210SXuhui Lin
171385e5c210SXuhui Lin			gpio-controller;
171485e5c210SXuhui Lin			#gpio-cells = <2>;
171585e5c210SXuhui Lin			gpio-ranges = <&pinctrl 0 128 32>;
171685e5c210SXuhui Lin			interrupt-controller;
171785e5c210SXuhui Lin			#interrupt-cells = <2>;
171885e5c210SXuhui Lin		};
171985e5c210SXuhui Lin	};
172085e5c210SXuhui Lin};
172185e5c210SXuhui Lin
172285e5c210SXuhui Lin#include "rk3506-pinctrl.dtsi"
172385e5c210SXuhui Lin#include "rk3506-pinctrl-rmio.dtsi"
1724