15 #ifndef __TFM_MAILBOX_H__
16 #define __TFM_MAILBOX_H__
21 #ifdef TFM_MULTI_CORE_MULTI_CLIENT_CALL
22 #include "device_cfg.h"
36 #ifdef TFM_MULTI_CORE_MULTI_CLIENT_CALL
37 #ifndef NUM_MAILBOX_QUEUE_SLOT
38 #error "Error: Platform doesn't define NUM_MAILBOX_QUEUE_SLOT for mailbox queue"
41 #if (NUM_MAILBOX_QUEUE_SLOT < 2)
42 #error "Error: Invalid NUM_MAILBOX_QUEUE_SLOT. The value should be more than 1"
51 #if (NUM_MAILBOX_QUEUE_SLOT > 32)
52 #error "Error: Invalid NUM_MAILBOX_QUEUE_SLOT. The value should be no more than 32"
56 #undef NUM_MAILBOX_QUEUE_SLOT
57 #define NUM_MAILBOX_QUEUE_SLOT (1)
61 #define MAILBOX_PSA_FRAMEWORK_VERSION (0x1)
62 #define MAILBOX_PSA_VERSION (0x2)
63 #define MAILBOX_PSA_CONNECT (0x3)
64 #define MAILBOX_PSA_CALL (0x4)
65 #define MAILBOX_PSA_CLOSE (0x5)
68 #define MAILBOX_SUCCESS (0)
69 #define MAILBOX_QUEUE_FULL (INT32_MIN + 1)
70 #define MAILBOX_INVAL_PARAMS (INT32_MIN + 2)
71 #define MAILBOX_NO_PERMS (INT32_MIN + 3)
72 #define MAILBOX_NO_PEND_EVENT (INT32_MIN + 4)
73 #define MAILBOX_CHAN_BUSY (INT32_MIN + 5)
74 #define MAILBOX_CALLBACK_REG_ERROR (INT32_MIN + 6)
75 #define MAILBOX_INIT_ERROR (INT32_MIN + 7)
124 #define MAILBOX_MSG_NULL_HANDLE ((mailbox_msg_handle_t)0)
162 #ifdef TFM_MULTI_CORE_TEST
168 uint32_t nr_used_slots;
struct mailbox_reply_t reply
struct psa_client_params_t::@2::@7 psa_close_params
mailbox_queue_status_t replied_slots
struct psa_client_params_t::@2::@6 psa_call_params
struct psa_client_params_t params
mailbox_queue_status_t empty_slots
mailbox_queue_status_t pend_slots
struct ns_mailbox_slot_t queue[(1)]
#define NUM_MAILBOX_QUEUE_SLOT
uint32_t mailbox_queue_status_t
int32_t mailbox_msg_handle_t
struct psa_client_params_t::@2::@5 psa_connect_params
struct psa_client_params_t::@2::@4 psa_version_params