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