📄 l2.h
字号:
/*++
Copyright (c) 2001 Sunplus Technology Co., Ltd.
Module Name:
L2.h
Abstract:
Header file related to L2 functions
Environment:
Keil C51 Compiler
Revision History:
11/12/2001 bu210 created
--*/
//-----------------------------------------------------------------------------
// Header file
//-----------------------------------------------------------------------------
#include "device.h"
//-----------------------------------------------------------------------------
// Data type
//-----------------------------------------------------------------------------
// date
struct DATESTC
{
UCHAR Year;
UCHAR Month;
UCHAR Day;
UCHAR Hour;
UCHAR Minute;
UCHAR Second;
};
//------------------------------------------------------------------------------
//Constant
//------------------------------------------------------------------------------
#define L2K_SUCCESS 0x00
#define L2K_ERROR_GENERAL 0x01
#define L2K_ERROR_PARAMETER 0x02
#define L2K_CPUInternal 0x01 // 0 is for external ICE
// 1 is for internal 8051
//Joe@2003.3.6 16:25 modify begin
//#define L2K_CPUP1 0x01 // 0 is for low byte address
// 1 is for 8051 GPIO P1
#define L2K_CPUP1 0x00 // 0 is for low byte address
//Joe@2003.3.6 16:25 modify end
#define L2K_P1OE 0xff
#define L2K_P3OE 0x3e // P3o is input for RXD
/*#define K_Q50 0x00 //ada@0225
#define K_Q70 0x01
#define L2K_Q80 0x02
#define L2K_Q85 0x03
#define L2K_Q88 0x04
#define L2K_Q90 0x05
#define L2K_Q92 0x06
#define L2K_Q95 0x07
#define L2K_Q1 0xff*/
#define L2K_DateWhite 0x00
#define L2K_DateYellow 0x01
#define L2K_DateCyan 0x02
#define L2K_DateGreen 0x03
#define L2K_DateMagenta 0x04
#define L2K_DateRed 0x05
#define L2K_DateBlue 0x06
#define L2K_DateBlack 0x07
//GLOBAL
#define PPG struct PGSTC *
#define PDATE struct DATESTC *
// for test flash only
#ifdef TestModeEn
#define L2K_FMactType 0x03 // 0:GPIOs 1:NAND 2:SMC 3:CF(IDE) 4:CF(MEM) 5:SD 6:MMC 7:SPI 8:NX
#define L2K_FMinactType 0x01 // 0:Only one flash 1:NAND 2:SMC 3:CF(IDE) 4:CF(MEM) 5:SD 6:MMC 7:SPI 8:NX
#define L2K_FMSize 0x40 // 64M bytes
#define L2K_FMPageSize 0x01 // 0:256 bytes/page 1:512 bytes/page 2:1024 bytes/page
#endif
//-----------------------------------------------------------------------------
// RS232 debug define
//-----------------------------------------------------------------------------
#if SIMULATE // WWWW
#define INIT_RS232
#else
#define INIT_RS232 { \
UCHAR revid; \
XBYTE[0x2C03]|=0x02; \
XBYTE[0x2024] = 0x01; \
SCON0 = 0x50; \
PCON |= 0x80; \
TMOD |= 0x20; \
TH1 = 0xF3; \
TR1 = 1; \
TI = 1; \
L2_ReadRevID(&revid); \
if(revid==0) DbgPrint("\nSPCA533A debug environment is establised successfully!\n"); \
else if(revid==1) DbgPrint("\nSPCA533B debug environment is establised successfully!\n"); \
else if(revid==2) DbgPrint("\nSPCA533C debug environment is establised successfully!\n"); \
else DbgPrint("\nSPCA533 debug environment is establised successfully!\n"); \
}
#endif
//patch4.4@richie@move to DEBUG_PRINTL2
//#define PRINT_L2 printf
#define SLASH2 /
#ifdef DEBUG_FRONT
#define PRINT_FRONT printf
#else
#define PRINT_FRONT ;/SLASH2
#endif
#ifdef DEBUG_PRINTL2
#define PRINT_L2 printf
#else
#define PRINT_L2 ;/SLASH2
#endif
//------------------------------------------------------------------------------
//External Link
//------------------------------------------------------------------------------
//extern xdata UCHAR L2G_XXX;
//------------------------------------------------------------------------------
//Function Prototype
//------------------------------------------------------------------------------
// TestMode
#ifdef TestModeEn
UCHAR L2_TestGlobal(UCHAR);
UCHAR L2_TestSDRAM(UCHAR);
UCHAR L2_TestFront(UCHAR);
UCHAR L2_TestCDSP(UCHAR);
UCHAR L2_TestLCDTV(UCHAR);
UCHAR L2_TestAudio(UCHAR);
UCHAR L2_TestUSB(UCHAR);
UCHAR L2_TestCPU(UCHAR);
UCHAR L2_TestDMAC(UCHAR);
UCHAR L2_TestFlash(UCHAR);
UCHAR L2_TestTVSRAM(UCHAR bank);
UCHAR L3_TestCDSPSRAM(UCHAR, UCHAR, UCHAR, UCHAR);
#endif
//Global
UCHAR L2_Suspend(UCHAR);
void L2_Resume(void);
void L2_PowerDown(void);
UCHAR L2_SetModuPowerDown(USHORT);
UCHAR L2_SetCPUClock(UCHAR);
void L2_PowerUp(void);
UCHAR L2_SetModuPowerUp(USHORT);
UCHAR L2_ConfigGTimer(UCHAR);
void L2_StartGTimer(void);
void L2_StopGTimer(void);
UCHAR L2_WriteGTimer(ULONG);
void L2_ReadGTimer(PULONG);
UCHAR L2_Wait(ULONG);
UCHAR L3_DateToBin(PDATE, PDATE);
UCHAR L3_WriteRTCData(UCHAR, UCHAR);
UCHAR L2_WriteRTC(PDATE);
UCHAR L3_ReadRTCData(UCHAR, PUCHAR);
UCHAR L3_BinToDate(PDATE, PDATE);
UCHAR L2_ReadRTC(PDATE);
UCHAR L2_WriteAlarm(PDATE);
UCHAR L2_ReadAlarm(PDATE);
UCHAR L2_ConfigPG(ULONG, UCHAR, UCHAR, USHORT, USHORT, UCHAR, UCHAR,
UCHAR, UCHAR, UCHAR, UCHAR);
void L2_StartPG(void);
void L2_StopPG(void);
UCHAR L2_ConfigUI(UCHAR);
void L2_WakeUI(void);
UCHAR L2_WriteUI(USHORT);
UCHAR L2_ReadUI(PUCHAR);
UCHAR L2_ConfigGPIOBit(UCHAR, UCHAR);
UCHAR L2_ConfigGPIOByte(UCHAR, UCHAR);
UCHAR L2_SetGPIOBit(UCHAR, UCHAR);
UCHAR L2_SetGPIOByte(UCHAR, UCHAR);
UCHAR L2_GetGPIOBit(UCHAR, PUCHAR);
UCHAR L2_GetGPIOByte(UCHAR, PUCHAR);
UCHAR L2_InitGlobal(UCHAR);
UCHAR L2_SetTGPll(UCHAR);
void L2_ReadRevID(PUCHAR);
UCHAR L2_SetCamMode(UCHAR);
void L2_GetCamMode(PUCHAR);
UCHAR L2_WaitVD(UCHAR, UCHAR);
void L2_ReadIOTrap(PUCHAR);
void L2_RTCTransferText(PDATE,PUCHAR); //ada@0220
//CDSP
UCHAR L2_SetCDSPBadPixelMode(UCHAR);
UCHAR L2_WriteCDSPBadPixel(UCHAR, USHORT, USHORT);
UCHAR L2_ReadCDSPBadPixel(UCHAR, PUSHORT, PUSHORT);
UCHAR L2_SetCDSPScale(USHORT, USHORT);
UCHAR L2_SetWB(UCHAR, UCHAR, UCHAR, UCHAR, USHORT, USHORT, USHORT, USHORT);
UCHAR L2_SetColorC(USHORT, USHORT, USHORT, USHORT, USHORT, USHORT, USHORT, USHORT, USHORT);
UCHAR L2_SetLutGamma(UCHAR);
UCHAR L2_SetYEdge(UCHAR);
UCHAR L2_SetYUVAvg(UCHAR);
UCHAR L2_SetBriCont(UCHAR, UCHAR);
UCHAR L2_SetHueSat(USHORT, UCHAR);
UCHAR L2_ConfigWindow(UCHAR, UCHAR, UCHAR, USHORT);
UCHAR L3_GetWindowSize(PUCHAR, PUCHAR, PUSHORT, PUSHORT);
UCHAR L2_ReadAEWindow(UCHAR, PUCHAR);
UCHAR L3_GetBYRYHigh(UCHAR, PUCHAR, UCHAR, UCHAR, UCHAR, UCHAR, UCHAR);
UCHAR L2_ReadBYWindow(UCHAR, PSHORT);
UCHAR L2_ReadRYWindow(UCHAR, PSHORT);
UCHAR L2_ConfigAFWindow(USHORT, USHORT, USHORT, USHORT);
void L2_ReadAFWindow(PUSHORT);
UCHAR L2_ConfigOB(USHORT, USHORT, UCHAR, UCHAR, USHORT);
void L2_ReadAutoOB(PUSHORT);
UCHAR L2_ConfigSPW(UCHAR, UCHAR, UCHAR, UCHAR, UCHAR, UCHAR, UCHAR);
UCHAR L2_ReadSPW(UCHAR, PULONG, PUCHAR, PCHAR, PCHAR); //patch3.2@cytsai@0328
UCHAR L2_InitCDSP(UCHAR);
UCHAR L2_DoCDSP(ULONG, USHORT, USHORT, ULONG, USHORT, USHORT, UCHAR, UCHAR);
UCHAR L2_SetSignalGen(UCHAR, UCHAR);
UCHAR L2_SetMenuBar(UCHAR, USHORT, USHORT, USHORT, USHORT);
UCHAR L2_SetYlut(UCHAR, UCHAR, UCHAR, UCHAR, UCHAR, UCHAR, UCHAR, UCHAR, UCHAR,
UCHAR, UCHAR, UCHAR, UCHAR, UCHAR, UCHAR, UCHAR, UCHAR);
UCHAR L2_SetHorFilt(PCHAR, UCHAR); // WWWW
UCHAR L2_SetVerFilt(PCHAR, UCHAR); // WWWW
UCHAR L2_DoCDSP2(ULONG, USHORT, USHORT, ULONG, USHORT, USHORT, UCHAR, UCHAR, ULONG);
//AUDIO
UCHAR L2_InitAudio(ULONG CamMode);
UCHAR L2_InitAC97(void);
UCHAR L2_RdAC97Reg(UCHAR AC97Addr, USHORT* Value);
UCHAR L2_WrAC97Reg(UCHAR AC97Addr, USHORT Value);
UCHAR L2_InitEmbAudCodec(BIT Play);
UCHAR L2_SetEmbAudCodecVol(UCHAR Volume);
UCHAR L2_EnableAudStream(UCHAR AudFormat, UCHAR ADCFreq);
UCHAR L2_PlayAud(ULONG DRAMAddr, UCHAR AudBufSize, UCHAR AudFormat, UCHAR PlayFreq );
UCHAR L2_RecordAud(ULONG DRAMAddr, UCHAR AudBufSize, UCHAR AudFormat);
UCHAR L2_RecordAudDMAMode(UCHAR AudFormat);
UCHAR L2_StopAud(void);
UCHAR L2_RecordAudToDRAM(ULONG DRAMAddr, UCHAR AudBufSize, UCHAR AudFormat);
UCHAR L2_PlayAudFromDRAM(ULONG DRAMAddr, UCHAR AudBufSize, UCHAR AudFormat, UCHAR PlayFreq );
UCHAR L2_PlayAudDMAMode(ULONG DRAMAddr, UCHAR AudFormat, UCHAR PlayFreq );
UCHAR L2_ReadDRAMAudBufCnt(ULONG *pDRAMAudBufCnt);
UCHAR L2_ReadAudBufCnt(ULONG *pAudBufCnt);
UCHAR L2_SetDRAMAudDMACnt(UCHAR Enable);
//DRAM
UCHAR L2_InitSDRAM(UCHAR);
UCHAR L2_DRAMSetStartAddr(ULONG, UCHAR);
UCHAR L2_DRAMReadWord(UCHAR *, UCHAR *);
UCHAR L2_DRAMWriteWord(UCHAR, UCHAR);
//UCHAR L2_DRAMReadWord(ULONG, UCHAR *, UCHAR *);
//UCHAR L2_DRAMWriteWord(ULONG, UCHAR, UCHAR);
UCHAR L2_FillDRAM(ULONG, USHORT, UCHAR, UCHAR);
UCHAR L2_SetJPEGVscale(USHORT, USHORT);
UCHAR L2_WriteQTable(UCHAR, UCHAR, UCHAR*);
UCHAR L2_ReadQTable(UCHAR, UCHAR *, UCHAR *);
UCHAR L2_Compress(UCHAR, ULONG, USHORT, USHORT, ULONG, ULONG, UCHAR);
UCHAR L2_DeCompress(ULONG, USHORT, USHORT, ULONG, UCHAR, UCHAR, USHORT);
UCHAR L2_ReadCompSize(ULONG*);
UCHAR L2_CheckDecompress(void);
UCHAR L2_SetAFBAddr(ULONG);
UCHAR L2_SetAFBSize(USHORT, USHORT);
UCHAR L2_SetBFBAddr(ULONG);
UCHAR L2_SetBFBSize(USHORT, USHORT);
UCHAR L2_SetRFBSize(USHORT, USHORT);
UCHAR L2_SetAVLCAddr(ULONG);
UCHAR L2_SetBVLCAddr(ULONG);
UCHAR L2_SetDCTAddr(ULONG);
UCHAR L2_SetAUDAddr(ULONG);
UCHAR L2_SetFOSDAddr(ULONG);
UCHAR L2_SetRFBAddr(ULONG);
UCHAR L2_SetACDSPWidth(USHORT);
UCHAR L2_SetBCDSPWidth(USHORT);
UCHAR L2_SetRCDSPWidth(USHORT);
UCHAR L2_SetImageType(UCHAR);
UCHAR L2_SetDisplayMode(UCHAR, UCHAR);
UCHAR L2_ClrVLCRdy(UCHAR);
UCHAR L2_SelDRAMRefreshSrc(UCHAR);
UCHAR L2_EnterExitSelfRefresh(UCHAR);
UCHAR L2_SetAGBAddr(ULONG);
UCHAR L2_SetBGBAddr(ULONG);
UCHAR L2_SetAGBSize(USHORT, USHORT);
UCHAR L2_SetBGBSize(USHORT, USHORT);
UCHAR L2_DoDRAMDMA(ULONG, ULONG, ULONG);
//patch5.0@richie@sdram mapping begin
UCHAR L2_ScaleUpImage(ULONG, USHORT, USHORT, ULONG, USHORT, USHORT, ULONG);
UCHAR L2_ScaleUpImage_H(ULONG SrcAddr, USHORT SrcHsize, USHORT SrcVsize, ULONG DstAddr, USHORT DstHsize);
UCHAR L2_ScaleUpImage_V(ULONG SrcAddr, USHORT SrcHsize, USHORT SrcVsize ,ULONG DstAddr, USHORT DstVsize);
UCHAR L2_ScaleDownImage(ULONG, USHORT, USHORT, ULONG, USHORT, USHORT, ULONG);
UCHAR L2_ScaleDownImage_H(ULONG SrcAddr, USHORT SrcHsize, USHORT SrcVsize,ULONG DstAddr, USHORT DstHsize);
UCHAR L2_ScaleDownImage_V(ULONG SrcAddr, USHORT SrcHsize, USHORT SrcVsize, ULONG DstAddr,USHORT DstVsize);
//patch5.0@richie@sdram mapping end
UCHAR L2_SetFixBadPxlThd(UCHAR);
UCHAR L2_FixOneBadPixel(USHORT, USHORT);
UCHAR L2_SetStampFontColor(UCHAR, UCHAR, UCHAR);
UCHAR L2_SetStampFontScale(UCHAR);
UCHAR L2_StampOneFont(ULONG, ULONG, USHORT, USHORT, ULONG);
UCHAR L2_RotateImage(ULONG, USHORT, USHORT, ULONG, BIT);
UCHAR L2_TransYUV420toYUV422(ULONG, USHORT, USHORT);
UCHAR L2_CopyImage(ULONG, USHORT, USHORT, USHORT, USHORT, USHORT, USHORT, ULONG, USHORT, USHORT, USHORT, USHORT);
UCHAR L2_SetCopyColorKey(BIT, UCHAR);
UCHAR L2_SubDarkFrame(ULONG, ULONG, USHORT, USHORT);
UCHAR L2_ChkDRAMImgRdy(void);
UCHAR L2_CheckDRAMStatus(void);
UCHAR L2_SetCapint(UCHAR);
//LCDTV
UCHAR L2_InitLCDTV(UCHAR CamMode);
UCHAR L2_SetDisplayType(UCHAR index);
UCHAR L2_SetDisplaySrcImgSize(USHORT hsize, USHORT vsize, UCHAR type);
UCHAR L2_TurnOnOffDisplay(UCHAR mode);
UCHAR L2_SetColorPalette(UCHAR index, UCHAR r, UCHAR g, UCHAR b);
UCHAR L2_SetFOSDIndex(UCHAR y, UCHAR x, USHORT value);
UCHAR L2_SetFOSDAttr(UCHAR y, UCHAR x, UCHAR attr);
UCHAR L2_SetFOSDOffset(UCHAR x, UCHAR y, UCHAR scrll);
UCHAR L2_SetFOSDBGMixlevel(UCHAR level);
UCHAR L2_SetOSDSelWindow(USHORT x0, USHORT y0, USHORT x1, USHORT y1, UCHAR color);
UCHAR L2_SetLCDTVGamma(UCHAR* table);
UCHAR L2_TurnOnTVGamma(UCHAR mode);
UCHAR L2_DefineColorKey(UCHAR attrib);
UCHAR L2_CtrlScreen(UCHAR attrib);
UCHAR L2_ShowFOSDEffect(UCHAR attrib, UCHAR color);
UCHAR L2_SetDisplayOffset(USHORT xoff, USHORT yoff);
//FRONT
UCHAR L2_InitFront(UCHAR CamMode);
void L2_InitLens(void);
UCHAR L2_ReadMState(UCHAR *Action);
UCHAR L2_WCShutter(void);
UCHAR L2_WOShutter(void);
void L2_CloseMShutter(void);
void L2_OpenMShutter(void);
UCHAR L2_SetIris(UCHAR Step);
UCHAR L2_SetFocus(UCHAR Step, UCHAR Option);
UCHAR L2_SnapFront(UCHAR SnapNum);
UCHAR L2_SetFlash(USHORT Width, USHORT Ftnum, UCHAR Mode);
UCHAR L2_SetFrameRate (UCHAR FrameRate, UCHAR Option);
UCHAR L2_SetExposureTime (ULONG Number, UCHAR Option);
UCHAR L2_AdjustGain(USHORT Value, UCHAR Option);
UCHAR L2_SetFrontImgOffsetc(USHORT Hoffset, USHORT Voffset);
UCHAR L2_SetFrontImgSizec(USHORT Hsize, USHORT Vsize);
UCHAR L2_SetFrontImgOffsetm(USHORT Hoffset, USHORT Voffset);
UCHAR L2_SetFrontImgSizem(USHORT Hsizem, USHORT Vsizem);
UCHAR L2_WriteSI(UCHAR *RegData, UCHAR Option);
UCHAR L2_WriteSSC (UCHAR *RegAddr, UCHAR *RegData, UCHAR Count, UCHAR Option);
UCHAR L2_ReadSSC(UCHAR RegAddr, UCHAR *RegData, UCHAR Count, UCHAR Option);
void L2_SuspendFront(void);
void L2_SetCMOSPreview(void);
void L3_PowerOnCMOS (void);
void L3_PowerOnCCD (void);
void L3_CCDIniSerial(void);
UCHAR L3_SetMotorStep(UCHAR IN1, UCHAR IN2, USHORT PlusTime);
UCHAR L3_SetMotorCCW(UCHAR Number);
UCHAR L3_SetMotorCW(UCHAR Number);
UCHAR L3_SetProbe(UCHAR Mode);
#ifdef OV13
void L3_CMOSIniPad00(void);
void L3_CMOSIniClk00(void);
void L3_CMOSIniPhase00(void);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -