⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 drvcpu.h

📁 mstar 776 开发的车载dvd
💻 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 + -