xref: /arm-trusted-firmware/include/plat/arm/common/fconf_arm_sp_getter.h (revision 91f16700b400a8c0651d24a598fc48ee2997a0d7)
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