blob: 59ab7bcd3a7c2fb298768463ed50f57908cb29f8 [file] [log] [blame]
/*
* Copyright (c) 2017-2018, Arm Limited. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*
*/
/* The file is meant to be included twice */
#ifndef __SPM_DECLARE_USER_SERVICES__
#define __SPM_DECLARE_USER_SERVICES__
#include "platform_retarget.h"
#include "target_cfg.h"
#include "service_defs.h"
/* TFM_SEC_FUNC_NON_SECURE and TFM_SEC_FUNC_CORE are not real services, we
* only created them to have an entry for them in the database. They don't have
* their dedicated sections in the scatter file, so no symbols are needed to
* be declared.
*/
/* SERVICE_DECLARE(TFM_SEC_FUNC_NON_SECURE) */
/* SERVICE_DECLARE(TFM_SEC_FUNC_CORE) */
SERVICE_DECLARE(TFM_SEC_FUNC_STORAGE)
#ifdef CORE_TEST_SERVICES
SERVICE_DECLARE(TFM_SEC_FUNC_CORE_TEST)
SERVICE_DECLARE(TFM_SEC_FUNC_CORE_TEST_2)
#endif /* CORE_TEST_SERVICES */
#ifdef SST_TEST_SERVICES
SERVICE_DECLARE(TFM_SEC_FUNC_SST_TEST_SERVICE)
#endif /* SST_TEST_SERVICES */
#elif !defined(__SPM_ADD_USER_SERVICES__) /*__SPM_DECLARE_USER_SERVICES__*/
#define __SPM_ADD_USER_SERVICES__
/* Order must be same as id!!! */
DUMMY_SERVICE_ADD(TFM_SEC_FUNC_NON_SECURE)
DUMMY_SERVICE_ADD(TFM_SEC_FUNC_CORE)
SERVICE_ADD(TFM_SEC_FUNC_STORAGE)
#ifdef CORE_TEST_SERVICES
SERVICE_ADD(TFM_SEC_FUNC_CORE_TEST)
SERVICE_ADD(TFM_SEC_FUNC_CORE_TEST_2)
#endif /* CORE_TEST_SERVICES */
#ifdef SST_TEST_SERVICES
SERVICE_ADD(TFM_SEC_FUNC_SST_TEST_SERVICE)
#endif /* SST_TEST_SERVICES */
SERVICE_ADD_INIT_FUNC(TFM_SEC_FUNC_STORAGE, sst_am_prepare)
#ifdef CORE_TEST_SERVICES
SERVICE_ADD_INIT_FUNC(TFM_SEC_FUNC_CORE_TEST, core_test_init)
SERVICE_ADD_PERIPHERAL(TFM_SEC_FUNC_CORE_TEST,
MPS2_IO_FPGAIO_BASE_S, MPS2_IO_FPGAIO_BASE_S + 0xFFF,
PPC_SP_APB_PPC_EXP2, CMSDK_FPGA_IO_PPC_POS)
SERVICE_ADD_INIT_FUNC(TFM_SEC_FUNC_CORE_TEST_2, core_test_2_init)
#endif /* CORE_TEST_SERVICES */
#ifdef SST_TEST_SERVICES
SERVICE_ADD_INIT_FUNC(TFM_SEC_FUNC_SST_TEST_SERVICE, sst_test_service_init)
#endif /* SST_TEST_SERVICES */
#else /* __SPM_ADD_USER_SERVICES__ */
#error "unexpected inclusion of the file"
#endif /* __SPM_ADD_USER_SERVICES__ */