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 kernel 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... | |