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