1 /* 2 * Copyright (c) 2020-2024, Arm Limited and Contributors. All rights reserved. 3 * 4 * SPDX-License-Identifier: BSD-3-Clause 5 */ 6 7 #ifndef FCONF_ARM_SP_GETTER_H 8 #define FCONF_ARM_SP_GETTER_H 9 10 #include <common/tbbr/tbbr_img_def.h> 11 #include <lib/fconf/fconf.h> 12 #include <platform_def.h> 13 #include <tools_share/uuid.h> 14 15 /* arm_sp getter */ 16 #define arm__sp_getter(prop) arm_sp.prop 17 18 #ifdef PLAT_ARM_SP_MAX_SIZE 19 #define ARM_SP_MAX_SIZE PLAT_ARM_SP_MAX_SIZE 20 #else 21 #define ARM_SP_MAX_SIZE U(0xb0000) 22 #endif /* PLAT_ARM_SP_MAX_SIZE */ 23 #define ARM_SP_OWNER_NAME_LEN U(8) 24 25 struct arm_sp_t { 26 unsigned int number_of_sp; 27 union uuid_helper_t uuids[MAX_SP_IDS]; 28 uintptr_t load_addr[MAX_SP_IDS]; 29 char owner[MAX_SP_IDS][ARM_SP_OWNER_NAME_LEN]; 30 }; 31 32 int fconf_populate_arm_sp(uintptr_t config); 33 34 extern struct arm_sp_t arm_sp; 35 36 extern bl_mem_params_node_t sp_mem_params_descs[MAX_SP_IDS]; 37 38 #endif /* FCONF_ARM_SP_GETTER_H */ 39