1*69ed3df4SEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0 OR BSD-3-Clause) 2*69ed3df4SEmmanuel Vadot/* 3*69ed3df4SEmmanuel Vadot * Copyright (c) 2025, Arm Limited. All rights reserved. 4*69ed3df4SEmmanuel Vadot */ 5*69ed3df4SEmmanuel Vadot 6*69ed3df4SEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h> 7*69ed3df4SEmmanuel Vadot 8*69ed3df4SEmmanuel Vadot/ { 9*69ed3df4SEmmanuel Vadot #address-cells = <2>; 10*69ed3df4SEmmanuel Vadot #size-cells = <2>; 11*69ed3df4SEmmanuel Vadot interrupt-parent = <&gic>; 12*69ed3df4SEmmanuel Vadot 13*69ed3df4SEmmanuel Vadot soc_clk24mhz: clock-24000000 { 14*69ed3df4SEmmanuel Vadot compatible = "fixed-clock"; 15*69ed3df4SEmmanuel Vadot #clock-cells = <0>; 16*69ed3df4SEmmanuel Vadot clock-frequency = <24000000>; 17*69ed3df4SEmmanuel Vadot clock-output-names = "refclk24mhz"; 18*69ed3df4SEmmanuel Vadot }; 19*69ed3df4SEmmanuel Vadot 20*69ed3df4SEmmanuel Vadot cpus { 21*69ed3df4SEmmanuel Vadot #address-cells = <2>; 22*69ed3df4SEmmanuel Vadot #size-cells = <0>; 23*69ed3df4SEmmanuel Vadot 24*69ed3df4SEmmanuel Vadot /* 25*69ed3df4SEmmanuel Vadot * The latency and residency numbers below are for illustrative 26*69ed3df4SEmmanuel Vadot * purposes only and may vary on actual silicon. These values are 27*69ed3df4SEmmanuel Vadot * considered just to demonstrate that the cpuidle governor logic 28*69ed3df4SEmmanuel Vadot * works. 29*69ed3df4SEmmanuel Vadot */ 30*69ed3df4SEmmanuel Vadot idle-states { 31*69ed3df4SEmmanuel Vadot entry-method = "psci"; 32*69ed3df4SEmmanuel Vadot 33*69ed3df4SEmmanuel Vadot cpu_sleep: cpu-sleep { 34*69ed3df4SEmmanuel Vadot compatible = "arm,idle-state"; 35*69ed3df4SEmmanuel Vadot arm,psci-suspend-param = <0x10000>; 36*69ed3df4SEmmanuel Vadot entry-latency-us = <800>; 37*69ed3df4SEmmanuel Vadot exit-latency-us = <3200>; 38*69ed3df4SEmmanuel Vadot local-timer-stop; 39*69ed3df4SEmmanuel Vadot min-residency-us = <4200>; 40*69ed3df4SEmmanuel Vadot }; 41*69ed3df4SEmmanuel Vadot 42*69ed3df4SEmmanuel Vadot cluster_sleep: cluster-sleep { 43*69ed3df4SEmmanuel Vadot compatible = "arm,idle-state"; 44*69ed3df4SEmmanuel Vadot arm,psci-suspend-param = <0x1010000>; 45*69ed3df4SEmmanuel Vadot entry-latency-us = <1000>; 46*69ed3df4SEmmanuel Vadot exit-latency-us = <3200>; 47*69ed3df4SEmmanuel Vadot local-timer-stop; 48*69ed3df4SEmmanuel Vadot min-residency-us = <4500>; 49*69ed3df4SEmmanuel Vadot }; 50*69ed3df4SEmmanuel Vadot }; 51*69ed3df4SEmmanuel Vadot 52*69ed3df4SEmmanuel Vadot cpu-map { 53*69ed3df4SEmmanuel Vadot cluster0 { 54*69ed3df4SEmmanuel Vadot core0 { cpu = <&cpu0>; }; 55*69ed3df4SEmmanuel Vadot core1 { cpu = <&cpu1>; }; 56*69ed3df4SEmmanuel Vadot core2 { cpu = <&cpu2>; }; 57*69ed3df4SEmmanuel Vadot core3 { cpu = <&cpu3>; }; 58*69ed3df4SEmmanuel Vadot }; 59*69ed3df4SEmmanuel Vadot 60*69ed3df4SEmmanuel Vadot cluster1 { 61*69ed3df4SEmmanuel Vadot core0 { cpu = <&cpu4>; }; 62*69ed3df4SEmmanuel Vadot core1 { cpu = <&cpu5>; }; 63*69ed3df4SEmmanuel Vadot core2 { cpu = <&cpu6>; }; 64*69ed3df4SEmmanuel Vadot core3 { cpu = <&cpu7>; }; 65*69ed3df4SEmmanuel Vadot }; 66*69ed3df4SEmmanuel Vadot 67*69ed3df4SEmmanuel Vadot cluster2 { 68*69ed3df4SEmmanuel Vadot core0 { cpu = <&cpu8>; }; 69*69ed3df4SEmmanuel Vadot core1 { cpu = <&cpu9>; }; 70*69ed3df4SEmmanuel Vadot core2 { cpu = <&cpu10>; }; 71*69ed3df4SEmmanuel Vadot core3 { cpu = <&cpu11>; }; 72*69ed3df4SEmmanuel Vadot }; 73*69ed3df4SEmmanuel Vadot 74*69ed3df4SEmmanuel Vadot cluster3 { 75*69ed3df4SEmmanuel Vadot core0 { cpu = <&cpu12>; }; 76*69ed3df4SEmmanuel Vadot core1 { cpu = <&cpu13>; }; 77*69ed3df4SEmmanuel Vadot core2 { cpu = <&cpu14>; }; 78*69ed3df4SEmmanuel Vadot core3 { cpu = <&cpu15>; }; 79*69ed3df4SEmmanuel Vadot }; 80*69ed3df4SEmmanuel Vadot }; 81*69ed3df4SEmmanuel Vadot 82*69ed3df4SEmmanuel Vadot cpu0: cpu@0 { 83*69ed3df4SEmmanuel Vadot compatible = "arm,cortex-a720ae"; 84*69ed3df4SEmmanuel Vadot device_type = "cpu"; 85*69ed3df4SEmmanuel Vadot reg = <0x00 0x0000>; 86*69ed3df4SEmmanuel Vadot enable-method = "psci"; 87*69ed3df4SEmmanuel Vadot 88*69ed3df4SEmmanuel Vadot clocks = <&scmi_dvfs 0>; 89*69ed3df4SEmmanuel Vadot cpu-idle-states = <&cpu_sleep &cluster_sleep>; 90*69ed3df4SEmmanuel Vadot next-level-cache = <&cl0_l2_0>; 91*69ed3df4SEmmanuel Vadot 92*69ed3df4SEmmanuel Vadot i-cache-line-size = <64>; 93*69ed3df4SEmmanuel Vadot i-cache-sets = <256>; 94*69ed3df4SEmmanuel Vadot i-cache-size = <0x10000>; 95*69ed3df4SEmmanuel Vadot 96*69ed3df4SEmmanuel Vadot d-cache-line-size = <64>; 97*69ed3df4SEmmanuel Vadot d-cache-sets = <256>; 98*69ed3df4SEmmanuel Vadot d-cache-size = <0x10000>; 99*69ed3df4SEmmanuel Vadot 100*69ed3df4SEmmanuel Vadot cl0_l2_0: l2-cache { 101*69ed3df4SEmmanuel Vadot compatible = "cache"; 102*69ed3df4SEmmanuel Vadot cache-level = <2>; 103*69ed3df4SEmmanuel Vadot cache-line-size = <64>; 104*69ed3df4SEmmanuel Vadot cache-sets = <0x400>; /* 8-way set */ 105*69ed3df4SEmmanuel Vadot cache-size = <0x80000>; /* 512KB */ 106*69ed3df4SEmmanuel Vadot cache-unified; 107*69ed3df4SEmmanuel Vadot next-level-cache = <&cl0_l3>; 108*69ed3df4SEmmanuel Vadot }; 109*69ed3df4SEmmanuel Vadot }; 110*69ed3df4SEmmanuel Vadot 111*69ed3df4SEmmanuel Vadot cpu1: cpu@100 { 112*69ed3df4SEmmanuel Vadot compatible = "arm,cortex-a720ae"; 113*69ed3df4SEmmanuel Vadot device_type = "cpu"; 114*69ed3df4SEmmanuel Vadot reg = <0x00 0x0100>; 115*69ed3df4SEmmanuel Vadot enable-method = "psci"; 116*69ed3df4SEmmanuel Vadot 117*69ed3df4SEmmanuel Vadot clocks = <&scmi_dvfs 0>; 118*69ed3df4SEmmanuel Vadot cpu-idle-states = <&cpu_sleep &cluster_sleep>; 119*69ed3df4SEmmanuel Vadot next-level-cache = <&cl0_l2_1>; 120*69ed3df4SEmmanuel Vadot 121*69ed3df4SEmmanuel Vadot i-cache-line-size = <64>; 122*69ed3df4SEmmanuel Vadot i-cache-sets = <256>; 123*69ed3df4SEmmanuel Vadot i-cache-size = <0x10000>; 124*69ed3df4SEmmanuel Vadot 125*69ed3df4SEmmanuel Vadot d-cache-line-size = <64>; 126*69ed3df4SEmmanuel Vadot d-cache-sets = <256>; 127*69ed3df4SEmmanuel Vadot d-cache-size = <0x10000>; 128*69ed3df4SEmmanuel Vadot 129*69ed3df4SEmmanuel Vadot cl0_l2_1: l2-cache { 130*69ed3df4SEmmanuel Vadot compatible = "cache"; 131*69ed3df4SEmmanuel Vadot cache-level = <2>; 132*69ed3df4SEmmanuel Vadot cache-line-size = <64>; 133*69ed3df4SEmmanuel Vadot cache-sets = <0x400>; /* 8-way set */ 134*69ed3df4SEmmanuel Vadot cache-size = <0x80000>; /* 512KB */ 135*69ed3df4SEmmanuel Vadot cache-unified; 136*69ed3df4SEmmanuel Vadot next-level-cache = <&cl0_l3>; 137*69ed3df4SEmmanuel Vadot }; 138*69ed3df4SEmmanuel Vadot }; 139*69ed3df4SEmmanuel Vadot 140*69ed3df4SEmmanuel Vadot cpu2: cpu@200 { 141*69ed3df4SEmmanuel Vadot compatible = "arm,cortex-a720ae"; 142*69ed3df4SEmmanuel Vadot device_type = "cpu"; 143*69ed3df4SEmmanuel Vadot reg = <0x00 0x0200>; 144*69ed3df4SEmmanuel Vadot enable-method = "psci"; 145*69ed3df4SEmmanuel Vadot 146*69ed3df4SEmmanuel Vadot clocks = <&scmi_dvfs 0>; 147*69ed3df4SEmmanuel Vadot cpu-idle-states = <&cpu_sleep &cluster_sleep>; 148*69ed3df4SEmmanuel Vadot next-level-cache = <&cl0_l2_2>; 149*69ed3df4SEmmanuel Vadot 150*69ed3df4SEmmanuel Vadot i-cache-line-size = <64>; 151*69ed3df4SEmmanuel Vadot i-cache-sets = <256>; 152*69ed3df4SEmmanuel Vadot i-cache-size = <0x10000>; 153*69ed3df4SEmmanuel Vadot 154*69ed3df4SEmmanuel Vadot d-cache-line-size = <64>; 155*69ed3df4SEmmanuel Vadot d-cache-sets = <256>; 156*69ed3df4SEmmanuel Vadot d-cache-size = <0x10000>; 157*69ed3df4SEmmanuel Vadot 158*69ed3df4SEmmanuel Vadot cl0_l2_2: l2-cache { 159*69ed3df4SEmmanuel Vadot compatible = "cache"; 160*69ed3df4SEmmanuel Vadot cache-level = <2>; 161*69ed3df4SEmmanuel Vadot cache-line-size = <64>; 162*69ed3df4SEmmanuel Vadot cache-sets = <0x400>; /* 8-way set */ 163*69ed3df4SEmmanuel Vadot cache-size = <0x80000>; /* 512KB */ 164*69ed3df4SEmmanuel Vadot cache-unified; 165*69ed3df4SEmmanuel Vadot next-level-cache = <&cl0_l3>; 166*69ed3df4SEmmanuel Vadot }; 167*69ed3df4SEmmanuel Vadot }; 168*69ed3df4SEmmanuel Vadot 169*69ed3df4SEmmanuel Vadot cpu3: cpu@300 { 170*69ed3df4SEmmanuel Vadot compatible = "arm,cortex-a720ae"; 171*69ed3df4SEmmanuel Vadot device_type = "cpu"; 172*69ed3df4SEmmanuel Vadot reg = <0x00 0x0300>; 173*69ed3df4SEmmanuel Vadot enable-method = "psci"; 174*69ed3df4SEmmanuel Vadot 175*69ed3df4SEmmanuel Vadot clocks = <&scmi_dvfs 0>; 176*69ed3df4SEmmanuel Vadot cpu-idle-states = <&cpu_sleep &cluster_sleep>; 177*69ed3df4SEmmanuel Vadot next-level-cache = <&cl0_l2_3>; 178*69ed3df4SEmmanuel Vadot 179*69ed3df4SEmmanuel Vadot i-cache-line-size = <64>; 180*69ed3df4SEmmanuel Vadot i-cache-sets = <256>; 181*69ed3df4SEmmanuel Vadot i-cache-size = <0x10000>; 182*69ed3df4SEmmanuel Vadot 183*69ed3df4SEmmanuel Vadot d-cache-line-size = <64>; 184*69ed3df4SEmmanuel Vadot d-cache-sets = <256>; 185*69ed3df4SEmmanuel Vadot d-cache-size = <0x10000>; 186*69ed3df4SEmmanuel Vadot 187*69ed3df4SEmmanuel Vadot cl0_l2_3: l2-cache { 188*69ed3df4SEmmanuel Vadot compatible = "cache"; 189*69ed3df4SEmmanuel Vadot cache-level = <2>; 190*69ed3df4SEmmanuel Vadot cache-line-size = <64>; 191*69ed3df4SEmmanuel Vadot cache-sets = <0x400>; /* 8-way set */ 192*69ed3df4SEmmanuel Vadot cache-size = <0x80000>; /* 512KB */ 193*69ed3df4SEmmanuel Vadot cache-unified; 194*69ed3df4SEmmanuel Vadot next-level-cache = <&cl0_l3>; 195*69ed3df4SEmmanuel Vadot }; 196*69ed3df4SEmmanuel Vadot }; 197*69ed3df4SEmmanuel Vadot 198*69ed3df4SEmmanuel Vadot cpu4: cpu@10000 { 199*69ed3df4SEmmanuel Vadot compatible = "arm,cortex-a720ae"; 200*69ed3df4SEmmanuel Vadot device_type = "cpu"; 201*69ed3df4SEmmanuel Vadot reg = <0x00 0x10000>; 202*69ed3df4SEmmanuel Vadot enable-method = "psci"; 203*69ed3df4SEmmanuel Vadot 204*69ed3df4SEmmanuel Vadot clocks = <&scmi_dvfs 0>; 205*69ed3df4SEmmanuel Vadot cpu-idle-states = <&cpu_sleep &cluster_sleep>; 206*69ed3df4SEmmanuel Vadot next-level-cache = <&cl1_l2_0>; 207*69ed3df4SEmmanuel Vadot 208*69ed3df4SEmmanuel Vadot i-cache-line-size = <64>; 209*69ed3df4SEmmanuel Vadot i-cache-sets = <256>; 210*69ed3df4SEmmanuel Vadot i-cache-size = <0x10000>; 211*69ed3df4SEmmanuel Vadot 212*69ed3df4SEmmanuel Vadot d-cache-line-size = <64>; 213*69ed3df4SEmmanuel Vadot d-cache-sets = <256>; 214*69ed3df4SEmmanuel Vadot d-cache-size = <0x10000>; 215*69ed3df4SEmmanuel Vadot 216*69ed3df4SEmmanuel Vadot cl1_l2_0: l2-cache { 217*69ed3df4SEmmanuel Vadot compatible = "cache"; 218*69ed3df4SEmmanuel Vadot cache-level = <2>; 219*69ed3df4SEmmanuel Vadot cache-line-size = <64>; 220*69ed3df4SEmmanuel Vadot cache-sets = <0x400>; /* 8-way set */ 221*69ed3df4SEmmanuel Vadot cache-size = <0x80000>; /* 512KB */ 222*69ed3df4SEmmanuel Vadot cache-unified; 223*69ed3df4SEmmanuel Vadot next-level-cache = <&cl1_l3>; 224*69ed3df4SEmmanuel Vadot }; 225*69ed3df4SEmmanuel Vadot }; 226*69ed3df4SEmmanuel Vadot 227*69ed3df4SEmmanuel Vadot cpu5: cpu@10100 { 228*69ed3df4SEmmanuel Vadot compatible = "arm,cortex-a720ae"; 229*69ed3df4SEmmanuel Vadot device_type = "cpu"; 230*69ed3df4SEmmanuel Vadot reg = <0x00 0x10100>; 231*69ed3df4SEmmanuel Vadot enable-method = "psci"; 232*69ed3df4SEmmanuel Vadot 233*69ed3df4SEmmanuel Vadot clocks = <&scmi_dvfs 0>; 234*69ed3df4SEmmanuel Vadot cpu-idle-states = <&cpu_sleep &cluster_sleep>; 235*69ed3df4SEmmanuel Vadot next-level-cache = <&cl1_l2_1>; 236*69ed3df4SEmmanuel Vadot 237*69ed3df4SEmmanuel Vadot i-cache-line-size = <64>; 238*69ed3df4SEmmanuel Vadot i-cache-sets = <256>; 239*69ed3df4SEmmanuel Vadot i-cache-size = <0x10000>; 240*69ed3df4SEmmanuel Vadot 241*69ed3df4SEmmanuel Vadot d-cache-line-size = <64>; 242*69ed3df4SEmmanuel Vadot d-cache-sets = <256>; 243*69ed3df4SEmmanuel Vadot d-cache-size = <0x10000>; 244*69ed3df4SEmmanuel Vadot 245*69ed3df4SEmmanuel Vadot cl1_l2_1: l2-cache { 246*69ed3df4SEmmanuel Vadot compatible = "cache"; 247*69ed3df4SEmmanuel Vadot cache-level = <2>; 248*69ed3df4SEmmanuel Vadot cache-line-size = <64>; 249*69ed3df4SEmmanuel Vadot cache-sets = <0x400>; /* 8-way set */ 250*69ed3df4SEmmanuel Vadot cache-size = <0x80000>; /* 512KB */ 251*69ed3df4SEmmanuel Vadot cache-unified; 252*69ed3df4SEmmanuel Vadot next-level-cache = <&cl1_l3>; 253*69ed3df4SEmmanuel Vadot }; 254*69ed3df4SEmmanuel Vadot }; 255*69ed3df4SEmmanuel Vadot 256*69ed3df4SEmmanuel Vadot cpu6: cpu@10200 { 257*69ed3df4SEmmanuel Vadot compatible = "arm,cortex-a720ae"; 258*69ed3df4SEmmanuel Vadot device_type = "cpu"; 259*69ed3df4SEmmanuel Vadot reg = <0x00 0x10200>; 260*69ed3df4SEmmanuel Vadot enable-method = "psci"; 261*69ed3df4SEmmanuel Vadot 262*69ed3df4SEmmanuel Vadot clocks = <&scmi_dvfs 0>; 263*69ed3df4SEmmanuel Vadot cpu-idle-states = <&cpu_sleep &cluster_sleep>; 264*69ed3df4SEmmanuel Vadot next-level-cache = <&cl1_l2_2>; 265*69ed3df4SEmmanuel Vadot 266*69ed3df4SEmmanuel Vadot i-cache-line-size = <64>; 267*69ed3df4SEmmanuel Vadot i-cache-sets = <256>; 268*69ed3df4SEmmanuel Vadot i-cache-size = <0x10000>; 269*69ed3df4SEmmanuel Vadot 270*69ed3df4SEmmanuel Vadot d-cache-line-size = <64>; 271*69ed3df4SEmmanuel Vadot d-cache-sets = <256>; 272*69ed3df4SEmmanuel Vadot d-cache-size = <0x10000>; 273*69ed3df4SEmmanuel Vadot 274*69ed3df4SEmmanuel Vadot cl1_l2_2: l2-cache { 275*69ed3df4SEmmanuel Vadot compatible = "cache"; 276*69ed3df4SEmmanuel Vadot cache-level = <2>; 277*69ed3df4SEmmanuel Vadot cache-line-size = <64>; 278*69ed3df4SEmmanuel Vadot cache-sets = <0x400>; /* 8-way set */ 279*69ed3df4SEmmanuel Vadot cache-size = <0x80000>; /* 512KB */ 280*69ed3df4SEmmanuel Vadot cache-unified; 281*69ed3df4SEmmanuel Vadot next-level-cache = <&cl1_l3>; 282*69ed3df4SEmmanuel Vadot }; 283*69ed3df4SEmmanuel Vadot }; 284*69ed3df4SEmmanuel Vadot 285*69ed3df4SEmmanuel Vadot cpu7: cpu@10300 { 286*69ed3df4SEmmanuel Vadot compatible = "arm,cortex-a720ae"; 287*69ed3df4SEmmanuel Vadot device_type = "cpu"; 288*69ed3df4SEmmanuel Vadot reg = <0x00 0x10300>; 289*69ed3df4SEmmanuel Vadot enable-method = "psci"; 290*69ed3df4SEmmanuel Vadot 291*69ed3df4SEmmanuel Vadot clocks = <&scmi_dvfs 0>; 292*69ed3df4SEmmanuel Vadot cpu-idle-states = <&cpu_sleep &cluster_sleep>; 293*69ed3df4SEmmanuel Vadot next-level-cache = <&cl1_l2_3>; 294*69ed3df4SEmmanuel Vadot 295*69ed3df4SEmmanuel Vadot i-cache-line-size = <64>; 296*69ed3df4SEmmanuel Vadot i-cache-sets = <256>; 297*69ed3df4SEmmanuel Vadot i-cache-size = <0x10000>; 298*69ed3df4SEmmanuel Vadot 299*69ed3df4SEmmanuel Vadot d-cache-line-size = <64>; 300*69ed3df4SEmmanuel Vadot d-cache-sets = <256>; 301*69ed3df4SEmmanuel Vadot d-cache-size = <0x10000>; 302*69ed3df4SEmmanuel Vadot 303*69ed3df4SEmmanuel Vadot cl1_l2_3: l2-cache { 304*69ed3df4SEmmanuel Vadot compatible = "cache"; 305*69ed3df4SEmmanuel Vadot cache-level = <2>; 306*69ed3df4SEmmanuel Vadot cache-line-size = <64>; 307*69ed3df4SEmmanuel Vadot cache-sets = <0x400>; /* 8-way set */ 308*69ed3df4SEmmanuel Vadot cache-size = <0x80000>; /* 512KB */ 309*69ed3df4SEmmanuel Vadot cache-unified; 310*69ed3df4SEmmanuel Vadot next-level-cache = <&cl1_l3>; 311*69ed3df4SEmmanuel Vadot }; 312*69ed3df4SEmmanuel Vadot }; 313*69ed3df4SEmmanuel Vadot 314*69ed3df4SEmmanuel Vadot cpu8: cpu@20000 { 315*69ed3df4SEmmanuel Vadot compatible = "arm,cortex-a720ae"; 316*69ed3df4SEmmanuel Vadot device_type = "cpu"; 317*69ed3df4SEmmanuel Vadot reg = <0x00 0x20000>; 318*69ed3df4SEmmanuel Vadot enable-method = "psci"; 319*69ed3df4SEmmanuel Vadot 320*69ed3df4SEmmanuel Vadot clocks = <&scmi_dvfs 0>; 321*69ed3df4SEmmanuel Vadot cpu-idle-states = <&cpu_sleep &cluster_sleep>; 322*69ed3df4SEmmanuel Vadot next-level-cache = <&cl2_l2_0>; 323*69ed3df4SEmmanuel Vadot 324*69ed3df4SEmmanuel Vadot i-cache-line-size = <64>; 325*69ed3df4SEmmanuel Vadot i-cache-sets = <256>; 326*69ed3df4SEmmanuel Vadot i-cache-size = <0x10000>; 327*69ed3df4SEmmanuel Vadot 328*69ed3df4SEmmanuel Vadot d-cache-line-size = <64>; 329*69ed3df4SEmmanuel Vadot d-cache-sets = <256>; 330*69ed3df4SEmmanuel Vadot d-cache-size = <0x10000>; 331*69ed3df4SEmmanuel Vadot 332*69ed3df4SEmmanuel Vadot cl2_l2_0: l2-cache { 333*69ed3df4SEmmanuel Vadot compatible = "cache"; 334*69ed3df4SEmmanuel Vadot cache-level = <2>; 335*69ed3df4SEmmanuel Vadot cache-line-size = <64>; 336*69ed3df4SEmmanuel Vadot cache-sets = <0x400>; /* 8-way set */ 337*69ed3df4SEmmanuel Vadot cache-size = <0x80000>; /* 512KB */ 338*69ed3df4SEmmanuel Vadot cache-unified; 339*69ed3df4SEmmanuel Vadot next-level-cache = <&cl2_l3>; 340*69ed3df4SEmmanuel Vadot }; 341*69ed3df4SEmmanuel Vadot }; 342*69ed3df4SEmmanuel Vadot 343*69ed3df4SEmmanuel Vadot cpu9: cpu@20100 { 344*69ed3df4SEmmanuel Vadot compatible = "arm,cortex-a720ae"; 345*69ed3df4SEmmanuel Vadot device_type = "cpu"; 346*69ed3df4SEmmanuel Vadot reg = <0x00 0x20100>; 347*69ed3df4SEmmanuel Vadot enable-method = "psci"; 348*69ed3df4SEmmanuel Vadot 349*69ed3df4SEmmanuel Vadot clocks = <&scmi_dvfs 0>; 350*69ed3df4SEmmanuel Vadot cpu-idle-states = <&cpu_sleep &cluster_sleep>; 351*69ed3df4SEmmanuel Vadot next-level-cache = <&cl2_l2_1>; 352*69ed3df4SEmmanuel Vadot 353*69ed3df4SEmmanuel Vadot i-cache-line-size = <64>; 354*69ed3df4SEmmanuel Vadot i-cache-sets = <256>; 355*69ed3df4SEmmanuel Vadot i-cache-size = <0x10000>; 356*69ed3df4SEmmanuel Vadot 357*69ed3df4SEmmanuel Vadot d-cache-line-size = <64>; 358*69ed3df4SEmmanuel Vadot d-cache-sets = <256>; 359*69ed3df4SEmmanuel Vadot d-cache-size = <0x10000>; 360*69ed3df4SEmmanuel Vadot 361*69ed3df4SEmmanuel Vadot cl2_l2_1: l2-cache { 362*69ed3df4SEmmanuel Vadot compatible = "cache"; 363*69ed3df4SEmmanuel Vadot cache-level = <2>; 364*69ed3df4SEmmanuel Vadot cache-line-size = <64>; 365*69ed3df4SEmmanuel Vadot cache-sets = <0x400>; /* 8-way set */ 366*69ed3df4SEmmanuel Vadot cache-size = <0x80000>; /* 512KB */ 367*69ed3df4SEmmanuel Vadot cache-unified; 368*69ed3df4SEmmanuel Vadot next-level-cache = <&cl2_l3>; 369*69ed3df4SEmmanuel Vadot }; 370*69ed3df4SEmmanuel Vadot }; 371*69ed3df4SEmmanuel Vadot 372*69ed3df4SEmmanuel Vadot cpu10: cpu@20200 { 373*69ed3df4SEmmanuel Vadot compatible = "arm,cortex-a720ae"; 374*69ed3df4SEmmanuel Vadot device_type = "cpu"; 375*69ed3df4SEmmanuel Vadot reg = <0x00 0x20200>; 376*69ed3df4SEmmanuel Vadot enable-method = "psci"; 377*69ed3df4SEmmanuel Vadot 378*69ed3df4SEmmanuel Vadot clocks = <&scmi_dvfs 0>; 379*69ed3df4SEmmanuel Vadot cpu-idle-states = <&cpu_sleep &cluster_sleep>; 380*69ed3df4SEmmanuel Vadot next-level-cache = <&cl2_l2_2>; 381*69ed3df4SEmmanuel Vadot 382*69ed3df4SEmmanuel Vadot i-cache-line-size = <64>; 383*69ed3df4SEmmanuel Vadot i-cache-sets = <256>; 384*69ed3df4SEmmanuel Vadot i-cache-size = <0x10000>; 385*69ed3df4SEmmanuel Vadot 386*69ed3df4SEmmanuel Vadot d-cache-line-size = <64>; 387*69ed3df4SEmmanuel Vadot d-cache-sets = <256>; 388*69ed3df4SEmmanuel Vadot d-cache-size = <0x10000>; 389*69ed3df4SEmmanuel Vadot 390*69ed3df4SEmmanuel Vadot cl2_l2_2: l2-cache { 391*69ed3df4SEmmanuel Vadot compatible = "cache"; 392*69ed3df4SEmmanuel Vadot cache-level = <2>; 393*69ed3df4SEmmanuel Vadot cache-line-size = <64>; 394*69ed3df4SEmmanuel Vadot cache-sets = <0x400>; /* 8-way set */ 395*69ed3df4SEmmanuel Vadot cache-size = <0x80000>; /* 512KB */ 396*69ed3df4SEmmanuel Vadot cache-unified; 397*69ed3df4SEmmanuel Vadot next-level-cache = <&cl2_l3>; 398*69ed3df4SEmmanuel Vadot }; 399*69ed3df4SEmmanuel Vadot }; 400*69ed3df4SEmmanuel Vadot 401*69ed3df4SEmmanuel Vadot cpu11: cpu@20300 { 402*69ed3df4SEmmanuel Vadot compatible = "arm,cortex-a720ae"; 403*69ed3df4SEmmanuel Vadot device_type = "cpu"; 404*69ed3df4SEmmanuel Vadot reg = <0x00 0x20300>; 405*69ed3df4SEmmanuel Vadot enable-method = "psci"; 406*69ed3df4SEmmanuel Vadot 407*69ed3df4SEmmanuel Vadot clocks = <&scmi_dvfs 0>; 408*69ed3df4SEmmanuel Vadot cpu-idle-states = <&cpu_sleep &cluster_sleep>; 409*69ed3df4SEmmanuel Vadot next-level-cache = <&cl2_l2_3>; 410*69ed3df4SEmmanuel Vadot 411*69ed3df4SEmmanuel Vadot i-cache-line-size = <64>; 412*69ed3df4SEmmanuel Vadot i-cache-sets = <256>; 413*69ed3df4SEmmanuel Vadot i-cache-size = <0x10000>; 414*69ed3df4SEmmanuel Vadot 415*69ed3df4SEmmanuel Vadot d-cache-line-size = <64>; 416*69ed3df4SEmmanuel Vadot d-cache-sets = <256>; 417*69ed3df4SEmmanuel Vadot d-cache-size = <0x10000>; 418*69ed3df4SEmmanuel Vadot 419*69ed3df4SEmmanuel Vadot cl2_l2_3: l2-cache { 420*69ed3df4SEmmanuel Vadot compatible = "cache"; 421*69ed3df4SEmmanuel Vadot cache-level = <2>; 422*69ed3df4SEmmanuel Vadot cache-line-size = <64>; 423*69ed3df4SEmmanuel Vadot cache-sets = <0x400>; /* 8-way set */ 424*69ed3df4SEmmanuel Vadot cache-size = <0x80000>; /* 512KB */ 425*69ed3df4SEmmanuel Vadot cache-unified; 426*69ed3df4SEmmanuel Vadot next-level-cache = <&cl2_l3>; 427*69ed3df4SEmmanuel Vadot }; 428*69ed3df4SEmmanuel Vadot }; 429*69ed3df4SEmmanuel Vadot 430*69ed3df4SEmmanuel Vadot cpu12: cpu@30000 { 431*69ed3df4SEmmanuel Vadot compatible = "arm,cortex-a720ae"; 432*69ed3df4SEmmanuel Vadot device_type = "cpu"; 433*69ed3df4SEmmanuel Vadot reg = <0x00 0x30000>; 434*69ed3df4SEmmanuel Vadot enable-method = "psci"; 435*69ed3df4SEmmanuel Vadot 436*69ed3df4SEmmanuel Vadot clocks = <&scmi_dvfs 0>; 437*69ed3df4SEmmanuel Vadot cpu-idle-states = <&cpu_sleep &cluster_sleep>; 438*69ed3df4SEmmanuel Vadot next-level-cache = <&cl3_l2_0>; 439*69ed3df4SEmmanuel Vadot 440*69ed3df4SEmmanuel Vadot i-cache-line-size = <64>; 441*69ed3df4SEmmanuel Vadot i-cache-sets = <256>; 442*69ed3df4SEmmanuel Vadot i-cache-size = <0x10000>; 443*69ed3df4SEmmanuel Vadot 444*69ed3df4SEmmanuel Vadot d-cache-line-size = <64>; 445*69ed3df4SEmmanuel Vadot d-cache-sets = <256>; 446*69ed3df4SEmmanuel Vadot d-cache-size = <0x10000>; 447*69ed3df4SEmmanuel Vadot 448*69ed3df4SEmmanuel Vadot cl3_l2_0: l2-cache { 449*69ed3df4SEmmanuel Vadot compatible = "cache"; 450*69ed3df4SEmmanuel Vadot cache-level = <2>; 451*69ed3df4SEmmanuel Vadot cache-line-size = <64>; 452*69ed3df4SEmmanuel Vadot cache-sets = <0x400>; /* 8-way set */ 453*69ed3df4SEmmanuel Vadot cache-size = <0x80000>; /* 512KB */ 454*69ed3df4SEmmanuel Vadot cache-unified; 455*69ed3df4SEmmanuel Vadot next-level-cache = <&cl3_l3>; 456*69ed3df4SEmmanuel Vadot }; 457*69ed3df4SEmmanuel Vadot }; 458*69ed3df4SEmmanuel Vadot 459*69ed3df4SEmmanuel Vadot cpu13: cpu@30100 { 460*69ed3df4SEmmanuel Vadot compatible = "arm,cortex-a720ae"; 461*69ed3df4SEmmanuel Vadot device_type = "cpu"; 462*69ed3df4SEmmanuel Vadot reg = <0x00 0x30100>; 463*69ed3df4SEmmanuel Vadot enable-method = "psci"; 464*69ed3df4SEmmanuel Vadot 465*69ed3df4SEmmanuel Vadot clocks = <&scmi_dvfs 0>; 466*69ed3df4SEmmanuel Vadot cpu-idle-states = <&cpu_sleep &cluster_sleep>; 467*69ed3df4SEmmanuel Vadot next-level-cache = <&cl3_l2_1>; 468*69ed3df4SEmmanuel Vadot 469*69ed3df4SEmmanuel Vadot i-cache-line-size = <64>; 470*69ed3df4SEmmanuel Vadot i-cache-sets = <256>; 471*69ed3df4SEmmanuel Vadot i-cache-size = <0x10000>; 472*69ed3df4SEmmanuel Vadot 473*69ed3df4SEmmanuel Vadot d-cache-line-size = <64>; 474*69ed3df4SEmmanuel Vadot d-cache-sets = <256>; 475*69ed3df4SEmmanuel Vadot d-cache-size = <0x10000>; 476*69ed3df4SEmmanuel Vadot 477*69ed3df4SEmmanuel Vadot cl3_l2_1: l2-cache { 478*69ed3df4SEmmanuel Vadot compatible = "cache"; 479*69ed3df4SEmmanuel Vadot cache-level = <2>; 480*69ed3df4SEmmanuel Vadot cache-line-size = <64>; 481*69ed3df4SEmmanuel Vadot cache-sets = <0x400>; /* 8-way set */ 482*69ed3df4SEmmanuel Vadot cache-size = <0x80000>; /* 512KB */ 483*69ed3df4SEmmanuel Vadot cache-unified; 484*69ed3df4SEmmanuel Vadot next-level-cache = <&cl3_l3>; 485*69ed3df4SEmmanuel Vadot }; 486*69ed3df4SEmmanuel Vadot }; 487*69ed3df4SEmmanuel Vadot 488*69ed3df4SEmmanuel Vadot cpu14: cpu@30200 { 489*69ed3df4SEmmanuel Vadot compatible = "arm,cortex-a720ae"; 490*69ed3df4SEmmanuel Vadot device_type = "cpu"; 491*69ed3df4SEmmanuel Vadot reg = <0x00 0x30200>; 492*69ed3df4SEmmanuel Vadot enable-method = "psci"; 493*69ed3df4SEmmanuel Vadot 494*69ed3df4SEmmanuel Vadot clocks = <&scmi_dvfs 0>; 495*69ed3df4SEmmanuel Vadot cpu-idle-states = <&cpu_sleep &cluster_sleep>; 496*69ed3df4SEmmanuel Vadot next-level-cache = <&cl3_l2_2>; 497*69ed3df4SEmmanuel Vadot 498*69ed3df4SEmmanuel Vadot i-cache-line-size = <64>; 499*69ed3df4SEmmanuel Vadot i-cache-sets = <256>; 500*69ed3df4SEmmanuel Vadot i-cache-size = <0x10000>; 501*69ed3df4SEmmanuel Vadot 502*69ed3df4SEmmanuel Vadot d-cache-line-size = <64>; 503*69ed3df4SEmmanuel Vadot d-cache-sets = <256>; 504*69ed3df4SEmmanuel Vadot d-cache-size = <0x10000>; 505*69ed3df4SEmmanuel Vadot 506*69ed3df4SEmmanuel Vadot cl3_l2_2: l2-cache { 507*69ed3df4SEmmanuel Vadot compatible = "cache"; 508*69ed3df4SEmmanuel Vadot cache-level = <2>; 509*69ed3df4SEmmanuel Vadot cache-line-size = <64>; 510*69ed3df4SEmmanuel Vadot cache-sets = <0x400>; /* 8-way set */ 511*69ed3df4SEmmanuel Vadot cache-size = <0x80000>; /* 512KB */ 512*69ed3df4SEmmanuel Vadot cache-unified; 513*69ed3df4SEmmanuel Vadot next-level-cache = <&cl3_l3>; 514*69ed3df4SEmmanuel Vadot }; 515*69ed3df4SEmmanuel Vadot }; 516*69ed3df4SEmmanuel Vadot 517*69ed3df4SEmmanuel Vadot cpu15: cpu@30300 { 518*69ed3df4SEmmanuel Vadot compatible = "arm,cortex-a720ae"; 519*69ed3df4SEmmanuel Vadot device_type = "cpu"; 520*69ed3df4SEmmanuel Vadot reg = <0x00 0x30300>; 521*69ed3df4SEmmanuel Vadot enable-method = "psci"; 522*69ed3df4SEmmanuel Vadot 523*69ed3df4SEmmanuel Vadot clocks = <&scmi_dvfs 0>; 524*69ed3df4SEmmanuel Vadot cpu-idle-states = <&cpu_sleep &cluster_sleep>; 525*69ed3df4SEmmanuel Vadot next-level-cache = <&cl3_l2_3>; 526*69ed3df4SEmmanuel Vadot 527*69ed3df4SEmmanuel Vadot i-cache-line-size = <64>; 528*69ed3df4SEmmanuel Vadot i-cache-sets = <256>; 529*69ed3df4SEmmanuel Vadot i-cache-size = <0x10000>; 530*69ed3df4SEmmanuel Vadot 531*69ed3df4SEmmanuel Vadot d-cache-line-size = <64>; 532*69ed3df4SEmmanuel Vadot d-cache-sets = <256>; 533*69ed3df4SEmmanuel Vadot d-cache-size = <0x10000>; 534*69ed3df4SEmmanuel Vadot 535*69ed3df4SEmmanuel Vadot cl3_l2_3: l2-cache { 536*69ed3df4SEmmanuel Vadot compatible = "cache"; 537*69ed3df4SEmmanuel Vadot cache-level = <2>; 538*69ed3df4SEmmanuel Vadot cache-line-size = <64>; 539*69ed3df4SEmmanuel Vadot cache-sets = <0x400>; /* 8-way set */ 540*69ed3df4SEmmanuel Vadot cache-size = <0x80000>; /* 512KB */ 541*69ed3df4SEmmanuel Vadot cache-unified; 542*69ed3df4SEmmanuel Vadot next-level-cache = <&cl3_l3>; 543*69ed3df4SEmmanuel Vadot }; 544*69ed3df4SEmmanuel Vadot }; 545*69ed3df4SEmmanuel Vadot 546*69ed3df4SEmmanuel Vadot cl0_l3: l3-cache0 { 547*69ed3df4SEmmanuel Vadot compatible = "cache"; 548*69ed3df4SEmmanuel Vadot cache-level = <3>; 549*69ed3df4SEmmanuel Vadot cache-line-size = <64>; 550*69ed3df4SEmmanuel Vadot cache-sets = <0x1000>; /* 16-way set */ 551*69ed3df4SEmmanuel Vadot cache-size = <0x400000>; /* 4MB */ 552*69ed3df4SEmmanuel Vadot cache-unified; 553*69ed3df4SEmmanuel Vadot }; 554*69ed3df4SEmmanuel Vadot 555*69ed3df4SEmmanuel Vadot cl1_l3: l3-cache1 { 556*69ed3df4SEmmanuel Vadot compatible = "cache"; 557*69ed3df4SEmmanuel Vadot cache-level = <3>; 558*69ed3df4SEmmanuel Vadot cache-line-size = <64>; 559*69ed3df4SEmmanuel Vadot cache-sets = <0x1000>; /* 16-way set */ 560*69ed3df4SEmmanuel Vadot cache-size = <0x400000>; /* 4MB */ 561*69ed3df4SEmmanuel Vadot cache-unified; 562*69ed3df4SEmmanuel Vadot }; 563*69ed3df4SEmmanuel Vadot 564*69ed3df4SEmmanuel Vadot cl2_l3: l3-cache2 { 565*69ed3df4SEmmanuel Vadot compatible = "cache"; 566*69ed3df4SEmmanuel Vadot cache-level = <3>; 567*69ed3df4SEmmanuel Vadot cache-line-size = <64>; 568*69ed3df4SEmmanuel Vadot cache-sets = <0x1000>; /* 16-way set */ 569*69ed3df4SEmmanuel Vadot cache-size = <0x400000>; /* 4MB */ 570*69ed3df4SEmmanuel Vadot cache-unified; 571*69ed3df4SEmmanuel Vadot }; 572*69ed3df4SEmmanuel Vadot 573*69ed3df4SEmmanuel Vadot cl3_l3: l3-cache3 { 574*69ed3df4SEmmanuel Vadot compatible = "cache"; 575*69ed3df4SEmmanuel Vadot cache-level = <3>; 576*69ed3df4SEmmanuel Vadot cache-line-size = <64>; 577*69ed3df4SEmmanuel Vadot cache-sets = <0x1000>; /* 16-way set */ 578*69ed3df4SEmmanuel Vadot cache-size = <0x400000>; /* 4MB */ 579*69ed3df4SEmmanuel Vadot cache-unified; 580*69ed3df4SEmmanuel Vadot }; 581*69ed3df4SEmmanuel Vadot }; 582*69ed3df4SEmmanuel Vadot 583*69ed3df4SEmmanuel Vadot firmware { 584*69ed3df4SEmmanuel Vadot scmi { 585*69ed3df4SEmmanuel Vadot compatible = "arm,scmi"; 586*69ed3df4SEmmanuel Vadot #address-cells = <1>; 587*69ed3df4SEmmanuel Vadot #size-cells = <0>; 588*69ed3df4SEmmanuel Vadot 589*69ed3df4SEmmanuel Vadot mbox-names = "tx", "tx_reply", "rx"; 590*69ed3df4SEmmanuel Vadot mboxes = <&mbox_db_tx 0 0 0>, 591*69ed3df4SEmmanuel Vadot <&mbox_db_rx 0 0 0>, 592*69ed3df4SEmmanuel Vadot <&mbox_db_rx 0 0 2>; 593*69ed3df4SEmmanuel Vadot shmem = <&scmi_shmem_tx &scmi_shmem_rx>; 594*69ed3df4SEmmanuel Vadot 595*69ed3df4SEmmanuel Vadot scmi_dvfs: protocol@13 { 596*69ed3df4SEmmanuel Vadot reg = <0x13>; 597*69ed3df4SEmmanuel Vadot #clock-cells = <1>; 598*69ed3df4SEmmanuel Vadot }; 599*69ed3df4SEmmanuel Vadot }; 600*69ed3df4SEmmanuel Vadot }; 601*69ed3df4SEmmanuel Vadot 602*69ed3df4SEmmanuel Vadot dsu-pmu-0 { 603*69ed3df4SEmmanuel Vadot compatible = "arm,dsu-pmu"; 604*69ed3df4SEmmanuel Vadot cpus = <&cpu0 &cpu1 &cpu2 &cpu3>; 605*69ed3df4SEmmanuel Vadot interrupts = <GIC_SPI 184 IRQ_TYPE_EDGE_RISING>; 606*69ed3df4SEmmanuel Vadot }; 607*69ed3df4SEmmanuel Vadot 608*69ed3df4SEmmanuel Vadot dsu-pmu-1 { 609*69ed3df4SEmmanuel Vadot compatible = "arm,dsu-pmu"; 610*69ed3df4SEmmanuel Vadot cpus = <&cpu4 &cpu5 &cpu6 &cpu7>; 611*69ed3df4SEmmanuel Vadot interrupts = <GIC_SPI 185 IRQ_TYPE_EDGE_RISING>; 612*69ed3df4SEmmanuel Vadot }; 613*69ed3df4SEmmanuel Vadot 614*69ed3df4SEmmanuel Vadot dsu-pmu-2 { 615*69ed3df4SEmmanuel Vadot compatible = "arm,dsu-pmu"; 616*69ed3df4SEmmanuel Vadot cpus = <&cpu8 &cpu9 &cpu10 &cpu11>; 617*69ed3df4SEmmanuel Vadot interrupts = <GIC_SPI 186 IRQ_TYPE_EDGE_RISING>; 618*69ed3df4SEmmanuel Vadot }; 619*69ed3df4SEmmanuel Vadot 620*69ed3df4SEmmanuel Vadot dsu-pmu-3 { 621*69ed3df4SEmmanuel Vadot compatible = "arm,dsu-pmu"; 622*69ed3df4SEmmanuel Vadot cpus = <&cpu12 &cpu13 &cpu14 &cpu15>; 623*69ed3df4SEmmanuel Vadot interrupts = <GIC_SPI 187 IRQ_TYPE_EDGE_RISING>; 624*69ed3df4SEmmanuel Vadot }; 625*69ed3df4SEmmanuel Vadot 626*69ed3df4SEmmanuel Vadot psci { 627*69ed3df4SEmmanuel Vadot compatible = "arm,psci-1.0", "arm,psci-0.2"; 628*69ed3df4SEmmanuel Vadot method = "smc"; 629*69ed3df4SEmmanuel Vadot }; 630*69ed3df4SEmmanuel Vadot 631*69ed3df4SEmmanuel Vadot soc: soc { 632*69ed3df4SEmmanuel Vadot compatible = "simple-bus"; 633*69ed3df4SEmmanuel Vadot #address-cells = <2>; 634*69ed3df4SEmmanuel Vadot #size-cells = <2>; 635*69ed3df4SEmmanuel Vadot ranges; 636*69ed3df4SEmmanuel Vadot 637*69ed3df4SEmmanuel Vadot sram: sram@104000 { 638*69ed3df4SEmmanuel Vadot compatible = "mmio-sram"; 639*69ed3df4SEmmanuel Vadot reg = <0x0 0x00104000 0x0 0x00001000>; 640*69ed3df4SEmmanuel Vadot #address-cells = <1>; 641*69ed3df4SEmmanuel Vadot #size-cells = <1>; 642*69ed3df4SEmmanuel Vadot ranges = <0 0x0 0x00104000 0x00001000>; 643*69ed3df4SEmmanuel Vadot 644*69ed3df4SEmmanuel Vadot scmi_shmem_tx: scpshmem-sram-section@0 { 645*69ed3df4SEmmanuel Vadot compatible = "arm,scmi-shmem"; 646*69ed3df4SEmmanuel Vadot reg = <0x0 0x100>; 647*69ed3df4SEmmanuel Vadot }; 648*69ed3df4SEmmanuel Vadot 649*69ed3df4SEmmanuel Vadot scmi_shmem_rx: scpshmem-sram-section@100 { 650*69ed3df4SEmmanuel Vadot compatible = "arm,scmi-shmem"; 651*69ed3df4SEmmanuel Vadot reg = <0x100 0x100>; 652*69ed3df4SEmmanuel Vadot }; 653*69ed3df4SEmmanuel Vadot }; 654*69ed3df4SEmmanuel Vadot 655*69ed3df4SEmmanuel Vadot timer@1a810000 { 656*69ed3df4SEmmanuel Vadot compatible = "arm,armv7-timer-mem"; 657*69ed3df4SEmmanuel Vadot reg = <0x0 0x1a810000 0x0 0x10000>; 658*69ed3df4SEmmanuel Vadot #address-cells = <1>; 659*69ed3df4SEmmanuel Vadot #size-cells = <1>; 660*69ed3df4SEmmanuel Vadot 661*69ed3df4SEmmanuel Vadot /* 662*69ed3df4SEmmanuel Vadot * Map child space [0x0..0x30000) to parent @ 0x1a810000 663*69ed3df4SEmmanuel Vadot */ 664*69ed3df4SEmmanuel Vadot ranges = <0x0 0x0 0x1a810000 0x00030000>; 665*69ed3df4SEmmanuel Vadot 666*69ed3df4SEmmanuel Vadot frame@20000 { 667*69ed3df4SEmmanuel Vadot reg = <0x20000 0x10000>; 668*69ed3df4SEmmanuel Vadot frame-number = <0>; 669*69ed3df4SEmmanuel Vadot interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>; 670*69ed3df4SEmmanuel Vadot }; 671*69ed3df4SEmmanuel Vadot }; 672*69ed3df4SEmmanuel Vadot 673*69ed3df4SEmmanuel Vadot gic: interrupt-controller@20800000 { 674*69ed3df4SEmmanuel Vadot compatible = "arm,gic-v3"; 675*69ed3df4SEmmanuel Vadot #interrupt-cells = <3>; 676*69ed3df4SEmmanuel Vadot #address-cells = <2>; 677*69ed3df4SEmmanuel Vadot #size-cells = <2>; 678*69ed3df4SEmmanuel Vadot #redistributor-regions = <16>; 679*69ed3df4SEmmanuel Vadot interrupt-controller; 680*69ed3df4SEmmanuel Vadot interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>; 681*69ed3df4SEmmanuel Vadot ranges; 682*69ed3df4SEmmanuel Vadot 683*69ed3df4SEmmanuel Vadot /* 684*69ed3df4SEmmanuel Vadot * With GIC-A720AE multiview enabled, GICR_TYPER.Last is 685*69ed3df4SEmmanuel Vadot * always reported as 1 on redistributor views other than 686*69ed3df4SEmmanuel Vadot * view 0. This breaks discovery of a single contiguous 687*69ed3df4SEmmanuel Vadot * GICR frame region, so each core is described with its own 688*69ed3df4SEmmanuel Vadot * redistributor region. 689*69ed3df4SEmmanuel Vadot */ 690*69ed3df4SEmmanuel Vadot reg = <0x0 0x20800000 0x0 0x10000>, /* GICD */ 691*69ed3df4SEmmanuel Vadot <0x0 0x20880000 0x0 0x40000>, /* 16 * GICR */ 692*69ed3df4SEmmanuel Vadot <0x0 0x208c0000 0x0 0x40000>, 693*69ed3df4SEmmanuel Vadot <0x0 0x20900000 0x0 0x40000>, 694*69ed3df4SEmmanuel Vadot <0x0 0x20940000 0x0 0x40000>, 695*69ed3df4SEmmanuel Vadot <0x0 0x20980000 0x0 0x40000>, 696*69ed3df4SEmmanuel Vadot <0x0 0x209c0000 0x0 0x40000>, 697*69ed3df4SEmmanuel Vadot <0x0 0x20a00000 0x0 0x40000>, 698*69ed3df4SEmmanuel Vadot <0x0 0x20a40000 0x0 0x40000>, 699*69ed3df4SEmmanuel Vadot <0x0 0x20a80000 0x0 0x40000>, 700*69ed3df4SEmmanuel Vadot <0x0 0x20ac0000 0x0 0x40000>, 701*69ed3df4SEmmanuel Vadot <0x0 0x20b00000 0x0 0x40000>, 702*69ed3df4SEmmanuel Vadot <0x0 0x20b40000 0x0 0x40000>, 703*69ed3df4SEmmanuel Vadot <0x0 0x20b80000 0x0 0x40000>, 704*69ed3df4SEmmanuel Vadot <0x0 0x20bc0000 0x0 0x40000>, 705*69ed3df4SEmmanuel Vadot <0x0 0x20c00000 0x0 0x40000>, 706*69ed3df4SEmmanuel Vadot <0x0 0x20c40000 0x0 0x40000>; 707*69ed3df4SEmmanuel Vadot 708*69ed3df4SEmmanuel Vadot its: msi-controller@20840000 { 709*69ed3df4SEmmanuel Vadot compatible = "arm,gic-v3-its"; 710*69ed3df4SEmmanuel Vadot reg = <0x0 0x20840000 0x0 0x40000>; 711*69ed3df4SEmmanuel Vadot msi-controller; 712*69ed3df4SEmmanuel Vadot #msi-cells = <1>; 713*69ed3df4SEmmanuel Vadot }; 714*69ed3df4SEmmanuel Vadot }; 715*69ed3df4SEmmanuel Vadot 716*69ed3df4SEmmanuel Vadot /* 717*69ed3df4SEmmanuel Vadot * UART is fixed at 24MHz, both UARTCLK and PCLK. 718*69ed3df4SEmmanuel Vadot */ 719*69ed3df4SEmmanuel Vadot soc_serial0: serial@1a400000 { 720*69ed3df4SEmmanuel Vadot compatible = "arm,pl011", "arm,primecell"; 721*69ed3df4SEmmanuel Vadot reg = <0x0 0x1a400000 0x0 0x10000>; 722*69ed3df4SEmmanuel Vadot interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>; 723*69ed3df4SEmmanuel Vadot clocks = <&soc_clk24mhz>, <&soc_clk24mhz>; 724*69ed3df4SEmmanuel Vadot clock-names = "uartclk", "apb_pclk"; 725*69ed3df4SEmmanuel Vadot }; 726*69ed3df4SEmmanuel Vadot 727*69ed3df4SEmmanuel Vadot watchdog@1a420000 { 728*69ed3df4SEmmanuel Vadot compatible = "arm,sbsa-gwdt"; 729*69ed3df4SEmmanuel Vadot reg = <0x0 0x1a420000 0x0 0x10000>, 730*69ed3df4SEmmanuel Vadot <0x0 0x1a430000 0x0 0x10000>; 731*69ed3df4SEmmanuel Vadot interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>; 732*69ed3df4SEmmanuel Vadot }; 733*69ed3df4SEmmanuel Vadot 734*69ed3df4SEmmanuel Vadot rtc@300d0000 { 735*69ed3df4SEmmanuel Vadot compatible = "arm,pl031", "arm,primecell"; 736*69ed3df4SEmmanuel Vadot reg = <0x0 0x300d0000 0x0 0x10000>; 737*69ed3df4SEmmanuel Vadot interrupts = <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>; 738*69ed3df4SEmmanuel Vadot clocks = <&soc_clk24mhz>; 739*69ed3df4SEmmanuel Vadot clock-names = "apb_pclk"; 740*69ed3df4SEmmanuel Vadot }; 741*69ed3df4SEmmanuel Vadot 742*69ed3df4SEmmanuel Vadot mbox_db_tx: mailbox@40020000 { 743*69ed3df4SEmmanuel Vadot compatible = "arm,mhuv3"; 744*69ed3df4SEmmanuel Vadot reg = <0x0 0x40020000 0x0 0x30000>; 745*69ed3df4SEmmanuel Vadot interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>; 746*69ed3df4SEmmanuel Vadot interrupt-names = "combined"; 747*69ed3df4SEmmanuel Vadot clocks = <&soc_clk24mhz>; 748*69ed3df4SEmmanuel Vadot #mbox-cells = <3>; 749*69ed3df4SEmmanuel Vadot }; 750*69ed3df4SEmmanuel Vadot 751*69ed3df4SEmmanuel Vadot mbox_db_rx: mailbox@40060000 { 752*69ed3df4SEmmanuel Vadot compatible = "arm,mhuv3"; 753*69ed3df4SEmmanuel Vadot reg = <0x0 0x40060000 0x0 0x30000>; 754*69ed3df4SEmmanuel Vadot interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>; 755*69ed3df4SEmmanuel Vadot interrupt-names = "combined"; 756*69ed3df4SEmmanuel Vadot clocks = <&soc_clk24mhz>; 757*69ed3df4SEmmanuel Vadot #mbox-cells = <3>; 758*69ed3df4SEmmanuel Vadot }; 759*69ed3df4SEmmanuel Vadot }; 760*69ed3df4SEmmanuel Vadot 761*69ed3df4SEmmanuel Vadot timer { 762*69ed3df4SEmmanuel Vadot compatible = "arm,armv8-timer"; 763*69ed3df4SEmmanuel Vadot interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>, 764*69ed3df4SEmmanuel Vadot <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>, 765*69ed3df4SEmmanuel Vadot <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>, 766*69ed3df4SEmmanuel Vadot <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>, 767*69ed3df4SEmmanuel Vadot <GIC_PPI 12 IRQ_TYPE_LEVEL_LOW>; 768*69ed3df4SEmmanuel Vadot }; 769*69ed3df4SEmmanuel Vadot}; 770