1/* 2 * OMX offloading remote processor driver 3 */ 4 5#ifndef RPMSG_OMX_DEFS_H 6#define RPMSG_OMX_DEFS_H 7 8#include <linux/rpmsg_omx.h> 9 10//AD - from SDO 11/* 12 * ======== OMX_Packet ======== 13 * 14 * OMX_Packet.desc: the package descriptor field. Note that the 15 * format is different for out-bound and in-bound messages. 16 * 17 * out-bound message descriptor 18 * 19 * Bits Description 20 * -------------------------------------------------------------------- 21 * [15:12] reserved 22 * [11:8] omx message type 23 * [7:0] omx client protocol version 24 * 25 * 26 * in-bound message descriptor 27 * 28 * Bits Description 29 * -------------------------------------------------------------------- 30 * [15:12] reserved 31 * [11:8] omx server status code 32 * [7:0] omx server protocol version 33 */ 34/* message type values */ 35#define OMX_DESC_MSG 0x1 // exec sync command 36#define OMX_DESC_SYM_ADD 0x3 // symbol add message 37#define OMX_DESC_SYM_IDX 0x4 // query symbox index 38#define OMX_DESC_CMD 0x5 // exec non-blocking command. 39#define OMX_DESC_TYPE_MASK 0x0F00 // field mask 40#define OMX_DESC_TYPE_SHIFT 8 // field shift width 41 42/* omx server status codes must be 0 - 15, it has to fit in a 4-bit field */ 43#define OMXSERVER_STATUS_SUCCESS ((uint16_t)0) // success 44#define OMXSERVER_STATUS_INVALID_FXN ((uint16_t)1) // invalid fxn index 45#define OMXSERVER_STATUS_SYMBOL_NOT_FOUND ((uint16_t)2) // symbol not found 46#define OMXSERVER_STATUS_INVALID_MSG_TYPE ((uint16_t)3) // invalid msg type 47#define OMXSERVER_STATUS_MSG_FXN_ERR ((uint16_t)4) // msg function error 48#define OMXSERVER_STATUS_ERROR ((uint16_t)5) // general failure 49#define OMXSERVER_STATUS_UNPROCESSED ((uint16_t)6) // unprocessed message 50 51#define OMX_POOLID_JOBID_DEFAULT (0x00008000) 52#define OMX_INVALIDFXNIDX ((uint32_t)(0xFFFFFFFF)) 53 54#endif /* RPMSG_OMX_DEFS_H */ 55