xref: /rk3399_ARM-atf/fdts/rd1ae.dts (revision faddccc43e7d25de4b8a252a8761b25dd354ba8d)
1bb7c7e71SDivin Raj/*
2bb7c7e71SDivin Raj * Copyright (c) 2024, Arm Limited. All rights reserved.
3bb7c7e71SDivin Raj *
4bb7c7e71SDivin Raj * SPDX-License-Identifier: BSD-3-Clause
5bb7c7e71SDivin Raj */
6bb7c7e71SDivin Raj
7bb7c7e71SDivin Raj/dts-v1/;
8bb7c7e71SDivin Raj
9bb7c7e71SDivin Raj#include <dt-bindings/interrupt-controller/arm-gic.h>
10bb7c7e71SDivin Raj
11bb7c7e71SDivin Raj/ {
12bb7c7e71SDivin Raj	model = "RD-1 AE";
13bb7c7e71SDivin Raj	compatible = "arm,rd1ae", "arm,neoverse";
14bb7c7e71SDivin Raj	interrupt-parent = <&gic>;
15bb7c7e71SDivin Raj	#address-cells = <2>;
16bb7c7e71SDivin Raj	#size-cells = <2>;
17bb7c7e71SDivin Raj
18bb7c7e71SDivin Raj	chosen {
19bb7c7e71SDivin Raj		stdout-path = &soc_serial0;
20bb7c7e71SDivin Raj	};
21bb7c7e71SDivin Raj
22bb7c7e71SDivin Raj	cpus {
23bb7c7e71SDivin Raj		#address-cells = <2>;
24bb7c7e71SDivin Raj		#size-cells = <0>;
25bb7c7e71SDivin Raj
26bb7c7e71SDivin Raj		cpu0: cpu@0 {
27bb7c7e71SDivin Raj			device_type = "cpu";
28bb7c7e71SDivin Raj			compatible = "arm,neoverse-v3";
29bb7c7e71SDivin Raj			reg = <0x0 0x0>;
30bb7c7e71SDivin Raj			enable-method = "psci";
31bb7c7e71SDivin Raj			i-cache-size = <0x10000>;
32bb7c7e71SDivin Raj			i-cache-line-size = <0x40>;
33bb7c7e71SDivin Raj			i-cache-sets = <0x100>;
34bb7c7e71SDivin Raj			d-cache-size = <0x10000>;
35bb7c7e71SDivin Raj			d-cache-line-size = <0x40>;
36bb7c7e71SDivin Raj			d-cache-sets = <0x100>;
37bb7c7e71SDivin Raj		};
38bb7c7e71SDivin Raj		cpu1: cpu@10000 {
39bb7c7e71SDivin Raj			device_type = "cpu";
40bb7c7e71SDivin Raj			compatible = "arm,neoverse-v3";
41bb7c7e71SDivin Raj			reg = <0x0 0x10000>;
42bb7c7e71SDivin Raj			enable-method = "psci";
43bb7c7e71SDivin Raj			i-cache-size = <0x10000>;
44bb7c7e71SDivin Raj			i-cache-line-size = <0x40>;
45bb7c7e71SDivin Raj			i-cache-sets = <0x100>;
46bb7c7e71SDivin Raj			d-cache-size = <0x10000>;
47bb7c7e71SDivin Raj			d-cache-line-size = <0x40>;
48bb7c7e71SDivin Raj			d-cache-sets = <0x100>;
49bb7c7e71SDivin Raj		};
50bb7c7e71SDivin Raj		cpu2: cpu@20000 {
51bb7c7e71SDivin Raj			device_type = "cpu";
52bb7c7e71SDivin Raj			compatible = "arm,neoverse-v3";
53bb7c7e71SDivin Raj			reg = <0x0 0x20000>;
54bb7c7e71SDivin Raj			enable-method = "psci";
55bb7c7e71SDivin Raj			i-cache-size = <0x10000>;
56bb7c7e71SDivin Raj			i-cache-line-size = <0x40>;
57bb7c7e71SDivin Raj			i-cache-sets = <0x100>;
58bb7c7e71SDivin Raj			d-cache-size = <0x10000>;
59bb7c7e71SDivin Raj			d-cache-line-size = <0x40>;
60bb7c7e71SDivin Raj			d-cache-sets = <0x100>;
61bb7c7e71SDivin Raj		};
62bb7c7e71SDivin Raj		cpu3: cpu@30000 {
63bb7c7e71SDivin Raj			device_type = "cpu";
64bb7c7e71SDivin Raj			compatible = "arm,neoverse-v3";
65bb7c7e71SDivin Raj			reg = <0x0 0x30000>;
66bb7c7e71SDivin Raj			enable-method = "psci";
67bb7c7e71SDivin Raj			i-cache-size = <0x10000>;
68bb7c7e71SDivin Raj			i-cache-line-size = <0x40>;
69bb7c7e71SDivin Raj			i-cache-sets = <0x100>;
70bb7c7e71SDivin Raj			d-cache-size = <0x10000>;
71bb7c7e71SDivin Raj			d-cache-line-size = <0x40>;
72bb7c7e71SDivin Raj			d-cache-sets = <0x100>;
73bb7c7e71SDivin Raj		};
74bb7c7e71SDivin Raj		cpu4: cpu@40000 {
75bb7c7e71SDivin Raj			device_type = "cpu";
76bb7c7e71SDivin Raj			compatible = "arm,neoverse-v3";
77bb7c7e71SDivin Raj			reg = <0x0 0x40000>;
78bb7c7e71SDivin Raj			enable-method = "psci";
79bb7c7e71SDivin Raj			i-cache-size = <0x10000>;
80bb7c7e71SDivin Raj			i-cache-line-size = <0x40>;
81bb7c7e71SDivin Raj			i-cache-sets = <0x100>;
82bb7c7e71SDivin Raj			d-cache-size = <0x10000>;
83bb7c7e71SDivin Raj			d-cache-line-size = <0x40>;
84bb7c7e71SDivin Raj			d-cache-sets = <0x100>;
85bb7c7e71SDivin Raj		};
86bb7c7e71SDivin Raj		cpu5: cpu@50000 {
87bb7c7e71SDivin Raj			device_type = "cpu";
88bb7c7e71SDivin Raj			compatible = "arm,neoverse-v3";
89bb7c7e71SDivin Raj			reg = <0x0 0x50000>;
90bb7c7e71SDivin Raj			enable-method = "psci";
91bb7c7e71SDivin Raj			i-cache-size = <0x10000>;
92bb7c7e71SDivin Raj			i-cache-line-size = <0x40>;
93bb7c7e71SDivin Raj			i-cache-sets = <0x100>;
94bb7c7e71SDivin Raj			d-cache-size = <0x10000>;
95bb7c7e71SDivin Raj			d-cache-line-size = <0x40>;
96bb7c7e71SDivin Raj			d-cache-sets = <0x100>;
97bb7c7e71SDivin Raj		};
98bb7c7e71SDivin Raj		cpu6: cpu@60000 {
99bb7c7e71SDivin Raj			device_type = "cpu";
100bb7c7e71SDivin Raj			compatible = "arm,neoverse-v3";
101bb7c7e71SDivin Raj			reg = <0x0 0x60000>;
102bb7c7e71SDivin Raj			enable-method = "psci";
103bb7c7e71SDivin Raj			i-cache-size = <0x10000>;
104bb7c7e71SDivin Raj			i-cache-line-size = <0x40>;
105bb7c7e71SDivin Raj			i-cache-sets = <0x100>;
106bb7c7e71SDivin Raj			d-cache-size = <0x10000>;
107bb7c7e71SDivin Raj			d-cache-line-size = <0x40>;
108bb7c7e71SDivin Raj			d-cache-sets = <0x100>;
109bb7c7e71SDivin Raj		};
110bb7c7e71SDivin Raj		cpu7: cpu@70000 {
111bb7c7e71SDivin Raj			device_type = "cpu";
112bb7c7e71SDivin Raj			compatible = "arm,neoverse-v3";
113bb7c7e71SDivin Raj			reg = <0x0 0x70000>;
114bb7c7e71SDivin Raj			enable-method = "psci";
115bb7c7e71SDivin Raj			i-cache-size = <0x10000>;
116bb7c7e71SDivin Raj			i-cache-line-size = <0x40>;
117bb7c7e71SDivin Raj			i-cache-sets = <0x100>;
118bb7c7e71SDivin Raj			d-cache-size = <0x10000>;
119bb7c7e71SDivin Raj			d-cache-line-size = <0x40>;
120bb7c7e71SDivin Raj			d-cache-sets = <0x100>;
121bb7c7e71SDivin Raj		};
122bb7c7e71SDivin Raj		cpu8: cpu@80000 {
123bb7c7e71SDivin Raj			device_type = "cpu";
124bb7c7e71SDivin Raj			compatible = "arm,neoverse-v3";
125bb7c7e71SDivin Raj			reg = <0x0 0x80000>;
126bb7c7e71SDivin Raj			enable-method = "psci";
127bb7c7e71SDivin Raj			i-cache-size = <0x10000>;
128bb7c7e71SDivin Raj			i-cache-line-size = <0x40>;
129bb7c7e71SDivin Raj			i-cache-sets = <0x100>;
130bb7c7e71SDivin Raj			d-cache-size = <0x10000>;
131bb7c7e71SDivin Raj			d-cache-line-size = <0x40>;
132bb7c7e71SDivin Raj			d-cache-sets = <0x100>;
133bb7c7e71SDivin Raj		};
134bb7c7e71SDivin Raj		cpu9: cpu@90000 {
135bb7c7e71SDivin Raj			device_type = "cpu";
136bb7c7e71SDivin Raj			compatible = "arm,neoverse-v3";
137bb7c7e71SDivin Raj			reg = <0x0 0x90000>;
138bb7c7e71SDivin Raj			enable-method = "psci";
139bb7c7e71SDivin Raj			i-cache-size = <0x10000>;
140bb7c7e71SDivin Raj			i-cache-line-size = <0x40>;
141bb7c7e71SDivin Raj			i-cache-sets = <0x100>;
142bb7c7e71SDivin Raj			d-cache-size = <0x10000>;
143bb7c7e71SDivin Raj			d-cache-line-size = <0x40>;
144bb7c7e71SDivin Raj			d-cache-sets = <0x100>;
145bb7c7e71SDivin Raj		};
146bb7c7e71SDivin Raj		cpu10: cpu@a0000 {
147bb7c7e71SDivin Raj			device_type = "cpu";
148bb7c7e71SDivin Raj			compatible = "arm,neoverse-v3";
149bb7c7e71SDivin Raj			reg = <0x0 0xa0000>;
150bb7c7e71SDivin Raj			enable-method = "psci";
151bb7c7e71SDivin Raj			i-cache-size = <0x10000>;
152bb7c7e71SDivin Raj			i-cache-line-size = <0x40>;
153bb7c7e71SDivin Raj			i-cache-sets = <0x100>;
154bb7c7e71SDivin Raj			d-cache-size = <0x10000>;
155bb7c7e71SDivin Raj			d-cache-line-size = <0x40>;
156bb7c7e71SDivin Raj			d-cache-sets = <0x100>;
157bb7c7e71SDivin Raj		};
158bb7c7e71SDivin Raj		cpu11: cpu@b0000 {
159bb7c7e71SDivin Raj			device_type = "cpu";
160bb7c7e71SDivin Raj			compatible = "arm,neoverse-v3";
161bb7c7e71SDivin Raj			reg = <0x0 0xb0000>;
162bb7c7e71SDivin Raj			enable-method = "psci";
163bb7c7e71SDivin Raj			i-cache-size = <0x10000>;
164bb7c7e71SDivin Raj			i-cache-line-size = <0x40>;
165bb7c7e71SDivin Raj			i-cache-sets = <0x100>;
166bb7c7e71SDivin Raj			d-cache-size = <0x10000>;
167bb7c7e71SDivin Raj			d-cache-line-size = <0x40>;
168bb7c7e71SDivin Raj			d-cache-sets = <0x100>;
169bb7c7e71SDivin Raj		};
170bb7c7e71SDivin Raj		cpu12: cpu@c0000 {
171bb7c7e71SDivin Raj			device_type = "cpu";
172bb7c7e71SDivin Raj			compatible = "arm,neoverse-v3";
173bb7c7e71SDivin Raj			reg = <0x0 0xc0000>;
174bb7c7e71SDivin Raj			enable-method = "psci";
175bb7c7e71SDivin Raj			i-cache-size = <0x10000>;
176bb7c7e71SDivin Raj			i-cache-line-size = <0x40>;
177bb7c7e71SDivin Raj			i-cache-sets = <0x100>;
178bb7c7e71SDivin Raj			d-cache-size = <0x10000>;
179bb7c7e71SDivin Raj			d-cache-line-size = <0x40>;
180bb7c7e71SDivin Raj			d-cache-sets = <0x100>;
181bb7c7e71SDivin Raj		};
182bb7c7e71SDivin Raj		cpu13: cpu@d0000 {
183bb7c7e71SDivin Raj			device_type = "cpu";
184bb7c7e71SDivin Raj			compatible = "arm,neoverse-v3";
185bb7c7e71SDivin Raj			reg = <0x0 0xd0000>;
186bb7c7e71SDivin Raj			enable-method = "psci";
187bb7c7e71SDivin Raj			i-cache-size = <0x10000>;
188bb7c7e71SDivin Raj			i-cache-line-size = <0x40>;
189bb7c7e71SDivin Raj			i-cache-sets = <0x100>;
190bb7c7e71SDivin Raj			d-cache-size = <0x10000>;
191bb7c7e71SDivin Raj			d-cache-line-size = <0x40>;
192bb7c7e71SDivin Raj			d-cache-sets = <0x100>;
193bb7c7e71SDivin Raj		};
194bb7c7e71SDivin Raj		cpu14: cpu@e0000 {
195bb7c7e71SDivin Raj			device_type = "cpu";
196bb7c7e71SDivin Raj			compatible = "arm,neoverse-v3";
197bb7c7e71SDivin Raj			reg = <0x0 0xe0000>;
198bb7c7e71SDivin Raj			enable-method = "psci";
199bb7c7e71SDivin Raj			i-cache-size = <0x10000>;
200bb7c7e71SDivin Raj			i-cache-line-size = <0x40>;
201bb7c7e71SDivin Raj			i-cache-sets = <0x100>;
202bb7c7e71SDivin Raj			d-cache-size = <0x10000>;
203bb7c7e71SDivin Raj			d-cache-line-size = <0x40>;
204bb7c7e71SDivin Raj			d-cache-sets = <0x100>;
205bb7c7e71SDivin Raj		};
206bb7c7e71SDivin Raj		cpu15: cpu@f0000 {
207bb7c7e71SDivin Raj			device_type = "cpu";
208bb7c7e71SDivin Raj			compatible = "arm,neoverse-v3";
209bb7c7e71SDivin Raj			reg = <0x0 0xf0000>;
210bb7c7e71SDivin Raj			enable-method = "psci";
211bb7c7e71SDivin Raj			i-cache-size = <0x10000>;
212bb7c7e71SDivin Raj			i-cache-line-size = <0x40>;
213bb7c7e71SDivin Raj			i-cache-sets = <0x100>;
214bb7c7e71SDivin Raj			d-cache-size = <0x10000>;
215bb7c7e71SDivin Raj			d-cache-line-size = <0x40>;
216bb7c7e71SDivin Raj			d-cache-sets = <0x100>;
217bb7c7e71SDivin Raj		};
218bb7c7e71SDivin Raj	};
219bb7c7e71SDivin Raj
220bb7c7e71SDivin Raj	memory@80000000 {
221bb7c7e71SDivin Raj		device_type = "memory";
222bb7c7e71SDivin Raj		/*
223bb7c7e71SDivin Raj		 * 0x7fc0 0000 - 0x7fff ffff : BL32
224bb7c7e71SDivin Raj		 * 0x7fbf 0000 - 0x7fbf ffff : FFA_SHARED_MM_BUF
225bb7c7e71SDivin Raj		 */
226bb7c7e71SDivin Raj		reg = <0x00000000 0x80000000 0 0x7fbf0000>,
227bb7c7e71SDivin Raj			  <0x00000080 0x80000000 0 0x80000000>;
228bb7c7e71SDivin Raj	};
229bb7c7e71SDivin Raj
230bb7c7e71SDivin Raj	timer {
231bb7c7e71SDivin Raj		compatible = "arm,armv8-timer";
232bb7c7e71SDivin Raj		interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>,
233bb7c7e71SDivin Raj			<GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>,
234bb7c7e71SDivin Raj			<GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>,
235bb7c7e71SDivin Raj			<GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>;
236bb7c7e71SDivin Raj	};
237bb7c7e71SDivin Raj
238bb7c7e71SDivin Raj	soc_clk24mhz: clk24mhz {
239bb7c7e71SDivin Raj		compatible = "fixed-clock";
240bb7c7e71SDivin Raj		#clock-cells = <0>;
241bb7c7e71SDivin Raj		clock-frequency = <24000000>;
242bb7c7e71SDivin Raj		clock-output-names = "refclk24mhz";
243bb7c7e71SDivin Raj	};
244bb7c7e71SDivin Raj
245bb7c7e71SDivin Raj	soc_refclk1mhz: refclk1mhz {
246bb7c7e71SDivin Raj		compatible = "fixed-clock";
247bb7c7e71SDivin Raj		#clock-cells = <0>;
248bb7c7e71SDivin Raj		clock-frequency = <1000000>;
249bb7c7e71SDivin Raj		clock-output-names = "refclk1mhz";
250bb7c7e71SDivin Raj	};
251bb7c7e71SDivin Raj
252bb7c7e71SDivin Raj	soc {
253bb7c7e71SDivin Raj		compatible = "simple-bus";
254bb7c7e71SDivin Raj		#address-cells = <2>;
255bb7c7e71SDivin Raj		#size-cells = <2>;
256bb7c7e71SDivin Raj		ranges;
257bb7c7e71SDivin Raj
2586e1bf7e9SZiad Elhanafy		timer@2a810000 {
2596e1bf7e9SZiad Elhanafy			compatible = "arm,armv7-timer-mem";
2606e1bf7e9SZiad Elhanafy			reg = <0x0 0x2a810000 0 0x10000>;
2616e1bf7e9SZiad Elhanafy			#address-cells = <2>;
2626e1bf7e9SZiad Elhanafy			#size-cells = <2>;
2636e1bf7e9SZiad Elhanafy			clock-frequency = <250000000>;
2646e1bf7e9SZiad Elhanafy			ranges;
2656e1bf7e9SZiad Elhanafy
2666e1bf7e9SZiad Elhanafy			frame@2a830000 {
2676e1bf7e9SZiad Elhanafy				frame-number = <0>;
2686e1bf7e9SZiad Elhanafy				interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
2696e1bf7e9SZiad Elhanafy				reg = <0x0 0x2a830000 0x0 0x10000>;
2706e1bf7e9SZiad Elhanafy			};
2716e1bf7e9SZiad Elhanafy		};
2726e1bf7e9SZiad Elhanafy
273bb7c7e71SDivin Raj		gic: interrupt-controller@30000000 {
274bb7c7e71SDivin Raj			compatible = "arm,gic-v3";
275bb7c7e71SDivin Raj			reg = <0x0 0x30000000 0 0x10000>,	// GICD
276*f72eeb2dSDavid Hu				  <0x0 0x301c0000 0 0x400000>;	// GICR
277bb7c7e71SDivin Raj			#interrupt-cells = <3>;
278bb7c7e71SDivin Raj			#address-cells = <2>;
279bb7c7e71SDivin Raj			#size-cells = <2>;
280bb7c7e71SDivin Raj			ranges;
281bb7c7e71SDivin Raj			interrupt-controller;
282bb7c7e71SDivin Raj			interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
283bb7c7e71SDivin Raj
284bb7c7e71SDivin Raj			its1: msi-controller@30040000 {
285bb7c7e71SDivin Raj				compatible = "arm,gic-v3-its";
286bb7c7e71SDivin Raj				reg = <0x0 0x30040000 0x0 0x40000>;
287bb7c7e71SDivin Raj				msi-controller;
288bb7c7e71SDivin Raj				#msi-cells = <1>;
289bb7c7e71SDivin Raj			};
290bb7c7e71SDivin Raj			its2: msi-controller@30080000 {
291bb7c7e71SDivin Raj				compatible = "arm,gic-v3-its";
292bb7c7e71SDivin Raj				reg = <0x0 0x30080000 0x0 0x40000>;
293bb7c7e71SDivin Raj				msi-controller;
294bb7c7e71SDivin Raj				#msi-cells = <1>;
295bb7c7e71SDivin Raj			};
296bb7c7e71SDivin Raj			its3: msi-controller@300c0000 {
297bb7c7e71SDivin Raj				compatible = "arm,gic-v3-its";
298bb7c7e71SDivin Raj				reg = <0x0 0x300c0000 0x0 0x40000>;
299bb7c7e71SDivin Raj				msi-controller;
300bb7c7e71SDivin Raj				#msi-cells = <1>;
301bb7c7e71SDivin Raj			};
302bb7c7e71SDivin Raj			its4: msi-controller@30100000 {
303bb7c7e71SDivin Raj				compatible = "arm,gic-v3-its";
304bb7c7e71SDivin Raj				reg = <0x0 0x30100000 0x0 0x40000>;
305bb7c7e71SDivin Raj				msi-controller;
306bb7c7e71SDivin Raj				#msi-cells = <1>;
307bb7c7e71SDivin Raj			};
308bb7c7e71SDivin Raj			its5: msi-controller@30140000 {
309bb7c7e71SDivin Raj				compatible = "arm,gic-v3-its";
310bb7c7e71SDivin Raj				reg = <0x0 0x30140000 0x0 0x40000>;
311bb7c7e71SDivin Raj				msi-controller;
312bb7c7e71SDivin Raj				#msi-cells = <1>;
313bb7c7e71SDivin Raj			};
314bb7c7e71SDivin Raj			its6: msi-controller@30180000 {
315bb7c7e71SDivin Raj				compatible = "arm,gic-v3-its";
316bb7c7e71SDivin Raj				reg = <0x0 0x30180000 0x0 0x40000>;
317bb7c7e71SDivin Raj				msi-controller;
318bb7c7e71SDivin Raj				#msi-cells = <1>;
319bb7c7e71SDivin Raj			};
320bb7c7e71SDivin Raj		};
321bb7c7e71SDivin Raj
322bb7c7e71SDivin Raj		soc_serial0: serial@2a400000 {
323bb7c7e71SDivin Raj			compatible = "arm,pl011", "arm,primecell";
324bb7c7e71SDivin Raj			reg = <0x0 0x2a400000 0x0 0x10000>;
325bb7c7e71SDivin Raj			interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
326bb7c7e71SDivin Raj			clocks = <&soc_clk24mhz>, <&soc_clk24mhz>;
327bb7c7e71SDivin Raj			clock-names = "uartclk", "apb_pclk";
328bb7c7e71SDivin Raj		};
329bb7c7e71SDivin Raj
330bb7c7e71SDivin Raj		watchdog@2a440000 {
331bb7c7e71SDivin Raj			compatible = "arm,sbsa-gwdt";
332bb7c7e71SDivin Raj			reg = <0x0 0x2a440000 0 0x1000>,
333bb7c7e71SDivin Raj				  <0x0 0x2a450000 0 0x1000>;
334bb7c7e71SDivin Raj			interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
335bb7c7e71SDivin Raj		};
336bb7c7e71SDivin Raj
337bb7c7e71SDivin Raj		rtc@c170000 {
338bb7c7e71SDivin Raj			compatible = "arm,pl031", "arm,primecell";
339bb7c7e71SDivin Raj			reg = <0x0 0x0c170000 0x0 0x10000>;
340bb7c7e71SDivin Raj			interrupts = <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>;
341bb7c7e71SDivin Raj			clocks = <&soc_clk24mhz>;
342bb7c7e71SDivin Raj			clock-names = "apb_pclk";
343bb7c7e71SDivin Raj		};
344bb7c7e71SDivin Raj
345bb7c7e71SDivin Raj		virtio-net@c150000 {
346bb7c7e71SDivin Raj			compatible = "virtio,mmio";
347bb7c7e71SDivin Raj			reg = <0x0 0xc150000 0x0 0x200>;
348bb7c7e71SDivin Raj			interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>;
349bb7c7e71SDivin Raj		};
350bb7c7e71SDivin Raj
351bb7c7e71SDivin Raj		virtio-block@c130000 {
352bb7c7e71SDivin Raj			compatible = "virtio,mmio";
353bb7c7e71SDivin Raj			reg = <0x0 0xc130000 0x0 0x200>;
354bb7c7e71SDivin Raj			interrupts = <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>;
355bb7c7e71SDivin Raj		};
356bb7c7e71SDivin Raj
357bb7c7e71SDivin Raj		virtio-rng@c140000 {
358bb7c7e71SDivin Raj			compatible = "virtio,mmio";
359bb7c7e71SDivin Raj			reg = <0x0 0xc140000 0x0 0x200>;
360bb7c7e71SDivin Raj			interrupts = <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH>;
361bb7c7e71SDivin Raj		};
362bb7c7e71SDivin Raj
363bb7c7e71SDivin Raj		pci@4000000000 {
364bb7c7e71SDivin Raj			#address-cells = <0x03>;
365bb7c7e71SDivin Raj			#size-cells = <0x02>;
366bb7c7e71SDivin Raj			compatible = "pci-host-ecam-generic";
367bb7c7e71SDivin Raj			device_type = "pci";
368bb7c7e71SDivin Raj			bus-range = <0x00 0x11>;
369bb7c7e71SDivin Raj			reg = <0x40 0x00 0x00 0x04000000>;
370bb7c7e71SDivin Raj			ranges = <0x43000000 0x40 0x40000000 0x40 0x40000000 0x10 0x00000000
371bb7c7e71SDivin Raj				  0x02000000 0x00 0x60000000 0x00 0x60000000 0x00 0x08000000
372bb7c7e71SDivin Raj				  0x01000000 0x00 0x00 0x00 0x77800000 0x00 0x800000>;
373bb7c7e71SDivin Raj			msi-map = <0x00 &its1 0x40000 0x10000>;
374bb7c7e71SDivin Raj			iommu-map = <0x00 &smmu 0x40000 0x10000>;
375bb7c7e71SDivin Raj			dma-coherent;
376bb7c7e71SDivin Raj		};
377bb7c7e71SDivin Raj
378bb7c7e71SDivin Raj		smmu: iommu@280000000 {
379bb7c7e71SDivin Raj			compatible = "arm,smmu-v3";
380bb7c7e71SDivin Raj			reg = <0x2 0x80000000 0x0 0x100000>;
381bb7c7e71SDivin Raj			dma-coherent;
382bb7c7e71SDivin Raj			#iommu-cells = <1>;
383bb7c7e71SDivin Raj			interrupts = <1 210 1>,
384bb7c7e71SDivin Raj				     <1 211 1>,
385bb7c7e71SDivin Raj				     <1 212 1>,
386bb7c7e71SDivin Raj				     <1 213 1>;
387bb7c7e71SDivin Raj			interrupt-names = "eventq", "priq", "cmdq-sync", "gerror";
388bb7c7e71SDivin Raj			msi-parent = <&its1 0x10000>;
389bb7c7e71SDivin Raj		};
390bb7c7e71SDivin Raj
391bb7c7e71SDivin Raj		sysreg: sysreg@c010000 {
392bb7c7e71SDivin Raj			compatible = "arm,vexpress-sysreg";
393bb7c7e71SDivin Raj			reg = <0x0 0xc010000 0x0 0x1000>;
394bb7c7e71SDivin Raj			gpio-controller;
395bb7c7e71SDivin Raj			#gpio-cells = <2>;
396bb7c7e71SDivin Raj		};
397bb7c7e71SDivin Raj
398bb7c7e71SDivin Raj		fixed_3v3: v2m-3v3@c011000 {
399bb7c7e71SDivin Raj			compatible = "regulator-fixed";
400bb7c7e71SDivin Raj			reg = <0x0 0xc011000 0x0 0x1000>;
401bb7c7e71SDivin Raj			regulator-name = "3V3";
402bb7c7e71SDivin Raj			regulator-min-microvolt = <3300000>;
403bb7c7e71SDivin Raj			regulator-max-microvolt = <3300000>;
404bb7c7e71SDivin Raj			regulator-always-on;
405bb7c7e71SDivin Raj		};
406bb7c7e71SDivin Raj
407bb7c7e71SDivin Raj		mmci@c050000 {
408bb7c7e71SDivin Raj			compatible = "arm,pl180", "arm,primecell";
409bb7c7e71SDivin Raj			reg = <0x0 0xc050000 0x0 0x1000>;
410bb7c7e71SDivin Raj			interrupts = <0 0x8B 0x4>,
411bb7c7e71SDivin Raj				     <0 0x8C 0x4>;
412bb7c7e71SDivin Raj			cd-gpios = <&sysreg 0 0>;
413bb7c7e71SDivin Raj			wp-gpios = <&sysreg 1 0>;
414bb7c7e71SDivin Raj			bus-width = <8>;
415bb7c7e71SDivin Raj			max-frequency = <12000000>;
416bb7c7e71SDivin Raj			vmmc-supply = <&fixed_3v3>;
417bb7c7e71SDivin Raj			clocks = <&soc_clk24mhz>, <&soc_clk24mhz>;
418bb7c7e71SDivin Raj			clock-names = "mclk", "apb_pclk";
419bb7c7e71SDivin Raj		};
420bb7c7e71SDivin Raj
421bb7c7e71SDivin Raj	};
422bb7c7e71SDivin Raj
423bb7c7e71SDivin Raj	psci {
424bb7c7e71SDivin Raj		compatible = "arm,psci-1.0", "arm,psci-0.2", "arm,psci";
425bb7c7e71SDivin Raj		method = "smc";
426bb7c7e71SDivin Raj		cpu_suspend = <0xc4000001>;
427bb7c7e71SDivin Raj		cpu_off = <0x84000002>;
428*f72eeb2dSDavid Hu		cpu_on = <0xc4000003>;
429bb7c7e71SDivin Raj	};
430bb7c7e71SDivin Raj
431bb7c7e71SDivin Raj};
432