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