xref: /openbmc/linux/arch/arm64/boot/dts/sprd/ums512.dtsi (revision 2b4881839a392bf66312685cf1c65cd3487e6ec8)
1*2b488183SChunyan Zhang// SPDX-License-Identifier: (GPL-2.0 OR MIT)
2*2b488183SChunyan Zhang/*
3*2b488183SChunyan Zhang * Unisoc UMS512 SoC DTS file
4*2b488183SChunyan Zhang *
5*2b488183SChunyan Zhang * Copyright (C) 2021, Unisoc Inc.
6*2b488183SChunyan Zhang */
7*2b488183SChunyan Zhang
8*2b488183SChunyan Zhang#include <dt-bindings/clock/sprd,ums512-clk.h>
9*2b488183SChunyan Zhang#include <dt-bindings/interrupt-controller/arm-gic.h>
10*2b488183SChunyan Zhang
11*2b488183SChunyan Zhang/ {
12*2b488183SChunyan Zhang	interrupt-parent = <&gic>;
13*2b488183SChunyan Zhang	#address-cells = <2>;
14*2b488183SChunyan Zhang	#size-cells = <2>;
15*2b488183SChunyan Zhang
16*2b488183SChunyan Zhang	cpus {
17*2b488183SChunyan Zhang		#address-cells = <2>;
18*2b488183SChunyan Zhang		#size-cells = <0>;
19*2b488183SChunyan Zhang
20*2b488183SChunyan Zhang		cpu-map {
21*2b488183SChunyan Zhang			cluster0 {
22*2b488183SChunyan Zhang				core0 {
23*2b488183SChunyan Zhang					cpu = <&CPU0>;
24*2b488183SChunyan Zhang				};
25*2b488183SChunyan Zhang				core1 {
26*2b488183SChunyan Zhang					cpu = <&CPU1>;
27*2b488183SChunyan Zhang				};
28*2b488183SChunyan Zhang				core2 {
29*2b488183SChunyan Zhang					cpu = <&CPU2>;
30*2b488183SChunyan Zhang				};
31*2b488183SChunyan Zhang				core3 {
32*2b488183SChunyan Zhang					cpu = <&CPU3>;
33*2b488183SChunyan Zhang				};
34*2b488183SChunyan Zhang				core4 {
35*2b488183SChunyan Zhang					cpu = <&CPU4>;
36*2b488183SChunyan Zhang				};
37*2b488183SChunyan Zhang				core5 {
38*2b488183SChunyan Zhang					cpu = <&CPU5>;
39*2b488183SChunyan Zhang				};
40*2b488183SChunyan Zhang				core6 {
41*2b488183SChunyan Zhang					cpu = <&CPU6>;
42*2b488183SChunyan Zhang				};
43*2b488183SChunyan Zhang				core7 {
44*2b488183SChunyan Zhang					cpu = <&CPU7>;
45*2b488183SChunyan Zhang				};
46*2b488183SChunyan Zhang			};
47*2b488183SChunyan Zhang		};
48*2b488183SChunyan Zhang
49*2b488183SChunyan Zhang		CPU0: cpu@0 {
50*2b488183SChunyan Zhang			device_type = "cpu";
51*2b488183SChunyan Zhang			compatible = "arm,cortex-a55";
52*2b488183SChunyan Zhang			reg = <0x0 0x0>;
53*2b488183SChunyan Zhang			enable-method = "psci";
54*2b488183SChunyan Zhang			cpu-idle-states = <&CORE_PD>;
55*2b488183SChunyan Zhang		};
56*2b488183SChunyan Zhang
57*2b488183SChunyan Zhang		CPU1: cpu@100 {
58*2b488183SChunyan Zhang			device_type = "cpu";
59*2b488183SChunyan Zhang			compatible = "arm,cortex-a55";
60*2b488183SChunyan Zhang			reg = <0x0 0x100>;
61*2b488183SChunyan Zhang			enable-method = "psci";
62*2b488183SChunyan Zhang			cpu-idle-states = <&CORE_PD>;
63*2b488183SChunyan Zhang		};
64*2b488183SChunyan Zhang
65*2b488183SChunyan Zhang		CPU2: cpu@200 {
66*2b488183SChunyan Zhang			device_type = "cpu";
67*2b488183SChunyan Zhang			compatible = "arm,cortex-a55";
68*2b488183SChunyan Zhang			reg = <0x0 0x200>;
69*2b488183SChunyan Zhang			enable-method = "psci";
70*2b488183SChunyan Zhang			cpu-idle-states = <&CORE_PD>;
71*2b488183SChunyan Zhang		};
72*2b488183SChunyan Zhang
73*2b488183SChunyan Zhang		CPU3: cpu@300 {
74*2b488183SChunyan Zhang			device_type = "cpu";
75*2b488183SChunyan Zhang			compatible = "arm,cortex-a55";
76*2b488183SChunyan Zhang			reg = <0x0 0x300>;
77*2b488183SChunyan Zhang			enable-method = "psci";
78*2b488183SChunyan Zhang			cpu-idle-states = <&CORE_PD>;
79*2b488183SChunyan Zhang		};
80*2b488183SChunyan Zhang
81*2b488183SChunyan Zhang		CPU4: cpu@400 {
82*2b488183SChunyan Zhang			device_type = "cpu";
83*2b488183SChunyan Zhang			compatible = "arm,cortex-a55";
84*2b488183SChunyan Zhang			reg = <0x0 0x400>;
85*2b488183SChunyan Zhang			enable-method = "psci";
86*2b488183SChunyan Zhang			cpu-idle-states = <&CORE_PD>;
87*2b488183SChunyan Zhang		};
88*2b488183SChunyan Zhang
89*2b488183SChunyan Zhang		CPU5: cpu@500 {
90*2b488183SChunyan Zhang			device_type = "cpu";
91*2b488183SChunyan Zhang			compatible = "arm,cortex-a55";
92*2b488183SChunyan Zhang			reg = <0x0 0x500>;
93*2b488183SChunyan Zhang			enable-method = "psci";
94*2b488183SChunyan Zhang			cpu-idle-states = <&CORE_PD>;
95*2b488183SChunyan Zhang		};
96*2b488183SChunyan Zhang
97*2b488183SChunyan Zhang		CPU6: cpu@600 {
98*2b488183SChunyan Zhang			device_type = "cpu";
99*2b488183SChunyan Zhang			compatible = "arm,cortex-a55";
100*2b488183SChunyan Zhang			reg = <0x0 0x600>;
101*2b488183SChunyan Zhang			enable-method = "psci";
102*2b488183SChunyan Zhang			cpu-idle-states = <&CORE_PD>;
103*2b488183SChunyan Zhang		};
104*2b488183SChunyan Zhang
105*2b488183SChunyan Zhang		CPU7: cpu@700 {
106*2b488183SChunyan Zhang			device_type = "cpu";
107*2b488183SChunyan Zhang			compatible = "arm,cortex-a55";
108*2b488183SChunyan Zhang			reg = <0x0 0x700>;
109*2b488183SChunyan Zhang			enable-method = "psci";
110*2b488183SChunyan Zhang			cpu-idle-states = <&CORE_PD>;
111*2b488183SChunyan Zhang		};
112*2b488183SChunyan Zhang	};
113*2b488183SChunyan Zhang
114*2b488183SChunyan Zhang	idle-states {
115*2b488183SChunyan Zhang		entry-method = "psci";
116*2b488183SChunyan Zhang		CORE_PD: core-pd {
117*2b488183SChunyan Zhang			compatible = "arm,idle-state";
118*2b488183SChunyan Zhang			entry-latency-us = <4000>;
119*2b488183SChunyan Zhang			exit-latency-us = <4000>;
120*2b488183SChunyan Zhang			min-residency-us = <10000>;
121*2b488183SChunyan Zhang			local-timer-stop;
122*2b488183SChunyan Zhang			arm,psci-suspend-param = <0x00010000>;
123*2b488183SChunyan Zhang		};
124*2b488183SChunyan Zhang	};
125*2b488183SChunyan Zhang
126*2b488183SChunyan Zhang	psci {
127*2b488183SChunyan Zhang		compatible = "arm,psci-0.2";
128*2b488183SChunyan Zhang		method = "smc";
129*2b488183SChunyan Zhang	};
130*2b488183SChunyan Zhang
131*2b488183SChunyan Zhang	timer {
132*2b488183SChunyan Zhang		compatible = "arm,armv8-timer";
133*2b488183SChunyan Zhang		interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_HIGH>, /* Physical Secure PPI */
134*2b488183SChunyan Zhang			     <GIC_PPI 14 IRQ_TYPE_LEVEL_HIGH>, /* Physical Non-Secure PPI */
135*2b488183SChunyan Zhang			     <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH>, /* Virtual PPI */
136*2b488183SChunyan Zhang			     <GIC_PPI 10 IRQ_TYPE_LEVEL_HIGH>; /* Hipervisor PPI */
137*2b488183SChunyan Zhang	};
138*2b488183SChunyan Zhang
139*2b488183SChunyan Zhang	pmu {
140*2b488183SChunyan Zhang		compatible = "arm,armv8-pmuv3";
141*2b488183SChunyan Zhang		interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
142*2b488183SChunyan Zhang			     <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
143*2b488183SChunyan Zhang			     <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
144*2b488183SChunyan Zhang			     <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
145*2b488183SChunyan Zhang			     <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
146*2b488183SChunyan Zhang			     <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
147*2b488183SChunyan Zhang			     <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
148*2b488183SChunyan Zhang			     <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
149*2b488183SChunyan Zhang	};
150*2b488183SChunyan Zhang
151*2b488183SChunyan Zhang	soc: soc {
152*2b488183SChunyan Zhang		compatible = "simple-bus";
153*2b488183SChunyan Zhang		#address-cells = <2>;
154*2b488183SChunyan Zhang		#size-cells = <2>;
155*2b488183SChunyan Zhang		ranges;
156*2b488183SChunyan Zhang
157*2b488183SChunyan Zhang		gic: interrupt-controller@12000000 {
158*2b488183SChunyan Zhang			compatible = "arm,gic-v3";
159*2b488183SChunyan Zhang			reg = <0x0 0x12000000 0 0x20000>,	/* GICD */
160*2b488183SChunyan Zhang			      <0x0 0x12040000 0 0x100000>;	/* GICR */
161*2b488183SChunyan Zhang			#interrupt-cells = <3>;
162*2b488183SChunyan Zhang			#address-cells = <2>;
163*2b488183SChunyan Zhang			#size-cells = <2>;
164*2b488183SChunyan Zhang			ranges;
165*2b488183SChunyan Zhang			redistributor-stride = <0x0 0x20000>;	/* 128KB stride */
166*2b488183SChunyan Zhang			#redistributor-regions = <1>;
167*2b488183SChunyan Zhang			interrupt-controller;
168*2b488183SChunyan Zhang			interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
169*2b488183SChunyan Zhang		};
170*2b488183SChunyan Zhang
171*2b488183SChunyan Zhang		ap_ahb_regs: syscon@20100000 {
172*2b488183SChunyan Zhang			compatible = "sprd,ums512-glbregs", "syscon",
173*2b488183SChunyan Zhang				     "simple-mfd";
174*2b488183SChunyan Zhang			reg = <0 0x20100000 0 0x4000>;
175*2b488183SChunyan Zhang			#address-cells = <1>;
176*2b488183SChunyan Zhang			#size-cells = <1>;
177*2b488183SChunyan Zhang			ranges = <0 0 0x20100000 0x4000>;
178*2b488183SChunyan Zhang
179*2b488183SChunyan Zhang			apahb_gate: clock-controller@0 {
180*2b488183SChunyan Zhang				compatible = "sprd,ums512-apahb-gate";
181*2b488183SChunyan Zhang				reg = <0x0 0x3000>;
182*2b488183SChunyan Zhang				clocks = <&ext_26m>;
183*2b488183SChunyan Zhang				clock-names = "ext-26m";
184*2b488183SChunyan Zhang				#clock-cells = <1>;
185*2b488183SChunyan Zhang			};
186*2b488183SChunyan Zhang		};
187*2b488183SChunyan Zhang
188*2b488183SChunyan Zhang		pub_apb_regs: syscon@31050000 {
189*2b488183SChunyan Zhang			compatible = "sprd,ums512-glbregs", "syscon",
190*2b488183SChunyan Zhang				     "simple-mfd";
191*2b488183SChunyan Zhang			reg = <0 0x31050000 0 0x9000>;
192*2b488183SChunyan Zhang		};
193*2b488183SChunyan Zhang
194*2b488183SChunyan Zhang		top_dvfs_apb_regs: syscon@322a0000 {
195*2b488183SChunyan Zhang			compatible = "sprd,ums512-glbregs", "syscon",
196*2b488183SChunyan Zhang				     "simple-mfd";
197*2b488183SChunyan Zhang			reg = <0 0x322a0000 0 0x8000>;
198*2b488183SChunyan Zhang		};
199*2b488183SChunyan Zhang
200*2b488183SChunyan Zhang		ap_intc0_regs: syscon@32310000 {
201*2b488183SChunyan Zhang			compatible = "sprd,ums512-glbregs", "syscon",
202*2b488183SChunyan Zhang				     "simple-mfd";
203*2b488183SChunyan Zhang			reg = <0 0x32310000 0 0x1000>;
204*2b488183SChunyan Zhang		};
205*2b488183SChunyan Zhang
206*2b488183SChunyan Zhang		ap_intc1_regs: syscon@32320000 {
207*2b488183SChunyan Zhang			compatible = "sprd,ums512-glbregs", "syscon",
208*2b488183SChunyan Zhang				     "simple-mfd";
209*2b488183SChunyan Zhang			reg = <0 0x32320000 0 0x1000>;
210*2b488183SChunyan Zhang		};
211*2b488183SChunyan Zhang
212*2b488183SChunyan Zhang		ap_intc2_regs: syscon@32330000 {
213*2b488183SChunyan Zhang			compatible = "sprd,ums512-glbregs", "syscon",
214*2b488183SChunyan Zhang				     "simple-mfd";
215*2b488183SChunyan Zhang			reg = <0 0x32330000 0 0x1000>;
216*2b488183SChunyan Zhang		};
217*2b488183SChunyan Zhang
218*2b488183SChunyan Zhang		ap_intc3_regs: syscon@32340000 {
219*2b488183SChunyan Zhang			compatible = "sprd,ums512-glbregs", "syscon",
220*2b488183SChunyan Zhang				     "simple-mfd";
221*2b488183SChunyan Zhang			reg = <0 0x32340000 0 0x1000>;
222*2b488183SChunyan Zhang		};
223*2b488183SChunyan Zhang
224*2b488183SChunyan Zhang		ap_intc4_regs: syscon@32350000 {
225*2b488183SChunyan Zhang			compatible = "sprd,ums512-glbregs", "syscon",
226*2b488183SChunyan Zhang				     "simple-mfd";
227*2b488183SChunyan Zhang			reg = <0 0x32350000 0 0x1000>;
228*2b488183SChunyan Zhang		};
229*2b488183SChunyan Zhang
230*2b488183SChunyan Zhang		ap_intc5_regs: syscon@32360000 {
231*2b488183SChunyan Zhang			compatible = "sprd,ums512-glbregs", "syscon",
232*2b488183SChunyan Zhang				     "simple-mfd";
233*2b488183SChunyan Zhang			reg = <0 0x32360000 0 0x1000>;
234*2b488183SChunyan Zhang		};
235*2b488183SChunyan Zhang
236*2b488183SChunyan Zhang		anlg_phy_g0_regs: syscon@32390000 {
237*2b488183SChunyan Zhang			compatible = "sprd,ums512-glbregs", "syscon",
238*2b488183SChunyan Zhang				     "simple-mfd";
239*2b488183SChunyan Zhang			reg = <0 0x32390000 0 0x3000>;
240*2b488183SChunyan Zhang			#address-cells = <1>;
241*2b488183SChunyan Zhang			#size-cells = <1>;
242*2b488183SChunyan Zhang			ranges = <0 0 0x32390000 0x3000>;
243*2b488183SChunyan Zhang
244*2b488183SChunyan Zhang			dpll0: clock-controller@0 {
245*2b488183SChunyan Zhang				compatible = "sprd,ums512-g0-pll";
246*2b488183SChunyan Zhang				reg = <0x0 0x100>;
247*2b488183SChunyan Zhang				#clock-cells = <1>;
248*2b488183SChunyan Zhang			};
249*2b488183SChunyan Zhang		};
250*2b488183SChunyan Zhang
251*2b488183SChunyan Zhang		anlg_phy_g2_regs: syscon@323b0000 {
252*2b488183SChunyan Zhang			compatible = "sprd,ums512-glbregs", "syscon",
253*2b488183SChunyan Zhang				     "simple-mfd";
254*2b488183SChunyan Zhang			reg = <0 0x323b0000 0 0x3000>;
255*2b488183SChunyan Zhang			#address-cells = <1>;
256*2b488183SChunyan Zhang			#size-cells = <1>;
257*2b488183SChunyan Zhang			ranges = <0 0 0x323b0000 0x3000>;
258*2b488183SChunyan Zhang
259*2b488183SChunyan Zhang			mpll1: clock-controller@0 {
260*2b488183SChunyan Zhang				compatible = "sprd,ums512-g2-pll";
261*2b488183SChunyan Zhang				reg = <0x0 0x100>;
262*2b488183SChunyan Zhang				#clock-cells = <1>;
263*2b488183SChunyan Zhang			};
264*2b488183SChunyan Zhang		};
265*2b488183SChunyan Zhang
266*2b488183SChunyan Zhang		anlg_phy_g3_regs: syscon@323c0000 {
267*2b488183SChunyan Zhang			compatible = "sprd,ums512-glbregs", "syscon",
268*2b488183SChunyan Zhang				     "simple-mfd";
269*2b488183SChunyan Zhang			reg = <0 0x323c0000 0 0x3000>;
270*2b488183SChunyan Zhang			#address-cells = <1>;
271*2b488183SChunyan Zhang			#size-cells = <1>;
272*2b488183SChunyan Zhang			ranges = <0 0 0x323c0000 0x3000>;
273*2b488183SChunyan Zhang
274*2b488183SChunyan Zhang			pll1: clock-controller@0 {
275*2b488183SChunyan Zhang				compatible = "sprd,ums512-g3-pll";
276*2b488183SChunyan Zhang				reg = <0x0 0x3000>;
277*2b488183SChunyan Zhang				clocks = <&ext_26m>;
278*2b488183SChunyan Zhang				clock-names = "ext-26m";
279*2b488183SChunyan Zhang				#clock-cells = <1>;
280*2b488183SChunyan Zhang			};
281*2b488183SChunyan Zhang		};
282*2b488183SChunyan Zhang
283*2b488183SChunyan Zhang		anlg_phy_gc_regs: syscon@323e0000 {
284*2b488183SChunyan Zhang			compatible = "sprd,ums512-glbregs", "syscon",
285*2b488183SChunyan Zhang				     "simple-mfd";
286*2b488183SChunyan Zhang			reg = <0 0x323e0000 0 0x3000>;
287*2b488183SChunyan Zhang			#address-cells = <1>;
288*2b488183SChunyan Zhang			#size-cells = <1>;
289*2b488183SChunyan Zhang			ranges = <0 0 0x323e0000 0x3000>;
290*2b488183SChunyan Zhang
291*2b488183SChunyan Zhang			pll2: clock-controller@0 {
292*2b488183SChunyan Zhang				compatible = "sprd,ums512-gc-pll";
293*2b488183SChunyan Zhang				reg = <0x0 0x100>;
294*2b488183SChunyan Zhang				clock-names = "ext-26m";
295*2b488183SChunyan Zhang				#clock-cells = <1>;
296*2b488183SChunyan Zhang			};
297*2b488183SChunyan Zhang		};
298*2b488183SChunyan Zhang
299*2b488183SChunyan Zhang		anlg_phy_g10_regs: syscon@323f0000 {
300*2b488183SChunyan Zhang			compatible = "sprd,ums512-glbregs", "syscon",
301*2b488183SChunyan Zhang				     "simple-mfd";
302*2b488183SChunyan Zhang			reg = <0 0x323f0000 0 0x3000>;
303*2b488183SChunyan Zhang		};
304*2b488183SChunyan Zhang
305*2b488183SChunyan Zhang		aon_apb_regs: syscon@327d0000 {
306*2b488183SChunyan Zhang			compatible = "sprd,ums512-glbregs", "syscon",
307*2b488183SChunyan Zhang				     "simple-mfd";
308*2b488183SChunyan Zhang			reg = <0 0x327d0000 0 0x3000>;
309*2b488183SChunyan Zhang			#address-cells = <1>;
310*2b488183SChunyan Zhang			#size-cells = <1>;
311*2b488183SChunyan Zhang			ranges = <0 0 0x327d0000 0x3000>;
312*2b488183SChunyan Zhang
313*2b488183SChunyan Zhang			aonapb_gate: clock-controller@0 {
314*2b488183SChunyan Zhang				compatible = "sprd,ums512-aon-gate";
315*2b488183SChunyan Zhang				reg = <0x0 0x3000>;
316*2b488183SChunyan Zhang				clocks = <&ext_26m>;
317*2b488183SChunyan Zhang				clock-names = "ext-26m";
318*2b488183SChunyan Zhang				#clock-cells = <1>;
319*2b488183SChunyan Zhang			};
320*2b488183SChunyan Zhang		};
321*2b488183SChunyan Zhang
322*2b488183SChunyan Zhang		pmu_apb_regs: syscon@327e0000 {
323*2b488183SChunyan Zhang			compatible = "sprd,ums512-glbregs", "syscon",
324*2b488183SChunyan Zhang				     "simple-mfd";
325*2b488183SChunyan Zhang			reg = <0 0x327e0000 0 0x3000>;
326*2b488183SChunyan Zhang			#address-cells = <1>;
327*2b488183SChunyan Zhang			#size-cells = <1>;
328*2b488183SChunyan Zhang			ranges = <0 0 0x327e0000 0x3000>;
329*2b488183SChunyan Zhang
330*2b488183SChunyan Zhang			pmu_gate: clock-controller@0 {
331*2b488183SChunyan Zhang				compatible = "sprd,ums512-pmu-gate";
332*2b488183SChunyan Zhang				reg = <0x0 0x3000>;
333*2b488183SChunyan Zhang				clocks = <&ext_26m>;
334*2b488183SChunyan Zhang				clock-names = "ext-26m";
335*2b488183SChunyan Zhang				#clock-cells = <1>;
336*2b488183SChunyan Zhang			};
337*2b488183SChunyan Zhang		};
338*2b488183SChunyan Zhang
339*2b488183SChunyan Zhang		audcp_apb_regs: syscon@3350d000 {
340*2b488183SChunyan Zhang			compatible = "sprd,ums512-glbregs", "syscon",
341*2b488183SChunyan Zhang				     "simple-mfd";
342*2b488183SChunyan Zhang			reg = <0 0x3350d000 0 0x1000>;
343*2b488183SChunyan Zhang			#address-cells = <1>;
344*2b488183SChunyan Zhang			#size-cells = <1>;
345*2b488183SChunyan Zhang			ranges = <0 0 0x3350d000 0x1000>;
346*2b488183SChunyan Zhang
347*2b488183SChunyan Zhang			audcpapb_gate: clock-controller@0 {
348*2b488183SChunyan Zhang				compatible = "sprd,ums512-audcpapb-gate";
349*2b488183SChunyan Zhang				reg = <0x0 0x300>;
350*2b488183SChunyan Zhang				#clock-cells = <1>;
351*2b488183SChunyan Zhang			};
352*2b488183SChunyan Zhang		};
353*2b488183SChunyan Zhang
354*2b488183SChunyan Zhang		audcp_ahb_regs: syscon@335e0000 {
355*2b488183SChunyan Zhang			compatible = "sprd,ums512-glbregs", "syscon",
356*2b488183SChunyan Zhang				     "simple-mfd";
357*2b488183SChunyan Zhang			reg = <0 0x335e0000 0 0x1000>;
358*2b488183SChunyan Zhang			#address-cells = <1>;
359*2b488183SChunyan Zhang			#size-cells = <1>;
360*2b488183SChunyan Zhang			ranges = <0 0 0x335e0000 0x1000>;
361*2b488183SChunyan Zhang
362*2b488183SChunyan Zhang			audcpahb_gate: clock-controller@0 {
363*2b488183SChunyan Zhang				compatible = "sprd,ums512-audcpahb-gate";
364*2b488183SChunyan Zhang				reg = <0x0 0x300>;
365*2b488183SChunyan Zhang				#clock-cells = <1>;
366*2b488183SChunyan Zhang			};
367*2b488183SChunyan Zhang		};
368*2b488183SChunyan Zhang
369*2b488183SChunyan Zhang		gpu_apb_regs: syscon@60100000 {
370*2b488183SChunyan Zhang			compatible = "sprd,ums512-glbregs", "syscon",
371*2b488183SChunyan Zhang				     "simple-mfd";
372*2b488183SChunyan Zhang			reg = <0 0x60100000 0 0x3000>;
373*2b488183SChunyan Zhang			#address-cells = <1>;
374*2b488183SChunyan Zhang			#size-cells = <1>;
375*2b488183SChunyan Zhang			ranges = <0 0 0x60100000 0x3000>;
376*2b488183SChunyan Zhang
377*2b488183SChunyan Zhang			gpu_clk: clock-controller@0 {
378*2b488183SChunyan Zhang				compatible = "sprd,ums512-gpu-clk";
379*2b488183SChunyan Zhang				clocks = <&ext_26m>;
380*2b488183SChunyan Zhang				clock-names = "ext-26m";
381*2b488183SChunyan Zhang				reg = <0x0 0x100>;
382*2b488183SChunyan Zhang				#clock-cells = <1>;
383*2b488183SChunyan Zhang			};
384*2b488183SChunyan Zhang		};
385*2b488183SChunyan Zhang
386*2b488183SChunyan Zhang		gpu_dvfs_apb_regs: syscon@60110000 {
387*2b488183SChunyan Zhang			compatible = "sprd,ums512-glbregs", "syscon",
388*2b488183SChunyan Zhang				     "simple-mfd";
389*2b488183SChunyan Zhang			reg = <0 0x60110000 0 0x3000>;
390*2b488183SChunyan Zhang		};
391*2b488183SChunyan Zhang
392*2b488183SChunyan Zhang		mm_ahb_regs: syscon@62200000 {
393*2b488183SChunyan Zhang			compatible = "sprd,ums512-glbregs", "syscon",
394*2b488183SChunyan Zhang				     "simple-mfd";
395*2b488183SChunyan Zhang			reg = <0 0x62200000 0 0x3000>;
396*2b488183SChunyan Zhang			#address-cells = <1>;
397*2b488183SChunyan Zhang			#size-cells = <1>;
398*2b488183SChunyan Zhang			ranges = <0 0 0x62200000 0x3000>;
399*2b488183SChunyan Zhang
400*2b488183SChunyan Zhang			mm_gate: clock-controller@0 {
401*2b488183SChunyan Zhang				compatible = "sprd,ums512-mm-gate-clk";
402*2b488183SChunyan Zhang				reg = <0x0 0x3000>;
403*2b488183SChunyan Zhang				#clock-cells = <1>;
404*2b488183SChunyan Zhang			};
405*2b488183SChunyan Zhang		};
406*2b488183SChunyan Zhang
407*2b488183SChunyan Zhang		ap_apb_regs: syscon@71000000 {
408*2b488183SChunyan Zhang			compatible = "sprd,ums512-glbregs", "syscon",
409*2b488183SChunyan Zhang				     "simple-mfd";
410*2b488183SChunyan Zhang			reg = <0 0x71000000 0 0x3000>;
411*2b488183SChunyan Zhang			#address-cells = <1>;
412*2b488183SChunyan Zhang			#size-cells = <1>;
413*2b488183SChunyan Zhang			ranges = <0 0 0x71000000 0x3000>;
414*2b488183SChunyan Zhang
415*2b488183SChunyan Zhang			apapb_gate: clock-controller@0 {
416*2b488183SChunyan Zhang				compatible = "sprd,ums512-apapb-gate";
417*2b488183SChunyan Zhang				reg = <0x0 0x3000>;
418*2b488183SChunyan Zhang				#clock-cells = <1>;
419*2b488183SChunyan Zhang			};
420*2b488183SChunyan Zhang		};
421*2b488183SChunyan Zhang
422*2b488183SChunyan Zhang		ap_clk: clock-controller@20200000 {
423*2b488183SChunyan Zhang			compatible = "sprd,ums512-ap-clk";
424*2b488183SChunyan Zhang			reg = <0 0x20200000 0 0x1000>;
425*2b488183SChunyan Zhang			clocks = <&ext_26m>;
426*2b488183SChunyan Zhang			clock-names = "ext-26m";
427*2b488183SChunyan Zhang			#clock-cells = <1>;
428*2b488183SChunyan Zhang		};
429*2b488183SChunyan Zhang
430*2b488183SChunyan Zhang		aon_clk: clock-controller@32080000 {
431*2b488183SChunyan Zhang			compatible = "sprd,ums512-aonapb-clk";
432*2b488183SChunyan Zhang			reg = <0 0x32080000 0 0x1000>;
433*2b488183SChunyan Zhang			clocks = <&ext_26m>, <&ext_32k>,
434*2b488183SChunyan Zhang				 <&ext_4m>, <&rco_100m>;
435*2b488183SChunyan Zhang			clock-names = "ext-26m", "ext-32k",
436*2b488183SChunyan Zhang				      "ext-4m", "rco-100m";
437*2b488183SChunyan Zhang			#clock-cells = <1>;
438*2b488183SChunyan Zhang		};
439*2b488183SChunyan Zhang
440*2b488183SChunyan Zhang		mm_clk: clock-controller@62100000 {
441*2b488183SChunyan Zhang			compatible = "sprd,ums512-mm-clk";
442*2b488183SChunyan Zhang			reg = <0 0x62100000 0 0x1000>;
443*2b488183SChunyan Zhang			clocks = <&ext_26m>;
444*2b488183SChunyan Zhang			clock-names = "ext-26m";
445*2b488183SChunyan Zhang			#clock-cells = <1>;
446*2b488183SChunyan Zhang		};
447*2b488183SChunyan Zhang
448*2b488183SChunyan Zhang		/* SoC Funnel */
449*2b488183SChunyan Zhang		funnel@3c002000 {
450*2b488183SChunyan Zhang			compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
451*2b488183SChunyan Zhang			reg = <0 0x3c002000 0 0x1000>;
452*2b488183SChunyan Zhang			clocks = <&ext_26m>;
453*2b488183SChunyan Zhang			clock-names = "apb_pclk";
454*2b488183SChunyan Zhang
455*2b488183SChunyan Zhang			out-ports {
456*2b488183SChunyan Zhang				port {
457*2b488183SChunyan Zhang					funnel_soc_out_port: endpoint {
458*2b488183SChunyan Zhang						remote-endpoint = <&etb_in>;
459*2b488183SChunyan Zhang					};
460*2b488183SChunyan Zhang				};
461*2b488183SChunyan Zhang			};
462*2b488183SChunyan Zhang
463*2b488183SChunyan Zhang			in-ports {
464*2b488183SChunyan Zhang				#address-cells = <1>;
465*2b488183SChunyan Zhang				#size-cells = <0>;
466*2b488183SChunyan Zhang
467*2b488183SChunyan Zhang				port@1 {
468*2b488183SChunyan Zhang					reg = <1>;
469*2b488183SChunyan Zhang					funnel_soc_in_port: endpoint {
470*2b488183SChunyan Zhang						remote-endpoint =
471*2b488183SChunyan Zhang						<&funnel_corinth_out_port>;
472*2b488183SChunyan Zhang					};
473*2b488183SChunyan Zhang				};
474*2b488183SChunyan Zhang			};
475*2b488183SChunyan Zhang		};
476*2b488183SChunyan Zhang
477*2b488183SChunyan Zhang		/* SoC ETF */
478*2b488183SChunyan Zhang		soc_etb: etb@3c003000 {
479*2b488183SChunyan Zhang			compatible = "arm,coresight-tmc", "arm,primecell";
480*2b488183SChunyan Zhang			reg = <0 0x3c003000 0 0x1000>;
481*2b488183SChunyan Zhang			clocks = <&ext_26m>;
482*2b488183SChunyan Zhang			clock-names = "apb_pclk";
483*2b488183SChunyan Zhang
484*2b488183SChunyan Zhang			in-ports {
485*2b488183SChunyan Zhang				port {
486*2b488183SChunyan Zhang					etb_in: endpoint {
487*2b488183SChunyan Zhang						remote-endpoint =
488*2b488183SChunyan Zhang						<&funnel_soc_out_port>;
489*2b488183SChunyan Zhang					};
490*2b488183SChunyan Zhang				};
491*2b488183SChunyan Zhang			};
492*2b488183SChunyan Zhang		};
493*2b488183SChunyan Zhang
494*2b488183SChunyan Zhang		/* AP-CPU Funnel for core3/4/5/7 */
495*2b488183SChunyan Zhang		funnel@3e001000 {
496*2b488183SChunyan Zhang			compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
497*2b488183SChunyan Zhang			reg = <0 0x3e001000 0 0x1000>;
498*2b488183SChunyan Zhang			clocks = <&ext_26m>;
499*2b488183SChunyan Zhang			clock-names = "apb_pclk";
500*2b488183SChunyan Zhang
501*2b488183SChunyan Zhang			out-ports {
502*2b488183SChunyan Zhang				port {
503*2b488183SChunyan Zhang					funnel_corinth_lit_out_port: endpoint {
504*2b488183SChunyan Zhang						remote-endpoint =
505*2b488183SChunyan Zhang						<&corinth_etf_lit_in>;
506*2b488183SChunyan Zhang					};
507*2b488183SChunyan Zhang				};
508*2b488183SChunyan Zhang			};
509*2b488183SChunyan Zhang
510*2b488183SChunyan Zhang			in-ports {
511*2b488183SChunyan Zhang				#address-cells = <1>;
512*2b488183SChunyan Zhang				#size-cells = <0>;
513*2b488183SChunyan Zhang
514*2b488183SChunyan Zhang				port@0 {
515*2b488183SChunyan Zhang					reg = <0>;
516*2b488183SChunyan Zhang					funnel_core_in_port3: endpoint {
517*2b488183SChunyan Zhang						remote-endpoint = <&etm3_out>;
518*2b488183SChunyan Zhang					};
519*2b488183SChunyan Zhang				};
520*2b488183SChunyan Zhang
521*2b488183SChunyan Zhang				port@1 {
522*2b488183SChunyan Zhang					reg = <1>;
523*2b488183SChunyan Zhang					funnel_core_in_port4: endpoint {
524*2b488183SChunyan Zhang						remote-endpoint = <&etm4_out>;
525*2b488183SChunyan Zhang					};
526*2b488183SChunyan Zhang				};
527*2b488183SChunyan Zhang
528*2b488183SChunyan Zhang				port@2 {
529*2b488183SChunyan Zhang					reg = <2>;
530*2b488183SChunyan Zhang					funnel_core_in_port5: endpoint {
531*2b488183SChunyan Zhang						remote-endpoint = <&etm5_out>;
532*2b488183SChunyan Zhang					};
533*2b488183SChunyan Zhang				};
534*2b488183SChunyan Zhang
535*2b488183SChunyan Zhang				port@3 {
536*2b488183SChunyan Zhang					reg = <3>;
537*2b488183SChunyan Zhang					funnel_core_in_port7: endpoint {
538*2b488183SChunyan Zhang						remote-endpoint = <&etm7_out>;
539*2b488183SChunyan Zhang					};
540*2b488183SChunyan Zhang				};
541*2b488183SChunyan Zhang			};
542*2b488183SChunyan Zhang		};
543*2b488183SChunyan Zhang
544*2b488183SChunyan Zhang		/* AP-CPU ETF for little cores */
545*2b488183SChunyan Zhang		etf@3e002000 {
546*2b488183SChunyan Zhang			compatible = "arm,coresight-tmc", "arm,primecell";
547*2b488183SChunyan Zhang			reg = <0 0x3e002000 0 0x1000>;
548*2b488183SChunyan Zhang			clocks = <&ext_26m>;
549*2b488183SChunyan Zhang			clock-names = "apb_pclk";
550*2b488183SChunyan Zhang
551*2b488183SChunyan Zhang			out-ports {
552*2b488183SChunyan Zhang				port {
553*2b488183SChunyan Zhang					corinth_etf_lit_out: endpoint {
554*2b488183SChunyan Zhang						remote-endpoint =
555*2b488183SChunyan Zhang						<&funnel_corinth_from_lit_in_port>;
556*2b488183SChunyan Zhang					};
557*2b488183SChunyan Zhang				};
558*2b488183SChunyan Zhang			};
559*2b488183SChunyan Zhang
560*2b488183SChunyan Zhang			in-ports {
561*2b488183SChunyan Zhang				port {
562*2b488183SChunyan Zhang					corinth_etf_lit_in: endpoint {
563*2b488183SChunyan Zhang						remote-endpoint =
564*2b488183SChunyan Zhang						<&funnel_corinth_lit_out_port>;
565*2b488183SChunyan Zhang					};
566*2b488183SChunyan Zhang				};
567*2b488183SChunyan Zhang			};
568*2b488183SChunyan Zhang		};
569*2b488183SChunyan Zhang
570*2b488183SChunyan Zhang		/* AP-CPU ETF for big cores */
571*2b488183SChunyan Zhang		etf@3e003000 {
572*2b488183SChunyan Zhang			compatible = "arm,coresight-tmc", "arm,primecell";
573*2b488183SChunyan Zhang			reg = <0 0x3e003000 0 0x1000>;
574*2b488183SChunyan Zhang			clocks = <&ext_26m>;
575*2b488183SChunyan Zhang			clock-names = "apb_pclk";
576*2b488183SChunyan Zhang
577*2b488183SChunyan Zhang			out-ports {
578*2b488183SChunyan Zhang				port {
579*2b488183SChunyan Zhang					corinth_etf_big_out: endpoint {
580*2b488183SChunyan Zhang						remote-endpoint =
581*2b488183SChunyan Zhang						<&funnel_corinth_from_big_in_port>;
582*2b488183SChunyan Zhang					};
583*2b488183SChunyan Zhang				};
584*2b488183SChunyan Zhang			};
585*2b488183SChunyan Zhang
586*2b488183SChunyan Zhang			in-ports {
587*2b488183SChunyan Zhang				port {
588*2b488183SChunyan Zhang					corinth_etf_big_in: endpoint {
589*2b488183SChunyan Zhang						remote-endpoint =
590*2b488183SChunyan Zhang						<&funnel_corinth_big_out_port>;
591*2b488183SChunyan Zhang					};
592*2b488183SChunyan Zhang				};
593*2b488183SChunyan Zhang			};
594*2b488183SChunyan Zhang		};
595*2b488183SChunyan Zhang
596*2b488183SChunyan Zhang		/* Funnel to SoC */
597*2b488183SChunyan Zhang		funnel@3e004000 {
598*2b488183SChunyan Zhang			compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
599*2b488183SChunyan Zhang			reg = <0 0x3e004000 0 0x1000>;
600*2b488183SChunyan Zhang			clocks = <&ext_26m>;
601*2b488183SChunyan Zhang			clock-names = "apb_pclk";
602*2b488183SChunyan Zhang
603*2b488183SChunyan Zhang			out-ports {
604*2b488183SChunyan Zhang				port {
605*2b488183SChunyan Zhang					funnel_corinth_out_port: endpoint {
606*2b488183SChunyan Zhang						remote-endpoint =
607*2b488183SChunyan Zhang						<&funnel_soc_in_port>;
608*2b488183SChunyan Zhang					};
609*2b488183SChunyan Zhang				};
610*2b488183SChunyan Zhang			};
611*2b488183SChunyan Zhang
612*2b488183SChunyan Zhang			in-ports {
613*2b488183SChunyan Zhang				#address-cells = <1>;
614*2b488183SChunyan Zhang				#size-cells = <0>;
615*2b488183SChunyan Zhang
616*2b488183SChunyan Zhang				port@0 {
617*2b488183SChunyan Zhang					reg = <0>;
618*2b488183SChunyan Zhang					funnel_corinth_from_lit_in_port: endpoint {
619*2b488183SChunyan Zhang						remote-endpoint = <&corinth_etf_lit_out>;
620*2b488183SChunyan Zhang					};
621*2b488183SChunyan Zhang				};
622*2b488183SChunyan Zhang
623*2b488183SChunyan Zhang				port@1 {
624*2b488183SChunyan Zhang					reg = <1>;
625*2b488183SChunyan Zhang					funnel_corinth_from_big_in_port: endpoint {
626*2b488183SChunyan Zhang						remote-endpoint = <&corinth_etf_big_out>;
627*2b488183SChunyan Zhang					};
628*2b488183SChunyan Zhang				};
629*2b488183SChunyan Zhang			};
630*2b488183SChunyan Zhang		};
631*2b488183SChunyan Zhang
632*2b488183SChunyan Zhang		/* AP-CPU Funnel for core0/1/2/6 */
633*2b488183SChunyan Zhang		funnel@3e005000 {
634*2b488183SChunyan Zhang			compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
635*2b488183SChunyan Zhang			reg = <0 0x3e005000 0 0x1000>;
636*2b488183SChunyan Zhang			clocks = <&ext_26m>;
637*2b488183SChunyan Zhang			clock-names = "apb_pclk";
638*2b488183SChunyan Zhang
639*2b488183SChunyan Zhang			out-ports {
640*2b488183SChunyan Zhang				port {
641*2b488183SChunyan Zhang					funnel_corinth_big_out_port: endpoint {
642*2b488183SChunyan Zhang						remote-endpoint = <&corinth_etf_big_in>;
643*2b488183SChunyan Zhang					};
644*2b488183SChunyan Zhang				};
645*2b488183SChunyan Zhang			};
646*2b488183SChunyan Zhang
647*2b488183SChunyan Zhang			in-ports {
648*2b488183SChunyan Zhang				#address-cells = <1>;
649*2b488183SChunyan Zhang				#size-cells = <0>;
650*2b488183SChunyan Zhang
651*2b488183SChunyan Zhang				port@0 {
652*2b488183SChunyan Zhang					reg = <0>;
653*2b488183SChunyan Zhang					funnel_core_in_port0: endpoint {
654*2b488183SChunyan Zhang						remote-endpoint = <&etm0_out>;
655*2b488183SChunyan Zhang					};
656*2b488183SChunyan Zhang				};
657*2b488183SChunyan Zhang
658*2b488183SChunyan Zhang				port@1 {
659*2b488183SChunyan Zhang					reg = <1>;
660*2b488183SChunyan Zhang					funnel_core_in_port1: endpoint {
661*2b488183SChunyan Zhang						remote-endpoint = <&etm1_out>;
662*2b488183SChunyan Zhang					};
663*2b488183SChunyan Zhang				};
664*2b488183SChunyan Zhang
665*2b488183SChunyan Zhang				port@2 {
666*2b488183SChunyan Zhang					reg = <2>;
667*2b488183SChunyan Zhang					funnel_core_in_port2: endpoint {
668*2b488183SChunyan Zhang						remote-endpoint = <&etm2_out>;
669*2b488183SChunyan Zhang					};
670*2b488183SChunyan Zhang				};
671*2b488183SChunyan Zhang
672*2b488183SChunyan Zhang				port@3 {
673*2b488183SChunyan Zhang					reg = <3>;
674*2b488183SChunyan Zhang					funnel_core_in_port6: endpoint {
675*2b488183SChunyan Zhang						remote-endpoint = <&etm6_out>;
676*2b488183SChunyan Zhang					};
677*2b488183SChunyan Zhang				};
678*2b488183SChunyan Zhang			};
679*2b488183SChunyan Zhang		};
680*2b488183SChunyan Zhang
681*2b488183SChunyan Zhang		etm0: etm@3f040000 {
682*2b488183SChunyan Zhang			compatible = "arm,coresight-etm4x", "arm,primecell";
683*2b488183SChunyan Zhang			reg = <0 0x3f040000 0 0x1000>;
684*2b488183SChunyan Zhang			cpu = <&CPU0>;
685*2b488183SChunyan Zhang			clocks = <&ext_26m>, <&aon_clk CLK_CSSYS>, <&pll2 CLK_TWPLL_512M>;
686*2b488183SChunyan Zhang			clock-names = "apb_pclk", "clk_cs", "cs_src";
687*2b488183SChunyan Zhang
688*2b488183SChunyan Zhang			out-ports {
689*2b488183SChunyan Zhang				port {
690*2b488183SChunyan Zhang					etm0_out: endpoint {
691*2b488183SChunyan Zhang						remote-endpoint =
692*2b488183SChunyan Zhang						<&funnel_core_in_port0>;
693*2b488183SChunyan Zhang					};
694*2b488183SChunyan Zhang				};
695*2b488183SChunyan Zhang			};
696*2b488183SChunyan Zhang		};
697*2b488183SChunyan Zhang
698*2b488183SChunyan Zhang		etm1: etm@3f140000 {
699*2b488183SChunyan Zhang			compatible = "arm,coresight-etm4x", "arm,primecell";
700*2b488183SChunyan Zhang			reg = <0 0x3f140000 0 0x1000>;
701*2b488183SChunyan Zhang			cpu = <&CPU1>;
702*2b488183SChunyan Zhang			clocks = <&ext_26m>, <&aon_clk CLK_CSSYS>, <&pll2 CLK_TWPLL_512M>;
703*2b488183SChunyan Zhang			clock-names = "apb_pclk", "clk_cs", "cs_src";
704*2b488183SChunyan Zhang
705*2b488183SChunyan Zhang			out-ports {
706*2b488183SChunyan Zhang				port {
707*2b488183SChunyan Zhang					etm1_out: endpoint {
708*2b488183SChunyan Zhang						remote-endpoint =
709*2b488183SChunyan Zhang						<&funnel_core_in_port1>;
710*2b488183SChunyan Zhang					};
711*2b488183SChunyan Zhang				};
712*2b488183SChunyan Zhang			};
713*2b488183SChunyan Zhang		};
714*2b488183SChunyan Zhang
715*2b488183SChunyan Zhang		etm2: etm@3f240000 {
716*2b488183SChunyan Zhang			compatible = "arm,coresight-etm4x", "arm,primecell";
717*2b488183SChunyan Zhang			reg = <0 0x3f240000 0 0x1000>;
718*2b488183SChunyan Zhang			cpu = <&CPU2>;
719*2b488183SChunyan Zhang			clocks = <&ext_26m>, <&aon_clk CLK_CSSYS>, <&pll2 CLK_TWPLL_512M>;
720*2b488183SChunyan Zhang			clock-names = "apb_pclk", "clk_cs", "cs_src";
721*2b488183SChunyan Zhang
722*2b488183SChunyan Zhang			out-ports {
723*2b488183SChunyan Zhang				port {
724*2b488183SChunyan Zhang					etm2_out: endpoint {
725*2b488183SChunyan Zhang						remote-endpoint =
726*2b488183SChunyan Zhang						<&funnel_core_in_port2>;
727*2b488183SChunyan Zhang					};
728*2b488183SChunyan Zhang				};
729*2b488183SChunyan Zhang			};
730*2b488183SChunyan Zhang		};
731*2b488183SChunyan Zhang
732*2b488183SChunyan Zhang		etm3: etm@3f340000 {
733*2b488183SChunyan Zhang			compatible = "arm,coresight-etm4x", "arm,primecell";
734*2b488183SChunyan Zhang			reg = <0 0x3f340000 0 0x1000>;
735*2b488183SChunyan Zhang			cpu = <&CPU3>;
736*2b488183SChunyan Zhang			clocks = <&ext_26m>, <&aon_clk CLK_CSSYS>, <&pll2 CLK_TWPLL_512M>;
737*2b488183SChunyan Zhang			clock-names = "apb_pclk", "clk_cs", "cs_src";
738*2b488183SChunyan Zhang
739*2b488183SChunyan Zhang			out-ports {
740*2b488183SChunyan Zhang				port {
741*2b488183SChunyan Zhang					etm3_out: endpoint {
742*2b488183SChunyan Zhang						remote-endpoint =
743*2b488183SChunyan Zhang						<&funnel_core_in_port3>;
744*2b488183SChunyan Zhang					};
745*2b488183SChunyan Zhang				};
746*2b488183SChunyan Zhang			};
747*2b488183SChunyan Zhang		};
748*2b488183SChunyan Zhang
749*2b488183SChunyan Zhang		etm4: etm@3f440000 {
750*2b488183SChunyan Zhang			compatible = "arm,coresight-etm4x", "arm,primecell";
751*2b488183SChunyan Zhang			reg = <0 0x3f440000 0 0x1000>;
752*2b488183SChunyan Zhang			cpu = <&CPU4>;
753*2b488183SChunyan Zhang			clocks = <&ext_26m>, <&aon_clk CLK_CSSYS>, <&pll2 CLK_TWPLL_512M>;
754*2b488183SChunyan Zhang			clock-names = "apb_pclk", "clk_cs", "cs_src";
755*2b488183SChunyan Zhang
756*2b488183SChunyan Zhang			out-ports {
757*2b488183SChunyan Zhang				port {
758*2b488183SChunyan Zhang					etm4_out: endpoint {
759*2b488183SChunyan Zhang						remote-endpoint =
760*2b488183SChunyan Zhang						<&funnel_core_in_port4>;
761*2b488183SChunyan Zhang					};
762*2b488183SChunyan Zhang				};
763*2b488183SChunyan Zhang			};
764*2b488183SChunyan Zhang		};
765*2b488183SChunyan Zhang
766*2b488183SChunyan Zhang		etm5: etm@3f540000 {
767*2b488183SChunyan Zhang			compatible = "arm,coresight-etm4x", "arm,primecell";
768*2b488183SChunyan Zhang			reg = <0 0x3f540000 0 0x1000>;
769*2b488183SChunyan Zhang			cpu = <&CPU5>;
770*2b488183SChunyan Zhang			clocks = <&ext_26m>, <&aon_clk CLK_CSSYS>, <&pll2 CLK_TWPLL_512M>;
771*2b488183SChunyan Zhang			clock-names = "apb_pclk", "clk_cs", "cs_src";
772*2b488183SChunyan Zhang
773*2b488183SChunyan Zhang			out-ports {
774*2b488183SChunyan Zhang				port {
775*2b488183SChunyan Zhang					etm5_out: endpoint {
776*2b488183SChunyan Zhang						remote-endpoint =
777*2b488183SChunyan Zhang						<&funnel_core_in_port5>;
778*2b488183SChunyan Zhang					};
779*2b488183SChunyan Zhang				};
780*2b488183SChunyan Zhang			};
781*2b488183SChunyan Zhang		};
782*2b488183SChunyan Zhang
783*2b488183SChunyan Zhang		etm6: etm@3f640000 {
784*2b488183SChunyan Zhang			compatible = "arm,coresight-etm4x", "arm,primecell";
785*2b488183SChunyan Zhang			reg = <0 0x3f640000 0 0x1000>;
786*2b488183SChunyan Zhang			cpu = <&CPU6>;
787*2b488183SChunyan Zhang			clocks = <&ext_26m>, <&aon_clk CLK_CSSYS>, <&pll2 CLK_TWPLL_512M>;
788*2b488183SChunyan Zhang			clock-names = "apb_pclk", "clk_cs", "cs_src";
789*2b488183SChunyan Zhang
790*2b488183SChunyan Zhang			out-ports {
791*2b488183SChunyan Zhang				port {
792*2b488183SChunyan Zhang					etm6_out: endpoint {
793*2b488183SChunyan Zhang						remote-endpoint =
794*2b488183SChunyan Zhang						<&funnel_core_in_port6>;
795*2b488183SChunyan Zhang					};
796*2b488183SChunyan Zhang				};
797*2b488183SChunyan Zhang			};
798*2b488183SChunyan Zhang		};
799*2b488183SChunyan Zhang
800*2b488183SChunyan Zhang		etm7: etm@3f740000 {
801*2b488183SChunyan Zhang			compatible = "arm,coresight-etm4x", "arm,primecell";
802*2b488183SChunyan Zhang			reg = <0 0x3f740000 0 0x1000>;
803*2b488183SChunyan Zhang			cpu = <&CPU7>;
804*2b488183SChunyan Zhang			clocks = <&ext_26m>, <&aon_clk CLK_CSSYS>, <&pll2 CLK_TWPLL_512M>;
805*2b488183SChunyan Zhang			clock-names = "apb_pclk", "clk_cs", "cs_src";
806*2b488183SChunyan Zhang
807*2b488183SChunyan Zhang			out-ports {
808*2b488183SChunyan Zhang				port {
809*2b488183SChunyan Zhang					etm7_out: endpoint {
810*2b488183SChunyan Zhang						remote-endpoint =
811*2b488183SChunyan Zhang						<&funnel_core_in_port7>;
812*2b488183SChunyan Zhang					};
813*2b488183SChunyan Zhang				};
814*2b488183SChunyan Zhang			};
815*2b488183SChunyan Zhang		};
816*2b488183SChunyan Zhang
817*2b488183SChunyan Zhang		apb@70000000 {
818*2b488183SChunyan Zhang			compatible = "simple-bus";
819*2b488183SChunyan Zhang			#address-cells = <1>;
820*2b488183SChunyan Zhang			#size-cells = <1>;
821*2b488183SChunyan Zhang			ranges = <0 0x0 0x70000000 0x10000000>;
822*2b488183SChunyan Zhang
823*2b488183SChunyan Zhang			uart0: serial@0 {
824*2b488183SChunyan Zhang				compatible = "sprd,ums512-uart",
825*2b488183SChunyan Zhang					     "sprd,sc9836-uart";
826*2b488183SChunyan Zhang				reg = <0x0 0x100>;
827*2b488183SChunyan Zhang				interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
828*2b488183SChunyan Zhang				clocks = <&ext_26m>;
829*2b488183SChunyan Zhang				status = "disabled";
830*2b488183SChunyan Zhang			};
831*2b488183SChunyan Zhang
832*2b488183SChunyan Zhang			uart1: serial@100000 {
833*2b488183SChunyan Zhang				compatible = "sprd,ums512-uart",
834*2b488183SChunyan Zhang					     "sprd,sc9836-uart";
835*2b488183SChunyan Zhang				reg = <0x100000 0x100>;
836*2b488183SChunyan Zhang				interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
837*2b488183SChunyan Zhang				clocks = <&ext_26m>;
838*2b488183SChunyan Zhang				status = "disabled";
839*2b488183SChunyan Zhang			};
840*2b488183SChunyan Zhang
841*2b488183SChunyan Zhang			sdio0: mmc@1100000 {
842*2b488183SChunyan Zhang				compatible = "sprd,sdhci-r11";
843*2b488183SChunyan Zhang				reg = <0x1100000 0x1000>;
844*2b488183SChunyan Zhang				interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
845*2b488183SChunyan Zhang				clock-names = "sdio", "enable";
846*2b488183SChunyan Zhang				clocks = <&ap_clk CLK_SDIO0_2X>,
847*2b488183SChunyan Zhang					 <&apapb_gate CLK_SDIO0_EB>;
848*2b488183SChunyan Zhang				assigned-clocks = <&ap_clk CLK_SDIO0_2X>;
849*2b488183SChunyan Zhang				assigned-clock-parents = <&pll1 CLK_RPLL>;
850*2b488183SChunyan Zhang				status = "disabled";
851*2b488183SChunyan Zhang			};
852*2b488183SChunyan Zhang
853*2b488183SChunyan Zhang			sdio3: mmc@1400000 {
854*2b488183SChunyan Zhang				compatible = "sprd,sdhci-r11";
855*2b488183SChunyan Zhang				reg = <0x1400000 0x1000>;
856*2b488183SChunyan Zhang				interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
857*2b488183SChunyan Zhang				clock-names = "sdio", "enable";
858*2b488183SChunyan Zhang				clocks = <&ap_clk CLK_EMMC_2X>,
859*2b488183SChunyan Zhang					 <&apapb_gate CLK_EMMC_EB>;
860*2b488183SChunyan Zhang				assigned-clocks = <&ap_clk CLK_EMMC_2X>;
861*2b488183SChunyan Zhang				assigned-clock-parents = <&pll1 CLK_RPLL>;
862*2b488183SChunyan Zhang				status = "disabled";
863*2b488183SChunyan Zhang			};
864*2b488183SChunyan Zhang		};
865*2b488183SChunyan Zhang
866*2b488183SChunyan Zhang		aon: bus@32000000 {
867*2b488183SChunyan Zhang			compatible = "simple-bus";
868*2b488183SChunyan Zhang			#address-cells = <1>;
869*2b488183SChunyan Zhang			#size-cells = <1>;
870*2b488183SChunyan Zhang			ranges = <0 0x0 0x32000000 0x1000000>;
871*2b488183SChunyan Zhang
872*2b488183SChunyan Zhang			adi_bus: spi@100000 {
873*2b488183SChunyan Zhang				compatible = "sprd,ums512-adi";
874*2b488183SChunyan Zhang				reg = <0x100000 0x100000>;
875*2b488183SChunyan Zhang				#address-cells = <1>;
876*2b488183SChunyan Zhang				#size-cells = <0>;
877*2b488183SChunyan Zhang				sprd,hw-channels = <2 0x18cc>, <3 0x18cc>, <13 0x1854>, <15 0x1874>,
878*2b488183SChunyan Zhang					<17 0x1844>,<19 0x1844>, <21 0x1864>, <30 0x1820>,
879*2b488183SChunyan Zhang					<35 0x19b8>, <39 0x19ac>;
880*2b488183SChunyan Zhang			};
881*2b488183SChunyan Zhang		};
882*2b488183SChunyan Zhang	};
883*2b488183SChunyan Zhang
884*2b488183SChunyan Zhang	ext_26m: clk-26m {
885*2b488183SChunyan Zhang		compatible = "fixed-clock";
886*2b488183SChunyan Zhang		#clock-cells = <0>;
887*2b488183SChunyan Zhang		clock-frequency = <26000000>;
888*2b488183SChunyan Zhang		clock-output-names = "ext-26m";
889*2b488183SChunyan Zhang	};
890*2b488183SChunyan Zhang
891*2b488183SChunyan Zhang	ext_32k: clk-32k {
892*2b488183SChunyan Zhang		compatible = "fixed-clock";
893*2b488183SChunyan Zhang		#clock-cells = <0>;
894*2b488183SChunyan Zhang		clock-frequency = <32768>;
895*2b488183SChunyan Zhang		clock-output-names = "ext-32k";
896*2b488183SChunyan Zhang	};
897*2b488183SChunyan Zhang
898*2b488183SChunyan Zhang	ext_4m: clk-4m {
899*2b488183SChunyan Zhang		compatible = "fixed-clock";
900*2b488183SChunyan Zhang		#clock-cells = <0>;
901*2b488183SChunyan Zhang		clock-frequency = <4000000>;
902*2b488183SChunyan Zhang		clock-output-names = "ext-4m";
903*2b488183SChunyan Zhang	};
904*2b488183SChunyan Zhang
905*2b488183SChunyan Zhang	rco_100m: clk-100m {
906*2b488183SChunyan Zhang		compatible = "fixed-clock";
907*2b488183SChunyan Zhang		#clock-cells = <0>;
908*2b488183SChunyan Zhang		clock-frequency = <100000000>;
909*2b488183SChunyan Zhang		clock-output-names = "rco-100m";
910*2b488183SChunyan Zhang	};
911*2b488183SChunyan Zhang};
912