PDK API Guide for J721E
ipc.h File Reference

Introduction

IPC Low Level Driver API/interface data types file.

Go to the source code of this file.

Data Structures

struct  Ipc_InitPrms
 IPC initialization parameters. More...
 
struct  RPMessage_Params
 Parameter structure for creating RPMessage endpoints. More...
 

Typedefs

typedef struct RPMessage_Object_s * RPMessage_Handle
 RPMessage_Handle type. More...
 
typedef void(* RPMessage_Callback) (RPMessage_Handle handle, void *arg, void *data, uint16_t len, uint32_t src)
 RPMessage_Callback. More...
 

Functions

void IpcInitPrms_init (uint32_t instId, Ipc_InitPrms *initPrms)
 Initialize IPC init params. More...
 
int32_t Ipc_init (Ipc_InitPrms *cfg)
 Initialize IPC module. More...
 
int32_t Ipc_deinit (void)
 De Initialize IPC module. More...
 
uint32_t RPMessage_getMessageBufferSize (void)
 Returns Message Buffer Size. More...
 
uint32_t RPMessage_getObjMemRequired (void)
 Returns local memory for RPMessage Object. More...
 
int32_t RPMessage_init (RPMessage_Params *params)
 Initialize RPMessage Module. More...
 
int32_t RPMessage_lateInit (uint32_t proc)
 Add a proc to RPMessage Module. More...
 
void RPMessage_deInit (void)
 Tear down the RPMessage Module. The module API should not be used after this is called. More...
 
int32_t RPMessageParams_init (RPMessage_Params *params)
 Initialize an RPMessage_Params structure to default values. More...
 
RPMessage_Handle RPMessage_create (RPMessage_Params *params, uint32_t *endPt)
 Create a endpoint instance for receiving. More...
 
int32_t RPMessage_setCallback (RPMessage_Handle handle, RPMessage_Callback cb, void *arg)
 Sets callback. More...
 
int32_t RPMessage_recv (RPMessage_Handle handle, void *data, uint16_t *len, uint32_t *rplyEndPt, uint32_t *fromProcId, uint32_t timeout)
 Receives a message from an endpoint instance. More...
 
int32_t RPMessage_recvNb (RPMessage_Handle handle, void *data, uint16_t *len, uint32_t *rplyEndPt, uint32_t *fromProcId)
 A non blocking API to receive message. More...
 
int32_t RPMessage_send (RPMessage_Handle handle, uint32_t dstProc, uint32_t dstEndPt, uint32_t srcEndPt, void *data, uint16_t len)
 Sends data to a remote processor. More...
 
int32_t RPMessage_delete (RPMessage_Handle *handlePtr)
 Delete an endpoint instance. More...
 
void RPMessage_unblock (RPMessage_Handle handle)
 Unblocks an RPMessage_recv() More...
 
int32_t RPMessage_getRemoteEndPt (uint32_t selfProcId, const char *name, uint32_t *remoteProcId, uint32_t *remoteEndPt, uint32_t timeout)
 Wait for an endpoint to become available on another processor. More...
 
int32_t RPMessage_getRemoteEndPtToken (uint32_t selfProcId, const char *name, uint32_t *remoteProcId, uint32_t *remoteEndPt, uint32_t timeout, uint32_t token)
 
void RPMessage_unblockGetRemoteEndPt (uint32_t token)
 Unblocks an RPMessage_getRemoteEndPtToken() call. More...
 
int32_t RPMessage_announce (uint32_t remoteProcId, uint32_t endPt, const char *name)
 Annouce the name of an endpoint and that it is ready to to receive messages. More...
 
void Ipc_newMessageIsr (uint32_t srcProcId)
 New Message Interrupt Handler. More...
 
void Ipc_mailboxEnableNewMsgInt (uint16_t selfId, uint16_t remoteProcId)
 API Mailbox Enable new MSG interrupt for a given remote processor. More...
 
void Ipc_mailboxDisableNewMsgInt (uint16_t selfId, uint16_t remoteProcId)
 API Mailbox Disable new MSG interrupt for a given remote processor. More...