AM64x MCU+ SDK  08.02.00
ipc_notify.h File Reference

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_MSG_VALUE_MAX   (0x10000000U)
 Maximum value of message that can be sent and received. More...
 

Typedefs

typedef void(* IpcNotify_FxnCallback) (uint32_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...
 

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 ()
 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 ()
 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...