92 #if defined (SOC_J721E) 94 #define APP_IPC_CPU_MPU1_0 ( 0u) 96 #define APP_IPC_CPU_MCU1_0 ( 1u) 98 #define APP_IPC_CPU_MCU1_1 ( 2u) 100 #define APP_IPC_CPU_MCU2_0 ( 3u) 102 #define APP_IPC_CPU_MCU2_1 ( 4u) 104 #define APP_IPC_CPU_MCU3_0 ( 5u) 106 #define APP_IPC_CPU_MCU3_1 ( 6u) 108 #define APP_IPC_CPU_C6x_1 ( 7u) 110 #define APP_IPC_CPU_C6x_2 ( 8u) 112 #define APP_IPC_CPU_C7x_1 ( 9u) 114 #define APP_IPC_CPU_MAX (10u) 116 #define APP_IPC_CPU_INVALID (0xFFu) 119 #if defined (SOC_J721S2) 121 #define APP_IPC_CPU_MPU1_0 ( 0u) 123 #define APP_IPC_CPU_MCU1_0 ( 1u) 125 #define APP_IPC_CPU_MCU1_1 ( 2u) 127 #define APP_IPC_CPU_MCU2_0 ( 3u) 129 #define APP_IPC_CPU_MCU2_1 ( 4u) 131 #define APP_IPC_CPU_MCU3_0 ( 5u) 133 #define APP_IPC_CPU_MCU3_1 ( 6u) 135 #define APP_IPC_CPU_C7x_1 ( 7u) 137 #define APP_IPC_CPU_C7x_2 ( 8u) 139 #define APP_IPC_CPU_MAX ( 9u) 141 #define APP_IPC_CPU_INVALID (0xFFu) 144 #if defined (SOC_J784S4) 146 #define APP_IPC_CPU_MPU1_0 ( 0u) 148 #define APP_IPC_CPU_MCU1_0 ( 1u) 150 #define APP_IPC_CPU_MCU1_1 ( 2u) 152 #define APP_IPC_CPU_MCU2_0 ( 3u) 154 #define APP_IPC_CPU_MCU2_1 ( 4u) 156 #define APP_IPC_CPU_MCU3_0 ( 5u) 158 #define APP_IPC_CPU_MCU3_1 ( 6u) 160 #define APP_IPC_CPU_MCU4_0 ( 7u) 162 #define APP_IPC_CPU_MCU4_1 ( 8u) 164 #define APP_IPC_CPU_C7x_1 ( 9u) 166 #define APP_IPC_CPU_C7x_2 (10u) 168 #define APP_IPC_CPU_C7x_3 (11u) 170 #define APP_IPC_CPU_C7x_4 (12u) 172 #define APP_IPC_CPU_MAX (13u) 174 #define APP_IPC_CPU_INVALID (0xFFu) 177 #if defined (SOC_J742S2) 179 #define APP_IPC_CPU_MPU1_0 ( 0u) 181 #define APP_IPC_CPU_MCU1_0 ( 1u) 183 #define APP_IPC_CPU_MCU1_1 ( 2u) 185 #define APP_IPC_CPU_MCU2_0 ( 3u) 187 #define APP_IPC_CPU_MCU2_1 ( 4u) 189 #define APP_IPC_CPU_MCU3_0 ( 5u) 191 #define APP_IPC_CPU_MCU3_1 ( 6u) 193 #define APP_IPC_CPU_MCU4_0 ( 7u) 195 #define APP_IPC_CPU_MCU4_1 ( 8u) 197 #define APP_IPC_CPU_C7x_1 ( 9u) 199 #define APP_IPC_CPU_C7x_2 (10u) 201 #define APP_IPC_CPU_C7x_3 (11u) 203 #define APP_IPC_CPU_MAX (12u) 205 #define APP_IPC_CPU_INVALID (0xFFu) 208 #if defined (SOC_AM62A) 210 #define APP_IPC_CPU_MPU1_0 ( 0u) 212 #define APP_IPC_CPU_MCU1_0 ( 1u) 214 #define APP_IPC_CPU_C7x_1 ( 2u) 216 #define APP_IPC_CPU_MAX ( 3u) 218 #define APP_IPC_CPU_INVALID (0xFFu) 219 #if defined(MCU_PLUS_SDK) 220 #define IPC_MAX_PROCS (3U) 224 #if defined (SOC_J722S) 226 #define APP_IPC_CPU_MPU1_0 ( 0u) 228 #define APP_IPC_CPU_MCU1_0 ( 1u) 230 #define APP_IPC_CPU_MCU2_0 ( 2u) 232 #define APP_IPC_CPU_C7x_1 ( 3u) 234 #define APP_IPC_CPU_C7x_2 ( 4u) 236 #define APP_IPC_CPU_MCU_R5F ( 5u) 238 #define APP_IPC_CPU_MAX ( 6u) 240 #define APP_IPC_CPU_INVALID (0xFFu) 241 #if defined(MCU_PLUS_SDK) 242 #define IPC_MAX_PROCS (6U) 249 #define APP_IPC_HW_LOCK_MAX (256u) 252 #define APP_IPC_WAIT_FOREVER (0xFFFFFFFFu) 262 #define APP_IPC_TIOVX_RPMSG_PORT_ID (13u) 265 #define APP_IPC_REMOTE_SERVICE_RPMSG_PORT_ID (21u) 268 #define APP_IPC_ECHO_TEST_RPMSG_PORT_ID (14u) 271 #define APP_IPC_RPMSG_PROTO_ECHO_TEST_RPMSG_PORT_ID (12u) 291 uint32_t enabled_cpu_id_list[APP_IPC_CPU_MAX];
uint32_t tiovx_rpmsg_port_id
Definition: app_ipc.h:292
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:300
void * tiovx_log_rt_mem
Definition: app_ipc.h:297
const char * appIpcGetCpuName(uint32_t app_cpu_id)
Get CPU name from CPU ID.
int32_t appIpcHwLockRelease(uint32_t lock_id)
Release a system wide HW lock.
IPC initialization parameters.
Definition: app_ipc.h:288
int32_t appIpcGetTiovxObjDescSharedMemInfo(void **addr, uint32_t *size)
Get base address and size of memory region assigned for TIOVX obj_desc's.
uint32_t appIpcGetSelfCpuId(void)
Get current 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:294
uint32_t tiovx_log_rt_mem_size
Definition: app_ipc.h:298
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.
int32_t appIpcEchoTestStart(void)
Start echo test.
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:282
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:296
void appIpcInitPrmSetDefault(app_ipc_init_prm_t *prm)
Set IPC init parameters to default state.
uint32_t self_cpu_id
Definition: app_ipc.h:299
int32_t appIpcDeInit(void)
De-Initialize IPC module.
void * ipc_vring_mem
Definition: app_ipc.h:295
uint32_t num_cpus
Definition: app_ipc.h:290
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:301
void * tiovx_obj_desc_mem
Definition: app_ipc.h:293
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.