blob: 643a5e4344656cf887a2463ac06066432098c7cd [file] [log] [blame]
Jiyong Park196115b2023-02-25 02:01:15 +09001/*
2 * Copyright (C) 2022 Google LLC
3 */
4
5#include <dt-bindings/interrupt-controller/arm-gic.h>
6
Pierre-Clément Tosi57acb562024-11-20 21:23:27 +00007// Undefine macros conflicting with our definitions.
8#ifdef linux
9#undef linux
10#endif
11
Jiyong Park196115b2023-02-25 02:01:15 +090012#define PLACEHOLDER 0xffffffff
13#define PLACEHOLDER2 PLACEHOLDER PLACEHOLDER
14#define PLACEHOLDER4 PLACEHOLDER2 PLACEHOLDER2
15
Pierre-Clément Tosib88ad952024-05-22 11:27:45 +010016#define PLACEHOLDER_CPU_MAP_CORE(n) core##n { cpu = <PLACEHOLDER>; };
17#define PLACEHOLDER_CPU_MAP_CLUSTER \
18 PLACEHOLDER_CPU_MAP_CORE(0) \
19 PLACEHOLDER_CPU_MAP_CORE(1) \
20 PLACEHOLDER_CPU_MAP_CORE(2) \
21 PLACEHOLDER_CPU_MAP_CORE(3) \
22 PLACEHOLDER_CPU_MAP_CORE(4) \
23 PLACEHOLDER_CPU_MAP_CORE(5) \
24 PLACEHOLDER_CPU_MAP_CORE(6) \
25 PLACEHOLDER_CPU_MAP_CORE(7) \
26 PLACEHOLDER_CPU_MAP_CORE(8) \
27 PLACEHOLDER_CPU_MAP_CORE(9)
28
Pierre-Clément Tosie73fdcf2024-04-16 15:21:40 +010029#define PLACEHOLDER_OPP_TABLE_ENTRY(n) opp##n { opp-hz = <PLACEHOLDER2>; };
30#define PLACEHOLDER_OPP_TABLE \
31 PLACEHOLDER_OPP_TABLE_ENTRY(1) \
32 PLACEHOLDER_OPP_TABLE_ENTRY(2) \
33 PLACEHOLDER_OPP_TABLE_ENTRY(3) \
34 PLACEHOLDER_OPP_TABLE_ENTRY(4) \
35 PLACEHOLDER_OPP_TABLE_ENTRY(5) \
36 PLACEHOLDER_OPP_TABLE_ENTRY(6) \
37 PLACEHOLDER_OPP_TABLE_ENTRY(7) \
38 PLACEHOLDER_OPP_TABLE_ENTRY(8) \
39 PLACEHOLDER_OPP_TABLE_ENTRY(9) \
40 PLACEHOLDER_OPP_TABLE_ENTRY(10) \
41 PLACEHOLDER_OPP_TABLE_ENTRY(11) \
42 PLACEHOLDER_OPP_TABLE_ENTRY(12) \
43 PLACEHOLDER_OPP_TABLE_ENTRY(13) \
44 PLACEHOLDER_OPP_TABLE_ENTRY(14) \
45 PLACEHOLDER_OPP_TABLE_ENTRY(15) \
46 PLACEHOLDER_OPP_TABLE_ENTRY(16) \
47 PLACEHOLDER_OPP_TABLE_ENTRY(17) \
48 PLACEHOLDER_OPP_TABLE_ENTRY(18) \
49 PLACEHOLDER_OPP_TABLE_ENTRY(19) \
50 PLACEHOLDER_OPP_TABLE_ENTRY(20)
51
Jiyong Parka503f422023-03-21 19:27:04 +090052#define IRQ_BASE 4
53
Jiyong Park196115b2023-02-25 02:01:15 +090054/dts-v1/;
55
56/ {
57 interrupt-parent = <&intc>;
58 compatible = "linux,dummy-virt";
59 #address-cells = <2>;
60 #size-cells = <2>;
61
62 chosen {
63 stdout-path = "/uart@3f8";
64 linux,pci-probe-only = <1>;
65 kaslr-seed = <PLACEHOLDER2>;
66 avf,strict-boot;
67 avf,new-instance;
68 };
69
70 memory {
71 device_type = "memory";
Jiyong Parkef85e832023-02-25 02:03:39 +090072 reg = <0x00 0x80000000 PLACEHOLDER2>;
Jiyong Park196115b2023-02-25 02:01:15 +090073 };
74
75 reserved-memory {
76 #address-cells = <2>;
77 #size-cells = <2>;
78 ranges;
79 swiotlb: restricted_dma_reserved {
80 compatible = "restricted-dma-pool";
Pierre-Clément Tosic27c4272023-05-19 15:46:26 +000081 reg = <PLACEHOLDER4>;
Jiyong Park196115b2023-02-25 02:01:15 +090082 size = <PLACEHOLDER2>;
83 alignment = <PLACEHOLDER2>;
84 };
85
86 dice {
87 compatible = "google,open-dice";
88 no-map;
89 reg = <PLACEHOLDER4>;
90 };
91 };
92
93 cpus {
94 #address-cells = <1>;
95 #size-cells = <0>;
Pierre-Clément Tosia0823f12024-02-15 16:41:05 +000096
97 cpu-map {
Pierre-Clément Tosib88ad952024-05-22 11:27:45 +010098 cluster0 { PLACEHOLDER_CPU_MAP_CLUSTER };
99 cluster1 { PLACEHOLDER_CPU_MAP_CLUSTER };
100 cluster2 { PLACEHOLDER_CPU_MAP_CLUSTER };
Pierre-Clément Tosia0823f12024-02-15 16:41:05 +0000101 };
102
103 cpu0: cpu@0 {
Jiyong Park196115b2023-02-25 02:01:15 +0900104 device_type = "cpu";
Pierre-Clément Tosi6ae8fe22024-04-17 20:02:23 +0100105 compatible = "arm,armv8";
Jiyong Park196115b2023-02-25 02:01:15 +0900106 enable-method = "psci";
Pierre-Clément Tosi27a2b032024-03-26 16:36:11 +0000107 reg = <0x0>;
David Dai50168a32024-02-14 17:00:48 -0800108 capacity-dmips-mhz = <PLACEHOLDER>;
David Dai9bdb10c2024-02-01 22:42:54 -0800109 operating-points-v2 = <&opp_table0>;
110 opp_table0: opp-table-0 {
111 compatible = "operating-points-v2";
Pierre-Clément Tosie73fdcf2024-04-16 15:21:40 +0100112 PLACEHOLDER_OPP_TABLE
David Dai9bdb10c2024-02-01 22:42:54 -0800113 };
Jiyong Park196115b2023-02-25 02:01:15 +0900114 };
Pierre-Clément Tosia0823f12024-02-15 16:41:05 +0000115 cpu1: cpu@1 {
Jiyong Park196115b2023-02-25 02:01:15 +0900116 device_type = "cpu";
Pierre-Clément Tosi6ae8fe22024-04-17 20:02:23 +0100117 compatible = "arm,armv8";
Jiyong Park196115b2023-02-25 02:01:15 +0900118 enable-method = "psci";
Pierre-Clément Tosi27a2b032024-03-26 16:36:11 +0000119 reg = <0x1>;
David Dai50168a32024-02-14 17:00:48 -0800120 capacity-dmips-mhz = <PLACEHOLDER>;
David Dai9bdb10c2024-02-01 22:42:54 -0800121 operating-points-v2 = <&opp_table1>;
122 opp_table1: opp-table-1 {
123 compatible = "operating-points-v2";
Pierre-Clément Tosie73fdcf2024-04-16 15:21:40 +0100124 PLACEHOLDER_OPP_TABLE
David Dai9bdb10c2024-02-01 22:42:54 -0800125 };
Jiyong Park196115b2023-02-25 02:01:15 +0900126 };
Pierre-Clément Tosia0823f12024-02-15 16:41:05 +0000127 cpu2: cpu@2 {
Jiyong Park196115b2023-02-25 02:01:15 +0900128 device_type = "cpu";
Pierre-Clément Tosi6ae8fe22024-04-17 20:02:23 +0100129 compatible = "arm,armv8";
Jiyong Park196115b2023-02-25 02:01:15 +0900130 enable-method = "psci";
Pierre-Clément Tosi27a2b032024-03-26 16:36:11 +0000131 reg = <0x2>;
David Dai50168a32024-02-14 17:00:48 -0800132 capacity-dmips-mhz = <PLACEHOLDER>;
David Dai9bdb10c2024-02-01 22:42:54 -0800133 operating-points-v2 = <&opp_table2>;
134 opp_table2: opp-table-2 {
135 compatible = "operating-points-v2";
Pierre-Clément Tosie73fdcf2024-04-16 15:21:40 +0100136 PLACEHOLDER_OPP_TABLE
David Dai9bdb10c2024-02-01 22:42:54 -0800137 };
Jiyong Park196115b2023-02-25 02:01:15 +0900138 };
Pierre-Clément Tosia0823f12024-02-15 16:41:05 +0000139 cpu3: cpu@3 {
Jiyong Park196115b2023-02-25 02:01:15 +0900140 device_type = "cpu";
Pierre-Clément Tosi6ae8fe22024-04-17 20:02:23 +0100141 compatible = "arm,armv8";
Jiyong Park196115b2023-02-25 02:01:15 +0900142 enable-method = "psci";
Pierre-Clément Tosi27a2b032024-03-26 16:36:11 +0000143 reg = <0x3>;
David Dai50168a32024-02-14 17:00:48 -0800144 capacity-dmips-mhz = <PLACEHOLDER>;
David Dai9bdb10c2024-02-01 22:42:54 -0800145 operating-points-v2 = <&opp_table3>;
146 opp_table3: opp-table-3 {
147 compatible = "operating-points-v2";
Pierre-Clément Tosie73fdcf2024-04-16 15:21:40 +0100148 PLACEHOLDER_OPP_TABLE
David Dai9bdb10c2024-02-01 22:42:54 -0800149 };
Jiyong Park196115b2023-02-25 02:01:15 +0900150 };
Pierre-Clément Tosia0823f12024-02-15 16:41:05 +0000151 cpu4: cpu@4 {
Jiyong Park196115b2023-02-25 02:01:15 +0900152 device_type = "cpu";
Pierre-Clément Tosi6ae8fe22024-04-17 20:02:23 +0100153 compatible = "arm,armv8";
Jiyong Park196115b2023-02-25 02:01:15 +0900154 enable-method = "psci";
Pierre-Clément Tosi27a2b032024-03-26 16:36:11 +0000155 reg = <0x4>;
David Dai50168a32024-02-14 17:00:48 -0800156 capacity-dmips-mhz = <PLACEHOLDER>;
David Dai9bdb10c2024-02-01 22:42:54 -0800157 operating-points-v2 = <&opp_table4>;
158 opp_table4: opp-table-4 {
159 compatible = "operating-points-v2";
Pierre-Clément Tosie73fdcf2024-04-16 15:21:40 +0100160 PLACEHOLDER_OPP_TABLE
David Dai9bdb10c2024-02-01 22:42:54 -0800161 };
Jiyong Park196115b2023-02-25 02:01:15 +0900162 };
Pierre-Clément Tosia0823f12024-02-15 16:41:05 +0000163 cpu5: cpu@5 {
Jiyong Park196115b2023-02-25 02:01:15 +0900164 device_type = "cpu";
Pierre-Clément Tosi6ae8fe22024-04-17 20:02:23 +0100165 compatible = "arm,armv8";
Jiyong Park196115b2023-02-25 02:01:15 +0900166 enable-method = "psci";
Pierre-Clément Tosi27a2b032024-03-26 16:36:11 +0000167 reg = <0x5>;
David Dai50168a32024-02-14 17:00:48 -0800168 capacity-dmips-mhz = <PLACEHOLDER>;
David Dai9bdb10c2024-02-01 22:42:54 -0800169 operating-points-v2 = <&opp_table5>;
170 opp_table5: opp-table-5 {
171 compatible = "operating-points-v2";
Pierre-Clément Tosie73fdcf2024-04-16 15:21:40 +0100172 PLACEHOLDER_OPP_TABLE
David Dai9bdb10c2024-02-01 22:42:54 -0800173 };
Jiyong Park196115b2023-02-25 02:01:15 +0900174 };
Pierre-Clément Tosia0823f12024-02-15 16:41:05 +0000175 cpu6: cpu@6 {
Jiyong Park196115b2023-02-25 02:01:15 +0900176 device_type = "cpu";
Pierre-Clément Tosi6ae8fe22024-04-17 20:02:23 +0100177 compatible = "arm,armv8";
Jiyong Park196115b2023-02-25 02:01:15 +0900178 enable-method = "psci";
Pierre-Clément Tosi27a2b032024-03-26 16:36:11 +0000179 reg = <0x6>;
David Dai50168a32024-02-14 17:00:48 -0800180 capacity-dmips-mhz = <PLACEHOLDER>;
David Dai9bdb10c2024-02-01 22:42:54 -0800181 operating-points-v2 = <&opp_table6>;
182 opp_table6: opp-table-6 {
183 compatible = "operating-points-v2";
Pierre-Clément Tosie73fdcf2024-04-16 15:21:40 +0100184 PLACEHOLDER_OPP_TABLE
David Dai9bdb10c2024-02-01 22:42:54 -0800185 };
Jiyong Park196115b2023-02-25 02:01:15 +0900186 };
Pierre-Clément Tosia0823f12024-02-15 16:41:05 +0000187 cpu7: cpu@7 {
Jiyong Park196115b2023-02-25 02:01:15 +0900188 device_type = "cpu";
Pierre-Clément Tosi6ae8fe22024-04-17 20:02:23 +0100189 compatible = "arm,armv8";
Jiyong Park196115b2023-02-25 02:01:15 +0900190 enable-method = "psci";
Pierre-Clément Tosi27a2b032024-03-26 16:36:11 +0000191 reg = <0x7>;
David Dai50168a32024-02-14 17:00:48 -0800192 capacity-dmips-mhz = <PLACEHOLDER>;
David Dai9bdb10c2024-02-01 22:42:54 -0800193 operating-points-v2 = <&opp_table7>;
194 opp_table7: opp-table-7 {
195 compatible = "operating-points-v2";
Pierre-Clément Tosie73fdcf2024-04-16 15:21:40 +0100196 PLACEHOLDER_OPP_TABLE
David Dai9bdb10c2024-02-01 22:42:54 -0800197 };
Jiyong Park196115b2023-02-25 02:01:15 +0900198 };
Pierre-Clément Tosia0823f12024-02-15 16:41:05 +0000199 cpu8: cpu@8 {
Jiyong Park196115b2023-02-25 02:01:15 +0900200 device_type = "cpu";
Pierre-Clément Tosi6ae8fe22024-04-17 20:02:23 +0100201 compatible = "arm,armv8";
Jiyong Park196115b2023-02-25 02:01:15 +0900202 enable-method = "psci";
Pierre-Clément Tosi27a2b032024-03-26 16:36:11 +0000203 reg = <0x8>;
David Dai50168a32024-02-14 17:00:48 -0800204 capacity-dmips-mhz = <PLACEHOLDER>;
David Dai9bdb10c2024-02-01 22:42:54 -0800205 operating-points-v2 = <&opp_table8>;
206 opp_table8: opp-table-8 {
207 compatible = "operating-points-v2";
Pierre-Clément Tosie73fdcf2024-04-16 15:21:40 +0100208 PLACEHOLDER_OPP_TABLE
David Dai9bdb10c2024-02-01 22:42:54 -0800209 };
Jiyong Park196115b2023-02-25 02:01:15 +0900210 };
Pierre-Clément Tosia0823f12024-02-15 16:41:05 +0000211 cpu9: cpu@9 {
Jiyong Park196115b2023-02-25 02:01:15 +0900212 device_type = "cpu";
Pierre-Clément Tosi6ae8fe22024-04-17 20:02:23 +0100213 compatible = "arm,armv8";
Jiyong Park196115b2023-02-25 02:01:15 +0900214 enable-method = "psci";
Pierre-Clément Tosi27a2b032024-03-26 16:36:11 +0000215 reg = <0x9>;
David Dai50168a32024-02-14 17:00:48 -0800216 capacity-dmips-mhz = <PLACEHOLDER>;
David Dai9bdb10c2024-02-01 22:42:54 -0800217 operating-points-v2 = <&opp_table9>;
218 opp_table9: opp-table-9 {
219 compatible = "operating-points-v2";
Pierre-Clément Tosie73fdcf2024-04-16 15:21:40 +0100220 PLACEHOLDER_OPP_TABLE
David Dai9bdb10c2024-02-01 22:42:54 -0800221 };
Jiyong Park196115b2023-02-25 02:01:15 +0900222 };
Pierre-Clément Tosi27a2b032024-03-26 16:36:11 +0000223 cpu10: cpu@a {
Jiyong Park196115b2023-02-25 02:01:15 +0900224 device_type = "cpu";
Pierre-Clément Tosi6ae8fe22024-04-17 20:02:23 +0100225 compatible = "arm,armv8";
Jiyong Park196115b2023-02-25 02:01:15 +0900226 enable-method = "psci";
Pierre-Clément Tosi27a2b032024-03-26 16:36:11 +0000227 reg = <0xa>;
David Dai50168a32024-02-14 17:00:48 -0800228 capacity-dmips-mhz = <PLACEHOLDER>;
David Dai9bdb10c2024-02-01 22:42:54 -0800229 operating-points-v2 = <&opp_table10>;
230 opp_table10: opp-table-10 {
231 compatible = "operating-points-v2";
Pierre-Clément Tosie73fdcf2024-04-16 15:21:40 +0100232 PLACEHOLDER_OPP_TABLE
David Dai9bdb10c2024-02-01 22:42:54 -0800233 };
Jiyong Park196115b2023-02-25 02:01:15 +0900234 };
Pierre-Clément Tosi27a2b032024-03-26 16:36:11 +0000235 cpu11: cpu@b {
Jiyong Park196115b2023-02-25 02:01:15 +0900236 device_type = "cpu";
Pierre-Clément Tosi6ae8fe22024-04-17 20:02:23 +0100237 compatible = "arm,armv8";
Jiyong Park196115b2023-02-25 02:01:15 +0900238 enable-method = "psci";
Pierre-Clément Tosi27a2b032024-03-26 16:36:11 +0000239 reg = <0xb>;
David Dai50168a32024-02-14 17:00:48 -0800240 capacity-dmips-mhz = <PLACEHOLDER>;
David Dai9bdb10c2024-02-01 22:42:54 -0800241 operating-points-v2 = <&opp_table11>;
242 opp_table11: opp-table-11 {
243 compatible = "operating-points-v2";
Pierre-Clément Tosie73fdcf2024-04-16 15:21:40 +0100244 PLACEHOLDER_OPP_TABLE
David Dai9bdb10c2024-02-01 22:42:54 -0800245 };
Jiyong Park196115b2023-02-25 02:01:15 +0900246 };
Pierre-Clément Tosi27a2b032024-03-26 16:36:11 +0000247 cpu12: cpu@c {
Jiyong Park196115b2023-02-25 02:01:15 +0900248 device_type = "cpu";
Pierre-Clément Tosi6ae8fe22024-04-17 20:02:23 +0100249 compatible = "arm,armv8";
Jiyong Park196115b2023-02-25 02:01:15 +0900250 enable-method = "psci";
Pierre-Clément Tosi27a2b032024-03-26 16:36:11 +0000251 reg = <0xc>;
David Dai50168a32024-02-14 17:00:48 -0800252 capacity-dmips-mhz = <PLACEHOLDER>;
David Dai9bdb10c2024-02-01 22:42:54 -0800253 operating-points-v2 = <&opp_table12>;
254 opp_table12: opp-table-12 {
255 compatible = "operating-points-v2";
Pierre-Clément Tosie73fdcf2024-04-16 15:21:40 +0100256 PLACEHOLDER_OPP_TABLE
David Dai9bdb10c2024-02-01 22:42:54 -0800257 };
Jiyong Park196115b2023-02-25 02:01:15 +0900258 };
Pierre-Clément Tosi27a2b032024-03-26 16:36:11 +0000259 cpu13: cpu@d {
Jiyong Park196115b2023-02-25 02:01:15 +0900260 device_type = "cpu";
Pierre-Clément Tosi6ae8fe22024-04-17 20:02:23 +0100261 compatible = "arm,armv8";
Jiyong Park196115b2023-02-25 02:01:15 +0900262 enable-method = "psci";
Pierre-Clément Tosi27a2b032024-03-26 16:36:11 +0000263 reg = <0xd>;
David Dai50168a32024-02-14 17:00:48 -0800264 capacity-dmips-mhz = <PLACEHOLDER>;
David Dai9bdb10c2024-02-01 22:42:54 -0800265 operating-points-v2 = <&opp_table13>;
266 opp_table13: opp-table-13 {
267 compatible = "operating-points-v2";
Pierre-Clément Tosie73fdcf2024-04-16 15:21:40 +0100268 PLACEHOLDER_OPP_TABLE
David Dai9bdb10c2024-02-01 22:42:54 -0800269 };
Jiyong Park196115b2023-02-25 02:01:15 +0900270 };
Pierre-Clément Tosi27a2b032024-03-26 16:36:11 +0000271 cpu14: cpu@e {
Jiyong Park196115b2023-02-25 02:01:15 +0900272 device_type = "cpu";
Pierre-Clément Tosi6ae8fe22024-04-17 20:02:23 +0100273 compatible = "arm,armv8";
Jiyong Park196115b2023-02-25 02:01:15 +0900274 enable-method = "psci";
Pierre-Clément Tosi27a2b032024-03-26 16:36:11 +0000275 reg = <0xe>;
David Dai50168a32024-02-14 17:00:48 -0800276 capacity-dmips-mhz = <PLACEHOLDER>;
David Dai9bdb10c2024-02-01 22:42:54 -0800277 operating-points-v2 = <&opp_table14>;
278 opp_table14: opp-table-14 {
279 compatible = "operating-points-v2";
Pierre-Clément Tosie73fdcf2024-04-16 15:21:40 +0100280 PLACEHOLDER_OPP_TABLE
David Dai9bdb10c2024-02-01 22:42:54 -0800281 };
Jiyong Park196115b2023-02-25 02:01:15 +0900282 };
Pierre-Clément Tosi27a2b032024-03-26 16:36:11 +0000283 cpu15: cpu@f {
Jiyong Park196115b2023-02-25 02:01:15 +0900284 device_type = "cpu";
Pierre-Clément Tosi6ae8fe22024-04-17 20:02:23 +0100285 compatible = "arm,armv8";
Jiyong Park196115b2023-02-25 02:01:15 +0900286 enable-method = "psci";
Pierre-Clément Tosi27a2b032024-03-26 16:36:11 +0000287 reg = <0xf>;
David Dai50168a32024-02-14 17:00:48 -0800288 capacity-dmips-mhz = <PLACEHOLDER>;
David Dai9bdb10c2024-02-01 22:42:54 -0800289 operating-points-v2 = <&opp_table15>;
290 opp_table15: opp-table-15 {
291 compatible = "operating-points-v2";
Pierre-Clément Tosie73fdcf2024-04-16 15:21:40 +0100292 PLACEHOLDER_OPP_TABLE
David Dai9bdb10c2024-02-01 22:42:54 -0800293 };
Jiyong Park196115b2023-02-25 02:01:15 +0900294 };
295 };
296
297 intc: intc {
298 compatible = "arm,gic-v3";
299 #address-cells = <2>;
300 #size-cells = <2>;
301 #interrupt-cells = <3>;
302 interrupt-controller;
303 reg = <0x00 0x3fff0000 0x00 0x10000>, <PLACEHOLDER4>;
304 };
305
306 timer {
307 compatible = "arm,armv8-timer";
308 always-on;
309 /* The IRQ type needs to be OR-ed with the CPU mask */
310 interrupts = <GIC_PPI 0xd IRQ_TYPE_LEVEL_LOW
311 GIC_PPI 0xe IRQ_TYPE_LEVEL_LOW
312 GIC_PPI 0xb IRQ_TYPE_LEVEL_LOW
313 GIC_PPI 0xa IRQ_TYPE_LEVEL_LOW>;
314 };
315
Jiyong Park1ba9b4a2024-05-28 22:21:57 +0900316 uart@3f8 {
Jiyong Park196115b2023-02-25 02:01:15 +0900317 compatible = "ns16550a";
Jiyong Park1ba9b4a2024-05-28 22:21:57 +0900318 reg = <0x00 0x3f8 0x00 0x8>;
Jiyong Park196115b2023-02-25 02:01:15 +0900319 clock-frequency = <0x1c2000>;
Jiyong Park1ba9b4a2024-05-28 22:21:57 +0900320 interrupts = <GIC_SPI 0 IRQ_TYPE_EDGE_RISING>;
Jiyong Park196115b2023-02-25 02:01:15 +0900321 };
322
323 uart@2f8 {
324 compatible = "ns16550a";
325 reg = <0x00 0x2f8 0x00 0x8>;
326 clock-frequency = <0x1c2000>;
327 interrupts = <GIC_SPI 2 IRQ_TYPE_EDGE_RISING>;
328 };
329
330 uart@3e8 {
331 compatible = "ns16550a";
332 reg = <0x00 0x3e8 0x00 0x8>;
333 clock-frequency = <0x1c2000>;
334 interrupts = <GIC_SPI 0 IRQ_TYPE_EDGE_RISING>;
335 };
336
Jiyong Park1ba9b4a2024-05-28 22:21:57 +0900337 uart@2e8 {
Jiyong Park196115b2023-02-25 02:01:15 +0900338 compatible = "ns16550a";
Jiyong Park1ba9b4a2024-05-28 22:21:57 +0900339 reg = <0x00 0x2e8 0x00 0x8>;
Jiyong Park196115b2023-02-25 02:01:15 +0900340 clock-frequency = <0x1c2000>;
Jiyong Park1ba9b4a2024-05-28 22:21:57 +0900341 interrupts = <GIC_SPI 2 IRQ_TYPE_EDGE_RISING>;
Jiyong Park196115b2023-02-25 02:01:15 +0900342 };
343
344 psci {
345 compatible = "arm,psci-1.0";
346 method = "hvc";
347 };
348
349 pci {
350 compatible = "pci-host-cam-generic";
351 device_type = "pci";
352 #address-cells = <3>;
353 #size-cells = <2>;
354 #interrupt-cells = <1>;
355 dma-coherent;
356 memory-region = <&swiotlb>;
357 ranges = <
Frederick Mayle803aa8c2024-11-22 13:45:55 -0800358 0x3000000 0x0 0x70000000 0x0 0x70000000 0x00 0x02000000
Jiyong Park196115b2023-02-25 02:01:15 +0900359 0x3000000 PLACEHOLDER2 PLACEHOLDER2 PLACEHOLDER2
360 >;
361 bus-range = <0x00 0x00>;
Frederick Mayle803aa8c2024-11-22 13:45:55 -0800362 reg = <0x00 0x72000000 0x00 0x1000000>;
Jiyong Park196115b2023-02-25 02:01:15 +0900363 interrupt-map = <
Jiyong Parka503f422023-03-21 19:27:04 +0900364 0x0800 0x0 0x0 1 &intc 0 0 GIC_SPI (IRQ_BASE + 0) IRQ_TYPE_LEVEL_HIGH
365 0x1000 0x0 0x0 1 &intc 0 0 GIC_SPI (IRQ_BASE + 1) IRQ_TYPE_LEVEL_HIGH
366 0x1800 0x0 0x0 1 &intc 0 0 GIC_SPI (IRQ_BASE + 2) IRQ_TYPE_LEVEL_HIGH
367 0x2000 0x0 0x0 1 &intc 0 0 GIC_SPI (IRQ_BASE + 3) IRQ_TYPE_LEVEL_HIGH
368 0x2800 0x0 0x0 1 &intc 0 0 GIC_SPI (IRQ_BASE + 4) IRQ_TYPE_LEVEL_HIGH
369 0x3000 0x0 0x0 1 &intc 0 0 GIC_SPI (IRQ_BASE + 5) IRQ_TYPE_LEVEL_HIGH
370 0x3800 0x0 0x0 1 &intc 0 0 GIC_SPI (IRQ_BASE + 6) IRQ_TYPE_LEVEL_HIGH
371 0x4000 0x0 0x0 1 &intc 0 0 GIC_SPI (IRQ_BASE + 7) IRQ_TYPE_LEVEL_HIGH
Nikita Ioffe85d80262023-07-12 17:34:07 +0100372 0x4800 0x0 0x0 1 &intc 0 0 GIC_SPI (IRQ_BASE + 8) IRQ_TYPE_LEVEL_HIGH
373 0x5000 0x0 0x0 1 &intc 0 0 GIC_SPI (IRQ_BASE + 9) IRQ_TYPE_LEVEL_HIGH
Nikita Ioffe2d0969c2024-06-06 12:59:12 +0000374 0x5800 0x0 0x0 1 &intc 0 0 GIC_SPI (IRQ_BASE + 10) IRQ_TYPE_LEVEL_HIGH
375 0x6000 0x0 0x0 1 &intc 0 0 GIC_SPI (IRQ_BASE + 11) IRQ_TYPE_LEVEL_HIGH
376 0x6800 0x0 0x0 1 &intc 0 0 GIC_SPI (IRQ_BASE + 12) IRQ_TYPE_LEVEL_HIGH
377 0x7000 0x0 0x0 1 &intc 0 0 GIC_SPI (IRQ_BASE + 13) IRQ_TYPE_LEVEL_HIGH
378 0x7800 0x0 0x0 1 &intc 0 0 GIC_SPI (IRQ_BASE + 14) IRQ_TYPE_LEVEL_HIGH
379 0x8000 0x0 0x0 1 &intc 0 0 GIC_SPI (IRQ_BASE + 15) IRQ_TYPE_LEVEL_HIGH
Jiyong Park196115b2023-02-25 02:01:15 +0900380 >;
381 interrupt-map-mask = <0xf800 0x0 0x0 0x7
382 0xf800 0x0 0x0 0x7
383 0xf800 0x0 0x0 0x7
384 0xf800 0x0 0x0 0x7
385 0xf800 0x0 0x0 0x7
386 0xf800 0x0 0x0 0x7
Jiyong Parka503f422023-03-21 19:27:04 +0900387 0xf800 0x0 0x0 0x7
Nikita Ioffe85d80262023-07-12 17:34:07 +0100388 0xf800 0x0 0x0 0x7
389 0xf800 0x0 0x0 0x7
Nikita Ioffe2d0969c2024-06-06 12:59:12 +0000390 0xf800 0x0 0x0 0x7
391 0xf800 0x0 0x0 0x7
392 0xf800 0x0 0x0 0x7
393 0xf800 0x0 0x0 0x7
394 0xf800 0x0 0x0 0x7
395 0xf800 0x0 0x0 0x7
Jiyong Park196115b2023-02-25 02:01:15 +0900396 0xf800 0x0 0x0 0x7>;
397 };
398
399 clk: pclk@3M {
400 compatible = "fixed-clock";
401 clock-frequency = <0x2fefd8>;
402 #clock-cells = <0>;
403 };
404
405 rtc@2000 {
406 compatible = "arm,primecell";
407 arm,primecell-periphid = <0x41030>;
408 reg = <0x00 0x2000 0x00 0x1000>;
409 interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
410 clock-names = "apb_pclk";
411 clocks = <&clk>;
412 };
Sebastian Ene21d12bf2023-03-14 11:04:58 +0000413
414 vmwdt@3000 {
415 compatible = "qemu,vcpu-stall-detector";
416 reg = <0x00 0x3000 0x00 0x1000>;
417 clock-frequency = <10>;
418 timeout-sec = <8>;
Sebastian Enee8e99fa2024-05-23 14:49:41 +0000419 interrupts = <GIC_PPI 0xf PLACEHOLDER>;
Sebastian Ene21d12bf2023-03-14 11:04:58 +0000420 };
Jaewan Kim96411e92023-11-13 15:54:02 +0900421
Jaewan Kim8f6f4662023-12-12 17:38:47 +0900422 cpufreq {
423 compatible = "virtual,android-v-only-cpufreq";
424 reg = <0x0 0x1040000 PLACEHOLDER2>;
425 };
426
427 // Keep pvIOMMUs at the last for making test happy.
428 // Otherwise, phandle of other nodes are changed when unused pvIOMMU nodes
429 // are removed, so hardcoded phandles in test data would mismatch.
Jaewan Kim96411e92023-11-13 15:54:02 +0900430 pviommu_0: pviommu0 {
431 compatible = "pkvm,pviommu";
432 id = <PLACEHOLDER>;
Jaewan Kimf2542452023-12-01 15:03:51 +0900433 #iommu-cells = <1>;
Jaewan Kim96411e92023-11-13 15:54:02 +0900434 };
435
436 pviommu_1: pviommu1 {
437 compatible = "pkvm,pviommu";
438 id = <PLACEHOLDER>;
Jaewan Kimf2542452023-12-01 15:03:51 +0900439 #iommu-cells = <1>;
Jaewan Kim96411e92023-11-13 15:54:02 +0900440 };
441
442 pviommu_2: pviommu2 {
443 compatible = "pkvm,pviommu";
444 id = <PLACEHOLDER>;
Jaewan Kimf2542452023-12-01 15:03:51 +0900445 #iommu-cells = <1>;
Jaewan Kim96411e92023-11-13 15:54:02 +0900446 };
447
448 pviommu_3: pviommu3 {
449 compatible = "pkvm,pviommu";
450 id = <PLACEHOLDER>;
Jaewan Kimf2542452023-12-01 15:03:51 +0900451 #iommu-cells = <1>;
Jaewan Kim96411e92023-11-13 15:54:02 +0900452 };
453
454 pviommu_4: pviommu4 {
455 compatible = "pkvm,pviommu";
456 id = <PLACEHOLDER>;
Jaewan Kimf2542452023-12-01 15:03:51 +0900457 #iommu-cells = <1>;
Jaewan Kim96411e92023-11-13 15:54:02 +0900458 };
459
460 pviommu_5: pviommu5 {
461 compatible = "pkvm,pviommu";
462 id = <PLACEHOLDER>;
Jaewan Kimf2542452023-12-01 15:03:51 +0900463 #iommu-cells = <1>;
Jaewan Kim96411e92023-11-13 15:54:02 +0900464 };
465
466 pviommu_6: pviommu6 {
467 compatible = "pkvm,pviommu";
468 id = <PLACEHOLDER>;
Jaewan Kimf2542452023-12-01 15:03:51 +0900469 #iommu-cells = <1>;
Jaewan Kim96411e92023-11-13 15:54:02 +0900470 };
471
472 pviommu_7: pviommu7 {
473 compatible = "pkvm,pviommu";
474 id = <PLACEHOLDER>;
Jaewan Kimf2542452023-12-01 15:03:51 +0900475 #iommu-cells = <1>;
Jaewan Kim96411e92023-11-13 15:54:02 +0900476 };
477
478 pviommu_8: pviommu8 {
479 compatible = "pkvm,pviommu";
480 id = <PLACEHOLDER>;
Jaewan Kimf2542452023-12-01 15:03:51 +0900481 #iommu-cells = <1>;
Jaewan Kim96411e92023-11-13 15:54:02 +0900482 };
483
484 pviommu_9: pviommu9 {
485 compatible = "pkvm,pviommu";
486 id = <PLACEHOLDER>;
Jaewan Kimf2542452023-12-01 15:03:51 +0900487 #iommu-cells = <1>;
Jaewan Kim96411e92023-11-13 15:54:02 +0900488 };
David Dai9bdb10c2024-02-01 22:42:54 -0800489
Jaewan Kim8f6f4662023-12-12 17:38:47 +0900490 // Do not add new node below
Jiyong Park196115b2023-02-25 02:01:15 +0900491};