1*67d9574cSJanne Grunau// SPDX-License-Identifier: GPL-2.0+ OR MIT 2*67d9574cSJanne Grunau/* 3*67d9574cSJanne Grunau * Nodes common for T6031, T6032 and T6034 family SoCs (M3 Max/Ultra) 4*67d9574cSJanne Grunau * 5*67d9574cSJanne Grunau * Other names: H15J, H15S, "Palma" 6*67d9574cSJanne Grunau * 7*67d9574cSJanne Grunau * Copyright The Asahi Linux Contributors 8*67d9574cSJanne Grunau */ 9*67d9574cSJanne Grunau 10*67d9574cSJanne Grunau/ { 11*67d9574cSJanne Grunau #address-cells = <2>; 12*67d9574cSJanne Grunau #size-cells = <2>; 13*67d9574cSJanne Grunau 14*67d9574cSJanne Grunau cpus { 15*67d9574cSJanne Grunau #address-cells = <2>; 16*67d9574cSJanne Grunau #size-cells = <0>; 17*67d9574cSJanne Grunau 18*67d9574cSJanne Grunau cpu-map { 19*67d9574cSJanne Grunau cluster0 { 20*67d9574cSJanne Grunau core0 { 21*67d9574cSJanne Grunau cpu = <&cpu_e00>; 22*67d9574cSJanne Grunau }; 23*67d9574cSJanne Grunau core1 { 24*67d9574cSJanne Grunau cpu = <&cpu_e01>; 25*67d9574cSJanne Grunau }; 26*67d9574cSJanne Grunau core2 { 27*67d9574cSJanne Grunau cpu = <&cpu_e02>; 28*67d9574cSJanne Grunau }; 29*67d9574cSJanne Grunau core3 { 30*67d9574cSJanne Grunau cpu = <&cpu_e03>; 31*67d9574cSJanne Grunau }; 32*67d9574cSJanne Grunau }; 33*67d9574cSJanne Grunau 34*67d9574cSJanne Grunau cluster1 { 35*67d9574cSJanne Grunau core0 { 36*67d9574cSJanne Grunau cpu = <&cpu_p00>; 37*67d9574cSJanne Grunau }; 38*67d9574cSJanne Grunau core1 { 39*67d9574cSJanne Grunau cpu = <&cpu_p01>; 40*67d9574cSJanne Grunau }; 41*67d9574cSJanne Grunau core2 { 42*67d9574cSJanne Grunau cpu = <&cpu_p02>; 43*67d9574cSJanne Grunau }; 44*67d9574cSJanne Grunau core3 { 45*67d9574cSJanne Grunau cpu = <&cpu_p03>; 46*67d9574cSJanne Grunau }; 47*67d9574cSJanne Grunau core4 { 48*67d9574cSJanne Grunau cpu = <&cpu_p04>; 49*67d9574cSJanne Grunau }; 50*67d9574cSJanne Grunau core5 { 51*67d9574cSJanne Grunau cpu = <&cpu_p05>; 52*67d9574cSJanne Grunau }; 53*67d9574cSJanne Grunau }; 54*67d9574cSJanne Grunau 55*67d9574cSJanne Grunau cluster2 { 56*67d9574cSJanne Grunau core0 { 57*67d9574cSJanne Grunau cpu = <&cpu_p10>; 58*67d9574cSJanne Grunau }; 59*67d9574cSJanne Grunau core1 { 60*67d9574cSJanne Grunau cpu = <&cpu_p11>; 61*67d9574cSJanne Grunau }; 62*67d9574cSJanne Grunau core2 { 63*67d9574cSJanne Grunau cpu = <&cpu_p12>; 64*67d9574cSJanne Grunau }; 65*67d9574cSJanne Grunau core3 { 66*67d9574cSJanne Grunau cpu = <&cpu_p13>; 67*67d9574cSJanne Grunau }; 68*67d9574cSJanne Grunau core4 { 69*67d9574cSJanne Grunau cpu = <&cpu_p14>; 70*67d9574cSJanne Grunau }; 71*67d9574cSJanne Grunau core5 { 72*67d9574cSJanne Grunau cpu = <&cpu_p15>; 73*67d9574cSJanne Grunau }; 74*67d9574cSJanne Grunau }; 75*67d9574cSJanne Grunau }; 76*67d9574cSJanne Grunau 77*67d9574cSJanne Grunau cpu_e00: cpu@0 { 78*67d9574cSJanne Grunau compatible = "apple,sawtooth"; 79*67d9574cSJanne Grunau device_type = "cpu"; 80*67d9574cSJanne Grunau reg = <0x0 0x0>; 81*67d9574cSJanne Grunau enable-method = "spin-table"; 82*67d9574cSJanne Grunau cpu-release-addr = <0 0>; /* to be filled by loader */ 83*67d9574cSJanne Grunau next-level-cache = <&l2_cache_0>; 84*67d9574cSJanne Grunau i-cache-size = <0x20000>; 85*67d9574cSJanne Grunau d-cache-size = <0x10000>; 86*67d9574cSJanne Grunau }; 87*67d9574cSJanne Grunau 88*67d9574cSJanne Grunau cpu_e01: cpu@1 { 89*67d9574cSJanne Grunau compatible = "apple,sawtooth"; 90*67d9574cSJanne Grunau device_type = "cpu"; 91*67d9574cSJanne Grunau reg = <0x0 0x1>; 92*67d9574cSJanne Grunau enable-method = "spin-table"; 93*67d9574cSJanne Grunau cpu-release-addr = <0 0>; /* to be filled by loader */ 94*67d9574cSJanne Grunau next-level-cache = <&l2_cache_0>; 95*67d9574cSJanne Grunau i-cache-size = <0x20000>; 96*67d9574cSJanne Grunau d-cache-size = <0x10000>; 97*67d9574cSJanne Grunau }; 98*67d9574cSJanne Grunau 99*67d9574cSJanne Grunau cpu_e02: cpu@2 { 100*67d9574cSJanne Grunau compatible = "apple,sawtooth"; 101*67d9574cSJanne Grunau device_type = "cpu"; 102*67d9574cSJanne Grunau reg = <0x0 0x2>; 103*67d9574cSJanne Grunau enable-method = "spin-table"; 104*67d9574cSJanne Grunau cpu-release-addr = <0 0>; /* to be filled by loader */ 105*67d9574cSJanne Grunau next-level-cache = <&l2_cache_0>; 106*67d9574cSJanne Grunau i-cache-size = <0x20000>; 107*67d9574cSJanne Grunau d-cache-size = <0x10000>; 108*67d9574cSJanne Grunau }; 109*67d9574cSJanne Grunau 110*67d9574cSJanne Grunau cpu_e03: cpu@3 { 111*67d9574cSJanne Grunau compatible = "apple,sawtooth"; 112*67d9574cSJanne Grunau device_type = "cpu"; 113*67d9574cSJanne Grunau reg = <0x0 0x3>; 114*67d9574cSJanne Grunau enable-method = "spin-table"; 115*67d9574cSJanne Grunau cpu-release-addr = <0 0>; /* to be filled by loader */ 116*67d9574cSJanne Grunau next-level-cache = <&l2_cache_0>; 117*67d9574cSJanne Grunau i-cache-size = <0x20000>; 118*67d9574cSJanne Grunau d-cache-size = <0x10000>; 119*67d9574cSJanne Grunau }; 120*67d9574cSJanne Grunau 121*67d9574cSJanne Grunau cpu_p00: cpu@10100 { 122*67d9574cSJanne Grunau compatible = "apple,everest"; 123*67d9574cSJanne Grunau device_type = "cpu"; 124*67d9574cSJanne Grunau reg = <0x0 0x10100>; 125*67d9574cSJanne Grunau enable-method = "spin-table"; 126*67d9574cSJanne Grunau cpu-release-addr = <0 0>; /* To be filled by loader */ 127*67d9574cSJanne Grunau next-level-cache = <&l2_cache_1>; 128*67d9574cSJanne Grunau i-cache-size = <0x30000>; 129*67d9574cSJanne Grunau d-cache-size = <0x20000>; 130*67d9574cSJanne Grunau }; 131*67d9574cSJanne Grunau 132*67d9574cSJanne Grunau cpu_p01: cpu@10101 { 133*67d9574cSJanne Grunau compatible = "apple,everest"; 134*67d9574cSJanne Grunau device_type = "cpu"; 135*67d9574cSJanne Grunau reg = <0x0 0x10101>; 136*67d9574cSJanne Grunau enable-method = "spin-table"; 137*67d9574cSJanne Grunau cpu-release-addr = <0 0>; /* To be filled by loader */ 138*67d9574cSJanne Grunau next-level-cache = <&l2_cache_1>; 139*67d9574cSJanne Grunau i-cache-size = <0x30000>; 140*67d9574cSJanne Grunau d-cache-size = <0x20000>; 141*67d9574cSJanne Grunau }; 142*67d9574cSJanne Grunau 143*67d9574cSJanne Grunau cpu_p02: cpu@10102 { 144*67d9574cSJanne Grunau compatible = "apple,everest"; 145*67d9574cSJanne Grunau device_type = "cpu"; 146*67d9574cSJanne Grunau reg = <0x0 0x10102>; 147*67d9574cSJanne Grunau enable-method = "spin-table"; 148*67d9574cSJanne Grunau cpu-release-addr = <0 0>; /* To be filled by loader */ 149*67d9574cSJanne Grunau next-level-cache = <&l2_cache_1>; 150*67d9574cSJanne Grunau i-cache-size = <0x30000>; 151*67d9574cSJanne Grunau d-cache-size = <0x20000>; 152*67d9574cSJanne Grunau }; 153*67d9574cSJanne Grunau 154*67d9574cSJanne Grunau cpu_p03: cpu@10103 { 155*67d9574cSJanne Grunau compatible = "apple,everest"; 156*67d9574cSJanne Grunau device_type = "cpu"; 157*67d9574cSJanne Grunau reg = <0x0 0x10103>; 158*67d9574cSJanne Grunau enable-method = "spin-table"; 159*67d9574cSJanne Grunau cpu-release-addr = <0 0>; /* To be filled by loader */ 160*67d9574cSJanne Grunau next-level-cache = <&l2_cache_1>; 161*67d9574cSJanne Grunau i-cache-size = <0x30000>; 162*67d9574cSJanne Grunau d-cache-size = <0x20000>; 163*67d9574cSJanne Grunau }; 164*67d9574cSJanne Grunau 165*67d9574cSJanne Grunau cpu_p04: cpu@10104 { 166*67d9574cSJanne Grunau compatible = "apple,everest"; 167*67d9574cSJanne Grunau device_type = "cpu"; 168*67d9574cSJanne Grunau reg = <0x0 0x10104>; 169*67d9574cSJanne Grunau enable-method = "spin-table"; 170*67d9574cSJanne Grunau cpu-release-addr = <0 0>; /* To be filled by loader */ 171*67d9574cSJanne Grunau next-level-cache = <&l2_cache_1>; 172*67d9574cSJanne Grunau i-cache-size = <0x30000>; 173*67d9574cSJanne Grunau d-cache-size = <0x20000>; 174*67d9574cSJanne Grunau }; 175*67d9574cSJanne Grunau 176*67d9574cSJanne Grunau cpu_p05: cpu@10105 { 177*67d9574cSJanne Grunau compatible = "apple,everest"; 178*67d9574cSJanne Grunau device_type = "cpu"; 179*67d9574cSJanne Grunau reg = <0x0 0x10105>; 180*67d9574cSJanne Grunau enable-method = "spin-table"; 181*67d9574cSJanne Grunau cpu-release-addr = <0 0>; /* To be filled by loader */ 182*67d9574cSJanne Grunau next-level-cache = <&l2_cache_1>; 183*67d9574cSJanne Grunau i-cache-size = <0x30000>; 184*67d9574cSJanne Grunau d-cache-size = <0x20000>; 185*67d9574cSJanne Grunau }; 186*67d9574cSJanne Grunau 187*67d9574cSJanne Grunau cpu_p10: cpu@10200 { 188*67d9574cSJanne Grunau compatible = "apple,everest"; 189*67d9574cSJanne Grunau device_type = "cpu"; 190*67d9574cSJanne Grunau reg = <0x0 0x10200>; 191*67d9574cSJanne Grunau enable-method = "spin-table"; 192*67d9574cSJanne Grunau cpu-release-addr = <0 0>; /* To be filled by loader */ 193*67d9574cSJanne Grunau next-level-cache = <&l2_cache_2>; 194*67d9574cSJanne Grunau i-cache-size = <0x30000>; 195*67d9574cSJanne Grunau d-cache-size = <0x20000>; 196*67d9574cSJanne Grunau }; 197*67d9574cSJanne Grunau 198*67d9574cSJanne Grunau cpu_p11: cpu@10201 { 199*67d9574cSJanne Grunau compatible = "apple,everest"; 200*67d9574cSJanne Grunau device_type = "cpu"; 201*67d9574cSJanne Grunau reg = <0x0 0x10201>; 202*67d9574cSJanne Grunau enable-method = "spin-table"; 203*67d9574cSJanne Grunau cpu-release-addr = <0 0>; /* To be filled by loader */ 204*67d9574cSJanne Grunau next-level-cache = <&l2_cache_2>; 205*67d9574cSJanne Grunau i-cache-size = <0x30000>; 206*67d9574cSJanne Grunau d-cache-size = <0x20000>; 207*67d9574cSJanne Grunau }; 208*67d9574cSJanne Grunau 209*67d9574cSJanne Grunau cpu_p12: cpu@10202 { 210*67d9574cSJanne Grunau compatible = "apple,everest"; 211*67d9574cSJanne Grunau device_type = "cpu"; 212*67d9574cSJanne Grunau reg = <0x0 0x10202>; 213*67d9574cSJanne Grunau enable-method = "spin-table"; 214*67d9574cSJanne Grunau cpu-release-addr = <0 0>; /* To be filled by loader */ 215*67d9574cSJanne Grunau next-level-cache = <&l2_cache_2>; 216*67d9574cSJanne Grunau i-cache-size = <0x30000>; 217*67d9574cSJanne Grunau d-cache-size = <0x20000>; 218*67d9574cSJanne Grunau }; 219*67d9574cSJanne Grunau 220*67d9574cSJanne Grunau cpu_p13: cpu@10203 { 221*67d9574cSJanne Grunau compatible = "apple,everest"; 222*67d9574cSJanne Grunau device_type = "cpu"; 223*67d9574cSJanne Grunau reg = <0x0 0x10203>; 224*67d9574cSJanne Grunau enable-method = "spin-table"; 225*67d9574cSJanne Grunau cpu-release-addr = <0 0>; /* To be filled by loader */ 226*67d9574cSJanne Grunau next-level-cache = <&l2_cache_2>; 227*67d9574cSJanne Grunau i-cache-size = <0x30000>; 228*67d9574cSJanne Grunau d-cache-size = <0x20000>; 229*67d9574cSJanne Grunau }; 230*67d9574cSJanne Grunau 231*67d9574cSJanne Grunau cpu_p14: cpu@10204 { 232*67d9574cSJanne Grunau compatible = "apple,everest"; 233*67d9574cSJanne Grunau device_type = "cpu"; 234*67d9574cSJanne Grunau reg = <0x0 0x10204>; 235*67d9574cSJanne Grunau enable-method = "spin-table"; 236*67d9574cSJanne Grunau cpu-release-addr = <0 0>; /* To be filled by loader */ 237*67d9574cSJanne Grunau next-level-cache = <&l2_cache_2>; 238*67d9574cSJanne Grunau i-cache-size = <0x30000>; 239*67d9574cSJanne Grunau d-cache-size = <0x20000>; 240*67d9574cSJanne Grunau }; 241*67d9574cSJanne Grunau 242*67d9574cSJanne Grunau cpu_p15: cpu@10205 { 243*67d9574cSJanne Grunau compatible = "apple,everest"; 244*67d9574cSJanne Grunau device_type = "cpu"; 245*67d9574cSJanne Grunau reg = <0x0 0x10205>; 246*67d9574cSJanne Grunau enable-method = "spin-table"; 247*67d9574cSJanne Grunau cpu-release-addr = <0 0>; /* To be filled by loader */ 248*67d9574cSJanne Grunau next-level-cache = <&l2_cache_2>; 249*67d9574cSJanne Grunau i-cache-size = <0x30000>; 250*67d9574cSJanne Grunau d-cache-size = <0x20000>; 251*67d9574cSJanne Grunau }; 252*67d9574cSJanne Grunau 253*67d9574cSJanne Grunau l2_cache_0: l2-cache-0 { 254*67d9574cSJanne Grunau compatible = "cache"; 255*67d9574cSJanne Grunau cache-level = <2>; 256*67d9574cSJanne Grunau cache-unified; 257*67d9574cSJanne Grunau cache-size = <0x400000>; 258*67d9574cSJanne Grunau }; 259*67d9574cSJanne Grunau 260*67d9574cSJanne Grunau l2_cache_1: l2-cache-1 { 261*67d9574cSJanne Grunau compatible = "cache"; 262*67d9574cSJanne Grunau cache-level = <2>; 263*67d9574cSJanne Grunau cache-unified; 264*67d9574cSJanne Grunau cache-size = <0x1000000>; 265*67d9574cSJanne Grunau }; 266*67d9574cSJanne Grunau 267*67d9574cSJanne Grunau l2_cache_2: l2-cache-2 { 268*67d9574cSJanne Grunau compatible = "cache"; 269*67d9574cSJanne Grunau cache-level = <2>; 270*67d9574cSJanne Grunau cache-unified; 271*67d9574cSJanne Grunau cache-size = <0x1000000>; 272*67d9574cSJanne Grunau }; 273*67d9574cSJanne Grunau }; 274*67d9574cSJanne Grunau 275*67d9574cSJanne Grunau timer { 276*67d9574cSJanne Grunau compatible = "arm,armv8-timer"; 277*67d9574cSJanne Grunau interrupt-parent = <&aic>; 278*67d9574cSJanne Grunau interrupt-names = "phys", "virt", "hyp-phys", "hyp-virt"; 279*67d9574cSJanne Grunau interrupts = <AIC_FIQ 0 AIC_TMR_GUEST_PHYS IRQ_TYPE_LEVEL_HIGH>, 280*67d9574cSJanne Grunau <AIC_FIQ 0 AIC_TMR_GUEST_VIRT IRQ_TYPE_LEVEL_HIGH>, 281*67d9574cSJanne Grunau <AIC_FIQ 0 AIC_TMR_HV_PHYS IRQ_TYPE_LEVEL_HIGH>, 282*67d9574cSJanne Grunau <AIC_FIQ 0 AIC_TMR_HV_VIRT IRQ_TYPE_LEVEL_HIGH>; 283*67d9574cSJanne Grunau }; 284*67d9574cSJanne Grunau 285*67d9574cSJanne Grunau clkref: clock-ref { 286*67d9574cSJanne Grunau compatible = "fixed-clock"; 287*67d9574cSJanne Grunau #clock-cells = <0>; 288*67d9574cSJanne Grunau clock-frequency = <24000000>; 289*67d9574cSJanne Grunau clock-output-names = "clkref"; 290*67d9574cSJanne Grunau }; 291*67d9574cSJanne Grunau 292*67d9574cSJanne Grunau reserved-memory { 293*67d9574cSJanne Grunau #address-cells = <2>; 294*67d9574cSJanne Grunau #size-cells = <2>; 295*67d9574cSJanne Grunau ranges; 296*67d9574cSJanne Grunau }; 297*67d9574cSJanne Grunau}; 298