AM263x MCU+ SDK  10.00.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_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...