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 */ 27*b0a8c52eSAmr Mohamed cpu-map { 28*b0a8c52eSAmr Mohamed cluster0 { 29*b0a8c52eSAmr Mohamed core0 { 30*b0a8c52eSAmr Mohamed cpu = <&CPU0>; 31*b0a8c52eSAmr Mohamed }; 32*b0a8c52eSAmr Mohamed core1 { 33*b0a8c52eSAmr Mohamed cpu = <&CPU1>; 34*b0a8c52eSAmr Mohamed }; 35*b0a8c52eSAmr Mohamed core2 { 36*b0a8c52eSAmr Mohamed cpu = <&CPU2>; 37*b0a8c52eSAmr Mohamed }; 38*b0a8c52eSAmr Mohamed core3 { 39*b0a8c52eSAmr Mohamed cpu = <&CPU3>; 40*b0a8c52eSAmr Mohamed }; 41*b0a8c52eSAmr Mohamed CL0_L3: l3-cache0 { 42*b0a8c52eSAmr Mohamed compatible = "arm,dsu-l3-cache", "cache"; 43*b0a8c52eSAmr Mohamed cache-level = <0x03>; 44*b0a8c52eSAmr Mohamed /* 4MB */ 45*b0a8c52eSAmr Mohamed cache-size = <0x400000>; 46*b0a8c52eSAmr Mohamed /* 64B */ 47*b0a8c52eSAmr Mohamed cache-line-size = <0x40>; 48*b0a8c52eSAmr Mohamed /* 16-way set */ 49*b0a8c52eSAmr Mohamed cache-sets = <0x1000>; 50*b0a8c52eSAmr Mohamed }; 51*b0a8c52eSAmr Mohamed }; 52*b0a8c52eSAmr Mohamed cluster1 { 53*b0a8c52eSAmr Mohamed core0 { 54*b0a8c52eSAmr Mohamed cpu = <&CPU4>; 55*b0a8c52eSAmr Mohamed }; 56*b0a8c52eSAmr Mohamed core1 { 57*b0a8c52eSAmr Mohamed cpu = <&CPU5>; 58*b0a8c52eSAmr Mohamed }; 59*b0a8c52eSAmr Mohamed core2 { 60*b0a8c52eSAmr Mohamed cpu = <&CPU6>; 61*b0a8c52eSAmr Mohamed }; 62*b0a8c52eSAmr Mohamed core3 { 63*b0a8c52eSAmr Mohamed cpu = <&CPU7>; 64*b0a8c52eSAmr Mohamed }; 65*b0a8c52eSAmr Mohamed CL1_L3: l3-cache1 { 66*b0a8c52eSAmr Mohamed compatible = "arm,dsu-l3-cache", "cache"; 67*b0a8c52eSAmr Mohamed cache-level = <0x03>; 68*b0a8c52eSAmr Mohamed /* 4MB */ 69*b0a8c52eSAmr Mohamed cache-size = <0x400000>; 70*b0a8c52eSAmr Mohamed /* 64B */ 71*b0a8c52eSAmr Mohamed cache-line-size = <0x40>; 72*b0a8c52eSAmr Mohamed /* 16-way set */ 73*b0a8c52eSAmr Mohamed cache-sets = <0x1000>; 74*b0a8c52eSAmr Mohamed }; 75*b0a8c52eSAmr Mohamed }; 76*b0a8c52eSAmr Mohamed cluster2 { 77*b0a8c52eSAmr Mohamed core0 { 78*b0a8c52eSAmr Mohamed cpu = <&CPU8>; 79*b0a8c52eSAmr Mohamed }; 80*b0a8c52eSAmr Mohamed core1 { 81*b0a8c52eSAmr Mohamed cpu = <&CPU9>; 82*b0a8c52eSAmr Mohamed }; 83*b0a8c52eSAmr Mohamed core2 { 84*b0a8c52eSAmr Mohamed cpu = <&CPU10>; 85*b0a8c52eSAmr Mohamed }; 86*b0a8c52eSAmr Mohamed core3 { 87*b0a8c52eSAmr Mohamed cpu = <&CPU11>; 88*b0a8c52eSAmr Mohamed }; 89*b0a8c52eSAmr Mohamed CL2_L3: l3-cache2 { 90*b0a8c52eSAmr Mohamed compatible = "arm,dsu-l3-cache", "cache"; 91*b0a8c52eSAmr Mohamed cache-level = <0x03>; 92*b0a8c52eSAmr Mohamed /* 4MB */ 93*b0a8c52eSAmr Mohamed cache-size = <0x400000>; 94*b0a8c52eSAmr Mohamed /* 64B */ 95*b0a8c52eSAmr Mohamed cache-line-size = <0x40>; 96*b0a8c52eSAmr Mohamed /* 16-way set */ 97*b0a8c52eSAmr Mohamed cache-sets = <0x1000>; 98*b0a8c52eSAmr Mohamed }; 99*b0a8c52eSAmr Mohamed }; 100*b0a8c52eSAmr Mohamed cluster3 { 101*b0a8c52eSAmr Mohamed core0 { 102*b0a8c52eSAmr Mohamed cpu = <&CPU12>; 103*b0a8c52eSAmr Mohamed }; 104*b0a8c52eSAmr Mohamed core1 { 105*b0a8c52eSAmr Mohamed cpu = <&CPU13>; 106*b0a8c52eSAmr Mohamed }; 107*b0a8c52eSAmr Mohamed core2 { 108*b0a8c52eSAmr Mohamed cpu = <&CPU14>; 109*b0a8c52eSAmr Mohamed }; 110*b0a8c52eSAmr Mohamed core3 { 111*b0a8c52eSAmr Mohamed cpu = <&CPU15>; 112*b0a8c52eSAmr Mohamed }; 113*b0a8c52eSAmr Mohamed CL3_L3: l3-cache3 { 114*b0a8c52eSAmr Mohamed compatible = "arm,dsu-l3-cache", "cache"; 115*b0a8c52eSAmr Mohamed cache-level = <0x03>; 116*b0a8c52eSAmr Mohamed /* 4MB */ 117*b0a8c52eSAmr Mohamed cache-size = <0x400000>; 118*b0a8c52eSAmr Mohamed /* 64B */ 119*b0a8c52eSAmr Mohamed cache-line-size = <0x40>; 120*b0a8c52eSAmr Mohamed /* 16-way set */ 121*b0a8c52eSAmr Mohamed cache-sets = <0x1000>; 122*b0a8c52eSAmr Mohamed }; 123*b0a8c52eSAmr Mohamed }; 124*b0a8c52eSAmr Mohamed }; 125*b0a8c52eSAmr 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>; 137*b0a8c52eSAmr Mohamed next-level-cache = <&CL0_L2_0>; 138*b0a8c52eSAmr Mohamed CL0_L2_0: l2-cache0 { 139*b0a8c52eSAmr Mohamed compatible = "cache"; 140*b0a8c52eSAmr Mohamed cache-level = <0x02>; 141*b0a8c52eSAmr Mohamed /* 512KB */ 142*b0a8c52eSAmr Mohamed cache-size = <0x80000>; 143*b0a8c52eSAmr Mohamed /* 64B */ 144*b0a8c52eSAmr Mohamed cache-line-size = <0x40>; 145*b0a8c52eSAmr Mohamed /* 8-way set */ 146*b0a8c52eSAmr Mohamed cache-sets = <0x400>; 147*b0a8c52eSAmr Mohamed next-level-cache = <&CL0_L3>; 148*b0a8c52eSAmr 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>; 162*b0a8c52eSAmr Mohamed next-level-cache = <&CL0_L2_1>; 163*b0a8c52eSAmr Mohamed CL0_L2_1: l2-cache1 { 164*b0a8c52eSAmr Mohamed compatible = "cache"; 165*b0a8c52eSAmr Mohamed cache-level = <0x02>; 166*b0a8c52eSAmr Mohamed /* 512KB */ 167*b0a8c52eSAmr Mohamed cache-size = <0x80000>; 168*b0a8c52eSAmr Mohamed /* 64B */ 169*b0a8c52eSAmr Mohamed cache-line-size = <0x40>; 170*b0a8c52eSAmr Mohamed /* 8-way set */ 171*b0a8c52eSAmr Mohamed cache-sets = <0x400>; 172*b0a8c52eSAmr Mohamed next-level-cache = <&CL0_L3>; 173*b0a8c52eSAmr 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>; 187*b0a8c52eSAmr Mohamed next-level-cache = <&CL0_L2_2>; 188*b0a8c52eSAmr Mohamed CL0_L2_2: l2-cache2 { 189*b0a8c52eSAmr Mohamed compatible = "cache"; 190*b0a8c52eSAmr Mohamed cache-level = <0x02>; 191*b0a8c52eSAmr Mohamed /* 512KB */ 192*b0a8c52eSAmr Mohamed cache-size = <0x80000>; 193*b0a8c52eSAmr Mohamed /* 64B */ 194*b0a8c52eSAmr Mohamed cache-line-size = <0x40>; 195*b0a8c52eSAmr Mohamed /* 8-way set */ 196*b0a8c52eSAmr Mohamed cache-sets = <0x400>; 197*b0a8c52eSAmr Mohamed next-level-cache = <&CL0_L3>; 198*b0a8c52eSAmr 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>; 212*b0a8c52eSAmr Mohamed next-level-cache = <&CL0_L2_3>; 213*b0a8c52eSAmr Mohamed CL0_L2_3: l2-cache3 { 214*b0a8c52eSAmr Mohamed compatible = "cache"; 215*b0a8c52eSAmr Mohamed cache-level = <0x02>; 216*b0a8c52eSAmr Mohamed /* 512KB */ 217*b0a8c52eSAmr Mohamed cache-size = <0x80000>; 218*b0a8c52eSAmr Mohamed /* 64B */ 219*b0a8c52eSAmr Mohamed cache-line-size = <0x40>; 220*b0a8c52eSAmr Mohamed /* 8-way set */ 221*b0a8c52eSAmr Mohamed cache-sets = <0x400>; 222*b0a8c52eSAmr Mohamed next-level-cache = <&CL0_L3>; 223*b0a8c52eSAmr 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>; 237*b0a8c52eSAmr Mohamed next-level-cache = <&CL1_L2_0>; 238*b0a8c52eSAmr Mohamed CL1_L2_0: l2-cache4 { 239*b0a8c52eSAmr Mohamed compatible = "cache"; 240*b0a8c52eSAmr Mohamed cache-level = <0x02>; 241*b0a8c52eSAmr Mohamed /* 512KB */ 242*b0a8c52eSAmr Mohamed cache-size = <0x80000>; 243*b0a8c52eSAmr Mohamed /* 64B */ 244*b0a8c52eSAmr Mohamed cache-line-size = <0x40>; 245*b0a8c52eSAmr Mohamed /* 8-way set */ 246*b0a8c52eSAmr Mohamed cache-sets = <0x400>; 247*b0a8c52eSAmr Mohamed next-level-cache = <&CL1_L3>; 248*b0a8c52eSAmr 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>; 262*b0a8c52eSAmr Mohamed next-level-cache = <&CL1_L2_1>; 263*b0a8c52eSAmr Mohamed CL1_L2_1: l2-cache5 { 264*b0a8c52eSAmr Mohamed compatible = "cache"; 265*b0a8c52eSAmr Mohamed cache-level = <0x02>; 266*b0a8c52eSAmr Mohamed /* 512KB */ 267*b0a8c52eSAmr Mohamed cache-size = <0x80000>; 268*b0a8c52eSAmr Mohamed /* 64B */ 269*b0a8c52eSAmr Mohamed cache-line-size = <0x40>; 270*b0a8c52eSAmr Mohamed /* 8-way set */ 271*b0a8c52eSAmr Mohamed cache-sets = <0x400>; 272*b0a8c52eSAmr Mohamed next-level-cache = <&CL1_L3>; 273*b0a8c52eSAmr 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>; 287*b0a8c52eSAmr Mohamed next-level-cache = <&CL1_L2_2>; 288*b0a8c52eSAmr Mohamed CL1_L2_2: l2-cache6 { 289*b0a8c52eSAmr Mohamed compatible = "cache"; 290*b0a8c52eSAmr Mohamed cache-level = <0x02>; 291*b0a8c52eSAmr Mohamed /* 512KB */ 292*b0a8c52eSAmr Mohamed cache-size = <0x80000>; 293*b0a8c52eSAmr Mohamed /* 64B */ 294*b0a8c52eSAmr Mohamed cache-line-size = <0x40>; 295*b0a8c52eSAmr Mohamed /* 8-way set */ 296*b0a8c52eSAmr Mohamed cache-sets = <0x400>; 297*b0a8c52eSAmr Mohamed next-level-cache = <&CL1_L3>; 298*b0a8c52eSAmr 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>; 312*b0a8c52eSAmr Mohamed next-level-cache = <&CL1_L2_3>; 313*b0a8c52eSAmr Mohamed CL1_L2_3: l2-cache7 { 314*b0a8c52eSAmr Mohamed compatible = "cache"; 315*b0a8c52eSAmr Mohamed cache-level = <0x02>; 316*b0a8c52eSAmr Mohamed /* 512KB */ 317*b0a8c52eSAmr Mohamed cache-size = <0x80000>; 318*b0a8c52eSAmr Mohamed /* 64B */ 319*b0a8c52eSAmr Mohamed cache-line-size = <0x40>; 320*b0a8c52eSAmr Mohamed /* 8-way set */ 321*b0a8c52eSAmr Mohamed cache-sets = <0x400>; 322*b0a8c52eSAmr Mohamed next-level-cache = <&CL1_L3>; 323*b0a8c52eSAmr 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>; 337*b0a8c52eSAmr Mohamed next-level-cache = <&CL2_L2_0>; 338*b0a8c52eSAmr Mohamed CL2_L2_0: l2-cache8 { 339*b0a8c52eSAmr Mohamed compatible = "cache"; 340*b0a8c52eSAmr Mohamed cache-level = <0x02>; 341*b0a8c52eSAmr Mohamed /* 512KB */ 342*b0a8c52eSAmr Mohamed cache-size = <0x80000>; 343*b0a8c52eSAmr Mohamed /* 64B */ 344*b0a8c52eSAmr Mohamed cache-line-size = <0x40>; 345*b0a8c52eSAmr Mohamed /* 8-way set */ 346*b0a8c52eSAmr Mohamed cache-sets = <0x400>; 347*b0a8c52eSAmr Mohamed next-level-cache = <&CL2_L3>; 348*b0a8c52eSAmr 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>; 362*b0a8c52eSAmr Mohamed next-level-cache = <&CL2_L2_1>; 363*b0a8c52eSAmr Mohamed CL2_L2_1: l2-cache9 { 364*b0a8c52eSAmr Mohamed compatible = "cache"; 365*b0a8c52eSAmr Mohamed cache-level = <0x02>; 366*b0a8c52eSAmr Mohamed /* 512KB */ 367*b0a8c52eSAmr Mohamed cache-size = <0x80000>; 368*b0a8c52eSAmr Mohamed /* 64B */ 369*b0a8c52eSAmr Mohamed cache-line-size = <0x40>; 370*b0a8c52eSAmr Mohamed /* 8-way set */ 371*b0a8c52eSAmr Mohamed cache-sets = <0x400>; 372*b0a8c52eSAmr Mohamed next-level-cache = <&CL2_L3>; 373*b0a8c52eSAmr 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>; 387*b0a8c52eSAmr Mohamed next-level-cache = <&CL2_L2_2>; 388*b0a8c52eSAmr Mohamed CL2_L2_2: l2-cache10 { 389*b0a8c52eSAmr Mohamed compatible = "cache"; 390*b0a8c52eSAmr Mohamed cache-level = <0x02>; 391*b0a8c52eSAmr Mohamed /* 512KB */ 392*b0a8c52eSAmr Mohamed cache-size = <0x80000>; 393*b0a8c52eSAmr Mohamed /* 64B */ 394*b0a8c52eSAmr Mohamed cache-line-size = <0x40>; 395*b0a8c52eSAmr Mohamed /* 8-way set */ 396*b0a8c52eSAmr Mohamed cache-sets = <0x400>; 397*b0a8c52eSAmr Mohamed next-level-cache = <&CL2_L3>; 398*b0a8c52eSAmr 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>; 412*b0a8c52eSAmr Mohamed next-level-cache = <&CL2_L2_3>; 413*b0a8c52eSAmr Mohamed CL2_L2_3: l2-cache11 { 414*b0a8c52eSAmr Mohamed compatible = "cache"; 415*b0a8c52eSAmr Mohamed cache-level = <0x02>; 416*b0a8c52eSAmr Mohamed /* 512KB */ 417*b0a8c52eSAmr Mohamed cache-size = <0x80000>; 418*b0a8c52eSAmr Mohamed /* 64B */ 419*b0a8c52eSAmr Mohamed cache-line-size = <0x40>; 420*b0a8c52eSAmr Mohamed /* 8-way set */ 421*b0a8c52eSAmr Mohamed cache-sets = <0x400>; 422*b0a8c52eSAmr Mohamed next-level-cache = <&CL2_L3>; 423*b0a8c52eSAmr 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>; 437*b0a8c52eSAmr Mohamed next-level-cache = <&CL3_L2_0>; 438*b0a8c52eSAmr Mohamed CL3_L2_0: l2-cache12 { 439*b0a8c52eSAmr Mohamed compatible = "cache"; 440*b0a8c52eSAmr Mohamed cache-level = <0x02>; 441*b0a8c52eSAmr Mohamed /* 512KB */ 442*b0a8c52eSAmr Mohamed cache-size = <0x80000>; 443*b0a8c52eSAmr Mohamed /* 64B */ 444*b0a8c52eSAmr Mohamed cache-line-size = <0x40>; 445*b0a8c52eSAmr Mohamed /* 8-way set */ 446*b0a8c52eSAmr Mohamed cache-sets = <0x400>; 447*b0a8c52eSAmr Mohamed next-level-cache = <&CL3_L3>; 448*b0a8c52eSAmr 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>; 462*b0a8c52eSAmr Mohamed next-level-cache = <&CL3_L2_1>; 463*b0a8c52eSAmr Mohamed CL3_L2_1: l2-cache13 { 464*b0a8c52eSAmr Mohamed compatible = "cache"; 465*b0a8c52eSAmr Mohamed cache-level = <0x02>; 466*b0a8c52eSAmr Mohamed /* 512KB */ 467*b0a8c52eSAmr Mohamed cache-size = <0x80000>; 468*b0a8c52eSAmr Mohamed /* 64B */ 469*b0a8c52eSAmr Mohamed cache-line-size = <0x40>; 470*b0a8c52eSAmr Mohamed /* 8-way set */ 471*b0a8c52eSAmr Mohamed cache-sets = <0x400>; 472*b0a8c52eSAmr Mohamed next-level-cache = <&CL3_L3>; 473*b0a8c52eSAmr 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>; 487*b0a8c52eSAmr Mohamed next-level-cache = <&CL3_L2_2>; 488*b0a8c52eSAmr Mohamed CL3_L2_2: l2-cache14 { 489*b0a8c52eSAmr Mohamed compatible = "cache"; 490*b0a8c52eSAmr Mohamed cache-level = <0x02>; 491*b0a8c52eSAmr Mohamed /* 512KB */ 492*b0a8c52eSAmr Mohamed cache-size = <0x80000>; 493*b0a8c52eSAmr Mohamed /* 64B */ 494*b0a8c52eSAmr Mohamed cache-line-size = <0x40>; 495*b0a8c52eSAmr Mohamed /* 8-way set */ 496*b0a8c52eSAmr Mohamed cache-sets = <0x400>; 497*b0a8c52eSAmr Mohamed next-level-cache = <&CL3_L3>; 498*b0a8c52eSAmr 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>; 512*b0a8c52eSAmr Mohamed next-level-cache = <&CL3_L2_3>; 513*b0a8c52eSAmr Mohamed CL3_L2_3: l2-cache15 { 514*b0a8c52eSAmr Mohamed compatible = "cache"; 515*b0a8c52eSAmr Mohamed cache-level = <0x02>; 516*b0a8c52eSAmr Mohamed /* 512KB */ 517*b0a8c52eSAmr Mohamed cache-size = <0x80000>; 518*b0a8c52eSAmr Mohamed /* 64B */ 519*b0a8c52eSAmr Mohamed cache-line-size = <0x40>; 520*b0a8c52eSAmr Mohamed /* 8-way set */ 521*b0a8c52eSAmr Mohamed cache-sets = <0x400>; 522*b0a8c52eSAmr Mohamed next-level-cache = <&CL3_L3>; 523d1a1abecSDavid Hu }; 524d1a1abecSDavid Hu }; 525*b0a8c52eSAmr Mohamed }; 526*b0a8c52eSAmr Mohamed 527*b0a8c52eSAmr Mohamed dsu-pmu-0 { 528*b0a8c52eSAmr Mohamed compatible = "arm,dsu-pmu"; 529*b0a8c52eSAmr Mohamed cpus = <&CPU0>, <&CPU1>, <&CPU2>, <&CPU3>; 530*b0a8c52eSAmr Mohamed interrupts = <GIC_SPI 216 IRQ_TYPE_EDGE_RISING>; 531*b0a8c52eSAmr Mohamed }; 532*b0a8c52eSAmr Mohamed 533*b0a8c52eSAmr Mohamed dsu-pmu-1 { 534*b0a8c52eSAmr Mohamed compatible = "arm,dsu-pmu"; 535*b0a8c52eSAmr Mohamed cpus = <&CPU4>, <&CPU5>, <&CPU6>, <&CPU7>; 536*b0a8c52eSAmr Mohamed interrupts = <GIC_SPI 217 IRQ_TYPE_EDGE_RISING>; 537*b0a8c52eSAmr Mohamed }; 538*b0a8c52eSAmr Mohamed 539*b0a8c52eSAmr Mohamed dsu-pmu-2 { 540*b0a8c52eSAmr Mohamed compatible = "arm,dsu-pmu"; 541*b0a8c52eSAmr Mohamed cpus = <&CPU8>, <&CPU9>, <&CPU10>, <&CPU11>; 542*b0a8c52eSAmr Mohamed interrupts = <GIC_SPI 218 IRQ_TYPE_EDGE_RISING>; 543*b0a8c52eSAmr Mohamed }; 544*b0a8c52eSAmr Mohamed 545*b0a8c52eSAmr Mohamed dsu-pmu-3 { 546*b0a8c52eSAmr Mohamed compatible = "arm,dsu-pmu"; 547*b0a8c52eSAmr Mohamed cpus = <&CPU12>, <&CPU13>, <&CPU14>, <&CPU15>; 548*b0a8c52eSAmr Mohamed interrupts = <GIC_SPI 219 IRQ_TYPE_EDGE_RISING>; 549*b0a8c52eSAmr 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>; 587d1a1abecSDavid Hu #address-cells = <2>; 588d1a1abecSDavid Hu #size-cells = <2>; 589d1a1abecSDavid Hu clock-frequency = <125000000>; 590d1a1abecSDavid Hu ranges; 591d1a1abecSDavid Hu 592d1a1abecSDavid Hu frame@1a830000 { 593d1a1abecSDavid Hu frame-number = <1>; 594d1a1abecSDavid Hu interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>; 595d1a1abecSDavid Hu reg = <0x0 0x1a830000 0x0 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