1*91f16700Schasinglulu/* 2*91f16700Schasinglulu * Copyright (c) 2020-2023, Arm Limited. All rights reserved. 3*91f16700Schasinglulu * 4*91f16700Schasinglulu * SPDX-License-Identifier: BSD-3-Clause 5*91f16700Schasinglulu */ 6*91f16700Schasinglulu/dts-v1/; 7*91f16700Schasinglulu 8*91f16700Schasinglulu/ { 9*91f16700Schasinglulu compatible = "arm,ffa-core-manifest-1.0"; 10*91f16700Schasinglulu #address-cells = <2>; 11*91f16700Schasinglulu #size-cells = <2>; 12*91f16700Schasinglulu 13*91f16700Schasinglulu attribute { 14*91f16700Schasinglulu spmc_id = <0x8000>; 15*91f16700Schasinglulu maj_ver = <0x1>; 16*91f16700Schasinglulu min_ver = <0x1>; 17*91f16700Schasinglulu exec_state = <0x0>; 18*91f16700Schasinglulu load_address = <0x0 0xfd000000>; 19*91f16700Schasinglulu entrypoint = <0x0 0xfd000000>; 20*91f16700Schasinglulu binary_size = <0x80000>; 21*91f16700Schasinglulu }; 22*91f16700Schasinglulu 23*91f16700Schasinglulu hypervisor { 24*91f16700Schasinglulu compatible = "hafnium,hafnium"; 25*91f16700Schasinglulu vm1 { 26*91f16700Schasinglulu is_ffa_partition; 27*91f16700Schasinglulu debug_name = "cactus-primary"; 28*91f16700Schasinglulu load_address = <0xfe000000>; 29*91f16700Schasinglulu vcpu_count = <8>; 30*91f16700Schasinglulu mem_size = <1048576>; 31*91f16700Schasinglulu }; 32*91f16700Schasinglulu vm2 { 33*91f16700Schasinglulu is_ffa_partition; 34*91f16700Schasinglulu debug_name = "cactus-secondary"; 35*91f16700Schasinglulu load_address = <0xfe100000>; 36*91f16700Schasinglulu vcpu_count = <8>; 37*91f16700Schasinglulu mem_size = <1048576>; 38*91f16700Schasinglulu }; 39*91f16700Schasinglulu vm3 { 40*91f16700Schasinglulu is_ffa_partition; 41*91f16700Schasinglulu debug_name = "cactus-tertiary"; 42*91f16700Schasinglulu load_address = <0xfe200000>; 43*91f16700Schasinglulu vcpu_count = <1>; 44*91f16700Schasinglulu mem_size = <1048576>; 45*91f16700Schasinglulu }; 46*91f16700Schasinglulu vm4 { 47*91f16700Schasinglulu is_ffa_partition; 48*91f16700Schasinglulu debug_name = "ivy"; 49*91f16700Schasinglulu load_address = <0xfe600000>; 50*91f16700Schasinglulu vcpu_count = <1>; 51*91f16700Schasinglulu mem_size = <1048576>; 52*91f16700Schasinglulu }; 53*91f16700Schasinglulu }; 54*91f16700Schasinglulu 55*91f16700Schasinglulu cpus { 56*91f16700Schasinglulu #address-cells = <0x2>; 57*91f16700Schasinglulu #size-cells = <0x0>; 58*91f16700Schasinglulu 59*91f16700Schasinglulu CPU0:cpu@0 { 60*91f16700Schasinglulu device_type = "cpu"; 61*91f16700Schasinglulu compatible = "arm,armv8"; 62*91f16700Schasinglulu reg = <0x0 0x0>; 63*91f16700Schasinglulu enable-method = "psci"; 64*91f16700Schasinglulu }; 65*91f16700Schasinglulu 66*91f16700Schasinglulu /* 67*91f16700Schasinglulu * SPMC (Hafnium) requires secondary cpu nodes are declared in 68*91f16700Schasinglulu * descending order 69*91f16700Schasinglulu */ 70*91f16700Schasinglulu CPU7:cpu@700 { 71*91f16700Schasinglulu device_type = "cpu"; 72*91f16700Schasinglulu compatible = "arm,armv8"; 73*91f16700Schasinglulu reg = <0x0 0x700>; 74*91f16700Schasinglulu enable-method = "psci"; 75*91f16700Schasinglulu }; 76*91f16700Schasinglulu 77*91f16700Schasinglulu CPU6:cpu@600 { 78*91f16700Schasinglulu device_type = "cpu"; 79*91f16700Schasinglulu compatible = "arm,armv8"; 80*91f16700Schasinglulu reg = <0x0 0x600>; 81*91f16700Schasinglulu enable-method = "psci"; 82*91f16700Schasinglulu }; 83*91f16700Schasinglulu 84*91f16700Schasinglulu CPU5:cpu@500 { 85*91f16700Schasinglulu device_type = "cpu"; 86*91f16700Schasinglulu compatible = "arm,armv8"; 87*91f16700Schasinglulu reg = <0x0 0x500>; 88*91f16700Schasinglulu enable-method = "psci"; 89*91f16700Schasinglulu }; 90*91f16700Schasinglulu 91*91f16700Schasinglulu CPU4:cpu@400 { 92*91f16700Schasinglulu device_type = "cpu"; 93*91f16700Schasinglulu compatible = "arm,armv8"; 94*91f16700Schasinglulu reg = <0x0 0x400>; 95*91f16700Schasinglulu enable-method = "psci"; 96*91f16700Schasinglulu }; 97*91f16700Schasinglulu 98*91f16700Schasinglulu CPU3:cpu@300 { 99*91f16700Schasinglulu device_type = "cpu"; 100*91f16700Schasinglulu compatible = "arm,armv8"; 101*91f16700Schasinglulu reg = <0x0 0x300>; 102*91f16700Schasinglulu enable-method = "psci"; 103*91f16700Schasinglulu }; 104*91f16700Schasinglulu 105*91f16700Schasinglulu CPU2:cpu@200 { 106*91f16700Schasinglulu device_type = "cpu"; 107*91f16700Schasinglulu compatible = "arm,armv8"; 108*91f16700Schasinglulu reg = <0x0 0x200>; 109*91f16700Schasinglulu enable-method = "psci"; 110*91f16700Schasinglulu }; 111*91f16700Schasinglulu 112*91f16700Schasinglulu CPU1:cpu@100 { 113*91f16700Schasinglulu device_type = "cpu"; 114*91f16700Schasinglulu compatible = "arm,armv8"; 115*91f16700Schasinglulu reg = <0x0 0x100>; 116*91f16700Schasinglulu enable-method = "psci"; 117*91f16700Schasinglulu }; 118*91f16700Schasinglulu }; 119*91f16700Schasinglulu 120*91f16700Schasinglulu memory@0 { 121*91f16700Schasinglulu device_type = "memory"; 122*91f16700Schasinglulu reg = <0x0 0xfd000000 0x0 0x2000000>, 123*91f16700Schasinglulu <0x0 0x7000000 0x0 0x1000000>, 124*91f16700Schasinglulu <0x0 0xff000000 0x0 0x1000000>; 125*91f16700Schasinglulu }; 126*91f16700Schasinglulu 127*91f16700Schasinglulu memory@1 { 128*91f16700Schasinglulu device_type = "ns-memory"; 129*91f16700Schasinglulu reg = <0x00008800 0x80000000 0x0 0x7f000000>, 130*91f16700Schasinglulu <0x0 0x88000000 0x1 0x00000000>; 131*91f16700Schasinglulu }; 132*91f16700Schasinglulu}; 133