xref: /rk3399_rockchip-uboot/arch/arm/dts/rk3528.dtsi (revision a4a25d670738dba076837b2950fcf885758af84e)
1c6f7c1a3SJoseph Chen// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2c6f7c1a3SJoseph Chen/*
3c6f7c1a3SJoseph Chen * Copyright (c) 2022 Rockchip Electronics Co., Ltd.
4c6f7c1a3SJoseph Chen */
5c6f7c1a3SJoseph Chen
6c6f7c1a3SJoseph Chen#include <dt-bindings/clock/rk3528-cru.h>
7b36e944aSJoseph Chen#include <dt-bindings/gpio/gpio.h>
8c6f7c1a3SJoseph Chen#include <dt-bindings/interrupt-controller/arm-gic.h>
9c6f7c1a3SJoseph Chen#include <dt-bindings/interrupt-controller/irq.h>
10c6f7c1a3SJoseph Chen#include <dt-bindings/phy/phy.h>
11c6f7c1a3SJoseph Chen#include <dt-bindings/pinctrl/rockchip.h>
12c6f7c1a3SJoseph Chen#include <dt-bindings/power/rk3528-power.h>
13c6f7c1a3SJoseph Chen#include <dt-bindings/soc/rockchip,boot-mode.h>
14c6f7c1a3SJoseph Chen#include <dt-bindings/soc/rockchip-system-status.h>
15b36e944aSJoseph Chen#include <dt-bindings/suspend/rockchip-rk3528.h>
16c6f7c1a3SJoseph Chen#include <dt-bindings/thermal/thermal.h>
17b36e944aSJoseph Chen#include <dt-bindings/display/rockchip-tve.h>
18c6f7c1a3SJoseph Chen
19c6f7c1a3SJoseph Chen/ {
20c6f7c1a3SJoseph Chen	compatible = "rockchip,rk3528";
21c6f7c1a3SJoseph Chen
22c6f7c1a3SJoseph Chen	interrupt-parent = <&gic>;
23c6f7c1a3SJoseph Chen	#address-cells = <2>;
24c6f7c1a3SJoseph Chen	#size-cells = <2>;
25c6f7c1a3SJoseph Chen
26c6f7c1a3SJoseph Chen	aliases {
27c6f7c1a3SJoseph Chen		ethernet0 = &gmac0;
28c6f7c1a3SJoseph Chen		ethernet1 = &gmac1;
29c6f7c1a3SJoseph Chen		gpio0 = &gpio0;
30c6f7c1a3SJoseph Chen		gpio1 = &gpio1;
31c6f7c1a3SJoseph Chen		gpio2 = &gpio2;
32c6f7c1a3SJoseph Chen		gpio3 = &gpio3;
33c6f7c1a3SJoseph Chen		gpio4 = &gpio4;
34c6f7c1a3SJoseph Chen		i2c0 = &i2c0;
35c6f7c1a3SJoseph Chen		i2c1 = &i2c1;
36c6f7c1a3SJoseph Chen		i2c2 = &i2c2;
37c6f7c1a3SJoseph Chen		i2c3 = &i2c3;
38c6f7c1a3SJoseph Chen		i2c4 = &i2c4;
39c6f7c1a3SJoseph Chen		i2c5 = &i2c5;
40c6f7c1a3SJoseph Chen		i2c6 = &i2c6;
41c6f7c1a3SJoseph Chen		i2c7 = &i2c7;
42c6f7c1a3SJoseph Chen		serial0 = &uart0;
43c6f7c1a3SJoseph Chen		serial1 = &uart1;
44c6f7c1a3SJoseph Chen		serial2 = &uart2;
45c6f7c1a3SJoseph Chen		serial3 = &uart3;
46c6f7c1a3SJoseph Chen		serial4 = &uart4;
47c6f7c1a3SJoseph Chen		serial5 = &uart5;
48c6f7c1a3SJoseph Chen		serial6 = &uart6;
49c6f7c1a3SJoseph Chen		serial7 = &uart7;
50c6f7c1a3SJoseph Chen		spi0 = &spi0;
51c6f7c1a3SJoseph Chen		spi1 = &spi1;
52c6f7c1a3SJoseph Chen		spi2 = &sfc;
53c6f7c1a3SJoseph Chen	};
54c6f7c1a3SJoseph Chen
55c6f7c1a3SJoseph Chen	cpus {
56c6f7c1a3SJoseph Chen		#address-cells = <2>;
57c6f7c1a3SJoseph Chen		#size-cells = <0>;
58c6f7c1a3SJoseph Chen
59c6f7c1a3SJoseph Chen		cpu-map {
60c6f7c1a3SJoseph Chen			cluster0 {
61c6f7c1a3SJoseph Chen				core0 {
62c6f7c1a3SJoseph Chen					cpu = <&cpu0>;
63c6f7c1a3SJoseph Chen				};
64c6f7c1a3SJoseph Chen				core1 {
65c6f7c1a3SJoseph Chen					cpu = <&cpu1>;
66c6f7c1a3SJoseph Chen				};
67c6f7c1a3SJoseph Chen				core2 {
68c6f7c1a3SJoseph Chen					cpu = <&cpu2>;
69c6f7c1a3SJoseph Chen				};
70c6f7c1a3SJoseph Chen				core3 {
71c6f7c1a3SJoseph Chen					cpu = <&cpu3>;
72c6f7c1a3SJoseph Chen				};
73c6f7c1a3SJoseph Chen			};
74c6f7c1a3SJoseph Chen		};
75c6f7c1a3SJoseph Chen
76c6f7c1a3SJoseph Chen		cpu0: cpu@0 {
77c6f7c1a3SJoseph Chen			device_type = "cpu";
78c6f7c1a3SJoseph Chen			compatible = "arm,cortex-a53";
79c6f7c1a3SJoseph Chen			reg = <0x0 0x0>;
80c6f7c1a3SJoseph Chen			enable-method = "psci";
81b36e944aSJoseph Chen			clocks = <&scmi_clk SCMI_CLK_CPU>;
82b36e944aSJoseph Chen			operating-points-v2 = <&cpu0_opp_table>;
83b36e944aSJoseph Chen			cpu-idle-states = <&CPU_SLEEP0>;
84c6f7c1a3SJoseph Chen		};
85c6f7c1a3SJoseph Chen
86c6f7c1a3SJoseph Chen		cpu1: cpu@1 {
87c6f7c1a3SJoseph Chen			device_type = "cpu";
88c6f7c1a3SJoseph Chen			compatible = "arm,cortex-a53";
89c6f7c1a3SJoseph Chen			reg = <0x0 0x1>;
90c6f7c1a3SJoseph Chen			enable-method = "psci";
91b36e944aSJoseph Chen			clocks = <&scmi_clk SCMI_CLK_CPU>;
92b36e944aSJoseph Chen			operating-points-v2 = <&cpu0_opp_table>;
93b36e944aSJoseph Chen			cpu-idle-states = <&CPU_SLEEP0>;
94c6f7c1a3SJoseph Chen		};
95c6f7c1a3SJoseph Chen
96c6f7c1a3SJoseph Chen		cpu2: cpu@2 {
97c6f7c1a3SJoseph Chen			device_type = "cpu";
98c6f7c1a3SJoseph Chen			compatible = "arm,cortex-a53";
99c6f7c1a3SJoseph Chen			reg = <0x0 0x2>;
100c6f7c1a3SJoseph Chen			enable-method = "psci";
101b36e944aSJoseph Chen			clocks = <&scmi_clk SCMI_CLK_CPU>;
102b36e944aSJoseph Chen			operating-points-v2 = <&cpu0_opp_table>;
103b36e944aSJoseph Chen			cpu-idle-states = <&CPU_SLEEP1>;
104c6f7c1a3SJoseph Chen		};
105c6f7c1a3SJoseph Chen
106c6f7c1a3SJoseph Chen		cpu3: cpu@3 {
107c6f7c1a3SJoseph Chen			device_type = "cpu";
108c6f7c1a3SJoseph Chen			compatible = "arm,cortex-a53";
109c6f7c1a3SJoseph Chen			reg = <0x0 0x3>;
110c6f7c1a3SJoseph Chen			enable-method = "psci";
111b36e944aSJoseph Chen			clocks = <&scmi_clk SCMI_CLK_CPU>;
112b36e944aSJoseph Chen			operating-points-v2 = <&cpu0_opp_table>;
113b36e944aSJoseph Chen			cpu-idle-states = <&CPU_SLEEP1>;
114b36e944aSJoseph Chen		};
115b36e944aSJoseph Chen
116b36e944aSJoseph Chen		idle-states {
117b36e944aSJoseph Chen			entry-method = "psci";
118b36e944aSJoseph Chen
119b36e944aSJoseph Chen			CPU_SLEEP0: cpu-sleep0 {
120b36e944aSJoseph Chen				compatible = "arm,idle-state";
121b36e944aSJoseph Chen				local-timer-stop;
122b36e944aSJoseph Chen				arm,psci-suspend-param = <0x0010000>;
123b36e944aSJoseph Chen				entry-latency-us = <120>;
124b36e944aSJoseph Chen				exit-latency-us = <250>;
125b36e944aSJoseph Chen				min-residency-us = <900>;
126b36e944aSJoseph Chen				status = "disabled";
127b36e944aSJoseph Chen			};
128b36e944aSJoseph Chen
129b36e944aSJoseph Chen			CPU_SLEEP1: cpu-sleep {
130b36e944aSJoseph Chen				compatible = "arm,idle-state";
131b36e944aSJoseph Chen				local-timer-stop;
132b36e944aSJoseph Chen				arm,psci-suspend-param = <0x0010000>;
133b36e944aSJoseph Chen				entry-latency-us = <120>;
134b36e944aSJoseph Chen				exit-latency-us = <250>;
135b36e944aSJoseph Chen				min-residency-us = <900>;
136b36e944aSJoseph Chen				status = "okay";
137b36e944aSJoseph Chen			};
138b36e944aSJoseph Chen		};
139b36e944aSJoseph Chen	};
140b36e944aSJoseph Chen
141b36e944aSJoseph Chen	cpu0_opp_table: cpu0-opp-table {
142b36e944aSJoseph Chen		compatible = "operating-points-v2";
143b36e944aSJoseph Chen		opp-shared;
144b36e944aSJoseph Chen
145b36e944aSJoseph Chen		nvmem-cells = <&cpu_leakage>;
146b36e944aSJoseph Chen		nvmem-cell-names = "leakage";
147b36e944aSJoseph Chen
148b36e944aSJoseph Chen		rockchip,pvtm-voltage-sel = <
149b36e944aSJoseph Chen			0	1310	0
150b36e944aSJoseph Chen			1311	1340	1
151b36e944aSJoseph Chen			1341	1370	2
152b36e944aSJoseph Chen			1371	1400	3
153b36e944aSJoseph Chen			1401	1430	4
154b36e944aSJoseph Chen			1431	1460	5
155b36e944aSJoseph Chen			1461	9999	6
156b36e944aSJoseph Chen		>;
157b36e944aSJoseph Chen		rockchip,pvtm-pvtpll;
158b36e944aSJoseph Chen		rockchip,pvtm-offset = <0x18>;
159b36e944aSJoseph Chen		rockchip,pvtm-sample-time = <1100>;
160b36e944aSJoseph Chen		rockchip,pvtm-freq = <1416000>;
161b36e944aSJoseph Chen		rockchip,pvtm-volt = <900000>;
162b36e944aSJoseph Chen		rockchip,pvtm-ref-temp = <40>;
163b36e944aSJoseph Chen		rockchip,pvtm-temp-prop = <0 0>;
164b36e944aSJoseph Chen		rockchip,pvtm-thermal-zone = "soc-thermal";
165b36e944aSJoseph Chen		rockchip,grf = <&grf>;
166b36e944aSJoseph Chen
167b36e944aSJoseph Chen		opp-408000000 {
168b36e944aSJoseph Chen			opp-hz = /bits/ 64 <408000000>;
169b36e944aSJoseph Chen			opp-microvolt = <825000 825000 1100000>;
170b36e944aSJoseph Chen			clock-latency-ns = <40000>;
171b36e944aSJoseph Chen			opp-suspend;
172b36e944aSJoseph Chen		};
173b36e944aSJoseph Chen		opp-600000000 {
174b36e944aSJoseph Chen			opp-hz = /bits/ 64 <600000000>;
175b36e944aSJoseph Chen			opp-microvolt = <825000 825000 1100000>;
176b36e944aSJoseph Chen			clock-latency-ns = <40000>;
177b36e944aSJoseph Chen		};
178b36e944aSJoseph Chen		opp-816000000 {
179b36e944aSJoseph Chen			opp-hz = /bits/ 64 <816000000>;
180b36e944aSJoseph Chen			opp-microvolt = <825000 825000 1100000>;
181b36e944aSJoseph Chen			clock-latency-ns = <40000>;
182b36e944aSJoseph Chen		};
183b36e944aSJoseph Chen		opp-1008000000 {
184b36e944aSJoseph Chen			opp-hz = /bits/ 64 <1008000000>;
185b36e944aSJoseph Chen			opp-microvolt = <825000 825000 1100000>;
186b36e944aSJoseph Chen			clock-latency-ns = <40000>;
187b36e944aSJoseph Chen		};
188b36e944aSJoseph Chen		opp-1200000000 {
189b36e944aSJoseph Chen			opp-hz = /bits/ 64 <1200000000>;
190b36e944aSJoseph Chen			opp-microvolt = <875000 875000 1100000>;
191b36e944aSJoseph Chen			opp-microvolt-L1 = <862500 862500 1100000>;
192b36e944aSJoseph Chen			opp-microvolt-L2 = <850000 850000 1100000>;
193b36e944aSJoseph Chen			opp-microvolt-L3 = <837500 837500 1100000>;
194b36e944aSJoseph Chen			opp-microvolt-L4 = <837500 837500 1100000>;
195b36e944aSJoseph Chen			opp-microvolt-L5 = <837500 837500 1100000>;
196b36e944aSJoseph Chen			opp-microvolt-L6 = <825000 825000 1100000>;
197b36e944aSJoseph Chen			clock-latency-ns = <40000>;
198b36e944aSJoseph Chen		};
199b36e944aSJoseph Chen		opp-1416000000 {
200b36e944aSJoseph Chen			opp-hz = /bits/ 64 <1416000000>;
201b36e944aSJoseph Chen			opp-microvolt = <937500 937500 1100000>;
202b36e944aSJoseph Chen			opp-microvolt-L1 = <925000 925000 1100000>;
203b36e944aSJoseph Chen			opp-microvolt-L2 = <912500 912500 1100000>;
204b36e944aSJoseph Chen			opp-microvolt-L3 = <900000 900000 1100000>;
205b36e944aSJoseph Chen			opp-microvolt-L4 = <900000 900000 1100000>;
206b36e944aSJoseph Chen			opp-microvolt-L5 = <900000 900000 1100000>;
207b36e944aSJoseph Chen			opp-microvolt-L6 = <887500 887500 1100000>;
208b36e944aSJoseph Chen			clock-latency-ns = <40000>;
209b36e944aSJoseph Chen		};
210b36e944aSJoseph Chen		opp-1608000000 {
211b36e944aSJoseph Chen			opp-hz = /bits/ 64 <1608000000>;
212b36e944aSJoseph Chen			opp-microvolt = <1012500 1012500 1100000>;
213b36e944aSJoseph Chen			opp-microvolt-L1 = <1000000 1000000 1100000>;
214b36e944aSJoseph Chen			opp-microvolt-L2 = <987500 987500 1100000>;
215b36e944aSJoseph Chen			opp-microvolt-L3 = <975000 975000 1100000>;
216b36e944aSJoseph Chen			opp-microvolt-L4 = <962500 962500 1100000>;
217b36e944aSJoseph Chen			opp-microvolt-L5 = <950000 950000 1100000>;
218b36e944aSJoseph Chen			opp-microvolt-L6 = <937500 937500 1100000>;
219b36e944aSJoseph Chen			clock-latency-ns = <40000>;
220b36e944aSJoseph Chen		};
221b36e944aSJoseph Chen		opp-1800000000 {
222b36e944aSJoseph Chen			opp-hz = /bits/ 64 <1800000000>;
223b36e944aSJoseph Chen			opp-microvolt = <1062500 1062500 1100000>;
224b36e944aSJoseph Chen			opp-microvolt-L1 = <1050000 1050000 1100000>;
225b36e944aSJoseph Chen			opp-microvolt-L2 = <1037500 1037500 1100000>;
226b36e944aSJoseph Chen			opp-microvolt-L3 = <1025000 1025000 1100000>;
227b36e944aSJoseph Chen			opp-microvolt-L4 = <1012500 1012500 1100000>;
228b36e944aSJoseph Chen			opp-microvolt-L5 = <1000000 1000000 1100000>;
229b36e944aSJoseph Chen			opp-microvolt-L6 = <987500 987500 1100000>;
230b36e944aSJoseph Chen			clock-latency-ns = <40000>;
231b36e944aSJoseph Chen		};
232b36e944aSJoseph Chen		opp-2016000000 {
233b36e944aSJoseph Chen			opp-hz = /bits/ 64 <2016000000>;
234b36e944aSJoseph Chen			opp-microvolt = <1100000 1100000 1100000>;
235b36e944aSJoseph Chen			opp-microvolt-L1 = <1087500 1087500 1100000>;
236b36e944aSJoseph Chen			opp-microvolt-L2 = <1075000 1075000 1100000>;
237b36e944aSJoseph Chen			opp-microvolt-L3 = <1062500 1062500 1100000>;
238b36e944aSJoseph Chen			opp-microvolt-L4 = <1050000 1050000 1100000>;
239b36e944aSJoseph Chen			opp-microvolt-L5 = <1037500 1037500 1100000>;
240b36e944aSJoseph Chen			opp-microvolt-L6 = <1025000 1025000 1100000>;
241b36e944aSJoseph Chen			clock-latency-ns = <40000>;
242c6f7c1a3SJoseph Chen		};
243c6f7c1a3SJoseph Chen	};
244c6f7c1a3SJoseph Chen
245c6f7c1a3SJoseph Chen	arm-pmu {
246c6f7c1a3SJoseph Chen		compatible = "arm,cortex-a53-pmu";
247c6f7c1a3SJoseph Chen		interrupts = <GIC_SPI 171 IRQ_TYPE_LEVEL_HIGH>,
248c6f7c1a3SJoseph Chen			     <GIC_SPI 172 IRQ_TYPE_LEVEL_HIGH>,
249c6f7c1a3SJoseph Chen			     <GIC_SPI 173 IRQ_TYPE_LEVEL_HIGH>,
250c6f7c1a3SJoseph Chen			     <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
251c6f7c1a3SJoseph Chen		interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
252c6f7c1a3SJoseph Chen	};
253c6f7c1a3SJoseph Chen
254c6f7c1a3SJoseph Chen	cpuinfo {
255c6f7c1a3SJoseph Chen		compatible = "rockchip,cpuinfo";
256c6f7c1a3SJoseph Chen		nvmem-cells = <&otp_id>, <&otp_cpu_version>, <&cpu_code>;
257c6f7c1a3SJoseph Chen		nvmem-cell-names = "id", "cpu-version", "cpu-code";
258c6f7c1a3SJoseph Chen	};
259c6f7c1a3SJoseph Chen
260c6f7c1a3SJoseph Chen	display_subsystem: display-subsystem {
261c6f7c1a3SJoseph Chen		compatible = "rockchip,display-subsystem";
262c6f7c1a3SJoseph Chen		ports = <&vop_out>;
263c6f7c1a3SJoseph Chen		status = "disabled";
264c6f7c1a3SJoseph Chen	};
265c6f7c1a3SJoseph Chen
2668c527d2cSJoseph Chen	firmware: firmware {
267c6f7c1a3SJoseph Chen		scmi: scmi {
268c6f7c1a3SJoseph Chen			compatible = "arm,scmi-smc";
269c6f7c1a3SJoseph Chen			shmem = <&scmi_shmem>;
270c6f7c1a3SJoseph Chen			arm,smc-id = <0x82000010>;
271c6f7c1a3SJoseph Chen			#address-cells = <1>;
272c6f7c1a3SJoseph Chen			#size-cells = <0>;
273c6f7c1a3SJoseph Chen
274c6f7c1a3SJoseph Chen			scmi_clk: protocol@14 {
275c6f7c1a3SJoseph Chen				reg = <0x14>;
276c6f7c1a3SJoseph Chen				#clock-cells = <1>;
277c6f7c1a3SJoseph Chen			};
278c6f7c1a3SJoseph Chen		};
279c6f7c1a3SJoseph Chen	};
280c6f7c1a3SJoseph Chen
281c6f7c1a3SJoseph Chen	mpp_srv: mpp-srv {
282c6f7c1a3SJoseph Chen		compatible = "rockchip,mpp-service";
283c6f7c1a3SJoseph Chen		rockchip,taskqueue-count = <5>;
284c6f7c1a3SJoseph Chen		rockchip,resetgroup-count = <5>;
285c6f7c1a3SJoseph Chen		status = "disabled";
286c6f7c1a3SJoseph Chen	};
287c6f7c1a3SJoseph Chen
288c6f7c1a3SJoseph Chen	psci: psci {
289c6f7c1a3SJoseph Chen		compatible = "arm,psci-1.0";
290c6f7c1a3SJoseph Chen		method = "smc";
291c6f7c1a3SJoseph Chen	};
292c6f7c1a3SJoseph Chen
293b36e944aSJoseph Chen	rockchip_suspend: rockchip-suspend {
294b36e944aSJoseph Chen		compatible = "rockchip,pm-rk3528";
295b36e944aSJoseph Chen		status = "disabled";
296b36e944aSJoseph Chen		rockchip,sleep-debug-en = <0>;
297b36e944aSJoseph Chen		rockchip,sleep-mode-config = <
298b36e944aSJoseph Chen			(0
299b36e944aSJoseph Chen			| RKPM_SLP_ARMPD
300b36e944aSJoseph Chen			)
301b36e944aSJoseph Chen		>;
302b36e944aSJoseph Chen		rockchip,wakeup-config = <
303b36e944aSJoseph Chen			(0
304b36e944aSJoseph Chen			| RKPM_CPU0_WKUP_EN
305b36e944aSJoseph Chen			| RKPM_GPIO_WKUP_EN
306b36e944aSJoseph Chen			)
307b36e944aSJoseph Chen		>;
308b36e944aSJoseph Chen	};
309b36e944aSJoseph Chen
310b36e944aSJoseph Chen	rockchip_system_monitor: rockchip-system-monitor {
311b36e944aSJoseph Chen		compatible = "rockchip,system-monitor";
312b36e944aSJoseph Chen
313b36e944aSJoseph Chen		rockchip,thermal-zone = "soc-thermal";
314b36e944aSJoseph Chen	};
315b36e944aSJoseph Chen
316c6f7c1a3SJoseph Chen	thermal_zones: thermal-zones {
317c6f7c1a3SJoseph Chen		soc_thermal: soc-thermal {
318c6f7c1a3SJoseph Chen			polling-delay-passive = <20>; /* milliseconds */
319c6f7c1a3SJoseph Chen			polling-delay = <1000>; /* milliseconds */
320c6f7c1a3SJoseph Chen
321c6f7c1a3SJoseph Chen			thermal-sensors = <&tsadc 0>;
322c6f7c1a3SJoseph Chen			trips {
323c6f7c1a3SJoseph Chen				soc_crit: soc-crit {
324c6f7c1a3SJoseph Chen					/* millicelsius */
325c6f7c1a3SJoseph Chen					temperature = <115000>;
326c6f7c1a3SJoseph Chen					/* millicelsius */
327c6f7c1a3SJoseph Chen					hysteresis = <2000>;
328c6f7c1a3SJoseph Chen					type = "critical";
329c6f7c1a3SJoseph Chen				};
330c6f7c1a3SJoseph Chen			};
331c6f7c1a3SJoseph Chen		};
332c6f7c1a3SJoseph Chen	};
333c6f7c1a3SJoseph Chen
334c6f7c1a3SJoseph Chen	timer {
335c6f7c1a3SJoseph Chen		compatible = "arm,armv8-timer";
336c6f7c1a3SJoseph Chen		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
337c6f7c1a3SJoseph Chen			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
338c6f7c1a3SJoseph Chen			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
339c6f7c1a3SJoseph Chen			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
340c6f7c1a3SJoseph Chen	};
341c6f7c1a3SJoseph Chen
342c6f7c1a3SJoseph Chen	xin24m: xin24m {
343c6f7c1a3SJoseph Chen		compatible = "fixed-clock";
344c6f7c1a3SJoseph Chen		#clock-cells = <0>;
345c6f7c1a3SJoseph Chen		clock-frequency = <24000000>;
346c6f7c1a3SJoseph Chen		clock-output-names = "xin24m";
347c6f7c1a3SJoseph Chen	};
348c6f7c1a3SJoseph Chen
349c6f7c1a3SJoseph Chen	scmi_shmem: scmi-shmem@10f000 {
350c6f7c1a3SJoseph Chen		compatible = "arm,scmi-shmem";
351c6f7c1a3SJoseph Chen		reg = <0x0 0x0010f000 0x0 0x100>;
352c6f7c1a3SJoseph Chen	};
353c6f7c1a3SJoseph Chen
354c6f7c1a3SJoseph Chen	pcie2x1: pcie@fe4f0000 {
355c6f7c1a3SJoseph Chen		compatible = "rockchip,rk3528-pcie", "snps,dw-pcie";
356c6f7c1a3SJoseph Chen		#address-cells = <3>;
357c6f7c1a3SJoseph Chen		#size-cells = <2>;
358c6f7c1a3SJoseph Chen		bus-range = <0x0 0xff>;
359c6f7c1a3SJoseph Chen		clocks = <&cru ACLK_PCIE>, <&cru HCLK_PCIE_SLV>,
360c6f7c1a3SJoseph Chen			 <&cru HCLK_PCIE_DBI>, <&cru PCLK_CRU_PCIE>,
361c6f7c1a3SJoseph Chen			 <&cru CLK_PCIE_AUX>, <&cru PCLK_PCIE>,
362b36e944aSJoseph Chen			 <&cru PCLK_PCIE_PHY>;
363c6f7c1a3SJoseph Chen		clock-names = "aclk", "hclk_slv",
364c6f7c1a3SJoseph Chen			      "hclk_dbi", "pclk_cru",
365c6f7c1a3SJoseph Chen			      "aux", "pclk",
366c6f7c1a3SJoseph Chen			      "pipe";
367c6f7c1a3SJoseph Chen		device_type = "pci";
368b36e944aSJoseph Chen		interrupts = <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>,
369b36e944aSJoseph Chen			     <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>,
370c6f7c1a3SJoseph Chen			     <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH>,
371c6f7c1a3SJoseph Chen			     <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>,
372c6f7c1a3SJoseph Chen			     <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>,
373c6f7c1a3SJoseph Chen			     <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>;
374b36e944aSJoseph Chen		interrupt-names = "msi", "pmc", "sys", "legacy", "msg", "err";
375c6f7c1a3SJoseph Chen		#interrupt-cells = <1>;
376c6f7c1a3SJoseph Chen		interrupt-map-mask = <0 0 0 7>;
377c6f7c1a3SJoseph Chen		interrupt-map = <0 0 0 1 &pcie2x1_intc 0>,
378c6f7c1a3SJoseph Chen				<0 0 0 2 &pcie2x1_intc 1>,
379c6f7c1a3SJoseph Chen				<0 0 0 3 &pcie2x1_intc 2>,
380c6f7c1a3SJoseph Chen				<0 0 0 4 &pcie2x1_intc 3>;
381c6f7c1a3SJoseph Chen		linux,pci-domain = <0>;
382c6f7c1a3SJoseph Chen		num-ib-windows = <8>;
383c6f7c1a3SJoseph Chen		num-ob-windows = <8>;
384c6f7c1a3SJoseph Chen		num-viewport = <4>;
385c6f7c1a3SJoseph Chen		max-link-speed = <2>;
386c6f7c1a3SJoseph Chen		num-lanes = <1>;
387c6f7c1a3SJoseph Chen		phys = <&combphy_pu PHY_TYPE_PCIE>;
388c6f7c1a3SJoseph Chen		phy-names = "pcie-phy";
389c6f7c1a3SJoseph Chen		ranges = <0x00000800 0x0 0xfc000000 0x0 0xfc000000 0x0 0x100000
390c6f7c1a3SJoseph Chen			  0x81000000 0x0 0xfc100000 0x0 0xfc100000 0x0 0x100000
391c6f7c1a3SJoseph Chen			  0x82000000 0x0 0xfc200000 0x0 0xfc200000 0x0 0x1e00000
392c6f7c1a3SJoseph Chen			  0xc3000000 0x1 0x00000000 0x1 0x00000000 0x0 0x40000000>;
393c6f7c1a3SJoseph Chen		reg = <0x0 0xfe4f0000 0x0 0x10000>,
394*a4a25d67SJon Lin		      <0x0 0xfe000000 0x0 0x400000>;
395c6f7c1a3SJoseph Chen		reg-names = "pcie-apb", "pcie-dbi";
396c6f7c1a3SJoseph Chen		resets = <&cru SRST_RESETN_PCIE_POWER_UP>, <&cru SRST_PRESETN_PCIE>,
397c6f7c1a3SJoseph Chen			 <&cru SRST_PRESETN_CRU_PCIE>;
398c6f7c1a3SJoseph Chen		reset-names = "pcie", "periph", "preset_cru";
399c6f7c1a3SJoseph Chen		status = "disabled";
400c6f7c1a3SJoseph Chen
401c6f7c1a3SJoseph Chen		pcie2x1_intc: legacy-interrupt-controller {
402c6f7c1a3SJoseph Chen			interrupt-controller;
403c6f7c1a3SJoseph Chen			#address-cells = <0>;
404c6f7c1a3SJoseph Chen			#interrupt-cells = <1>;
405c6f7c1a3SJoseph Chen			interrupt-parent = <&gic>;
406c6f7c1a3SJoseph Chen			interrupts = <GIC_SPI 155 IRQ_TYPE_EDGE_RISING>;
407c6f7c1a3SJoseph Chen		};
408c6f7c1a3SJoseph Chen	};
409c6f7c1a3SJoseph Chen
410c6f7c1a3SJoseph Chen	usbdrd30: usbdrd {
411c6f7c1a3SJoseph Chen		compatible = "rockchip,rk3528-dwc3", "rockchip,rk3399-dwc3";
412c6f7c1a3SJoseph Chen		clocks = <&cru CLK_REF_USB3OTG>, <&cru CLK_SUSPEND_USB3OTG>,
413c6f7c1a3SJoseph Chen			 <&cru ACLK_USB3OTG>;
414c6f7c1a3SJoseph Chen		clock-names = "ref_clk", "suspend_clk",
415c6f7c1a3SJoseph Chen			      "bus_clk";
416c6f7c1a3SJoseph Chen		#address-cells = <2>;
417c6f7c1a3SJoseph Chen		#size-cells = <2>;
418c6f7c1a3SJoseph Chen		ranges;
419c6f7c1a3SJoseph Chen		status = "disabled";
420c6f7c1a3SJoseph Chen
421c6f7c1a3SJoseph Chen		usbdrd_dwc3: dwc3@fe500000 {
422c6f7c1a3SJoseph Chen			compatible = "snps,dwc3";
423c6f7c1a3SJoseph Chen			reg = <0x0 0xfe500000 0x0 0x400000>;
424c6f7c1a3SJoseph Chen			interrupts = <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>;
425c6f7c1a3SJoseph Chen			dr_mode = "otg";
426b36e944aSJoseph Chen			phys = <&u2phy_otg>, <&combphy_pu PHY_TYPE_USB3>;
427b36e944aSJoseph Chen			phy-names = "usb2-phy", "usb3-phy";
428c6f7c1a3SJoseph Chen			phy_type = "utmi_wide";
429c6f7c1a3SJoseph Chen			resets = <&cru SRST_ARESETN_USB3OTG>;
430c6f7c1a3SJoseph Chen			reset-names = "usb3-otg";
431c6f7c1a3SJoseph Chen			snps,dis_enblslpm_quirk;
432c6f7c1a3SJoseph Chen			snps,dis-u1u2-quirk;
433c6f7c1a3SJoseph Chen			snps,dis-u2-freeclk-exists-quirk;
434c6f7c1a3SJoseph Chen			snps,dis-del-phy-power-chg-quirk;
435c6f7c1a3SJoseph Chen			snps,dis-tx-ipgap-linecheck-quirk;
436c6f7c1a3SJoseph Chen			snps,xhci-trb-ent-quirk;
437b36e944aSJoseph Chen			snps,dis_rxdet_inp3_quirk;
438b36e944aSJoseph Chen			quirk-skip-phy-init;
439c6f7c1a3SJoseph Chen			status = "disabled";
440c6f7c1a3SJoseph Chen		};
441c6f7c1a3SJoseph Chen	};
442c6f7c1a3SJoseph Chen
443c6f7c1a3SJoseph Chen	gic: interrupt-controller@fed01000 {
444c6f7c1a3SJoseph Chen		compatible = "arm,gic-400";
445c6f7c1a3SJoseph Chen		#interrupt-cells = <3>;
446c6f7c1a3SJoseph Chen		#address-cells = <0>;
447c6f7c1a3SJoseph Chen		interrupt-controller;
448c6f7c1a3SJoseph Chen		reg = <0x0 0xfed01000 0 0x1000>,
449c6f7c1a3SJoseph Chen		      <0x0 0xfed02000 0 0x2000>,
450c6f7c1a3SJoseph Chen		      <0x0 0xfed04000 0 0x2000>,
451c6f7c1a3SJoseph Chen		      <0x0 0xfed06000 0 0x2000>;
452c6f7c1a3SJoseph Chen		interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
453c6f7c1a3SJoseph Chen	};
454c6f7c1a3SJoseph Chen
455c6f7c1a3SJoseph Chen	usb_host0_ehci: usb@ff100000 {
456c6f7c1a3SJoseph Chen		compatible = "generic-ehci";
457c6f7c1a3SJoseph Chen		reg = <0x0 0xff100000 0x0 0x40000>;
458c6f7c1a3SJoseph Chen		interrupts = <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
459b36e944aSJoseph Chen		clocks = <&cru HCLK_USBHOST>,
460b36e944aSJoseph Chen			 <&cru HCLK_USBHOST_ARB>,
461b36e944aSJoseph Chen			 <&usb2phy>;
462b36e944aSJoseph Chen		clock-names = "usbhost", "arbiter", "utmi";
463b36e944aSJoseph Chen		phys = <&u2phy_host>;
464b36e944aSJoseph Chen		phy-names = "usb2-phy";
465c6f7c1a3SJoseph Chen		status = "disabled";
466c6f7c1a3SJoseph Chen	};
467c6f7c1a3SJoseph Chen
468c6f7c1a3SJoseph Chen	usb_host0_ohci: usb@ff140000 {
469c6f7c1a3SJoseph Chen		compatible = "generic-ohci";
470c6f7c1a3SJoseph Chen		reg = <0x0 0xff140000 0x0 0x40000>;
471c6f7c1a3SJoseph Chen		interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>;
472b36e944aSJoseph Chen		clocks = <&cru HCLK_USBHOST>,
473b36e944aSJoseph Chen			 <&cru HCLK_USBHOST_ARB>,
474b36e944aSJoseph Chen			 <&usb2phy>;
475b36e944aSJoseph Chen		clock-names = "usbhost", "arbiter", "utmi";
476b36e944aSJoseph Chen		phys = <&u2phy_host>;
477b36e944aSJoseph Chen		phy-names = "usb2-phy";
478c6f7c1a3SJoseph Chen		status = "disabled";
479c6f7c1a3SJoseph Chen	};
480c6f7c1a3SJoseph Chen
481b36e944aSJoseph Chen	debug: debug@ff190000 {
482b36e944aSJoseph Chen		compatible = "rockchip,debug";
483b36e944aSJoseph Chen		reg = <0x0 0xff190000 0x0 0x1000>,
484b36e944aSJoseph Chen		      <0x0 0xff192000 0x0 0x1000>,
485b36e944aSJoseph Chen		      <0x0 0xff194000 0x0 0x1000>,
486b36e944aSJoseph Chen		      <0x0 0xff196000 0x0 0x1000>;
487b36e944aSJoseph Chen	};
488b36e944aSJoseph Chen
489c6f7c1a3SJoseph Chen	qos_crypto_a: qos@ff200000 {
490c6f7c1a3SJoseph Chen		compatible = "syscon";
491c6f7c1a3SJoseph Chen		reg = <0x0 0xff200000 0x0 0x20>;
492c6f7c1a3SJoseph Chen	};
493c6f7c1a3SJoseph Chen
494c6f7c1a3SJoseph Chen	qos_crypto_p: qos@ff200080 {
495c6f7c1a3SJoseph Chen		compatible = "syscon";
496c6f7c1a3SJoseph Chen		reg = <0x0 0xff200080 0x0 0x20>;
497c6f7c1a3SJoseph Chen	};
498c6f7c1a3SJoseph Chen
499c6f7c1a3SJoseph Chen	qos_dcf: qos@ff200100 {
500c6f7c1a3SJoseph Chen		compatible = "syscon";
501c6f7c1a3SJoseph Chen		reg = <0x0 0xff200100 0x0 0x20>;
502c6f7c1a3SJoseph Chen	};
503c6f7c1a3SJoseph Chen
504c6f7c1a3SJoseph Chen	qos_dft2apb: qos@ff200200 {
505c6f7c1a3SJoseph Chen		compatible = "syscon";
506c6f7c1a3SJoseph Chen		reg = <0x0 0xff200200 0x0 0x20>;
507c6f7c1a3SJoseph Chen	};
508c6f7c1a3SJoseph Chen
509c6f7c1a3SJoseph Chen	qos_dma2ddr: qos@ff200280 {
510c6f7c1a3SJoseph Chen		compatible = "syscon";
511c6f7c1a3SJoseph Chen		reg = <0x0 0xff200280 0x0 0x20>;
512c6f7c1a3SJoseph Chen	};
513c6f7c1a3SJoseph Chen
514c6f7c1a3SJoseph Chen	qos_dmac: qos@ff200300 {
515c6f7c1a3SJoseph Chen		compatible = "syscon";
516c6f7c1a3SJoseph Chen		reg = <0x0 0xff200300 0x0 0x20>;
517c6f7c1a3SJoseph Chen	};
518c6f7c1a3SJoseph Chen
519c6f7c1a3SJoseph Chen	qos_keyreader: qos@ff200380 {
520c6f7c1a3SJoseph Chen		compatible = "syscon";
521c6f7c1a3SJoseph Chen		reg = <0x0 0xff200380 0x0 0x20>;
522c6f7c1a3SJoseph Chen	};
523c6f7c1a3SJoseph Chen
524c6f7c1a3SJoseph Chen	qos_cpu: qos@ff210000 {
525c6f7c1a3SJoseph Chen		compatible = "syscon";
526c6f7c1a3SJoseph Chen		reg = <0x0 0xff210000 0x0 0x20>;
527c6f7c1a3SJoseph Chen	};
528c6f7c1a3SJoseph Chen
529c6f7c1a3SJoseph Chen	qos_debug: qos@ff210080 {
530c6f7c1a3SJoseph Chen		compatible = "syscon";
531c6f7c1a3SJoseph Chen		reg = <0x0 0xff210080 0x0 0x20>;
532c6f7c1a3SJoseph Chen	};
533c6f7c1a3SJoseph Chen
534c6f7c1a3SJoseph Chen	qos_gpu_m0: qos@ff220000 {
535c6f7c1a3SJoseph Chen		compatible = "syscon";
536c6f7c1a3SJoseph Chen		reg = <0x0 0xff220000 0x0 0x20>;
537c6f7c1a3SJoseph Chen	};
538c6f7c1a3SJoseph Chen
539c6f7c1a3SJoseph Chen	qos_gpu_m1: qos@ff220080 {
540c6f7c1a3SJoseph Chen		compatible = "syscon";
541c6f7c1a3SJoseph Chen		reg = <0x0 0xff220080 0x0 0x20>;
542c6f7c1a3SJoseph Chen	};
543c6f7c1a3SJoseph Chen
544c6f7c1a3SJoseph Chen	qos_pmu_mcu: qos@ff240000 {
545c6f7c1a3SJoseph Chen		compatible = "syscon";
546c6f7c1a3SJoseph Chen		reg = <0x0 0xff240000 0x0 0x20>;
547c6f7c1a3SJoseph Chen	};
548c6f7c1a3SJoseph Chen
549c6f7c1a3SJoseph Chen	qos_rkvdec: qos@ff250000 {
550c6f7c1a3SJoseph Chen		compatible = "syscon";
551c6f7c1a3SJoseph Chen		reg = <0x0 0xff250000 0x0 0x20>;
552c6f7c1a3SJoseph Chen	};
553c6f7c1a3SJoseph Chen
554c6f7c1a3SJoseph Chen	qos_rkvenc: qos@ff260000 {
555c6f7c1a3SJoseph Chen		compatible = "syscon";
556c6f7c1a3SJoseph Chen		reg = <0x0 0xff260000 0x0 0x20>;
557c6f7c1a3SJoseph Chen	};
558c6f7c1a3SJoseph Chen
559c6f7c1a3SJoseph Chen	qos_gmac0: qos@ff270000 {
560c6f7c1a3SJoseph Chen		compatible = "syscon";
561c6f7c1a3SJoseph Chen		reg = <0x0 0xff270000 0x0 0x20>;
562c6f7c1a3SJoseph Chen	};
563c6f7c1a3SJoseph Chen
564c6f7c1a3SJoseph Chen	qos_hdcp: qos@ff270080 {
565c6f7c1a3SJoseph Chen		compatible = "syscon";
566c6f7c1a3SJoseph Chen		reg = <0x0 0xff270080 0x0 0x20>;
567c6f7c1a3SJoseph Chen	};
568c6f7c1a3SJoseph Chen
569c6f7c1a3SJoseph Chen	qos_jpegdec: qos@ff270100 {
570c6f7c1a3SJoseph Chen		compatible = "syscon";
571c6f7c1a3SJoseph Chen		reg = <0x0 0xff270100 0x0 0x20>;
572c6f7c1a3SJoseph Chen	};
573c6f7c1a3SJoseph Chen
574c6f7c1a3SJoseph Chen	qos_rga2_m0ro: qos@ff270200 {
575c6f7c1a3SJoseph Chen		compatible = "syscon";
576c6f7c1a3SJoseph Chen		reg = <0x0 0xff270200 0x0 0x20>;
577c6f7c1a3SJoseph Chen	};
578c6f7c1a3SJoseph Chen
579c6f7c1a3SJoseph Chen	qos_rga2_m0wo: qos@ff270280 {
580c6f7c1a3SJoseph Chen		compatible = "syscon";
581c6f7c1a3SJoseph Chen		reg = <0x0 0xff270280 0x0 0x20>;
582c6f7c1a3SJoseph Chen	};
583c6f7c1a3SJoseph Chen
584c6f7c1a3SJoseph Chen	qos_sdmmc0: qos@ff270300 {
585c6f7c1a3SJoseph Chen		compatible = "syscon";
586c6f7c1a3SJoseph Chen		reg = <0x0 0xff270300 0x0 0x20>;
587c6f7c1a3SJoseph Chen	};
588c6f7c1a3SJoseph Chen
589c6f7c1a3SJoseph Chen	qos_usb2host: qos@ff270380 {
590c6f7c1a3SJoseph Chen		compatible = "syscon";
591c6f7c1a3SJoseph Chen		reg = <0x0 0xff270380 0x0 0x20>;
592c6f7c1a3SJoseph Chen	};
593c6f7c1a3SJoseph Chen
594c6f7c1a3SJoseph Chen	qos_vdpp: qos@ff270480 {
595c6f7c1a3SJoseph Chen		compatible = "syscon";
596c6f7c1a3SJoseph Chen		reg = <0x0 0xff270480 0x0 0x20>;
597c6f7c1a3SJoseph Chen	};
598c6f7c1a3SJoseph Chen
599c6f7c1a3SJoseph Chen	qos_vop: qos@ff270500 {
600c6f7c1a3SJoseph Chen		compatible = "syscon";
601c6f7c1a3SJoseph Chen		reg = <0x0 0xff270500 0x0 0x20>;
602c6f7c1a3SJoseph Chen	};
603c6f7c1a3SJoseph Chen
604c6f7c1a3SJoseph Chen	qos_emmc: qos@ff280000 {
605c6f7c1a3SJoseph Chen		compatible = "syscon";
606c6f7c1a3SJoseph Chen		reg = <0x0 0xff280000 0x0 0x20>;
607c6f7c1a3SJoseph Chen	};
608c6f7c1a3SJoseph Chen
609c6f7c1a3SJoseph Chen	qos_fspi: qos@ff280080 {
610c6f7c1a3SJoseph Chen		compatible = "syscon";
611c6f7c1a3SJoseph Chen		reg = <0x0 0xff280080 0x0 0x20>;
612c6f7c1a3SJoseph Chen	};
613c6f7c1a3SJoseph Chen
614c6f7c1a3SJoseph Chen	qos_gmac1: qos@ff280100 {
615c6f7c1a3SJoseph Chen		compatible = "syscon";
616c6f7c1a3SJoseph Chen		reg = <0x0 0xff280100 0x0 0x20>;
617c6f7c1a3SJoseph Chen	};
618c6f7c1a3SJoseph Chen
619c6f7c1a3SJoseph Chen	qos_pcie: qos@ff280180 {
620c6f7c1a3SJoseph Chen		compatible = "syscon";
621c6f7c1a3SJoseph Chen		reg = <0x0 0xff280180 0x0 0x20>;
622c6f7c1a3SJoseph Chen	};
623c6f7c1a3SJoseph Chen
624c6f7c1a3SJoseph Chen	qos_sdio0: qos@ff280200 {
625c6f7c1a3SJoseph Chen		compatible = "syscon";
626c6f7c1a3SJoseph Chen		reg = <0x0 0xff280200 0x0 0x20>;
627c6f7c1a3SJoseph Chen	};
628c6f7c1a3SJoseph Chen
629c6f7c1a3SJoseph Chen	qos_sdio1: qos@ff280280 {
630c6f7c1a3SJoseph Chen		compatible = "syscon";
631c6f7c1a3SJoseph Chen		reg = <0x0 0xff280280 0x0 0x20>;
632c6f7c1a3SJoseph Chen	};
633c6f7c1a3SJoseph Chen
634c6f7c1a3SJoseph Chen	qos_tsp: qos@ff280300 {
635c6f7c1a3SJoseph Chen		compatible = "syscon";
636c6f7c1a3SJoseph Chen		reg = <0x0 0xff280300 0x0 0x20>;
637c6f7c1a3SJoseph Chen	};
638c6f7c1a3SJoseph Chen
639c6f7c1a3SJoseph Chen	qos_usb3otg: qos@ff280380 {
640c6f7c1a3SJoseph Chen		compatible = "syscon";
641c6f7c1a3SJoseph Chen		reg = <0x0 0xff280380 0x0 0x20>;
642c6f7c1a3SJoseph Chen	};
643c6f7c1a3SJoseph Chen
644c6f7c1a3SJoseph Chen	qos_vpu: qos@ff280400 {
645c6f7c1a3SJoseph Chen		compatible = "syscon";
646c6f7c1a3SJoseph Chen		reg = <0x0 0xff280400 0x0 0x20>;
647c6f7c1a3SJoseph Chen	};
648c6f7c1a3SJoseph Chen
649c6f7c1a3SJoseph Chen	/*
650c6f7c1a3SJoseph Chen	 * Merge all GRF, each independent GRF offset is shown as bellow:
651c6f7c1a3SJoseph Chen	 * CORE_GRF:		0xff300000
652c6f7c1a3SJoseph Chen	 * GPU_GRF:		0xff310000
653c6f7c1a3SJoseph Chen	 * RKVENC_GRF:		0xff320000
654c6f7c1a3SJoseph Chen	 * DDR_GRF:		0xff330000
655c6f7c1a3SJoseph Chen	 * VPU_GRF:		0xff340000
656c6f7c1a3SJoseph Chen	 * COMBO_PIPE_PHY_GRF:	0xff348000
657c6f7c1a3SJoseph Chen	 * RKVDEC_GRF:		0xff350000
658c6f7c1a3SJoseph Chen	 * VO_GRF:		0xff360000
659c6f7c1a3SJoseph Chen	 * PMU_GRF:		0xff370000
660c6f7c1a3SJoseph Chen	 * SYS_GRF:		0xff380000
661c6f7c1a3SJoseph Chen	 */
662c6f7c1a3SJoseph Chen	grf: syscon@ff300000 {
663c6f7c1a3SJoseph Chen		compatible = "rockchip,rk3528-grf", "syscon", "simple-mfd";
664c6f7c1a3SJoseph Chen		reg = <0x0 0xff300000 0x0 0x90000>;
665c6f7c1a3SJoseph Chen
666c6f7c1a3SJoseph Chen		grf_cru: grf-clock-controller {
667c6f7c1a3SJoseph Chen			compatible = "rockchip,rk3528-grf-cru";
668c6f7c1a3SJoseph Chen			#clock-cells = <1>;
669c6f7c1a3SJoseph Chen		};
670b36e944aSJoseph Chen
671b36e944aSJoseph Chen		reboot_mode: reboot-mode {
672b36e944aSJoseph Chen			compatible = "syscon-reboot-mode";
673b36e944aSJoseph Chen			offset = <0x70200>;
674b36e944aSJoseph Chen			mode-bootloader = <BOOT_BL_DOWNLOAD>;
675b36e944aSJoseph Chen			mode-charge = <BOOT_CHARGING>;
676b36e944aSJoseph Chen			mode-fastboot = <BOOT_FASTBOOT>;
677b36e944aSJoseph Chen			mode-loader = <BOOT_BL_DOWNLOAD>;
678b36e944aSJoseph Chen			mode-normal = <BOOT_NORMAL>;
679b36e944aSJoseph Chen			mode-recovery = <BOOT_RECOVERY>;
680b36e944aSJoseph Chen			mode-ums = <BOOT_UMS>;
681b36e944aSJoseph Chen			mode-panic = <BOOT_PANIC>;
682b36e944aSJoseph Chen			mode-watchdog = <BOOT_WATCHDOG>;
683b36e944aSJoseph Chen		};
684c6f7c1a3SJoseph Chen	};
685c6f7c1a3SJoseph Chen
686c6f7c1a3SJoseph Chen	cru: clock-controller@ff4a0000 {
687c6f7c1a3SJoseph Chen		compatible = "rockchip,rk3528-cru";
688c6f7c1a3SJoseph Chen		reg = <0x0 0xff4a0000 0x0 0x30000>;
689c6f7c1a3SJoseph Chen		rockchip,grf = <&grf>;
690c6f7c1a3SJoseph Chen		#clock-cells = <1>;
691c6f7c1a3SJoseph Chen		#reset-cells = <1>;
692c6f7c1a3SJoseph Chen
693c6f7c1a3SJoseph Chen		assigned-clocks =
694c6f7c1a3SJoseph Chen			<&cru XIN_OSC0_DIV>,
695c6f7c1a3SJoseph Chen			<&cru PLL_GPLL>,
696c6f7c1a3SJoseph Chen			<&cru PLL_PPLL>,
697c6f7c1a3SJoseph Chen			<&cru PLL_CPLL>,
698c6f7c1a3SJoseph Chen			<&cru ARMCLK>,
699c6f7c1a3SJoseph Chen			<&cru CLK_MATRIX_250M_SRC>,
700c6f7c1a3SJoseph Chen			<&cru CLK_MATRIX_500M_SRC>,
701c6f7c1a3SJoseph Chen			<&cru CLK_MATRIX_50M_SRC>,
702c6f7c1a3SJoseph Chen			<&cru CLK_MATRIX_100M_SRC>,
703c6f7c1a3SJoseph Chen			<&cru CLK_MATRIX_150M_SRC>,
704c6f7c1a3SJoseph Chen			<&cru CLK_MATRIX_200M_SRC>,
705c6f7c1a3SJoseph Chen			<&cru CLK_MATRIX_300M_SRC>,
706c6f7c1a3SJoseph Chen			<&cru CLK_MATRIX_339M_SRC>,
707c6f7c1a3SJoseph Chen			<&cru CLK_MATRIX_400M_SRC>,
708c6f7c1a3SJoseph Chen			<&cru CLK_MATRIX_600M_SRC>,
709c6f7c1a3SJoseph Chen			<&cru CLK_PPLL_50M_MATRIX>,
710c6f7c1a3SJoseph Chen			<&cru CLK_PPLL_100M_MATRIX>,
711c6f7c1a3SJoseph Chen			<&cru CLK_PPLL_125M_MATRIX>,
712c6f7c1a3SJoseph Chen			<&cru ACLK_BUS_VOPGL_ROOT>;
713c6f7c1a3SJoseph Chen
714c6f7c1a3SJoseph Chen		assigned-clock-rates =
715c6f7c1a3SJoseph Chen			<32768>,
716c6f7c1a3SJoseph Chen			<1188000000>,
717c6f7c1a3SJoseph Chen			<1000000000>,
718c6f7c1a3SJoseph Chen			<996000000>,
719c6f7c1a3SJoseph Chen			<408000000>,
720c6f7c1a3SJoseph Chen			<250000000>,
721c6f7c1a3SJoseph Chen			<500000000>,
722c6f7c1a3SJoseph Chen			<50000000>,
723c6f7c1a3SJoseph Chen			<100000000>,
724c6f7c1a3SJoseph Chen			<150000000>,
725c6f7c1a3SJoseph Chen			<200000000>,
726c6f7c1a3SJoseph Chen			<300000000>,
727c6f7c1a3SJoseph Chen			<340000000>,
728c6f7c1a3SJoseph Chen			<400000000>,
729c6f7c1a3SJoseph Chen			<600000000>,
730c6f7c1a3SJoseph Chen			<50000000>,
731c6f7c1a3SJoseph Chen			<100000000>,
732c6f7c1a3SJoseph Chen			<125000000>,
733c6f7c1a3SJoseph Chen			<500000000>;
734c6f7c1a3SJoseph Chen	};
735c6f7c1a3SJoseph Chen
736c6f7c1a3SJoseph Chen	ioc_grf: syscon@ff540000 {
737c6f7c1a3SJoseph Chen		compatible = "rockchip,rk3528-ioc-grf", "syscon";
738c6f7c1a3SJoseph Chen		reg = <0x0 0xff540000 0x0 0x40000>;
739c6f7c1a3SJoseph Chen	};
740c6f7c1a3SJoseph Chen
741c6f7c1a3SJoseph Chen	pmu: power-management@ff600000 {
742c6f7c1a3SJoseph Chen		compatible = "rockchip,rk3528-pmu", "syscon", "simple-mfd";
743c6f7c1a3SJoseph Chen		reg = <0x0 0xff600000 0x0 0x2000>;
744c6f7c1a3SJoseph Chen
745c6f7c1a3SJoseph Chen		power: power-controller {
746c6f7c1a3SJoseph Chen			compatible = "rockchip,rk3528-power-controller";
747c6f7c1a3SJoseph Chen			#power-domain-cells = <1>;
748c6f7c1a3SJoseph Chen			#address-cells = <1>;
749c6f7c1a3SJoseph Chen			#size-cells = <0>;
750c6f7c1a3SJoseph Chen			status = "okay";
751c6f7c1a3SJoseph Chen
752c6f7c1a3SJoseph Chen			/* These power domains are grouped by VD_GPU */
753c6f7c1a3SJoseph Chen			pd_gpu@RK3528_PD_GPU {
754c6f7c1a3SJoseph Chen				reg = <RK3528_PD_GPU>;
755c6f7c1a3SJoseph Chen				clocks = <&cru ACLK_GPU_MALI>,
756c6f7c1a3SJoseph Chen					 <&cru PCLK_GPU_ROOT>;
757c6f7c1a3SJoseph Chen				pm_qos = <&qos_gpu_m0>,
758c6f7c1a3SJoseph Chen					 <&qos_gpu_m1>;
759c6f7c1a3SJoseph Chen			};
760c6f7c1a3SJoseph Chen			/* These power domains are grouped by VD_LOGIC */
761c6f7c1a3SJoseph Chen			pd_rkvdec@RK3528_PD_RKVDEC {
762c6f7c1a3SJoseph Chen				reg = <RK3528_PD_RKVDEC>;
763c6f7c1a3SJoseph Chen			};
764c6f7c1a3SJoseph Chen			pd_rkvenc@RK3528_PD_RKVENC {
765c6f7c1a3SJoseph Chen				reg = <RK3528_PD_RKVENC>;
766c6f7c1a3SJoseph Chen			};
767c6f7c1a3SJoseph Chen			pd_vo@RK3528_PD_VO {
768c6f7c1a3SJoseph Chen				reg = <RK3528_PD_VO>;
769c6f7c1a3SJoseph Chen			};
770c6f7c1a3SJoseph Chen			pd_vpu@RK3528_PD_VPU {
771c6f7c1a3SJoseph Chen				reg = <RK3528_PD_VPU>;
772c6f7c1a3SJoseph Chen			};
773c6f7c1a3SJoseph Chen		};
774c6f7c1a3SJoseph Chen	};
775c6f7c1a3SJoseph Chen
776c6f7c1a3SJoseph Chen	mailbox: mailbox@ff630000 {
777c6f7c1a3SJoseph Chen		compatible = "rockchip,rk3528-mailbox",
778c6f7c1a3SJoseph Chen			     "rockchip,rk3368-mailbox";
779c6f7c1a3SJoseph Chen		reg = <0x0 0xff630000 0x0 0x200>;
780c6f7c1a3SJoseph Chen		interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
781c6f7c1a3SJoseph Chen		clocks = <&cru PCLK_PMU_MAILBOX>;
782c6f7c1a3SJoseph Chen		clock-names = "pclk_mailbox";
783c6f7c1a3SJoseph Chen		#mbox-cells = <1>;
784c6f7c1a3SJoseph Chen		status = "disabled";
785c6f7c1a3SJoseph Chen	};
786c6f7c1a3SJoseph Chen
787c6f7c1a3SJoseph Chen	gpu: gpu@ff700000 {
788c6f7c1a3SJoseph Chen		compatible = "arm,mali-450";
789c6f7c1a3SJoseph Chen		reg = <0x0 0xff700000 0x0 0x40000>;
790c6f7c1a3SJoseph Chen
791c6f7c1a3SJoseph Chen		interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>,
792c6f7c1a3SJoseph Chen			     <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>,
793c6f7c1a3SJoseph Chen			     <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>,
794c6f7c1a3SJoseph Chen			     <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>,
795c6f7c1a3SJoseph Chen			     <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>,
796c6f7c1a3SJoseph Chen			     <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>,
797c6f7c1a3SJoseph Chen			     <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
798c6f7c1a3SJoseph Chen		interrupt-names = "Mali_GP_IRQ",
799c6f7c1a3SJoseph Chen				  "Mali_GP_MMU_IRQ",
800c6f7c1a3SJoseph Chen				  "IRQPP",
801c6f7c1a3SJoseph Chen				  "Mali_PP0_IRQ",
802c6f7c1a3SJoseph Chen				  "Mali_PP0_MMU_IRQ",
803c6f7c1a3SJoseph Chen				  "Mali_PP1_IRQ",
804c6f7c1a3SJoseph Chen				  "Mali_PP1_MMU_IRQ";
805b36e944aSJoseph Chen		clocks = <&scmi_clk SCMI_CLK_GPU>, <&cru ACLK_GPU_MALI>,
806b36e944aSJoseph Chen			 <&cru PCLK_GPU_ROOT>;
807b36e944aSJoseph Chen		clock-names = "clk_mali", "aclk_gpu_mali", "pclk_gpu";
808b36e944aSJoseph Chen		assigned-clocks = <&scmi_clk SCMI_CLK_GPU>;
809b36e944aSJoseph Chen		assigned-clock-rates = <300000000>;
810c6f7c1a3SJoseph Chen		power-domains = <&power RK3528_PD_GPU>;
811b36e944aSJoseph Chen		operating-points-v2 = <&gpu_opp_table>;
812c6f7c1a3SJoseph Chen		status = "disabled";
813c6f7c1a3SJoseph Chen
814c6f7c1a3SJoseph Chen		gpu_power_model: power_model {
815c6f7c1a3SJoseph Chen			compatible = "arm,mali-simple-power-model";
816c6f7c1a3SJoseph Chen			voltage = <900>;
817c6f7c1a3SJoseph Chen			frequency = <500>;
818c6f7c1a3SJoseph Chen			static-power = <300>;
819c6f7c1a3SJoseph Chen			dynamic-power = <396>;
820c6f7c1a3SJoseph Chen			ts = <32000 4700 (-80) 2>;
821c6f7c1a3SJoseph Chen			thermal-zone = "soc-thermal";
822c6f7c1a3SJoseph Chen		};
823c6f7c1a3SJoseph Chen	};
824c6f7c1a3SJoseph Chen
825b36e944aSJoseph Chen	gpu_opp_table: gpu-opp-table {
826b36e944aSJoseph Chen		compatible = "operating-points-v2";
827b36e944aSJoseph Chen
828b36e944aSJoseph Chen		nvmem-cells = <&gpu_leakage>;
829b36e944aSJoseph Chen		nvmem-cell-names = "leakage";
830b36e944aSJoseph Chen
831b36e944aSJoseph Chen		rockchip,pvtm-voltage-sel = <
832b36e944aSJoseph Chen			0	820	0
833b36e944aSJoseph Chen			821	840	1
834b36e944aSJoseph Chen			841	860	2
835b36e944aSJoseph Chen			861	880	3
836b36e944aSJoseph Chen			881	900	4
837b36e944aSJoseph Chen			901	9999	5
838b36e944aSJoseph Chen		>;
839b36e944aSJoseph Chen		rockchip,pvtm-pvtpll;
840b36e944aSJoseph Chen		rockchip,pvtm-offset = <0x10018>;
841b36e944aSJoseph Chen		rockchip,pvtm-sample-time = <1100>;
842b36e944aSJoseph Chen		rockchip,pvtm-freq = <700000>;
843b36e944aSJoseph Chen		rockchip,pvtm-volt = <900000>;
844b36e944aSJoseph Chen		rockchip,pvtm-ref-temp = <40>;
845b36e944aSJoseph Chen		rockchip,pvtm-temp-prop = <0 0>;
846b36e944aSJoseph Chen		rockchip,pvtm-thermal-zone = "soc-thermal";
847b36e944aSJoseph Chen		rockchip,grf = <&grf>;
848b36e944aSJoseph Chen
849b36e944aSJoseph Chen		opp-300000000 {
850b36e944aSJoseph Chen			opp-hz = /bits/ 64 <300000000>;
851b36e944aSJoseph Chen			opp-microvolt = <825000 825000 1000000>;
852b36e944aSJoseph Chen		};
853b36e944aSJoseph Chen		opp-500000000 {
854b36e944aSJoseph Chen			opp-hz = /bits/ 64 <500000000>;
855b36e944aSJoseph Chen			opp-microvolt = <825000 825000 1000000>;
856b36e944aSJoseph Chen		};
857b36e944aSJoseph Chen		opp-600000000 {
858b36e944aSJoseph Chen			opp-hz = /bits/ 64 <600000000>;
859b36e944aSJoseph Chen			opp-microvolt = <825000 825000 1000000>;
860b36e944aSJoseph Chen		};
861b36e944aSJoseph Chen		opp-700000000 {
862b36e944aSJoseph Chen			opp-hz = /bits/ 64 <700000000>;
863b36e944aSJoseph Chen			opp-microvolt = <825000 825000 1000000>;
864b36e944aSJoseph Chen			opp-microvolt-L0 = <850000 850000 1000000>;
865b36e944aSJoseph Chen			opp-microvolt-L1 = <837500 837500 1000000>;
866b36e944aSJoseph Chen			clock-latency-ns = <40000>;
867b36e944aSJoseph Chen		};
868b36e944aSJoseph Chen		opp-800000000 {
869b36e944aSJoseph Chen			opp-hz = /bits/ 64 <800000000>;
870b36e944aSJoseph Chen			opp-microvolt = <900000 900000 1000000>;
871b36e944aSJoseph Chen			opp-microvolt-L1 = <887500 887500 1000000>;
872b36e944aSJoseph Chen			opp-microvolt-L2 = <875000 875000 1000000>;
873b36e944aSJoseph Chen			opp-microvolt-L3 = <862500 862500 1000000>;
874b36e944aSJoseph Chen			opp-microvolt-L4 = <850000 850000 1000000>;
875b36e944aSJoseph Chen			opp-microvolt-L5 = <837500 837500 1000000>;
876b36e944aSJoseph Chen			clock-latency-ns = <40000>;
877b36e944aSJoseph Chen		};
878b36e944aSJoseph Chen	};
879b36e944aSJoseph Chen
880c6f7c1a3SJoseph Chen	rkvdec: rkvdec@ff740100 {
881c6f7c1a3SJoseph Chen		compatible = "rockchip,rkv-decoder-v2";
882c6f7c1a3SJoseph Chen		reg = <0x0 0xff740100 0x0 0x400>, <0x0 0xff740000 0x0 0x100>;
883c6f7c1a3SJoseph Chen		reg-names = "regs", "link";
884c6f7c1a3SJoseph Chen		interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
885c6f7c1a3SJoseph Chen		interrupt-names = "irq_dec";
886c6f7c1a3SJoseph Chen		clocks = <&cru ACLK_RKVDEC>, <&cru HCLK_RKVDEC>, <&cru CLK_HEVC_CA_RKVDEC>;
887c6f7c1a3SJoseph Chen		clock-names = "aclk_vcodec", "hclk_vcodec","clk_hevc_cabac";
888c6f7c1a3SJoseph Chen		rockchip,normal-rates = <340000000>, <0>, <600000000>;
889c6f7c1a3SJoseph Chen		assigned-clocks = <&cru ACLK_RKVDEC>, <&cru CLK_HEVC_CA_RKVDEC>;
890c6f7c1a3SJoseph Chen		assigned-clock-rates = <340000000>, <600000000>;
891c6f7c1a3SJoseph Chen		resets = <&cru SRST_ARESETN_RKVDEC>, <&cru SRST_HRESETN_RKVDEC>,
892c6f7c1a3SJoseph Chen			 <&cru SRST_RESETN_HEVC_CA_RKVDEC>;
893c6f7c1a3SJoseph Chen		reset-names = "video_a", "video_h", "video_hevc_cabac";
894c6f7c1a3SJoseph Chen		power-domains = <&power RK3528_PD_RKVDEC>;
895c6f7c1a3SJoseph Chen		iommus = <&rkvdec_mmu>;
896c6f7c1a3SJoseph Chen		rockchip,srv = <&mpp_srv>;
897c6f7c1a3SJoseph Chen		rockchip,taskqueue-node = <0>;
898c6f7c1a3SJoseph Chen		rockchip,resetgroup-node = <0>;
899c6f7c1a3SJoseph Chen		rockchip,task-capacity = <16>;
900c6f7c1a3SJoseph Chen		status = "disabled";
901c6f7c1a3SJoseph Chen	};
902c6f7c1a3SJoseph Chen
903c6f7c1a3SJoseph Chen	rkvdec_mmu: iommu@ff740800 {
904c6f7c1a3SJoseph Chen		compatible = "rockchip,iommu-v2";
905c6f7c1a3SJoseph Chen		reg = <0x0 0xff740800 0x0 0x40>, <0x0 0xff740900 0x0 0x40>;
906c6f7c1a3SJoseph Chen		interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
907c6f7c1a3SJoseph Chen		interrupt-names = "rkvdec_mmu";
908b36e944aSJoseph Chen		clocks = <&cru ACLK_RKVDEC>, <&cru HCLK_RKVDEC>, <&cru CLK_HEVC_CA_RKVDEC>;
909b36e944aSJoseph Chen		clock-names = "aclk", "iface", "clk_hevc_cabac";
910c6f7c1a3SJoseph Chen		power-domains = <&power RK3528_PD_RKVDEC>;
911c6f7c1a3SJoseph Chen		#iommu-cells = <0>;
912c6f7c1a3SJoseph Chen		status = "disabled";
913c6f7c1a3SJoseph Chen	};
914c6f7c1a3SJoseph Chen
915c6f7c1a3SJoseph Chen	rkvenc: rkvenc@ff780000 {
916c6f7c1a3SJoseph Chen		compatible = "rockchip,rkv-encoder-v2";
917c6f7c1a3SJoseph Chen		reg = <0x0 0xff780000 0x0 0x6000>;
918c6f7c1a3SJoseph Chen		interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
919c6f7c1a3SJoseph Chen		interrupt-names = "irq_rkvenc";
920c6f7c1a3SJoseph Chen		clocks = <&cru ACLK_RKVENC>, <&cru HCLK_RKVENC>, <&cru CLK_CORE_RKVENC>;
921c6f7c1a3SJoseph Chen		clock-names = "aclk_vcodec", "hclk_vcodec", "clk_core";
922c6f7c1a3SJoseph Chen		rockchip,normal-rates = <300000000>, <0>, <300000000>;
923c6f7c1a3SJoseph Chen		resets = <&cru SRST_ARESETN_RKVENC>, <&cru SRST_HRESETN_RKVENC>,
924c6f7c1a3SJoseph Chen			 <&cru SRST_RESETN_CORE_RKVENC>;
925c6f7c1a3SJoseph Chen		reset-names = "video_a", "video_h", "video_core";
926c6f7c1a3SJoseph Chen		assigned-clocks = <&cru ACLK_RKVENC>, <&cru CLK_CORE_RKVENC>;
927c6f7c1a3SJoseph Chen		assigned-clock-rates = <300000000>, <300000000>;
928c6f7c1a3SJoseph Chen		power-domains = <&power RK3528_PD_RKVENC>;
929c6f7c1a3SJoseph Chen		iommus = <&rkvenc_mmu>;
930c6f7c1a3SJoseph Chen		rockchip,srv = <&mpp_srv>;
931c6f7c1a3SJoseph Chen		rockchip,taskqueue-node = <1>;
932c6f7c1a3SJoseph Chen		rockchip,resetgroup-node = <1>;
933c6f7c1a3SJoseph Chen		status = "disabled";
934c6f7c1a3SJoseph Chen	};
935c6f7c1a3SJoseph Chen
936c6f7c1a3SJoseph Chen	rkvenc_mmu: iommu@ff78f000 {
937c6f7c1a3SJoseph Chen		compatible = "rockchip,iommu-v2";
938c6f7c1a3SJoseph Chen		reg = <0x0 0xff78f000 0x0 0x40>;
939c6f7c1a3SJoseph Chen		interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
940c6f7c1a3SJoseph Chen		interrupt-names = "rkvenc_mmu";
941c6f7c1a3SJoseph Chen		clocks = <&cru ACLK_RKVENC>, <&cru HCLK_RKVENC>;
942c6f7c1a3SJoseph Chen		clock-names = "aclk", "iface";
943c6f7c1a3SJoseph Chen		power-domains = <&power RK3528_PD_RKVENC>;
944c6f7c1a3SJoseph Chen		#iommu-cells = <0>;
945c6f7c1a3SJoseph Chen		status = "disabled";
946c6f7c1a3SJoseph Chen	};
947c6f7c1a3SJoseph Chen
948c6f7c1a3SJoseph Chen	vdpu: vdpu@ff7c0400 {
949c6f7c1a3SJoseph Chen		compatible = "rockchip,vpu-decoder-v2";
950c6f7c1a3SJoseph Chen		reg = <0x0 0xff7c0400 0x0 0x400>;
951c6f7c1a3SJoseph Chen		interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
952c6f7c1a3SJoseph Chen		interrupt-names = "irq_dec";
953c6f7c1a3SJoseph Chen		clocks = <&cru ACLK_VPU>, <&cru HCLK_VPU>;
954c6f7c1a3SJoseph Chen		clock-names = "aclk_vcodec", "hclk_vcodec";
955c6f7c1a3SJoseph Chen		resets = <&cru SRST_ARESETN_VPU>, <&cru SRST_HRESETN_VPU>;
956b36e944aSJoseph Chen		reset-names = "shared_video_a", "shared_video_h";
957c6f7c1a3SJoseph Chen		power-domains = <&power RK3528_PD_VPU>;
958c6f7c1a3SJoseph Chen		iommus = <&vdpu_mmu>;
959c6f7c1a3SJoseph Chen		rockchip,srv = <&mpp_srv>;
960c6f7c1a3SJoseph Chen		rockchip,taskqueue-node = <2>;
961c6f7c1a3SJoseph Chen		rockchip,resetgroup-node = <2>;
962c6f7c1a3SJoseph Chen		status = "disabled";
963c6f7c1a3SJoseph Chen	};
964c6f7c1a3SJoseph Chen
965c6f7c1a3SJoseph Chen	vdpu_mmu: iommu@ff7c0800 {
966c6f7c1a3SJoseph Chen		compatible = "rockchip,iommu-v2";
967c6f7c1a3SJoseph Chen		reg = <0x0 0xff7c0800 0x0 0x40>;
968c6f7c1a3SJoseph Chen		interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
969c6f7c1a3SJoseph Chen		interrupt-names = "vdpu_mmu";
970c6f7c1a3SJoseph Chen		clock-names = "aclk", "iface";
971c6f7c1a3SJoseph Chen		clocks = <&cru ACLK_VPU>, <&cru HCLK_VPU>;
972c6f7c1a3SJoseph Chen		power-domains = <&power RK3528_PD_VPU>;
973c6f7c1a3SJoseph Chen		#iommu-cells = <0>;
974c6f7c1a3SJoseph Chen		status = "disabled";
975c6f7c1a3SJoseph Chen	};
976c6f7c1a3SJoseph Chen
977b36e944aSJoseph Chen	avsd: avsd_plus@ff7c1000 {
978b36e944aSJoseph Chen		compatible = "rockchip,avs-plus-decoder";
979b36e944aSJoseph Chen		reg = <0x0 0xff7c1000 0x0 0x200>;
980b36e944aSJoseph Chen		interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
981b36e944aSJoseph Chen		interrupt-names = "irq_dec";
982b36e944aSJoseph Chen		clocks = <&cru ACLK_VPU>, <&cru HCLK_VPU>;
983b36e944aSJoseph Chen		clock-names = "aclk_vcodec", "hclk_vcodec";
984b36e944aSJoseph Chen		resets = <&cru SRST_ARESETN_VPU>, <&cru SRST_HRESETN_VPU>;
985b36e944aSJoseph Chen		reset-names = "shared_video_a", "shared_video_h";
986b36e944aSJoseph Chen		iommus = <&vdpu_mmu>;
987b36e944aSJoseph Chen		power-domains = <&power RK3528_PD_VPU>;
988b36e944aSJoseph Chen		rockchip,srv = <&mpp_srv>;
989b36e944aSJoseph Chen		rockchip,taskqueue-node = <2>;
990b36e944aSJoseph Chen		rockchip,resetgroup-node = <2>;
991b36e944aSJoseph Chen		status = "disabled";
992b36e944aSJoseph Chen	};
993b36e944aSJoseph Chen
994c6f7c1a3SJoseph Chen	vop: vop@ff840000 {
995c6f7c1a3SJoseph Chen		compatible = "rockchip,rk3528-vop";
996c6f7c1a3SJoseph Chen		reg = <0x0 0xff840000 0x0 0x3000>,
997c6f7c1a3SJoseph Chen		      <0x0 0xff845000 0x0 0x1000>,
998c6f7c1a3SJoseph Chen		      <0x0 0xff846400 0x0 0x800>;
999c6f7c1a3SJoseph Chen		reg-names = "regs",
1000c6f7c1a3SJoseph Chen			    "gamma_lut",
1001c6f7c1a3SJoseph Chen			    "acm_regs";
1002c6f7c1a3SJoseph Chen		interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>;
1003c6f7c1a3SJoseph Chen		clocks = <&cru ACLK_VOP>,
1004c6f7c1a3SJoseph Chen			 <&cru HCLK_VOP>,
1005c6f7c1a3SJoseph Chen			 <&cru DCLK_VOP0>,
1006c6f7c1a3SJoseph Chen			 <&cru DCLK_VOP1>;
1007c6f7c1a3SJoseph Chen		clock-names = "aclk_vop",
1008c6f7c1a3SJoseph Chen			      "hclk_vop",
1009c6f7c1a3SJoseph Chen			      "dclk_vp0",
1010c6f7c1a3SJoseph Chen			      "dclk_vp1";
1011c6f7c1a3SJoseph Chen		assigned-clocks = <&cru DCLK_VOP0>;
1012c6f7c1a3SJoseph Chen		assigned-clock-parents = <&hdmiphy>;
1013c6f7c1a3SJoseph Chen		iommus = <&vop_mmu>;
1014c6f7c1a3SJoseph Chen		rockchip,grf = <&grf>;
1015c6f7c1a3SJoseph Chen		status = "disabled";
1016c6f7c1a3SJoseph Chen
1017c6f7c1a3SJoseph Chen		vop_out: ports {
1018c6f7c1a3SJoseph Chen			#address-cells = <1>;
1019c6f7c1a3SJoseph Chen			#size-cells = <0>;
1020c6f7c1a3SJoseph Chen
1021c6f7c1a3SJoseph Chen			port@0 {
1022c6f7c1a3SJoseph Chen				#address-cells = <1>;
1023c6f7c1a3SJoseph Chen				#size-cells = <0>;
1024c6f7c1a3SJoseph Chen				reg = <0>;
1025c6f7c1a3SJoseph Chen
1026c6f7c1a3SJoseph Chen				vp0_out_hdmi: endpoint@0 {
1027c6f7c1a3SJoseph Chen					reg = <0>;
1028c6f7c1a3SJoseph Chen					remote-endpoint = <&hdmi_in_vp0>;
1029c6f7c1a3SJoseph Chen				};
1030c6f7c1a3SJoseph Chen			};
1031c6f7c1a3SJoseph Chen
1032c6f7c1a3SJoseph Chen			port@1 {
1033c6f7c1a3SJoseph Chen				#address-cells = <1>;
1034c6f7c1a3SJoseph Chen				#size-cells = <0>;
1035c6f7c1a3SJoseph Chen				reg = <1>;
1036c6f7c1a3SJoseph Chen
1037c6f7c1a3SJoseph Chen				vp1_out_tve: endpoint@0 {
1038c6f7c1a3SJoseph Chen					reg = <0>;
1039c6f7c1a3SJoseph Chen					remote-endpoint = <&tve_in_vp1>;
1040c6f7c1a3SJoseph Chen				};
1041c6f7c1a3SJoseph Chen			};
1042c6f7c1a3SJoseph Chen		};
1043c6f7c1a3SJoseph Chen	};
1044c6f7c1a3SJoseph Chen
1045c6f7c1a3SJoseph Chen	vop_mmu: iommu@ff847e00 {
1046c6f7c1a3SJoseph Chen		compatible = "rockchip,iommu-v2";
1047c6f7c1a3SJoseph Chen		reg = <0x0 0xff847e00 0x0 0x100>;
1048c6f7c1a3SJoseph Chen		interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>;
1049c6f7c1a3SJoseph Chen		interrupt-names = "vop_mmu";
1050c6f7c1a3SJoseph Chen		clocks = <&cru ACLK_VOP>, <&cru HCLK_VOP>;
1051c6f7c1a3SJoseph Chen		clock-names = "aclk", "iface";
1052c6f7c1a3SJoseph Chen		#iommu-cells = <0>;
1053c6f7c1a3SJoseph Chen		rockchip,disable-device-link-resume;
1054c6f7c1a3SJoseph Chen		rockchip,shootdown-entire;
1055c6f7c1a3SJoseph Chen		status = "disabled";
1056c6f7c1a3SJoseph Chen	};
1057c6f7c1a3SJoseph Chen
1058c6f7c1a3SJoseph Chen	rga2: rga@ff850000 {
1059c6f7c1a3SJoseph Chen		compatible = "rockchip,rga2_core0";
1060c6f7c1a3SJoseph Chen		reg = <0x0 0xff850000 0x0 0x1000>;
1061c6f7c1a3SJoseph Chen		interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
1062c6f7c1a3SJoseph Chen		interrupt-names = "rga2_irq";
1063c6f7c1a3SJoseph Chen		clocks = <&cru ACLK_RGA2E>, <&cru HCLK_RGA2E>, <&cru CLK_CORE_RGA2E>;
1064c6f7c1a3SJoseph Chen		clock-names = "aclk_rga2", "hclk_rga2", "clk_rga2";
1065c6f7c1a3SJoseph Chen		iommus = <&rga2_mmu>;
1066c6f7c1a3SJoseph Chen		status = "disabled";
1067c6f7c1a3SJoseph Chen	};
1068c6f7c1a3SJoseph Chen
1069c6f7c1a3SJoseph Chen	rga2_mmu: iommu@ff850f00 {
1070c6f7c1a3SJoseph Chen		compatible = "rockchip,iommu-v2";
1071c6f7c1a3SJoseph Chen		reg = <0x0 0xff850f00 0x0 0x100>;
1072c6f7c1a3SJoseph Chen		interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
1073c6f7c1a3SJoseph Chen		interrupt-names = "rga2_mmu";
1074c6f7c1a3SJoseph Chen		clocks = <&cru ACLK_RGA2E>, <&cru HCLK_RGA2E>;
1075c6f7c1a3SJoseph Chen		clock-names = "aclk", "iface";
1076c6f7c1a3SJoseph Chen		#iommu-cells = <0>;
1077c6f7c1a3SJoseph Chen		status = "disabled";
1078c6f7c1a3SJoseph Chen	};
1079c6f7c1a3SJoseph Chen
1080c6f7c1a3SJoseph Chen	iep: iep@ff860000 {
1081c6f7c1a3SJoseph Chen		compatible = "rockchip,iep-v2";
1082c6f7c1a3SJoseph Chen		reg = <0x0 0xff860000 0x0 0x500>;
1083c6f7c1a3SJoseph Chen		interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
1084c6f7c1a3SJoseph Chen		clocks = <&cru ACLK_VDPP>, <&cru HCLK_VDPP>, <&cru CLK_CORE_VDPP>;
1085c6f7c1a3SJoseph Chen		clock-names = "aclk", "hclk", "sclk";
1086b36e944aSJoseph Chen		rockchip,normal-rates = <340000000>, <0>, <340000000>;
1087b36e944aSJoseph Chen		assigned-clocks = <&cru ACLK_VDPP>, <&cru CLK_CORE_VDPP>;
1088b36e944aSJoseph Chen		assigned-clock-rates = <340000000>, <340000000>;
1089c6f7c1a3SJoseph Chen		resets = <&cru SRST_ARESETN_VDPP>, <&cru SRST_HRESETN_VDPP>,
1090c6f7c1a3SJoseph Chen			 <&cru SRST_RESETN_CORE_VDPP>;
1091c6f7c1a3SJoseph Chen		reset-names = "shared_rst_a", "shared_rst_h", "shared_rst_s";
1092c6f7c1a3SJoseph Chen		rockchip,srv = <&mpp_srv>;
1093c6f7c1a3SJoseph Chen		rockchip,taskqueue-node = <3>;
1094c6f7c1a3SJoseph Chen		rockchip,resetgroup-node = <3>;
1095b36e944aSJoseph Chen		power-domains = <&power RK3528_PD_VO>;
1096c6f7c1a3SJoseph Chen		iommus = <&iep_mmu>;
1097c6f7c1a3SJoseph Chen		status = "disabled";
1098c6f7c1a3SJoseph Chen	};
1099c6f7c1a3SJoseph Chen
1100c6f7c1a3SJoseph Chen	iep_mmu: iommu@ff860800 {
1101c6f7c1a3SJoseph Chen		compatible = "rockchip,iommu-v2";
1102c6f7c1a3SJoseph Chen		reg = <0x0 0xff860800 0x0 0x100>;
1103c6f7c1a3SJoseph Chen		interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
1104c6f7c1a3SJoseph Chen		interrupt-names = "iep_mmu";
1105c6f7c1a3SJoseph Chen		clocks = <&cru ACLK_VDPP>, <&cru HCLK_VDPP>;
1106c6f7c1a3SJoseph Chen		clock-names = "aclk", "iface";
1107c6f7c1a3SJoseph Chen		#iommu-cells = <0>;
1108b36e944aSJoseph Chen		power-domains = <&power RK3528_PD_VO>;
1109c6f7c1a3SJoseph Chen		status = "disabled";
1110c6f7c1a3SJoseph Chen	};
1111c6f7c1a3SJoseph Chen
1112c6f7c1a3SJoseph Chen	vdpp: vdpp@ff861000 {
1113c6f7c1a3SJoseph Chen		compatible = "rockchip,vdpp-v1";
1114c6f7c1a3SJoseph Chen		reg = <0x0 0xff861000 0x0 0x100>,  <0x0 0xff862000 0x0 0x900>;
1115c6f7c1a3SJoseph Chen		reg-names = "vdpp_regs", "zme_regs";
1116c6f7c1a3SJoseph Chen		interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
1117c6f7c1a3SJoseph Chen		clocks = <&cru ACLK_VDPP>, <&cru HCLK_VDPP>, <&cru CLK_CORE_VDPP>;
1118c6f7c1a3SJoseph Chen		clock-names = "aclk", "hclk", "sclk";
1119b36e944aSJoseph Chen		rockchip,normal-rates = <340000000>, <0>, <340000000>;
1120b36e944aSJoseph Chen		assigned-clocks = <&cru ACLK_VDPP>, <&cru CLK_CORE_VDPP>;
1121b36e944aSJoseph Chen		assigned-clock-rates = <340000000>, <340000000>;
1122c6f7c1a3SJoseph Chen		resets = <&cru SRST_ARESETN_VDPP>, <&cru SRST_HRESETN_VDPP>,
1123c6f7c1a3SJoseph Chen			 <&cru SRST_RESETN_CORE_VDPP>;
1124c6f7c1a3SJoseph Chen		reset-names = "shared_rst_a", "shared_rst_h", "shared_rst_s";
1125c6f7c1a3SJoseph Chen		rockchip,srv = <&mpp_srv>;
1126c6f7c1a3SJoseph Chen		rockchip,taskqueue-node = <3>;
1127c6f7c1a3SJoseph Chen		rockchip,resetgroup-node = <3>;
1128c6f7c1a3SJoseph Chen		power-domains = <&power RK3528_PD_VO>;
1129c6f7c1a3SJoseph Chen		iommus = <&iep_mmu>;
1130c6f7c1a3SJoseph Chen		status = "disabled";
1131c6f7c1a3SJoseph Chen	};
1132c6f7c1a3SJoseph Chen
1133c6f7c1a3SJoseph Chen	jpegd: jpegd@ff870000 {
1134c6f7c1a3SJoseph Chen		compatible = "rockchip,rkv-jpeg-decoder-v1";
1135c6f7c1a3SJoseph Chen		reg = <0x0 0xff870000 0x0 0x400>;
1136c6f7c1a3SJoseph Chen		interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
1137c6f7c1a3SJoseph Chen		clocks = <&cru ACLK_JPEG_DECODER>, <&cru HCLK_JPEG_DECODER>;
1138c6f7c1a3SJoseph Chen		clock-names = "aclk_vcodec", "hclk_vcodec";
1139c6f7c1a3SJoseph Chen		rockchip,disable-auto-freq;
1140c6f7c1a3SJoseph Chen		resets = <&cru SRST_ARESETN_JPEG_DECODER>, <&cru SRST_HRESETN_JPEG_DECODER>;
1141c6f7c1a3SJoseph Chen		reset-names = "video_a", "video_h";
1142c6f7c1a3SJoseph Chen		power-domains = <&power RK3528_PD_VO>;
1143c6f7c1a3SJoseph Chen		iommus = <&jpegd_mmu>;
1144c6f7c1a3SJoseph Chen		rockchip,srv = <&mpp_srv>;
1145c6f7c1a3SJoseph Chen		rockchip,taskqueue-node = <4>;
1146c6f7c1a3SJoseph Chen		rockchip,resetgroup-node = <4>;
1147c6f7c1a3SJoseph Chen		status = "disabled";
1148c6f7c1a3SJoseph Chen	};
1149c6f7c1a3SJoseph Chen
1150c6f7c1a3SJoseph Chen	jpegd_mmu: iommu@ff870480 {
1151c6f7c1a3SJoseph Chen		compatible = "rockchip,iommu-v2";
1152c6f7c1a3SJoseph Chen		reg = <0x0 0xff870480 0x0 0x40>;
1153c6f7c1a3SJoseph Chen		interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
1154c6f7c1a3SJoseph Chen		interrupt-names = "jpegd_mmu";
1155c6f7c1a3SJoseph Chen		clock-names = "aclk", "iface";
1156c6f7c1a3SJoseph Chen		clocks = <&cru ACLK_JPEG_DECODER>, <&cru HCLK_JPEG_DECODER>;
1157c6f7c1a3SJoseph Chen		power-domains = <&power RK3528_PD_VO>;
1158c6f7c1a3SJoseph Chen		#iommu-cells = <0>;
1159c6f7c1a3SJoseph Chen		status = "disabled";
1160c6f7c1a3SJoseph Chen	};
1161c6f7c1a3SJoseph Chen
1162c6f7c1a3SJoseph Chen	tve: tve@ff880000 {
1163c6f7c1a3SJoseph Chen		compatible = "rockchip,rk3528-tve";
1164b36e944aSJoseph Chen		reg = <0x0 0xff880000 0x0 0x4000>,
1165b36e944aSJoseph Chen		      <0x0 0xffde0000 0x0 0x300>;
1166c6f7c1a3SJoseph Chen		interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
1167b36e944aSJoseph Chen		clocks = <&cru HCLK_CVBS>,
1168b36e944aSJoseph Chen			 <&cru PCLK_VCDCPHY>,
1169b36e944aSJoseph Chen			 <&cru DCLK_CVBS>,
1170b36e944aSJoseph Chen			 <&cru DCLK_4X_CVBS>;
1171b36e944aSJoseph Chen		clock-names = "hclk",
1172b36e944aSJoseph Chen			      "pclk_vdac",
1173b36e944aSJoseph Chen			      "dclk",
1174b36e944aSJoseph Chen			      "dclk_4x";
1175c6f7c1a3SJoseph Chen		rockchip,lumafilter0 = <0x000a0ffa>;
1176c6f7c1a3SJoseph Chen		rockchip,lumafilter1 = <0x0ff4001a>;
1177c6f7c1a3SJoseph Chen		rockchip,lumafilter2 = <0x00110fd2>;
1178c6f7c1a3SJoseph Chen		rockchip,lumafilter3 = <0x0fe80051>;
1179c6f7c1a3SJoseph Chen		rockchip,lumafilter4 = <0x001a0f74>;
1180c6f7c1a3SJoseph Chen		rockchip,lumafilter5 = <0x0fe600ec>;
1181c6f7c1a3SJoseph Chen		rockchip,lumafilter6 = <0x0ffa0e43>;
1182c6f7c1a3SJoseph Chen		rockchip,lumafilter7 = <0x08200527>;
1183b36e944aSJoseph Chen		rockchip,tve-upsample = <DCLK_UPSAMPLEx4>;
1184c6f7c1a3SJoseph Chen		rockchip,grf = <&grf>;
1185c6f7c1a3SJoseph Chen		status = "disabled";
1186c6f7c1a3SJoseph Chen
1187c6f7c1a3SJoseph Chen		ports {
1188c6f7c1a3SJoseph Chen			#address-cells = <1>;
1189c6f7c1a3SJoseph Chen			#size-cells = <0>;
1190c6f7c1a3SJoseph Chen
1191c6f7c1a3SJoseph Chen			port@0 {
1192c6f7c1a3SJoseph Chen				reg = <0>;
1193c6f7c1a3SJoseph Chen				#address-cells = <1>;
1194c6f7c1a3SJoseph Chen				#size-cells = <0>;
1195c6f7c1a3SJoseph Chen
1196c6f7c1a3SJoseph Chen				tve_in_vp1: endpoint@0 {
1197c6f7c1a3SJoseph Chen					reg = <0>;
1198c6f7c1a3SJoseph Chen					remote-endpoint = <&vp1_out_tve>;
1199c6f7c1a3SJoseph Chen					status = "disabled";
1200c6f7c1a3SJoseph Chen				};
1201c6f7c1a3SJoseph Chen			};
1202c6f7c1a3SJoseph Chen		};
1203c6f7c1a3SJoseph Chen	};
1204c6f7c1a3SJoseph Chen
1205c6f7c1a3SJoseph Chen	hdcp2: hdcp2@ff8c0000 {
1206c6f7c1a3SJoseph Chen		compatible = "rockchip,rk3528-hdmi-hdcp2";
1207c6f7c1a3SJoseph Chen		reg = <0x0 0xff8c0000 0x0 0x2000>;
1208c6f7c1a3SJoseph Chen		interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
1209c6f7c1a3SJoseph Chen		clocks = <&cru ACLK_HDCP>, <&cru PCLK_HDCP>,
1210c6f7c1a3SJoseph Chen			 <&cru HCLK_HDCP>;
1211c6f7c1a3SJoseph Chen		clock-names ="aclk_hdcp2", "pclk_hdcp2", "hdcp2_clk_hdmi";
1212c6f7c1a3SJoseph Chen		status = "disabled";
1213c6f7c1a3SJoseph Chen	};
1214c6f7c1a3SJoseph Chen
1215c6f7c1a3SJoseph Chen	hdmi: hdmi@ff8d0000 {
1216c6f7c1a3SJoseph Chen		compatible = "rockchip,rk3528-dw-hdmi";
1217b36e944aSJoseph Chen		reg = <0x0 0xff8d0000 0x0 0x20000>,
1218b36e944aSJoseph Chen		      <0x0 0xff610000 0x0 0x200>;
1219c6f7c1a3SJoseph Chen		interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
1220c6f7c1a3SJoseph Chen			     <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
1221c6f7c1a3SJoseph Chen		clocks = <&cru PCLK_HDMI>,
1222c6f7c1a3SJoseph Chen			 <&cru CLK_SFR_HDMI>,
1223c6f7c1a3SJoseph Chen			 <&cru CLK_CEC_HDMI>;
1224c6f7c1a3SJoseph Chen		clock-names = "iahb", "isfr", "cec";
1225c6f7c1a3SJoseph Chen		reg-io-width = <4>;
1226c6f7c1a3SJoseph Chen		rockchip,grf = <&grf>;
1227c6f7c1a3SJoseph Chen		pinctrl-names = "default";
1228c6f7c1a3SJoseph Chen		pinctrl-0 = <&hdmi_pins>;
1229c6f7c1a3SJoseph Chen		phys = <&hdmiphy>;
1230c6f7c1a3SJoseph Chen		phy-names = "hdmi";
1231c6f7c1a3SJoseph Chen		#sound-dai-cells = <0>;
1232b36e944aSJoseph Chen		hpd-gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>;
1233c6f7c1a3SJoseph Chen		status = "disabled";
1234c6f7c1a3SJoseph Chen
1235c6f7c1a3SJoseph Chen		ports {
1236c6f7c1a3SJoseph Chen			#address-cells = <1>;
1237c6f7c1a3SJoseph Chen			#size-cells = <0>;
1238c6f7c1a3SJoseph Chen
1239c6f7c1a3SJoseph Chen			port@0 {
1240c6f7c1a3SJoseph Chen				reg = <0>;
1241c6f7c1a3SJoseph Chen				#address-cells = <1>;
1242c6f7c1a3SJoseph Chen				#size-cells = <0>;
1243c6f7c1a3SJoseph Chen
1244c6f7c1a3SJoseph Chen				hdmi_in_vp0: endpoint@0 {
1245c6f7c1a3SJoseph Chen					reg = <0>;
1246c6f7c1a3SJoseph Chen					remote-endpoint = <&vp0_out_hdmi>;
1247c6f7c1a3SJoseph Chen					status = "disabled";
1248c6f7c1a3SJoseph Chen				};
1249c6f7c1a3SJoseph Chen			};
1250c6f7c1a3SJoseph Chen		};
1251c6f7c1a3SJoseph Chen	};
1252c6f7c1a3SJoseph Chen
1253c6f7c1a3SJoseph Chen	can0: can@ff960000 {
1254c6f7c1a3SJoseph Chen		compatible = "rockchip,rk3528-can";
1255c6f7c1a3SJoseph Chen		reg = <0x0 0xff960000 0x0 0x100>;
1256c6f7c1a3SJoseph Chen		interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
1257c6f7c1a3SJoseph Chen		assigned-clocks = <&cru CLK_CAN0>;
1258b36e944aSJoseph Chen		assigned-clock-rates = <198000000>;
1259c6f7c1a3SJoseph Chen		clocks = <&cru CLK_CAN0>, <&cru PCLK_CAN0>;
1260c6f7c1a3SJoseph Chen		clock-names = "baudclk", "apb_pclk";
1261b36e944aSJoseph Chen		resets = <&cru SRST_RESETN_CAN0>, <&cru SRST_PRESETN_CAN0>;
1262c6f7c1a3SJoseph Chen		reset-names = "can", "can-apb";
1263c6f7c1a3SJoseph Chen		status = "disabled";
1264c6f7c1a3SJoseph Chen	};
1265c6f7c1a3SJoseph Chen
1266c6f7c1a3SJoseph Chen	can1: can@ff970000 {
1267c6f7c1a3SJoseph Chen		compatible = "rockchip,rk3528-can";
1268c6f7c1a3SJoseph Chen		reg = <0x0 0xff970000 0x0 0x100>;
1269c6f7c1a3SJoseph Chen		interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
1270c6f7c1a3SJoseph Chen		assigned-clocks = <&cru CLK_CAN1>;
1271b36e944aSJoseph Chen		assigned-clock-rates = <198000000>;
1272c6f7c1a3SJoseph Chen		clocks = <&cru CLK_CAN1>, <&cru PCLK_CAN1>;
1273c6f7c1a3SJoseph Chen		clock-names = "baudclk", "apb_pclk";
1274c6f7c1a3SJoseph Chen		resets = <&cru SRST_RESETN_CAN1>, <&cru SRST_PRESETN_CAN1>;
1275c6f7c1a3SJoseph Chen		reset-names = "can", "can-apb";
1276c6f7c1a3SJoseph Chen		status = "disabled";
1277c6f7c1a3SJoseph Chen	};
1278c6f7c1a3SJoseph Chen
1279c6f7c1a3SJoseph Chen	can2: can@ff980000 {
1280c6f7c1a3SJoseph Chen		compatible = "rockchip,rk3528-can";
1281c6f7c1a3SJoseph Chen		reg = <0x0 0xff980000 0x0 0x100>;
1282c6f7c1a3SJoseph Chen		interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
1283c6f7c1a3SJoseph Chen		assigned-clocks = <&cru CLK_CAN2>;
1284b36e944aSJoseph Chen		assigned-clock-rates = <198000000>;
1285c6f7c1a3SJoseph Chen		clocks = <&cru CLK_CAN2>, <&cru PCLK_CAN2>;
1286c6f7c1a3SJoseph Chen		clock-names = "baudclk", "apb_pclk";
1287c6f7c1a3SJoseph Chen		resets = <&cru SRST_RESETN_CAN2>, <&cru SRST_PRESETN_CAN2>;
1288c6f7c1a3SJoseph Chen		reset-names = "can", "can-apb";
1289c6f7c1a3SJoseph Chen		status = "disabled";
1290c6f7c1a3SJoseph Chen	};
1291c6f7c1a3SJoseph Chen
1292c6f7c1a3SJoseph Chen	can3: can@ff990000 {
1293c6f7c1a3SJoseph Chen		compatible = "rockchip,rk3528-can";
1294c6f7c1a3SJoseph Chen		reg = <0x0 0xff990000 0x0 0x100>;
1295c6f7c1a3SJoseph Chen		interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
1296c6f7c1a3SJoseph Chen		assigned-clocks = <&cru CLK_CAN3>;
1297b36e944aSJoseph Chen		assigned-clock-rates = <198000000>;
1298c6f7c1a3SJoseph Chen		clocks = <&cru CLK_CAN3>, <&cru PCLK_CAN3>;
1299c6f7c1a3SJoseph Chen		clock-names = "baudclk", "apb_pclk";
1300c6f7c1a3SJoseph Chen		resets = <&cru SRST_RESETN_CAN3>, <&cru SRST_PRESETN_CAN3>;
1301c6f7c1a3SJoseph Chen		reset-names = "can", "can-apb";
1302c6f7c1a3SJoseph Chen		status = "disabled";
1303c6f7c1a3SJoseph Chen	};
1304c6f7c1a3SJoseph Chen
1305c6f7c1a3SJoseph Chen	spi0: spi@ff9c0000 {
1306c6f7c1a3SJoseph Chen		compatible = "rockchip,rk3066-spi";
1307c6f7c1a3SJoseph Chen		reg = <0x0 0xff9c0000 0x0 0x1000>;
1308c6f7c1a3SJoseph Chen		interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>;
1309c6f7c1a3SJoseph Chen		#address-cells = <1>;
1310c6f7c1a3SJoseph Chen		#size-cells = <0>;
1311c6f7c1a3SJoseph Chen		clocks = <&cru CLK_SPI0>, <&cru PCLK_SPI0>;
1312c6f7c1a3SJoseph Chen		clock-names = "spiclk", "apb_pclk";
1313c6f7c1a3SJoseph Chen		dmas = <&dmac 25>, <&dmac 24>;
1314c6f7c1a3SJoseph Chen		dma-names = "tx", "rx";
1315c6f7c1a3SJoseph Chen		pinctrl-names = "default";
1316c6f7c1a3SJoseph Chen		pinctrl-0 = <&spi0_csn0 &spi0_csn1 &spi0_pins>;
1317c6f7c1a3SJoseph Chen		status = "disabled";
1318c6f7c1a3SJoseph Chen	};
1319c6f7c1a3SJoseph Chen
1320c6f7c1a3SJoseph Chen	spi1: spi@ff9d0000 {
1321c6f7c1a3SJoseph Chen		compatible = "rockchip,rk3066-spi";
1322c6f7c1a3SJoseph Chen		reg = <0x0 0xff9d0000 0x0 0x1000>;
1323c6f7c1a3SJoseph Chen		interrupts = <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>;
1324c6f7c1a3SJoseph Chen		#address-cells = <1>;
1325c6f7c1a3SJoseph Chen		#size-cells = <0>;
1326c6f7c1a3SJoseph Chen		clocks = <&cru CLK_SPI1>, <&cru PCLK_SPI1>;
1327c6f7c1a3SJoseph Chen		clock-names = "spiclk", "apb_pclk";
1328c6f7c1a3SJoseph Chen		dmas = <&dmac 31>, <&dmac 30>;
1329c6f7c1a3SJoseph Chen		dma-names = "tx", "rx";
1330c6f7c1a3SJoseph Chen		pinctrl-names = "default";
1331c6f7c1a3SJoseph Chen		pinctrl-0 = <&spi1_csn0 &spi1_csn1 &spi1_pins>;
1332c6f7c1a3SJoseph Chen		status = "disabled";
1333c6f7c1a3SJoseph Chen	};
1334c6f7c1a3SJoseph Chen
1335c6f7c1a3SJoseph Chen	uart0: serial@ff9f0000 {
1336c6f7c1a3SJoseph Chen		compatible = "rockchip,rk3528-uart", "snps,dw-apb-uart";
1337c6f7c1a3SJoseph Chen		reg = <0x0 0xff9f0000 0x0 0x100>;
1338c6f7c1a3SJoseph Chen		interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
1339c6f7c1a3SJoseph Chen		clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>;
1340c6f7c1a3SJoseph Chen		clock-names = "baudclk", "apb_pclk";
1341c6f7c1a3SJoseph Chen		reg-shift = <2>;
1342c6f7c1a3SJoseph Chen		reg-io-width = <4>;
1343b36e944aSJoseph Chen		dmas = <&dmac 9>, <&dmac 8>;
1344c6f7c1a3SJoseph Chen		status = "disabled";
1345c6f7c1a3SJoseph Chen	};
1346c6f7c1a3SJoseph Chen
1347c6f7c1a3SJoseph Chen	uart1: serial@ff9f8000 {
1348c6f7c1a3SJoseph Chen		compatible = "rockchip,rk3528-uart", "snps,dw-apb-uart";
1349c6f7c1a3SJoseph Chen		reg = <0x0 0xff9f8000 0x0 0x100>;
1350c6f7c1a3SJoseph Chen		interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
1351c6f7c1a3SJoseph Chen		clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>;
1352c6f7c1a3SJoseph Chen		clock-names = "baudclk", "apb_pclk";
1353c6f7c1a3SJoseph Chen		reg-shift = <2>;
1354c6f7c1a3SJoseph Chen		reg-io-width = <4>;
1355b36e944aSJoseph Chen		dmas = <&dmac 11>, <&dmac 10>;
1356c6f7c1a3SJoseph Chen		status = "disabled";
1357c6f7c1a3SJoseph Chen	};
1358c6f7c1a3SJoseph Chen
1359c6f7c1a3SJoseph Chen	uart2: serial@ffa00000 {
1360c6f7c1a3SJoseph Chen		compatible = "rockchip,rk3528-uart", "snps,dw-apb-uart";
1361c6f7c1a3SJoseph Chen		reg = <0x0 0xffa00000 0x0 0x100>;
1362c6f7c1a3SJoseph Chen		interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
1363c6f7c1a3SJoseph Chen		clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>;
1364c6f7c1a3SJoseph Chen		clock-names = "baudclk", "apb_pclk";
1365c6f7c1a3SJoseph Chen		reg-shift = <2>;
1366c6f7c1a3SJoseph Chen		reg-io-width = <4>;
1367b36e944aSJoseph Chen		dmas = <&dmac 13>, <&dmac 12>;
1368c6f7c1a3SJoseph Chen		status = "disabled";
1369c6f7c1a3SJoseph Chen	};
1370c6f7c1a3SJoseph Chen
1371c6f7c1a3SJoseph Chen	uart3: serial@ffa08000 {
1372c6f7c1a3SJoseph Chen		compatible = "rockchip,rk3528-uart", "snps,dw-apb-uart";
1373c6f7c1a3SJoseph Chen		reg = <0x0 0xffa08000 0x0 0x100>;
1374c6f7c1a3SJoseph Chen		interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
1375c6f7c1a3SJoseph Chen		clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>;
1376c6f7c1a3SJoseph Chen		clock-names = "baudclk", "apb_pclk";
1377c6f7c1a3SJoseph Chen		reg-shift = <2>;
1378c6f7c1a3SJoseph Chen		reg-io-width = <4>;
1379b36e944aSJoseph Chen		dmas = <&dmac 15>, <&dmac 14>;
1380c6f7c1a3SJoseph Chen		status = "disabled";
1381c6f7c1a3SJoseph Chen	};
1382c6f7c1a3SJoseph Chen
1383c6f7c1a3SJoseph Chen	uart4: serial@ffa10000 {
1384c6f7c1a3SJoseph Chen		compatible = "rockchip,rk3528-uart", "snps,dw-apb-uart";
1385c6f7c1a3SJoseph Chen		reg = <0x0 0xffa10000 0x0 0x100>;
1386c6f7c1a3SJoseph Chen		interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
1387c6f7c1a3SJoseph Chen		clocks = <&cru SCLK_UART4>, <&cru PCLK_UART4>;
1388c6f7c1a3SJoseph Chen		clock-names = "baudclk", "apb_pclk";
1389c6f7c1a3SJoseph Chen		reg-shift = <2>;
1390c6f7c1a3SJoseph Chen		reg-io-width = <4>;
1391b36e944aSJoseph Chen		dmas = <&dmac 17>, <&dmac 16>;
1392c6f7c1a3SJoseph Chen		status = "disabled";
1393c6f7c1a3SJoseph Chen	};
1394c6f7c1a3SJoseph Chen
1395c6f7c1a3SJoseph Chen	uart5: serial@ffa18000 {
1396c6f7c1a3SJoseph Chen		compatible = "rockchip,rk3528-uart", "snps,dw-apb-uart";
1397c6f7c1a3SJoseph Chen		reg = <0x0 0xffa18000 0x0 0x100>;
1398c6f7c1a3SJoseph Chen		interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
1399c6f7c1a3SJoseph Chen		clocks = <&cru SCLK_UART5>, <&cru PCLK_UART5>;
1400c6f7c1a3SJoseph Chen		clock-names = "baudclk", "apb_pclk";
1401c6f7c1a3SJoseph Chen		reg-shift = <2>;
1402c6f7c1a3SJoseph Chen		reg-io-width = <4>;
1403b36e944aSJoseph Chen		dmas = <&dmac 19>, <&dmac 18>;
1404c6f7c1a3SJoseph Chen		status = "disabled";
1405c6f7c1a3SJoseph Chen	};
1406c6f7c1a3SJoseph Chen
1407c6f7c1a3SJoseph Chen	uart6: serial@ffa20000 {
1408c6f7c1a3SJoseph Chen		compatible = "rockchip,rk3528-uart", "snps,dw-apb-uart";
1409c6f7c1a3SJoseph Chen		reg = <0x0 0xffa20000 0x0 0x100>;
1410c6f7c1a3SJoseph Chen		interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
1411c6f7c1a3SJoseph Chen		clocks = <&cru SCLK_UART6>, <&cru PCLK_UART6>;
1412c6f7c1a3SJoseph Chen		clock-names = "baudclk", "apb_pclk";
1413c6f7c1a3SJoseph Chen		reg-shift = <2>;
1414c6f7c1a3SJoseph Chen		reg-io-width = <4>;
1415b36e944aSJoseph Chen		dmas = <&dmac 21>, <&dmac 20>;
1416c6f7c1a3SJoseph Chen		status = "disabled";
1417c6f7c1a3SJoseph Chen	};
1418c6f7c1a3SJoseph Chen
1419c6f7c1a3SJoseph Chen	uart7: serial@ffa28000 {
1420c6f7c1a3SJoseph Chen		compatible = "rockchip,rk3528-uart", "snps,dw-apb-uart";
1421c6f7c1a3SJoseph Chen		reg = <0x0 0xffa28000 0x0 0x100>;
1422c6f7c1a3SJoseph Chen		interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
1423c6f7c1a3SJoseph Chen		clocks = <&cru SCLK_UART7>, <&cru PCLK_UART7>;
1424c6f7c1a3SJoseph Chen		clock-names = "baudclk", "apb_pclk";
1425c6f7c1a3SJoseph Chen		reg-shift = <2>;
1426c6f7c1a3SJoseph Chen		reg-io-width = <4>;
1427b36e944aSJoseph Chen		dmas = <&dmac 23>, <&dmac 22>;
1428c6f7c1a3SJoseph Chen		status = "disabled";
1429c6f7c1a3SJoseph Chen	};
1430c6f7c1a3SJoseph Chen
1431c6f7c1a3SJoseph Chen	i2c0: i2c@ffa50000 {
1432c6f7c1a3SJoseph Chen		compatible = "rockchip,rk3528-i2c", "rockchip,rk3399-i2c";
1433c6f7c1a3SJoseph Chen		reg = <0x0 0xffa50000 0x0 0x1000>;
1434c6f7c1a3SJoseph Chen		clocks = <&cru CLK_I2C0>, <&cru PCLK_I2C0>;
1435c6f7c1a3SJoseph Chen		clock-names = "i2c", "pclk";
1436c6f7c1a3SJoseph Chen		interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
1437b36e944aSJoseph Chen		pinctrl-names = "default";
1438b36e944aSJoseph Chen		pinctrl-0 = <&i2c0m0_xfer>;
1439c6f7c1a3SJoseph Chen		#address-cells = <1>;
1440c6f7c1a3SJoseph Chen		#size-cells = <0>;
1441c6f7c1a3SJoseph Chen		status = "disabled";
1442c6f7c1a3SJoseph Chen	};
1443c6f7c1a3SJoseph Chen
1444c6f7c1a3SJoseph Chen	i2c1: i2c@ffa58000 {
1445c6f7c1a3SJoseph Chen		compatible = "rockchip,rk3528-i2c", "rockchip,rk3399-i2c";
1446c6f7c1a3SJoseph Chen		reg = <0x0 0xffa58000 0x0 0x1000>;
1447c6f7c1a3SJoseph Chen		clocks = <&cru CLK_I2C1>, <&cru PCLK_I2C1>;
1448c6f7c1a3SJoseph Chen		clock-names = "i2c", "pclk";
1449c6f7c1a3SJoseph Chen		interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
1450b36e944aSJoseph Chen		pinctrl-names = "default";
1451b36e944aSJoseph Chen		pinctrl-0 = <&i2c1m0_xfer>;
1452c6f7c1a3SJoseph Chen		#address-cells = <1>;
1453c6f7c1a3SJoseph Chen		#size-cells = <0>;
1454c6f7c1a3SJoseph Chen		status = "disabled";
1455c6f7c1a3SJoseph Chen	};
1456c6f7c1a3SJoseph Chen
1457c6f7c1a3SJoseph Chen	i2c2: i2c@ffa60000 {
1458c6f7c1a3SJoseph Chen		compatible = "rockchip,rk3528-i2c", "rockchip,rk3399-i2c";
1459c6f7c1a3SJoseph Chen		reg = <0x0 0xffa60000 0x0 0x1000>;
1460c6f7c1a3SJoseph Chen		clocks = <&cru CLK_I2C2>, <&cru PCLK_I2C2>;
1461c6f7c1a3SJoseph Chen		clock-names = "i2c", "pclk";
1462c6f7c1a3SJoseph Chen		interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
1463b36e944aSJoseph Chen		pinctrl-names = "default";
1464b36e944aSJoseph Chen		pinctrl-0 = <&i2c2m0_xfer>;
1465c6f7c1a3SJoseph Chen		#address-cells = <1>;
1466c6f7c1a3SJoseph Chen		#size-cells = <0>;
1467c6f7c1a3SJoseph Chen		status = "disabled";
1468c6f7c1a3SJoseph Chen	};
1469c6f7c1a3SJoseph Chen
1470c6f7c1a3SJoseph Chen	i2c3: i2c@ffa68000 {
1471c6f7c1a3SJoseph Chen		compatible = "rockchip,rk3528-i2c", "rockchip,rk3399-i2c";
1472c6f7c1a3SJoseph Chen		reg = <0x0 0xffa68000 0x0 0x1000>;
1473c6f7c1a3SJoseph Chen		clocks = <&cru CLK_I2C3>, <&cru PCLK_I2C3>;
1474c6f7c1a3SJoseph Chen		clock-names = "i2c", "pclk";
1475c6f7c1a3SJoseph Chen		interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
1476b36e944aSJoseph Chen		pinctrl-names = "default";
1477b36e944aSJoseph Chen		pinctrl-0 = <&i2c3m0_xfer>;
1478c6f7c1a3SJoseph Chen		#address-cells = <1>;
1479c6f7c1a3SJoseph Chen		#size-cells = <0>;
1480c6f7c1a3SJoseph Chen		status = "disabled";
1481c6f7c1a3SJoseph Chen	};
1482c6f7c1a3SJoseph Chen
1483c6f7c1a3SJoseph Chen	i2c4: i2c@ffa70000 {
1484c6f7c1a3SJoseph Chen		compatible = "rockchip,rk3528-i2c", "rockchip,rk3399-i2c";
1485c6f7c1a3SJoseph Chen		reg = <0x0 0xffa70000 0x0 0x1000>;
1486c6f7c1a3SJoseph Chen		clocks = <&cru CLK_I2C4>, <&cru PCLK_I2C4>;
1487c6f7c1a3SJoseph Chen		clock-names = "i2c", "pclk";
1488c6f7c1a3SJoseph Chen		interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
1489b36e944aSJoseph Chen		pinctrl-names = "default";
1490b36e944aSJoseph Chen		pinctrl-0 = <&i2c4_xfer>;
1491c6f7c1a3SJoseph Chen		#address-cells = <1>;
1492c6f7c1a3SJoseph Chen		#size-cells = <0>;
1493c6f7c1a3SJoseph Chen		status = "disabled";
1494c6f7c1a3SJoseph Chen	};
1495c6f7c1a3SJoseph Chen
1496c6f7c1a3SJoseph Chen	i2c5: i2c@ffa78000 {
1497c6f7c1a3SJoseph Chen		compatible = "rockchip,rk3528-i2c", "rockchip,rk3399-i2c";
1498c6f7c1a3SJoseph Chen		reg = <0x0 0xffa78000 0x0 0x1000>;
1499c6f7c1a3SJoseph Chen		clocks = <&cru CLK_I2C5>, <&cru PCLK_I2C5>;
1500c6f7c1a3SJoseph Chen		clock-names = "i2c", "pclk";
1501c6f7c1a3SJoseph Chen		interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>;
1502b36e944aSJoseph Chen		pinctrl-names = "default";
1503b36e944aSJoseph Chen		pinctrl-0 = <&i2c5m0_xfer>;
1504c6f7c1a3SJoseph Chen		#address-cells = <1>;
1505c6f7c1a3SJoseph Chen		#size-cells = <0>;
1506c6f7c1a3SJoseph Chen		status = "disabled";
1507c6f7c1a3SJoseph Chen	};
1508c6f7c1a3SJoseph Chen
1509c6f7c1a3SJoseph Chen	i2c6: i2c@ffa80000 {
1510c6f7c1a3SJoseph Chen		compatible = "rockchip,rk3528-i2c", "rockchip,rk3399-i2c";
1511c6f7c1a3SJoseph Chen		reg = <0x0 0xffa80000 0x0 0x1000>;
1512c6f7c1a3SJoseph Chen		clocks = <&cru CLK_I2C6>, <&cru PCLK_I2C6>;
1513c6f7c1a3SJoseph Chen		clock-names = "i2c", "pclk";
1514c6f7c1a3SJoseph Chen		interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
1515b36e944aSJoseph Chen		pinctrl-names = "default";
1516b36e944aSJoseph Chen		pinctrl-0 = <&i2c6m0_xfer>;
1517c6f7c1a3SJoseph Chen		#address-cells = <1>;
1518c6f7c1a3SJoseph Chen		#size-cells = <0>;
1519c6f7c1a3SJoseph Chen		status = "disabled";
1520c6f7c1a3SJoseph Chen	};
1521c6f7c1a3SJoseph Chen
1522c6f7c1a3SJoseph Chen	i2c7: i2c@ffa88000 {
1523c6f7c1a3SJoseph Chen		compatible = "rockchip,rk3528-i2c", "rockchip,rk3399-i2c";
1524c6f7c1a3SJoseph Chen		reg = <0x0 0xffa88000 0x0 0x1000>;
1525c6f7c1a3SJoseph Chen		clocks = <&cru CLK_I2C7>, <&cru PCLK_I2C7>;
1526c6f7c1a3SJoseph Chen		clock-names = "i2c", "pclk";
1527c6f7c1a3SJoseph Chen		interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>;
1528b36e944aSJoseph Chen		pinctrl-names = "default";
1529b36e944aSJoseph Chen		pinctrl-0 = <&i2c7_xfer>;
1530c6f7c1a3SJoseph Chen		#address-cells = <1>;
1531c6f7c1a3SJoseph Chen		#size-cells = <0>;
1532c6f7c1a3SJoseph Chen		status = "disabled";
1533c6f7c1a3SJoseph Chen	};
1534c6f7c1a3SJoseph Chen
1535c6f7c1a3SJoseph Chen	pwm0: pwm@ffa90000 {
1536b36e944aSJoseph Chen		compatible = "rockchip,rk3528-pwm", "rockchip,rk3328-pwm";
1537c6f7c1a3SJoseph Chen		reg = <0x0 0xffa90000 0x0 0x10>;
1538c6f7c1a3SJoseph Chen		#pwm-cells = <3>;
1539c6f7c1a3SJoseph Chen		pinctrl-names = "active";
1540c6f7c1a3SJoseph Chen		pinctrl-0 = <&pwm0m0_pins>;
1541c6f7c1a3SJoseph Chen		clocks = <&cru CLK_PWM0>, <&cru PCLK_PWM0>;
1542c6f7c1a3SJoseph Chen		clock-names = "pwm", "pclk";
1543c6f7c1a3SJoseph Chen		status = "disabled";
1544c6f7c1a3SJoseph Chen	};
1545c6f7c1a3SJoseph Chen
1546c6f7c1a3SJoseph Chen	pwm1: pwm@ffa90010 {
1547b36e944aSJoseph Chen		compatible = "rockchip,rk3528-pwm", "rockchip,rk3328-pwm";
1548c6f7c1a3SJoseph Chen		reg = <0x0 0xffa90010 0x0 0x10>;
1549c6f7c1a3SJoseph Chen		#pwm-cells = <3>;
1550c6f7c1a3SJoseph Chen		pinctrl-names = "active";
1551c6f7c1a3SJoseph Chen		pinctrl-0 = <&pwm1m0_pins>;
1552c6f7c1a3SJoseph Chen		clocks = <&cru CLK_PWM0>, <&cru PCLK_PWM0>;
1553c6f7c1a3SJoseph Chen		clock-names = "pwm", "pclk";
1554c6f7c1a3SJoseph Chen		status = "disabled";
1555c6f7c1a3SJoseph Chen	};
1556c6f7c1a3SJoseph Chen
1557c6f7c1a3SJoseph Chen	pwm2: pwm@ffa90020 {
1558b36e944aSJoseph Chen		compatible = "rockchip,rk3528-pwm", "rockchip,rk3328-pwm";
1559c6f7c1a3SJoseph Chen		reg = <0x0 0xffa90020 0x0 0x10>;
1560c6f7c1a3SJoseph Chen		#pwm-cells = <3>;
1561c6f7c1a3SJoseph Chen		pinctrl-names = "active";
1562c6f7c1a3SJoseph Chen		pinctrl-0 = <&pwm2m0_pins>;
1563c6f7c1a3SJoseph Chen		clocks = <&cru CLK_PWM0>, <&cru PCLK_PWM0>;
1564c6f7c1a3SJoseph Chen		clock-names = "pwm", "pclk";
1565c6f7c1a3SJoseph Chen		status = "disabled";
1566c6f7c1a3SJoseph Chen	};
1567c6f7c1a3SJoseph Chen
1568c6f7c1a3SJoseph Chen	pwm3: pwm@ffa90030 {
1569b36e944aSJoseph Chen		compatible = "rockchip,rk3528-pwm", "rockchip,rk3328-pwm";
1570c6f7c1a3SJoseph Chen		reg = <0x0 0xffa90030 0x0 0x10>;
1571c6f7c1a3SJoseph Chen		interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>,
1572c6f7c1a3SJoseph Chen			     <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
1573c6f7c1a3SJoseph Chen		#pwm-cells = <3>;
1574c6f7c1a3SJoseph Chen		pinctrl-names = "active";
1575c6f7c1a3SJoseph Chen		pinctrl-0 = <&pwm3m0_pins>;
1576c6f7c1a3SJoseph Chen		clocks = <&cru CLK_PWM0>, <&cru PCLK_PWM0>;
1577c6f7c1a3SJoseph Chen		clock-names = "pwm", "pclk";
1578c6f7c1a3SJoseph Chen		status = "disabled";
1579c6f7c1a3SJoseph Chen	};
1580c6f7c1a3SJoseph Chen
1581c6f7c1a3SJoseph Chen	pwm4: pwm@ffa98000 {
1582b36e944aSJoseph Chen		compatible = "rockchip,rk3528-pwm", "rockchip,rk3328-pwm";
1583c6f7c1a3SJoseph Chen		reg = <0x0 0xffa98000 0x0 0x10>;
1584c6f7c1a3SJoseph Chen		#pwm-cells = <3>;
1585c6f7c1a3SJoseph Chen		pinctrl-names = "active";
1586c6f7c1a3SJoseph Chen		pinctrl-0 = <&pwm4m0_pins>;
1587c6f7c1a3SJoseph Chen		clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
1588c6f7c1a3SJoseph Chen		clock-names = "pwm", "pclk";
1589c6f7c1a3SJoseph Chen		status = "disabled";
1590c6f7c1a3SJoseph Chen	};
1591c6f7c1a3SJoseph Chen
1592c6f7c1a3SJoseph Chen	pwm5: pwm@ffa98010 {
1593b36e944aSJoseph Chen		compatible = "rockchip,rk3528-pwm", "rockchip,rk3328-pwm";
1594c6f7c1a3SJoseph Chen		reg = <0x0 0xffa98010 0x0 0x10>;
1595c6f7c1a3SJoseph Chen		#pwm-cells = <3>;
1596c6f7c1a3SJoseph Chen		pinctrl-names = "active";
1597c6f7c1a3SJoseph Chen		pinctrl-0 = <&pwm5m0_pins>;
1598c6f7c1a3SJoseph Chen		clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
1599c6f7c1a3SJoseph Chen		clock-names = "pwm", "pclk";
1600c6f7c1a3SJoseph Chen		status = "disabled";
1601c6f7c1a3SJoseph Chen	};
1602c6f7c1a3SJoseph Chen
1603c6f7c1a3SJoseph Chen	pwm6: pwm@ffa98020 {
1604b36e944aSJoseph Chen		compatible = "rockchip,rk3528-pwm", "rockchip,rk3328-pwm";
1605c6f7c1a3SJoseph Chen		reg = <0x0 0xffa98020 0x0 0x10>;
1606c6f7c1a3SJoseph Chen		#pwm-cells = <3>;
1607c6f7c1a3SJoseph Chen		pinctrl-names = "active";
1608c6f7c1a3SJoseph Chen		pinctrl-0 = <&pwm6m0_pins>;
1609c6f7c1a3SJoseph Chen		clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
1610c6f7c1a3SJoseph Chen		clock-names = "pwm", "pclk";
1611c6f7c1a3SJoseph Chen		status = "disabled";
1612c6f7c1a3SJoseph Chen	};
1613c6f7c1a3SJoseph Chen
1614c6f7c1a3SJoseph Chen	pwm7: pwm@ffa98030 {
1615b36e944aSJoseph Chen		compatible = "rockchip,rk3528-pwm", "rockchip,rk3328-pwm";
1616c6f7c1a3SJoseph Chen		reg = <0x0 0xffa98030 0x0 0x10>;
1617c6f7c1a3SJoseph Chen		interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>,
1618c6f7c1a3SJoseph Chen			     <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
1619c6f7c1a3SJoseph Chen		#pwm-cells = <3>;
1620c6f7c1a3SJoseph Chen		pinctrl-names = "active";
1621c6f7c1a3SJoseph Chen		pinctrl-0 = <&pwm7m0_pins>;
1622c6f7c1a3SJoseph Chen		clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
1623c6f7c1a3SJoseph Chen		clock-names = "pwm", "pclk";
1624c6f7c1a3SJoseph Chen		status = "disabled";
1625c6f7c1a3SJoseph Chen	};
1626c6f7c1a3SJoseph Chen
1627b36e944aSJoseph Chen	rktimer: timer@ffab0000 {
1628b36e944aSJoseph Chen		compatible = "rockchip,rk3528-timer", "rockchip,rk3288-timer";
1629b36e944aSJoseph Chen		reg = <0x0 0xffab0000 0x0 0x20>;
1630b36e944aSJoseph Chen		interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
1631b36e944aSJoseph Chen		clocks = <&cru PCLK_TIMER>, <&cru CLK_TIMER0>;
1632b36e944aSJoseph Chen		clock-names = "pclk", "timer";
1633b36e944aSJoseph Chen	};
1634b36e944aSJoseph Chen
1635c6f7c1a3SJoseph Chen	wdt: watchdog@ffac0000 {
1636c6f7c1a3SJoseph Chen		compatible = "snps,dw-wdt";
1637c6f7c1a3SJoseph Chen		reg = <0x0 0xffac0000 0x0 0x100>;
1638c6f7c1a3SJoseph Chen		clocks = <&cru TCLK_WDT_NS>, <&cru PCLK_WDT_NS>;
1639c6f7c1a3SJoseph Chen		clock-names = "tclk", "pclk";
1640c6f7c1a3SJoseph Chen		interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
1641c6f7c1a3SJoseph Chen		status = "disabled";
1642c6f7c1a3SJoseph Chen	};
1643c6f7c1a3SJoseph Chen
1644c6f7c1a3SJoseph Chen	tsadc: tsadc@ffad0000 {
1645c6f7c1a3SJoseph Chen		compatible = "rockchip,rk3528-tsadc";
1646c6f7c1a3SJoseph Chen		reg = <0x0 0xffad0000 0x0 0x400>;
1647c6f7c1a3SJoseph Chen		rockchip,grf = <&grf>;
1648c6f7c1a3SJoseph Chen		interrupts = <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>;
1649c6f7c1a3SJoseph Chen		clocks = <&cru CLK_TSADC>, <&cru CLK_TSADC_TSEN>, <&cru PCLK_TSADC>;
1650c6f7c1a3SJoseph Chen		clock-names = "tsadc", "tsadc_tsen", "apb_pclk";
1651c6f7c1a3SJoseph Chen		assigned-clocks = <&cru CLK_TSADC>, <&cru CLK_TSADC_TSEN>;
1652c6f7c1a3SJoseph Chen		assigned-clock-rates = <1200000>, <12000000>;
1653c6f7c1a3SJoseph Chen		resets = <&cru SRST_RESETN_TSADC>, <&cru SRST_PRESETN_TSADC>;
1654c6f7c1a3SJoseph Chen		reset-names = "tsadc", "tsadc-apb";
1655c6f7c1a3SJoseph Chen		#thermal-sensor-cells = <1>;
1656c6f7c1a3SJoseph Chen		rockchip,hw-tshut-temp = <120000>;
1657c6f7c1a3SJoseph Chen		rockchip,hw-tshut-mode = <0>; /* tshut mode 0:CRU 1:GPIO */
1658c6f7c1a3SJoseph Chen		rockchip,hw-tshut-polarity = <0>; /* tshut polarity 0:LOW 1:HIGH */
1659c6f7c1a3SJoseph Chen		status = "disabled";
1660c6f7c1a3SJoseph Chen	};
1661c6f7c1a3SJoseph Chen
1662c6f7c1a3SJoseph Chen	saradc: saradc@ffae0000 {
1663c6f7c1a3SJoseph Chen		compatible = "rockchip,rk3528-saradc";
1664c6f7c1a3SJoseph Chen		reg = <0x0 0xffae0000 0x0 0x10000>;
1665c6f7c1a3SJoseph Chen		interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>;
1666c6f7c1a3SJoseph Chen		#io-channel-cells = <1>;
1667c6f7c1a3SJoseph Chen		clocks = <&cru CLK_SARADC>, <&cru PCLK_SARADC>;
1668c6f7c1a3SJoseph Chen		clock-names = "saradc", "apb_pclk";
1669c6f7c1a3SJoseph Chen		resets = <&cru SRST_PRESETN_SARADC>;
1670c6f7c1a3SJoseph Chen		reset-names = "saradc-apb";
1671c6f7c1a3SJoseph Chen		status = "disabled";
1672c6f7c1a3SJoseph Chen	};
1673c6f7c1a3SJoseph Chen
1674c6f7c1a3SJoseph Chen	sai3: sai@ffb70000 {
1675c6f7c1a3SJoseph Chen		compatible = "rockchip,rk3528-sai", "rockchip,sai-v1";
1676c6f7c1a3SJoseph Chen		reg = <0x0 0xffb70000 0x0 0x1000>;
1677c6f7c1a3SJoseph Chen		interrupts = <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>;
1678c6f7c1a3SJoseph Chen		clocks = <&cru MCLK_SAI_I2S3>, <&cru HCLK_SAI_I2S3>;
1679c6f7c1a3SJoseph Chen		clock-names = "mclk", "hclk";
1680c6f7c1a3SJoseph Chen		dmas = <&dmac 5>;
1681c6f7c1a3SJoseph Chen		dma-names = "tx";
1682c6f7c1a3SJoseph Chen		resets = <&cru SRST_MRESETN_SAI_I2S3>, <&cru SRST_HRESETN_SAI_I2S3>;
1683c6f7c1a3SJoseph Chen		reset-names = "m", "h";
1684c6f7c1a3SJoseph Chen		#sound-dai-cells = <0>;
1685c6f7c1a3SJoseph Chen		status = "disabled";
1686c6f7c1a3SJoseph Chen	};
1687c6f7c1a3SJoseph Chen
1688c6f7c1a3SJoseph Chen	sai0: sai@ffb80000 {
1689c6f7c1a3SJoseph Chen		compatible = "rockchip,rk3528-sai", "rockchip,sai-v1";
1690c6f7c1a3SJoseph Chen		reg = <0x0 0xffb80000 0x0 0x1000>;
1691c6f7c1a3SJoseph Chen		interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
1692c6f7c1a3SJoseph Chen		clocks = <&cru MCLK_SAI_I2S0>, <&cru HCLK_SAI_I2S0>;
1693c6f7c1a3SJoseph Chen		clock-names = "mclk", "hclk";
1694c6f7c1a3SJoseph Chen		dmas = <&dmac 1>, <&dmac 0>;
1695c6f7c1a3SJoseph Chen		dma-names = "tx", "rx";
1696c6f7c1a3SJoseph Chen		resets = <&cru SRST_MRESETN_SAI_I2S0>, <&cru SRST_HRESETN_SAI_I2S0>;
1697c6f7c1a3SJoseph Chen		reset-names = "m", "h";
1698c6f7c1a3SJoseph Chen		pinctrl-names = "default";
1699c6f7c1a3SJoseph Chen		pinctrl-0 = <&i2s0m0_pins>;
1700c6f7c1a3SJoseph Chen		#sound-dai-cells = <0>;
1701c6f7c1a3SJoseph Chen		status = "disabled";
1702c6f7c1a3SJoseph Chen	};
1703c6f7c1a3SJoseph Chen
1704c6f7c1a3SJoseph Chen	sai2: sai@ffb90000 {
1705c6f7c1a3SJoseph Chen		compatible = "rockchip,rk3528-sai", "rockchip,sai-v1";
1706c6f7c1a3SJoseph Chen		reg = <0x0 0xffb90000 0x0 0x1000>;
1707c6f7c1a3SJoseph Chen		interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>;
1708c6f7c1a3SJoseph Chen		clocks = <&cru MCLK_SAI_I2S2>, <&cru HCLK_SAI_I2S2>;
1709c6f7c1a3SJoseph Chen		clock-names = "mclk", "hclk";
1710c6f7c1a3SJoseph Chen		dmas = <&dmac 4>;
1711c6f7c1a3SJoseph Chen		dma-names = "tx";
1712c6f7c1a3SJoseph Chen		resets = <&cru SRST_MRESETN_SAI_I2S2>, <&cru SRST_HRESETN_SAI_I2S2>;
1713c6f7c1a3SJoseph Chen		reset-names = "m", "h";
1714c6f7c1a3SJoseph Chen		#sound-dai-cells = <0>;
1715c6f7c1a3SJoseph Chen		status = "disabled";
1716c6f7c1a3SJoseph Chen	};
1717c6f7c1a3SJoseph Chen
1718c6f7c1a3SJoseph Chen	sai1: sai@ffba0000 {
1719c6f7c1a3SJoseph Chen		compatible = "rockchip,rk3528-sai", "rockchip,sai-v1";
1720c6f7c1a3SJoseph Chen		reg = <0x0 0xffba0000 0x0 0x1000>;
1721c6f7c1a3SJoseph Chen		interrupts = <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>;
1722c6f7c1a3SJoseph Chen		clocks = <&cru MCLK_SAI_I2S1>, <&cru HCLK_SAI_I2S1>;
1723c6f7c1a3SJoseph Chen		clock-names = "mclk", "hclk";
1724c6f7c1a3SJoseph Chen		dmas = <&dmac 3>, <&dmac 2>;
1725c6f7c1a3SJoseph Chen		dma-names = "tx", "rx";
1726c6f7c1a3SJoseph Chen		resets = <&cru SRST_MRESETN_SAI_I2S1>, <&cru SRST_HRESETN_SAI_I2S1>;
1727c6f7c1a3SJoseph Chen		reset-names = "m", "h";
1728c6f7c1a3SJoseph Chen		pinctrl-names = "default";
1729c6f7c1a3SJoseph Chen		pinctrl-0 = <&i2s1_pins>;
1730c6f7c1a3SJoseph Chen		#sound-dai-cells = <0>;
1731c6f7c1a3SJoseph Chen		status = "disabled";
1732c6f7c1a3SJoseph Chen	};
1733c6f7c1a3SJoseph Chen
1734c6f7c1a3SJoseph Chen	pdm: pdm@ffbb0000 {
1735c6f7c1a3SJoseph Chen		compatible = "rockchip,rk3528-pdm", "rockchip,rk3568-pdm";
1736c6f7c1a3SJoseph Chen		reg = <0x0 0xffbb0000 0x0 0x1000>;
1737c6f7c1a3SJoseph Chen		clocks = <&cru MCLK_PDM>, <&cru HCLK_PDM>;
1738c6f7c1a3SJoseph Chen		clock-names = "pdm_clk", "pdm_hclk";
1739c6f7c1a3SJoseph Chen		dmas = <&dmac 6>;
1740c6f7c1a3SJoseph Chen		dma-names = "rx";
1741c6f7c1a3SJoseph Chen		pinctrl-names = "default";
1742c6f7c1a3SJoseph Chen		pinctrl-0 = <&pdm_clk0
1743c6f7c1a3SJoseph Chen			     &pdm_clk1
1744c6f7c1a3SJoseph Chen			     &pdm_sdi0
1745c6f7c1a3SJoseph Chen			     &pdm_sdi1
1746c6f7c1a3SJoseph Chen			     &pdm_sdi2
1747c6f7c1a3SJoseph Chen			     &pdm_sdi3>;
1748c6f7c1a3SJoseph Chen		#sound-dai-cells = <0>;
1749c6f7c1a3SJoseph Chen		status = "disabled";
1750c6f7c1a3SJoseph Chen	};
1751c6f7c1a3SJoseph Chen
1752c6f7c1a3SJoseph Chen	spdif_8ch: spdif@ffbc0000 {
1753c6f7c1a3SJoseph Chen		compatible = "rockchip,rk3528-spdif", "rockchip,rk3568-spdif";
1754c6f7c1a3SJoseph Chen		reg = <0x0 0xffbc0000 0x0 0x1000>;
1755c6f7c1a3SJoseph Chen		interrupts = <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>;
1756c6f7c1a3SJoseph Chen		dmas = <&dmac 7>;
1757c6f7c1a3SJoseph Chen		dma-names = "tx";
1758c6f7c1a3SJoseph Chen		clock-names = "mclk", "hclk";
1759c6f7c1a3SJoseph Chen		clocks = <&cru MCLK_SPDIF>, <&cru HCLK_SPDIF>;
1760c6f7c1a3SJoseph Chen		#sound-dai-cells = <0>;
1761c6f7c1a3SJoseph Chen		pinctrl-names = "default";
1762c6f7c1a3SJoseph Chen		pinctrl-0 = <&spdifm0_pins>;
1763c6f7c1a3SJoseph Chen		status = "disabled";
1764c6f7c1a3SJoseph Chen	};
1765c6f7c1a3SJoseph Chen
1766c6f7c1a3SJoseph Chen	gmac0: ethernet@ffbd0000 {
1767c6f7c1a3SJoseph Chen		compatible = "rockchip,rk3528-gmac", "snps,dwmac-4.20a";
1768c6f7c1a3SJoseph Chen		reg = <0x0 0xffbd0000 0x0 0x10000>;
1769c6f7c1a3SJoseph Chen		interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
1770c6f7c1a3SJoseph Chen			     <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
1771c6f7c1a3SJoseph Chen		interrupt-names = "macirq", "eth_wake_irq";
1772c6f7c1a3SJoseph Chen		rockchip,grf = <&grf>;
1773c6f7c1a3SJoseph Chen		clocks = <&cru CLK_GMAC0_SRC>, <&cru CLK_GMAC0_RMII_50M>,
1774c6f7c1a3SJoseph Chen			 <&cru CLK_GMAC0_RX>, <&cru CLK_GMAC0_TX>,
1775c6f7c1a3SJoseph Chen			 <&cru PCLK_MAC_VO>, <&cru ACLK_MAC_VO>;
1776c6f7c1a3SJoseph Chen		clock-names = "stmmaceth", "clk_mac_ref",
1777c6f7c1a3SJoseph Chen			      "mac_clk_rx", "mac_clk_tx",
1778c6f7c1a3SJoseph Chen			      "pclk_mac", "aclk_mac";
1779c6f7c1a3SJoseph Chen		resets = <&cru SRST_ARESETN_MAC_VO>;
1780c6f7c1a3SJoseph Chen		reset-names = "stmmaceth";
1781c6f7c1a3SJoseph Chen
1782c6f7c1a3SJoseph Chen		snps,mixed-burst;
1783c6f7c1a3SJoseph Chen		snps,tso;
1784c6f7c1a3SJoseph Chen
1785c6f7c1a3SJoseph Chen		snps,axi-config = <&gmac0_stmmac_axi_setup>;
1786c6f7c1a3SJoseph Chen		snps,mtl-rx-config = <&gmac0_mtl_rx_setup>;
1787c6f7c1a3SJoseph Chen		snps,mtl-tx-config = <&gmac0_mtl_tx_setup>;
1788c6f7c1a3SJoseph Chen
1789c6f7c1a3SJoseph Chen		phy-mode = "rmii";
1790c6f7c1a3SJoseph Chen		clock_in_out = "input";
1791c6f7c1a3SJoseph Chen		phy-handle = <&rmii0_phy>;
1792c6f7c1a3SJoseph Chen
1793b36e944aSJoseph Chen		nvmem-cells = <&macphy_bgs>;
1794b36e944aSJoseph Chen		nvmem-cell-names = "bgs";
1795c6f7c1a3SJoseph Chen		status = "disabled";
1796c6f7c1a3SJoseph Chen
1797c6f7c1a3SJoseph Chen		mdio0: mdio {
1798c6f7c1a3SJoseph Chen			compatible = "snps,dwmac-mdio";
1799c6f7c1a3SJoseph Chen			#address-cells = <0x1>;
1800c6f7c1a3SJoseph Chen			#size-cells = <0x0>;
1801c6f7c1a3SJoseph Chen			rmii0_phy: ethernet-phy@2 {
1802c6f7c1a3SJoseph Chen				compatible = "ethernet-phy-id0044.1400", "ethernet-phy-ieee802.3-c22";
1803c6f7c1a3SJoseph Chen				reg = <2>;
1804c6f7c1a3SJoseph Chen				clocks = <&cru CLK_MACPHY>;
1805c6f7c1a3SJoseph Chen				resets = <&cru SRST_RESETN_MACPHY>;
1806c6f7c1a3SJoseph Chen				phy-is-integrated;
1807b36e944aSJoseph Chen				pinctrl-names = "default";
1808b36e944aSJoseph Chen				pinctrl-0 = <&fephym0_led_link &fephym0_led_spd>;
1809b36e944aSJoseph Chen				nvmem-cells = <&macphy_txlevel>;
1810b36e944aSJoseph Chen				nvmem-cell-names = "txlevel";
1811c6f7c1a3SJoseph Chen			};
1812c6f7c1a3SJoseph Chen		};
1813c6f7c1a3SJoseph Chen
1814c6f7c1a3SJoseph Chen		gmac0_stmmac_axi_setup: stmmac-axi-config {
1815c6f7c1a3SJoseph Chen			snps,wr_osr_lmt = <4>;
1816c6f7c1a3SJoseph Chen			snps,rd_osr_lmt = <8>;
1817c6f7c1a3SJoseph Chen			snps,blen = <0 0 0 0 16 8 4>;
1818c6f7c1a3SJoseph Chen		};
1819c6f7c1a3SJoseph Chen
1820c6f7c1a3SJoseph Chen		gmac0_mtl_rx_setup: rx-queues-config {
1821c6f7c1a3SJoseph Chen			snps,rx-queues-to-use = <1>;
1822c6f7c1a3SJoseph Chen			queue0 {};
1823c6f7c1a3SJoseph Chen		};
1824c6f7c1a3SJoseph Chen
1825c6f7c1a3SJoseph Chen		gmac0_mtl_tx_setup: tx-queues-config {
1826c6f7c1a3SJoseph Chen			snps,tx-queues-to-use = <1>;
1827c6f7c1a3SJoseph Chen			queue0 {};
1828c6f7c1a3SJoseph Chen		};
1829c6f7c1a3SJoseph Chen	};
1830c6f7c1a3SJoseph Chen
1831c6f7c1a3SJoseph Chen	gmac1: ethernet@ffbe0000 {
1832c6f7c1a3SJoseph Chen		compatible = "rockchip,rk3528-gmac", "snps,dwmac-4.20a";
1833c6f7c1a3SJoseph Chen		reg = <0x0 0xffbe0000 0x0 0x10000>;
1834b36e944aSJoseph Chen		interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
1835c6f7c1a3SJoseph Chen			     <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>;
1836c6f7c1a3SJoseph Chen		interrupt-names = "macirq", "eth_wake_irq";
1837c6f7c1a3SJoseph Chen		rockchip,grf = <&grf>;
1838c6f7c1a3SJoseph Chen		clocks = <&cru CLK_GMAC1_SRC_VPU>, <&cru CLK_GMAC1_RMII_VPU>,
1839c6f7c1a3SJoseph Chen			 <&cru PCLK_MAC_VPU>, <&cru ACLK_MAC_VPU>;
1840c6f7c1a3SJoseph Chen		clock-names = "stmmaceth", "clk_mac_ref",
1841c6f7c1a3SJoseph Chen			      "pclk_mac", "aclk_mac";
1842c6f7c1a3SJoseph Chen		resets = <&cru SRST_ARESETN_MAC>;
1843c6f7c1a3SJoseph Chen		reset-names = "stmmaceth";
1844c6f7c1a3SJoseph Chen
1845c6f7c1a3SJoseph Chen		snps,mixed-burst;
1846c6f7c1a3SJoseph Chen		snps,tso;
1847c6f7c1a3SJoseph Chen
1848c6f7c1a3SJoseph Chen		snps,axi-config = <&gmac1_stmmac_axi_setup>;
1849c6f7c1a3SJoseph Chen		snps,mtl-rx-config = <&gmac1_mtl_rx_setup>;
1850c6f7c1a3SJoseph Chen		snps,mtl-tx-config = <&gmac1_mtl_tx_setup>;
1851c6f7c1a3SJoseph Chen
1852c6f7c1a3SJoseph Chen		status = "disabled";
1853c6f7c1a3SJoseph Chen
1854c6f7c1a3SJoseph Chen		mdio1: mdio {
1855c6f7c1a3SJoseph Chen			compatible = "snps,dwmac-mdio";
1856c6f7c1a3SJoseph Chen			#address-cells = <0x1>;
1857c6f7c1a3SJoseph Chen			#size-cells = <0x0>;
1858c6f7c1a3SJoseph Chen		};
1859c6f7c1a3SJoseph Chen
1860c6f7c1a3SJoseph Chen		gmac1_stmmac_axi_setup: stmmac-axi-config {
1861c6f7c1a3SJoseph Chen			snps,wr_osr_lmt = <4>;
1862c6f7c1a3SJoseph Chen			snps,rd_osr_lmt = <8>;
1863c6f7c1a3SJoseph Chen			snps,blen = <0 0 0 0 16 8 4>;
1864c6f7c1a3SJoseph Chen		};
1865c6f7c1a3SJoseph Chen
1866c6f7c1a3SJoseph Chen		gmac1_mtl_rx_setup: rx-queues-config {
1867c6f7c1a3SJoseph Chen			snps,rx-queues-to-use = <1>;
1868c6f7c1a3SJoseph Chen			queue0 {};
1869c6f7c1a3SJoseph Chen		};
1870c6f7c1a3SJoseph Chen
1871c6f7c1a3SJoseph Chen		gmac1_mtl_tx_setup: tx-queues-config {
1872c6f7c1a3SJoseph Chen			snps,tx-queues-to-use = <1>;
1873c6f7c1a3SJoseph Chen			queue0 {};
1874c6f7c1a3SJoseph Chen		};
1875c6f7c1a3SJoseph Chen	};
1876c6f7c1a3SJoseph Chen
1877c6f7c1a3SJoseph Chen	sdhci: mmc@ffbf0000 {
1878c6f7c1a3SJoseph Chen		compatible = "rockchip,rk3528-dwcmshc";
1879c6f7c1a3SJoseph Chen		reg = <0x0 0xffbf0000 0x0 0x10000>;
1880c6f7c1a3SJoseph Chen		interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
1881c6f7c1a3SJoseph Chen		assigned-clocks = <&cru BCLK_EMMC>, <&cru TCLK_EMMC>, <&cru CCLK_SRC_EMMC>;
1882c6f7c1a3SJoseph Chen		assigned-clock-rates = <200000000>, <24000000>, <200000000>;
1883c6f7c1a3SJoseph Chen		clocks = <&cru CCLK_SRC_EMMC>, <&cru HCLK_EMMC>,
1884c6f7c1a3SJoseph Chen			 <&cru ACLK_EMMC>, <&cru BCLK_EMMC>,
1885c6f7c1a3SJoseph Chen			 <&cru TCLK_EMMC>;
1886c6f7c1a3SJoseph Chen		clock-names = "core", "bus", "axi", "block", "timer";
1887c6f7c1a3SJoseph Chen		resets = <&cru SRST_CRESETN_EMMC>, <&cru SRST_HRESETN_EMMC>,
1888c6f7c1a3SJoseph Chen			 <&cru SRST_ARESETN_EMMC>, <&cru SRST_BRESETN_EMMC>,
1889c6f7c1a3SJoseph Chen			 <&cru SRST_TRESETN_EMMC>;
1890c6f7c1a3SJoseph Chen		reset-names = "core", "bus", "axi", "block", "timer";
1891c6f7c1a3SJoseph Chen		max-frequency = <200000000>;
1892c6f7c1a3SJoseph Chen		status = "disabled";
1893c6f7c1a3SJoseph Chen	};
1894c6f7c1a3SJoseph Chen
1895c6f7c1a3SJoseph Chen	sfc: spi@ffc00000 {
1896c6f7c1a3SJoseph Chen		compatible = "rockchip,sfc";
1897c6f7c1a3SJoseph Chen		reg = <0x0 0xffc00000 0x0 0x4000>;
1898c6f7c1a3SJoseph Chen		interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>;
1899c6f7c1a3SJoseph Chen		clocks = <&cru SCLK_SFC>, <&cru HCLK_SFC>;
1900c6f7c1a3SJoseph Chen		clock-names = "clk_sfc", "hclk_sfc";
1901c6f7c1a3SJoseph Chen		assigned-clocks = <&cru SCLK_SFC>;
1902c6f7c1a3SJoseph Chen		assigned-clock-rates = <100000000>;
1903c6f7c1a3SJoseph Chen		#address-cells = <1>;
1904c6f7c1a3SJoseph Chen		#size-cells = <0>;
1905c6f7c1a3SJoseph Chen		status = "disabled";
1906c6f7c1a3SJoseph Chen	};
1907c6f7c1a3SJoseph Chen
1908c6f7c1a3SJoseph Chen	sdio0: mmc@ffc10000 {
1909c6f7c1a3SJoseph Chen		compatible = "rockchip,rk3528-dw-mshc",
1910c6f7c1a3SJoseph Chen			     "rockchip,rk3288-dw-mshc";
1911c6f7c1a3SJoseph Chen		reg = <0x0 0xffc10000 0x0 0x4000>;
1912c6f7c1a3SJoseph Chen		interrupts = <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>;
1913c6f7c1a3SJoseph Chen		max-frequency = <150000000>;
1914c6f7c1a3SJoseph Chen		clocks = <&cru HCLK_SDIO0>, <&cru CCLK_SRC_SDIO0>,
1915c6f7c1a3SJoseph Chen			 <&grf_cru SCLK_SDIO0_DRV>, <&grf_cru SCLK_SDIO0_SAMPLE>;
1916c6f7c1a3SJoseph Chen		clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
1917c6f7c1a3SJoseph Chen		fifo-depth = <0x100>;
1918c6f7c1a3SJoseph Chen		resets = <&cru SRST_HRESETN_SDIO0>;
1919c6f7c1a3SJoseph Chen		reset-names = "reset";
1920b36e944aSJoseph Chen		rockchip,use-v2-tuning;
1921c6f7c1a3SJoseph Chen		status = "disabled";
1922c6f7c1a3SJoseph Chen	};
1923c6f7c1a3SJoseph Chen
1924c6f7c1a3SJoseph Chen	sdio1: mmc@ffc20000 {
1925c6f7c1a3SJoseph Chen		compatible = "rockchip,rk3528-dw-mshc",
1926c6f7c1a3SJoseph Chen			     "rockchip,rk3288-dw-mshc";
1927c6f7c1a3SJoseph Chen		reg = <0x0 0xffc20000 0x0 0x4000>;
1928c6f7c1a3SJoseph Chen		interrupts = <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
1929c6f7c1a3SJoseph Chen		max-frequency = <150000000>;
1930c6f7c1a3SJoseph Chen		clocks = <&cru HCLK_SDIO1>, <&cru CCLK_SRC_SDIO1>,
1931c6f7c1a3SJoseph Chen			 <&grf_cru SCLK_SDIO1_DRV>, <&grf_cru SCLK_SDIO1_SAMPLE>;
1932c6f7c1a3SJoseph Chen		clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
1933c6f7c1a3SJoseph Chen		fifo-depth = <0x100>;
1934c6f7c1a3SJoseph Chen		resets = <&cru SRST_HRESETN_SDIO1>;
1935c6f7c1a3SJoseph Chen		reset-names = "reset";
1936b36e944aSJoseph Chen		rockchip,use-v2-tuning;
1937c6f7c1a3SJoseph Chen		status = "disabled";
1938c6f7c1a3SJoseph Chen	};
1939c6f7c1a3SJoseph Chen
1940c6f7c1a3SJoseph Chen	sdmmc: mmc@ffc30000 {
1941c6f7c1a3SJoseph Chen		compatible = "rockchip,rk3528-dw-mshc",
1942c6f7c1a3SJoseph Chen			     "rockchip,rk3288-dw-mshc";
1943c6f7c1a3SJoseph Chen		reg = <0x0 0xffc30000 0x0 0x4000>;
1944c6f7c1a3SJoseph Chen		interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
1945c6f7c1a3SJoseph Chen		max-frequency = <150000000>;
1946c6f7c1a3SJoseph Chen		clocks = <&cru HCLK_SDMMC0>, <&cru CCLK_SRC_SDMMC0>,
1947c6f7c1a3SJoseph Chen			 <&grf_cru SCLK_SDMMC_DRV>, <&grf_cru SCLK_SDMMC_SAMPLE>;
1948c6f7c1a3SJoseph Chen		clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
1949c6f7c1a3SJoseph Chen		fifo-depth = <0x100>;
1950c6f7c1a3SJoseph Chen		resets = <&cru SRST_HRESETN_SDMMC0>;
1951c6f7c1a3SJoseph Chen		reset-names = "reset";
1952b36e944aSJoseph Chen		rockchip,use-v2-tuning;
19530f5a8759SYifeng Zhao		pinctrl-names = "default";
1954343ed2ebSQiqi Zhang		pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_det &sdmmc_bus4>;
1955c6f7c1a3SJoseph Chen		status = "disabled";
1956c6f7c1a3SJoseph Chen	};
1957c6f7c1a3SJoseph Chen
1958c6f7c1a3SJoseph Chen	crypto: crypto@ffc40000 {
1959c6f7c1a3SJoseph Chen		compatible = "rockchip,crypto-v4";
1960c6f7c1a3SJoseph Chen		reg = <0x0 0xffc40000 0x0 0x2000>;
1961c6f7c1a3SJoseph Chen		interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
19623e68d308SJoseph Chen		clocks = <&scmi_clk SCMI_ACLK_CRYPTO>, <&scmi_clk SCMI_HCLK_CRYPTO>,
19633e68d308SJoseph Chen			 <&scmi_clk SCMI_CORE_CRYPTO>, <&scmi_clk SCMI_PKA_CRYPTO>;
1964c6f7c1a3SJoseph Chen		clock-names = "aclk", "hclk", "sclk", "pka";
19653e68d308SJoseph Chen		assigned-clocks = <&scmi_clk SCMI_CORE_CRYPTO>, <&scmi_clk SCMI_PKA_CRYPTO>;
1966c6f7c1a3SJoseph Chen		assigned-clock-rates = <300000000>, <300000000>;
1967c6f7c1a3SJoseph Chen		resets = <&cru SRST_RESETN_CORE_CRYPTO>;
1968c6f7c1a3SJoseph Chen		reset-names = "crypto-rst";
1969c6f7c1a3SJoseph Chen		status = "disabled";
1970c6f7c1a3SJoseph Chen	};
1971c6f7c1a3SJoseph Chen
1972c6f7c1a3SJoseph Chen	rng: rng@ffc50000 {
1973da750820SLin Jinhan		compatible = "rockchip,rkrng";
1974c6f7c1a3SJoseph Chen		reg = <0x0 0xffc50000 0x0 0x200>;
1975c6f7c1a3SJoseph Chen		interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
19764c7992e5SJoseph Chen		clocks = <&scmi_clk SCMI_HCLK_TRNG>;
1977c6f7c1a3SJoseph Chen		clock-names = "hclk_trng";
1978c6f7c1a3SJoseph Chen		resets = <&cru SRST_HRESETN_TRNG_NS>;
1979c6f7c1a3SJoseph Chen		reset-names = "reset";
1980c6f7c1a3SJoseph Chen		status = "disabled";
1981c6f7c1a3SJoseph Chen	};
1982c6f7c1a3SJoseph Chen
1983c6f7c1a3SJoseph Chen	otp: otp@ffce0000 {
1984c6f7c1a3SJoseph Chen		compatible = "rockchip,rk3528-otp";
1985c6f7c1a3SJoseph Chen		reg = <0x0 0xffce0000 0x0 0x4000>;
1986c6f7c1a3SJoseph Chen		#address-cells = <1>;
1987c6f7c1a3SJoseph Chen		#size-cells = <1>;
1988c6f7c1a3SJoseph Chen		clocks = <&cru CLK_USER_OTPC_NS>, <&cru CLK_SBPI_OTPC_NS>,
1989c6f7c1a3SJoseph Chen			 <&cru PCLK_OTPC_NS>;
1990c6f7c1a3SJoseph Chen		clock-names = "usr", "sbpi", "apb";
1991c6f7c1a3SJoseph Chen		resets = <&cru SRST_RESETN_USER_OTPC_NS>,
1992c6f7c1a3SJoseph Chen			 <&cru SRST_RESETN_SBPI_OTPC_NS>,
1993c6f7c1a3SJoseph Chen			 <&cru SRST_PRESETN_OTPC_NS>;
1994c6f7c1a3SJoseph Chen		reset-names = "usr", "sbpi", "apb";
1995c6f7c1a3SJoseph Chen
1996c6f7c1a3SJoseph Chen		/* Data cells */
1997c6f7c1a3SJoseph Chen		cpu_code: cpu-code@2 {
1998c6f7c1a3SJoseph Chen			reg = <0x02 0x2>;
1999c6f7c1a3SJoseph Chen		};
2000c6f7c1a3SJoseph Chen		otp_cpu_version: cpu-version@8 {
2001c6f7c1a3SJoseph Chen			reg = <0x08 0x1>;
2002c6f7c1a3SJoseph Chen			bits = <3 3>;
2003c6f7c1a3SJoseph Chen		};
2004c6f7c1a3SJoseph Chen		otp_id: id@a {
2005c6f7c1a3SJoseph Chen			reg = <0x0a 0x10>;
2006c6f7c1a3SJoseph Chen		};
2007c6f7c1a3SJoseph Chen		cpu_leakage: cpu-leakage@1a {
2008c6f7c1a3SJoseph Chen			reg = <0x1a 0x1>;
2009c6f7c1a3SJoseph Chen		};
2010c6f7c1a3SJoseph Chen		log_leakage: log-leakage@1b {
2011c6f7c1a3SJoseph Chen			reg = <0x1b 0x1>;
2012c6f7c1a3SJoseph Chen		};
2013c6f7c1a3SJoseph Chen		gpu_leakage: gpu-leakage@1c {
2014c6f7c1a3SJoseph Chen			reg = <0x1c 0x1>;
2015c6f7c1a3SJoseph Chen		};
2016b36e944aSJoseph Chen		macphy_bgs: macphy-bgs@2d {
2017b36e944aSJoseph Chen			reg = <0x2d 0x1>;
2018b36e944aSJoseph Chen		};
2019b36e944aSJoseph Chen		macphy_txlevel: macphy-txlevel@2e {
2020b36e944aSJoseph Chen			reg = <0x2e 0x2>;
2021b36e944aSJoseph Chen		};
2022c6f7c1a3SJoseph Chen	};
2023c6f7c1a3SJoseph Chen
2024c6f7c1a3SJoseph Chen	dmac: dma-controller@ffd60000 {
2025c6f7c1a3SJoseph Chen		compatible = "arm,pl330", "arm,primecell";
2026c6f7c1a3SJoseph Chen		reg = <0x0 0xffd60000 0x0 0x4000>;
2027c6f7c1a3SJoseph Chen		interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
2028c6f7c1a3SJoseph Chen			     <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
2029c6f7c1a3SJoseph Chen			     <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
2030c6f7c1a3SJoseph Chen			     <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
2031c6f7c1a3SJoseph Chen			     <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
2032c6f7c1a3SJoseph Chen			     <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
2033c6f7c1a3SJoseph Chen			     <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
2034c6f7c1a3SJoseph Chen			     <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
2035c6f7c1a3SJoseph Chen			     <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
2036b36e944aSJoseph Chen		clocks = <&cru ACLK_DMAC>;
2037c6f7c1a3SJoseph Chen		clock-names = "apb_pclk";
2038c6f7c1a3SJoseph Chen		#dma-cells = <1>;
2039c6f7c1a3SJoseph Chen		arm,pl330-periph-burst;
2040c6f7c1a3SJoseph Chen	};
2041c6f7c1a3SJoseph Chen
2042c6f7c1a3SJoseph Chen	hwlock: hwspinlock@ffd70000 {
2043c6f7c1a3SJoseph Chen		compatible = "rockchip,hwspinlock";
2044c6f7c1a3SJoseph Chen		reg = <0x0 0xffd70000 0x0 0x100>;
2045c6f7c1a3SJoseph Chen		#hwlock-cells = <1>;
2046c6f7c1a3SJoseph Chen		status = "disabled";
2047c6f7c1a3SJoseph Chen	};
2048c6f7c1a3SJoseph Chen
2049c6f7c1a3SJoseph Chen	combphy_pu: phy@ffdc0000 {
2050c6f7c1a3SJoseph Chen		compatible = "rockchip,rk3528-naneng-combphy";
2051c6f7c1a3SJoseph Chen		reg = <0x0 0xffdc0000 0x0 0x10000>;
2052c6f7c1a3SJoseph Chen		#phy-cells = <1>;
2053c6f7c1a3SJoseph Chen		clocks = <&cru CLK_REF_PCIE_INNER_PHY>, <&cru PCLK_PCIE_PHY>, <&cru PCLK_PIPE_GRF>;
2054c6f7c1a3SJoseph Chen		clock-names = "refclk", "apbclk", "pipe_clk";
2055c6f7c1a3SJoseph Chen		assigned-clocks = <&cru CLK_REF_PCIE_INNER_PHY>;
2056c6f7c1a3SJoseph Chen		assigned-clock-rates = <100000000>;
2057c6f7c1a3SJoseph Chen		resets = <&cru SRST_PRESETN_PCIE_PHY>, <&cru SRST_RESETN_PCIE_PIPE_PHY>;
2058c6f7c1a3SJoseph Chen		reset-names = "combphy-apb", "combphy";
2059c6f7c1a3SJoseph Chen		rockchip,pipe-grf = <&grf>;
2060c6f7c1a3SJoseph Chen		rockchip,pipe-phy-grf = <&grf>;
2061c6f7c1a3SJoseph Chen		status = "disabled";
2062c6f7c1a3SJoseph Chen	};
2063c6f7c1a3SJoseph Chen
2064c6f7c1a3SJoseph Chen	usb2phy: usb2-phy@ffdf0000 {
2065c6f7c1a3SJoseph Chen		compatible = "rockchip,rk3528-usb2phy";
2066c6f7c1a3SJoseph Chen		reg = <0x0 0xffdf0000 0x0 0x10000>;
2067b36e944aSJoseph Chen		clocks = <&cru CLK_REF_USBPHY>, <&cru PCLK_USBPHY>;
2068b36e944aSJoseph Chen		clock-names = "phyclk", "apb_pclk";
2069c6f7c1a3SJoseph Chen		#clock-cells = <0>;
2070c6f7c1a3SJoseph Chen		rockchip,usbgrf = <&grf>;
2071c6f7c1a3SJoseph Chen		status = "disabled";
2072c6f7c1a3SJoseph Chen
2073c6f7c1a3SJoseph Chen		u2phy_otg: otg-port {
2074c6f7c1a3SJoseph Chen			#phy-cells = <0>;
2075c6f7c1a3SJoseph Chen			interrupts = <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>,
2076c6f7c1a3SJoseph Chen				     <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>,
2077c6f7c1a3SJoseph Chen				     <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
2078c6f7c1a3SJoseph Chen			interrupt-names = "otg-bvalid",
2079c6f7c1a3SJoseph Chen					  "otg-id",
2080c6f7c1a3SJoseph Chen					  "linestate";
2081c6f7c1a3SJoseph Chen			status = "disabled";
2082c6f7c1a3SJoseph Chen		};
2083c6f7c1a3SJoseph Chen
2084c6f7c1a3SJoseph Chen		u2phy_host: host-port {
2085c6f7c1a3SJoseph Chen			#phy-cells = <0>;
2086c6f7c1a3SJoseph Chen			interrupts = <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>;
2087c6f7c1a3SJoseph Chen			interrupt-names = "linestate";
2088c6f7c1a3SJoseph Chen			status = "disabled";
2089c6f7c1a3SJoseph Chen		};
2090c6f7c1a3SJoseph Chen	};
2091c6f7c1a3SJoseph Chen
2092c6f7c1a3SJoseph Chen	hdmiphy: hdmiphy@ffe00000 {
2093c6f7c1a3SJoseph Chen		compatible = "rockchip,rk3528-hdmi-phy";
2094c6f7c1a3SJoseph Chen		reg = <0x0 0xffe00000 0x0 0x10000>;
2095c6f7c1a3SJoseph Chen		interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
2096c6f7c1a3SJoseph Chen		#phy-cells = <0>;
2097c6f7c1a3SJoseph Chen		clocks = <&cru PCLK_HDMIPHY>, <&xin24m>;
2098c6f7c1a3SJoseph Chen		clock-names = "sysclk", "refclk";
2099c6f7c1a3SJoseph Chen		#clock-cells = <0>;
2100c6f7c1a3SJoseph Chen		clock-output-names = "clk_hdmiphy_pixel_io";
2101c6f7c1a3SJoseph Chen		status = "disabled";
2102c6f7c1a3SJoseph Chen	};
2103c6f7c1a3SJoseph Chen
2104b36e944aSJoseph Chen	acodec: acodec@ffe10000 {
2105b36e944aSJoseph Chen		compatible = "rockchip,rk3528-codec";
2106b36e944aSJoseph Chen		reg = <0x0 0xffe10000 0x0 0x1000>;
2107b36e944aSJoseph Chen		#sound-dai-cells = <0>;
2108b36e944aSJoseph Chen		clocks = <&cru PCLK_ACODEC>, <&cru MCLK_ACODEC_TX>;
2109b36e944aSJoseph Chen		clock-names = "pclk", "mclk";
2110b36e944aSJoseph Chen		resets = <&cru SRST_PRESETN_ACODEC>;
2111b36e944aSJoseph Chen		reset-names = "acodec";
2112b36e944aSJoseph Chen		status = "disabled";
2113b36e944aSJoseph Chen	};
2114b36e944aSJoseph Chen
2115c6f7c1a3SJoseph Chen	pinctrl: pinctrl {
2116c6f7c1a3SJoseph Chen		compatible = "rockchip,rk3528-pinctrl";
2117c6f7c1a3SJoseph Chen		rockchip,grf = <&ioc_grf>;
2118c6f7c1a3SJoseph Chen		#address-cells = <2>;
2119c6f7c1a3SJoseph Chen		#size-cells = <2>;
2120c6f7c1a3SJoseph Chen		ranges;
2121c6f7c1a3SJoseph Chen
2122c6f7c1a3SJoseph Chen		gpio0: gpio@ff610000 {
2123c6f7c1a3SJoseph Chen			compatible = "rockchip,gpio-bank";
2124c6f7c1a3SJoseph Chen			reg = <0x0 0xff610000 0x0 0x200>;
2125c6f7c1a3SJoseph Chen			interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
2126c6f7c1a3SJoseph Chen			clocks = <&cru PCLK_GPIO0>, <&cru DBCLK_GPIO0>;
2127c6f7c1a3SJoseph Chen			gpio-controller;
2128c6f7c1a3SJoseph Chen			#gpio-cells = <2>;
2129c6f7c1a3SJoseph Chen			gpio-ranges = <&pinctrl 0 0 32>;
2130c6f7c1a3SJoseph Chen			interrupt-controller;
2131c6f7c1a3SJoseph Chen			#interrupt-cells = <2>;
2132c6f7c1a3SJoseph Chen		};
2133c6f7c1a3SJoseph Chen
2134c6f7c1a3SJoseph Chen		gpio1: gpio@ffaf0000 {
2135c6f7c1a3SJoseph Chen			compatible = "rockchip,gpio-bank";
2136c6f7c1a3SJoseph Chen			reg = <0x0 0xffaf0000 0x0 0x200>;
2137c6f7c1a3SJoseph Chen			interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
2138c6f7c1a3SJoseph Chen			clocks = <&cru PCLK_GPIO1>, <&cru DBCLK_GPIO1>;
2139c6f7c1a3SJoseph Chen			gpio-controller;
2140c6f7c1a3SJoseph Chen			#gpio-cells = <2>;
2141c6f7c1a3SJoseph Chen			gpio-ranges = <&pinctrl 0 32 32>;
2142c6f7c1a3SJoseph Chen			interrupt-controller;
2143c6f7c1a3SJoseph Chen			#interrupt-cells = <2>;
2144c6f7c1a3SJoseph Chen		};
2145c6f7c1a3SJoseph Chen
2146c6f7c1a3SJoseph Chen		gpio2: gpio@ffb00000 {
2147c6f7c1a3SJoseph Chen			compatible = "rockchip,gpio-bank";
2148c6f7c1a3SJoseph Chen			reg = <0x0 0xffb00000 0x0 0x200>;
2149c6f7c1a3SJoseph Chen			interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
2150c6f7c1a3SJoseph Chen			clocks = <&cru PCLK_GPIO2>, <&cru DBCLK_GPIO2>;
2151c6f7c1a3SJoseph Chen			gpio-controller;
2152c6f7c1a3SJoseph Chen			#gpio-cells = <2>;
2153c6f7c1a3SJoseph Chen			gpio-ranges = <&pinctrl 0 64 32>;
2154c6f7c1a3SJoseph Chen			interrupt-controller;
2155c6f7c1a3SJoseph Chen			#interrupt-cells = <2>;
2156c6f7c1a3SJoseph Chen		};
2157c6f7c1a3SJoseph Chen
2158c6f7c1a3SJoseph Chen		gpio3: gpio@ffb10000 {
2159c6f7c1a3SJoseph Chen			compatible = "rockchip,gpio-bank";
2160c6f7c1a3SJoseph Chen			reg = <0x0 0xffb10000 0x0 0x200>;
2161c6f7c1a3SJoseph Chen			interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
2162c6f7c1a3SJoseph Chen			clocks = <&cru PCLK_GPIO3>, <&cru DBCLK_GPIO3>;
2163c6f7c1a3SJoseph Chen			gpio-controller;
2164c6f7c1a3SJoseph Chen			#gpio-cells = <2>;
2165c6f7c1a3SJoseph Chen			gpio-ranges = <&pinctrl 0 96 32>;
2166c6f7c1a3SJoseph Chen			interrupt-controller;
2167c6f7c1a3SJoseph Chen			#interrupt-cells = <2>;
2168c6f7c1a3SJoseph Chen		};
2169c6f7c1a3SJoseph Chen
2170c6f7c1a3SJoseph Chen		gpio4: gpio@ffb20000 {
2171c6f7c1a3SJoseph Chen			compatible = "rockchip,gpio-bank";
2172c6f7c1a3SJoseph Chen			reg = <0x0 0xffb20000 0x0 0x200>;
2173c6f7c1a3SJoseph Chen			interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
2174c6f7c1a3SJoseph Chen			clocks = <&cru PCLK_GPIO4>, <&cru DBCLK_GPIO4>;
2175c6f7c1a3SJoseph Chen			gpio-controller;
2176c6f7c1a3SJoseph Chen			#gpio-cells = <2>;
2177c6f7c1a3SJoseph Chen			gpio-ranges = <&pinctrl 0 128 32>;
2178c6f7c1a3SJoseph Chen			interrupt-controller;
2179c6f7c1a3SJoseph Chen			#interrupt-cells = <2>;
2180c6f7c1a3SJoseph Chen		};
2181c6f7c1a3SJoseph Chen	};
2182c6f7c1a3SJoseph Chen};
2183c6f7c1a3SJoseph Chen
2184c6f7c1a3SJoseph Chen#include "rk3528-pinctrl.dtsi"
2185