📄 hw_mailbox.h
字号:
/******************************************************************/
/* Copyright (C) 2007 ROCK-CHIPS FUZHOU . All Rights Reserved. */
/*******************************************************************
File : hw_mailbox.h
Desc : 定义MailBox的寄存器结构体\寄存器位的宏定义\接口函数
Author : huangxinyu
Date : 2007-09-17
Notes :
$Log: hw_mailbox.h,v $
Revision 1.3 2007/10/23 08:25:09 Huangxinyu
调试后修改bug
Revision 1.2 2007/10/08 02:38:45 Lingzhaojun
添加版本自动注释脚本
*********************************************************************/
#ifndef _HW_MAILBOX_H
#define _HW_MAILBOX_H
/********************************************************************
INCLUDE FILES
*********************************************************************/
#include "typedef.h"
#include "hw_memmap.h"
/********************************************************************
GLOBAL MACROS DEFINE
********************************************************************/
#define MB_C2H0_FLAG (1<<0)
#define MB_C2H1_FLAG (1<<1)
#define MB_C2H2_FLAG (1<<2)
#define MB_C2H3_FLAG (1<<3)
#define MB_H2C0_FLAG (1<<0)
#define MB_H2C1_FLAG (1<<1)
#define MB_H2C2_FLAG (1<<2)
#define MB_H2C3_FLAG (1<<3)
/*********************************************************************
ENUMERATIONS AND STRUCTURES
*********************************************************************/
typedef struct
{
REG32 data;
REG32 cmd;
}MAILBOXCHANNEL;
typedef volatile struct MailBoxReg
{
REG32 MAILBOX_ID; // 0x00
REG32 Reserved1[3]; // 0x04 ~ 0x0C
REG32 H2C_STA; // 0x10
REG32 Reserved2[3]; // 0x14 ~ 0x1C
MAILBOXCHANNEL H2C[4];
REG32 C2H_STA; // 0x40
REG32 Reserved3[3]; // 0x44 ~ 0x4C
MAILBOXCHANNEL C2H[4];
}MailBoxReg_t, *pMailBoxReg_t;
#define pMailBoxReg ((pMailBoxReg_t)AHB0_MAILBOX_BASE)
//#define ROCK_MAILBOX_PROTOCOL
/*
*cmd高4位表示消息优先级,由低到高(0x0---0xf)共16个优先级
*在消息队列中高优先级的msg将优先发送和接受
*相同优先级的消息依FIFO原则处理
*/
typedef enum
{
Z2A_NextStreamReq = 0,//4发送解码器需要的下个输入buf的req
Z2A_AddNewDIspFrame,//4通知arm添加新的可以显示的祯
Z2A_StreamDecResult,//4解码结果,若解码出错,arm需要查找下一个I祯,并发送reset解码器消息
}ZSP2ARM_MSG;
typedef enum
{
A2Z_NextStream = 0,//4通知zsp解码该位置上的数据
A2Z_DecoderDisable,//4通知zsp暂停解码
A2Z_DecoderEnable,//4通知zsp恢复解码
A2Z_DecoderReset = 0x10000000,//4通知zsp复位解码器数据,接下来将发送I祯
A2Z_StartDecoder,//4启动解码
A2Z_CloseDecoder,//4关闭解码器
}ARM2ZSP_MSG;
typedef struct
{
long MailBoxCmd;
long MailBoxData;
}MAILBOXMSG;
UINT16 MailBoxSendMsg(void* msg);
void* MailBoxGetMsg(void);
#endif /* _HW_MAILBOX_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -