• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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