36 lines
1.2 KiB
C
36 lines
1.2 KiB
C
|
#ifndef _DSP_RPMSG_H
|
||
|
#define _DSP_RPMSG_H
|
||
|
|
||
|
#include <stdint.h>
|
||
|
|
||
|
#include "rpmsg.h"
|
||
|
|
||
|
#define RPMSG_SYNC_FUNC_MEM_ALLOC RPMSG_SYNC_FUNC_MSG(RPMSG_SYNC_FUNC_TYPE_DSP, 0x0001)
|
||
|
#define RPMSG_SYNC_FUNC_MEM_FREE RPMSG_SYNC_FUNC_MSG(RPMSG_SYNC_FUNC_TYPE_DSP, 0x0002)
|
||
|
#define RPMSG_SYNC_FUNC_DSP_CHG_FRQ RPMSG_SYNC_FUNC_MSG(RPMSG_SYNC_FUNC_TYPE_DSP, 0x0003) // DSP request to change working frequency
|
||
|
#define RPMSG_SYNC_FUNC_MEM_READ RPMSG_SYNC_FUNC_MSG(RPMSG_SYNC_FUNC_TYPE_DSP, 0x0004)
|
||
|
#define RPMSG_SYNC_FUNC_MEM_WRITE RPMSG_SYNC_FUNC_MSG(RPMSG_SYNC_FUNC_TYPE_DSP, 0x0005)
|
||
|
#define RPMSG_SYNC_FUNC_CACHE_ATTR RPMSG_SYNC_FUNC_MSG(RPMSG_SYNC_FUNC_TYPE_DSP, 0x0006)
|
||
|
#define RPMSG_SYNC_FUNC_MEM_USAGE RPMSG_SYNC_FUNC_MSG(RPMSG_SYNC_FUNC_TYPE_DSP, 0x0007)
|
||
|
|
||
|
struct rpmsg_sync_msg_mem_write_t {
|
||
|
uint32_t address;
|
||
|
uint32_t value;
|
||
|
};
|
||
|
|
||
|
struct rpmsg_sync_msg_cache_attr_t {
|
||
|
uint32_t icache_attr;
|
||
|
uint32_t dcache_attr;
|
||
|
uint8_t icache_ways;
|
||
|
uint8_t dcache_ways;
|
||
|
};
|
||
|
|
||
|
struct rpmsg_sync_msg_mem_usage_t {
|
||
|
uint32_t *curr_free;
|
||
|
uint32_t *min_free;
|
||
|
};
|
||
|
|
||
|
void dsp_rpmsg_handler(struct rpmsg_lite_instance *rpmsg, struct rpmsg_msg_t *msg);
|
||
|
|
||
|
#endif // _DSP_RPMSG_H
|