xref: /linux/arch/arm64/boot/dts/sprd/sc9863a.dtsi (revision 3a39d672e7f48b8d6b91a09afa4b55352773b4b5)
1f1da5ea6SChunyan Zhang// SPDX-License-Identifier: GPL-2.0-only
2f1da5ea6SChunyan Zhang/*
3f1da5ea6SChunyan Zhang * Unisoc SC9863A SoC DTS file
4f1da5ea6SChunyan Zhang *
5f1da5ea6SChunyan Zhang * Copyright (C) 2019, Unisoc Inc.
6f1da5ea6SChunyan Zhang */
7f1da5ea6SChunyan Zhang
8161af8fdSChunyan Zhang#include <dt-bindings/clock/sprd,sc9863a-clk.h>
9f1da5ea6SChunyan Zhang#include <dt-bindings/interrupt-controller/arm-gic.h>
10f1da5ea6SChunyan Zhang#include "sharkl3.dtsi"
11f1da5ea6SChunyan Zhang
12f1da5ea6SChunyan Zhang/ {
13f1da5ea6SChunyan Zhang	cpus {
14f1da5ea6SChunyan Zhang		#address-cells = <2>;
15f1da5ea6SChunyan Zhang		#size-cells = <0>;
16f1da5ea6SChunyan Zhang
17f1da5ea6SChunyan Zhang		cpu-map {
18f1da5ea6SChunyan Zhang			cluster0 {
19f1da5ea6SChunyan Zhang				core0 {
20f1da5ea6SChunyan Zhang					cpu = <&CPU0>;
21f1da5ea6SChunyan Zhang				};
22f1da5ea6SChunyan Zhang				core1 {
23f1da5ea6SChunyan Zhang					cpu = <&CPU1>;
24f1da5ea6SChunyan Zhang				};
25f1da5ea6SChunyan Zhang				core2 {
26f1da5ea6SChunyan Zhang					cpu = <&CPU2>;
27f1da5ea6SChunyan Zhang				};
28f1da5ea6SChunyan Zhang				core3 {
29f1da5ea6SChunyan Zhang					cpu = <&CPU3>;
30f1da5ea6SChunyan Zhang				};
31f1da5ea6SChunyan Zhang				core4 {
32f1da5ea6SChunyan Zhang					cpu = <&CPU4>;
33f1da5ea6SChunyan Zhang				};
34f1da5ea6SChunyan Zhang				core5 {
35f1da5ea6SChunyan Zhang					cpu = <&CPU5>;
36f1da5ea6SChunyan Zhang				};
37f1da5ea6SChunyan Zhang				core6 {
38f1da5ea6SChunyan Zhang					cpu = <&CPU6>;
39f1da5ea6SChunyan Zhang				};
40f1da5ea6SChunyan Zhang				core7 {
41f1da5ea6SChunyan Zhang					cpu = <&CPU7>;
42f1da5ea6SChunyan Zhang				};
43f1da5ea6SChunyan Zhang			};
44f1da5ea6SChunyan Zhang		};
45f1da5ea6SChunyan Zhang
46f1da5ea6SChunyan Zhang		CPU0: cpu@0 {
47f1da5ea6SChunyan Zhang			device_type = "cpu";
48f1da5ea6SChunyan Zhang			compatible = "arm,cortex-a55";
49f1da5ea6SChunyan Zhang			reg = <0x0 0x0>;
50f1da5ea6SChunyan Zhang			enable-method = "psci";
51f1da5ea6SChunyan Zhang			cpu-idle-states = <&CORE_PD>;
52f1da5ea6SChunyan Zhang		};
53f1da5ea6SChunyan Zhang
54f1da5ea6SChunyan Zhang		CPU1: cpu@100 {
55f1da5ea6SChunyan Zhang			device_type = "cpu";
56f1da5ea6SChunyan Zhang			compatible = "arm,cortex-a55";
57f1da5ea6SChunyan Zhang			reg = <0x0 0x100>;
58f1da5ea6SChunyan Zhang			enable-method = "psci";
59f1da5ea6SChunyan Zhang			cpu-idle-states = <&CORE_PD>;
60f1da5ea6SChunyan Zhang		};
61f1da5ea6SChunyan Zhang
62f1da5ea6SChunyan Zhang		CPU2: cpu@200 {
63f1da5ea6SChunyan Zhang			device_type = "cpu";
64f1da5ea6SChunyan Zhang			compatible = "arm,cortex-a55";
65f1da5ea6SChunyan Zhang			reg = <0x0 0x200>;
66f1da5ea6SChunyan Zhang			enable-method = "psci";
67f1da5ea6SChunyan Zhang			cpu-idle-states = <&CORE_PD>;
68f1da5ea6SChunyan Zhang		};
69f1da5ea6SChunyan Zhang
70f1da5ea6SChunyan Zhang		CPU3: cpu@300 {
71f1da5ea6SChunyan Zhang			device_type = "cpu";
72f1da5ea6SChunyan Zhang			compatible = "arm,cortex-a55";
73f1da5ea6SChunyan Zhang			reg = <0x0 0x300>;
74f1da5ea6SChunyan Zhang			enable-method = "psci";
75f1da5ea6SChunyan Zhang			cpu-idle-states = <&CORE_PD>;
76f1da5ea6SChunyan Zhang		};
77f1da5ea6SChunyan Zhang
78f1da5ea6SChunyan Zhang		CPU4: cpu@400 {
79f1da5ea6SChunyan Zhang			device_type = "cpu";
80f1da5ea6SChunyan Zhang			compatible = "arm,cortex-a55";
81f1da5ea6SChunyan Zhang			reg = <0x0 0x400>;
82f1da5ea6SChunyan Zhang			enable-method = "psci";
83f1da5ea6SChunyan Zhang			cpu-idle-states = <&CORE_PD>;
84f1da5ea6SChunyan Zhang		};
85f1da5ea6SChunyan Zhang
86f1da5ea6SChunyan Zhang		CPU5: cpu@500 {
87f1da5ea6SChunyan Zhang			device_type = "cpu";
88f1da5ea6SChunyan Zhang			compatible = "arm,cortex-a55";
89f1da5ea6SChunyan Zhang			reg = <0x0 0x500>;
90f1da5ea6SChunyan Zhang			enable-method = "psci";
91f1da5ea6SChunyan Zhang			cpu-idle-states = <&CORE_PD>;
92f1da5ea6SChunyan Zhang		};
93f1da5ea6SChunyan Zhang
94f1da5ea6SChunyan Zhang		CPU6: cpu@600 {
95f1da5ea6SChunyan Zhang			device_type = "cpu";
96f1da5ea6SChunyan Zhang			compatible = "arm,cortex-a55";
97f1da5ea6SChunyan Zhang			reg = <0x0 0x600>;
98f1da5ea6SChunyan Zhang			enable-method = "psci";
99f1da5ea6SChunyan Zhang			cpu-idle-states = <&CORE_PD>;
100f1da5ea6SChunyan Zhang		};
101f1da5ea6SChunyan Zhang
102f1da5ea6SChunyan Zhang		CPU7: cpu@700 {
103f1da5ea6SChunyan Zhang			device_type = "cpu";
104f1da5ea6SChunyan Zhang			compatible = "arm,cortex-a55";
105f1da5ea6SChunyan Zhang			reg = <0x0 0x700>;
106f1da5ea6SChunyan Zhang			enable-method = "psci";
107f1da5ea6SChunyan Zhang			cpu-idle-states = <&CORE_PD>;
108f1da5ea6SChunyan Zhang		};
109f1da5ea6SChunyan Zhang	};
110f1da5ea6SChunyan Zhang
111f1da5ea6SChunyan Zhang	idle-states {
1129b631649SLinus Walleij		entry-method = "psci";
113f1da5ea6SChunyan Zhang		CORE_PD: core-pd {
114f1da5ea6SChunyan Zhang			compatible = "arm,idle-state";
115f1da5ea6SChunyan Zhang			entry-latency-us = <4000>;
116f1da5ea6SChunyan Zhang			exit-latency-us = <4000>;
117f1da5ea6SChunyan Zhang			min-residency-us = <10000>;
118f1da5ea6SChunyan Zhang			local-timer-stop;
119f1da5ea6SChunyan Zhang			arm,psci-suspend-param = <0x00010000>;
120f1da5ea6SChunyan Zhang		};
121f1da5ea6SChunyan Zhang	};
122f1da5ea6SChunyan Zhang
123f1da5ea6SChunyan Zhang	psci {
124f1da5ea6SChunyan Zhang		compatible = "arm,psci-0.2";
125f1da5ea6SChunyan Zhang		method = "smc";
126f1da5ea6SChunyan Zhang	};
127f1da5ea6SChunyan Zhang
128f1da5ea6SChunyan Zhang	timer {
129f1da5ea6SChunyan Zhang		compatible = "arm,armv8-timer";
130f1da5ea6SChunyan Zhang		interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_HIGH>, /* Physical Secure PPI */
131f1da5ea6SChunyan Zhang			     <GIC_PPI 14 IRQ_TYPE_LEVEL_HIGH>, /* Physical Non-Secure PPI */
132f1da5ea6SChunyan Zhang			     <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH>, /* Virtual PPI */
133f1da5ea6SChunyan Zhang			     <GIC_PPI 10 IRQ_TYPE_LEVEL_HIGH>; /* Hipervisor PPI */
134f1da5ea6SChunyan Zhang	};
135f1da5ea6SChunyan Zhang
136f1da5ea6SChunyan Zhang	pmu {
1378b40a469SRob Herring		compatible = "arm,cortex-a55-pmu";
138f1da5ea6SChunyan Zhang		interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>,
139f1da5ea6SChunyan Zhang			     <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>,
140f1da5ea6SChunyan Zhang			     <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>,
141f1da5ea6SChunyan Zhang			     <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>,
142f1da5ea6SChunyan Zhang			     <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>,
143f1da5ea6SChunyan Zhang			     <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>,
144f1da5ea6SChunyan Zhang			     <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>,
145f1da5ea6SChunyan Zhang			     <GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>;
146f1da5ea6SChunyan Zhang	};
147f1da5ea6SChunyan Zhang
148f1da5ea6SChunyan Zhang	soc {
149f1da5ea6SChunyan Zhang		gic: interrupt-controller@14000000 {
150f1da5ea6SChunyan Zhang			compatible = "arm,gic-v3";
151f1da5ea6SChunyan Zhang			#interrupt-cells = <3>;
152f1da5ea6SChunyan Zhang			#address-cells = <2>;
153f1da5ea6SChunyan Zhang			#size-cells = <2>;
154f1da5ea6SChunyan Zhang			ranges;
155f1da5ea6SChunyan Zhang			redistributor-stride = <0x0 0x20000>;	/* 128KB stride */
156f1da5ea6SChunyan Zhang			#redistributor-regions = <1>;
157f1da5ea6SChunyan Zhang			interrupt-controller;
158f1da5ea6SChunyan Zhang			reg = <0x0 0x14000000 0 0x20000>,	/* GICD */
159f1da5ea6SChunyan Zhang			      <0x0 0x14040000 0 0x100000>;	/* GICR */
160f1da5ea6SChunyan Zhang			interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
161f1da5ea6SChunyan Zhang		};
162f1da5ea6SChunyan Zhang
16378efc019SChunyan Zhang		ap_clk: clock-controller@21500000 {
16478efc019SChunyan Zhang			compatible = "sprd,sc9863a-ap-clk";
16578efc019SChunyan Zhang			reg = <0 0x21500000 0 0x1000>;
16678efc019SChunyan Zhang			clocks = <&ext_32k>, <&ext_26m>;
16778efc019SChunyan Zhang			clock-names = "ext-32k", "ext-26m";
16878efc019SChunyan Zhang			#clock-cells = <1>;
16978efc019SChunyan Zhang		};
17078efc019SChunyan Zhang
17178efc019SChunyan Zhang		aon_clk: clock-controller@402d0000 {
17278efc019SChunyan Zhang			compatible = "sprd,sc9863a-aon-clk";
17378efc019SChunyan Zhang			reg = <0 0x402d0000 0 0x1000>;
17478efc019SChunyan Zhang			clocks = <&ext_26m>, <&rco_100m>,
17578efc019SChunyan Zhang				 <&ext_32k>, <&ext_4m>;
17678efc019SChunyan Zhang			clock-names = "ext-26m", "rco-100m",
17778efc019SChunyan Zhang				      "ext-32k", "ext-4m";
17878efc019SChunyan Zhang			#clock-cells = <1>;
17978efc019SChunyan Zhang		};
18078efc019SChunyan Zhang
18178efc019SChunyan Zhang		mm_clk: clock-controller@60900000 {
18278efc019SChunyan Zhang			compatible = "sprd,sc9863a-mm-clk";
18378efc019SChunyan Zhang			reg = <0 0x60900000 0 0x1000>;
18478efc019SChunyan Zhang			#clock-cells = <1>;
18578efc019SChunyan Zhang		};
18678efc019SChunyan Zhang
187f1da5ea6SChunyan Zhang		funnel@10001000 {
188f1da5ea6SChunyan Zhang			compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
189f1da5ea6SChunyan Zhang			reg = <0 0x10001000 0 0x1000>;
190f1da5ea6SChunyan Zhang			clocks = <&ext_26m>;
191f1da5ea6SChunyan Zhang			clock-names = "apb_pclk";
192f1da5ea6SChunyan Zhang
193f1da5ea6SChunyan Zhang			out-ports {
194f1da5ea6SChunyan Zhang				port {
195f1da5ea6SChunyan Zhang					funnel_soc_out_port: endpoint {
196f1da5ea6SChunyan Zhang						remote-endpoint = <&etb_in>;
197f1da5ea6SChunyan Zhang					};
198f1da5ea6SChunyan Zhang				};
199f1da5ea6SChunyan Zhang			};
200f1da5ea6SChunyan Zhang
201f1da5ea6SChunyan Zhang			in-ports {
202f1da5ea6SChunyan Zhang				port {
203f1da5ea6SChunyan Zhang					funnel_soc_in_port: endpoint {
204f1da5ea6SChunyan Zhang						remote-endpoint =
205f1da5ea6SChunyan Zhang						<&funnel_ca55_out_port>;
206f1da5ea6SChunyan Zhang					};
207f1da5ea6SChunyan Zhang				};
208f1da5ea6SChunyan Zhang			};
209f1da5ea6SChunyan Zhang		};
210f1da5ea6SChunyan Zhang
211f1da5ea6SChunyan Zhang		etb@10003000 {
212f1da5ea6SChunyan Zhang			compatible = "arm,coresight-tmc", "arm,primecell";
213f1da5ea6SChunyan Zhang			reg = <0 0x10003000 0 0x1000>;
214f1da5ea6SChunyan Zhang			clocks = <&ext_26m>;
215f1da5ea6SChunyan Zhang			clock-names = "apb_pclk";
216f1da5ea6SChunyan Zhang
217f1da5ea6SChunyan Zhang			in-ports {
218f1da5ea6SChunyan Zhang				port {
219f1da5ea6SChunyan Zhang					etb_in: endpoint {
220f1da5ea6SChunyan Zhang						remote-endpoint =
221f1da5ea6SChunyan Zhang						<&funnel_soc_out_port>;
222f1da5ea6SChunyan Zhang					};
223f1da5ea6SChunyan Zhang				};
224f1da5ea6SChunyan Zhang			};
225f1da5ea6SChunyan Zhang		};
226f1da5ea6SChunyan Zhang
227f1da5ea6SChunyan Zhang		funnel@12001000 {
228f1da5ea6SChunyan Zhang			compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
229f1da5ea6SChunyan Zhang			reg = <0 0x12001000 0 0x1000>;
230f1da5ea6SChunyan Zhang			clocks = <&ext_26m>;
231f1da5ea6SChunyan Zhang			clock-names = "apb_pclk";
232f1da5ea6SChunyan Zhang
233f1da5ea6SChunyan Zhang			out-ports {
234f1da5ea6SChunyan Zhang				port {
235f1da5ea6SChunyan Zhang					funnel_little_out_port: endpoint {
236f1da5ea6SChunyan Zhang						remote-endpoint =
237f1da5ea6SChunyan Zhang						<&etf_little_in>;
238f1da5ea6SChunyan Zhang					};
239f1da5ea6SChunyan Zhang				};
240f1da5ea6SChunyan Zhang			};
241f1da5ea6SChunyan Zhang
242f1da5ea6SChunyan Zhang			in-ports {
243f1da5ea6SChunyan Zhang				#address-cells = <1>;
244f1da5ea6SChunyan Zhang				#size-cells = <0>;
245f1da5ea6SChunyan Zhang
246f1da5ea6SChunyan Zhang				port@0 {
247f1da5ea6SChunyan Zhang					reg = <0>;
248f1da5ea6SChunyan Zhang					funnel_little_in_port0: endpoint {
249f1da5ea6SChunyan Zhang						remote-endpoint = <&etm0_out>;
250f1da5ea6SChunyan Zhang					};
251f1da5ea6SChunyan Zhang				};
252f1da5ea6SChunyan Zhang
253f1da5ea6SChunyan Zhang				port@1 {
254f1da5ea6SChunyan Zhang					reg = <1>;
255f1da5ea6SChunyan Zhang					funnel_little_in_port1: endpoint {
256f1da5ea6SChunyan Zhang						remote-endpoint = <&etm1_out>;
257f1da5ea6SChunyan Zhang					};
258f1da5ea6SChunyan Zhang				};
259f1da5ea6SChunyan Zhang
260f1da5ea6SChunyan Zhang				port@2 {
261f1da5ea6SChunyan Zhang					reg = <2>;
262f1da5ea6SChunyan Zhang					funnel_little_in_port2: endpoint {
263f1da5ea6SChunyan Zhang						remote-endpoint = <&etm2_out>;
264f1da5ea6SChunyan Zhang					};
265f1da5ea6SChunyan Zhang				};
266f1da5ea6SChunyan Zhang
267f1da5ea6SChunyan Zhang				port@3 {
268f1da5ea6SChunyan Zhang					reg = <3>;
269f1da5ea6SChunyan Zhang					funnel_little_in_port3: endpoint {
270f1da5ea6SChunyan Zhang						remote-endpoint = <&etm3_out>;
271f1da5ea6SChunyan Zhang					};
272f1da5ea6SChunyan Zhang				};
273f1da5ea6SChunyan Zhang			};
274f1da5ea6SChunyan Zhang		};
275f1da5ea6SChunyan Zhang
276f1da5ea6SChunyan Zhang		etf@12002000 {
277f1da5ea6SChunyan Zhang			compatible = "arm,coresight-tmc", "arm,primecell";
278f1da5ea6SChunyan Zhang			reg = <0 0x12002000 0 0x1000>;
279f1da5ea6SChunyan Zhang			clocks = <&ext_26m>;
280f1da5ea6SChunyan Zhang			clock-names = "apb_pclk";
281f1da5ea6SChunyan Zhang
282f1da5ea6SChunyan Zhang			out-ports {
283f1da5ea6SChunyan Zhang				port {
284f1da5ea6SChunyan Zhang					etf_little_out: endpoint {
285f1da5ea6SChunyan Zhang						remote-endpoint =
286f1da5ea6SChunyan Zhang						<&funnel_ca55_in_port0>;
287f1da5ea6SChunyan Zhang					};
288f1da5ea6SChunyan Zhang				};
289f1da5ea6SChunyan Zhang			};
290f1da5ea6SChunyan Zhang
291f1da5ea6SChunyan Zhang			in-port {
292f1da5ea6SChunyan Zhang				port {
293f1da5ea6SChunyan Zhang					etf_little_in: endpoint {
294f1da5ea6SChunyan Zhang						remote-endpoint =
295f1da5ea6SChunyan Zhang						<&funnel_little_out_port>;
296f1da5ea6SChunyan Zhang					};
297f1da5ea6SChunyan Zhang				};
298f1da5ea6SChunyan Zhang			};
299f1da5ea6SChunyan Zhang		};
300f1da5ea6SChunyan Zhang
301f1da5ea6SChunyan Zhang		etf@12003000 {
302f1da5ea6SChunyan Zhang			compatible = "arm,coresight-tmc", "arm,primecell";
303f1da5ea6SChunyan Zhang			reg = <0 0x12003000 0 0x1000>;
304f1da5ea6SChunyan Zhang			clocks = <&ext_26m>;
305f1da5ea6SChunyan Zhang			clock-names = "apb_pclk";
306f1da5ea6SChunyan Zhang
307f1da5ea6SChunyan Zhang			out-ports {
308f1da5ea6SChunyan Zhang				port {
309f1da5ea6SChunyan Zhang					etf_big_out: endpoint {
310f1da5ea6SChunyan Zhang						remote-endpoint =
311f1da5ea6SChunyan Zhang						<&funnel_ca55_in_port1>;
312f1da5ea6SChunyan Zhang					};
313f1da5ea6SChunyan Zhang				};
314f1da5ea6SChunyan Zhang			};
315f1da5ea6SChunyan Zhang
316f1da5ea6SChunyan Zhang			in-ports {
317f1da5ea6SChunyan Zhang				port {
318f1da5ea6SChunyan Zhang					etf_big_in: endpoint {
319f1da5ea6SChunyan Zhang						remote-endpoint =
320f1da5ea6SChunyan Zhang						<&funnel_big_out_port>;
321f1da5ea6SChunyan Zhang					};
322f1da5ea6SChunyan Zhang				};
323f1da5ea6SChunyan Zhang			};
324f1da5ea6SChunyan Zhang		};
325f1da5ea6SChunyan Zhang
326f1da5ea6SChunyan Zhang		funnel@12004000 {
327f1da5ea6SChunyan Zhang			compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
328f1da5ea6SChunyan Zhang			reg = <0 0x12004000 0 0x1000>;
329f1da5ea6SChunyan Zhang			clocks = <&ext_26m>;
330f1da5ea6SChunyan Zhang			clock-names = "apb_pclk";
331f1da5ea6SChunyan Zhang
332f1da5ea6SChunyan Zhang			out-ports {
333f1da5ea6SChunyan Zhang				port {
334f1da5ea6SChunyan Zhang					funnel_ca55_out_port: endpoint {
335f1da5ea6SChunyan Zhang						remote-endpoint =
336f1da5ea6SChunyan Zhang						<&funnel_soc_in_port>;
337f1da5ea6SChunyan Zhang					};
338f1da5ea6SChunyan Zhang				};
339f1da5ea6SChunyan Zhang			};
340f1da5ea6SChunyan Zhang
341f1da5ea6SChunyan Zhang			in-ports {
342f1da5ea6SChunyan Zhang				#address-cells = <1>;
343f1da5ea6SChunyan Zhang				#size-cells = <0>;
344f1da5ea6SChunyan Zhang
345f1da5ea6SChunyan Zhang				port@0 {
346f1da5ea6SChunyan Zhang					reg = <0>;
347f1da5ea6SChunyan Zhang					funnel_ca55_in_port0: endpoint {
348f1da5ea6SChunyan Zhang						remote-endpoint =
349f1da5ea6SChunyan Zhang						<&etf_little_out>;
350f1da5ea6SChunyan Zhang					};
351f1da5ea6SChunyan Zhang				};
352f1da5ea6SChunyan Zhang
353f1da5ea6SChunyan Zhang				port@1 {
354f1da5ea6SChunyan Zhang					reg = <1>;
355f1da5ea6SChunyan Zhang					funnel_ca55_in_port1: endpoint {
356f1da5ea6SChunyan Zhang						remote-endpoint =
357f1da5ea6SChunyan Zhang						<&etf_big_out>;
358f1da5ea6SChunyan Zhang					};
359f1da5ea6SChunyan Zhang				};
360f1da5ea6SChunyan Zhang			};
361f1da5ea6SChunyan Zhang		};
362f1da5ea6SChunyan Zhang
363f1da5ea6SChunyan Zhang		funnel@12005000 {
364f1da5ea6SChunyan Zhang			compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
365f1da5ea6SChunyan Zhang			reg = <0 0x12005000 0 0x1000>;
366f1da5ea6SChunyan Zhang			clocks = <&ext_26m>;
367f1da5ea6SChunyan Zhang			clock-names = "apb_pclk";
368f1da5ea6SChunyan Zhang
369f1da5ea6SChunyan Zhang			out-ports {
370f1da5ea6SChunyan Zhang				port {
371f1da5ea6SChunyan Zhang					funnel_big_out_port: endpoint {
372f1da5ea6SChunyan Zhang						remote-endpoint =
373f1da5ea6SChunyan Zhang						<&etf_big_in>;
374f1da5ea6SChunyan Zhang					};
375f1da5ea6SChunyan Zhang				};
376f1da5ea6SChunyan Zhang			};
377f1da5ea6SChunyan Zhang
378f1da5ea6SChunyan Zhang			in-ports {
379f1da5ea6SChunyan Zhang				#address-cells = <1>;
380f1da5ea6SChunyan Zhang				#size-cells = <0>;
381f1da5ea6SChunyan Zhang
382f1da5ea6SChunyan Zhang				port@0 {
383f1da5ea6SChunyan Zhang					reg = <0>;
384f1da5ea6SChunyan Zhang					funnel_big_in_port0: endpoint {
385f1da5ea6SChunyan Zhang						remote-endpoint = <&etm4_out>;
386f1da5ea6SChunyan Zhang					};
387f1da5ea6SChunyan Zhang				};
388f1da5ea6SChunyan Zhang
389f1da5ea6SChunyan Zhang				port@1 {
390f1da5ea6SChunyan Zhang					reg = <1>;
391f1da5ea6SChunyan Zhang					funnel_big_in_port1: endpoint {
392f1da5ea6SChunyan Zhang						remote-endpoint = <&etm5_out>;
393f1da5ea6SChunyan Zhang					};
394f1da5ea6SChunyan Zhang				};
395f1da5ea6SChunyan Zhang
396f1da5ea6SChunyan Zhang				port@2 {
397f1da5ea6SChunyan Zhang					reg = <2>;
398f1da5ea6SChunyan Zhang					funnel_big_in_port2: endpoint {
399f1da5ea6SChunyan Zhang						remote-endpoint = <&etm6_out>;
400f1da5ea6SChunyan Zhang					};
401f1da5ea6SChunyan Zhang				};
402f1da5ea6SChunyan Zhang
403f1da5ea6SChunyan Zhang				port@3 {
404f1da5ea6SChunyan Zhang					reg = <3>;
405f1da5ea6SChunyan Zhang					funnel_big_in_port3: endpoint {
406f1da5ea6SChunyan Zhang						remote-endpoint = <&etm7_out>;
407f1da5ea6SChunyan Zhang					};
408f1da5ea6SChunyan Zhang				};
409f1da5ea6SChunyan Zhang			};
410f1da5ea6SChunyan Zhang		};
411f1da5ea6SChunyan Zhang
412f1da5ea6SChunyan Zhang		etm@13040000 {
413f1da5ea6SChunyan Zhang			compatible = "arm,coresight-etm4x", "arm,primecell";
414f1da5ea6SChunyan Zhang			reg = <0 0x13040000 0 0x1000>;
415f1da5ea6SChunyan Zhang			cpu = <&CPU0>;
416f1da5ea6SChunyan Zhang			clocks = <&ext_26m>;
417f1da5ea6SChunyan Zhang			clock-names = "apb_pclk";
418f1da5ea6SChunyan Zhang
419f1da5ea6SChunyan Zhang			out-ports {
420f1da5ea6SChunyan Zhang				port {
421f1da5ea6SChunyan Zhang					etm0_out: endpoint {
422f1da5ea6SChunyan Zhang						remote-endpoint =
423f1da5ea6SChunyan Zhang						<&funnel_little_in_port0>;
424f1da5ea6SChunyan Zhang					};
425f1da5ea6SChunyan Zhang				};
426f1da5ea6SChunyan Zhang			};
427f1da5ea6SChunyan Zhang		};
428f1da5ea6SChunyan Zhang
429f1da5ea6SChunyan Zhang		etm@13140000 {
430f1da5ea6SChunyan Zhang			compatible = "arm,coresight-etm4x", "arm,primecell";
431f1da5ea6SChunyan Zhang			reg = <0 0x13140000 0 0x1000>;
432f1da5ea6SChunyan Zhang			cpu = <&CPU1>;
433f1da5ea6SChunyan Zhang			clocks = <&ext_26m>;
434f1da5ea6SChunyan Zhang			clock-names = "apb_pclk";
435f1da5ea6SChunyan Zhang
436f1da5ea6SChunyan Zhang			out-ports {
437f1da5ea6SChunyan Zhang				port {
438f1da5ea6SChunyan Zhang					etm1_out: endpoint {
439f1da5ea6SChunyan Zhang						remote-endpoint =
440f1da5ea6SChunyan Zhang						<&funnel_little_in_port1>;
441f1da5ea6SChunyan Zhang					};
442f1da5ea6SChunyan Zhang				};
443f1da5ea6SChunyan Zhang			};
444f1da5ea6SChunyan Zhang		};
445f1da5ea6SChunyan Zhang
446f1da5ea6SChunyan Zhang		etm@13240000 {
447f1da5ea6SChunyan Zhang			compatible = "arm,coresight-etm4x", "arm,primecell";
448f1da5ea6SChunyan Zhang			reg = <0 0x13240000 0 0x1000>;
449f1da5ea6SChunyan Zhang			cpu = <&CPU2>;
450f1da5ea6SChunyan Zhang			clocks = <&ext_26m>;
451f1da5ea6SChunyan Zhang			clock-names = "apb_pclk";
452f1da5ea6SChunyan Zhang
453f1da5ea6SChunyan Zhang			out-ports {
454f1da5ea6SChunyan Zhang				port {
455f1da5ea6SChunyan Zhang					etm2_out: endpoint {
456f1da5ea6SChunyan Zhang						remote-endpoint =
457f1da5ea6SChunyan Zhang						<&funnel_little_in_port2>;
458f1da5ea6SChunyan Zhang					};
459f1da5ea6SChunyan Zhang				};
460f1da5ea6SChunyan Zhang			};
461f1da5ea6SChunyan Zhang		};
462f1da5ea6SChunyan Zhang
463f1da5ea6SChunyan Zhang		etm@13340000 {
464f1da5ea6SChunyan Zhang			compatible = "arm,coresight-etm4x", "arm,primecell";
465f1da5ea6SChunyan Zhang			reg = <0 0x13340000 0 0x1000>;
466f1da5ea6SChunyan Zhang			cpu = <&CPU3>;
467f1da5ea6SChunyan Zhang			clocks = <&ext_26m>;
468f1da5ea6SChunyan Zhang			clock-names = "apb_pclk";
469f1da5ea6SChunyan Zhang
470f1da5ea6SChunyan Zhang			out-ports {
471f1da5ea6SChunyan Zhang				port {
472f1da5ea6SChunyan Zhang					etm3_out: endpoint {
473f1da5ea6SChunyan Zhang						remote-endpoint =
474f1da5ea6SChunyan Zhang						<&funnel_little_in_port3>;
475f1da5ea6SChunyan Zhang					};
476f1da5ea6SChunyan Zhang				};
477f1da5ea6SChunyan Zhang			};
478f1da5ea6SChunyan Zhang		};
479f1da5ea6SChunyan Zhang
480f1da5ea6SChunyan Zhang		etm@13440000 {
481f1da5ea6SChunyan Zhang			compatible = "arm,coresight-etm4x", "arm,primecell";
482f1da5ea6SChunyan Zhang			reg = <0 0x13440000 0 0x1000>;
483f1da5ea6SChunyan Zhang			cpu = <&CPU4>;
484f1da5ea6SChunyan Zhang			clocks = <&ext_26m>;
485f1da5ea6SChunyan Zhang			clock-names = "apb_pclk";
486f1da5ea6SChunyan Zhang
487f1da5ea6SChunyan Zhang			out-ports {
488f1da5ea6SChunyan Zhang				port {
489f1da5ea6SChunyan Zhang					etm4_out: endpoint {
490f1da5ea6SChunyan Zhang						remote-endpoint =
491f1da5ea6SChunyan Zhang						<&funnel_big_in_port0>;
492f1da5ea6SChunyan Zhang					};
493f1da5ea6SChunyan Zhang				};
494f1da5ea6SChunyan Zhang			};
495f1da5ea6SChunyan Zhang		};
496f1da5ea6SChunyan Zhang
497f1da5ea6SChunyan Zhang		etm@13540000 {
498f1da5ea6SChunyan Zhang			compatible = "arm,coresight-etm4x", "arm,primecell";
499f1da5ea6SChunyan Zhang			reg = <0 0x13540000 0 0x1000>;
500f1da5ea6SChunyan Zhang			cpu = <&CPU5>;
501f1da5ea6SChunyan Zhang			clocks = <&ext_26m>;
502f1da5ea6SChunyan Zhang			clock-names = "apb_pclk";
503f1da5ea6SChunyan Zhang
504f1da5ea6SChunyan Zhang			out-ports {
505f1da5ea6SChunyan Zhang				port {
506f1da5ea6SChunyan Zhang					etm5_out: endpoint {
507f1da5ea6SChunyan Zhang						remote-endpoint =
508f1da5ea6SChunyan Zhang						<&funnel_big_in_port1>;
509f1da5ea6SChunyan Zhang					};
510f1da5ea6SChunyan Zhang				};
511f1da5ea6SChunyan Zhang			};
512f1da5ea6SChunyan Zhang		};
513f1da5ea6SChunyan Zhang
514f1da5ea6SChunyan Zhang		etm@13640000 {
515f1da5ea6SChunyan Zhang			compatible = "arm,coresight-etm4x", "arm,primecell";
516f1da5ea6SChunyan Zhang			reg = <0 0x13640000 0 0x1000>;
517f1da5ea6SChunyan Zhang			cpu = <&CPU6>;
518f1da5ea6SChunyan Zhang			clocks = <&ext_26m>;
519f1da5ea6SChunyan Zhang			clock-names = "apb_pclk";
520f1da5ea6SChunyan Zhang
521f1da5ea6SChunyan Zhang			out-ports {
522f1da5ea6SChunyan Zhang				port {
523f1da5ea6SChunyan Zhang					etm6_out: endpoint {
524f1da5ea6SChunyan Zhang						remote-endpoint =
525f1da5ea6SChunyan Zhang						<&funnel_big_in_port2>;
526f1da5ea6SChunyan Zhang					};
527f1da5ea6SChunyan Zhang				};
528f1da5ea6SChunyan Zhang			};
529f1da5ea6SChunyan Zhang		};
530f1da5ea6SChunyan Zhang
531f1da5ea6SChunyan Zhang		etm@13740000 {
532f1da5ea6SChunyan Zhang			compatible = "arm,coresight-etm4x", "arm,primecell";
533f1da5ea6SChunyan Zhang			reg = <0 0x13740000 0 0x1000>;
534f1da5ea6SChunyan Zhang			cpu = <&CPU7>;
535f1da5ea6SChunyan Zhang			clocks = <&ext_26m>;
536f1da5ea6SChunyan Zhang			clock-names = "apb_pclk";
537f1da5ea6SChunyan Zhang
538f1da5ea6SChunyan Zhang			out-ports {
539f1da5ea6SChunyan Zhang				port {
540f1da5ea6SChunyan Zhang					etm7_out: endpoint {
541f1da5ea6SChunyan Zhang						remote-endpoint =
542f1da5ea6SChunyan Zhang						<&funnel_big_in_port3>;
543f1da5ea6SChunyan Zhang					};
544f1da5ea6SChunyan Zhang				};
545f1da5ea6SChunyan Zhang			};
546f1da5ea6SChunyan Zhang		};
547161af8fdSChunyan Zhang
548161af8fdSChunyan Zhang		ap-ahb {
549161af8fdSChunyan Zhang			compatible = "simple-bus";
550161af8fdSChunyan Zhang			#address-cells = <2>;
551161af8fdSChunyan Zhang			#size-cells = <2>;
552161af8fdSChunyan Zhang			ranges;
553161af8fdSChunyan Zhang
5540dcc2039SStanislav Jakubek			sdio0: mmc@20300000 {
555161af8fdSChunyan Zhang				compatible = "sprd,sdhci-r11";
556161af8fdSChunyan Zhang				reg = <0 0x20300000 0 0x1000>;
557161af8fdSChunyan Zhang				interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
558161af8fdSChunyan Zhang
559161af8fdSChunyan Zhang				clocks = <&aon_clk CLK_SDIO0_2X>,
560161af8fdSChunyan Zhang					 <&apahb_gate CLK_SDIO0_EB>;
561*e2e0d455SStanislav Jakubek				clock-names = "sdio", "enable";
562161af8fdSChunyan Zhang				assigned-clocks = <&aon_clk CLK_SDIO0_2X>;
563161af8fdSChunyan Zhang				assigned-clock-parents = <&rpll CLK_RPLL_390M>;
564161af8fdSChunyan Zhang
565161af8fdSChunyan Zhang				bus-width = <4>;
566161af8fdSChunyan Zhang				no-sdio;
567161af8fdSChunyan Zhang				no-mmc;
568161af8fdSChunyan Zhang			};
569161af8fdSChunyan Zhang
5700dcc2039SStanislav Jakubek			sdio3: mmc@20600000 {
571161af8fdSChunyan Zhang				compatible = "sprd,sdhci-r11";
572161af8fdSChunyan Zhang				reg = <0 0x20600000 0 0x1000>;
573161af8fdSChunyan Zhang				interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
574161af8fdSChunyan Zhang
575161af8fdSChunyan Zhang				clocks = <&aon_clk CLK_EMMC_2X>,
576161af8fdSChunyan Zhang					 <&apahb_gate CLK_EMMC_EB>;
577*e2e0d455SStanislav Jakubek				clock-names = "sdio", "enable";
578161af8fdSChunyan Zhang				assigned-clocks = <&aon_clk CLK_EMMC_2X>;
579161af8fdSChunyan Zhang				assigned-clock-parents = <&rpll CLK_RPLL_390M>;
580161af8fdSChunyan Zhang
581161af8fdSChunyan Zhang				bus-width = <8>;
582161af8fdSChunyan Zhang				non-removable;
583161af8fdSChunyan Zhang				no-sdio;
584161af8fdSChunyan Zhang				no-sd;
585161af8fdSChunyan Zhang				cap-mmc-hw-reset;
586161af8fdSChunyan Zhang			};
587161af8fdSChunyan Zhang		};
588f1da5ea6SChunyan Zhang	};
589f1da5ea6SChunyan Zhang};
590