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