1 /*
2  * Copyright (c) 2022, Arm Limited. All rights reserved.
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  *
6  */
7 
8 #ifndef __RSS_COMMS_HAL_H__
9 #define __RSS_COMMS_HAL_H__
10 
11 #include "rss_comms.h"
12 #include "tfm_plat_defs.h"
13 
14 #ifdef __cplusplus
15 extern "C" {
16 #endif
17 
18 /**
19  * \brief Platform specific initialization of SPE multi-core.
20  *
21  * \retval TFM_PLAT_ERR_SUCCESS  Operation succeeded.
22  * \retval Other return code     Operation failed with an error code.
23  */
24 enum tfm_plat_err_t tfm_multi_core_hal_init(void);
25 
26 /**
27  * \brief Receive PSA client call request from NSPE.
28  *        Implemented by platform specific inter-processor communication driver.
29  *
30  * \retval TFM_PLAT_ERR_SUCCESS  Operation succeeded.
31  * \retval Other return code     Operation failed with an error code.
32  */
33 enum tfm_plat_err_t tfm_multi_core_hal_receive(void);
34 
35 /**
36  * \brief Notify NSPE that a PSA client call return result is replied.
37  *        Implemented by platform specific inter-processor communication driver.
38  *
39  * \retval TFM_PLAT_ERR_SUCCESS  The notification is successfully sent out.
40  * \retval Other return code     Operation failed with an error code.
41  */
42 enum tfm_plat_err_t tfm_multi_core_hal_reply(struct client_request_t *req);
43 
44 #ifdef __cplusplus
45 }
46 #endif
47 
48 #endif /* __RSS_COMMS_HAL_H__ */
49