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... | |
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 |
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) |
| #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) |
This is documentation for Resource Table configuratin for remote core as A72 running Linux.
| #define VIRTIO_ID_CONSOLE 3 |
Virtio type console used for Linux remoteproc.
| #define VIRTIO_ID_RPMSG 7 |
Virtio type as Remote Proc Messaging.
| #define VIRTIO_RPMSG_F_NS 0 |
RP supports name service notifications.
| #define VIRTIO_RING_F_SYMMETRIC 30 |
Support symmetric vring.
| #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) |
| #define TYPE_CARVEOUT 0U |
carvout type
| #define TYPE_DEVMEM 1U |
Devmem type.
| #define TYPE_TRACE 2U |
trace type
| #define TYPE_VDEV 3U |
VDEV type.
| #define FW_RSC_ADDR_ANY (~0) |
Macro to specify memory needs to be dynamically allocated.
| #define NUM_ENTRIES 2 |
Number of e ntries.
| #define NAME_LEN 32 |
Name Length.
| #define TRACE_INTS_VER0 (0 << 16) |
| #define TRACE_INTS_VER1 (1 << 16) |
| uint32_t Ipc_Hdr::ver |
Version Number
| uint32_t Ipc_Hdr::num |
Number of Device
| uint32_t Ipc_Hdr::reserved[2] |
Reserved for future use
| uint32_t Ipc_Trace::type |
Type of trace
| uint32_t Ipc_Trace::da |
Device Address
| uint32_t Ipc_Trace::len |
Length of buffer
| uint32_t Ipc_Trace::reserved |
Reserved for future use
| uint8_t Ipc_Trace::name[NAME_LEN] |
Name of the trace
| uint32_t Ipc_VDevVRing::da |
device address
| uint32_t Ipc_VDevVRing::align |
Alignment of the buffer.
| uint32_t Ipc_VDevVRing::num |
Number of buffers
| uint32_t Ipc_VDevVRing::notifyid |
NotifyId for receive channel
| uint32_t Ipc_VDevVRing::reserved |
Reserved for future use
| uint32_t Ipc_VDev::type |
type of VDEV
| uint32_t Ipc_VDev::id |
ID of VDEV
| uint32_t Ipc_VDev::notifyid |
NotifiedId
| uint32_t Ipc_VDev::dfeatures |
Not used
| uint32_t Ipc_VDev::gfeatures |
not used
| uint32_t Ipc_VDev::config_len |
Length of configuration
| uint8_t Ipc_VDev::status |
Status of VDev. It is updated by remote proc during loading
| uint8_t Ipc_VDev::num_of_vrings |
number of vrings
| uint8_t Ipc_VDev::reserved[2] |
Reserved for future use
| Ipc_Hdr Ipc_ResourceTable::base |
Header Information
| uint32_t Ipc_ResourceTable::offset[NUM_ENTRIES] |
offset, Should match 'num' in actual definition
| Ipc_VDev Ipc_ResourceTable::rpmsg_vdev |
RPMessage vDev Entry
| Ipc_VDevVRing Ipc_ResourceTable::rpmsg_vring0 |
1st - VRing
| Ipc_VDevVRing Ipc_ResourceTable::rpmsg_vring1 |
2nd VRing
| Ipc_Trace Ipc_ResourceTable::trace |
Trace used by remote proc