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