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