PDK API Guide for J721E
IPC Driver Resource Table configuration

Introduction

This is documentation for Resource Table configuratin for remote core as A72 running Linux.

Data Structures

struct  Ipc_Hdr
 IPC Resource Table Header. More...
 
struct  Ipc_Trace
 Structure used for remoteproc trace. More...
 
struct  Ipc_VDevVRing
 Resource Table Device VRing Structure. More...
 
struct  Ipc_VDev
 VDEV structure. Must match with Linux. More...
 
struct  Ipc_ResourceTable
 IPC Resource Table used by IPC app. More...
 

Macros

#define VIRTIO_ID_CONSOLE   3
 Virtio type console used for Linux remoteproc. More...
 
#define VIRTIO_ID_RPMSG   7
 Virtio type as Remote Proc Messaging. More...
 
#define VIRTIO_RPMSG_F_NS   0
 RP supports name service notifications. More...
 
#define VIRTIO_RING_F_SYMMETRIC   30
 Support symmetric vring. More...
 
#define TYPE_CARVEOUT   0U
 carvout type More...
 
#define TYPE_DEVMEM   1U
 Devmem type. More...
 
#define TYPE_TRACE   2U
 trace type More...
 
#define TYPE_VDEV   3U
 VDEV type. More...
 
#define FW_RSC_ADDR_ANY   (~0)
 Macro to specify memory needs to be dynamically allocated. More...
 
#define NUM_ENTRIES   2
 Number of e ntries. More...
 
#define NAME_LEN   32
 Name Length. More...
 
#define TRACE_INTS_VER0   (0 << 16)
 
#define TRACE_INTS_VER1   (1 << 16)
 

IPC RP Mailbox Messages

List of various IPC RP messages sent by remote proc kernel driver

#define IPC_RP_MBOX_READY   ((uint32_t)0xFFFFFF00U)
 
#define IPC_RP_MBOX_PENDING_MSG   ((uint32_t)0xFFFFFF01U)
 
#define IPC_RP_MBOX_CRASH   ((uint32_t)0xFFFFFF02U)
 
#define IPC_RP_MBOX_ECHO_REQUEST   ((uint32_t)0xFFFFFF03U)
 
#define IPC_RP_MBOX_ECHO_REPLY   ((uint32_t)0xFFFFFF04U)
 
#define IPC_RP_MBOX_ABORT_REQUEST   ((uint32_t)0xFFFFFF05U)
 
#define IPC_RP_MBOX_SUSPEND_AUTO   ((uint32_t)0xFFFFFF10U)
 
#define IPC_RP_MBOX_SUSPEND_SYSTEM   ((uint32_t)0xFFFFFF11U)
 
#define IPC_RP_MBOX_SUSPEND_ACK   ((uint32_t)0xFFFFFF12U)
 
#define IPC_RP_MBOX_SUSPEND_CANCEL   ((uint32_t)0xFFFFFF13U)
 
#define IPC_RP_MBOX_SHUTDOWN   ((uint32_t)0xFFFFFF14U)
 
#define IPC_RP_MBOX_SHUTDOWN_ACK   ((uint32_t)0xFFFFFF15U)
 
#define IPC_RP_MBOX_END_MSG   ((uint32_t)0xFFFFFF16U)
 

Macro Definition Documentation

◆ VIRTIO_ID_CONSOLE

#define VIRTIO_ID_CONSOLE   3

Virtio type console used for Linux remoteproc.

◆ VIRTIO_ID_RPMSG

#define VIRTIO_ID_RPMSG   7

Virtio type as Remote Proc Messaging.

◆ VIRTIO_RPMSG_F_NS

#define VIRTIO_RPMSG_F_NS   0

RP supports name service notifications.

◆ VIRTIO_RING_F_SYMMETRIC

#define VIRTIO_RING_F_SYMMETRIC   30

Support symmetric vring.

◆ IPC_RP_MBOX_READY

#define IPC_RP_MBOX_READY   ((uint32_t)0xFFFFFF00U)

◆ IPC_RP_MBOX_PENDING_MSG

#define IPC_RP_MBOX_PENDING_MSG   ((uint32_t)0xFFFFFF01U)

◆ IPC_RP_MBOX_CRASH

#define IPC_RP_MBOX_CRASH   ((uint32_t)0xFFFFFF02U)

◆ IPC_RP_MBOX_ECHO_REQUEST

#define IPC_RP_MBOX_ECHO_REQUEST   ((uint32_t)0xFFFFFF03U)

◆ IPC_RP_MBOX_ECHO_REPLY

#define IPC_RP_MBOX_ECHO_REPLY   ((uint32_t)0xFFFFFF04U)

◆ IPC_RP_MBOX_ABORT_REQUEST

#define IPC_RP_MBOX_ABORT_REQUEST   ((uint32_t)0xFFFFFF05U)

◆ IPC_RP_MBOX_SUSPEND_AUTO

#define IPC_RP_MBOX_SUSPEND_AUTO   ((uint32_t)0xFFFFFF10U)

◆ IPC_RP_MBOX_SUSPEND_SYSTEM

#define IPC_RP_MBOX_SUSPEND_SYSTEM   ((uint32_t)0xFFFFFF11U)

◆ IPC_RP_MBOX_SUSPEND_ACK

#define IPC_RP_MBOX_SUSPEND_ACK   ((uint32_t)0xFFFFFF12U)

◆ IPC_RP_MBOX_SUSPEND_CANCEL

#define IPC_RP_MBOX_SUSPEND_CANCEL   ((uint32_t)0xFFFFFF13U)

◆ IPC_RP_MBOX_SHUTDOWN

#define IPC_RP_MBOX_SHUTDOWN   ((uint32_t)0xFFFFFF14U)

◆ IPC_RP_MBOX_SHUTDOWN_ACK

#define IPC_RP_MBOX_SHUTDOWN_ACK   ((uint32_t)0xFFFFFF15U)

◆ IPC_RP_MBOX_END_MSG

#define IPC_RP_MBOX_END_MSG   ((uint32_t)0xFFFFFF16U)

◆ TYPE_CARVEOUT

#define TYPE_CARVEOUT   0U

carvout type

◆ TYPE_DEVMEM

#define TYPE_DEVMEM   1U

Devmem type.

◆ TYPE_TRACE

#define TYPE_TRACE   2U

trace type

◆ TYPE_VDEV

#define TYPE_VDEV   3U

VDEV type.

◆ FW_RSC_ADDR_ANY

#define FW_RSC_ADDR_ANY   (~0)

Macro to specify memory needs to be dynamically allocated.

◆ NUM_ENTRIES

#define NUM_ENTRIES   2

Number of e ntries.

◆ NAME_LEN

#define NAME_LEN   32

Name Length.

◆ TRACE_INTS_VER0

#define TRACE_INTS_VER0   (0 << 16)

◆ TRACE_INTS_VER1

#define TRACE_INTS_VER1   (1 << 16)