1*b666f0a1SAmr Mohamed/* 2*b666f0a1SAmr Mohamed * Copyright (c) 2025, Arm Limited. All rights reserved. 3*b666f0a1SAmr Mohamed * 4*b666f0a1SAmr Mohamed * SPDX-License-Identifier: BSD-3-Clause 5*b666f0a1SAmr Mohamed */ 6*b666f0a1SAmr Mohamed 7*b666f0a1SAmr Mohamed#ifndef RDASPEN_DEFS_DTSI 8*b666f0a1SAmr Mohamed#define RDASPEN_DEFS_DTSI 9*b666f0a1SAmr Mohamed 10*b666f0a1SAmr Mohamed#include <platform_def.h> 11*b666f0a1SAmr Mohamed 12*b666f0a1SAmr Mohamed#define CPU(cluster_num, cluster_core_num, cpu_num, mpid) \ 13*b666f0a1SAmr Mohamed CPU##cpu_num:cpu@mpid## { \ 14*b666f0a1SAmr Mohamed device_type = "cpu"; \ 15*b666f0a1SAmr Mohamed compatible = "arm,cortex-a720ae"; \ 16*b666f0a1SAmr Mohamed reg = <0x0 0x##mpid>; \ 17*b666f0a1SAmr Mohamed enable-method = "psci"; \ 18*b666f0a1SAmr Mohamed i-cache-size = <0x10000>; \ 19*b666f0a1SAmr Mohamed i-cache-line-size = <0x40>; \ 20*b666f0a1SAmr Mohamed i-cache-sets = <0x100>; \ 21*b666f0a1SAmr Mohamed d-cache-size = <0x10000>; \ 22*b666f0a1SAmr Mohamed d-cache-line-size = <0x40>; \ 23*b666f0a1SAmr Mohamed d-cache-sets = <0x100>; \ 24*b666f0a1SAmr Mohamed next-level-cache = <&CL##cluster_num##_L2_##cluster_core_num>; \ 25*b666f0a1SAmr Mohamed CL##cluster_num##_L2_##cluster_core_num: l2-cache##cpu_num { \ 26*b666f0a1SAmr Mohamed compatible = "cache"; \ 27*b666f0a1SAmr Mohamed cache-unified; \ 28*b666f0a1SAmr Mohamed cache-level = <0x02>; \ 29*b666f0a1SAmr Mohamed /* 512KB */ \ 30*b666f0a1SAmr Mohamed cache-size = <0x80000>; \ 31*b666f0a1SAmr Mohamed /* 64B */ \ 32*b666f0a1SAmr Mohamed cache-line-size = <0x40>; \ 33*b666f0a1SAmr Mohamed /* 8-way set */ \ 34*b666f0a1SAmr Mohamed cache-sets = <0x400>; \ 35*b666f0a1SAmr Mohamed next-level-cache = <&CL##cluster_num##_L3>; \ 36*b666f0a1SAmr Mohamed }; \ 37*b666f0a1SAmr Mohamed }; 38*b666f0a1SAmr Mohamed 39*b666f0a1SAmr Mohamed#define CORE(cluster_core_num, cpu_num) \ 40*b666f0a1SAmr Mohamed core##cluster_core_num { \ 41*b666f0a1SAmr Mohamed cpu = <&CPU##cpu_num>; \ 42*b666f0a1SAmr Mohamed }; 43*b666f0a1SAmr Mohamed 44*b666f0a1SAmr Mohamed#define CLUSTER_L3_CACHE(cluster_num) \ 45*b666f0a1SAmr Mohamed CL##cluster_num##_L3: l3-cache##cluster_num## { \ 46*b666f0a1SAmr Mohamed compatible = "arm,dsu-l3-cache", "cache"; \ 47*b666f0a1SAmr Mohamed cache-level = <0x03>; \ 48*b666f0a1SAmr Mohamed /* 4MB */ \ 49*b666f0a1SAmr Mohamed cache-size = <0x400000>; \ 50*b666f0a1SAmr Mohamed /* 64B */ \ 51*b666f0a1SAmr Mohamed cache-line-size = <0x40>; \ 52*b666f0a1SAmr Mohamed /* 16-way set */ \ 53*b666f0a1SAmr Mohamed cache-sets = <0x1000>; \ 54*b666f0a1SAmr Mohamed }; 55*b666f0a1SAmr Mohamed 56*b666f0a1SAmr Mohamed#define CLUSTER_DSU_PMU(cluster_num, cpu_list, interrupt_map) \ 57*b666f0a1SAmr Mohamed dsu-pmu-##cluster_num { \ 58*b666f0a1SAmr Mohamed compatible = "arm,dsu-pmu"; \ 59*b666f0a1SAmr Mohamed cpus = ##cpu_list; \ 60*b666f0a1SAmr Mohamed interrupts = ##interrupt_map; \ 61*b666f0a1SAmr Mohamed }; 62*b666f0a1SAmr Mohamed 63*b666f0a1SAmr Mohamed#define CLUSTER_0_DSU_PMU_INTERRUPT_MAP <GIC_SPI 216 IRQ_TYPE_EDGE_RISING> 64*b666f0a1SAmr Mohamed#define CLUSTER_1_DSU_PMU_INTERRUPT_MAP <GIC_SPI 217 IRQ_TYPE_EDGE_RISING> 65*b666f0a1SAmr Mohamed#define CLUSTER_2_DSU_PMU_INTERRUPT_MAP <GIC_SPI 218 IRQ_TYPE_EDGE_RISING> 66*b666f0a1SAmr Mohamed#define CLUSTER_3_DSU_PMU_INTERRUPT_MAP <GIC_SPI 219 IRQ_TYPE_EDGE_RISING> 67*b666f0a1SAmr Mohamed 68*b666f0a1SAmr Mohamed#if (PLATFORM_CLUSTER_0_CORE_COUNT == 1) 69*b666f0a1SAmr Mohamed#define CLUSTER_0_CPU_LIST \ 70*b666f0a1SAmr Mohamed CORE(0, 0) 71*b666f0a1SAmr Mohamed#define CLUSTER_0_CPUS \ 72*b666f0a1SAmr Mohamed CPU(0, 0, 0, 0) 73*b666f0a1SAmr Mohamed#define CLUSTER_0_DSU_PMU_CPU_LIST <&CPU0> 74*b666f0a1SAmr Mohamed#elif (PLATFORM_CLUSTER_0_CORE_COUNT == 2) 75*b666f0a1SAmr Mohamed#define CLUSTER_0_CPU_LIST \ 76*b666f0a1SAmr Mohamed CORE(0, 0) \ 77*b666f0a1SAmr Mohamed CORE(1, 1) 78*b666f0a1SAmr Mohamed#define CLUSTER_0_CPUS \ 79*b666f0a1SAmr Mohamed CPU(0, 0, 0, 0) \ 80*b666f0a1SAmr Mohamed CPU(0, 1, 1, 100) 81*b666f0a1SAmr Mohamed#define CLUSTER_0_DSU_PMU_CPU_LIST <&CPU0>, <&CPU1> 82*b666f0a1SAmr Mohamed#elif (PLATFORM_CLUSTER_0_CORE_COUNT == 3) 83*b666f0a1SAmr Mohamed#define CLUSTER_0_CPU_LIST \ 84*b666f0a1SAmr Mohamed CORE(0, 0) \ 85*b666f0a1SAmr Mohamed CORE(1, 1) \ 86*b666f0a1SAmr Mohamed CORE(2, 2) 87*b666f0a1SAmr Mohamed#define CLUSTER_0_CPUS \ 88*b666f0a1SAmr Mohamed CPU(0, 0, 0, 0) \ 89*b666f0a1SAmr Mohamed CPU(0, 1, 1, 100) \ 90*b666f0a1SAmr Mohamed CPU(0, 2, 2, 200) 91*b666f0a1SAmr Mohamed#define CLUSTER_0_DSU_PMU_CPU_LIST <&CPU0>, <&CPU1>, <&CPU2> 92*b666f0a1SAmr Mohamed#elif (PLATFORM_CLUSTER_0_CORE_COUNT == 4) 93*b666f0a1SAmr Mohamed#define CLUSTER_0_CPU_LIST \ 94*b666f0a1SAmr Mohamed CORE(0, 0) \ 95*b666f0a1SAmr Mohamed CORE(1, 1) \ 96*b666f0a1SAmr Mohamed CORE(2, 2) \ 97*b666f0a1SAmr Mohamed CORE(3, 3) 98*b666f0a1SAmr Mohamed#define CLUSTER_0_CPUS \ 99*b666f0a1SAmr Mohamed CPU(0, 0, 0, 0) \ 100*b666f0a1SAmr Mohamed CPU(0, 1, 1, 100) \ 101*b666f0a1SAmr Mohamed CPU(0, 2, 2, 200) \ 102*b666f0a1SAmr Mohamed CPU(0, 3, 3, 300) 103*b666f0a1SAmr Mohamed#define CLUSTER_0_DSU_PMU_CPU_LIST <&CPU0>, <&CPU1>, <&CPU2>, <&CPU3> 104*b666f0a1SAmr Mohamed#endif 105*b666f0a1SAmr Mohamed 106*b666f0a1SAmr Mohamed#if (PLATFORM_CLUSTER_1_CORE_COUNT == 1) 107*b666f0a1SAmr Mohamed#define CLUSTER_1_CPU_LIST \ 108*b666f0a1SAmr Mohamed CORE(0, 4) 109*b666f0a1SAmr Mohamed#define CLUSTER_1_CPUS \ 110*b666f0a1SAmr Mohamed CPU(1, 0, 4, 10000) 111*b666f0a1SAmr Mohamed#define CLUSTER_1_DSU_PMU_CPU_LIST <&CPU4> 112*b666f0a1SAmr Mohamed#elif (PLATFORM_CLUSTER_1_CORE_COUNT == 2) 113*b666f0a1SAmr Mohamed#define CLUSTER_1_CPU_LIST \ 114*b666f0a1SAmr Mohamed CORE(0, 4) \ 115*b666f0a1SAmr Mohamed CORE(1, 5) 116*b666f0a1SAmr Mohamed#define CLUSTER_1_CPUS \ 117*b666f0a1SAmr Mohamed CPU(1, 0, 4, 10000) \ 118*b666f0a1SAmr Mohamed CPU(1, 1, 5, 10100) 119*b666f0a1SAmr Mohamed#define CLUSTER_1_DSU_PMU_CPU_LIST <&CPU4>, <&CPU5> 120*b666f0a1SAmr Mohamed#elif (PLATFORM_CLUSTER_1_CORE_COUNT == 3) 121*b666f0a1SAmr Mohamed#define CLUSTER_1_CPU_LIST \ 122*b666f0a1SAmr Mohamed CORE(0, 4) \ 123*b666f0a1SAmr Mohamed CORE(1, 5) \ 124*b666f0a1SAmr Mohamed CORE(2, 6) 125*b666f0a1SAmr Mohamed#define CLUSTER_1_CPUS \ 126*b666f0a1SAmr Mohamed CPU(1, 0, 4, 10000) \ 127*b666f0a1SAmr Mohamed CPU(1, 1, 5, 10100) \ 128*b666f0a1SAmr Mohamed CPU(1, 2, 6, 10200) 129*b666f0a1SAmr Mohamed#define CLUSTER_1_DSU_PMU_CPU_LIST <&CPU4>, <&CPU5>, <&CPU6> 130*b666f0a1SAmr Mohamed#elif (PLATFORM_CLUSTER_1_CORE_COUNT == 4) 131*b666f0a1SAmr Mohamed#define CLUSTER_1_CPU_LIST \ 132*b666f0a1SAmr Mohamed CORE(0, 4) \ 133*b666f0a1SAmr Mohamed CORE(1, 5) \ 134*b666f0a1SAmr Mohamed CORE(2, 6) \ 135*b666f0a1SAmr Mohamed CORE(3, 7) 136*b666f0a1SAmr Mohamed#define CLUSTER_1_CPUS \ 137*b666f0a1SAmr Mohamed CPU(1, 0, 4, 10000) \ 138*b666f0a1SAmr Mohamed CPU(1, 1, 5, 10100) \ 139*b666f0a1SAmr Mohamed CPU(1, 2, 6, 10200) \ 140*b666f0a1SAmr Mohamed CPU(1, 3, 7, 10300) 141*b666f0a1SAmr Mohamed#define CLUSTER_1_DSU_PMU_CPU_LIST <&CPU4>, <&CPU5>, <&CPU6>, <&CPU7> 142*b666f0a1SAmr Mohamed#endif 143*b666f0a1SAmr Mohamed 144*b666f0a1SAmr Mohamed#if (PLATFORM_CLUSTER_2_CORE_COUNT == 1) 145*b666f0a1SAmr Mohamed#define CLUSTER_2_CPU_LIST \ 146*b666f0a1SAmr Mohamed CORE(0, 8) 147*b666f0a1SAmr Mohamed#define CLUSTER_2_CPUS \ 148*b666f0a1SAmr Mohamed CPU(2, 0, 8, 20000) 149*b666f0a1SAmr Mohamed#define CLUSTER_2_DSU_PMU_CPU_LIST <&CPU8> 150*b666f0a1SAmr Mohamed#elif (PLATFORM_CLUSTER_2_CORE_COUNT == 2) 151*b666f0a1SAmr Mohamed#define CLUSTER_2_CPU_LIST \ 152*b666f0a1SAmr Mohamed CORE(0, 8) \ 153*b666f0a1SAmr Mohamed CORE(1, 9) 154*b666f0a1SAmr Mohamed#define CLUSTER_2_CPUS \ 155*b666f0a1SAmr Mohamed CPU(2, 0, 8, 20000) \ 156*b666f0a1SAmr Mohamed CPU(2, 1, 9, 20100) 157*b666f0a1SAmr Mohamed#define CLUSTER_2_DSU_PMU_CPU_LIST <&CPU8>, <&CPU9> 158*b666f0a1SAmr Mohamed#elif (PLATFORM_CLUSTER_2_CORE_COUNT == 3) 159*b666f0a1SAmr Mohamed#define CLUSTER_2_CPU_LIST \ 160*b666f0a1SAmr Mohamed CORE(0, 8) \ 161*b666f0a1SAmr Mohamed CORE(1, 9) \ 162*b666f0a1SAmr Mohamed CORE(2, 10) 163*b666f0a1SAmr Mohamed#define CLUSTER_2_CPUS \ 164*b666f0a1SAmr Mohamed CPU(2, 0, 8, 20000) \ 165*b666f0a1SAmr Mohamed CPU(2, 1, 9, 20100) \ 166*b666f0a1SAmr Mohamed CPU(2, 2, 10, 20200) 167*b666f0a1SAmr Mohamed#define CLUSTER_2_DSU_PMU_CPU_LIST <&CPU8>, <&CPU9>, <&CPU10> 168*b666f0a1SAmr Mohamed#elif (PLATFORM_CLUSTER_2_CORE_COUNT == 4) 169*b666f0a1SAmr Mohamed#define CLUSTER_2_CPU_LIST \ 170*b666f0a1SAmr Mohamed CORE(0, 8) \ 171*b666f0a1SAmr Mohamed CORE(1, 9) \ 172*b666f0a1SAmr Mohamed CORE(2, 10) \ 173*b666f0a1SAmr Mohamed CORE(3, 11) 174*b666f0a1SAmr Mohamed#define CLUSTER_2_CPUS \ 175*b666f0a1SAmr Mohamed CPU(2, 0, 8, 20000) \ 176*b666f0a1SAmr Mohamed CPU(2, 1, 9, 20100) \ 177*b666f0a1SAmr Mohamed CPU(2, 2, 10, 20200) \ 178*b666f0a1SAmr Mohamed CPU(2, 3, 11, 20300) 179*b666f0a1SAmr Mohamed#define CLUSTER_2_DSU_PMU_CPU_LIST <&CPU8>, <&CPU9>, <&CPU10>, <&CPU11> 180*b666f0a1SAmr Mohamed#endif 181*b666f0a1SAmr Mohamed 182*b666f0a1SAmr Mohamed#if (PLATFORM_CLUSTER_3_CORE_COUNT == 1) 183*b666f0a1SAmr Mohamed#define CLUSTER_3_CPU_LIST \ 184*b666f0a1SAmr Mohamed CORE(0, 12) 185*b666f0a1SAmr Mohamed#define CLUSTER_3_CPUS \ 186*b666f0a1SAmr Mohamed CPU(3, 0, 12, 30000) 187*b666f0a1SAmr Mohamed#define CLUSTER_3_DSU_PMU_CPU_LIST <&CPU12> 188*b666f0a1SAmr Mohamed#elif (PLATFORM_CLUSTER_3_CORE_COUNT == 2) 189*b666f0a1SAmr Mohamed#define CLUSTER_3_CPU_LIST \ 190*b666f0a1SAmr Mohamed CORE(0, 12) \ 191*b666f0a1SAmr Mohamed CORE(1, 13) 192*b666f0a1SAmr Mohamed#define CLUSTER_3_CPUS \ 193*b666f0a1SAmr Mohamed CPU(3, 0, 12, 30000) \ 194*b666f0a1SAmr Mohamed CPU(3, 1, 13, 30100) 195*b666f0a1SAmr Mohamed#define CLUSTER_3_DSU_PMU_CPU_LIST <&CPU12>, <&CPU13> 196*b666f0a1SAmr Mohamed#elif (PLATFORM_CLUSTER_3_CORE_COUNT == 3) 197*b666f0a1SAmr Mohamed#define CLUSTER_3_CPU_LIST \ 198*b666f0a1SAmr Mohamed CORE(0, 12) \ 199*b666f0a1SAmr Mohamed CORE(1, 13) \ 200*b666f0a1SAmr Mohamed CORE(2, 14) 201*b666f0a1SAmr Mohamed#define CLUSTER_3_CPUS \ 202*b666f0a1SAmr Mohamed CPU(3, 0, 12, 30000) \ 203*b666f0a1SAmr Mohamed CPU(3, 1, 13, 30100) \ 204*b666f0a1SAmr Mohamed CPU(3, 2, 14, 30200) 205*b666f0a1SAmr Mohamed#define CLUSTER_3_DSU_PMU_CPU_LIST <&CPU12>, <&CPU13>, <&CPU14> 206*b666f0a1SAmr Mohamed#elif (PLATFORM_CLUSTER_3_CORE_COUNT == 4) 207*b666f0a1SAmr Mohamed#define CLUSTER_3_CPU_LIST \ 208*b666f0a1SAmr Mohamed CORE(0, 12) \ 209*b666f0a1SAmr Mohamed CORE(1, 13) \ 210*b666f0a1SAmr Mohamed CORE(2, 14) \ 211*b666f0a1SAmr Mohamed CORE(3, 15) 212*b666f0a1SAmr Mohamed#define CLUSTER_3_CPUS \ 213*b666f0a1SAmr Mohamed CPU(3, 0, 12, 30000) \ 214*b666f0a1SAmr Mohamed CPU(3, 1, 13, 30100) \ 215*b666f0a1SAmr Mohamed CPU(3, 2, 14, 30200) \ 216*b666f0a1SAmr Mohamed CPU(3, 3, 15, 30300) 217*b666f0a1SAmr Mohamed#define CLUSTER_3_DSU_PMU_CPU_LIST <&CPU12>, <&CPU13>, <&CPU14>, <&CPU15> 218*b666f0a1SAmr Mohamed#endif 219*b666f0a1SAmr Mohamed 220*b666f0a1SAmr Mohamed#define CLUSTER_0_CPU_MAP \ 221*b666f0a1SAmr Mohamed cluster0 { \ 222*b666f0a1SAmr Mohamed CLUSTER_0_CPU_LIST \ 223*b666f0a1SAmr Mohamed }; 224*b666f0a1SAmr Mohamed 225*b666f0a1SAmr Mohamed#define CLUSTER_0_DSU_PMU \ 226*b666f0a1SAmr Mohamed CLUSTER_DSU_PMU(0, \ 227*b666f0a1SAmr Mohamed CLUSTER_0_DSU_PMU_CPU_LIST, \ 228*b666f0a1SAmr Mohamed CLUSTER_0_DSU_PMU_INTERRUPT_MAP) 229*b666f0a1SAmr Mohamed 230*b666f0a1SAmr Mohamed#if (PLATFORM_CLUSTER_1_CORE_COUNT >= 1) 231*b666f0a1SAmr Mohamed#define CLUSTER_1_CPU_MAP \ 232*b666f0a1SAmr Mohamed cluster1 { \ 233*b666f0a1SAmr Mohamed CLUSTER_1_CPU_LIST \ 234*b666f0a1SAmr Mohamed }; 235*b666f0a1SAmr Mohamed 236*b666f0a1SAmr Mohamed#define CLUSTER_1_DSU_PMU \ 237*b666f0a1SAmr Mohamed CLUSTER_DSU_PMU(1, \ 238*b666f0a1SAmr Mohamed CLUSTER_1_DSU_PMU_CPU_LIST, \ 239*b666f0a1SAmr Mohamed CLUSTER_1_DSU_PMU_INTERRUPT_MAP) 240*b666f0a1SAmr Mohamed#endif 241*b666f0a1SAmr Mohamed 242*b666f0a1SAmr Mohamed#if (PLATFORM_CLUSTER_2_CORE_COUNT >= 1) 243*b666f0a1SAmr Mohamed#define CLUSTER_2_CPU_MAP \ 244*b666f0a1SAmr Mohamed cluster2 { \ 245*b666f0a1SAmr Mohamed CLUSTER_2_CPU_LIST \ 246*b666f0a1SAmr Mohamed }; 247*b666f0a1SAmr Mohamed 248*b666f0a1SAmr Mohamed#define CLUSTER_2_DSU_PMU \ 249*b666f0a1SAmr Mohamed CLUSTER_DSU_PMU(2, \ 250*b666f0a1SAmr Mohamed CLUSTER_2_DSU_PMU_CPU_LIST, \ 251*b666f0a1SAmr Mohamed CLUSTER_2_DSU_PMU_INTERRUPT_MAP) 252*b666f0a1SAmr Mohamed#endif 253*b666f0a1SAmr Mohamed 254*b666f0a1SAmr Mohamed#if (PLATFORM_CLUSTER_3_CORE_COUNT >= 1) 255*b666f0a1SAmr Mohamed#define CLUSTER_3_CPU_MAP \ 256*b666f0a1SAmr Mohamed cluster3 { \ 257*b666f0a1SAmr Mohamed CLUSTER_3_CPU_LIST \ 258*b666f0a1SAmr Mohamed }; 259*b666f0a1SAmr Mohamed 260*b666f0a1SAmr Mohamed#define CLUSTER_3_DSU_PMU \ 261*b666f0a1SAmr Mohamed CLUSTER_DSU_PMU(3, \ 262*b666f0a1SAmr Mohamed CLUSTER_3_DSU_PMU_CPU_LIST, \ 263*b666f0a1SAmr Mohamed CLUSTER_3_DSU_PMU_INTERRUPT_MAP) 264*b666f0a1SAmr Mohamed#endif 265*b666f0a1SAmr Mohamed 266*b666f0a1SAmr Mohamed/* Max 4 clusters */ 267*b666f0a1SAmr Mohamed#if (PLAT_ARM_CLUSTER_COUNT == 1) 268*b666f0a1SAmr Mohamed#define CPU_MAP \ 269*b666f0a1SAmr Mohamed cpu-map { \ 270*b666f0a1SAmr Mohamed CLUSTER_0_CPU_MAP \ 271*b666f0a1SAmr Mohamed }; 272*b666f0a1SAmr Mohamed 273*b666f0a1SAmr Mohamed#define CPUS \ 274*b666f0a1SAmr Mohamed CLUSTER_0_CPUS 275*b666f0a1SAmr Mohamed 276*b666f0a1SAmr Mohamed#define DSU_PMU \ 277*b666f0a1SAmr Mohamed CLUSTER_0_DSU_PMU 278*b666f0a1SAmr Mohamed 279*b666f0a1SAmr Mohamed#define L3_CACHE \ 280*b666f0a1SAmr Mohamed CLUSTER_L3_CACHE(0) 281*b666f0a1SAmr Mohamed 282*b666f0a1SAmr Mohamed#elif (PLAT_ARM_CLUSTER_COUNT == 2) 283*b666f0a1SAmr Mohamed#define CPU_MAP \ 284*b666f0a1SAmr Mohamed cpu-map { \ 285*b666f0a1SAmr Mohamed CLUSTER_0_CPU_MAP \ 286*b666f0a1SAmr Mohamed CLUSTER_1_CPU_MAP \ 287*b666f0a1SAmr Mohamed }; 288*b666f0a1SAmr Mohamed 289*b666f0a1SAmr Mohamed#define CPUS \ 290*b666f0a1SAmr Mohamed CLUSTER_0_CPUS \ 291*b666f0a1SAmr Mohamed CLUSTER_1_CPUS 292*b666f0a1SAmr Mohamed 293*b666f0a1SAmr Mohamed#define DSU_PMU \ 294*b666f0a1SAmr Mohamed CLUSTER_0_DSU_PMU \ 295*b666f0a1SAmr Mohamed CLUSTER_1_DSU_PMU 296*b666f0a1SAmr Mohamed 297*b666f0a1SAmr Mohamed#define L3_CACHE \ 298*b666f0a1SAmr Mohamed CLUSTER_L3_CACHE(0) \ 299*b666f0a1SAmr Mohamed CLUSTER_L3_CACHE(1) 300*b666f0a1SAmr Mohamed 301*b666f0a1SAmr Mohamed#elif (PLAT_ARM_CLUSTER_COUNT == 3) 302*b666f0a1SAmr Mohamed#define CPU_MAP \ 303*b666f0a1SAmr Mohamed cpu-map { \ 304*b666f0a1SAmr Mohamed CLUSTER_0_CPU_MAP \ 305*b666f0a1SAmr Mohamed CLUSTER_1_CPU_MAP \ 306*b666f0a1SAmr Mohamed CLUSTER_2_CPU_MAP \ 307*b666f0a1SAmr Mohamed }; 308*b666f0a1SAmr Mohamed 309*b666f0a1SAmr Mohamed#define CPUS \ 310*b666f0a1SAmr Mohamed CLUSTER_0_CPUS \ 311*b666f0a1SAmr Mohamed CLUSTER_1_CPUS \ 312*b666f0a1SAmr Mohamed CLUSTER_2_CPUS 313*b666f0a1SAmr Mohamed 314*b666f0a1SAmr Mohamed#define DSU_PMU \ 315*b666f0a1SAmr Mohamed CLUSTER_0_DSU_PMU \ 316*b666f0a1SAmr Mohamed CLUSTER_1_DSU_PMU \ 317*b666f0a1SAmr Mohamed CLUSTER_2_DSU_PMU 318*b666f0a1SAmr Mohamed 319*b666f0a1SAmr Mohamed#define L3_CACHE \ 320*b666f0a1SAmr Mohamed CLUSTER_L3_CACHE(0) \ 321*b666f0a1SAmr Mohamed CLUSTER_L3_CACHE(1) \ 322*b666f0a1SAmr Mohamed CLUSTER_L3_CACHE(2) 323*b666f0a1SAmr Mohamed 324*b666f0a1SAmr Mohamed#elif (PLAT_ARM_CLUSTER_COUNT == 4) 325*b666f0a1SAmr Mohamed#define CPU_MAP \ 326*b666f0a1SAmr Mohamed cpu-map { \ 327*b666f0a1SAmr Mohamed CLUSTER_0_CPU_MAP \ 328*b666f0a1SAmr Mohamed CLUSTER_1_CPU_MAP \ 329*b666f0a1SAmr Mohamed CLUSTER_2_CPU_MAP \ 330*b666f0a1SAmr Mohamed CLUSTER_3_CPU_MAP \ 331*b666f0a1SAmr Mohamed }; 332*b666f0a1SAmr Mohamed 333*b666f0a1SAmr Mohamed#define CPUS \ 334*b666f0a1SAmr Mohamed CLUSTER_0_CPUS \ 335*b666f0a1SAmr Mohamed CLUSTER_1_CPUS \ 336*b666f0a1SAmr Mohamed CLUSTER_2_CPUS \ 337*b666f0a1SAmr Mohamed CLUSTER_3_CPUS 338*b666f0a1SAmr Mohamed 339*b666f0a1SAmr Mohamed#define DSU_PMU \ 340*b666f0a1SAmr Mohamed CLUSTER_0_DSU_PMU \ 341*b666f0a1SAmr Mohamed CLUSTER_1_DSU_PMU \ 342*b666f0a1SAmr Mohamed CLUSTER_2_DSU_PMU \ 343*b666f0a1SAmr Mohamed CLUSTER_3_DSU_PMU 344*b666f0a1SAmr Mohamed 345*b666f0a1SAmr Mohamed#define L3_CACHE \ 346*b666f0a1SAmr Mohamed CLUSTER_L3_CACHE(0) \ 347*b666f0a1SAmr Mohamed CLUSTER_L3_CACHE(1) \ 348*b666f0a1SAmr Mohamed CLUSTER_L3_CACHE(2) \ 349*b666f0a1SAmr Mohamed CLUSTER_L3_CACHE(3) 350*b666f0a1SAmr Mohamed 351*b666f0a1SAmr Mohamed#endif /* PLAT_ARM_CLUSTER_COUNT */ 352*b666f0a1SAmr Mohamed 353*b666f0a1SAmr Mohamed#endif /* RDASPEN_DEFS_DTSI */ 354