|
AM62x MCU+ SDK
10.01.00
|
|
Go to the documentation of this file.
42 #include <drivers/hw_include/cslr_soc.h>
56 #define IPC_NOTIFY_CLIENT_ID_MAX (16U)
61 #define IPC_NOTIFY_CLIENT_ID_RPMSG (0U)
66 #define IPC_NOTIFY_CLIENT_ID_SYNC (1U)
71 #define IPC_NOTIFY_CLIENT_ID_RP_MBOX (0xFU)
76 #define IPC_NOTIFY_MSG_VALUE_MAX (0x10000000U)
93 typedef void (*
IpcNotify_FxnCallback)(uint16_t remoteCoreId, uint16_t localClientId, uint32_t msgValue,
void *args);
112 typedef struct IpcNotify_Params_ {
139 typedef enum IpcNotify_RP_Mbox_Message_ {
202 int32_t
IpcNotify_sendMsg(uint32_t remoteCoreId, uint16_t remoteClientId, uint32_t msgValue, uint32_t waitForFifoNotFull);
@ IPC_NOTIFY_RP_MBOX_SHUTDOWN
Definition: ipc_notify.h:150
#define CSL_CORE_ID_MAX
Definition: cslr_soc_defines.h:78
uint16_t selfCoreId
Definition: ipc_notify.h:122
@ IPC_NOTIFY_RP_MBOX_READY
Definition: ipc_notify.h:140
void IpcNotify_deInit(void)
De-initialize IPC Notify module.
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 ...
int32_t IpcNotify_sendSync(uint32_t remoteCoreId)
Send a sync message to specific core.
void IpcNotify_registerNonNotifyCallback(IpcNotify_NonNotifyCallback callback)
This is a driver library internal API and is used in certain SOCs by the separate mailbox driver.
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.
uint32_t linuxCoreId
Definition: ipc_notify.h:127
uint32_t IpcNotify_isCoreEnabled(uint32_t coreId)
Check if a core is enabled for IPC.
IpcNotify_RP_Mbox_Message
Enum to list the various messages sent by remote proc kernal driver.
Definition: ipc_notify.h:139
@ IPC_NOTIFY_RP_MBOX_ECHO_REQUEST
Definition: ipc_notify.h:143
uint32_t timeout
Definition: ipc_notify.h:129
Parameters used by IpcNotify_init.
Definition: ipc_notify.h:112
void(* IpcNotify_NonNotifyCallback)(uint32_t remoteCoreId)
This is a driver library internal API and is used in certain SOCs by the separate mailbox driver.
Definition: ipc_notify.h:103
int32_t IpcNotify_syncAll(uint32_t timeout)
Send a message to all enabled cores and wait for sync message from all enabled cores.
@ IPC_NOTIFY_RP_MBOX_PENDING_MSG
Definition: ipc_notify.h:141
void IpcNotify_Params_init(IpcNotify_Params *params)
Set default value to IpcNotify_Params.
@ IPC_NOTIFY_RP_MBOX_SHUTDOWN_ACK
Definition: ipc_notify.h:151
@ IPC_NOTIFY_RP_MBOX_ECHO_REPLY
Definition: ipc_notify.h:144
int32_t IpcNotify_waitSync(uint32_t remoteCoreId, uint32_t timeout)
Wait for a sync message to be received from the specified core.
@ IPC_NOTIFY_RP_MBOX_SUSPEND_CANCEL
Definition: ipc_notify.h:149
int32_t IpcNotify_unregisterClient(uint16_t localClientId)
Un-register a previously registered callback.
uint32_t numCores
Definition: ipc_notify.h:114
@ IPC_NOTIFY_RP_MBOX_CRASH
Definition: ipc_notify.h:142
@ IPC_NOTIFY_RP_MBOX_ABORT_REQUEST
Definition: ipc_notify.h:145
@ IPC_NOTIFY_RP_MBOX_SUSPEND_SYSTEM
Definition: ipc_notify.h:147
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.
Definition: ipc_notify.h:93
@ IPC_NOTIFY_RP_MBOX_SUSPEND_AUTO
Definition: ipc_notify.h:146
int32_t IpcNotify_init(const IpcNotify_Params *params)
Initialize IPC Notify module.
@ IPC_NOTIFY_RP_MBOX_SUSPEND_ACK
Definition: ipc_notify.h:148
uint16_t IpcNotify_getSelfCoreId(void)
Return current core ID.
@ IPC_NOTIFY_RP_MBOX_END_MSG
Definition: ipc_notify.h:152