blob: 4a7b6565814b5d313bb55949384a723a581932c7 [file] [log] [blame]
Jeenu Viswambharand27ad952017-07-19 17:27:49 +01001/*
Balint Dobszay5ce2c322020-01-10 17:16:27 +01002 * Copyright (c) 2017-2020, ARM Limited and Contributors. All rights reserved.
Jeenu Viswambharand27ad952017-07-19 17:27:49 +01003 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
Balint Dobszayd0dbd5e2019-12-18 15:28:00 +01007#include <services/sdei_flags.h>
8
Jeenu Viswambharand27ad952017-07-19 17:27:49 +01009/memreserve/ 0x80000000 0x00010000;
10
11/ {
12};
13
14/ {
15 model = "FVP Base";
16 compatible = "arm,vfp-base", "arm,vexpress";
17 interrupt-parent = <&gic>;
18 #address-cells = <2>;
19 #size-cells = <2>;
20
21 chosen { };
22
23 aliases {
24 serial0 = &v2m_serial0;
25 serial1 = &v2m_serial1;
26 serial2 = &v2m_serial2;
27 serial3 = &v2m_serial3;
28 };
29
30 psci {
31 compatible = "arm,psci-1.0", "arm,psci-0.2", "arm,psci";
32 method = "smc";
33 cpu_suspend = <0xc4000001>;
34 cpu_off = <0x84000002>;
35 cpu_on = <0xc4000003>;
36 sys_poweroff = <0x84000008>;
37 sys_reset = <0x84000009>;
Madhukar Pappireddy26b945c2019-12-27 12:02:34 -060038 max-pwr-lvl = <2>;
Jeenu Viswambharand27ad952017-07-19 17:27:49 +010039 };
Balint Dobszayd0dbd5e2019-12-18 15:28:00 +010040
41#if SDEI_IN_FCONF
42 firmware {
43 sdei {
44 compatible = "arm,sdei-1.0";
45 method = "smc";
46 private_event_count = <3>;
47 shared_event_count = <3>;
48 /*
49 * Each event descriptor has typically 3 fields:
50 * 1. Event number
51 * 2. Interrupt number the event is bound to or
52 * if event is dynamic, specified as SDEI_DYN_IRQ
53 * 3. Bit map of event flags
54 */
55 private_events = <1000 SDEI_DYN_IRQ SDEI_MAPF_DYNAMIC>,
56 <1001 SDEI_DYN_IRQ SDEI_MAPF_DYNAMIC>,
57 <1002 SDEI_DYN_IRQ SDEI_MAPF_DYNAMIC>;
58 shared_events = <2000 SDEI_DYN_IRQ SDEI_MAPF_DYNAMIC>,
59 <2001 SDEI_DYN_IRQ SDEI_MAPF_DYNAMIC>,
60 <2002 SDEI_DYN_IRQ SDEI_MAPF_DYNAMIC>;
61 };
62 };
63#endif /* SDEI_IN_FCONF */
Jeenu Viswambharand27ad952017-07-19 17:27:49 +010064
65 cpus {
66 #address-cells = <2>;
67 #size-cells = <0>;
68
Madhukar Pappireddy862c4b82020-02-13 15:36:50 -060069 CPU_MAP:cpu-map {
Jeenu Viswambharand27ad952017-07-19 17:27:49 +010070 cluster0 {
71 core0 {
72 cpu = <&CPU0>;
73 };
74 core1 {
75 cpu = <&CPU1>;
76 };
77 core2 {
78 cpu = <&CPU2>;
79 };
80 core3 {
81 cpu = <&CPU3>;
82 };
83 };
84
85 cluster1 {
86 core0 {
87 cpu = <&CPU4>;
88 };
89 core1 {
90 cpu = <&CPU5>;
91 };
92 core2 {
93 cpu = <&CPU6>;
94 };
95 core3 {
96 cpu = <&CPU7>;
97 };
98 };
99 };
100
101 idle-states {
102 entry-method = "arm,psci";
103
104 CPU_SLEEP_0: cpu-sleep-0 {
105 compatible = "arm,idle-state";
106 local-timer-stop;
107 arm,psci-suspend-param = <0x0010000>;
108 entry-latency-us = <40>;
109 exit-latency-us = <100>;
110 min-residency-us = <150>;
111 };
112
113 CLUSTER_SLEEP_0: cluster-sleep-0 {
114 compatible = "arm,idle-state";
115 local-timer-stop;
116 arm,psci-suspend-param = <0x1010000>;
117 entry-latency-us = <500>;
118 exit-latency-us = <1000>;
119 min-residency-us = <2500>;
120 };
121 };
122
123 CPU0:cpu@0 {
124 device_type = "cpu";
125 compatible = "arm,armv8";
126 reg = <0x0 0x0>;
127 enable-method = "psci";
128 cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>;
129 next-level-cache = <&L2_0>;
130 };
131
132 CPU1:cpu@1 {
133 device_type = "cpu";
134 compatible = "arm,armv8";
135 reg = <0x0 0x1>;
136 enable-method = "psci";
137 cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>;
138 next-level-cache = <&L2_0>;
139 };
140
141 CPU2:cpu@2 {
142 device_type = "cpu";
143 compatible = "arm,armv8";
144 reg = <0x0 0x2>;
145 enable-method = "psci";
146 cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>;
147 next-level-cache = <&L2_0>;
148 };
149
150 CPU3:cpu@3 {
151 device_type = "cpu";
152 compatible = "arm,armv8";
153 reg = <0x0 0x3>;
154 enable-method = "psci";
155 cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>;
156 next-level-cache = <&L2_0>;
157 };
158
159 CPU4:cpu@100 {
160 device_type = "cpu";
161 compatible = "arm,armv8";
162 reg = <0x0 0x100>;
163 enable-method = "psci";
164 cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>;
165 next-level-cache = <&L2_0>;
166 };
167
168 CPU5:cpu@101 {
169 device_type = "cpu";
170 compatible = "arm,armv8";
171 reg = <0x0 0x101>;
172 enable-method = "psci";
173 cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>;
174 next-level-cache = <&L2_0>;
175 };
176
177 CPU6:cpu@102 {
178 device_type = "cpu";
179 compatible = "arm,armv8";
180 reg = <0x0 0x102>;
181 enable-method = "psci";
182 cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>;
183 next-level-cache = <&L2_0>;
184 };
185
186 CPU7:cpu@103 {
187 device_type = "cpu";
188 compatible = "arm,armv8";
189 reg = <0x0 0x103>;
190 enable-method = "psci";
191 cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>;
192 next-level-cache = <&L2_0>;
193 };
194
195 L2_0: l2-cache0 {
196 compatible = "cache";
197 };
198 };
199
200 memory@80000000 {
201 device_type = "memory";
202 reg = <0x00000000 0x80000000 0 0x7F000000>,
203 <0x00000008 0x80000000 0 0x80000000>;
204 };
205
206 gic: interrupt-controller@2f000000 {
207 compatible = "arm,gic-v3";
208 #interrupt-cells = <3>;
209 #address-cells = <2>;
210 #size-cells = <2>;
211 ranges;
212 interrupt-controller;
213 reg = <0x0 0x2f000000 0 0x10000>, // GICD
214 <0x0 0x2f100000 0 0x200000>, // GICR
215 <0x0 0x2c000000 0 0x2000>, // GICC
216 <0x0 0x2c010000 0 0x2000>, // GICH
217 <0x0 0x2c02f000 0 0x2000>; // GICV
218 interrupts = <1 9 4>;
219
220 its: its@2f020000 {
221 compatible = "arm,gic-v3-its";
222 msi-controller;
223 reg = <0x0 0x2f020000 0x0 0x20000>; // GITS
224 };
225 };
226
227 timer {
228 compatible = "arm,armv8-timer";
229 interrupts = <1 13 0xff01>,
230 <1 14 0xff01>,
231 <1 11 0xff01>,
232 <1 10 0xff01>;
233 clock-frequency = <100000000>;
234 };
235
236 timer@2a810000 {
237 compatible = "arm,armv7-timer-mem";
238 reg = <0x0 0x2a810000 0x0 0x10000>;
239 clock-frequency = <100000000>;
240 #address-cells = <2>;
241 #size-cells = <2>;
242 ranges;
243 frame@2a830000 {
244 frame-number = <1>;
245 interrupts = <0 26 4>;
246 reg = <0x0 0x2a830000 0x0 0x10000>;
247 };
248 };
249
250 pmu {
251 compatible = "arm,armv8-pmuv3";
252 interrupts = <0 60 4>,
253 <0 61 4>,
254 <0 62 4>,
255 <0 63 4>;
256 };
257
Roberto Vargas0fccc502018-04-23 14:44:54 +0100258 smb@0,0 {
Jeenu Viswambharand27ad952017-07-19 17:27:49 +0100259 compatible = "simple-bus";
260
261 #address-cells = <2>;
262 #size-cells = <1>;
263 ranges = <0 0 0 0x08000000 0x04000000>,
264 <1 0 0 0x14000000 0x04000000>,
265 <2 0 0 0x18000000 0x04000000>,
266 <3 0 0 0x1c000000 0x04000000>,
267 <4 0 0 0x0c000000 0x04000000>,
268 <5 0 0 0x10000000 0x04000000>;
269
Balint Dobszay5ce2c322020-01-10 17:16:27 +0100270 #include "rtsm_ve-motherboard.dtsi"
Jeenu Viswambharand27ad952017-07-19 17:27:49 +0100271 };
272
273 panels {
Roberto Vargas0fccc502018-04-23 14:44:54 +0100274 panel {
Jeenu Viswambharand27ad952017-07-19 17:27:49 +0100275 compatible = "panel";
276 mode = "XVGA";
277 refresh = <60>;
278 xres = <1024>;
279 yres = <768>;
280 pixclock = <15748>;
281 left_margin = <152>;
282 right_margin = <48>;
283 upper_margin = <23>;
284 lower_margin = <3>;
285 hsync_len = <104>;
286 vsync_len = <4>;
287 sync = <0>;
288 vmode = "FB_VMODE_NONINTERLACED";
289 tim2 = "TIM2_BCD", "TIM2_IPC";
290 cntl = "CNTL_LCDTFT", "CNTL_BGR", "CNTL_LCDVCOMP(1)";
291 caps = "CLCD_CAP_5551", "CLCD_CAP_565", "CLCD_CAP_888";
292 bpp = <16>;
293 };
294 };
295};