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

📄 mqconfig.h

📁 WinCE 3.0 BSP, 包含Inter SA1110, Intel_815E, Advantech_PCM9574 等
💻 H
字号:
#ifndef _MQCONFIG_H
#define	_MQCONFIG_H

// Notes on Programming convention:
// gc1REG(register)	to access graphics controller 1 register
// gc2REG(register)	to access graphics controller 2 register
// gcREG(register)	to access graphics controller 1/2 register
// geREG(register)	to access graphics engine register
// fpREG(register)	to access flat panel controller register
// g1pREG(register)	to access palette entry in GC1
// pmuREG(register)  to access power management unit 
// cpuREG(register)  to access CPU interface register

/********************** Local Constant Defines - Begin **********************/
#define AT_GC1				0
#define AT_GC2				1
#define USE_OneGC			1
#define USE_OneGC_PP		2						// for PowerPoint driver
#define USE_TwoGCs		4

// For DDI/DDIDUMP interface
#define DRV_MQ_EXTENSION	0x3000

// Start from 0x8000 for internal usage
#define ENTER_GHOST_MODE	0x8000
#define LEAVE_GHOST_MODE	0x8001

#define REGISTRY_VALID		0
#define REGISTRY_INVALID	1

//Default register data if not in Registry
#define DEF_GPO			0x00					//D-STN 6x4,16bit
#define DEF_GPIO		0x00					//RevA=0x2A
#define DEF_D1_GC1		(DxOSC_ENABLE		\
						| DxMIU_ENABLE		\
						| DxMEM_REFRESH		\
						| DxGE_ENABLE		\
						| DxFP_ENABLE		\
						| DxGC1_ENABLE		\
						| DxAW1_ENABLE)
#define DEF_D1_2GCs		(DxOSC_ENABLE 		\
						| DxMIU_ENABLE		\
						| DxMEM_REFRESH		\
						| DxGE_ENABLE		\
						| DxFP_ENABLE		\
						| DxGC2_ENABLE		\
						| DxAW2_ENABLE)
#define DEF_D2_GC1		(DxOSC_ENABLE		\
						| DxMIU_ENABLE 		\
						| DxMEM_REFRESH 	\
						| DxGE_ENABLE)
#define DEF_D2_2GCs		(DxOSC_ENABLE		\
						| DxMIU_ENABLE 		\
						| DxMEM_REFRESH 	\
						| DxGE_ENABLE)
#define DEF_DC0			(0x00a30930UL		\
						| FAST_POWER_DISABLE\
						| OSC_ENABLE		\
						| PLL1_ENABLE)			//0x02a3093aUL
												//25.175MHz PLL1 for MIU and GE
#define	DEF_PLL2		0UL						//No PLL2 pre-set by default
#define	DEF_PLL3		0UL						//No PLL3 pre-set by default
#define DEF_MIU1		(MIU_ENABLE			\
						| MIU_RESET_DISABLE	\
						| DRAM_RESET_DISABLE)	//0x00000007UL
#define DEF_MIU2		(0x00615000UL		\
						| CPU_PB_ENABLE		\
						| GE_PB_ENABLE)			//0x00615084UL
												//25MHz MCLK, 64ms ref period
#define DEF_MIU3		(DISPLAY_BURST8		\
						| STN_R_BURST8		\
						| STN_W_BURST8		\
						| GE_RW_BURST8		\
						| CPU_RW_BURST6		\
						| 0x6d155400UL) 		//0x6d1556ffUL
												//0x6d155400UL=various FIFO thrs
#define DEF_MIU4		0x00000000UL			//No read latency request
#define DEF_MIU5		(ACT_TO_CLOSE_5		\
						| ACT_TO_COMMAND_3	\
						| CLOSE_TO_ACT_3	\
						| LATENCY_2			\
						| DUMMY_IN_COMMANDS)	//0x00000f0dUL
#define DEF_AWX			336
#define DEF_AWY			147
#define DEF_AWBPP		8
#define DEF_PWM			0x000000a1
// #define DEF_CONTRAST	0x35
#define DEF_CONTRAST	0x09
#define DEF_BRIGHT		16
#define	DEF_PMMISC		0x008c0980UL			//div by 4

// Hoang - Begin
// For OEM panel information
#define DEF_FPCtrl      0x6321
#define DEF_FPPinCtrl   0x20
#define DEF_FPSTNCtrl   0xBD0001
#define DEF_HD          0x320041C
#define DEF_VD          0x2570273
#define DEF_HS          0x3C70347
#define DEF_VS			0x25D0259
#define DEF_PLLFreq     00280000
#define DEF_PLLData     0xF50A30
// Hoang - End

//Flags for SetupLCDTiming()
#define	RELOAD_TIMING	0x0001
#define	LCD_BY_GC2		0x0002
#define	NO_SETUP_GC1	0x0004

#ifdef SUPPORT_ROTATE
#define	PoolSize		80*1024
#endif //SUPPORT_ROTATE

#if 1 //TWTEST

#define	DumpREGValue(rvar, var)  \
	DEBUGMSG(GPE_ZONE_INIT,(TEXT("%s = %x\r\n"),rvar, var)); 
#else

#define	DumpREGValue(rvar, var)

#endif
//Helper macros to be used locally
#define	IS_REG_OK( rvar ) \
	ERROR_SUCCESS == RegQueryValueEx (hRegKey, rvar, NULL, \
								&ulValType, (PBYTE)&ulData, &ulValLen)

#define	REG_ASSIGN( var, rvar, val1, val2 ) \
	var = (IS_REG_OK(rvar)) ? val1: val2; \
	DumpREGValue(rvar, var);

#ifdef SUPPORT_ROTATE
	#define	SWAP_WIDTH_HEIGHT( w, h )	\
		switch( m_nRotate )				\
		{ 								\
			default: 					\
			case R_0:					\
			case R_180:					\
				break;					\
			case R_90:					\
			case R_270:					\
				{						\
					ULONG _ulTmp;		\
					_ulTmp = w;			\
					w = h;				\
					h = _ulTmp;			\
				}						\
				break;					\
		}
	#define ROTATE_VRAMSURF( Surf, SurfSave, p2, p3 ) \
		RotateVramSurf(Surf , &SurfSave, p2, p3);
#else	//SUPPORT_ROTATE
	#define	SWAP_WIDTH_HEIGHT( w, h )
	#define ROTATE_VRAMSURF( Surf, SurfSave, p2, p3 )
#endif	//SUPPORT_ROTATE

#ifdef DEBUG
#define	PRINT_SETMODE	PrintSetModeMsg()
#else
#define	PRINT_SETMODE
#endif	//DEBUG

#define	COMPUTE_REFRESH_PERIOD( freq ) \
		((DWORD)((((MEM_REFRESH_PERIOD / (1000.0 * 1024.0 / freq)) \
		* (1000000.0)) - 5.0 + 0.5)))

/**********************  Local Constant Defines - End  *********************/

/******************  Function References - Begin ***************************/
/////External global references
extern void	HW_Enable_LCD( USHORT );
extern void	HW_Enable_CRT( USHORT );
extern BOOL APIENTRY GPEEnableDriver( ULONG iEngineVersion, ULONG cj,
				DRVENABLEDATA *pded, PENGCALLBACKS  pEngCallbacks);
					//This gets around problems exporting from .lib

/////Local global references
BOOL	HookMQDrv(DRVENABLEDATA *pded,DRVENABLEDATA *pOldded);
ULONG	DrvEnableDriverOpen(HKEY *hRegKey );
BOOL	DrvEnableDriverDone(ULONG iEngineVersion, ULONG cj,
							DRVENABLEDATA *pded, PENGCALLBACKS  pEngCallbacks);
void	MQDrvDisablePDEV(DHPDEV dhpdev);

ULONG GetStride(ULONG ulDeskTopX, ULONG ulBpp);
ULONG GetDSTNMemorySize(ULONG ulLCDx, ULONG ulLCDy, BOOL bIsColor);
ULONG GetEstMem(ULONG ulDeskTopX, ULONG ulDeskTopY, ULONG ulBPP,
				 USHORT usLCDx, USHORT usLCDy,BOOL bIsColor, BOOL bIsDSTN);
ULONG GetDDIDumpMem(ULONG ulDeskTopX, ULONG ulDeskTopY, ULONG ulBPP,
			USHORT usLCDx, USHORT usLCDy, BOOL bIsColor, BOOL bIsDSTN);
ULONG GetMinDDIDumpMem(ULONG ulDDIDumpSize);
/******************  Function References - End  ***************************/

#include "emulinit.cpp"		//no op for normal case

#endif	//_MQCONFIG_H

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -