Go to the source code of this file.
Data Structures | |
struct | IpcNotify_Params |
Parameters used by IpcNotify_init. More... | |
Macros | |
#define | IPC_NOTIFY_CLIENT_ID_MAX (16U) |
Maximum number of clients possible for receiving messages. More... | |
#define | IPC_NOTIFY_CLIENT_ID_RPMSG (0U) |
Client ID used by rpmessage, this client ID should not be used by other users. More... | |
#define | IPC_NOTIFY_CLIENT_ID_SYNC (1U) |
Client ID used for sync messages, this client ID should not be used by other users. More... | |
#define | IPC_NOTIFY_DEFAULT_INTR_PRIORITY (4U) |
Default Interrupt priority for IPC Notify. More... | |
#define | IPC_NOTIFY_MSG_VALUE_MAX (0x10000000U) |
Maximum value of message that can be sent and received. More... | |
#define | IPC_NOTIFY_CRC_MSG_VALUE_MAX (0x100000U) |
Maximum value of message that can be sent and received when CRC is enabled. More... | |
#define | IPC_NOTIFY_CRC_MAX (0x100U) |
Maximum value of CRC that can be sent and received. More... | |
#define | IPC_NOTIFY_CRC_SIZE (1U) |
CRC size in bytes for IPC Notify. More... | |
#define | IPC_NOTIFY_CRC_DATASIZE (4U) |
Data size in bytes for IPC Notify. More... | |
#define | IPC_INTR_ROUTER_ENABLE (0x01U) |
Interrupt router enable for IPC. More... | |
#define | IPC_INTR_ROUTER_DISABLE (0x00U) |
Interrupt router disable for IPC. More... | |
Typedefs | |
typedef void(* | IpcNotify_FxnCallback) (uint32_t remoteCoreId, uint16_t localClientId, uint32_t msgValue, int32_t crcStatus, void *args) |
User callback that is invoked when a message is received from a reote core for a given client ID. More... | |
typedef void(* | IpcNotify_NonNotifyCallback) (uint32_t remoteCoreId) |
This is a driver library internal API and is used in certain SOCs by the separate mailbox driver. More... | |
typedef int32_t(* | IpcNotify_CrcHookFxn) (uint8_t *data, uint16_t dataLen, uint8_t crcSize, void *crc) |
This is the API defined in application for CRC Calculation. More... | |
Functions | |
void | IpcNotify_Params_init (IpcNotify_Params *params) |
Set default value to IpcNotify_Params. More... | |
int32_t | IpcNotify_init (const IpcNotify_Params *params) |
Initialize IPC Notify module. More... | |
void | IpcNotify_deInit (void) |
De-initialize IPC Notify module. More... | |
int32_t | IpcNotify_sendMsg (uint32_t remoteCoreId, uint16_t remoteClientId, uint32_t msgValue, uint32_t waitForFifoNotFull) |
Send message to a specific remote core and specific client ID on that remote core. More... | |
int32_t | IpcNotify_registerClient (uint16_t localClientId, IpcNotify_FxnCallback msgCallback, void *args) |
Register a callback to handle messages received from a specific remote core and for a specific local client ID. More... | |
int32_t | IpcNotify_unregisterClient (uint16_t localClientId) |
Un-register a previously registered callback. More... | |
uint32_t | IpcNotify_getSelfCoreId (void) |
Return current core ID. More... | |
uint32_t | IpcNotify_isCoreEnabled (uint32_t coreId) |
Check if a core is enabled for IPC. More... | |
int32_t | IpcNotify_sendSync (uint32_t remoteCoreId) |
Send a sync message to specific core. More... | |
int32_t | IpcNotify_waitSync (uint32_t remoteCoreId, uint32_t timeout) |
Wait for a sync message to be received from the specified core. More... | |
int32_t | IpcNotify_syncAll (uint32_t timeout) |
Send a message to all enabled cores and wait for sync message from all enabled cores. More... | |
void | IpcNotify_registerNonNotifyCallback (IpcNotify_NonNotifyCallback callback) |
This is a driver library internal API and is used in certain SOCs by the separate mailbox driver. More... | |