PSDK QNX API Guide
IPC Driver Resource Table configuration

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)
 

Variables

uint32_t Ipc_Hdr::ver
 
uint32_t Ipc_Hdr::num
 
uint32_t Ipc_Hdr::reserved [2]
 
uint32_t Ipc_Trace::type
 
uint32_t Ipc_Trace::da
 
uint32_t Ipc_Trace::len
 
uint32_t Ipc_Trace::reserved
 
uint8_t Ipc_Trace::name [NAME_LEN]
 
uint32_t Ipc_VDevVRing::da
 
uint32_t Ipc_VDevVRing::align
 
uint32_t Ipc_VDevVRing::num
 
uint32_t Ipc_VDevVRing::notifyid
 
uint32_t Ipc_VDevVRing::reserved
 
uint32_t Ipc_VDev::type
 
uint32_t Ipc_VDev::id
 
uint32_t Ipc_VDev::notifyid
 
uint32_t Ipc_VDev::dfeatures
 
uint32_t Ipc_VDev::gfeatures
 
uint32_t Ipc_VDev::config_len
 
uint8_t Ipc_VDev::status
 
uint8_t Ipc_VDev::num_of_vrings
 
uint8_t Ipc_VDev::reserved [2]
 
Ipc_Hdr Ipc_ResourceTable::base
 
uint32_t Ipc_ResourceTable::offset [NUM_ENTRIES]
 
Ipc_VDev Ipc_ResourceTable::rpmsg_vdev
 
Ipc_VDevVRing Ipc_ResourceTable::rpmsg_vring0
 
Ipc_VDevVRing Ipc_ResourceTable::rpmsg_vring1
 
Ipc_Trace Ipc_ResourceTable::trace
 

Detailed Description

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

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.

◆ 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)

Variable Documentation

◆ ver

uint32_t Ipc_Hdr::ver

Version Number

◆ num [1/2]

uint32_t Ipc_Hdr::num

Number of Device

◆ reserved [1/4]

uint32_t Ipc_Hdr::reserved[2]

Reserved for future use

◆ type [1/2]

uint32_t Ipc_Trace::type

Type of trace

◆ da [1/2]

uint32_t Ipc_Trace::da

Device Address

◆ len

uint32_t Ipc_Trace::len

Length of buffer

◆ reserved [2/4]

uint32_t Ipc_Trace::reserved

Reserved for future use

◆ name

uint8_t Ipc_Trace::name[NAME_LEN]

Name of the trace

◆ da [2/2]

uint32_t Ipc_VDevVRing::da

device address

◆ align

uint32_t Ipc_VDevVRing::align

Alignment of the buffer.

◆ num [2/2]

uint32_t Ipc_VDevVRing::num

Number of buffers

◆ notifyid [1/2]

uint32_t Ipc_VDevVRing::notifyid

NotifyId for receive channel

◆ reserved [3/4]

uint32_t Ipc_VDevVRing::reserved

Reserved for future use

◆ type [2/2]

uint32_t Ipc_VDev::type

type of VDEV

◆ id

uint32_t Ipc_VDev::id

ID of VDEV

◆ notifyid [2/2]

uint32_t Ipc_VDev::notifyid

NotifiedId

◆ dfeatures

uint32_t Ipc_VDev::dfeatures

Not used

◆ gfeatures

uint32_t Ipc_VDev::gfeatures

not used

◆ config_len

uint32_t Ipc_VDev::config_len

Length of configuration

◆ status

uint8_t Ipc_VDev::status

Status of VDev. It is updated by remote proc during loading

◆ num_of_vrings

uint8_t Ipc_VDev::num_of_vrings

number of vrings

◆ reserved [4/4]

uint8_t Ipc_VDev::reserved[2]

Reserved for future use

◆ base

Ipc_Hdr Ipc_ResourceTable::base

Header Information

◆ offset

uint32_t Ipc_ResourceTable::offset[NUM_ENTRIES]

offset, Should match 'num' in actual definition

◆ rpmsg_vdev

Ipc_VDev Ipc_ResourceTable::rpmsg_vdev

RPMessage vDev Entry

◆ rpmsg_vring0

Ipc_VDevVRing Ipc_ResourceTable::rpmsg_vring0

1st - VRing

◆ rpmsg_vring1

Ipc_VDevVRing Ipc_ResourceTable::rpmsg_vring1

2nd VRing

◆ trace

Ipc_Trace Ipc_ResourceTable::trace

Trace used by remote proc