📄 drvmiu.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 DRVMIU_H
#define DRVMIU_H
#include "memtype.h"
#include "datatype.h"
#include "drvge.h"
#include "board.h"
#include "Bin_ID.h"
#include "chip/compat.h"
#define MIU_PROT_BLK0 0
#define MIU_PROT_BLK1 1
#define MIU_PROT_BLK2 2
#define MIU_DMA_FLASH2SDRAM 0x05
#define MIU_DMA_SRAM2SDRAM 0x09
#define MIU_DMA_SDRAM2SRAM 0x0B
#define MIU_DMA_SDRAM2SDRAM 0x0C
#define MIU_ALIGN_UNIT 8
typedef enum
{
MIU_ALIGN_SRC,
MIU_ALIGN_DST,
MIU_ALIGN_BOTH,
MIU_ALIGN_NONE,
} MIUALIGNTYPE;
typedef enum
{
MCID_GOP,
MCID_FLASH,
MCID_MAD,
MCID_MAD_W,
MCID_MVD,
MCID_VDMCU,
MCID_GE,
MCID_GE_R,
MCID_GE_W,
MCID_HKMCU,
MCID_HKMCU_XD,
} MIUCLIENTID;
typedef enum
{
MCPY_GENERAL, // Not special type
// Engine
MCPY_LOADMVDFW,
MCPY_LOADVDMCUFW,
MCPY_GOP,
MCPY_MAD,
MCPY_TSP,
MCPY_MADI,
MCPY_TTX,
MCPY_CARDREADER,
MCPY_VOP,
MCPY_HKMCU,
// Data
MCPY_LOADFONT,
MCPY_LOADBITMAP,
MCPY_LOADLOGO,
MCPY_CC,
MCPY_DATABASE,
MCPY_CCS,
} MCPY_TYPE;
extern void MDrv_MIU_InitialMiuToSDRAMX16(void);
extern void MDrv_MIU_Protect(U8 Blockx,U8 ProtectId, U32 u32Start, U32 u32End, BOOLEAN bEnable);
extern void MDrv_MIU_Copy(U32 srcaddr, U32 dstaddr, U32 len, MEMCOPYTYPE type);
extern void MDrv_MIU_XCopy(U8 type, U32 srcaddr, U32 dstaddr, U32 len);
extern void MDrv_MIU_Set_BinHeader_Addr(U32 addr);
extern U32 MDrv_MIU_Get_BinHeader_Addr(void);
extern BOOLEAN MDrv_MIU_Get_BinInfo(BINFORMAT *pBinInfo);
extern void MDrv_MIU_Get_BitmapInfo(U16 bmphandle, Bitmap_Info *pBitmapInfo);
extern void MDrv_MIU_Set_BitmapInfo(U16 bmphandle, Bitmap_Info *pBitmapInfo);
extern void MDrv_MIU_Get_FontInfo(U8 fonthandle, FONT_INFO *pFontInfo);
extern void MDrv_MIU_Set_FontInfo(U8 fonthandle, FONT_INFO *pFontInfo);
#define MDrv_MIU_SDRAM2VARCopy(srcaddr, dstaddr, len) MDrv_Sys_CopyMIU2VAR(srcaddr, dstaddr, len)
#define MDrv_MIU_VAR2SDRAMCopy(srcaddr, dstaddr, len) MDrv_Sys_CopyVAR2MIU(srcaddr, dstaddr, len)
//extern void MDrv_MIU_SDRAM2VARCopy(U32 srcaddr, U8* dstaddr, U32 len);
//extern void MDrv_MIU_VAR2SDRAMCopy(U8 *srcaddr, U32 dstaddr, U32 len);
#if ENABLE_SSC
extern void MDrv_MIU_SscEnable(BOOLEAN enable);
extern BOOLEAN MDrv_MIU_SscStatus(void);
extern void MDrv_MIU_SscStep(U8 StepValue);
extern U8 MDrv_MIU_SscStepValue(void);
extern void MDrv_MIU_SscSpan(U16 SpanValue);
extern U16 MDrv_MIU_SscSpanValue(void);
void MDrv_MIU_SetSsc(U16 u16Periodx100Hz, U16 u16Percentx100, BOOLEAN bEnable);
#endif
extern void MDrv_MIU_SPI_SetOffset(U32 u32Offset);
extern U32 MDrv_MIU_SPI_GetOffset(void);
extern void MDrv_MIU_SetRoundRobin(BOOLEAN bEnable);
extern void MDrv_MIU_W1_DRAM2DRAMCopy(U32 srcaddr, U32 dstaddr, U32 len, MEMCOPYTYPE type);
extern void MDrv_MIU_Set_DRAM2DRAM_Mode(BOOLEAN mode);
extern BOOLEAN MDrv_MIU_Get_DRAM2DRAM_Mode();
#if (CHIP_HAS_DMA_CRC16)
#include "drvGlobal.h"
#define MDrv_DMA_SetCrcPolynomial(u16Vec) MDrv_Write2Byte(REG_DMA_CRC_POLYNOMIAL, u16Vec)
#define MDrv_DMA_SetCrcInitial(u16Init) MDrv_Write2Byte(REG_DMA_CRC_INITIAL, u16Init)
#define MDrv_DMA_ClearCrc() MDrv_WriteByte(REG_DMA_CRC_CLEAR, 1)
#define MDrv_DMA_EnableCrc(bEnable) MDrv_WriteByte(REG_DMA_CRC_EN, (bEnable) ? 1 : 0)
#define MDrv_DMA_GetCrcResult() MDrv_Read2Byte(REG_DMA_CRC_RESULT)
#else
#define MDrv_DMA_SetCrcPolynomial(u16Vec) _FUNC_NOT_USED()
#define MDrv_DMA_SetCrcInitial(u16Init) _FUNC_NOT_USED()
#define MDrv_DMA_ClearCrc() _FUNC_NOT_USED()
#define MDrv_DMA_EnableCrc(bEnable) _FUNC_NOT_USED()
#define MDrv_DMA_GetCrcResult() 0
#endif
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -