91 #if defined (SOC_J721E) 93 #define APP_IPC_CPU_MPU1_0 ( 0u) 95 #define APP_IPC_CPU_MCU1_0 ( 1u) 97 #define APP_IPC_CPU_MCU1_1 ( 2u) 99 #define APP_IPC_CPU_MCU2_0 ( 3u) 101 #define APP_IPC_CPU_MCU2_1 ( 4u) 103 #define APP_IPC_CPU_MCU3_0 ( 5u) 105 #define APP_IPC_CPU_MCU3_1 ( 6u) 107 #define APP_IPC_CPU_C6x_1 ( 7u) 109 #define APP_IPC_CPU_C6x_2 ( 8u) 111 #define APP_IPC_CPU_C7x_1 ( 9u) 113 #define APP_IPC_CPU_MAX (10u) 115 #define APP_IPC_CPU_INVALID (0xFFu) 118 #if defined (SOC_J721S2) 120 #define APP_IPC_CPU_MPU1_0 ( 0u) 122 #define APP_IPC_CPU_MCU1_0 ( 1u) 124 #define APP_IPC_CPU_MCU1_1 ( 2u) 126 #define APP_IPC_CPU_MCU2_0 ( 3u) 128 #define APP_IPC_CPU_MCU2_1 ( 4u) 130 #define APP_IPC_CPU_MCU3_0 ( 5u) 132 #define APP_IPC_CPU_MCU3_1 ( 6u) 134 #define APP_IPC_CPU_C7x_1 ( 7u) 136 #define APP_IPC_CPU_C7x_2 ( 8u) 138 #define APP_IPC_CPU_MAX ( 9u) 140 #define APP_IPC_CPU_INVALID (0xFFu) 143 #if defined (SOC_J784S4) 145 #define APP_IPC_CPU_MPU1_0 ( 0u) 147 #define APP_IPC_CPU_MCU1_0 ( 1u) 149 #define APP_IPC_CPU_MCU1_1 ( 2u) 151 #define APP_IPC_CPU_MCU2_0 ( 3u) 153 #define APP_IPC_CPU_MCU2_1 ( 4u) 155 #define APP_IPC_CPU_MCU3_0 ( 5u) 157 #define APP_IPC_CPU_MCU3_1 ( 6u) 159 #define APP_IPC_CPU_MCU4_0 ( 7u) 161 #define APP_IPC_CPU_MCU4_1 ( 8u) 163 #define APP_IPC_CPU_C7x_1 ( 9u) 165 #define APP_IPC_CPU_C7x_2 (10u) 167 #define APP_IPC_CPU_C7x_3 (11u) 169 #define APP_IPC_CPU_C7x_4 (12u) 171 #define APP_IPC_CPU_MAX (13u) 173 #define APP_IPC_CPU_INVALID (0xFFu) 176 #if defined (SOC_AM62A) 178 #define APP_IPC_CPU_MPU1_0 ( 0u) 180 #define APP_IPC_CPU_MCU1_0 ( 1u) 182 #define APP_IPC_CPU_C7x_1 ( 2u) 184 #define APP_IPC_CPU_MAX ( 3u) 186 #define APP_IPC_CPU_INVALID (0xFFu) 187 #if defined(MCU_PLUS_SDK) 188 #define IPC_MAX_PROCS (3U) 192 #if defined (SOC_J722S) 194 #define APP_IPC_CPU_MPU1_0 ( 0u) 196 #define APP_IPC_CPU_MCU1_0 ( 1u) 198 #define APP_IPC_CPU_MCU2_0 ( 2u) 200 #define APP_IPC_CPU_C7x_1 ( 3u) 202 #define APP_IPC_CPU_C7x_2 ( 4u) 204 #define APP_IPC_CPU_MCU_R5F ( 5u) 206 #define APP_IPC_CPU_MAX ( 6u) 208 #define APP_IPC_CPU_INVALID (0xFFu) 209 #if defined(MCU_PLUS_SDK) 210 #define IPC_MAX_PROCS (6U) 217 #define APP_IPC_HW_LOCK_MAX (256u) 220 #define APP_IPC_WAIT_FOREVER (0xFFFFFFFFu) 230 #define APP_IPC_TIOVX_RPMSG_PORT_ID (13u) 233 #define APP_IPC_REMOTE_SERVICE_RPMSG_PORT_ID (21u) 236 #define APP_IPC_ECHO_TEST_RPMSG_PORT_ID (14u) 239 #define APP_IPC_RPMSG_PROTO_ECHO_TEST_RPMSG_PORT_ID (12u) 259 uint32_t enabled_cpu_id_list[APP_IPC_CPU_MAX];
413 #if defined(FREERTOS) || defined(SAFERTOS) 419 int32_t appIpcCreateTraceBufFlushTask(
void);
uint32_t tiovx_rpmsg_port_id
Definition: app_ipc.h:260
int32_t appIpcDeInit()
De-Initialize IPC module.
uint32_t appIpcGetIpcCpuId(uint32_t app_cpu_id)
Convert from APP_CPU_xxx to IPC LLD CPU ID.
void * ipc_resource_tbl
Definition: app_ipc.h:268
void * tiovx_log_rt_mem
Definition: app_ipc.h:265
int32_t appIpcHwLockRelease(uint32_t lock_id)
Release a system wide HW lock.
uint32_t appIpcGetSelfCpuId()
Get current CPU ID.
IPC initialization parameters.
Definition: app_ipc.h:256
int32_t appIpcGetTiovxObjDescSharedMemInfo(void **addr, uint32_t *size)
Get base address and size of memory region assigned for TIOVX obj_desc's.
char * appIpcGetCpuName(uint32_t app_cpu_id)
Get CPU name from CPU ID.
int32_t appIpcRegisterNotifyHandler(app_ipc_notify_handler_f handler)
Register callback to invoke on receiving a notify message.
uint32_t appIpcIsCpuEnabled(uint32_t cpu_id)
Check if a CPU is enabled in current system for IPC.
uint32_t tiovx_obj_desc_mem_size
Definition: app_ipc.h:262
uint32_t tiovx_log_rt_mem_size
Definition: app_ipc.h:266
uint32_t appIpcGetHostPortId(uint16_t cpu_id)
Get current CPU Port ID.
uint32_t appIpcGetAppCpuId(char *name)
Get APP_CPU_xxx from CPU name.
void appIpcGetTiovxLogRtSharedMemInfo(void **shm_base, uint32_t *shm_size)
Get base address and size of memory region assigned for TIOVX run-time logging.
void(* app_ipc_notify_handler_f)(uint32_t src_cpu_id, uint32_t payload)
Callback that is invoke when current CPU receives a IPC notify.
Definition: app_ipc.h:250
int32_t appIpcSendNotifyPort(uint32_t dest_cpu_id, uint32_t payload, uint32_t port_id)
Send a notify message to a given CPU.
uint32_t ipc_vring_mem_size
Definition: app_ipc.h:264
void appIpcInitPrmSetDefault(app_ipc_init_prm_t *prm)
Set IPC init parameters to default state.
uint32_t self_cpu_id
Definition: app_ipc.h:267
void * ipc_vring_mem
Definition: app_ipc.h:263
uint32_t num_cpus
Definition: app_ipc.h:258
int32_t appIpcHwLockAcquire(uint32_t lock_id, uint32_t timeout)
Acquire a system wide HW lock.
uint32_t enable_tiovx_ipc_announce
Definition: app_ipc.h:269
void * tiovx_obj_desc_mem
Definition: app_ipc.h:261
int32_t appIpcInit(app_ipc_init_prm_t *prm)
Initialize IPC module.
int32_t appIpcSendNotify(uint32_t dest_cpu_id, uint32_t payload)
Send a notify message to a given CPU.