blob: d8a332ec69a5b16938741a7c86109218b11d6401 [file] [log] [blame]
Olivier Deprez93df21f2020-01-23 11:24:33 +01001/*
Arunachalam Ganapathyfd29d582022-04-11 14:36:54 +01002 * Copyright (c) 2020-2024, Arm Limited and Contributors. All rights reserved.
Olivier Deprez93df21f2020-01-23 11:24:33 +01003 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7#ifndef FCONF_ARM_SP_GETTER_H
8#define FCONF_ARM_SP_GETTER_H
9
Claus Pedersen785e66c2022-09-12 22:42:58 +000010#include <common/tbbr/tbbr_img_def.h>
Olivier Deprez93df21f2020-01-23 11:24:33 +010011#include <lib/fconf/fconf.h>
Arunachalam Ganapathyfd29d582022-04-11 14:36:54 +010012#include <platform_def.h>
Olivier Deprez93df21f2020-01-23 11:24:33 +010013#include <tools_share/uuid.h>
14
15/* arm_sp getter */
16#define arm__sp_getter(prop) arm_sp.prop
17
Arunachalam Ganapathyfd29d582022-04-11 14:36:54 +010018#ifdef PLAT_ARM_SP_MAX_SIZE
19#define ARM_SP_MAX_SIZE PLAT_ARM_SP_MAX_SIZE
20#else
Arunachalam Ganapathy550eaf12020-11-17 14:56:39 +000021#define ARM_SP_MAX_SIZE U(0xb0000)
Arunachalam Ganapathyfd29d582022-04-11 14:36:54 +010022#endif /* PLAT_ARM_SP_MAX_SIZE */
Manish Pandeyaff80752020-07-31 16:15:16 +010023#define ARM_SP_OWNER_NAME_LEN U(8)
Manish Pandey1fa6ecb2020-02-25 11:38:19 +000024
Olivier Deprez93df21f2020-01-23 11:24:33 +010025struct 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];
Manish Pandeyaff80752020-07-31 16:15:16 +010029 char owner[MAX_SP_IDS][ARM_SP_OWNER_NAME_LEN];
Olivier Deprez93df21f2020-01-23 11:24:33 +010030};
31
32int fconf_populate_arm_sp(uintptr_t config);
33
34extern struct arm_sp_t arm_sp;
35
Manish Pandey1fa6ecb2020-02-25 11:38:19 +000036extern bl_mem_params_node_t sp_mem_params_descs[MAX_SP_IDS];
37
Olivier Deprez93df21f2020-01-23 11:24:33 +010038#endif /* FCONF_ARM_SP_GETTER_H */