1*8d66892aSYeoreum Yun/* 2*8d66892aSYeoreum Yun * Copyright (c) 2025, Arm Limited and Contributors. All rights reserved. 3*8d66892aSYeoreum Yun * 4*8d66892aSYeoreum Yun * SPDX-License-Identifier: BSD-3-Clause 5*8d66892aSYeoreum Yun */ 6*8d66892aSYeoreum Yun 7*8d66892aSYeoreum Yun#include <stmm_common.dtsi> 8*8d66892aSYeoreum Yun 9*8d66892aSYeoreum Yun/ { 10*8d66892aSYeoreum Yun /* 11*8d66892aSYeoreum Yun * FF-A compatible Secure Partition Manager parses the 12*8d66892aSYeoreum Yun * config file and fetches the following booting arguments to 13*8d66892aSYeoreum Yun * pass on to the StandAloneMM(StMM) Secure Partition. 14*8d66892aSYeoreum Yun */ 15*8d66892aSYeoreum Yun compatible = "arm,ffa-manifest-1.0"; 16*8d66892aSYeoreum Yun execution-ctx-count = <STMM_CORE_COUNT>; 17*8d66892aSYeoreum Yun exception-level = <MODE_SEL0>; /* SEL0*/ 18*8d66892aSYeoreum Yun execution-state = <ES_AARCH64>; /* AArch64*/ 19*8d66892aSYeoreum Yun image-size = <SIZE_INIT(STMM_IMAGE_SIZE)>; 20*8d66892aSYeoreum Yun xlat-granule = <TG_4KB>; /* 4KiB */ 21*8d66892aSYeoreum Yun boot-order = <0>; 22*8d66892aSYeoreum Yun gp-register-num = <0>; 23*8d66892aSYeoreum Yun 24*8d66892aSYeoreum Yun device-regions { 25*8d66892aSYeoreum Yun compatible = "arm,ffa-manifest-device-regions"; 26*8d66892aSYeoreum Yun 27*8d66892aSYeoreum Yun /** 28*8d66892aSYeoreum Yun * System registers, rtc, uart and etc regions for access from S-EL0. 29*8d66892aSYeoreum Yun */ 30*8d66892aSYeoreum Yun io_fpga: io_fpga { 31*8d66892aSYeoreum Yun description ="io_fpga"; 32*8d66892aSYeoreum Yun }; 33*8d66892aSYeoreum Yun 34*8d66892aSYeoreum Yun system_reg_el0: system_reg_el0 { 35*8d66892aSYeoreum Yun description ="system_reg_el0"; 36*8d66892aSYeoreum Yun }; 37*8d66892aSYeoreum Yun 38*8d66892aSYeoreum Yun /** 39*8d66892aSYeoreum Yun * ARM CSS SoC Peripherals area. 40*8d66892aSYeoreum Yun * Similar to SOC_CSS_MAP_DEVICE. 41*8d66892aSYeoreum Yun */ 42*8d66892aSYeoreum Yun soc_components: soc_components { 43*8d66892aSYeoreum Yun description ="soc_components"; 44*8d66892aSYeoreum Yun }; 45*8d66892aSYeoreum Yun 46*8d66892aSYeoreum Yun#ifdef STMM_FLASH0_BASE 47*8d66892aSYeoreum Yun /** 48*8d66892aSYeoreum Yun * NOR0 Flash region, used for Firmware Image Update. 49*8d66892aSYeoreum Yun */ 50*8d66892aSYeoreum Yun flash0: flash0 { 51*8d66892aSYeoreum Yun description ="flash0"; 52*8d66892aSYeoreum Yun }; 53*8d66892aSYeoreum Yun#endif 54*8d66892aSYeoreum Yun 55*8d66892aSYeoreum Yun#ifdef STMM_FLASH1_BASE 56*8d66892aSYeoreum Yun /** 57*8d66892aSYeoreum Yun * NOR1 Flash region, used for Secure booting. 58*8d66892aSYeoreum Yun */ 59*8d66892aSYeoreum Yun flash1: flash1 { 60*8d66892aSYeoreum Yun description ="flash1"; 61*8d66892aSYeoreum Yun }; 62*8d66892aSYeoreum Yun#endif 63*8d66892aSYeoreum Yun 64*8d66892aSYeoreum Yun#ifdef STMM_TPM_S_CRB_BASE 65*8d66892aSYeoreum Yun tpm_s_crb: tpm_s_crb { 66*8d66892aSYeoreum Yun description ="tpm pesudo s-crb"; 67*8d66892aSYeoreum Yun }; 68*8d66892aSYeoreum Yun#endif 69*8d66892aSYeoreum Yun 70*8d66892aSYeoreum Yun#ifdef STMM_TPM_NS_CRB_BASE 71*8d66892aSYeoreum Yun tpm_ns_crb: tpm_ns_crb { 72*8d66892aSYeoreum Yun description ="tpm pesudo ns-crb"; 73*8d66892aSYeoreum Yun }; 74*8d66892aSYeoreum Yun#endif 75*8d66892aSYeoreum Yun }; 76*8d66892aSYeoreum Yun 77*8d66892aSYeoreum Yun memory-regions { 78*8d66892aSYeoreum Yun compatible = "arm,ffa-manifest-memory-regions"; 79*8d66892aSYeoreum Yun 80*8d66892aSYeoreum Yun /* 81*8d66892aSYeoreum Yun * SPM Payload memory. Mapped as code region for S-EL0 82*8d66892aSYeoreum Yun * Similar to ARM_SP_IMAGE_MMAP. 83*8d66892aSYeoreum Yun */ 84*8d66892aSYeoreum Yun image_fvb: stmm_region { 85*8d66892aSYeoreum Yun description = "image"; 86*8d66892aSYeoreum Yun }; 87*8d66892aSYeoreum Yun 88*8d66892aSYeoreum Yun /* 89*8d66892aSYeoreum Yun * Memory shared between EL3 and S-EL0. 90*8d66892aSYeoreum Yun * Similar to ARM_SPM_BUF_EL0_MMAP. 91*8d66892aSYeoreum Yun */ 92*8d66892aSYeoreum Yun shared_buf: rx-tx-buffers { 93*8d66892aSYeoreum Yun description = "shared-buff"; 94*8d66892aSYeoreum Yun }; 95*8d66892aSYeoreum Yun 96*8d66892aSYeoreum Yun /* 97*8d66892aSYeoreum Yun * Memory shared between Normal world and S-EL0. 98*8d66892aSYeoreum Yun * Similar to ARM_SP_IMAGE_NS_BUF_MMAP. 99*8d66892aSYeoreum Yun */ 100*8d66892aSYeoreum Yun ns_shared_buf: ns_comm_buffer { 101*8d66892aSYeoreum Yun /* 102*8d66892aSYeoreum Yun * Description is needed for StMM to identify 103*8d66892aSYeoreum Yun * ns-communication buffer. 104*8d66892aSYeoreum Yun */ 105*8d66892aSYeoreum Yun description = "ns-comm"; 106*8d66892aSYeoreum Yun }; 107*8d66892aSYeoreum Yun 108*8d66892aSYeoreum Yun /* 109*8d66892aSYeoreum Yun * Heap used by SP to allocate memory for DMA. 110*8d66892aSYeoreum Yun */ 111*8d66892aSYeoreum Yun stmm_heap: heap { 112*8d66892aSYeoreum Yun /* 113*8d66892aSYeoreum Yun * Description is needed for StMM to identify 114*8d66892aSYeoreum Yun * heap buffer. 115*8d66892aSYeoreum Yun */ 116*8d66892aSYeoreum Yun description = "heap"; 117*8d66892aSYeoreum Yun }; 118*8d66892aSYeoreum Yun }; 119*8d66892aSYeoreum Yun}; 120*8d66892aSYeoreum Yun 121*8d66892aSYeoreum Yun#include "stmm_dev_region.dtsi" 122*8d66892aSYeoreum Yun#include "stmm_mem_region.dtsi" 123