1 /*
2  * Copyright (c) 2020, 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 <tools_share/uuid.h>
13 
14 /* arm_sp getter */
15 #define arm__sp_getter(prop)	arm_sp.prop
16 
17 #define ARM_SP_MAX_SIZE		U(0xb0000)
18 #define ARM_SP_OWNER_NAME_LEN	U(8)
19 
20 struct arm_sp_t {
21 	unsigned int		number_of_sp;
22 	union uuid_helper_t	uuids[MAX_SP_IDS];
23 	uintptr_t		load_addr[MAX_SP_IDS];
24 	char			owner[MAX_SP_IDS][ARM_SP_OWNER_NAME_LEN];
25 };
26 
27 int fconf_populate_arm_sp(uintptr_t config);
28 
29 extern struct arm_sp_t arm_sp;
30 
31 extern bl_mem_params_node_t sp_mem_params_descs[MAX_SP_IDS];
32 
33 #endif /* FCONF_ARM_SP_GETTER_H */
34