1d1a1abecSDavid Hu/* 2d1a1abecSDavid Hu * Copyright (c) 2025, Arm Limited. All rights reserved. 3d1a1abecSDavid Hu * 4d1a1abecSDavid Hu * SPDX-License-Identifier: BSD-3-Clause 5d1a1abecSDavid Hu */ 6d1a1abecSDavid Hu 7d1a1abecSDavid Hu/dts-v1/; 8d1a1abecSDavid Hu 9d1a1abecSDavid Hu#include <dt-bindings/interrupt-controller/arm-gic.h> 10d1a1abecSDavid Hu 11d1a1abecSDavid Hu/ { 12d1a1abecSDavid Hu model = "RD-Aspen"; 13d1a1abecSDavid Hu compatible = "arm,rdaspen"; 14d1a1abecSDavid Hu interrupt-parent = <&gic>; 15d1a1abecSDavid Hu #address-cells = <2>; 16d1a1abecSDavid Hu #size-cells = <2>; 17d1a1abecSDavid Hu 18d1a1abecSDavid Hu chosen { 19d1a1abecSDavid Hu stdout-path = &soc_serial0; 20d1a1abecSDavid Hu }; 21d1a1abecSDavid Hu 22d1a1abecSDavid Hu cpus { 23d1a1abecSDavid Hu #address-cells = <2>; 24d1a1abecSDavid Hu #size-cells = <0>; 25d1a1abecSDavid Hu 26d1a1abecSDavid Hu /* 4 clusters and 4 CPU cores in each cluster */ 27b0a8c52eSAmr Mohamed cpu-map { 28b0a8c52eSAmr Mohamed cluster0 { 29b0a8c52eSAmr Mohamed core0 { 30b0a8c52eSAmr Mohamed cpu = <&CPU0>; 31b0a8c52eSAmr Mohamed }; 32b0a8c52eSAmr Mohamed core1 { 33b0a8c52eSAmr Mohamed cpu = <&CPU1>; 34b0a8c52eSAmr Mohamed }; 35b0a8c52eSAmr Mohamed core2 { 36b0a8c52eSAmr Mohamed cpu = <&CPU2>; 37b0a8c52eSAmr Mohamed }; 38b0a8c52eSAmr Mohamed core3 { 39b0a8c52eSAmr Mohamed cpu = <&CPU3>; 40b0a8c52eSAmr Mohamed }; 41b0a8c52eSAmr Mohamed CL0_L3: l3-cache0 { 42b0a8c52eSAmr Mohamed compatible = "arm,dsu-l3-cache", "cache"; 43b0a8c52eSAmr Mohamed cache-level = <0x03>; 44b0a8c52eSAmr Mohamed /* 4MB */ 45b0a8c52eSAmr Mohamed cache-size = <0x400000>; 46b0a8c52eSAmr Mohamed /* 64B */ 47b0a8c52eSAmr Mohamed cache-line-size = <0x40>; 48b0a8c52eSAmr Mohamed /* 16-way set */ 49b0a8c52eSAmr Mohamed cache-sets = <0x1000>; 50b0a8c52eSAmr Mohamed }; 51b0a8c52eSAmr Mohamed }; 52b0a8c52eSAmr Mohamed cluster1 { 53b0a8c52eSAmr Mohamed core0 { 54b0a8c52eSAmr Mohamed cpu = <&CPU4>; 55b0a8c52eSAmr Mohamed }; 56b0a8c52eSAmr Mohamed core1 { 57b0a8c52eSAmr Mohamed cpu = <&CPU5>; 58b0a8c52eSAmr Mohamed }; 59b0a8c52eSAmr Mohamed core2 { 60b0a8c52eSAmr Mohamed cpu = <&CPU6>; 61b0a8c52eSAmr Mohamed }; 62b0a8c52eSAmr Mohamed core3 { 63b0a8c52eSAmr Mohamed cpu = <&CPU7>; 64b0a8c52eSAmr Mohamed }; 65b0a8c52eSAmr Mohamed CL1_L3: l3-cache1 { 66b0a8c52eSAmr Mohamed compatible = "arm,dsu-l3-cache", "cache"; 67b0a8c52eSAmr Mohamed cache-level = <0x03>; 68b0a8c52eSAmr Mohamed /* 4MB */ 69b0a8c52eSAmr Mohamed cache-size = <0x400000>; 70b0a8c52eSAmr Mohamed /* 64B */ 71b0a8c52eSAmr Mohamed cache-line-size = <0x40>; 72b0a8c52eSAmr Mohamed /* 16-way set */ 73b0a8c52eSAmr Mohamed cache-sets = <0x1000>; 74b0a8c52eSAmr Mohamed }; 75b0a8c52eSAmr Mohamed }; 76b0a8c52eSAmr Mohamed cluster2 { 77b0a8c52eSAmr Mohamed core0 { 78b0a8c52eSAmr Mohamed cpu = <&CPU8>; 79b0a8c52eSAmr Mohamed }; 80b0a8c52eSAmr Mohamed core1 { 81b0a8c52eSAmr Mohamed cpu = <&CPU9>; 82b0a8c52eSAmr Mohamed }; 83b0a8c52eSAmr Mohamed core2 { 84b0a8c52eSAmr Mohamed cpu = <&CPU10>; 85b0a8c52eSAmr Mohamed }; 86b0a8c52eSAmr Mohamed core3 { 87b0a8c52eSAmr Mohamed cpu = <&CPU11>; 88b0a8c52eSAmr Mohamed }; 89b0a8c52eSAmr Mohamed CL2_L3: l3-cache2 { 90b0a8c52eSAmr Mohamed compatible = "arm,dsu-l3-cache", "cache"; 91b0a8c52eSAmr Mohamed cache-level = <0x03>; 92b0a8c52eSAmr Mohamed /* 4MB */ 93b0a8c52eSAmr Mohamed cache-size = <0x400000>; 94b0a8c52eSAmr Mohamed /* 64B */ 95b0a8c52eSAmr Mohamed cache-line-size = <0x40>; 96b0a8c52eSAmr Mohamed /* 16-way set */ 97b0a8c52eSAmr Mohamed cache-sets = <0x1000>; 98b0a8c52eSAmr Mohamed }; 99b0a8c52eSAmr Mohamed }; 100b0a8c52eSAmr Mohamed cluster3 { 101b0a8c52eSAmr Mohamed core0 { 102b0a8c52eSAmr Mohamed cpu = <&CPU12>; 103b0a8c52eSAmr Mohamed }; 104b0a8c52eSAmr Mohamed core1 { 105b0a8c52eSAmr Mohamed cpu = <&CPU13>; 106b0a8c52eSAmr Mohamed }; 107b0a8c52eSAmr Mohamed core2 { 108b0a8c52eSAmr Mohamed cpu = <&CPU14>; 109b0a8c52eSAmr Mohamed }; 110b0a8c52eSAmr Mohamed core3 { 111b0a8c52eSAmr Mohamed cpu = <&CPU15>; 112b0a8c52eSAmr Mohamed }; 113b0a8c52eSAmr Mohamed CL3_L3: l3-cache3 { 114b0a8c52eSAmr Mohamed compatible = "arm,dsu-l3-cache", "cache"; 115b0a8c52eSAmr Mohamed cache-level = <0x03>; 116b0a8c52eSAmr Mohamed /* 4MB */ 117b0a8c52eSAmr Mohamed cache-size = <0x400000>; 118b0a8c52eSAmr Mohamed /* 64B */ 119b0a8c52eSAmr Mohamed cache-line-size = <0x40>; 120b0a8c52eSAmr Mohamed /* 16-way set */ 121b0a8c52eSAmr Mohamed cache-sets = <0x1000>; 122b0a8c52eSAmr Mohamed }; 123b0a8c52eSAmr Mohamed }; 124b0a8c52eSAmr Mohamed }; 125b0a8c52eSAmr Mohamed 126d1a1abecSDavid Hu CPU0: cpu@0 { 127d1a1abecSDavid Hu device_type = "cpu"; 128d1a1abecSDavid Hu compatible = "arm,cortex-a720ae"; 129d1a1abecSDavid Hu reg = <0x0 0x0>; 130d1a1abecSDavid Hu enable-method = "psci"; 131d1a1abecSDavid Hu i-cache-size = <0x10000>; 132d1a1abecSDavid Hu i-cache-line-size = <0x40>; 133d1a1abecSDavid Hu i-cache-sets = <0x100>; 134d1a1abecSDavid Hu d-cache-size = <0x10000>; 135d1a1abecSDavid Hu d-cache-line-size = <0x40>; 136d1a1abecSDavid Hu d-cache-sets = <0x100>; 137b0a8c52eSAmr Mohamed next-level-cache = <&CL0_L2_0>; 138b0a8c52eSAmr Mohamed CL0_L2_0: l2-cache0 { 139b0a8c52eSAmr Mohamed compatible = "cache"; 140b0a8c52eSAmr Mohamed cache-level = <0x02>; 141b0a8c52eSAmr Mohamed /* 512KB */ 142b0a8c52eSAmr Mohamed cache-size = <0x80000>; 143b0a8c52eSAmr Mohamed /* 64B */ 144b0a8c52eSAmr Mohamed cache-line-size = <0x40>; 145b0a8c52eSAmr Mohamed /* 8-way set */ 146b0a8c52eSAmr Mohamed cache-sets = <0x400>; 147b0a8c52eSAmr Mohamed next-level-cache = <&CL0_L3>; 148b0a8c52eSAmr Mohamed }; 149d1a1abecSDavid Hu }; 150d1a1abecSDavid Hu 151d1a1abecSDavid Hu CPU1: cpu@100 { 152d1a1abecSDavid Hu device_type = "cpu"; 153d1a1abecSDavid Hu compatible = "arm,cortex-a720ae"; 154d1a1abecSDavid Hu reg = <0x0 0x100>; 155d1a1abecSDavid Hu enable-method = "psci"; 156d1a1abecSDavid Hu i-cache-size = <0x10000>; 157d1a1abecSDavid Hu i-cache-line-size = <0x40>; 158d1a1abecSDavid Hu i-cache-sets = <0x100>; 159d1a1abecSDavid Hu d-cache-size = <0x10000>; 160d1a1abecSDavid Hu d-cache-line-size = <0x40>; 161d1a1abecSDavid Hu d-cache-sets = <0x100>; 162b0a8c52eSAmr Mohamed next-level-cache = <&CL0_L2_1>; 163b0a8c52eSAmr Mohamed CL0_L2_1: l2-cache1 { 164b0a8c52eSAmr Mohamed compatible = "cache"; 165b0a8c52eSAmr Mohamed cache-level = <0x02>; 166b0a8c52eSAmr Mohamed /* 512KB */ 167b0a8c52eSAmr Mohamed cache-size = <0x80000>; 168b0a8c52eSAmr Mohamed /* 64B */ 169b0a8c52eSAmr Mohamed cache-line-size = <0x40>; 170b0a8c52eSAmr Mohamed /* 8-way set */ 171b0a8c52eSAmr Mohamed cache-sets = <0x400>; 172b0a8c52eSAmr Mohamed next-level-cache = <&CL0_L3>; 173b0a8c52eSAmr Mohamed }; 174d1a1abecSDavid Hu }; 175d1a1abecSDavid Hu 176d1a1abecSDavid Hu CPU2: cpu@200 { 177d1a1abecSDavid Hu device_type = "cpu"; 178d1a1abecSDavid Hu compatible = "arm,cortex-a720ae"; 179d1a1abecSDavid Hu reg = <0x0 0x200>; 180d1a1abecSDavid Hu enable-method = "psci"; 181d1a1abecSDavid Hu i-cache-size = <0x10000>; 182d1a1abecSDavid Hu i-cache-line-size = <0x40>; 183d1a1abecSDavid Hu i-cache-sets = <0x100>; 184d1a1abecSDavid Hu d-cache-size = <0x10000>; 185d1a1abecSDavid Hu d-cache-line-size = <0x40>; 186d1a1abecSDavid Hu d-cache-sets = <0x100>; 187b0a8c52eSAmr Mohamed next-level-cache = <&CL0_L2_2>; 188b0a8c52eSAmr Mohamed CL0_L2_2: l2-cache2 { 189b0a8c52eSAmr Mohamed compatible = "cache"; 190b0a8c52eSAmr Mohamed cache-level = <0x02>; 191b0a8c52eSAmr Mohamed /* 512KB */ 192b0a8c52eSAmr Mohamed cache-size = <0x80000>; 193b0a8c52eSAmr Mohamed /* 64B */ 194b0a8c52eSAmr Mohamed cache-line-size = <0x40>; 195b0a8c52eSAmr Mohamed /* 8-way set */ 196b0a8c52eSAmr Mohamed cache-sets = <0x400>; 197b0a8c52eSAmr Mohamed next-level-cache = <&CL0_L3>; 198b0a8c52eSAmr Mohamed }; 199d1a1abecSDavid Hu }; 200d1a1abecSDavid Hu 201d1a1abecSDavid Hu CPU3: cpu@300 { 202d1a1abecSDavid Hu device_type = "cpu"; 203d1a1abecSDavid Hu compatible = "arm,cortex-a720ae"; 204d1a1abecSDavid Hu reg = <0x0 0x300>; 205d1a1abecSDavid Hu enable-method = "psci"; 206d1a1abecSDavid Hu i-cache-size = <0x10000>; 207d1a1abecSDavid Hu i-cache-line-size = <0x40>; 208d1a1abecSDavid Hu i-cache-sets = <0x100>; 209d1a1abecSDavid Hu d-cache-size = <0x10000>; 210d1a1abecSDavid Hu d-cache-line-size = <0x40>; 211d1a1abecSDavid Hu d-cache-sets = <0x100>; 212b0a8c52eSAmr Mohamed next-level-cache = <&CL0_L2_3>; 213b0a8c52eSAmr Mohamed CL0_L2_3: l2-cache3 { 214b0a8c52eSAmr Mohamed compatible = "cache"; 215b0a8c52eSAmr Mohamed cache-level = <0x02>; 216b0a8c52eSAmr Mohamed /* 512KB */ 217b0a8c52eSAmr Mohamed cache-size = <0x80000>; 218b0a8c52eSAmr Mohamed /* 64B */ 219b0a8c52eSAmr Mohamed cache-line-size = <0x40>; 220b0a8c52eSAmr Mohamed /* 8-way set */ 221b0a8c52eSAmr Mohamed cache-sets = <0x400>; 222b0a8c52eSAmr Mohamed next-level-cache = <&CL0_L3>; 223b0a8c52eSAmr Mohamed }; 224d1a1abecSDavid Hu }; 225d1a1abecSDavid Hu 226d1a1abecSDavid Hu CPU4: cpu@10000 { 227d1a1abecSDavid Hu device_type = "cpu"; 228d1a1abecSDavid Hu compatible = "arm,cortex-a720ae"; 229d1a1abecSDavid Hu reg = <0x0 0x10000>; 230d1a1abecSDavid Hu enable-method = "psci"; 231d1a1abecSDavid Hu i-cache-size = <0x10000>; 232d1a1abecSDavid Hu i-cache-line-size = <0x40>; 233d1a1abecSDavid Hu i-cache-sets = <0x100>; 234d1a1abecSDavid Hu d-cache-size = <0x10000>; 235d1a1abecSDavid Hu d-cache-line-size = <0x40>; 236d1a1abecSDavid Hu d-cache-sets = <0x100>; 237b0a8c52eSAmr Mohamed next-level-cache = <&CL1_L2_0>; 238b0a8c52eSAmr Mohamed CL1_L2_0: l2-cache4 { 239b0a8c52eSAmr Mohamed compatible = "cache"; 240b0a8c52eSAmr Mohamed cache-level = <0x02>; 241b0a8c52eSAmr Mohamed /* 512KB */ 242b0a8c52eSAmr Mohamed cache-size = <0x80000>; 243b0a8c52eSAmr Mohamed /* 64B */ 244b0a8c52eSAmr Mohamed cache-line-size = <0x40>; 245b0a8c52eSAmr Mohamed /* 8-way set */ 246b0a8c52eSAmr Mohamed cache-sets = <0x400>; 247b0a8c52eSAmr Mohamed next-level-cache = <&CL1_L3>; 248b0a8c52eSAmr Mohamed }; 249d1a1abecSDavid Hu }; 250d1a1abecSDavid Hu 251d1a1abecSDavid Hu CPU5: cpu@10100 { 252d1a1abecSDavid Hu device_type = "cpu"; 253d1a1abecSDavid Hu compatible = "arm,cortex-a720ae"; 254d1a1abecSDavid Hu reg = <0x0 0x10100>; 255d1a1abecSDavid Hu enable-method = "psci"; 256d1a1abecSDavid Hu i-cache-size = <0x10000>; 257d1a1abecSDavid Hu i-cache-line-size = <0x40>; 258d1a1abecSDavid Hu i-cache-sets = <0x100>; 259d1a1abecSDavid Hu d-cache-size = <0x10000>; 260d1a1abecSDavid Hu d-cache-line-size = <0x40>; 261d1a1abecSDavid Hu d-cache-sets = <0x100>; 262b0a8c52eSAmr Mohamed next-level-cache = <&CL1_L2_1>; 263b0a8c52eSAmr Mohamed CL1_L2_1: l2-cache5 { 264b0a8c52eSAmr Mohamed compatible = "cache"; 265b0a8c52eSAmr Mohamed cache-level = <0x02>; 266b0a8c52eSAmr Mohamed /* 512KB */ 267b0a8c52eSAmr Mohamed cache-size = <0x80000>; 268b0a8c52eSAmr Mohamed /* 64B */ 269b0a8c52eSAmr Mohamed cache-line-size = <0x40>; 270b0a8c52eSAmr Mohamed /* 8-way set */ 271b0a8c52eSAmr Mohamed cache-sets = <0x400>; 272b0a8c52eSAmr Mohamed next-level-cache = <&CL1_L3>; 273b0a8c52eSAmr Mohamed }; 274d1a1abecSDavid Hu }; 275d1a1abecSDavid Hu 276d1a1abecSDavid Hu CPU6: cpu@10200 { 277d1a1abecSDavid Hu device_type = "cpu"; 278d1a1abecSDavid Hu compatible = "arm,cortex-a720ae"; 279d1a1abecSDavid Hu reg = <0x0 0x10200>; 280d1a1abecSDavid Hu enable-method = "psci"; 281d1a1abecSDavid Hu i-cache-size = <0x10000>; 282d1a1abecSDavid Hu i-cache-line-size = <0x40>; 283d1a1abecSDavid Hu i-cache-sets = <0x100>; 284d1a1abecSDavid Hu d-cache-size = <0x10000>; 285d1a1abecSDavid Hu d-cache-line-size = <0x40>; 286d1a1abecSDavid Hu d-cache-sets = <0x100>; 287b0a8c52eSAmr Mohamed next-level-cache = <&CL1_L2_2>; 288b0a8c52eSAmr Mohamed CL1_L2_2: l2-cache6 { 289b0a8c52eSAmr Mohamed compatible = "cache"; 290b0a8c52eSAmr Mohamed cache-level = <0x02>; 291b0a8c52eSAmr Mohamed /* 512KB */ 292b0a8c52eSAmr Mohamed cache-size = <0x80000>; 293b0a8c52eSAmr Mohamed /* 64B */ 294b0a8c52eSAmr Mohamed cache-line-size = <0x40>; 295b0a8c52eSAmr Mohamed /* 8-way set */ 296b0a8c52eSAmr Mohamed cache-sets = <0x400>; 297b0a8c52eSAmr Mohamed next-level-cache = <&CL1_L3>; 298b0a8c52eSAmr Mohamed }; 299d1a1abecSDavid Hu }; 300d1a1abecSDavid Hu 301d1a1abecSDavid Hu CPU7: cpu@10300 { 302d1a1abecSDavid Hu device_type = "cpu"; 303d1a1abecSDavid Hu compatible = "arm,cortex-a720ae"; 304d1a1abecSDavid Hu reg = <0x0 0x10300>; 305d1a1abecSDavid Hu enable-method = "psci"; 306d1a1abecSDavid Hu i-cache-size = <0x10000>; 307d1a1abecSDavid Hu i-cache-line-size = <0x40>; 308d1a1abecSDavid Hu i-cache-sets = <0x100>; 309d1a1abecSDavid Hu d-cache-size = <0x10000>; 310d1a1abecSDavid Hu d-cache-line-size = <0x40>; 311d1a1abecSDavid Hu d-cache-sets = <0x100>; 312b0a8c52eSAmr Mohamed next-level-cache = <&CL1_L2_3>; 313b0a8c52eSAmr Mohamed CL1_L2_3: l2-cache7 { 314b0a8c52eSAmr Mohamed compatible = "cache"; 315b0a8c52eSAmr Mohamed cache-level = <0x02>; 316b0a8c52eSAmr Mohamed /* 512KB */ 317b0a8c52eSAmr Mohamed cache-size = <0x80000>; 318b0a8c52eSAmr Mohamed /* 64B */ 319b0a8c52eSAmr Mohamed cache-line-size = <0x40>; 320b0a8c52eSAmr Mohamed /* 8-way set */ 321b0a8c52eSAmr Mohamed cache-sets = <0x400>; 322b0a8c52eSAmr Mohamed next-level-cache = <&CL1_L3>; 323b0a8c52eSAmr Mohamed }; 324d1a1abecSDavid Hu }; 325d1a1abecSDavid Hu 326d1a1abecSDavid Hu CPU8: cpu@20000 { 327d1a1abecSDavid Hu device_type = "cpu"; 328d1a1abecSDavid Hu compatible = "arm,cortex-a720ae"; 329d1a1abecSDavid Hu reg = <0x0 0x20000>; 330d1a1abecSDavid Hu enable-method = "psci"; 331d1a1abecSDavid Hu i-cache-size = <0x10000>; 332d1a1abecSDavid Hu i-cache-line-size = <0x40>; 333d1a1abecSDavid Hu i-cache-sets = <0x100>; 334d1a1abecSDavid Hu d-cache-size = <0x10000>; 335d1a1abecSDavid Hu d-cache-line-size = <0x40>; 336d1a1abecSDavid Hu d-cache-sets = <0x100>; 337b0a8c52eSAmr Mohamed next-level-cache = <&CL2_L2_0>; 338b0a8c52eSAmr Mohamed CL2_L2_0: l2-cache8 { 339b0a8c52eSAmr Mohamed compatible = "cache"; 340b0a8c52eSAmr Mohamed cache-level = <0x02>; 341b0a8c52eSAmr Mohamed /* 512KB */ 342b0a8c52eSAmr Mohamed cache-size = <0x80000>; 343b0a8c52eSAmr Mohamed /* 64B */ 344b0a8c52eSAmr Mohamed cache-line-size = <0x40>; 345b0a8c52eSAmr Mohamed /* 8-way set */ 346b0a8c52eSAmr Mohamed cache-sets = <0x400>; 347b0a8c52eSAmr Mohamed next-level-cache = <&CL2_L3>; 348b0a8c52eSAmr Mohamed }; 349d1a1abecSDavid Hu }; 350d1a1abecSDavid Hu 351d1a1abecSDavid Hu CPU9: cpu@20100 { 352d1a1abecSDavid Hu device_type = "cpu"; 353d1a1abecSDavid Hu compatible = "arm,cortex-a720ae"; 354d1a1abecSDavid Hu reg = <0x0 0x20100>; 355d1a1abecSDavid Hu enable-method = "psci"; 356d1a1abecSDavid Hu i-cache-size = <0x10000>; 357d1a1abecSDavid Hu i-cache-line-size = <0x40>; 358d1a1abecSDavid Hu i-cache-sets = <0x100>; 359d1a1abecSDavid Hu d-cache-size = <0x10000>; 360d1a1abecSDavid Hu d-cache-line-size = <0x40>; 361d1a1abecSDavid Hu d-cache-sets = <0x100>; 362b0a8c52eSAmr Mohamed next-level-cache = <&CL2_L2_1>; 363b0a8c52eSAmr Mohamed CL2_L2_1: l2-cache9 { 364b0a8c52eSAmr Mohamed compatible = "cache"; 365b0a8c52eSAmr Mohamed cache-level = <0x02>; 366b0a8c52eSAmr Mohamed /* 512KB */ 367b0a8c52eSAmr Mohamed cache-size = <0x80000>; 368b0a8c52eSAmr Mohamed /* 64B */ 369b0a8c52eSAmr Mohamed cache-line-size = <0x40>; 370b0a8c52eSAmr Mohamed /* 8-way set */ 371b0a8c52eSAmr Mohamed cache-sets = <0x400>; 372b0a8c52eSAmr Mohamed next-level-cache = <&CL2_L3>; 373b0a8c52eSAmr Mohamed }; 374d1a1abecSDavid Hu }; 375d1a1abecSDavid Hu 376d1a1abecSDavid Hu CPU10: cpu@20200 { 377d1a1abecSDavid Hu device_type = "cpu"; 378d1a1abecSDavid Hu compatible = "arm,cortex-a720ae"; 379d1a1abecSDavid Hu reg = <0x0 0x20200>; 380d1a1abecSDavid Hu enable-method = "psci"; 381d1a1abecSDavid Hu i-cache-size = <0x10000>; 382d1a1abecSDavid Hu i-cache-line-size = <0x40>; 383d1a1abecSDavid Hu i-cache-sets = <0x100>; 384d1a1abecSDavid Hu d-cache-size = <0x10000>; 385d1a1abecSDavid Hu d-cache-line-size = <0x40>; 386d1a1abecSDavid Hu d-cache-sets = <0x100>; 387b0a8c52eSAmr Mohamed next-level-cache = <&CL2_L2_2>; 388b0a8c52eSAmr Mohamed CL2_L2_2: l2-cache10 { 389b0a8c52eSAmr Mohamed compatible = "cache"; 390b0a8c52eSAmr Mohamed cache-level = <0x02>; 391b0a8c52eSAmr Mohamed /* 512KB */ 392b0a8c52eSAmr Mohamed cache-size = <0x80000>; 393b0a8c52eSAmr Mohamed /* 64B */ 394b0a8c52eSAmr Mohamed cache-line-size = <0x40>; 395b0a8c52eSAmr Mohamed /* 8-way set */ 396b0a8c52eSAmr Mohamed cache-sets = <0x400>; 397b0a8c52eSAmr Mohamed next-level-cache = <&CL2_L3>; 398b0a8c52eSAmr Mohamed }; 399d1a1abecSDavid Hu }; 400d1a1abecSDavid Hu 401d1a1abecSDavid Hu CPU11: cpu@20300 { 402d1a1abecSDavid Hu device_type = "cpu"; 403d1a1abecSDavid Hu compatible = "arm,cortex-a720ae"; 404d1a1abecSDavid Hu reg = <0x0 0x20300>; 405d1a1abecSDavid Hu enable-method = "psci"; 406d1a1abecSDavid Hu i-cache-size = <0x10000>; 407d1a1abecSDavid Hu i-cache-line-size = <0x40>; 408d1a1abecSDavid Hu i-cache-sets = <0x100>; 409d1a1abecSDavid Hu d-cache-size = <0x10000>; 410d1a1abecSDavid Hu d-cache-line-size = <0x40>; 411d1a1abecSDavid Hu d-cache-sets = <0x100>; 412b0a8c52eSAmr Mohamed next-level-cache = <&CL2_L2_3>; 413b0a8c52eSAmr Mohamed CL2_L2_3: l2-cache11 { 414b0a8c52eSAmr Mohamed compatible = "cache"; 415b0a8c52eSAmr Mohamed cache-level = <0x02>; 416b0a8c52eSAmr Mohamed /* 512KB */ 417b0a8c52eSAmr Mohamed cache-size = <0x80000>; 418b0a8c52eSAmr Mohamed /* 64B */ 419b0a8c52eSAmr Mohamed cache-line-size = <0x40>; 420b0a8c52eSAmr Mohamed /* 8-way set */ 421b0a8c52eSAmr Mohamed cache-sets = <0x400>; 422b0a8c52eSAmr Mohamed next-level-cache = <&CL2_L3>; 423b0a8c52eSAmr Mohamed }; 424d1a1abecSDavid Hu }; 425d1a1abecSDavid Hu 426d1a1abecSDavid Hu CPU12: cpu@30000 { 427d1a1abecSDavid Hu device_type = "cpu"; 428d1a1abecSDavid Hu compatible = "arm,cortex-a720ae"; 429d1a1abecSDavid Hu reg = <0x0 0x30000>; 430d1a1abecSDavid Hu enable-method = "psci"; 431d1a1abecSDavid Hu i-cache-size = <0x10000>; 432d1a1abecSDavid Hu i-cache-line-size = <0x40>; 433d1a1abecSDavid Hu i-cache-sets = <0x100>; 434d1a1abecSDavid Hu d-cache-size = <0x10000>; 435d1a1abecSDavid Hu d-cache-line-size = <0x40>; 436d1a1abecSDavid Hu d-cache-sets = <0x100>; 437b0a8c52eSAmr Mohamed next-level-cache = <&CL3_L2_0>; 438b0a8c52eSAmr Mohamed CL3_L2_0: l2-cache12 { 439b0a8c52eSAmr Mohamed compatible = "cache"; 440b0a8c52eSAmr Mohamed cache-level = <0x02>; 441b0a8c52eSAmr Mohamed /* 512KB */ 442b0a8c52eSAmr Mohamed cache-size = <0x80000>; 443b0a8c52eSAmr Mohamed /* 64B */ 444b0a8c52eSAmr Mohamed cache-line-size = <0x40>; 445b0a8c52eSAmr Mohamed /* 8-way set */ 446b0a8c52eSAmr Mohamed cache-sets = <0x400>; 447b0a8c52eSAmr Mohamed next-level-cache = <&CL3_L3>; 448b0a8c52eSAmr Mohamed }; 449d1a1abecSDavid Hu }; 450d1a1abecSDavid Hu 451d1a1abecSDavid Hu CPU13: cpu@30100 { 452d1a1abecSDavid Hu device_type = "cpu"; 453d1a1abecSDavid Hu compatible = "arm,cortex-a720ae"; 454d1a1abecSDavid Hu reg = <0x0 0x30100>; 455d1a1abecSDavid Hu enable-method = "psci"; 456d1a1abecSDavid Hu i-cache-size = <0x10000>; 457d1a1abecSDavid Hu i-cache-line-size = <0x40>; 458d1a1abecSDavid Hu i-cache-sets = <0x100>; 459d1a1abecSDavid Hu d-cache-size = <0x10000>; 460d1a1abecSDavid Hu d-cache-line-size = <0x40>; 461d1a1abecSDavid Hu d-cache-sets = <0x100>; 462b0a8c52eSAmr Mohamed next-level-cache = <&CL3_L2_1>; 463b0a8c52eSAmr Mohamed CL3_L2_1: l2-cache13 { 464b0a8c52eSAmr Mohamed compatible = "cache"; 465b0a8c52eSAmr Mohamed cache-level = <0x02>; 466b0a8c52eSAmr Mohamed /* 512KB */ 467b0a8c52eSAmr Mohamed cache-size = <0x80000>; 468b0a8c52eSAmr Mohamed /* 64B */ 469b0a8c52eSAmr Mohamed cache-line-size = <0x40>; 470b0a8c52eSAmr Mohamed /* 8-way set */ 471b0a8c52eSAmr Mohamed cache-sets = <0x400>; 472b0a8c52eSAmr Mohamed next-level-cache = <&CL3_L3>; 473b0a8c52eSAmr Mohamed }; 474d1a1abecSDavid Hu }; 475d1a1abecSDavid Hu 476d1a1abecSDavid Hu CPU14: cpu@30200 { 477d1a1abecSDavid Hu device_type = "cpu"; 478d1a1abecSDavid Hu compatible = "arm,cortex-a720ae"; 479d1a1abecSDavid Hu reg = <0x0 0x30200>; 480d1a1abecSDavid Hu enable-method = "psci"; 481d1a1abecSDavid Hu i-cache-size = <0x10000>; 482d1a1abecSDavid Hu i-cache-line-size = <0x40>; 483d1a1abecSDavid Hu i-cache-sets = <0x100>; 484d1a1abecSDavid Hu d-cache-size = <0x10000>; 485d1a1abecSDavid Hu d-cache-line-size = <0x40>; 486d1a1abecSDavid Hu d-cache-sets = <0x100>; 487b0a8c52eSAmr Mohamed next-level-cache = <&CL3_L2_2>; 488b0a8c52eSAmr Mohamed CL3_L2_2: l2-cache14 { 489b0a8c52eSAmr Mohamed compatible = "cache"; 490b0a8c52eSAmr Mohamed cache-level = <0x02>; 491b0a8c52eSAmr Mohamed /* 512KB */ 492b0a8c52eSAmr Mohamed cache-size = <0x80000>; 493b0a8c52eSAmr Mohamed /* 64B */ 494b0a8c52eSAmr Mohamed cache-line-size = <0x40>; 495b0a8c52eSAmr Mohamed /* 8-way set */ 496b0a8c52eSAmr Mohamed cache-sets = <0x400>; 497b0a8c52eSAmr Mohamed next-level-cache = <&CL3_L3>; 498b0a8c52eSAmr Mohamed }; 499d1a1abecSDavid Hu }; 500d1a1abecSDavid Hu 501d1a1abecSDavid Hu CPU15: cpu@30300 { 502d1a1abecSDavid Hu device_type = "cpu"; 503d1a1abecSDavid Hu compatible = "arm,cortex-a720ae"; 504d1a1abecSDavid Hu reg = <0x0 0x30300>; 505d1a1abecSDavid Hu enable-method = "psci"; 506d1a1abecSDavid Hu i-cache-size = <0x10000>; 507d1a1abecSDavid Hu i-cache-line-size = <0x40>; 508d1a1abecSDavid Hu i-cache-sets = <0x100>; 509d1a1abecSDavid Hu d-cache-size = <0x10000>; 510d1a1abecSDavid Hu d-cache-line-size = <0x40>; 511d1a1abecSDavid Hu d-cache-sets = <0x100>; 512b0a8c52eSAmr Mohamed next-level-cache = <&CL3_L2_3>; 513b0a8c52eSAmr Mohamed CL3_L2_3: l2-cache15 { 514b0a8c52eSAmr Mohamed compatible = "cache"; 515b0a8c52eSAmr Mohamed cache-level = <0x02>; 516b0a8c52eSAmr Mohamed /* 512KB */ 517b0a8c52eSAmr Mohamed cache-size = <0x80000>; 518b0a8c52eSAmr Mohamed /* 64B */ 519b0a8c52eSAmr Mohamed cache-line-size = <0x40>; 520b0a8c52eSAmr Mohamed /* 8-way set */ 521b0a8c52eSAmr Mohamed cache-sets = <0x400>; 522b0a8c52eSAmr Mohamed next-level-cache = <&CL3_L3>; 523d1a1abecSDavid Hu }; 524d1a1abecSDavid Hu }; 525b0a8c52eSAmr Mohamed }; 526b0a8c52eSAmr Mohamed 527b0a8c52eSAmr Mohamed dsu-pmu-0 { 528b0a8c52eSAmr Mohamed compatible = "arm,dsu-pmu"; 529b0a8c52eSAmr Mohamed cpus = <&CPU0>, <&CPU1>, <&CPU2>, <&CPU3>; 530b0a8c52eSAmr Mohamed interrupts = <GIC_SPI 216 IRQ_TYPE_EDGE_RISING>; 531b0a8c52eSAmr Mohamed }; 532b0a8c52eSAmr Mohamed 533b0a8c52eSAmr Mohamed dsu-pmu-1 { 534b0a8c52eSAmr Mohamed compatible = "arm,dsu-pmu"; 535b0a8c52eSAmr Mohamed cpus = <&CPU4>, <&CPU5>, <&CPU6>, <&CPU7>; 536b0a8c52eSAmr Mohamed interrupts = <GIC_SPI 217 IRQ_TYPE_EDGE_RISING>; 537b0a8c52eSAmr Mohamed }; 538b0a8c52eSAmr Mohamed 539b0a8c52eSAmr Mohamed dsu-pmu-2 { 540b0a8c52eSAmr Mohamed compatible = "arm,dsu-pmu"; 541b0a8c52eSAmr Mohamed cpus = <&CPU8>, <&CPU9>, <&CPU10>, <&CPU11>; 542b0a8c52eSAmr Mohamed interrupts = <GIC_SPI 218 IRQ_TYPE_EDGE_RISING>; 543b0a8c52eSAmr Mohamed }; 544b0a8c52eSAmr Mohamed 545b0a8c52eSAmr Mohamed dsu-pmu-3 { 546b0a8c52eSAmr Mohamed compatible = "arm,dsu-pmu"; 547b0a8c52eSAmr Mohamed cpus = <&CPU12>, <&CPU13>, <&CPU14>, <&CPU15>; 548b0a8c52eSAmr Mohamed interrupts = <GIC_SPI 219 IRQ_TYPE_EDGE_RISING>; 549b0a8c52eSAmr Mohamed }; 550d1a1abecSDavid Hu 551d1a1abecSDavid Hu memory@80000000 { 552d1a1abecSDavid Hu device_type = "memory"; 553d1a1abecSDavid Hu 554d1a1abecSDavid Hu /* Bank 0: start = 0x0000_0000_8000_0000, size = ~2 GiB (0x7F00_0000) */ 555d1a1abecSDavid Hu /* Bank 1: start = 0x0000_0200_0000_0000, size = 2 GiB (0x8000_0000) */ 556d1a1abecSDavid Hu reg = < 557d1a1abecSDavid Hu 0x00000000 0x80000000 0x00000000 0x7F000000 558d1a1abecSDavid Hu 0x00000200 0x00000000 0x00000000 0x80000000 559d1a1abecSDavid Hu >; 560d1a1abecSDavid Hu }; 561d1a1abecSDavid Hu 562d1a1abecSDavid Hu timer { 563d1a1abecSDavid Hu compatible = "arm,armv8-timer"; 564d1a1abecSDavid Hu interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>, 565d1a1abecSDavid Hu <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>, 566d1a1abecSDavid Hu <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>, 567d1a1abecSDavid Hu <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>, 568d1a1abecSDavid Hu <GIC_PPI 12 IRQ_TYPE_LEVEL_LOW>; 569d1a1abecSDavid Hu }; 570d1a1abecSDavid Hu 571d1a1abecSDavid Hu soc_clk24mhz: clk24mhz { 572d1a1abecSDavid Hu compatible = "fixed-clock"; 573d1a1abecSDavid Hu #clock-cells = <0>; 574d1a1abecSDavid Hu clock-frequency = <24000000>; 575d1a1abecSDavid Hu clock-output-names = "refclk24mhz"; 576d1a1abecSDavid Hu }; 577d1a1abecSDavid Hu 578d1a1abecSDavid Hu soc { 579d1a1abecSDavid Hu compatible = "simple-bus"; 580d1a1abecSDavid Hu #address-cells = <2>; 581d1a1abecSDavid Hu #size-cells = <2>; 582d1a1abecSDavid Hu ranges; 583d1a1abecSDavid Hu 584d1a1abecSDavid Hu timer@1a810000 { 585d1a1abecSDavid Hu compatible = "arm,armv7-timer-mem"; 586d1a1abecSDavid Hu reg = <0x0 0x1a810000 0 0x10000>; 587*6fb6bee1SAhmed Azeem #address-cells = <1>; 588*6fb6bee1SAhmed Azeem #size-cells = <1>; 589*6fb6bee1SAhmed Azeem /* Map child space [0x0..0x30000) to parent @ 0x1a810000 */ 590*6fb6bee1SAhmed Azeem ranges = <0x0 0x0 0x1a810000 0x00030000>; 591d1a1abecSDavid Hu 592*6fb6bee1SAhmed Azeem frame@20000 { 593d1a1abecSDavid Hu frame-number = <1>; 594d1a1abecSDavid Hu interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>; 595*6fb6bee1SAhmed Azeem reg = <0x20000 0x10000>; 596d1a1abecSDavid Hu }; 597d1a1abecSDavid Hu }; 598d1a1abecSDavid Hu 599d1a1abecSDavid Hu gic: interrupt-controller@20000000 { 600d1a1abecSDavid Hu compatible = "arm,gic-v3"; 601d1a1abecSDavid Hu reg = <0x0 0x20000000 0x0 0x10000>, /* GICD */ 602d1a1abecSDavid Hu <0x0 0x200c0000 0x0 0x400000>; /* 16 * GICR */ 603d1a1abecSDavid Hu #interrupt-cells = <3>; 604d1a1abecSDavid Hu #address-cells = <2>; 605d1a1abecSDavid Hu #size-cells = <2>; 606d1a1abecSDavid Hu ranges; 607d1a1abecSDavid Hu interrupt-controller; 608d1a1abecSDavid Hu interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>; 609d1a1abecSDavid Hu 610d1a1abecSDavid Hu its1: msi-controller@20040000 { 611d1a1abecSDavid Hu compatible = "arm,gic-v3-its"; 612d1a1abecSDavid Hu reg = <0x0 0x20040000 0x0 0x40000>; 613d1a1abecSDavid Hu msi-controller; 614d1a1abecSDavid Hu #msi-cells = <1>; 615d1a1abecSDavid Hu }; 616d1a1abecSDavid Hu its2: msi-controller@20080000 { 617d1a1abecSDavid Hu compatible = "arm,gic-v3-its"; 618d1a1abecSDavid Hu reg = <0x0 0x20080000 0x0 0x40000>; 619d1a1abecSDavid Hu msi-controller; 620d1a1abecSDavid Hu #msi-cells = <1>; 621d1a1abecSDavid Hu }; 622d1a1abecSDavid Hu }; 623d1a1abecSDavid Hu 624d1a1abecSDavid Hu /* UART is fixed as 24MHz, both UARTCLK and PCLK */ 625d1a1abecSDavid Hu soc_serial0: serial@1a400000 { 626d1a1abecSDavid Hu compatible = "arm,pl011", "arm,primecell"; 627d1a1abecSDavid Hu reg = <0x0 0x1a400000 0x0 0x10000>; 628d1a1abecSDavid Hu interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>; 629d1a1abecSDavid Hu clocks = <&soc_clk24mhz>, <&soc_clk24mhz>; 630d1a1abecSDavid Hu clock-names = "uartclk", "apb_pclk"; 631d1a1abecSDavid Hu }; 632d1a1abecSDavid Hu 633d1a1abecSDavid Hu watchdog@1a420000 { 634d1a1abecSDavid Hu compatible = "arm,sbsa-gwdt"; 635d1a1abecSDavid Hu reg = <0x0 0x1a420000 0x0 0x10000>, 636d1a1abecSDavid Hu <0x0 0x1a430000 0x0 0x10000>; 637d1a1abecSDavid Hu interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>; 638d1a1abecSDavid Hu }; 639d1a1abecSDavid Hu 640d1a1abecSDavid Hu rtc@300d0000 { 641d1a1abecSDavid Hu compatible = "arm,pl031", "arm,primecell"; 642d1a1abecSDavid Hu reg = <0x0 0x300d0000 0x0 0x10000>; 643d1a1abecSDavid Hu interrupts = <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>; 644d1a1abecSDavid Hu clocks = <&soc_clk24mhz>; 645d1a1abecSDavid Hu clock-names = "apb_pclk"; 646d1a1abecSDavid Hu }; 647d1a1abecSDavid Hu 648d1a1abecSDavid Hu virtio-net@30060000 { 649d1a1abecSDavid Hu compatible = "virtio,mmio"; 650d1a1abecSDavid Hu reg = <0x0 0x30060000 0x0 0x10000>; 651d1a1abecSDavid Hu interrupts = <GIC_SPI 261 IRQ_TYPE_LEVEL_HIGH>; 652d1a1abecSDavid Hu }; 653d1a1abecSDavid Hu 654d1a1abecSDavid Hu /* OS storage */ 655d1a1abecSDavid Hu virtio-block@30020000 { 656d1a1abecSDavid Hu compatible = "virtio,mmio"; 657d1a1abecSDavid Hu reg = <0x0 0x30020000 0x0 0x10000>; 658d1a1abecSDavid Hu interrupts = <GIC_SPI 257 IRQ_TYPE_LEVEL_HIGH>; 659d1a1abecSDavid Hu }; 660d1a1abecSDavid Hu 661d1a1abecSDavid Hu /* Distro installation media */ 662d1a1abecSDavid Hu virtio-block@30030000 { 663d1a1abecSDavid Hu compatible = "virtio,mmio"; 664d1a1abecSDavid Hu reg = <0x0 0x30030000 0x0 0x10000>; 665d1a1abecSDavid Hu interrupts = <GIC_SPI 258 IRQ_TYPE_LEVEL_HIGH>; 666d1a1abecSDavid Hu }; 667d1a1abecSDavid Hu 668d1a1abecSDavid Hu /* SystemReady ACS validation media */ 669d1a1abecSDavid Hu virtio-block@30040000 { 670d1a1abecSDavid Hu compatible = "virtio,mmio"; 671d1a1abecSDavid Hu reg = <0x0 0x30040000 0x0 0x10000>; 672d1a1abecSDavid Hu interrupts = <GIC_SPI 259 IRQ_TYPE_LEVEL_HIGH>; 673d1a1abecSDavid Hu }; 674d1a1abecSDavid Hu 675d1a1abecSDavid Hu /* User data media */ 676d1a1abecSDavid Hu virtio-block@30050000 { 677d1a1abecSDavid Hu compatible = "virtio,mmio"; 678d1a1abecSDavid Hu reg = <0x0 0x30050000 0x0 0x10000>; 679d1a1abecSDavid Hu interrupts = <GIC_SPI 260 IRQ_TYPE_LEVEL_HIGH>; 680d1a1abecSDavid Hu }; 681d1a1abecSDavid Hu 682d1a1abecSDavid Hu virtio-rng@30080000 { 683d1a1abecSDavid Hu compatible = "virtio,mmio"; 684d1a1abecSDavid Hu reg = <0x0 0x30080000 0x0 0x10000>; 685d1a1abecSDavid Hu interrupts = <GIC_SPI 263 IRQ_TYPE_LEVEL_HIGH>; 686d1a1abecSDavid Hu }; 687d1a1abecSDavid Hu 688d1a1abecSDavid Hu }; 689d1a1abecSDavid Hu 690d1a1abecSDavid Hu psci { 691d1a1abecSDavid Hu compatible = "arm,psci-1.0", "arm,psci-0.2", "arm,psci"; 692d1a1abecSDavid Hu method = "smc"; 693d1a1abecSDavid Hu cpu_suspend = <0xc4000001>; 694d1a1abecSDavid Hu cpu_off = <0x84000002>; 695d1a1abecSDavid Hu cpu_on = <0xc4000003>; 696d1a1abecSDavid Hu }; 697d1a1abecSDavid Hu 698d1a1abecSDavid Hu}; 699