1*c9211fa2SKever Yang// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2*c9211fa2SKever Yang/*
3*c9211fa2SKever Yang * Copyright (c) 2021 Rockchip Electronics Co., Ltd.
4*c9211fa2SKever Yang */
5*c9211fa2SKever Yang
6*c9211fa2SKever Yang#include <dt-bindings/clock/rockchip,rk3588-cru.h>
7*c9211fa2SKever Yang#include <dt-bindings/interrupt-controller/arm-gic.h>
8*c9211fa2SKever Yang#include <dt-bindings/interrupt-controller/irq.h>
9*c9211fa2SKever Yang#include <dt-bindings/power/rk3588-power.h>
10*c9211fa2SKever Yang#include <dt-bindings/reset/rockchip,rk3588-cru.h>
11*c9211fa2SKever Yang
12*c9211fa2SKever Yang/ {
13*c9211fa2SKever Yang	compatible = "rockchip,rk3588";
14*c9211fa2SKever Yang
15*c9211fa2SKever Yang	interrupt-parent = <&gic>;
16*c9211fa2SKever Yang	#address-cells = <2>;
17*c9211fa2SKever Yang	#size-cells = <2>;
18*c9211fa2SKever Yang
19*c9211fa2SKever Yang	cpus {
20*c9211fa2SKever Yang		#address-cells = <1>;
21*c9211fa2SKever Yang		#size-cells = <0>;
22*c9211fa2SKever Yang
23*c9211fa2SKever Yang		cpu-map {
24*c9211fa2SKever Yang			cluster0 {
25*c9211fa2SKever Yang				core0 {
26*c9211fa2SKever Yang					cpu = <&cpu_l0>;
27*c9211fa2SKever Yang				};
28*c9211fa2SKever Yang				core1 {
29*c9211fa2SKever Yang					cpu = <&cpu_l1>;
30*c9211fa2SKever Yang				};
31*c9211fa2SKever Yang				core2 {
32*c9211fa2SKever Yang					cpu = <&cpu_l2>;
33*c9211fa2SKever Yang				};
34*c9211fa2SKever Yang				core3 {
35*c9211fa2SKever Yang					cpu = <&cpu_l3>;
36*c9211fa2SKever Yang				};
37*c9211fa2SKever Yang			};
38*c9211fa2SKever Yang			cluster1 {
39*c9211fa2SKever Yang				core0 {
40*c9211fa2SKever Yang					cpu = <&cpu_b0>;
41*c9211fa2SKever Yang				};
42*c9211fa2SKever Yang				core1 {
43*c9211fa2SKever Yang					cpu = <&cpu_b1>;
44*c9211fa2SKever Yang				};
45*c9211fa2SKever Yang			};
46*c9211fa2SKever Yang			cluster2 {
47*c9211fa2SKever Yang				core0 {
48*c9211fa2SKever Yang					cpu = <&cpu_b2>;
49*c9211fa2SKever Yang				};
50*c9211fa2SKever Yang				core1 {
51*c9211fa2SKever Yang					cpu = <&cpu_b3>;
52*c9211fa2SKever Yang				};
53*c9211fa2SKever Yang			};
54*c9211fa2SKever Yang		};
55*c9211fa2SKever Yang
56*c9211fa2SKever Yang		cpu_l0: cpu@0 {
57*c9211fa2SKever Yang			device_type = "cpu";
58*c9211fa2SKever Yang			compatible = "arm,cortex-a55";
59*c9211fa2SKever Yang			reg = <0x0>;
60*c9211fa2SKever Yang			enable-method = "psci";
61*c9211fa2SKever Yang			capacity-dmips-mhz = <530>;
62*c9211fa2SKever Yang			clocks = <&scmi_clk SCMI_CLK_CPUL>;
63*c9211fa2SKever Yang			cpu-idle-states = <&CPU_SLEEP>;
64*c9211fa2SKever Yang			i-cache-size = <32768>;
65*c9211fa2SKever Yang			i-cache-line-size = <64>;
66*c9211fa2SKever Yang			i-cache-sets = <128>;
67*c9211fa2SKever Yang			d-cache-size = <32768>;
68*c9211fa2SKever Yang			d-cache-line-size = <64>;
69*c9211fa2SKever Yang			d-cache-sets = <128>;
70*c9211fa2SKever Yang			next-level-cache = <&l2_cache_l0>;
71*c9211fa2SKever Yang			dynamic-power-coefficient = <228>;
72*c9211fa2SKever Yang			#cooling-cells = <2>;
73*c9211fa2SKever Yang		};
74*c9211fa2SKever Yang
75*c9211fa2SKever Yang		cpu_l1: cpu@100 {
76*c9211fa2SKever Yang			device_type = "cpu";
77*c9211fa2SKever Yang			compatible = "arm,cortex-a55";
78*c9211fa2SKever Yang			reg = <0x100>;
79*c9211fa2SKever Yang			enable-method = "psci";
80*c9211fa2SKever Yang			capacity-dmips-mhz = <530>;
81*c9211fa2SKever Yang			clocks = <&scmi_clk SCMI_CLK_CPUL>;
82*c9211fa2SKever Yang			cpu-idle-states = <&CPU_SLEEP>;
83*c9211fa2SKever Yang			i-cache-size = <32768>;
84*c9211fa2SKever Yang			i-cache-line-size = <64>;
85*c9211fa2SKever Yang			i-cache-sets = <128>;
86*c9211fa2SKever Yang			d-cache-size = <32768>;
87*c9211fa2SKever Yang			d-cache-line-size = <64>;
88*c9211fa2SKever Yang			d-cache-sets = <128>;
89*c9211fa2SKever Yang			next-level-cache = <&l2_cache_l1>;
90*c9211fa2SKever Yang			dynamic-power-coefficient = <228>;
91*c9211fa2SKever Yang			#cooling-cells = <2>;
92*c9211fa2SKever Yang		};
93*c9211fa2SKever Yang
94*c9211fa2SKever Yang		cpu_l2: cpu@200 {
95*c9211fa2SKever Yang			device_type = "cpu";
96*c9211fa2SKever Yang			compatible = "arm,cortex-a55";
97*c9211fa2SKever Yang			reg = <0x200>;
98*c9211fa2SKever Yang			enable-method = "psci";
99*c9211fa2SKever Yang			capacity-dmips-mhz = <530>;
100*c9211fa2SKever Yang			clocks = <&scmi_clk SCMI_CLK_CPUL>;
101*c9211fa2SKever Yang			cpu-idle-states = <&CPU_SLEEP>;
102*c9211fa2SKever Yang			i-cache-size = <32768>;
103*c9211fa2SKever Yang			i-cache-line-size = <64>;
104*c9211fa2SKever Yang			i-cache-sets = <128>;
105*c9211fa2SKever Yang			d-cache-size = <32768>;
106*c9211fa2SKever Yang			d-cache-line-size = <64>;
107*c9211fa2SKever Yang			d-cache-sets = <128>;
108*c9211fa2SKever Yang			next-level-cache = <&l2_cache_l2>;
109*c9211fa2SKever Yang			dynamic-power-coefficient = <228>;
110*c9211fa2SKever Yang			#cooling-cells = <2>;
111*c9211fa2SKever Yang		};
112*c9211fa2SKever Yang
113*c9211fa2SKever Yang		cpu_l3: cpu@300 {
114*c9211fa2SKever Yang			device_type = "cpu";
115*c9211fa2SKever Yang			compatible = "arm,cortex-a55";
116*c9211fa2SKever Yang			reg = <0x300>;
117*c9211fa2SKever Yang			enable-method = "psci";
118*c9211fa2SKever Yang			capacity-dmips-mhz = <530>;
119*c9211fa2SKever Yang			clocks = <&scmi_clk SCMI_CLK_CPUL>;
120*c9211fa2SKever Yang			cpu-idle-states = <&CPU_SLEEP>;
121*c9211fa2SKever Yang			i-cache-size = <32768>;
122*c9211fa2SKever Yang			i-cache-line-size = <64>;
123*c9211fa2SKever Yang			i-cache-sets = <128>;
124*c9211fa2SKever Yang			d-cache-size = <32768>;
125*c9211fa2SKever Yang			d-cache-line-size = <64>;
126*c9211fa2SKever Yang			d-cache-sets = <128>;
127*c9211fa2SKever Yang			next-level-cache = <&l2_cache_l3>;
128*c9211fa2SKever Yang			dynamic-power-coefficient = <228>;
129*c9211fa2SKever Yang			#cooling-cells = <2>;
130*c9211fa2SKever Yang		};
131*c9211fa2SKever Yang
132*c9211fa2SKever Yang		cpu_b0: cpu@400 {
133*c9211fa2SKever Yang			device_type = "cpu";
134*c9211fa2SKever Yang			compatible = "arm,cortex-a76";
135*c9211fa2SKever Yang			reg = <0x400>;
136*c9211fa2SKever Yang			enable-method = "psci";
137*c9211fa2SKever Yang			capacity-dmips-mhz = <1024>;
138*c9211fa2SKever Yang			clocks = <&scmi_clk SCMI_CLK_CPUB01>;
139*c9211fa2SKever Yang			cpu-idle-states = <&CPU_SLEEP>;
140*c9211fa2SKever Yang			i-cache-size = <65536>;
141*c9211fa2SKever Yang			i-cache-line-size = <64>;
142*c9211fa2SKever Yang			i-cache-sets = <256>;
143*c9211fa2SKever Yang			d-cache-size = <65536>;
144*c9211fa2SKever Yang			d-cache-line-size = <64>;
145*c9211fa2SKever Yang			d-cache-sets = <256>;
146*c9211fa2SKever Yang			next-level-cache = <&l2_cache_b0>;
147*c9211fa2SKever Yang			dynamic-power-coefficient = <416>;
148*c9211fa2SKever Yang			#cooling-cells = <2>;
149*c9211fa2SKever Yang		};
150*c9211fa2SKever Yang
151*c9211fa2SKever Yang		cpu_b1: cpu@500 {
152*c9211fa2SKever Yang			device_type = "cpu";
153*c9211fa2SKever Yang			compatible = "arm,cortex-a76";
154*c9211fa2SKever Yang			reg = <0x500>;
155*c9211fa2SKever Yang			enable-method = "psci";
156*c9211fa2SKever Yang			capacity-dmips-mhz = <1024>;
157*c9211fa2SKever Yang			clocks = <&scmi_clk SCMI_CLK_CPUB01>;
158*c9211fa2SKever Yang			cpu-idle-states = <&CPU_SLEEP>;
159*c9211fa2SKever Yang			i-cache-size = <65536>;
160*c9211fa2SKever Yang			i-cache-line-size = <64>;
161*c9211fa2SKever Yang			i-cache-sets = <256>;
162*c9211fa2SKever Yang			d-cache-size = <65536>;
163*c9211fa2SKever Yang			d-cache-line-size = <64>;
164*c9211fa2SKever Yang			d-cache-sets = <256>;
165*c9211fa2SKever Yang			next-level-cache = <&l2_cache_b1>;
166*c9211fa2SKever Yang			dynamic-power-coefficient = <416>;
167*c9211fa2SKever Yang			#cooling-cells = <2>;
168*c9211fa2SKever Yang		};
169*c9211fa2SKever Yang
170*c9211fa2SKever Yang		cpu_b2: cpu@600 {
171*c9211fa2SKever Yang			device_type = "cpu";
172*c9211fa2SKever Yang			compatible = "arm,cortex-a76";
173*c9211fa2SKever Yang			reg = <0x600>;
174*c9211fa2SKever Yang			enable-method = "psci";
175*c9211fa2SKever Yang			capacity-dmips-mhz = <1024>;
176*c9211fa2SKever Yang			clocks = <&scmi_clk SCMI_CLK_CPUB23>;
177*c9211fa2SKever Yang			cpu-idle-states = <&CPU_SLEEP>;
178*c9211fa2SKever Yang			i-cache-size = <65536>;
179*c9211fa2SKever Yang			i-cache-line-size = <64>;
180*c9211fa2SKever Yang			i-cache-sets = <256>;
181*c9211fa2SKever Yang			d-cache-size = <65536>;
182*c9211fa2SKever Yang			d-cache-line-size = <64>;
183*c9211fa2SKever Yang			d-cache-sets = <256>;
184*c9211fa2SKever Yang			next-level-cache = <&l2_cache_b2>;
185*c9211fa2SKever Yang			dynamic-power-coefficient = <416>;
186*c9211fa2SKever Yang			#cooling-cells = <2>;
187*c9211fa2SKever Yang		};
188*c9211fa2SKever Yang
189*c9211fa2SKever Yang		cpu_b3: cpu@700 {
190*c9211fa2SKever Yang			device_type = "cpu";
191*c9211fa2SKever Yang			compatible = "arm,cortex-a76";
192*c9211fa2SKever Yang			reg = <0x700>;
193*c9211fa2SKever Yang			enable-method = "psci";
194*c9211fa2SKever Yang			capacity-dmips-mhz = <1024>;
195*c9211fa2SKever Yang			clocks = <&scmi_clk SCMI_CLK_CPUB23>;
196*c9211fa2SKever Yang			cpu-idle-states = <&CPU_SLEEP>;
197*c9211fa2SKever Yang			i-cache-size = <65536>;
198*c9211fa2SKever Yang			i-cache-line-size = <64>;
199*c9211fa2SKever Yang			i-cache-sets = <256>;
200*c9211fa2SKever Yang			d-cache-size = <65536>;
201*c9211fa2SKever Yang			d-cache-line-size = <64>;
202*c9211fa2SKever Yang			d-cache-sets = <256>;
203*c9211fa2SKever Yang			next-level-cache = <&l2_cache_b3>;
204*c9211fa2SKever Yang			dynamic-power-coefficient = <416>;
205*c9211fa2SKever Yang			#cooling-cells = <2>;
206*c9211fa2SKever Yang		};
207*c9211fa2SKever Yang
208*c9211fa2SKever Yang		idle-states {
209*c9211fa2SKever Yang			entry-method = "psci";
210*c9211fa2SKever Yang			CPU_SLEEP: cpu-sleep {
211*c9211fa2SKever Yang				compatible = "arm,idle-state";
212*c9211fa2SKever Yang				local-timer-stop;
213*c9211fa2SKever Yang				arm,psci-suspend-param = <0x0010000>;
214*c9211fa2SKever Yang				entry-latency-us = <100>;
215*c9211fa2SKever Yang				exit-latency-us = <120>;
216*c9211fa2SKever Yang				min-residency-us = <1000>;
217*c9211fa2SKever Yang			};
218*c9211fa2SKever Yang		};
219*c9211fa2SKever Yang
220*c9211fa2SKever Yang		l2_cache_l0: l2-cache-l0 {
221*c9211fa2SKever Yang			compatible = "cache";
222*c9211fa2SKever Yang			cache-size = <131072>;
223*c9211fa2SKever Yang			cache-line-size = <64>;
224*c9211fa2SKever Yang			cache-sets = <512>;
225*c9211fa2SKever Yang			next-level-cache = <&l3_cache>;
226*c9211fa2SKever Yang		};
227*c9211fa2SKever Yang
228*c9211fa2SKever Yang		l2_cache_l1: l2-cache-l1 {
229*c9211fa2SKever Yang			compatible = "cache";
230*c9211fa2SKever Yang			cache-size = <131072>;
231*c9211fa2SKever Yang			cache-line-size = <64>;
232*c9211fa2SKever Yang			cache-sets = <512>;
233*c9211fa2SKever Yang			next-level-cache = <&l3_cache>;
234*c9211fa2SKever Yang		};
235*c9211fa2SKever Yang
236*c9211fa2SKever Yang		l2_cache_l2: l2-cache-l2 {
237*c9211fa2SKever Yang			compatible = "cache";
238*c9211fa2SKever Yang			cache-size = <131072>;
239*c9211fa2SKever Yang			cache-line-size = <64>;
240*c9211fa2SKever Yang			cache-sets = <512>;
241*c9211fa2SKever Yang			next-level-cache = <&l3_cache>;
242*c9211fa2SKever Yang		};
243*c9211fa2SKever Yang
244*c9211fa2SKever Yang		l2_cache_l3: l2-cache-l3 {
245*c9211fa2SKever Yang			compatible = "cache";
246*c9211fa2SKever Yang			cache-size = <131072>;
247*c9211fa2SKever Yang			cache-line-size = <64>;
248*c9211fa2SKever Yang			cache-sets = <512>;
249*c9211fa2SKever Yang			next-level-cache = <&l3_cache>;
250*c9211fa2SKever Yang		};
251*c9211fa2SKever Yang
252*c9211fa2SKever Yang		l2_cache_b0: l2-cache-b0 {
253*c9211fa2SKever Yang			compatible = "cache";
254*c9211fa2SKever Yang			cache-size = <524288>;
255*c9211fa2SKever Yang			cache-line-size = <64>;
256*c9211fa2SKever Yang			cache-sets = <1024>;
257*c9211fa2SKever Yang			next-level-cache = <&l3_cache>;
258*c9211fa2SKever Yang		};
259*c9211fa2SKever Yang
260*c9211fa2SKever Yang		l2_cache_b1: l2-cache-b1 {
261*c9211fa2SKever Yang			compatible = "cache";
262*c9211fa2SKever Yang			cache-size = <524288>;
263*c9211fa2SKever Yang			cache-line-size = <64>;
264*c9211fa2SKever Yang			cache-sets = <1024>;
265*c9211fa2SKever Yang			next-level-cache = <&l3_cache>;
266*c9211fa2SKever Yang		};
267*c9211fa2SKever Yang
268*c9211fa2SKever Yang		l2_cache_b2: l2-cache-b2 {
269*c9211fa2SKever Yang			compatible = "cache";
270*c9211fa2SKever Yang			cache-size = <524288>;
271*c9211fa2SKever Yang			cache-line-size = <64>;
272*c9211fa2SKever Yang			cache-sets = <1024>;
273*c9211fa2SKever Yang			next-level-cache = <&l3_cache>;
274*c9211fa2SKever Yang		};
275*c9211fa2SKever Yang
276*c9211fa2SKever Yang		l2_cache_b3: l2-cache-b3 {
277*c9211fa2SKever Yang			compatible = "cache";
278*c9211fa2SKever Yang			cache-size = <524288>;
279*c9211fa2SKever Yang			cache-line-size = <64>;
280*c9211fa2SKever Yang			cache-sets = <1024>;
281*c9211fa2SKever Yang			next-level-cache = <&l3_cache>;
282*c9211fa2SKever Yang		};
283*c9211fa2SKever Yang
284*c9211fa2SKever Yang		l3_cache: l3-cache {
285*c9211fa2SKever Yang			compatible = "cache";
286*c9211fa2SKever Yang			cache-size = <3145728>;
287*c9211fa2SKever Yang			cache-line-size = <64>;
288*c9211fa2SKever Yang			cache-sets = <4096>;
289*c9211fa2SKever Yang		};
290*c9211fa2SKever Yang	};
291*c9211fa2SKever Yang
292*c9211fa2SKever Yang	firmware {
293*c9211fa2SKever Yang		optee: optee {
294*c9211fa2SKever Yang			compatible = "linaro,optee-tz";
295*c9211fa2SKever Yang			method = "smc";
296*c9211fa2SKever Yang		};
297*c9211fa2SKever Yang
298*c9211fa2SKever Yang		scmi: scmi {
299*c9211fa2SKever Yang			compatible = "arm,scmi-smc";
300*c9211fa2SKever Yang			arm,smc-id = <0x82000010>;
301*c9211fa2SKever Yang			shmem = <&scmi_shmem>;
302*c9211fa2SKever Yang			#address-cells = <1>;
303*c9211fa2SKever Yang			#size-cells = <0>;
304*c9211fa2SKever Yang
305*c9211fa2SKever Yang			scmi_clk: protocol@14 {
306*c9211fa2SKever Yang				reg = <0x14>;
307*c9211fa2SKever Yang				assigned-clocks = <&scmi_clk SCMI_CLK_CPUB01>,
308*c9211fa2SKever Yang						  <&scmi_clk SCMI_CLK_CPUB23>;
309*c9211fa2SKever Yang				assigned-clock-rates = <1200000000>,
310*c9211fa2SKever Yang						       <1200000000>;
311*c9211fa2SKever Yang				#clock-cells = <1>;
312*c9211fa2SKever Yang			};
313*c9211fa2SKever Yang
314*c9211fa2SKever Yang			scmi_reset: protocol@16 {
315*c9211fa2SKever Yang				reg = <0x16>;
316*c9211fa2SKever Yang				#reset-cells = <1>;
317*c9211fa2SKever Yang			};
318*c9211fa2SKever Yang		};
319*c9211fa2SKever Yang	};
320*c9211fa2SKever Yang
321*c9211fa2SKever Yang	pmu-a55 {
322*c9211fa2SKever Yang		compatible = "arm,cortex-a55-pmu";
323*c9211fa2SKever Yang		interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH &ppi_partition0>;
324*c9211fa2SKever Yang	};
325*c9211fa2SKever Yang
326*c9211fa2SKever Yang	pmu-a76 {
327*c9211fa2SKever Yang		compatible = "arm,cortex-a76-pmu";
328*c9211fa2SKever Yang		interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH &ppi_partition1>;
329*c9211fa2SKever Yang	};
330*c9211fa2SKever Yang
331*c9211fa2SKever Yang	psci {
332*c9211fa2SKever Yang		compatible = "arm,psci-1.0";
333*c9211fa2SKever Yang		method = "smc";
334*c9211fa2SKever Yang	};
335*c9211fa2SKever Yang
336*c9211fa2SKever Yang	spll: clock-0 {
337*c9211fa2SKever Yang		compatible = "fixed-clock";
338*c9211fa2SKever Yang		clock-frequency = <702000000>;
339*c9211fa2SKever Yang		clock-output-names = "spll";
340*c9211fa2SKever Yang		#clock-cells = <0>;
341*c9211fa2SKever Yang	};
342*c9211fa2SKever Yang
343*c9211fa2SKever Yang	timer {
344*c9211fa2SKever Yang		compatible = "arm,armv8-timer";
345*c9211fa2SKever Yang		interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_HIGH 0>,
346*c9211fa2SKever Yang			     <GIC_PPI 14 IRQ_TYPE_LEVEL_HIGH 0>,
347*c9211fa2SKever Yang			     <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH 0>,
348*c9211fa2SKever Yang			     <GIC_PPI 10 IRQ_TYPE_LEVEL_HIGH 0>,
349*c9211fa2SKever Yang			     <GIC_PPI 12 IRQ_TYPE_LEVEL_HIGH 0>;
350*c9211fa2SKever Yang		interrupt-names = "sec-phys", "phys", "virt", "hyp-phys", "hyp-virt";
351*c9211fa2SKever Yang	};
352*c9211fa2SKever Yang
353*c9211fa2SKever Yang	xin24m: clock-1 {
354*c9211fa2SKever Yang		compatible = "fixed-clock";
355*c9211fa2SKever Yang		clock-frequency = <24000000>;
356*c9211fa2SKever Yang		clock-output-names = "xin24m";
357*c9211fa2SKever Yang		#clock-cells = <0>;
358*c9211fa2SKever Yang	};
359*c9211fa2SKever Yang
360*c9211fa2SKever Yang	xin32k: clock-2 {
361*c9211fa2SKever Yang		compatible = "fixed-clock";
362*c9211fa2SKever Yang		clock-frequency = <32768>;
363*c9211fa2SKever Yang		clock-output-names = "xin32k";
364*c9211fa2SKever Yang		#clock-cells = <0>;
365*c9211fa2SKever Yang	};
366*c9211fa2SKever Yang
367*c9211fa2SKever Yang	pmu_sram: sram@10f000 {
368*c9211fa2SKever Yang		compatible = "mmio-sram";
369*c9211fa2SKever Yang		reg = <0x0 0x0010f000 0x0 0x100>;
370*c9211fa2SKever Yang		ranges = <0 0x0 0x0010f000 0x100>;
371*c9211fa2SKever Yang		#address-cells = <1>;
372*c9211fa2SKever Yang		#size-cells = <1>;
373*c9211fa2SKever Yang
374*c9211fa2SKever Yang		scmi_shmem: sram@0 {
375*c9211fa2SKever Yang			compatible = "arm,scmi-shmem";
376*c9211fa2SKever Yang			reg = <0x0 0x100>;
377*c9211fa2SKever Yang		};
378*c9211fa2SKever Yang	};
379*c9211fa2SKever Yang
380*c9211fa2SKever Yang	sys_grf: syscon@fd58c000 {
381*c9211fa2SKever Yang		compatible = "rockchip,rk3588-sys-grf", "syscon";
382*c9211fa2SKever Yang		reg = <0x0 0xfd58c000 0x0 0x1000>;
383*c9211fa2SKever Yang	};
384*c9211fa2SKever Yang
385*c9211fa2SKever Yang	php_grf: syscon@fd5b0000 {
386*c9211fa2SKever Yang		compatible = "rockchip,rk3588-php-grf", "syscon";
387*c9211fa2SKever Yang		reg = <0x0 0xfd5b0000 0x0 0x1000>;
388*c9211fa2SKever Yang	};
389*c9211fa2SKever Yang
390*c9211fa2SKever Yang	ioc: syscon@fd5f0000 {
391*c9211fa2SKever Yang		compatible = "rockchip,rk3588-ioc", "syscon";
392*c9211fa2SKever Yang		reg = <0x0 0xfd5f0000 0x0 0x10000>;
393*c9211fa2SKever Yang	};
394*c9211fa2SKever Yang
395*c9211fa2SKever Yang	system_sram1: sram@fd600000 {
396*c9211fa2SKever Yang		compatible = "mmio-sram";
397*c9211fa2SKever Yang		reg = <0x0 0xfd600000 0x0 0x100000>;
398*c9211fa2SKever Yang		ranges = <0x0 0x0 0xfd600000 0x100000>;
399*c9211fa2SKever Yang		#address-cells = <1>;
400*c9211fa2SKever Yang		#size-cells = <1>;
401*c9211fa2SKever Yang	};
402*c9211fa2SKever Yang
403*c9211fa2SKever Yang	cru: clock-controller@fd7c0000 {
404*c9211fa2SKever Yang		compatible = "rockchip,rk3588-cru";
405*c9211fa2SKever Yang		reg = <0x0 0xfd7c0000 0x0 0x5c000>;
406*c9211fa2SKever Yang		assigned-clocks =
407*c9211fa2SKever Yang			<&cru PLL_PPLL>, <&cru PLL_AUPLL>,
408*c9211fa2SKever Yang			<&cru PLL_NPLL>, <&cru PLL_GPLL>,
409*c9211fa2SKever Yang			<&cru ACLK_CENTER_ROOT>,
410*c9211fa2SKever Yang			<&cru HCLK_CENTER_ROOT>, <&cru ACLK_CENTER_LOW_ROOT>,
411*c9211fa2SKever Yang			<&cru ACLK_TOP_ROOT>, <&cru PCLK_TOP_ROOT>,
412*c9211fa2SKever Yang			<&cru ACLK_LOW_TOP_ROOT>, <&cru PCLK_PMU0_ROOT>,
413*c9211fa2SKever Yang			<&cru HCLK_PMU_CM0_ROOT>, <&cru ACLK_VOP>,
414*c9211fa2SKever Yang			<&cru ACLK_BUS_ROOT>, <&cru CLK_150M_SRC>,
415*c9211fa2SKever Yang			<&cru CLK_GPU>;
416*c9211fa2SKever Yang		assigned-clock-rates =
417*c9211fa2SKever Yang			<100000000>, <786432000>,
418*c9211fa2SKever Yang			<850000000>, <1188000000>,
419*c9211fa2SKever Yang			<702000000>,
420*c9211fa2SKever Yang			<400000000>, <500000000>,
421*c9211fa2SKever Yang			<800000000>, <100000000>,
422*c9211fa2SKever Yang			<400000000>, <100000000>,
423*c9211fa2SKever Yang			<200000000>, <500000000>,
424*c9211fa2SKever Yang			<375000000>, <150000000>,
425*c9211fa2SKever Yang			<200000000>;
426*c9211fa2SKever Yang		rockchip,grf = <&php_grf>;
427*c9211fa2SKever Yang		#clock-cells = <1>;
428*c9211fa2SKever Yang		#reset-cells = <1>;
429*c9211fa2SKever Yang	};
430*c9211fa2SKever Yang
431*c9211fa2SKever Yang	i2c0: i2c@fd880000 {
432*c9211fa2SKever Yang		compatible = "rockchip,rk3588-i2c", "rockchip,rk3399-i2c";
433*c9211fa2SKever Yang		reg = <0x0 0xfd880000 0x0 0x1000>;
434*c9211fa2SKever Yang		interrupts = <GIC_SPI 317 IRQ_TYPE_LEVEL_HIGH 0>;
435*c9211fa2SKever Yang		clocks = <&cru CLK_I2C0>, <&cru PCLK_I2C0>;
436*c9211fa2SKever Yang		clock-names = "i2c", "pclk";
437*c9211fa2SKever Yang		pinctrl-0 = <&i2c0m0_xfer>;
438*c9211fa2SKever Yang		pinctrl-names = "default";
439*c9211fa2SKever Yang		#address-cells = <1>;
440*c9211fa2SKever Yang		#size-cells = <0>;
441*c9211fa2SKever Yang		status = "disabled";
442*c9211fa2SKever Yang	};
443*c9211fa2SKever Yang
444*c9211fa2SKever Yang	uart0: serial@fd890000 {
445*c9211fa2SKever Yang		compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart";
446*c9211fa2SKever Yang		reg = <0x0 0xfd890000 0x0 0x100>;
447*c9211fa2SKever Yang		interrupts = <GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH 0>;
448*c9211fa2SKever Yang		clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>;
449*c9211fa2SKever Yang		clock-names = "baudclk", "apb_pclk";
450*c9211fa2SKever Yang		dmas = <&dmac0 6>, <&dmac0 7>;
451*c9211fa2SKever Yang		dma-names = "tx", "rx";
452*c9211fa2SKever Yang		pinctrl-0 = <&uart0m1_xfer>;
453*c9211fa2SKever Yang		pinctrl-names = "default";
454*c9211fa2SKever Yang		reg-shift = <2>;
455*c9211fa2SKever Yang		reg-io-width = <4>;
456*c9211fa2SKever Yang		status = "disabled";
457*c9211fa2SKever Yang	};
458*c9211fa2SKever Yang
459*c9211fa2SKever Yang	pwm0: pwm@fd8b0000 {
460*c9211fa2SKever Yang		compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm";
461*c9211fa2SKever Yang		reg = <0x0 0xfd8b0000 0x0 0x10>;
462*c9211fa2SKever Yang		clocks = <&cru CLK_PMU1PWM>, <&cru PCLK_PMU1PWM>;
463*c9211fa2SKever Yang		clock-names = "pwm", "pclk";
464*c9211fa2SKever Yang		pinctrl-0 = <&pwm0m0_pins>;
465*c9211fa2SKever Yang		pinctrl-names = "default";
466*c9211fa2SKever Yang		#pwm-cells = <3>;
467*c9211fa2SKever Yang		status = "disabled";
468*c9211fa2SKever Yang	};
469*c9211fa2SKever Yang
470*c9211fa2SKever Yang	pwm1: pwm@fd8b0010 {
471*c9211fa2SKever Yang		compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm";
472*c9211fa2SKever Yang		reg = <0x0 0xfd8b0010 0x0 0x10>;
473*c9211fa2SKever Yang		clocks = <&cru CLK_PMU1PWM>, <&cru PCLK_PMU1PWM>;
474*c9211fa2SKever Yang		clock-names = "pwm", "pclk";
475*c9211fa2SKever Yang		pinctrl-0 = <&pwm1m0_pins>;
476*c9211fa2SKever Yang		pinctrl-names = "default";
477*c9211fa2SKever Yang		#pwm-cells = <3>;
478*c9211fa2SKever Yang		status = "disabled";
479*c9211fa2SKever Yang	};
480*c9211fa2SKever Yang
481*c9211fa2SKever Yang	pwm2: pwm@fd8b0020 {
482*c9211fa2SKever Yang		compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm";
483*c9211fa2SKever Yang		reg = <0x0 0xfd8b0020 0x0 0x10>;
484*c9211fa2SKever Yang		clocks = <&cru CLK_PMU1PWM>, <&cru PCLK_PMU1PWM>;
485*c9211fa2SKever Yang		clock-names = "pwm", "pclk";
486*c9211fa2SKever Yang		pinctrl-0 = <&pwm2m0_pins>;
487*c9211fa2SKever Yang		pinctrl-names = "default";
488*c9211fa2SKever Yang		#pwm-cells = <3>;
489*c9211fa2SKever Yang		status = "disabled";
490*c9211fa2SKever Yang	};
491*c9211fa2SKever Yang
492*c9211fa2SKever Yang	pwm3: pwm@fd8b0030 {
493*c9211fa2SKever Yang		compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm";
494*c9211fa2SKever Yang		reg = <0x0 0xfd8b0030 0x0 0x10>;
495*c9211fa2SKever Yang		clocks = <&cru CLK_PMU1PWM>, <&cru PCLK_PMU1PWM>;
496*c9211fa2SKever Yang		clock-names = "pwm", "pclk";
497*c9211fa2SKever Yang		pinctrl-0 = <&pwm3m0_pins>;
498*c9211fa2SKever Yang		pinctrl-names = "default";
499*c9211fa2SKever Yang		#pwm-cells = <3>;
500*c9211fa2SKever Yang		status = "disabled";
501*c9211fa2SKever Yang	};
502*c9211fa2SKever Yang
503*c9211fa2SKever Yang	pmu: power-management@fd8d8000 {
504*c9211fa2SKever Yang		compatible = "rockchip,rk3588-pmu", "syscon", "simple-mfd";
505*c9211fa2SKever Yang		reg = <0x0 0xfd8d8000 0x0 0x400>;
506*c9211fa2SKever Yang
507*c9211fa2SKever Yang		power: power-controller {
508*c9211fa2SKever Yang			compatible = "rockchip,rk3588-power-controller";
509*c9211fa2SKever Yang			#address-cells = <1>;
510*c9211fa2SKever Yang			#power-domain-cells = <1>;
511*c9211fa2SKever Yang			#size-cells = <0>;
512*c9211fa2SKever Yang			status = "okay";
513*c9211fa2SKever Yang
514*c9211fa2SKever Yang			/* These power domains are grouped by VD_NPU */
515*c9211fa2SKever Yang			power-domain@RK3588_PD_NPU {
516*c9211fa2SKever Yang				reg = <RK3588_PD_NPU>;
517*c9211fa2SKever Yang				#power-domain-cells = <0>;
518*c9211fa2SKever Yang				#address-cells = <1>;
519*c9211fa2SKever Yang				#size-cells = <0>;
520*c9211fa2SKever Yang
521*c9211fa2SKever Yang				power-domain@RK3588_PD_NPUTOP {
522*c9211fa2SKever Yang					reg = <RK3588_PD_NPUTOP>;
523*c9211fa2SKever Yang					clocks = <&cru HCLK_NPU_ROOT>,
524*c9211fa2SKever Yang						 <&cru PCLK_NPU_ROOT>,
525*c9211fa2SKever Yang						 <&cru CLK_NPU_DSU0>,
526*c9211fa2SKever Yang						 <&cru HCLK_NPU_CM0_ROOT>;
527*c9211fa2SKever Yang					pm_qos = <&qos_npu0_mwr>,
528*c9211fa2SKever Yang						 <&qos_npu0_mro>,
529*c9211fa2SKever Yang						 <&qos_mcu_npu>;
530*c9211fa2SKever Yang					#power-domain-cells = <0>;
531*c9211fa2SKever Yang					#address-cells = <1>;
532*c9211fa2SKever Yang					#size-cells = <0>;
533*c9211fa2SKever Yang
534*c9211fa2SKever Yang					power-domain@RK3588_PD_NPU1 {
535*c9211fa2SKever Yang						reg = <RK3588_PD_NPU1>;
536*c9211fa2SKever Yang						clocks = <&cru HCLK_NPU_ROOT>,
537*c9211fa2SKever Yang							 <&cru PCLK_NPU_ROOT>,
538*c9211fa2SKever Yang							 <&cru CLK_NPU_DSU0>;
539*c9211fa2SKever Yang						pm_qos = <&qos_npu1>;
540*c9211fa2SKever Yang						#power-domain-cells = <0>;
541*c9211fa2SKever Yang					};
542*c9211fa2SKever Yang					power-domain@RK3588_PD_NPU2 {
543*c9211fa2SKever Yang						reg = <RK3588_PD_NPU2>;
544*c9211fa2SKever Yang						clocks = <&cru HCLK_NPU_ROOT>,
545*c9211fa2SKever Yang							 <&cru PCLK_NPU_ROOT>,
546*c9211fa2SKever Yang							 <&cru CLK_NPU_DSU0>;
547*c9211fa2SKever Yang						pm_qos = <&qos_npu2>;
548*c9211fa2SKever Yang						#power-domain-cells = <0>;
549*c9211fa2SKever Yang					};
550*c9211fa2SKever Yang				};
551*c9211fa2SKever Yang			};
552*c9211fa2SKever Yang			/* These power domains are grouped by VD_GPU */
553*c9211fa2SKever Yang			power-domain@RK3588_PD_GPU {
554*c9211fa2SKever Yang				reg = <RK3588_PD_GPU>;
555*c9211fa2SKever Yang				clocks = <&cru CLK_GPU>,
556*c9211fa2SKever Yang					 <&cru CLK_GPU_COREGROUP>,
557*c9211fa2SKever Yang					 <&cru CLK_GPU_STACKS>;
558*c9211fa2SKever Yang				pm_qos = <&qos_gpu_m0>,
559*c9211fa2SKever Yang					 <&qos_gpu_m1>,
560*c9211fa2SKever Yang					 <&qos_gpu_m2>,
561*c9211fa2SKever Yang					 <&qos_gpu_m3>;
562*c9211fa2SKever Yang				#power-domain-cells = <0>;
563*c9211fa2SKever Yang			};
564*c9211fa2SKever Yang			/* These power domains are grouped by VD_VCODEC */
565*c9211fa2SKever Yang			power-domain@RK3588_PD_VCODEC {
566*c9211fa2SKever Yang				reg = <RK3588_PD_VCODEC>;
567*c9211fa2SKever Yang				#address-cells = <1>;
568*c9211fa2SKever Yang				#size-cells = <0>;
569*c9211fa2SKever Yang				#power-domain-cells = <0>;
570*c9211fa2SKever Yang
571*c9211fa2SKever Yang				power-domain@RK3588_PD_RKVDEC0 {
572*c9211fa2SKever Yang					reg = <RK3588_PD_RKVDEC0>;
573*c9211fa2SKever Yang					clocks = <&cru HCLK_RKVDEC0>,
574*c9211fa2SKever Yang						 <&cru HCLK_VDPU_ROOT>,
575*c9211fa2SKever Yang						 <&cru ACLK_VDPU_ROOT>,
576*c9211fa2SKever Yang						 <&cru ACLK_RKVDEC0>,
577*c9211fa2SKever Yang						 <&cru ACLK_RKVDEC_CCU>;
578*c9211fa2SKever Yang					pm_qos = <&qos_rkvdec0>;
579*c9211fa2SKever Yang					#power-domain-cells = <0>;
580*c9211fa2SKever Yang				};
581*c9211fa2SKever Yang				power-domain@RK3588_PD_RKVDEC1 {
582*c9211fa2SKever Yang					reg = <RK3588_PD_RKVDEC1>;
583*c9211fa2SKever Yang					clocks = <&cru HCLK_RKVDEC1>,
584*c9211fa2SKever Yang						 <&cru HCLK_VDPU_ROOT>,
585*c9211fa2SKever Yang						 <&cru ACLK_VDPU_ROOT>,
586*c9211fa2SKever Yang						 <&cru ACLK_RKVDEC1>;
587*c9211fa2SKever Yang					pm_qos = <&qos_rkvdec1>;
588*c9211fa2SKever Yang					#power-domain-cells = <0>;
589*c9211fa2SKever Yang				};
590*c9211fa2SKever Yang				power-domain@RK3588_PD_VENC0 {
591*c9211fa2SKever Yang					reg = <RK3588_PD_VENC0>;
592*c9211fa2SKever Yang					clocks = <&cru HCLK_RKVENC0>,
593*c9211fa2SKever Yang						 <&cru ACLK_RKVENC0>;
594*c9211fa2SKever Yang					pm_qos = <&qos_rkvenc0_m0ro>,
595*c9211fa2SKever Yang						 <&qos_rkvenc0_m1ro>,
596*c9211fa2SKever Yang						 <&qos_rkvenc0_m2wo>;
597*c9211fa2SKever Yang					#address-cells = <1>;
598*c9211fa2SKever Yang					#size-cells = <0>;
599*c9211fa2SKever Yang					#power-domain-cells = <0>;
600*c9211fa2SKever Yang
601*c9211fa2SKever Yang					power-domain@RK3588_PD_VENC1 {
602*c9211fa2SKever Yang						reg = <RK3588_PD_VENC1>;
603*c9211fa2SKever Yang						clocks = <&cru HCLK_RKVENC1>,
604*c9211fa2SKever Yang							 <&cru HCLK_RKVENC0>,
605*c9211fa2SKever Yang							 <&cru ACLK_RKVENC0>,
606*c9211fa2SKever Yang							 <&cru ACLK_RKVENC1>;
607*c9211fa2SKever Yang						pm_qos = <&qos_rkvenc1_m0ro>,
608*c9211fa2SKever Yang							 <&qos_rkvenc1_m1ro>,
609*c9211fa2SKever Yang							 <&qos_rkvenc1_m2wo>;
610*c9211fa2SKever Yang						#power-domain-cells = <0>;
611*c9211fa2SKever Yang					};
612*c9211fa2SKever Yang				};
613*c9211fa2SKever Yang			};
614*c9211fa2SKever Yang			/* These power domains are grouped by VD_LOGIC */
615*c9211fa2SKever Yang			power-domain@RK3588_PD_VDPU {
616*c9211fa2SKever Yang				reg = <RK3588_PD_VDPU>;
617*c9211fa2SKever Yang				clocks = <&cru HCLK_VDPU_ROOT>,
618*c9211fa2SKever Yang					 <&cru ACLK_VDPU_LOW_ROOT>,
619*c9211fa2SKever Yang					 <&cru ACLK_VDPU_ROOT>,
620*c9211fa2SKever Yang					 <&cru ACLK_JPEG_DECODER_ROOT>,
621*c9211fa2SKever Yang					 <&cru ACLK_IEP2P0>,
622*c9211fa2SKever Yang					 <&cru HCLK_IEP2P0>,
623*c9211fa2SKever Yang					 <&cru ACLK_JPEG_ENCODER0>,
624*c9211fa2SKever Yang					 <&cru HCLK_JPEG_ENCODER0>,
625*c9211fa2SKever Yang					 <&cru ACLK_JPEG_ENCODER1>,
626*c9211fa2SKever Yang					 <&cru HCLK_JPEG_ENCODER1>,
627*c9211fa2SKever Yang					 <&cru ACLK_JPEG_ENCODER2>,
628*c9211fa2SKever Yang					 <&cru HCLK_JPEG_ENCODER2>,
629*c9211fa2SKever Yang					 <&cru ACLK_JPEG_ENCODER3>,
630*c9211fa2SKever Yang					 <&cru HCLK_JPEG_ENCODER3>,
631*c9211fa2SKever Yang					 <&cru ACLK_JPEG_DECODER>,
632*c9211fa2SKever Yang					 <&cru HCLK_JPEG_DECODER>,
633*c9211fa2SKever Yang					 <&cru ACLK_RGA2>,
634*c9211fa2SKever Yang					 <&cru HCLK_RGA2>;
635*c9211fa2SKever Yang				pm_qos = <&qos_iep>,
636*c9211fa2SKever Yang					 <&qos_jpeg_dec>,
637*c9211fa2SKever Yang					 <&qos_jpeg_enc0>,
638*c9211fa2SKever Yang					 <&qos_jpeg_enc1>,
639*c9211fa2SKever Yang					 <&qos_jpeg_enc2>,
640*c9211fa2SKever Yang					 <&qos_jpeg_enc3>,
641*c9211fa2SKever Yang					 <&qos_rga2_mro>,
642*c9211fa2SKever Yang					 <&qos_rga2_mwo>;
643*c9211fa2SKever Yang				#address-cells = <1>;
644*c9211fa2SKever Yang				#size-cells = <0>;
645*c9211fa2SKever Yang				#power-domain-cells = <0>;
646*c9211fa2SKever Yang
647*c9211fa2SKever Yang
648*c9211fa2SKever Yang				power-domain@RK3588_PD_AV1 {
649*c9211fa2SKever Yang					reg = <RK3588_PD_AV1>;
650*c9211fa2SKever Yang					clocks = <&cru PCLK_AV1>,
651*c9211fa2SKever Yang						 <&cru ACLK_AV1>,
652*c9211fa2SKever Yang						 <&cru HCLK_VDPU_ROOT>;
653*c9211fa2SKever Yang					pm_qos = <&qos_av1>;
654*c9211fa2SKever Yang					#power-domain-cells = <0>;
655*c9211fa2SKever Yang				};
656*c9211fa2SKever Yang				power-domain@RK3588_PD_RKVDEC0 {
657*c9211fa2SKever Yang					reg = <RK3588_PD_RKVDEC0>;
658*c9211fa2SKever Yang					clocks = <&cru HCLK_RKVDEC0>,
659*c9211fa2SKever Yang						 <&cru HCLK_VDPU_ROOT>,
660*c9211fa2SKever Yang						 <&cru ACLK_VDPU_ROOT>,
661*c9211fa2SKever Yang						 <&cru ACLK_RKVDEC0>;
662*c9211fa2SKever Yang					pm_qos = <&qos_rkvdec0>;
663*c9211fa2SKever Yang					#power-domain-cells = <0>;
664*c9211fa2SKever Yang				};
665*c9211fa2SKever Yang				power-domain@RK3588_PD_RKVDEC1 {
666*c9211fa2SKever Yang					reg = <RK3588_PD_RKVDEC1>;
667*c9211fa2SKever Yang					clocks = <&cru HCLK_RKVDEC1>,
668*c9211fa2SKever Yang						 <&cru HCLK_VDPU_ROOT>,
669*c9211fa2SKever Yang						 <&cru ACLK_VDPU_ROOT>;
670*c9211fa2SKever Yang					pm_qos = <&qos_rkvdec1>;
671*c9211fa2SKever Yang					#power-domain-cells = <0>;
672*c9211fa2SKever Yang				};
673*c9211fa2SKever Yang				power-domain@RK3588_PD_RGA30 {
674*c9211fa2SKever Yang					reg = <RK3588_PD_RGA30>;
675*c9211fa2SKever Yang					clocks = <&cru ACLK_RGA3_0>,
676*c9211fa2SKever Yang						 <&cru HCLK_RGA3_0>;
677*c9211fa2SKever Yang					pm_qos = <&qos_rga3_0>;
678*c9211fa2SKever Yang					#power-domain-cells = <0>;
679*c9211fa2SKever Yang				};
680*c9211fa2SKever Yang			};
681*c9211fa2SKever Yang			power-domain@RK3588_PD_VOP {
682*c9211fa2SKever Yang				reg = <RK3588_PD_VOP>;
683*c9211fa2SKever Yang				clocks = <&cru PCLK_VOP_ROOT>,
684*c9211fa2SKever Yang					 <&cru HCLK_VOP_ROOT>,
685*c9211fa2SKever Yang					 <&cru ACLK_VOP>;
686*c9211fa2SKever Yang				pm_qos = <&qos_vop_m0>,
687*c9211fa2SKever Yang					 <&qos_vop_m1>;
688*c9211fa2SKever Yang				#address-cells = <1>;
689*c9211fa2SKever Yang				#size-cells = <0>;
690*c9211fa2SKever Yang				#power-domain-cells = <0>;
691*c9211fa2SKever Yang
692*c9211fa2SKever Yang				power-domain@RK3588_PD_VO0 {
693*c9211fa2SKever Yang					reg = <RK3588_PD_VO0>;
694*c9211fa2SKever Yang					clocks = <&cru PCLK_VO0_ROOT>,
695*c9211fa2SKever Yang						 <&cru PCLK_VO0_S_ROOT>,
696*c9211fa2SKever Yang						 <&cru HCLK_VO0_S_ROOT>,
697*c9211fa2SKever Yang						 <&cru ACLK_VO0_ROOT>,
698*c9211fa2SKever Yang						 <&cru HCLK_HDCP0>,
699*c9211fa2SKever Yang						 <&cru ACLK_HDCP0>,
700*c9211fa2SKever Yang						 <&cru HCLK_VOP_ROOT>;
701*c9211fa2SKever Yang					pm_qos = <&qos_hdcp0>;
702*c9211fa2SKever Yang					#power-domain-cells = <0>;
703*c9211fa2SKever Yang				};
704*c9211fa2SKever Yang			};
705*c9211fa2SKever Yang			power-domain@RK3588_PD_VO1 {
706*c9211fa2SKever Yang				reg = <RK3588_PD_VO1>;
707*c9211fa2SKever Yang				clocks = <&cru PCLK_VO1_ROOT>,
708*c9211fa2SKever Yang					 <&cru PCLK_VO1_S_ROOT>,
709*c9211fa2SKever Yang					 <&cru HCLK_VO1_S_ROOT>,
710*c9211fa2SKever Yang					 <&cru HCLK_HDCP1>,
711*c9211fa2SKever Yang					 <&cru ACLK_HDCP1>,
712*c9211fa2SKever Yang					 <&cru ACLK_HDMIRX_ROOT>,
713*c9211fa2SKever Yang					 <&cru HCLK_VO1USB_TOP_ROOT>;
714*c9211fa2SKever Yang				pm_qos = <&qos_hdcp1>,
715*c9211fa2SKever Yang					 <&qos_hdmirx>;
716*c9211fa2SKever Yang				#power-domain-cells = <0>;
717*c9211fa2SKever Yang			};
718*c9211fa2SKever Yang			power-domain@RK3588_PD_VI {
719*c9211fa2SKever Yang				reg = <RK3588_PD_VI>;
720*c9211fa2SKever Yang				clocks = <&cru HCLK_VI_ROOT>,
721*c9211fa2SKever Yang					 <&cru PCLK_VI_ROOT>,
722*c9211fa2SKever Yang					 <&cru HCLK_ISP0>,
723*c9211fa2SKever Yang					 <&cru ACLK_ISP0>,
724*c9211fa2SKever Yang					 <&cru HCLK_VICAP>,
725*c9211fa2SKever Yang					 <&cru ACLK_VICAP>;
726*c9211fa2SKever Yang				pm_qos = <&qos_isp0_mro>,
727*c9211fa2SKever Yang					 <&qos_isp0_mwo>,
728*c9211fa2SKever Yang					 <&qos_vicap_m0>,
729*c9211fa2SKever Yang					 <&qos_vicap_m1>;
730*c9211fa2SKever Yang				#address-cells = <1>;
731*c9211fa2SKever Yang				#size-cells = <0>;
732*c9211fa2SKever Yang				#power-domain-cells = <0>;
733*c9211fa2SKever Yang
734*c9211fa2SKever Yang				power-domain@RK3588_PD_ISP1 {
735*c9211fa2SKever Yang					reg = <RK3588_PD_ISP1>;
736*c9211fa2SKever Yang					clocks = <&cru HCLK_ISP1>,
737*c9211fa2SKever Yang						 <&cru ACLK_ISP1>,
738*c9211fa2SKever Yang						 <&cru HCLK_VI_ROOT>,
739*c9211fa2SKever Yang						 <&cru PCLK_VI_ROOT>;
740*c9211fa2SKever Yang					pm_qos = <&qos_isp1_mwo>,
741*c9211fa2SKever Yang						 <&qos_isp1_mro>;
742*c9211fa2SKever Yang					#power-domain-cells = <0>;
743*c9211fa2SKever Yang				};
744*c9211fa2SKever Yang				power-domain@RK3588_PD_FEC {
745*c9211fa2SKever Yang					reg = <RK3588_PD_FEC>;
746*c9211fa2SKever Yang					clocks = <&cru HCLK_FISHEYE0>,
747*c9211fa2SKever Yang						 <&cru ACLK_FISHEYE0>,
748*c9211fa2SKever Yang						 <&cru HCLK_FISHEYE1>,
749*c9211fa2SKever Yang						 <&cru ACLK_FISHEYE1>,
750*c9211fa2SKever Yang						 <&cru PCLK_VI_ROOT>;
751*c9211fa2SKever Yang					pm_qos = <&qos_fisheye0>,
752*c9211fa2SKever Yang						 <&qos_fisheye1>;
753*c9211fa2SKever Yang					#power-domain-cells = <0>;
754*c9211fa2SKever Yang				};
755*c9211fa2SKever Yang			};
756*c9211fa2SKever Yang			power-domain@RK3588_PD_RGA31 {
757*c9211fa2SKever Yang				reg = <RK3588_PD_RGA31>;
758*c9211fa2SKever Yang				clocks = <&cru HCLK_RGA3_1>,
759*c9211fa2SKever Yang					 <&cru ACLK_RGA3_1>;
760*c9211fa2SKever Yang				pm_qos = <&qos_rga3_1>;
761*c9211fa2SKever Yang				#power-domain-cells = <0>;
762*c9211fa2SKever Yang			};
763*c9211fa2SKever Yang			power-domain@RK3588_PD_USB {
764*c9211fa2SKever Yang				reg = <RK3588_PD_USB>;
765*c9211fa2SKever Yang				clocks = <&cru PCLK_PHP_ROOT>,
766*c9211fa2SKever Yang					 <&cru ACLK_USB_ROOT>,
767*c9211fa2SKever Yang					 <&cru HCLK_USB_ROOT>,
768*c9211fa2SKever Yang					 <&cru HCLK_HOST0>,
769*c9211fa2SKever Yang					 <&cru HCLK_HOST_ARB0>,
770*c9211fa2SKever Yang					 <&cru HCLK_HOST1>,
771*c9211fa2SKever Yang					 <&cru HCLK_HOST_ARB1>;
772*c9211fa2SKever Yang				pm_qos = <&qos_usb3_0>,
773*c9211fa2SKever Yang					 <&qos_usb3_1>,
774*c9211fa2SKever Yang					 <&qos_usb2host_0>,
775*c9211fa2SKever Yang					 <&qos_usb2host_1>;
776*c9211fa2SKever Yang				#power-domain-cells = <0>;
777*c9211fa2SKever Yang			};
778*c9211fa2SKever Yang			power-domain@RK3588_PD_GMAC {
779*c9211fa2SKever Yang				reg = <RK3588_PD_GMAC>;
780*c9211fa2SKever Yang				clocks = <&cru PCLK_PHP_ROOT>,
781*c9211fa2SKever Yang					 <&cru ACLK_PCIE_ROOT>,
782*c9211fa2SKever Yang					 <&cru ACLK_PHP_ROOT>;
783*c9211fa2SKever Yang				#power-domain-cells = <0>;
784*c9211fa2SKever Yang			};
785*c9211fa2SKever Yang			power-domain@RK3588_PD_PCIE {
786*c9211fa2SKever Yang				reg = <RK3588_PD_PCIE>;
787*c9211fa2SKever Yang				clocks = <&cru PCLK_PHP_ROOT>,
788*c9211fa2SKever Yang					 <&cru ACLK_PCIE_ROOT>,
789*c9211fa2SKever Yang					 <&cru ACLK_PHP_ROOT>;
790*c9211fa2SKever Yang				#power-domain-cells = <0>;
791*c9211fa2SKever Yang			};
792*c9211fa2SKever Yang			power-domain@RK3588_PD_SDIO {
793*c9211fa2SKever Yang				reg = <RK3588_PD_SDIO>;
794*c9211fa2SKever Yang				clocks = <&cru HCLK_SDIO>,
795*c9211fa2SKever Yang					 <&cru HCLK_NVM_ROOT>;
796*c9211fa2SKever Yang				pm_qos = <&qos_sdio>;
797*c9211fa2SKever Yang				#power-domain-cells = <0>;
798*c9211fa2SKever Yang			};
799*c9211fa2SKever Yang			power-domain@RK3588_PD_AUDIO {
800*c9211fa2SKever Yang				reg = <RK3588_PD_AUDIO>;
801*c9211fa2SKever Yang				clocks = <&cru HCLK_AUDIO_ROOT>,
802*c9211fa2SKever Yang					 <&cru PCLK_AUDIO_ROOT>;
803*c9211fa2SKever Yang				#power-domain-cells = <0>;
804*c9211fa2SKever Yang			};
805*c9211fa2SKever Yang			power-domain@RK3588_PD_SDMMC {
806*c9211fa2SKever Yang				reg = <RK3588_PD_SDMMC>;
807*c9211fa2SKever Yang				pm_qos = <&qos_sdmmc>;
808*c9211fa2SKever Yang				#power-domain-cells = <0>;
809*c9211fa2SKever Yang			};
810*c9211fa2SKever Yang		};
811*c9211fa2SKever Yang	};
812*c9211fa2SKever Yang
813*c9211fa2SKever Yang	qos_gpu_m0: qos@fdf35000 {
814*c9211fa2SKever Yang		compatible = "rockchip,rk3588-qos", "syscon";
815*c9211fa2SKever Yang		reg = <0x0 0xfdf35000 0x0 0x20>;
816*c9211fa2SKever Yang	};
817*c9211fa2SKever Yang
818*c9211fa2SKever Yang	qos_gpu_m1: qos@fdf35200 {
819*c9211fa2SKever Yang		compatible = "rockchip,rk3588-qos", "syscon";
820*c9211fa2SKever Yang		reg = <0x0 0xfdf35200 0x0 0x20>;
821*c9211fa2SKever Yang	};
822*c9211fa2SKever Yang
823*c9211fa2SKever Yang	qos_gpu_m2: qos@fdf35400 {
824*c9211fa2SKever Yang		compatible = "rockchip,rk3588-qos", "syscon";
825*c9211fa2SKever Yang		reg = <0x0 0xfdf35400 0x0 0x20>;
826*c9211fa2SKever Yang	};
827*c9211fa2SKever Yang
828*c9211fa2SKever Yang	qos_gpu_m3: qos@fdf35600 {
829*c9211fa2SKever Yang		compatible = "rockchip,rk3588-qos", "syscon";
830*c9211fa2SKever Yang		reg = <0x0 0xfdf35600 0x0 0x20>;
831*c9211fa2SKever Yang	};
832*c9211fa2SKever Yang
833*c9211fa2SKever Yang	qos_rga3_1: qos@fdf36000 {
834*c9211fa2SKever Yang		compatible = "rockchip,rk3588-qos", "syscon";
835*c9211fa2SKever Yang		reg = <0x0 0xfdf36000 0x0 0x20>;
836*c9211fa2SKever Yang	};
837*c9211fa2SKever Yang
838*c9211fa2SKever Yang	qos_sdio: qos@fdf39000 {
839*c9211fa2SKever Yang		compatible = "rockchip,rk3588-qos", "syscon";
840*c9211fa2SKever Yang		reg = <0x0 0xfdf39000 0x0 0x20>;
841*c9211fa2SKever Yang	};
842*c9211fa2SKever Yang
843*c9211fa2SKever Yang	qos_sdmmc: qos@fdf3d800 {
844*c9211fa2SKever Yang		compatible = "rockchip,rk3588-qos", "syscon";
845*c9211fa2SKever Yang		reg = <0x0 0xfdf3d800 0x0 0x20>;
846*c9211fa2SKever Yang	};
847*c9211fa2SKever Yang
848*c9211fa2SKever Yang	qos_usb3_1: qos@fdf3e000 {
849*c9211fa2SKever Yang		compatible = "rockchip,rk3588-qos", "syscon";
850*c9211fa2SKever Yang		reg = <0x0 0xfdf3e000 0x0 0x20>;
851*c9211fa2SKever Yang	};
852*c9211fa2SKever Yang
853*c9211fa2SKever Yang	qos_usb3_0: qos@fdf3e200 {
854*c9211fa2SKever Yang		compatible = "rockchip,rk3588-qos", "syscon";
855*c9211fa2SKever Yang		reg = <0x0 0xfdf3e200 0x0 0x20>;
856*c9211fa2SKever Yang	};
857*c9211fa2SKever Yang
858*c9211fa2SKever Yang	qos_usb2host_0: qos@fdf3e400 {
859*c9211fa2SKever Yang		compatible = "rockchip,rk3588-qos", "syscon";
860*c9211fa2SKever Yang		reg = <0x0 0xfdf3e400 0x0 0x20>;
861*c9211fa2SKever Yang	};
862*c9211fa2SKever Yang
863*c9211fa2SKever Yang	qos_usb2host_1: qos@fdf3e600 {
864*c9211fa2SKever Yang		compatible = "rockchip,rk3588-qos", "syscon";
865*c9211fa2SKever Yang		reg = <0x0 0xfdf3e600 0x0 0x20>;
866*c9211fa2SKever Yang	};
867*c9211fa2SKever Yang
868*c9211fa2SKever Yang	qos_fisheye0: qos@fdf40000 {
869*c9211fa2SKever Yang		compatible = "rockchip,rk3588-qos", "syscon";
870*c9211fa2SKever Yang		reg = <0x0 0xfdf40000 0x0 0x20>;
871*c9211fa2SKever Yang	};
872*c9211fa2SKever Yang
873*c9211fa2SKever Yang	qos_fisheye1: qos@fdf40200 {
874*c9211fa2SKever Yang		compatible = "rockchip,rk3588-qos", "syscon";
875*c9211fa2SKever Yang		reg = <0x0 0xfdf40200 0x0 0x20>;
876*c9211fa2SKever Yang	};
877*c9211fa2SKever Yang
878*c9211fa2SKever Yang	qos_isp0_mro: qos@fdf40400 {
879*c9211fa2SKever Yang		compatible = "rockchip,rk3588-qos", "syscon";
880*c9211fa2SKever Yang		reg = <0x0 0xfdf40400 0x0 0x20>;
881*c9211fa2SKever Yang	};
882*c9211fa2SKever Yang
883*c9211fa2SKever Yang	qos_isp0_mwo: qos@fdf40500 {
884*c9211fa2SKever Yang		compatible = "rockchip,rk3588-qos", "syscon";
885*c9211fa2SKever Yang		reg = <0x0 0xfdf40500 0x0 0x20>;
886*c9211fa2SKever Yang	};
887*c9211fa2SKever Yang
888*c9211fa2SKever Yang	qos_vicap_m0: qos@fdf40600 {
889*c9211fa2SKever Yang		compatible = "rockchip,rk3588-qos", "syscon";
890*c9211fa2SKever Yang		reg = <0x0 0xfdf40600 0x0 0x20>;
891*c9211fa2SKever Yang	};
892*c9211fa2SKever Yang
893*c9211fa2SKever Yang	qos_vicap_m1: qos@fdf40800 {
894*c9211fa2SKever Yang		compatible = "rockchip,rk3588-qos", "syscon";
895*c9211fa2SKever Yang		reg = <0x0 0xfdf40800 0x0 0x20>;
896*c9211fa2SKever Yang	};
897*c9211fa2SKever Yang
898*c9211fa2SKever Yang	qos_isp1_mwo: qos@fdf41000 {
899*c9211fa2SKever Yang		compatible = "rockchip,rk3588-qos", "syscon";
900*c9211fa2SKever Yang		reg = <0x0 0xfdf41000 0x0 0x20>;
901*c9211fa2SKever Yang	};
902*c9211fa2SKever Yang
903*c9211fa2SKever Yang	qos_isp1_mro: qos@fdf41100 {
904*c9211fa2SKever Yang		compatible = "rockchip,rk3588-qos", "syscon";
905*c9211fa2SKever Yang		reg = <0x0 0xfdf41100 0x0 0x20>;
906*c9211fa2SKever Yang	};
907*c9211fa2SKever Yang
908*c9211fa2SKever Yang	qos_rkvenc0_m0ro: qos@fdf60000 {
909*c9211fa2SKever Yang		compatible = "rockchip,rk3588-qos", "syscon";
910*c9211fa2SKever Yang		reg = <0x0 0xfdf60000 0x0 0x20>;
911*c9211fa2SKever Yang	};
912*c9211fa2SKever Yang
913*c9211fa2SKever Yang	qos_rkvenc0_m1ro: qos@fdf60200 {
914*c9211fa2SKever Yang		compatible = "rockchip,rk3588-qos", "syscon";
915*c9211fa2SKever Yang		reg = <0x0 0xfdf60200 0x0 0x20>;
916*c9211fa2SKever Yang	};
917*c9211fa2SKever Yang
918*c9211fa2SKever Yang	qos_rkvenc0_m2wo: qos@fdf60400 {
919*c9211fa2SKever Yang		compatible = "rockchip,rk3588-qos", "syscon";
920*c9211fa2SKever Yang		reg = <0x0 0xfdf60400 0x0 0x20>;
921*c9211fa2SKever Yang	};
922*c9211fa2SKever Yang
923*c9211fa2SKever Yang	qos_rkvenc1_m0ro: qos@fdf61000 {
924*c9211fa2SKever Yang		compatible = "rockchip,rk3588-qos", "syscon";
925*c9211fa2SKever Yang		reg = <0x0 0xfdf61000 0x0 0x20>;
926*c9211fa2SKever Yang	};
927*c9211fa2SKever Yang
928*c9211fa2SKever Yang	qos_rkvenc1_m1ro: qos@fdf61200 {
929*c9211fa2SKever Yang		compatible = "rockchip,rk3588-qos", "syscon";
930*c9211fa2SKever Yang		reg = <0x0 0xfdf61200 0x0 0x20>;
931*c9211fa2SKever Yang	};
932*c9211fa2SKever Yang
933*c9211fa2SKever Yang	qos_rkvenc1_m2wo: qos@fdf61400 {
934*c9211fa2SKever Yang		compatible = "rockchip,rk3588-qos", "syscon";
935*c9211fa2SKever Yang		reg = <0x0 0xfdf61400 0x0 0x20>;
936*c9211fa2SKever Yang	};
937*c9211fa2SKever Yang
938*c9211fa2SKever Yang	qos_rkvdec0: qos@fdf62000 {
939*c9211fa2SKever Yang		compatible = "rockchip,rk3588-qos", "syscon";
940*c9211fa2SKever Yang		reg = <0x0 0xfdf62000 0x0 0x20>;
941*c9211fa2SKever Yang	};
942*c9211fa2SKever Yang
943*c9211fa2SKever Yang	qos_rkvdec1: qos@fdf63000 {
944*c9211fa2SKever Yang		compatible = "rockchip,rk3588-qos", "syscon";
945*c9211fa2SKever Yang		reg = <0x0 0xfdf63000 0x0 0x20>;
946*c9211fa2SKever Yang	};
947*c9211fa2SKever Yang
948*c9211fa2SKever Yang	qos_av1: qos@fdf64000 {
949*c9211fa2SKever Yang		compatible = "rockchip,rk3588-qos", "syscon";
950*c9211fa2SKever Yang		reg = <0x0 0xfdf64000 0x0 0x20>;
951*c9211fa2SKever Yang	};
952*c9211fa2SKever Yang
953*c9211fa2SKever Yang	qos_iep: qos@fdf66000 {
954*c9211fa2SKever Yang		compatible = "rockchip,rk3588-qos", "syscon";
955*c9211fa2SKever Yang		reg = <0x0 0xfdf66000 0x0 0x20>;
956*c9211fa2SKever Yang	};
957*c9211fa2SKever Yang
958*c9211fa2SKever Yang	qos_jpeg_dec: qos@fdf66200 {
959*c9211fa2SKever Yang		compatible = "rockchip,rk3588-qos", "syscon";
960*c9211fa2SKever Yang		reg = <0x0 0xfdf66200 0x0 0x20>;
961*c9211fa2SKever Yang	};
962*c9211fa2SKever Yang
963*c9211fa2SKever Yang	qos_jpeg_enc0: qos@fdf66400 {
964*c9211fa2SKever Yang		compatible = "rockchip,rk3588-qos", "syscon";
965*c9211fa2SKever Yang		reg = <0x0 0xfdf66400 0x0 0x20>;
966*c9211fa2SKever Yang	};
967*c9211fa2SKever Yang
968*c9211fa2SKever Yang	qos_jpeg_enc1: qos@fdf66600 {
969*c9211fa2SKever Yang		compatible = "rockchip,rk3588-qos", "syscon";
970*c9211fa2SKever Yang		reg = <0x0 0xfdf66600 0x0 0x20>;
971*c9211fa2SKever Yang	};
972*c9211fa2SKever Yang
973*c9211fa2SKever Yang	qos_jpeg_enc2: qos@fdf66800 {
974*c9211fa2SKever Yang		compatible = "rockchip,rk3588-qos", "syscon";
975*c9211fa2SKever Yang		reg = <0x0 0xfdf66800 0x0 0x20>;
976*c9211fa2SKever Yang	};
977*c9211fa2SKever Yang
978*c9211fa2SKever Yang	qos_jpeg_enc3: qos@fdf66a00 {
979*c9211fa2SKever Yang		compatible = "rockchip,rk3588-qos", "syscon";
980*c9211fa2SKever Yang		reg = <0x0 0xfdf66a00 0x0 0x20>;
981*c9211fa2SKever Yang	};
982*c9211fa2SKever Yang
983*c9211fa2SKever Yang	qos_rga2_mro: qos@fdf66c00 {
984*c9211fa2SKever Yang		compatible = "rockchip,rk3588-qos", "syscon";
985*c9211fa2SKever Yang		reg = <0x0 0xfdf66c00 0x0 0x20>;
986*c9211fa2SKever Yang	};
987*c9211fa2SKever Yang
988*c9211fa2SKever Yang	qos_rga2_mwo: qos@fdf66e00 {
989*c9211fa2SKever Yang		compatible = "rockchip,rk3588-qos", "syscon";
990*c9211fa2SKever Yang		reg = <0x0 0xfdf66e00 0x0 0x20>;
991*c9211fa2SKever Yang	};
992*c9211fa2SKever Yang
993*c9211fa2SKever Yang	qos_rga3_0: qos@fdf67000 {
994*c9211fa2SKever Yang		compatible = "rockchip,rk3588-qos", "syscon";
995*c9211fa2SKever Yang		reg = <0x0 0xfdf67000 0x0 0x20>;
996*c9211fa2SKever Yang	};
997*c9211fa2SKever Yang
998*c9211fa2SKever Yang	qos_vdpu: qos@fdf67200 {
999*c9211fa2SKever Yang		compatible = "rockchip,rk3588-qos", "syscon";
1000*c9211fa2SKever Yang		reg = <0x0 0xfdf67200 0x0 0x20>;
1001*c9211fa2SKever Yang	};
1002*c9211fa2SKever Yang
1003*c9211fa2SKever Yang	qos_npu1: qos@fdf70000 {
1004*c9211fa2SKever Yang		compatible = "rockchip,rk3588-qos", "syscon";
1005*c9211fa2SKever Yang		reg = <0x0 0xfdf70000 0x0 0x20>;
1006*c9211fa2SKever Yang	};
1007*c9211fa2SKever Yang
1008*c9211fa2SKever Yang	qos_npu2: qos@fdf71000 {
1009*c9211fa2SKever Yang		compatible = "rockchip,rk3588-qos", "syscon";
1010*c9211fa2SKever Yang		reg = <0x0 0xfdf71000 0x0 0x20>;
1011*c9211fa2SKever Yang	};
1012*c9211fa2SKever Yang
1013*c9211fa2SKever Yang	qos_npu0_mwr: qos@fdf72000 {
1014*c9211fa2SKever Yang		compatible = "rockchip,rk3588-qos", "syscon";
1015*c9211fa2SKever Yang		reg = <0x0 0xfdf72000 0x0 0x20>;
1016*c9211fa2SKever Yang	};
1017*c9211fa2SKever Yang
1018*c9211fa2SKever Yang	qos_npu0_mro: qos@fdf72200 {
1019*c9211fa2SKever Yang		compatible = "rockchip,rk3588-qos", "syscon";
1020*c9211fa2SKever Yang		reg = <0x0 0xfdf72200 0x0 0x20>;
1021*c9211fa2SKever Yang	};
1022*c9211fa2SKever Yang
1023*c9211fa2SKever Yang	qos_mcu_npu: qos@fdf72400 {
1024*c9211fa2SKever Yang		compatible = "rockchip,rk3588-qos", "syscon";
1025*c9211fa2SKever Yang		reg = <0x0 0xfdf72400 0x0 0x20>;
1026*c9211fa2SKever Yang	};
1027*c9211fa2SKever Yang
1028*c9211fa2SKever Yang	qos_hdcp0: qos@fdf80000 {
1029*c9211fa2SKever Yang		compatible = "rockchip,rk3588-qos", "syscon";
1030*c9211fa2SKever Yang		reg = <0x0 0xfdf80000 0x0 0x20>;
1031*c9211fa2SKever Yang	};
1032*c9211fa2SKever Yang
1033*c9211fa2SKever Yang	qos_hdcp1: qos@fdf81000 {
1034*c9211fa2SKever Yang		compatible = "rockchip,rk3588-qos", "syscon";
1035*c9211fa2SKever Yang		reg = <0x0 0xfdf81000 0x0 0x20>;
1036*c9211fa2SKever Yang	};
1037*c9211fa2SKever Yang
1038*c9211fa2SKever Yang	qos_hdmirx: qos@fdf81200 {
1039*c9211fa2SKever Yang		compatible = "rockchip,rk3588-qos", "syscon";
1040*c9211fa2SKever Yang		reg = <0x0 0xfdf81200 0x0 0x20>;
1041*c9211fa2SKever Yang	};
1042*c9211fa2SKever Yang
1043*c9211fa2SKever Yang	qos_vop_m0: qos@fdf82000 {
1044*c9211fa2SKever Yang		compatible = "rockchip,rk3588-qos", "syscon";
1045*c9211fa2SKever Yang		reg = <0x0 0xfdf82000 0x0 0x20>;
1046*c9211fa2SKever Yang	};
1047*c9211fa2SKever Yang
1048*c9211fa2SKever Yang	qos_vop_m1: qos@fdf82200 {
1049*c9211fa2SKever Yang		compatible = "rockchip,rk3588-qos", "syscon";
1050*c9211fa2SKever Yang		reg = <0x0 0xfdf82200 0x0 0x20>;
1051*c9211fa2SKever Yang	};
1052*c9211fa2SKever Yang
1053*c9211fa2SKever Yang	gmac1: ethernet@fe1c0000 {
1054*c9211fa2SKever Yang		compatible = "rockchip,rk3588-gmac", "snps,dwmac-4.20a";
1055*c9211fa2SKever Yang		reg = <0x0 0xfe1c0000 0x0 0x10000>;
1056*c9211fa2SKever Yang		interrupts = <GIC_SPI 234 IRQ_TYPE_LEVEL_HIGH 0>,
1057*c9211fa2SKever Yang			     <GIC_SPI 233 IRQ_TYPE_LEVEL_HIGH 0>;
1058*c9211fa2SKever Yang		interrupt-names = "macirq", "eth_wake_irq";
1059*c9211fa2SKever Yang		clocks = <&cru CLK_GMAC_125M>, <&cru CLK_GMAC_50M>,
1060*c9211fa2SKever Yang			 <&cru PCLK_GMAC1>, <&cru ACLK_GMAC1>,
1061*c9211fa2SKever Yang			 <&cru CLK_GMAC1_PTP_REF>;
1062*c9211fa2SKever Yang		clock-names = "stmmaceth", "clk_mac_ref",
1063*c9211fa2SKever Yang			      "pclk_mac", "aclk_mac",
1064*c9211fa2SKever Yang			      "ptp_ref";
1065*c9211fa2SKever Yang		power-domains = <&power RK3588_PD_GMAC>;
1066*c9211fa2SKever Yang		resets = <&cru SRST_A_GMAC1>;
1067*c9211fa2SKever Yang		reset-names = "stmmaceth";
1068*c9211fa2SKever Yang		rockchip,grf = <&sys_grf>;
1069*c9211fa2SKever Yang		rockchip,php-grf = <&php_grf>;
1070*c9211fa2SKever Yang		snps,axi-config = <&gmac1_stmmac_axi_setup>;
1071*c9211fa2SKever Yang		snps,mixed-burst;
1072*c9211fa2SKever Yang		snps,mtl-rx-config = <&gmac1_mtl_rx_setup>;
1073*c9211fa2SKever Yang		snps,mtl-tx-config = <&gmac1_mtl_tx_setup>;
1074*c9211fa2SKever Yang		snps,tso;
1075*c9211fa2SKever Yang		status = "disabled";
1076*c9211fa2SKever Yang
1077*c9211fa2SKever Yang		mdio1: mdio {
1078*c9211fa2SKever Yang			compatible = "snps,dwmac-mdio";
1079*c9211fa2SKever Yang			#address-cells = <0x1>;
1080*c9211fa2SKever Yang			#size-cells = <0x0>;
1081*c9211fa2SKever Yang		};
1082*c9211fa2SKever Yang
1083*c9211fa2SKever Yang		gmac1_stmmac_axi_setup: stmmac-axi-config {
1084*c9211fa2SKever Yang			snps,blen = <0 0 0 0 16 8 4>;
1085*c9211fa2SKever Yang			snps,wr_osr_lmt = <4>;
1086*c9211fa2SKever Yang			snps,rd_osr_lmt = <8>;
1087*c9211fa2SKever Yang		};
1088*c9211fa2SKever Yang
1089*c9211fa2SKever Yang		gmac1_mtl_rx_setup: rx-queues-config {
1090*c9211fa2SKever Yang			snps,rx-queues-to-use = <2>;
1091*c9211fa2SKever Yang			queue0 {};
1092*c9211fa2SKever Yang			queue1 {};
1093*c9211fa2SKever Yang		};
1094*c9211fa2SKever Yang
1095*c9211fa2SKever Yang		gmac1_mtl_tx_setup: tx-queues-config {
1096*c9211fa2SKever Yang			snps,tx-queues-to-use = <2>;
1097*c9211fa2SKever Yang			queue0 {};
1098*c9211fa2SKever Yang			queue1 {};
1099*c9211fa2SKever Yang		};
1100*c9211fa2SKever Yang	};
1101*c9211fa2SKever Yang
1102*c9211fa2SKever Yang	sdhci: mmc@fe2e0000 {
1103*c9211fa2SKever Yang		compatible = "rockchip,rk3588-dwcmshc";
1104*c9211fa2SKever Yang		reg = <0x0 0xfe2e0000 0x0 0x10000>;
1105*c9211fa2SKever Yang		interrupts = <GIC_SPI 205 IRQ_TYPE_LEVEL_HIGH 0>;
1106*c9211fa2SKever Yang		assigned-clocks = <&cru BCLK_EMMC>, <&cru TMCLK_EMMC>, <&cru CCLK_EMMC>;
1107*c9211fa2SKever Yang		assigned-clock-rates = <200000000>, <24000000>, <200000000>;
1108*c9211fa2SKever Yang		clocks = <&cru CCLK_EMMC>, <&cru HCLK_EMMC>,
1109*c9211fa2SKever Yang			 <&cru ACLK_EMMC>, <&cru BCLK_EMMC>,
1110*c9211fa2SKever Yang			 <&cru TMCLK_EMMC>;
1111*c9211fa2SKever Yang		clock-names = "core", "bus", "axi", "block", "timer";
1112*c9211fa2SKever Yang		max-frequency = <200000000>;
1113*c9211fa2SKever Yang		resets = <&cru SRST_C_EMMC>, <&cru SRST_H_EMMC>,
1114*c9211fa2SKever Yang			 <&cru SRST_A_EMMC>, <&cru SRST_B_EMMC>,
1115*c9211fa2SKever Yang			 <&cru SRST_T_EMMC>;
1116*c9211fa2SKever Yang		reset-names = "core", "bus", "axi", "block", "timer";
1117*c9211fa2SKever Yang		status = "disabled";
1118*c9211fa2SKever Yang	};
1119*c9211fa2SKever Yang
1120*c9211fa2SKever Yang	gic: interrupt-controller@fe600000 {
1121*c9211fa2SKever Yang		compatible = "arm,gic-v3";
1122*c9211fa2SKever Yang		reg = <0x0 0xfe600000 0 0x10000>, /* GICD */
1123*c9211fa2SKever Yang		      <0x0 0xfe680000 0 0x100000>; /* GICR */
1124*c9211fa2SKever Yang		interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH 0>;
1125*c9211fa2SKever Yang		interrupt-controller;
1126*c9211fa2SKever Yang		mbi-alias = <0x0 0xfe610000>;
1127*c9211fa2SKever Yang		mbi-ranges = <424 56>;
1128*c9211fa2SKever Yang		msi-controller;
1129*c9211fa2SKever Yang		#interrupt-cells = <4>;
1130*c9211fa2SKever Yang
1131*c9211fa2SKever Yang		ppi-partitions {
1132*c9211fa2SKever Yang			ppi_partition0: interrupt-partition-0 {
1133*c9211fa2SKever Yang				affinity = <&cpu_l0 &cpu_l1 &cpu_l2 &cpu_l3>;
1134*c9211fa2SKever Yang			};
1135*c9211fa2SKever Yang
1136*c9211fa2SKever Yang			ppi_partition1: interrupt-partition-1 {
1137*c9211fa2SKever Yang				affinity = <&cpu_b0 &cpu_b1 &cpu_b2 &cpu_b3>;
1138*c9211fa2SKever Yang			};
1139*c9211fa2SKever Yang		};
1140*c9211fa2SKever Yang	};
1141*c9211fa2SKever Yang
1142*c9211fa2SKever Yang	dmac0: dma-controller@fea10000 {
1143*c9211fa2SKever Yang		compatible = "arm,pl330", "arm,primecell";
1144*c9211fa2SKever Yang		reg = <0x0 0xfea10000 0x0 0x4000>;
1145*c9211fa2SKever Yang		interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH 0>,
1146*c9211fa2SKever Yang			     <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH 0>;
1147*c9211fa2SKever Yang		arm,pl330-periph-burst;
1148*c9211fa2SKever Yang		clocks = <&cru ACLK_DMAC0>;
1149*c9211fa2SKever Yang		clock-names = "apb_pclk";
1150*c9211fa2SKever Yang		#dma-cells = <1>;
1151*c9211fa2SKever Yang	};
1152*c9211fa2SKever Yang
1153*c9211fa2SKever Yang	dmac1: dma-controller@fea30000 {
1154*c9211fa2SKever Yang		compatible = "arm,pl330", "arm,primecell";
1155*c9211fa2SKever Yang		reg = <0x0 0xfea30000 0x0 0x4000>;
1156*c9211fa2SKever Yang		interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH 0>,
1157*c9211fa2SKever Yang			     <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH 0>;
1158*c9211fa2SKever Yang		arm,pl330-periph-burst;
1159*c9211fa2SKever Yang		clocks = <&cru ACLK_DMAC1>;
1160*c9211fa2SKever Yang		clock-names = "apb_pclk";
1161*c9211fa2SKever Yang		#dma-cells = <1>;
1162*c9211fa2SKever Yang	};
1163*c9211fa2SKever Yang
1164*c9211fa2SKever Yang	i2c1: i2c@fea90000 {
1165*c9211fa2SKever Yang		compatible = "rockchip,rk3588-i2c", "rockchip,rk3399-i2c";
1166*c9211fa2SKever Yang		reg = <0x0 0xfea90000 0x0 0x1000>;
1167*c9211fa2SKever Yang		clocks = <&cru CLK_I2C1>, <&cru PCLK_I2C1>;
1168*c9211fa2SKever Yang		clock-names = "i2c", "pclk";
1169*c9211fa2SKever Yang		interrupts = <GIC_SPI 318 IRQ_TYPE_LEVEL_HIGH 0>;
1170*c9211fa2SKever Yang		pinctrl-0 = <&i2c1m0_xfer>;
1171*c9211fa2SKever Yang		pinctrl-names = "default";
1172*c9211fa2SKever Yang		#address-cells = <1>;
1173*c9211fa2SKever Yang		#size-cells = <0>;
1174*c9211fa2SKever Yang		status = "disabled";
1175*c9211fa2SKever Yang	};
1176*c9211fa2SKever Yang
1177*c9211fa2SKever Yang	i2c2: i2c@feaa0000 {
1178*c9211fa2SKever Yang		compatible = "rockchip,rk3588-i2c", "rockchip,rk3399-i2c";
1179*c9211fa2SKever Yang		reg = <0x0 0xfeaa0000 0x0 0x1000>;
1180*c9211fa2SKever Yang		clocks = <&cru CLK_I2C2>, <&cru PCLK_I2C2>;
1181*c9211fa2SKever Yang		clock-names = "i2c", "pclk";
1182*c9211fa2SKever Yang		interrupts = <GIC_SPI 319 IRQ_TYPE_LEVEL_HIGH 0>;
1183*c9211fa2SKever Yang		pinctrl-0 = <&i2c2m0_xfer>;
1184*c9211fa2SKever Yang		pinctrl-names = "default";
1185*c9211fa2SKever Yang		#address-cells = <1>;
1186*c9211fa2SKever Yang		#size-cells = <0>;
1187*c9211fa2SKever Yang		status = "disabled";
1188*c9211fa2SKever Yang	};
1189*c9211fa2SKever Yang
1190*c9211fa2SKever Yang	i2c3: i2c@feab0000 {
1191*c9211fa2SKever Yang		compatible = "rockchip,rk3588-i2c", "rockchip,rk3399-i2c";
1192*c9211fa2SKever Yang		reg = <0x0 0xfeab0000 0x0 0x1000>;
1193*c9211fa2SKever Yang		clocks = <&cru CLK_I2C3>, <&cru PCLK_I2C3>;
1194*c9211fa2SKever Yang		clock-names = "i2c", "pclk";
1195*c9211fa2SKever Yang		interrupts = <GIC_SPI 320 IRQ_TYPE_LEVEL_HIGH 0>;
1196*c9211fa2SKever Yang		pinctrl-0 = <&i2c3m0_xfer>;
1197*c9211fa2SKever Yang		pinctrl-names = "default";
1198*c9211fa2SKever Yang		#address-cells = <1>;
1199*c9211fa2SKever Yang		#size-cells = <0>;
1200*c9211fa2SKever Yang		status = "disabled";
1201*c9211fa2SKever Yang	};
1202*c9211fa2SKever Yang
1203*c9211fa2SKever Yang	i2c4: i2c@feac0000 {
1204*c9211fa2SKever Yang		compatible = "rockchip,rk3588-i2c", "rockchip,rk3399-i2c";
1205*c9211fa2SKever Yang		reg = <0x0 0xfeac0000 0x0 0x1000>;
1206*c9211fa2SKever Yang		clocks = <&cru CLK_I2C4>, <&cru PCLK_I2C4>;
1207*c9211fa2SKever Yang		clock-names = "i2c", "pclk";
1208*c9211fa2SKever Yang		interrupts = <GIC_SPI 321 IRQ_TYPE_LEVEL_HIGH 0>;
1209*c9211fa2SKever Yang		pinctrl-0 = <&i2c4m0_xfer>;
1210*c9211fa2SKever Yang		pinctrl-names = "default";
1211*c9211fa2SKever Yang		#address-cells = <1>;
1212*c9211fa2SKever Yang		#size-cells = <0>;
1213*c9211fa2SKever Yang		status = "disabled";
1214*c9211fa2SKever Yang	};
1215*c9211fa2SKever Yang
1216*c9211fa2SKever Yang	i2c5: i2c@fead0000 {
1217*c9211fa2SKever Yang		compatible = "rockchip,rk3588-i2c", "rockchip,rk3399-i2c";
1218*c9211fa2SKever Yang		reg = <0x0 0xfead0000 0x0 0x1000>;
1219*c9211fa2SKever Yang		clocks = <&cru CLK_I2C5>, <&cru PCLK_I2C5>;
1220*c9211fa2SKever Yang		clock-names = "i2c", "pclk";
1221*c9211fa2SKever Yang		interrupts = <GIC_SPI 322 IRQ_TYPE_LEVEL_HIGH 0>;
1222*c9211fa2SKever Yang		pinctrl-0 = <&i2c5m0_xfer>;
1223*c9211fa2SKever Yang		pinctrl-names = "default";
1224*c9211fa2SKever Yang		#address-cells = <1>;
1225*c9211fa2SKever Yang		#size-cells = <0>;
1226*c9211fa2SKever Yang		status = "disabled";
1227*c9211fa2SKever Yang	};
1228*c9211fa2SKever Yang
1229*c9211fa2SKever Yang	spi0: spi@feb00000 {
1230*c9211fa2SKever Yang		compatible = "rockchip,rk3588-spi", "rockchip,rk3066-spi";
1231*c9211fa2SKever Yang		reg = <0x0 0xfeb00000 0x0 0x1000>;
1232*c9211fa2SKever Yang		interrupts = <GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH 0>;
1233*c9211fa2SKever Yang		clocks = <&cru CLK_SPI0>, <&cru PCLK_SPI0>;
1234*c9211fa2SKever Yang		clock-names = "spiclk", "apb_pclk";
1235*c9211fa2SKever Yang		dmas = <&dmac0 14>, <&dmac0 15>;
1236*c9211fa2SKever Yang		dma-names = "tx", "rx";
1237*c9211fa2SKever Yang		num-cs = <2>;
1238*c9211fa2SKever Yang		pinctrl-0 = <&spi0m0_cs0 &spi0m0_cs1 &spi0m0_pins>;
1239*c9211fa2SKever Yang		pinctrl-names = "default";
1240*c9211fa2SKever Yang		#address-cells = <1>;
1241*c9211fa2SKever Yang		#size-cells = <0>;
1242*c9211fa2SKever Yang		status = "disabled";
1243*c9211fa2SKever Yang	};
1244*c9211fa2SKever Yang
1245*c9211fa2SKever Yang	spi1: spi@feb10000 {
1246*c9211fa2SKever Yang		compatible = "rockchip,rk3588-spi", "rockchip,rk3066-spi";
1247*c9211fa2SKever Yang		reg = <0x0 0xfeb10000 0x0 0x1000>;
1248*c9211fa2SKever Yang		interrupts = <GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH 0>;
1249*c9211fa2SKever Yang		clocks = <&cru CLK_SPI1>, <&cru PCLK_SPI1>;
1250*c9211fa2SKever Yang		clock-names = "spiclk", "apb_pclk";
1251*c9211fa2SKever Yang		dmas = <&dmac0 16>, <&dmac0 17>;
1252*c9211fa2SKever Yang		dma-names = "tx", "rx";
1253*c9211fa2SKever Yang		num-cs = <2>;
1254*c9211fa2SKever Yang		pinctrl-0 = <&spi1m1_cs0 &spi1m1_cs1 &spi1m1_pins>;
1255*c9211fa2SKever Yang		pinctrl-names = "default";
1256*c9211fa2SKever Yang		#address-cells = <1>;
1257*c9211fa2SKever Yang		#size-cells = <0>;
1258*c9211fa2SKever Yang		status = "disabled";
1259*c9211fa2SKever Yang	};
1260*c9211fa2SKever Yang
1261*c9211fa2SKever Yang	spi2: spi@feb20000 {
1262*c9211fa2SKever Yang		compatible = "rockchip,rk3588-spi", "rockchip,rk3066-spi";
1263*c9211fa2SKever Yang		reg = <0x0 0xfeb20000 0x0 0x1000>;
1264*c9211fa2SKever Yang		interrupts = <GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH 0>;
1265*c9211fa2SKever Yang		clocks = <&cru CLK_SPI2>, <&cru PCLK_SPI2>;
1266*c9211fa2SKever Yang		clock-names = "spiclk", "apb_pclk";
1267*c9211fa2SKever Yang		dmas = <&dmac1 15>, <&dmac1 16>;
1268*c9211fa2SKever Yang		dma-names = "tx", "rx";
1269*c9211fa2SKever Yang		num-cs = <2>;
1270*c9211fa2SKever Yang		pinctrl-0 = <&spi2m2_cs0 &spi2m2_cs1 &spi2m2_pins>;
1271*c9211fa2SKever Yang		pinctrl-names = "default";
1272*c9211fa2SKever Yang		#address-cells = <1>;
1273*c9211fa2SKever Yang		#size-cells = <0>;
1274*c9211fa2SKever Yang		status = "disabled";
1275*c9211fa2SKever Yang	};
1276*c9211fa2SKever Yang
1277*c9211fa2SKever Yang	spi3: spi@feb30000 {
1278*c9211fa2SKever Yang		compatible = "rockchip,rk3588-spi", "rockchip,rk3066-spi";
1279*c9211fa2SKever Yang		reg = <0x0 0xfeb30000 0x0 0x1000>;
1280*c9211fa2SKever Yang		interrupts = <GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH 0>;
1281*c9211fa2SKever Yang		clocks = <&cru CLK_SPI3>, <&cru PCLK_SPI3>;
1282*c9211fa2SKever Yang		clock-names = "spiclk", "apb_pclk";
1283*c9211fa2SKever Yang		dmas = <&dmac1 17>, <&dmac1 18>;
1284*c9211fa2SKever Yang		dma-names = "tx", "rx";
1285*c9211fa2SKever Yang		num-cs = <2>;
1286*c9211fa2SKever Yang		pinctrl-0 = <&spi3m1_cs0 &spi3m1_cs1 &spi3m1_pins>;
1287*c9211fa2SKever Yang		pinctrl-names = "default";
1288*c9211fa2SKever Yang		#address-cells = <1>;
1289*c9211fa2SKever Yang		#size-cells = <0>;
1290*c9211fa2SKever Yang		status = "disabled";
1291*c9211fa2SKever Yang	};
1292*c9211fa2SKever Yang
1293*c9211fa2SKever Yang	uart1: serial@feb40000 {
1294*c9211fa2SKever Yang		compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart";
1295*c9211fa2SKever Yang		reg = <0x0 0xfeb40000 0x0 0x100>;
1296*c9211fa2SKever Yang		interrupts = <GIC_SPI 332 IRQ_TYPE_LEVEL_HIGH 0>;
1297*c9211fa2SKever Yang		clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>;
1298*c9211fa2SKever Yang		clock-names = "baudclk", "apb_pclk";
1299*c9211fa2SKever Yang		dmas = <&dmac0 8>, <&dmac0 9>;
1300*c9211fa2SKever Yang		dma-names = "tx", "rx";
1301*c9211fa2SKever Yang		pinctrl-0 = <&uart1m1_xfer>;
1302*c9211fa2SKever Yang		pinctrl-names = "default";
1303*c9211fa2SKever Yang		reg-io-width = <4>;
1304*c9211fa2SKever Yang		reg-shift = <2>;
1305*c9211fa2SKever Yang		status = "disabled";
1306*c9211fa2SKever Yang	};
1307*c9211fa2SKever Yang
1308*c9211fa2SKever Yang	uart2: serial@feb50000 {
1309*c9211fa2SKever Yang		compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart";
1310*c9211fa2SKever Yang		reg = <0x0 0xfeb50000 0x0 0x100>;
1311*c9211fa2SKever Yang		interrupts = <GIC_SPI 333 IRQ_TYPE_LEVEL_HIGH 0>;
1312*c9211fa2SKever Yang		clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>;
1313*c9211fa2SKever Yang		clock-names = "baudclk", "apb_pclk";
1314*c9211fa2SKever Yang		dmas = <&dmac0 10>, <&dmac0 11>;
1315*c9211fa2SKever Yang		dma-names = "tx", "rx";
1316*c9211fa2SKever Yang		pinctrl-0 = <&uart2m1_xfer>;
1317*c9211fa2SKever Yang		pinctrl-names = "default";
1318*c9211fa2SKever Yang		reg-io-width = <4>;
1319*c9211fa2SKever Yang		reg-shift = <2>;
1320*c9211fa2SKever Yang		status = "disabled";
1321*c9211fa2SKever Yang	};
1322*c9211fa2SKever Yang
1323*c9211fa2SKever Yang	uart3: serial@feb60000 {
1324*c9211fa2SKever Yang		compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart";
1325*c9211fa2SKever Yang		reg = <0x0 0xfeb60000 0x0 0x100>;
1326*c9211fa2SKever Yang		interrupts = <GIC_SPI 334 IRQ_TYPE_LEVEL_HIGH 0>;
1327*c9211fa2SKever Yang		clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>;
1328*c9211fa2SKever Yang		clock-names = "baudclk", "apb_pclk";
1329*c9211fa2SKever Yang		dmas = <&dmac0 12>, <&dmac0 13>;
1330*c9211fa2SKever Yang		dma-names = "tx", "rx";
1331*c9211fa2SKever Yang		pinctrl-0 = <&uart3m1_xfer>;
1332*c9211fa2SKever Yang		pinctrl-names = "default";
1333*c9211fa2SKever Yang		reg-io-width = <4>;
1334*c9211fa2SKever Yang		reg-shift = <2>;
1335*c9211fa2SKever Yang		status = "disabled";
1336*c9211fa2SKever Yang	};
1337*c9211fa2SKever Yang
1338*c9211fa2SKever Yang	uart4: serial@feb70000 {
1339*c9211fa2SKever Yang		compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart";
1340*c9211fa2SKever Yang		reg = <0x0 0xfeb70000 0x0 0x100>;
1341*c9211fa2SKever Yang		interrupts = <GIC_SPI 335 IRQ_TYPE_LEVEL_HIGH 0>;
1342*c9211fa2SKever Yang		clocks = <&cru SCLK_UART4>, <&cru PCLK_UART4>;
1343*c9211fa2SKever Yang		clock-names = "baudclk", "apb_pclk";
1344*c9211fa2SKever Yang		dmas = <&dmac1 9>, <&dmac1 10>;
1345*c9211fa2SKever Yang		dma-names = "tx", "rx";
1346*c9211fa2SKever Yang		pinctrl-0 = <&uart4m1_xfer>;
1347*c9211fa2SKever Yang		pinctrl-names = "default";
1348*c9211fa2SKever Yang		reg-io-width = <4>;
1349*c9211fa2SKever Yang		reg-shift = <2>;
1350*c9211fa2SKever Yang		status = "disabled";
1351*c9211fa2SKever Yang	};
1352*c9211fa2SKever Yang
1353*c9211fa2SKever Yang	uart5: serial@feb80000 {
1354*c9211fa2SKever Yang		compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart";
1355*c9211fa2SKever Yang		reg = <0x0 0xfeb80000 0x0 0x100>;
1356*c9211fa2SKever Yang		interrupts = <GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH 0>;
1357*c9211fa2SKever Yang		clocks = <&cru SCLK_UART5>, <&cru PCLK_UART5>;
1358*c9211fa2SKever Yang		clock-names = "baudclk", "apb_pclk";
1359*c9211fa2SKever Yang		dmas = <&dmac1 11>, <&dmac1 12>;
1360*c9211fa2SKever Yang		dma-names = "tx", "rx";
1361*c9211fa2SKever Yang		pinctrl-0 = <&uart5m1_xfer>;
1362*c9211fa2SKever Yang		pinctrl-names = "default";
1363*c9211fa2SKever Yang		reg-io-width = <4>;
1364*c9211fa2SKever Yang		reg-shift = <2>;
1365*c9211fa2SKever Yang		status = "disabled";
1366*c9211fa2SKever Yang	};
1367*c9211fa2SKever Yang
1368*c9211fa2SKever Yang	uart6: serial@feb90000 {
1369*c9211fa2SKever Yang		compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart";
1370*c9211fa2SKever Yang		reg = <0x0 0xfeb90000 0x0 0x100>;
1371*c9211fa2SKever Yang		interrupts = <GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH 0>;
1372*c9211fa2SKever Yang		clocks = <&cru SCLK_UART6>, <&cru PCLK_UART6>;
1373*c9211fa2SKever Yang		clock-names = "baudclk", "apb_pclk";
1374*c9211fa2SKever Yang		dmas = <&dmac1 13>, <&dmac1 14>;
1375*c9211fa2SKever Yang		dma-names = "tx", "rx";
1376*c9211fa2SKever Yang		pinctrl-0 = <&uart6m1_xfer>;
1377*c9211fa2SKever Yang		pinctrl-names = "default";
1378*c9211fa2SKever Yang		reg-io-width = <4>;
1379*c9211fa2SKever Yang		reg-shift = <2>;
1380*c9211fa2SKever Yang		status = "disabled";
1381*c9211fa2SKever Yang	};
1382*c9211fa2SKever Yang
1383*c9211fa2SKever Yang	uart7: serial@feba0000 {
1384*c9211fa2SKever Yang		compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart";
1385*c9211fa2SKever Yang		reg = <0x0 0xfeba0000 0x0 0x100>;
1386*c9211fa2SKever Yang		interrupts = <GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH 0>;
1387*c9211fa2SKever Yang		clocks = <&cru SCLK_UART7>, <&cru PCLK_UART7>;
1388*c9211fa2SKever Yang		clock-names = "baudclk", "apb_pclk";
1389*c9211fa2SKever Yang		dmas = <&dmac2 7>, <&dmac2 8>;
1390*c9211fa2SKever Yang		dma-names = "tx", "rx";
1391*c9211fa2SKever Yang		pinctrl-0 = <&uart7m1_xfer>;
1392*c9211fa2SKever Yang		pinctrl-names = "default";
1393*c9211fa2SKever Yang		reg-io-width = <4>;
1394*c9211fa2SKever Yang		reg-shift = <2>;
1395*c9211fa2SKever Yang		status = "disabled";
1396*c9211fa2SKever Yang	};
1397*c9211fa2SKever Yang
1398*c9211fa2SKever Yang	uart8: serial@febb0000 {
1399*c9211fa2SKever Yang		compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart";
1400*c9211fa2SKever Yang		reg = <0x0 0xfebb0000 0x0 0x100>;
1401*c9211fa2SKever Yang		interrupts = <GIC_SPI 339 IRQ_TYPE_LEVEL_HIGH 0>;
1402*c9211fa2SKever Yang		clocks = <&cru SCLK_UART8>, <&cru PCLK_UART8>;
1403*c9211fa2SKever Yang		clock-names = "baudclk", "apb_pclk";
1404*c9211fa2SKever Yang		dmas = <&dmac2 9>, <&dmac2 10>;
1405*c9211fa2SKever Yang		dma-names = "tx", "rx";
1406*c9211fa2SKever Yang		pinctrl-0 = <&uart8m1_xfer>;
1407*c9211fa2SKever Yang		pinctrl-names = "default";
1408*c9211fa2SKever Yang		reg-io-width = <4>;
1409*c9211fa2SKever Yang		reg-shift = <2>;
1410*c9211fa2SKever Yang		status = "disabled";
1411*c9211fa2SKever Yang	};
1412*c9211fa2SKever Yang
1413*c9211fa2SKever Yang	uart9: serial@febc0000 {
1414*c9211fa2SKever Yang		compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart";
1415*c9211fa2SKever Yang		reg = <0x0 0xfebc0000 0x0 0x100>;
1416*c9211fa2SKever Yang		interrupts = <GIC_SPI 340 IRQ_TYPE_LEVEL_HIGH 0>;
1417*c9211fa2SKever Yang		clocks = <&cru SCLK_UART9>, <&cru PCLK_UART9>;
1418*c9211fa2SKever Yang		clock-names = "baudclk", "apb_pclk";
1419*c9211fa2SKever Yang		dmas = <&dmac2 11>, <&dmac2 12>;
1420*c9211fa2SKever Yang		dma-names = "tx", "rx";
1421*c9211fa2SKever Yang		pinctrl-0 = <&uart9m1_xfer>;
1422*c9211fa2SKever Yang		pinctrl-names = "default";
1423*c9211fa2SKever Yang		reg-io-width = <4>;
1424*c9211fa2SKever Yang		reg-shift = <2>;
1425*c9211fa2SKever Yang		status = "disabled";
1426*c9211fa2SKever Yang	};
1427*c9211fa2SKever Yang
1428*c9211fa2SKever Yang	pwm4: pwm@febd0000 {
1429*c9211fa2SKever Yang		compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm";
1430*c9211fa2SKever Yang		reg = <0x0 0xfebd0000 0x0 0x10>;
1431*c9211fa2SKever Yang		clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
1432*c9211fa2SKever Yang		clock-names = "pwm", "pclk";
1433*c9211fa2SKever Yang		pinctrl-0 = <&pwm4m0_pins>;
1434*c9211fa2SKever Yang		pinctrl-names = "default";
1435*c9211fa2SKever Yang		#pwm-cells = <3>;
1436*c9211fa2SKever Yang		status = "disabled";
1437*c9211fa2SKever Yang	};
1438*c9211fa2SKever Yang
1439*c9211fa2SKever Yang	pwm5: pwm@febd0010 {
1440*c9211fa2SKever Yang		compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm";
1441*c9211fa2SKever Yang		reg = <0x0 0xfebd0010 0x0 0x10>;
1442*c9211fa2SKever Yang		clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
1443*c9211fa2SKever Yang		clock-names = "pwm", "pclk";
1444*c9211fa2SKever Yang		pinctrl-0 = <&pwm5m0_pins>;
1445*c9211fa2SKever Yang		pinctrl-names = "default";
1446*c9211fa2SKever Yang		#pwm-cells = <3>;
1447*c9211fa2SKever Yang		status = "disabled";
1448*c9211fa2SKever Yang	};
1449*c9211fa2SKever Yang
1450*c9211fa2SKever Yang	pwm6: pwm@febd0020 {
1451*c9211fa2SKever Yang		compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm";
1452*c9211fa2SKever Yang		reg = <0x0 0xfebd0020 0x0 0x10>;
1453*c9211fa2SKever Yang		clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
1454*c9211fa2SKever Yang		clock-names = "pwm", "pclk";
1455*c9211fa2SKever Yang		pinctrl-0 = <&pwm6m0_pins>;
1456*c9211fa2SKever Yang		pinctrl-names = "default";
1457*c9211fa2SKever Yang		#pwm-cells = <3>;
1458*c9211fa2SKever Yang		status = "disabled";
1459*c9211fa2SKever Yang	};
1460*c9211fa2SKever Yang
1461*c9211fa2SKever Yang	pwm7: pwm@febd0030 {
1462*c9211fa2SKever Yang		compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm";
1463*c9211fa2SKever Yang		reg = <0x0 0xfebd0030 0x0 0x10>;
1464*c9211fa2SKever Yang		clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
1465*c9211fa2SKever Yang		clock-names = "pwm", "pclk";
1466*c9211fa2SKever Yang		pinctrl-0 = <&pwm7m0_pins>;
1467*c9211fa2SKever Yang		pinctrl-names = "default";
1468*c9211fa2SKever Yang		#pwm-cells = <3>;
1469*c9211fa2SKever Yang		status = "disabled";
1470*c9211fa2SKever Yang	};
1471*c9211fa2SKever Yang
1472*c9211fa2SKever Yang	pwm8: pwm@febe0000 {
1473*c9211fa2SKever Yang		compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm";
1474*c9211fa2SKever Yang		reg = <0x0 0xfebe0000 0x0 0x10>;
1475*c9211fa2SKever Yang		clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>;
1476*c9211fa2SKever Yang		clock-names = "pwm", "pclk";
1477*c9211fa2SKever Yang		pinctrl-0 = <&pwm8m0_pins>;
1478*c9211fa2SKever Yang		pinctrl-names = "default";
1479*c9211fa2SKever Yang		#pwm-cells = <3>;
1480*c9211fa2SKever Yang		status = "disabled";
1481*c9211fa2SKever Yang	};
1482*c9211fa2SKever Yang
1483*c9211fa2SKever Yang	pwm9: pwm@febe0010 {
1484*c9211fa2SKever Yang		compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm";
1485*c9211fa2SKever Yang		reg = <0x0 0xfebe0010 0x0 0x10>;
1486*c9211fa2SKever Yang		clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>;
1487*c9211fa2SKever Yang		clock-names = "pwm", "pclk";
1488*c9211fa2SKever Yang		pinctrl-0 = <&pwm9m0_pins>;
1489*c9211fa2SKever Yang		pinctrl-names = "default";
1490*c9211fa2SKever Yang		#pwm-cells = <3>;
1491*c9211fa2SKever Yang		status = "disabled";
1492*c9211fa2SKever Yang	};
1493*c9211fa2SKever Yang
1494*c9211fa2SKever Yang	pwm10: pwm@febe0020 {
1495*c9211fa2SKever Yang		compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm";
1496*c9211fa2SKever Yang		reg = <0x0 0xfebe0020 0x0 0x10>;
1497*c9211fa2SKever Yang		clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>;
1498*c9211fa2SKever Yang		clock-names = "pwm", "pclk";
1499*c9211fa2SKever Yang		pinctrl-0 = <&pwm10m0_pins>;
1500*c9211fa2SKever Yang		pinctrl-names = "default";
1501*c9211fa2SKever Yang		#pwm-cells = <3>;
1502*c9211fa2SKever Yang		status = "disabled";
1503*c9211fa2SKever Yang	};
1504*c9211fa2SKever Yang
1505*c9211fa2SKever Yang	pwm11: pwm@febe0030 {
1506*c9211fa2SKever Yang		compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm";
1507*c9211fa2SKever Yang		reg = <0x0 0xfebe0030 0x0 0x10>;
1508*c9211fa2SKever Yang		clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>;
1509*c9211fa2SKever Yang		clock-names = "pwm", "pclk";
1510*c9211fa2SKever Yang		pinctrl-0 = <&pwm11m0_pins>;
1511*c9211fa2SKever Yang		pinctrl-names = "default";
1512*c9211fa2SKever Yang		#pwm-cells = <3>;
1513*c9211fa2SKever Yang		status = "disabled";
1514*c9211fa2SKever Yang	};
1515*c9211fa2SKever Yang
1516*c9211fa2SKever Yang	pwm12: pwm@febf0000 {
1517*c9211fa2SKever Yang		compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm";
1518*c9211fa2SKever Yang		reg = <0x0 0xfebf0000 0x0 0x10>;
1519*c9211fa2SKever Yang		clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>;
1520*c9211fa2SKever Yang		clock-names = "pwm", "pclk";
1521*c9211fa2SKever Yang		pinctrl-0 = <&pwm12m0_pins>;
1522*c9211fa2SKever Yang		pinctrl-names = "default";
1523*c9211fa2SKever Yang		#pwm-cells = <3>;
1524*c9211fa2SKever Yang		status = "disabled";
1525*c9211fa2SKever Yang	};
1526*c9211fa2SKever Yang
1527*c9211fa2SKever Yang	pwm13: pwm@febf0010 {
1528*c9211fa2SKever Yang		compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm";
1529*c9211fa2SKever Yang		reg = <0x0 0xfebf0010 0x0 0x10>;
1530*c9211fa2SKever Yang		clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>;
1531*c9211fa2SKever Yang		clock-names = "pwm", "pclk";
1532*c9211fa2SKever Yang		pinctrl-0 = <&pwm13m0_pins>;
1533*c9211fa2SKever Yang		pinctrl-names = "default";
1534*c9211fa2SKever Yang		#pwm-cells = <3>;
1535*c9211fa2SKever Yang		status = "disabled";
1536*c9211fa2SKever Yang	};
1537*c9211fa2SKever Yang
1538*c9211fa2SKever Yang	pwm14: pwm@febf0020 {
1539*c9211fa2SKever Yang		compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm";
1540*c9211fa2SKever Yang		reg = <0x0 0xfebf0020 0x0 0x10>;
1541*c9211fa2SKever Yang		clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>;
1542*c9211fa2SKever Yang		clock-names = "pwm", "pclk";
1543*c9211fa2SKever Yang		pinctrl-0 = <&pwm14m0_pins>;
1544*c9211fa2SKever Yang		pinctrl-names = "default";
1545*c9211fa2SKever Yang		#pwm-cells = <3>;
1546*c9211fa2SKever Yang		status = "disabled";
1547*c9211fa2SKever Yang	};
1548*c9211fa2SKever Yang
1549*c9211fa2SKever Yang	pwm15: pwm@febf0030 {
1550*c9211fa2SKever Yang		compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm";
1551*c9211fa2SKever Yang		reg = <0x0 0xfebf0030 0x0 0x10>;
1552*c9211fa2SKever Yang		clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>;
1553*c9211fa2SKever Yang		clock-names = "pwm", "pclk";
1554*c9211fa2SKever Yang		pinctrl-0 = <&pwm15m0_pins>;
1555*c9211fa2SKever Yang		pinctrl-names = "default";
1556*c9211fa2SKever Yang		#pwm-cells = <3>;
1557*c9211fa2SKever Yang		status = "disabled";
1558*c9211fa2SKever Yang	};
1559*c9211fa2SKever Yang
1560*c9211fa2SKever Yang	i2c6: i2c@fec80000 {
1561*c9211fa2SKever Yang		compatible = "rockchip,rk3588-i2c", "rockchip,rk3399-i2c";
1562*c9211fa2SKever Yang		reg = <0x0 0xfec80000 0x0 0x1000>;
1563*c9211fa2SKever Yang		clocks = <&cru CLK_I2C6>, <&cru PCLK_I2C6>;
1564*c9211fa2SKever Yang		clock-names = "i2c", "pclk";
1565*c9211fa2SKever Yang		interrupts = <GIC_SPI 323 IRQ_TYPE_LEVEL_HIGH 0>;
1566*c9211fa2SKever Yang		pinctrl-0 = <&i2c6m0_xfer>;
1567*c9211fa2SKever Yang		pinctrl-names = "default";
1568*c9211fa2SKever Yang		#address-cells = <1>;
1569*c9211fa2SKever Yang		#size-cells = <0>;
1570*c9211fa2SKever Yang		status = "disabled";
1571*c9211fa2SKever Yang	};
1572*c9211fa2SKever Yang
1573*c9211fa2SKever Yang	i2c7: i2c@fec90000 {
1574*c9211fa2SKever Yang		compatible = "rockchip,rk3588-i2c", "rockchip,rk3399-i2c";
1575*c9211fa2SKever Yang		reg = <0x0 0xfec90000 0x0 0x1000>;
1576*c9211fa2SKever Yang		clocks = <&cru CLK_I2C7>, <&cru PCLK_I2C7>;
1577*c9211fa2SKever Yang		clock-names = "i2c", "pclk";
1578*c9211fa2SKever Yang		interrupts = <GIC_SPI 324 IRQ_TYPE_LEVEL_HIGH 0>;
1579*c9211fa2SKever Yang		pinctrl-0 = <&i2c7m0_xfer>;
1580*c9211fa2SKever Yang		pinctrl-names = "default";
1581*c9211fa2SKever Yang		#address-cells = <1>;
1582*c9211fa2SKever Yang		#size-cells = <0>;
1583*c9211fa2SKever Yang		status = "disabled";
1584*c9211fa2SKever Yang	};
1585*c9211fa2SKever Yang
1586*c9211fa2SKever Yang	i2c8: i2c@feca0000 {
1587*c9211fa2SKever Yang		compatible = "rockchip,rk3588-i2c", "rockchip,rk3399-i2c";
1588*c9211fa2SKever Yang		reg = <0x0 0xfeca0000 0x0 0x1000>;
1589*c9211fa2SKever Yang		clocks = <&cru CLK_I2C8>, <&cru PCLK_I2C8>;
1590*c9211fa2SKever Yang		clock-names = "i2c", "pclk";
1591*c9211fa2SKever Yang		interrupts = <GIC_SPI 325 IRQ_TYPE_LEVEL_HIGH 0>;
1592*c9211fa2SKever Yang		pinctrl-0 = <&i2c8m0_xfer>;
1593*c9211fa2SKever Yang		pinctrl-names = "default";
1594*c9211fa2SKever Yang		#address-cells = <1>;
1595*c9211fa2SKever Yang		#size-cells = <0>;
1596*c9211fa2SKever Yang		status = "disabled";
1597*c9211fa2SKever Yang	};
1598*c9211fa2SKever Yang
1599*c9211fa2SKever Yang	spi4: spi@fecb0000 {
1600*c9211fa2SKever Yang		compatible = "rockchip,rk3588-spi", "rockchip,rk3066-spi";
1601*c9211fa2SKever Yang		reg = <0x0 0xfecb0000 0x0 0x1000>;
1602*c9211fa2SKever Yang		interrupts = <GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH 0>;
1603*c9211fa2SKever Yang		clocks = <&cru CLK_SPI4>, <&cru PCLK_SPI4>;
1604*c9211fa2SKever Yang		clock-names = "spiclk", "apb_pclk";
1605*c9211fa2SKever Yang		dmas = <&dmac2 13>, <&dmac2 14>;
1606*c9211fa2SKever Yang		dma-names = "tx", "rx";
1607*c9211fa2SKever Yang		num-cs = <2>;
1608*c9211fa2SKever Yang		pinctrl-0 = <&spi4m0_cs0 &spi4m0_cs1 &spi4m0_pins>;
1609*c9211fa2SKever Yang		pinctrl-names = "default";
1610*c9211fa2SKever Yang		#address-cells = <1>;
1611*c9211fa2SKever Yang		#size-cells = <0>;
1612*c9211fa2SKever Yang		status = "disabled";
1613*c9211fa2SKever Yang	};
1614*c9211fa2SKever Yang
1615*c9211fa2SKever Yang	dmac2: dma-controller@fed10000 {
1616*c9211fa2SKever Yang		compatible = "arm,pl330", "arm,primecell";
1617*c9211fa2SKever Yang		reg = <0x0 0xfed10000 0x0 0x4000>;
1618*c9211fa2SKever Yang		interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH 0>,
1619*c9211fa2SKever Yang			     <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH 0>;
1620*c9211fa2SKever Yang		arm,pl330-periph-burst;
1621*c9211fa2SKever Yang		clocks = <&cru ACLK_DMAC2>;
1622*c9211fa2SKever Yang		clock-names = "apb_pclk";
1623*c9211fa2SKever Yang		#dma-cells = <1>;
1624*c9211fa2SKever Yang	};
1625*c9211fa2SKever Yang
1626*c9211fa2SKever Yang	system_sram2: sram@ff001000 {
1627*c9211fa2SKever Yang		compatible = "mmio-sram";
1628*c9211fa2SKever Yang		reg = <0x0 0xff001000 0x0 0xef000>;
1629*c9211fa2SKever Yang		ranges = <0x0 0x0 0xff001000 0xef000>;
1630*c9211fa2SKever Yang		#address-cells = <1>;
1631*c9211fa2SKever Yang		#size-cells = <1>;
1632*c9211fa2SKever Yang	};
1633*c9211fa2SKever Yang
1634*c9211fa2SKever Yang	pinctrl: pinctrl {
1635*c9211fa2SKever Yang		compatible = "rockchip,rk3588-pinctrl";
1636*c9211fa2SKever Yang		ranges;
1637*c9211fa2SKever Yang		rockchip,grf = <&ioc>;
1638*c9211fa2SKever Yang		#address-cells = <2>;
1639*c9211fa2SKever Yang		#size-cells = <2>;
1640*c9211fa2SKever Yang
1641*c9211fa2SKever Yang		gpio0: gpio@fd8a0000 {
1642*c9211fa2SKever Yang			compatible = "rockchip,gpio-bank";
1643*c9211fa2SKever Yang			reg = <0x0 0xfd8a0000 0x0 0x100>;
1644*c9211fa2SKever Yang			interrupts = <GIC_SPI 277 IRQ_TYPE_LEVEL_HIGH 0>;
1645*c9211fa2SKever Yang			clocks = <&cru PCLK_GPIO0>, <&cru DBCLK_GPIO0>;
1646*c9211fa2SKever Yang			gpio-controller;
1647*c9211fa2SKever Yang			gpio-ranges = <&pinctrl 0 0 32>;
1648*c9211fa2SKever Yang			interrupt-controller;
1649*c9211fa2SKever Yang			#gpio-cells = <2>;
1650*c9211fa2SKever Yang			#interrupt-cells = <2>;
1651*c9211fa2SKever Yang		};
1652*c9211fa2SKever Yang
1653*c9211fa2SKever Yang		gpio1: gpio@fec20000 {
1654*c9211fa2SKever Yang			compatible = "rockchip,gpio-bank";
1655*c9211fa2SKever Yang			reg = <0x0 0xfec20000 0x0 0x100>;
1656*c9211fa2SKever Yang			interrupts = <GIC_SPI 278 IRQ_TYPE_LEVEL_HIGH 0>;
1657*c9211fa2SKever Yang			clocks = <&cru PCLK_GPIO1>, <&cru DBCLK_GPIO1>;
1658*c9211fa2SKever Yang			gpio-controller;
1659*c9211fa2SKever Yang			gpio-ranges = <&pinctrl 0 32 32>;
1660*c9211fa2SKever Yang			interrupt-controller;
1661*c9211fa2SKever Yang			#gpio-cells = <2>;
1662*c9211fa2SKever Yang			#interrupt-cells = <2>;
1663*c9211fa2SKever Yang		};
1664*c9211fa2SKever Yang
1665*c9211fa2SKever Yang		gpio2: gpio@fec30000 {
1666*c9211fa2SKever Yang			compatible = "rockchip,gpio-bank";
1667*c9211fa2SKever Yang			reg = <0x0 0xfec30000 0x0 0x100>;
1668*c9211fa2SKever Yang			interrupts = <GIC_SPI 279 IRQ_TYPE_LEVEL_HIGH 0>;
1669*c9211fa2SKever Yang			clocks = <&cru PCLK_GPIO2>, <&cru DBCLK_GPIO2>;
1670*c9211fa2SKever Yang			gpio-controller;
1671*c9211fa2SKever Yang			gpio-ranges = <&pinctrl 0 64 32>;
1672*c9211fa2SKever Yang			interrupt-controller;
1673*c9211fa2SKever Yang			#gpio-cells = <2>;
1674*c9211fa2SKever Yang			#interrupt-cells = <2>;
1675*c9211fa2SKever Yang		};
1676*c9211fa2SKever Yang
1677*c9211fa2SKever Yang		gpio3: gpio@fec40000 {
1678*c9211fa2SKever Yang			compatible = "rockchip,gpio-bank";
1679*c9211fa2SKever Yang			reg = <0x0 0xfec40000 0x0 0x100>;
1680*c9211fa2SKever Yang			interrupts = <GIC_SPI 280 IRQ_TYPE_LEVEL_HIGH 0>;
1681*c9211fa2SKever Yang			clocks = <&cru PCLK_GPIO3>, <&cru DBCLK_GPIO3>;
1682*c9211fa2SKever Yang			gpio-controller;
1683*c9211fa2SKever Yang			gpio-ranges = <&pinctrl 0 96 32>;
1684*c9211fa2SKever Yang			interrupt-controller;
1685*c9211fa2SKever Yang			#gpio-cells = <2>;
1686*c9211fa2SKever Yang			#interrupt-cells = <2>;
1687*c9211fa2SKever Yang		};
1688*c9211fa2SKever Yang
1689*c9211fa2SKever Yang		gpio4: gpio@fec50000 {
1690*c9211fa2SKever Yang			compatible = "rockchip,gpio-bank";
1691*c9211fa2SKever Yang			reg = <0x0 0xfec50000 0x0 0x100>;
1692*c9211fa2SKever Yang			interrupts = <GIC_SPI 281 IRQ_TYPE_LEVEL_HIGH 0>;
1693*c9211fa2SKever Yang			clocks = <&cru PCLK_GPIO4>, <&cru DBCLK_GPIO4>;
1694*c9211fa2SKever Yang			gpio-controller;
1695*c9211fa2SKever Yang			gpio-ranges = <&pinctrl 0 128 32>;
1696*c9211fa2SKever Yang			interrupt-controller;
1697*c9211fa2SKever Yang			#gpio-cells = <2>;
1698*c9211fa2SKever Yang			#interrupt-cells = <2>;
1699*c9211fa2SKever Yang		};
1700*c9211fa2SKever Yang	};
1701*c9211fa2SKever Yang};
1702*c9211fa2SKever Yang
1703*c9211fa2SKever Yang#include "rk3588s-pinctrl.dtsi"
1704