📄 drvcpu.h
字号:
////////////////////////////////////////////////////////////////////////////////
//
// Copyright (c) 2006-2007 MStar Semiconductor, Inc.
// All rights reserved.
//
// Unless otherwise stipulated in writing, any and all information contained
// herein regardless in any format shall remain the sole proprietary of
// MStar Semiconductor Inc. and be kept in strict confidence
// (¨MStar Confidential Information〃) by the recipient.
// Any unauthorized act including without limitation unauthorized disclosure,
// copying, use, reproduction, sale, distribution, modification, disassembling,
// reverse engineering and compiling of the contents of MStar Confidential
// Information is unlawful and strictly prohibited. MStar hereby reserves the
// rights to any and all damages, losses, costs and expenses resulting therefrom.
//
///////////////////////////////////////////////////////////////////////////////
#ifndef _CPU_H_
#define _CPU_H_
#ifdef DRVCPU_C
#define INTERFACE
#else
#define INTERFACE extern
#endif
//-----------------------------------------------------------------------------
// Mail Box Structure
//-----------------------------------------------------------------------------
typedef struct _mail_box {
U8 u8CmdClass;
U8 u8CmdIdx;
U8 u8Param[10];
U8 ParamCnt : 4;
U8 CMDType : 3;
U8 Busy : 1;
} MailBox, *PMailBox;
//-----------------------------------------------------------------------------
typedef struct _Mail_Box_Cmd_Queue {
U8 u8CmdIdx;
U8 u8ParamCnt;
U8 u8Param[10];
} MailBoxCmdQueue, *PMailBoxCmdQueue;
//-----------------------------------------------------------------------------
typedef struct _Cmd_Queue_Info
{
U8 ReadPtr :4;
U8 QLen :4;
} CmdQueueInfo, *pCmdQueueInfo;
//-------------------------------
typedef enum
{
MB_CMD_TYPE_DEFAULT,
MB_CMD_TYPE_INSTANT_READ,
} MB_CMD_TYPE;
//-------------------------------
// MB_CLASS
//-------------------------------
typedef enum
{
MB_CLASS_SYSTEM,
MB_CLASS_INPUT,
MB_CLASS_TSP,
MB_CLASS_CHANNEL,
MB_CLASS_MEMORY,
MB_CLASS_MPEG,
MB_CLASS_VIDEO,
MB_CLASS_AUDIO,
MB_CLASS_MHEG5_STATE,
#ifdef ENABLE_MPLAYER
MB_CLASS_FS, // file system
MB_CLASS_MPLAYER, // media player
#endif // ENABLE_MPLAYER
MB_CLASS_NUM,
} MB_CLASS;
//-------------------------------
// Queue_type
//-------------------------------
typedef enum
{
Q_PARALLEL,
Q_STATE,
Q_NUM,
} Q_TYPE;
//-------------------------------
// MB_CLASS_INPUT
//-------------------------------
typedef enum
{
MB_INPUT_CMD_IR,
MB_INPUT_CMD_KEYPAD,
} MB_INPUT_CLASS;
#ifdef ENABLE_MPLAYER
//-------------------------------
// MB_CLASS_FS
//-------------------------------
typedef enum
{
MB_FS_CMD_LS,
} MB_FS_CLASS;
#endif // ENABLE_MPLAYER
typedef enum
{
MB_RETURN_OK,
MB_RETURN_MHEG5_EXIT,
#ifdef ENABLE_MPLAYER
MB_RETURN_FS_DONE,
#endif //ENABLE_MPLAYER
} MB_RETURN_STATE;
#define MB_51_PARALLEL_QLENGTH 5
#define MB_51_PARALLEL_QSIZE 5
#define MB_51_STATE_QLENGTH 5
#define MB_51_STATE_QSIZE 12
INTERFACE MailBox MailBoxPara;
INTERFACE U8 AeonNeedLoadCode;
INTERFACE void MDrv_Change_CPU_Speed(U8 type);
INTERFACE void MDrv_Change_SPI_Speed(U8 type);
INTERFACE void MDrv_Change_VD_Speed(U8 type);
INTERFACE void MDrv_Aeon_Init(void);
INTERFACE void MDrv_InitMailBoxQueue(void);
INTERFACE void MDrv_Aeon_Enable(void);
INTERFACE void MDrv_Aeon_SW_Reset(void);
INTERFACE void MDrv_Aeon_Disable(void);
INTERFACE void MDrv_SendMailBoxMsg(void);
INTERFACE void MDrv_HandleMailBox(void);
INTERFACE void MDrv_Get_System_info(void);
INTERFACE U8 MDrv_GetMailBoxMsg(U8 u8QueueType, U8 *Msg);
INTERFACE BOOLEAN MDrv_CheckMailBoxIdle(void);
INTERFACE BOOLEAN MDrv_CheckMailBoxReady(void);
//----------------------------------
// Get MailBox Message Return Value
//----------------------------------
typedef enum
{
MB_GET_MSG_OK,
MB_QUEUE_EMPTY,
MB_ERROR_CLASS,
} MB_GETMSG_RET;
#undef INTERFACE
#endif // _CPU_H_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -