blob: 59ab7bcd3a7c2fb298768463ed50f57908cb29f8 [file] [log] [blame]
Miklos Balint386b8b52017-11-29 13:12:32 +00001/*
Jamie Fox5592db02017-12-18 16:48:29 +00002 * Copyright (c) 2017-2018, Arm Limited. All rights reserved.
Miklos Balint386b8b52017-11-29 13:12:32 +00003 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 *
6 */
7
8/* The file is meant to be included twice */
9#ifndef __SPM_DECLARE_USER_SERVICES__
10#define __SPM_DECLARE_USER_SERVICES__
11
12#include "platform_retarget.h"
13#include "target_cfg.h"
14#include "service_defs.h"
15
Mate Toth-Pal65291f32018-02-23 14:35:22 +010016/* TFM_SEC_FUNC_NON_SECURE and TFM_SEC_FUNC_CORE are not real services, we
17 * only created them to have an entry for them in the database. They don't have
18 * their dedicated sections in the scatter file, so no symbols are needed to
19 * be declared.
20 */
21/* SERVICE_DECLARE(TFM_SEC_FUNC_NON_SECURE) */
22/* SERVICE_DECLARE(TFM_SEC_FUNC_CORE) */
Miklos Balint386b8b52017-11-29 13:12:32 +000023SERVICE_DECLARE(TFM_SEC_FUNC_STORAGE)
Jamie Fox5592db02017-12-18 16:48:29 +000024
Miklos Balint386b8b52017-11-29 13:12:32 +000025#ifdef CORE_TEST_SERVICES
26SERVICE_DECLARE(TFM_SEC_FUNC_CORE_TEST)
27SERVICE_DECLARE(TFM_SEC_FUNC_CORE_TEST_2)
28#endif /* CORE_TEST_SERVICES */
29
Jamie Fox5592db02017-12-18 16:48:29 +000030#ifdef SST_TEST_SERVICES
31SERVICE_DECLARE(TFM_SEC_FUNC_SST_TEST_SERVICE)
32#endif /* SST_TEST_SERVICES */
33
Miklos Balint386b8b52017-11-29 13:12:32 +000034#elif !defined(__SPM_ADD_USER_SERVICES__) /*__SPM_DECLARE_USER_SERVICES__*/
35#define __SPM_ADD_USER_SERVICES__
36
37/* Order must be same as id!!! */
Mate Toth-Pal65291f32018-02-23 14:35:22 +010038DUMMY_SERVICE_ADD(TFM_SEC_FUNC_NON_SECURE)
39DUMMY_SERVICE_ADD(TFM_SEC_FUNC_CORE)
Miklos Balint386b8b52017-11-29 13:12:32 +000040SERVICE_ADD(TFM_SEC_FUNC_STORAGE)
Jamie Fox5592db02017-12-18 16:48:29 +000041
Miklos Balint386b8b52017-11-29 13:12:32 +000042#ifdef CORE_TEST_SERVICES
43SERVICE_ADD(TFM_SEC_FUNC_CORE_TEST)
44SERVICE_ADD(TFM_SEC_FUNC_CORE_TEST_2)
45#endif /* CORE_TEST_SERVICES */
46
Jamie Fox5592db02017-12-18 16:48:29 +000047#ifdef SST_TEST_SERVICES
48SERVICE_ADD(TFM_SEC_FUNC_SST_TEST_SERVICE)
49#endif /* SST_TEST_SERVICES */
50
Miklos Balint386b8b52017-11-29 13:12:32 +000051SERVICE_ADD_INIT_FUNC(TFM_SEC_FUNC_STORAGE, sst_am_prepare)
52
53#ifdef CORE_TEST_SERVICES
54SERVICE_ADD_INIT_FUNC(TFM_SEC_FUNC_CORE_TEST, core_test_init)
55SERVICE_ADD_PERIPHERAL(TFM_SEC_FUNC_CORE_TEST,
56 MPS2_IO_FPGAIO_BASE_S, MPS2_IO_FPGAIO_BASE_S + 0xFFF,
57 PPC_SP_APB_PPC_EXP2, CMSDK_FPGA_IO_PPC_POS)
58SERVICE_ADD_INIT_FUNC(TFM_SEC_FUNC_CORE_TEST_2, core_test_2_init)
59#endif /* CORE_TEST_SERVICES */
60
Jamie Fox5592db02017-12-18 16:48:29 +000061#ifdef SST_TEST_SERVICES
62SERVICE_ADD_INIT_FUNC(TFM_SEC_FUNC_SST_TEST_SERVICE, sst_test_service_init)
63#endif /* SST_TEST_SERVICES */
64
Miklos Balint386b8b52017-11-29 13:12:32 +000065#else /* __SPM_ADD_USER_SERVICES__ */
66#error "unexpected inclusion of the file"
67#endif /* __SPM_ADD_USER_SERVICES__ */