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 = "op-tee"; 28*91f16700Schasinglulu load_address = <0xfd280000>; 29*91f16700Schasinglulu vcpu_count = <8>; 30*91f16700Schasinglulu#ifdef TS_SP_FW_CONFIG 31*91f16700Schasinglulu mem_size = <26738688>; /* 25MB TZC DRAM */ 32*91f16700Schasinglulu#else 33*91f16700Schasinglulu mem_size = <30928896>; /* 29MB TZC DRAM */ 34*91f16700Schasinglulu#endif 35*91f16700Schasinglulu }; 36*91f16700Schasinglulu#ifdef TS_SP_FW_CONFIG 37*91f16700Schasinglulu vm2 { 38*91f16700Schasinglulu is_ffa_partition; 39*91f16700Schasinglulu debug_name = "internal-trusted-storage"; 40*91f16700Schasinglulu load_address = <0xfee00000>; 41*91f16700Schasinglulu vcpu_count = <1>; 42*91f16700Schasinglulu mem_size = <2097152>; /* 2MB TZC DRAM */ 43*91f16700Schasinglulu }; 44*91f16700Schasinglulu vm3 { 45*91f16700Schasinglulu is_ffa_partition; 46*91f16700Schasinglulu debug_name = "crypto"; 47*91f16700Schasinglulu load_address = <0xfec00000>; 48*91f16700Schasinglulu vcpu_count = <1>; 49*91f16700Schasinglulu mem_size = <2097152>; /* 2MB TZC DRAM */ 50*91f16700Schasinglulu }; 51*91f16700Schasinglulu#endif 52*91f16700Schasinglulu }; 53*91f16700Schasinglulu 54*91f16700Schasinglulu cpus { 55*91f16700Schasinglulu #address-cells = <0x2>; 56*91f16700Schasinglulu #size-cells = <0x0>; 57*91f16700Schasinglulu 58*91f16700Schasinglulu CPU0:cpu@0 { 59*91f16700Schasinglulu device_type = "cpu"; 60*91f16700Schasinglulu compatible = "arm,armv8"; 61*91f16700Schasinglulu reg = <0x0 0x0>; 62*91f16700Schasinglulu enable-method = "psci"; 63*91f16700Schasinglulu }; 64*91f16700Schasinglulu 65*91f16700Schasinglulu /* 66*91f16700Schasinglulu * SPMC (Hafnium) requires secondary cpu nodes are declared in 67*91f16700Schasinglulu * descending order 68*91f16700Schasinglulu */ 69*91f16700Schasinglulu CPU7:cpu@700 { 70*91f16700Schasinglulu device_type = "cpu"; 71*91f16700Schasinglulu compatible = "arm,armv8"; 72*91f16700Schasinglulu reg = <0x0 0x700>; 73*91f16700Schasinglulu enable-method = "psci"; 74*91f16700Schasinglulu }; 75*91f16700Schasinglulu 76*91f16700Schasinglulu CPU6:cpu@600 { 77*91f16700Schasinglulu device_type = "cpu"; 78*91f16700Schasinglulu compatible = "arm,armv8"; 79*91f16700Schasinglulu reg = <0x0 0x600>; 80*91f16700Schasinglulu enable-method = "psci"; 81*91f16700Schasinglulu }; 82*91f16700Schasinglulu 83*91f16700Schasinglulu CPU5:cpu@500 { 84*91f16700Schasinglulu device_type = "cpu"; 85*91f16700Schasinglulu compatible = "arm,armv8"; 86*91f16700Schasinglulu reg = <0x0 0x500>; 87*91f16700Schasinglulu enable-method = "psci"; 88*91f16700Schasinglulu }; 89*91f16700Schasinglulu 90*91f16700Schasinglulu CPU4:cpu@400 { 91*91f16700Schasinglulu device_type = "cpu"; 92*91f16700Schasinglulu compatible = "arm,armv8"; 93*91f16700Schasinglulu reg = <0x0 0x400>; 94*91f16700Schasinglulu enable-method = "psci"; 95*91f16700Schasinglulu }; 96*91f16700Schasinglulu 97*91f16700Schasinglulu CPU3:cpu@300 { 98*91f16700Schasinglulu device_type = "cpu"; 99*91f16700Schasinglulu compatible = "arm,armv8"; 100*91f16700Schasinglulu reg = <0x0 0x300>; 101*91f16700Schasinglulu enable-method = "psci"; 102*91f16700Schasinglulu }; 103*91f16700Schasinglulu 104*91f16700Schasinglulu CPU2:cpu@200 { 105*91f16700Schasinglulu device_type = "cpu"; 106*91f16700Schasinglulu compatible = "arm,armv8"; 107*91f16700Schasinglulu reg = <0x0 0x200>; 108*91f16700Schasinglulu enable-method = "psci"; 109*91f16700Schasinglulu }; 110*91f16700Schasinglulu 111*91f16700Schasinglulu CPU1:cpu@100 { 112*91f16700Schasinglulu device_type = "cpu"; 113*91f16700Schasinglulu compatible = "arm,armv8"; 114*91f16700Schasinglulu reg = <0x0 0x100>; 115*91f16700Schasinglulu enable-method = "psci"; 116*91f16700Schasinglulu }; 117*91f16700Schasinglulu }; 118*91f16700Schasinglulu 119*91f16700Schasinglulu memory@0 { 120*91f16700Schasinglulu device_type = "memory"; 121*91f16700Schasinglulu reg = <0x0 0xfd000000 0x0 0x2000000>; 122*91f16700Schasinglulu }; 123*91f16700Schasinglulu 124*91f16700Schasinglulu memory@1 { 125*91f16700Schasinglulu device_type = "ns-memory"; 126*91f16700Schasinglulu reg = <0x0 0x80000000 0x0 0x79000000>, 127*91f16700Schasinglulu <0x80 0x80000000 0x1 0x80000000>; 128*91f16700Schasinglulu }; 129*91f16700Schasinglulu}; 130