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_CLIENT_ID_RP_MBOX (0xFU) |
Client ID used for remoteproc (RP_MBOX) related messages, this client ID should not be used by other users. More... | |
#define | IPC_NOTIFY_MSG_VALUE_MAX (0x10000000U) |
Maximum value of message that can be sent and received. More... | |
Typedefs | |
typedef void(* | IpcNotify_FxnCallback) (uint16_t remoteCoreId, uint16_t localClientId, uint32_t msgValue, 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... | |
Enumerations | |
enum | IpcNotify_RP_Mbox_Message { IPC_NOTIFY_RP_MBOX_READY = 0x0FFFFF00, IPC_NOTIFY_RP_MBOX_PENDING_MSG = 0x0FFFFF01, IPC_NOTIFY_RP_MBOX_CRASH = 0x0FFFFF02, IPC_NOTIFY_RP_MBOX_ECHO_REQUEST = 0x0FFFFF03, IPC_NOTIFY_RP_MBOX_ECHO_REPLY = 0x0FFFFF04, IPC_NOTIFY_RP_MBOX_ABORT_REQUEST = 0x0FFFFF05, IPC_NOTIFY_RP_MBOX_SUSPEND_AUTO = 0x0FFFFF10, IPC_NOTIFY_RP_MBOX_SUSPEND_SYSTEM = 0x0FFFFF11, IPC_NOTIFY_RP_MBOX_SUSPEND_ACK = 0x0FFFFF12, IPC_NOTIFY_RP_MBOX_SUSPEND_CANCEL = 0x0FFFFF13, IPC_NOTIFY_RP_MBOX_SHUTDOWN = 0x0FFFFF14, IPC_NOTIFY_RP_MBOX_SHUTDOWN_ACK = 0x0FFFFF15, IPC_NOTIFY_RP_MBOX_END_MSG = 0x0FFFFF16 } |
Enum to list the various messages sent by remote proc kernal driver. 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... | |
uint16_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... | |