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

📄 sm501acc.h

📁 F:worksip2440a board可启动u-boot-like.tar.gz F:worksip2440a board可启动u-boot-like.tar.gz
💻 H
字号:
/* Header:   //Mercury/Projects/archives/XFree86/4.0/regsmi.h-arc   1.11   14 Sep 2000 11:17:30   Frido  $ *//*Copyright (C) 1994-1999 The XFree86 Project, Inc.  All Rights Reserved.Copyright (C) 2000 Silicon Motion, Inc.  All Rights Reserved.Permission is hereby granted, free of charge, to any person obtaining a copy ofthis software and associated documentation files (the "Software"), to deal inthe Software without restriction, including without limitation the rights touse, copy, modify, merge, publish, distribute, sublicense, and/or sell copiesof the Software, and to permit persons to whom the Software is furnished to doso, subject to the following conditions:The above copyright notice and this permission notice shall be included in allcopies or substantial portions of the Software.THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS ORIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FIT-NESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THEXFREE86 PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER INAN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTIONWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.Except as contained in this notice, the names of the XFree86 Project andSilicon Motion shall not be used in advertising or otherwise to promote thesale, use or other dealings in this Software without prior writtenauthorization from the XFree86 Project and SIlicon Motion.*//* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/siliconmotion/regsmi.h,v 1.2 2002/01/25 21:56:09 tsi Exp $ */#ifndef _SM501ACC_H#define _SM501ACC_H/* 2D Engine commands */#define SMI_TRANSPARENT_SRC		0x00000100      //透明受源控制#define SMI_TRANSPARENT_DEST	0x00000300		//透明受目的控制#define SMI_OPAQUE_PXL			0x00000000		//象素是不透明的#define SMI_TRANSPARENT_PXL		0x00000400 		//象素是透明的#define SMI_REPEAT_ROTATE       0x00000800		//当旋转命令有效时起作用, 就是在显示的每一个垂直同步时, 起动旋转引擎#define SMI_MONO_PACK_8			0x00001000		//黑白数据存储格式, 8位为一点#define SMI_MONO_PACK_16		0x00002000		//16位为一点#define SMI_MONO_PACK_32		0x00003000		//32位为一点#define SMI_ROP2_SRC			0x00008000		//设置ROP2操作源为位图#define SMI_ROP2_PAT			0x0000C000		//设置ROP2操作源为重复的图案#define SMI_ROP3				0x00000000		//设置ROP3操作#define SMI_BITBLT				0x00000000		//位块拷贝功能#define SMI_RECT_FILL			0x00010000		//矩形填冲#define SMI_TRAPEZOID_FILL		0x00030000		//不规则四边形(梯形?)填冲#define SMI_SHORT_STROKE    	0x00060000		//点划线#define SMI_BRESENHAM_LINE		0x00070000		//画线#define SMI_HOSTBLT_WRITE		0x00080000		//主块写#define SMI_HOSTBLT_READ		0x00090000		//主块读#define SMI_ROTATE_BLT			0x000B0000		//旋转块#define SMI_SRC_COLOR			0x00000000		//主位块是彩色的#define SMI_SRC_MONOCHROME		0x00400000		//主位块是黑白的#define SMI_GRAPHICS_STRETCH	0x00800000		//在Y方向上拉伸#define SMI_ROTATE_CW			0x01000000		//#define SMI_ROTATE_CCW			0x02000000#define SMI_MAJOR_X				0x00000000		//主轴为X#define SMI_MAJOR_Y				0x04000000		//主轴为Y#define SMI_LEFT_TO_RIGHT		0x00000000		//操作方向控制 左=>右#define SMI_RIGHT_TO_LEFT		0x08000000		//操作方向控制 右=>左#define SMI_COLOR_PATTERN		0x40000000		//重复图案是彩色的#define SMI_MONO_PATTERN		0x00000000		//重复图案是黑白的#define SMI_QUICK_START			0x10000000		//当2D DIMENTION X 寄存器写入值是, 2D引擎自动起动#define SMI_START_ENGINE		0x80000000		//引擎状态, 1=START#define MAXLOOP 0x100000	/* timeout value for engine waits */#define	TRUE			1#define FALSE			0struct SM501STRU{	/* accel additions */	unsigned long			AccelCmd;	/* Value for DPR0C */	unsigned long			Stride;		/* Stride of frame buffer */	unsigned long			ScissorsLeft;	/* Left/top of current scissors */	unsigned long			ScissorsRight;	/* Right/bottom of current scissors */	unsigned long			ClipTurnedOn;	/* Clipping was turned on by the previous command */	int						width, height;	/* Width and height of the screen */	int						Bpp;		/* Bytes per pixel */	int						bitsPerPixel;		/* bits per pixel */	unsigned long			hwcursor;	/* hardware cursor enabled */	int						rotate;		/* Rotation flags */};#define FIFO_EMPTY()  ((regRead32SRC(0) & 0x00100000) != 0)#define ENGINE_IDLE() ((regRead32SRC(0) & 0x00080000) == 0)/* Wait until "v" queue entries are free */#define	WaitQueue() \	do \	{  \		int loop = MAXLOOP; \		while (!FIFO_EMPTY()) \			if (loop-- == 0) break; \		if (loop <= 0) \			SMI_GEReset();\	} while (0)/* Wait until GP is idle */#define WaitIdle()  \	do  \	{   \		int loop = MAXLOOP; \		while (!ENGINE_IDLE()) \			if (loop-- == 0) break; \		if (loop <= 0) \			SMI_GEReset();\	} \	while (0)/* Wait until GP is idle and queue is empty */#define	WaitIdleEmpty()  \	do \	{  \		WaitQueue();  \		WaitIdle(); \	}  \	while (0)void SMI_GEReset(void);void SMI_BlitRect(int srcx, int srcy, int w, int h, int dstx, int dsty);void SMI_FillRect(int x, int y, int w, int h, unsigned long color);#define ROP_DST		0x00000001#define ROP_SRC		0x00000002#define ROP_PAT		0x00000004#define ROP_0		0x00#define ROP_DPSoon	0x01#define ROP_DPSona	0x02#define ROP_PSon	0x03#define ROP_SDPona	0x04#define ROP_DPon	0x05#define ROP_PDSxnon	0x06#define ROP_PDSaon	0x07#define ROP_SDPnaa	0x08#define ROP_PDSxon	0x09#define ROP_DPna	0x0A#define ROP_PSDnaon	0x0B#define ROP_SPna	0x0C#define ROP_PDSnaon	0x0D#define ROP_PDSonon	0x0E#define ROP_Pn		0x0F#define ROP_PDSona	0x10#define ROP_DSon	0x11#define ROP_SDPxnon	0x12#define ROP_SDPaon	0x13#define ROP_DPSxnon	0x14#define ROP_DPSaon	0x15#define ROP_PSDPSanaxx	0x16#define ROP_SSPxDSxaxn	0x17#define ROP_SPxPDxa	0x18#define ROP_SDPSanaxn	0x19#define ROP_PDSPaox	0x1A#define ROP_SDPSxaxn	0x1B#define ROP_PSDPaox	0x1C#define ROP_DSPDxaxn	0x1D#define ROP_PDSox	0x1E#define ROP_PDSoan	0x1F#define ROP_DPSnaa	0x20#define ROP_SDPxon	0x21#define ROP_DSna	0x22#define ROP_SPDnaon	0x23#define ROP_SPxDSxa	0x24#define ROP_PDSPanaxn	0x25#define ROP_SDPSaox	0x26#define ROP_SDPSxnox	0x27#define ROP_DPSxa	0x28#define ROP_PSDPSaoxxn	0x29#define ROP_DPSana	0x2A#define ROP_SSPxPDxaxn	0x2B#define ROP_SPDSoax	0x2C#define ROP_PSDnox	0x2D#define ROP_PSDPxox	0x2E#define ROP_PSDnoan	0x2F#define ROP_PSna	0x30#define ROP_SDPnaon	0x31#define ROP_SDPSoox	0x32#define ROP_Sn		0x33#define ROP_SPDSaox	0x34#define ROP_SPDSxnox	0x35#define ROP_SDPox	0x36#define ROP_SDPoan	0x37#define ROP_PSDPoax	0x38#define ROP_SPDnox	0x39#define ROP_SPDSxox	0x3A#define ROP_SPDnoan	0x3B#define ROP_PSx		0x3C#define ROP_SPDSonox	0x3D#define ROP_SPDSnaox	0x3E#define ROP_PSan	0x3F#define ROP_PSDnaa	0x40#define ROP_DPSxon	0x41#define ROP_SDxPDxa	0x42#define ROP_SPDSanaxn	0x43#define ROP_SDna	0x44#define ROP_DPSnaon	0x45#define ROP_DSPDaox	0x46#define ROP_PSDPxaxn	0x47#define ROP_SDPxa	0x48#define ROP_PDSPDaoxxn	0x49#define ROP_DPSDoax	0x4A#define ROP_PDSnox	0x4B#define ROP_SDPana	0x4C#define ROP_SSPxDSxoxn	0x4D#define ROP_PDSPxox	0x4E#define ROP_PDSnoan	0x4F#define ROP_PDna	0x50#define ROP_DSPnaon	0x51#define ROP_DPSDaox	0x52#define ROP_SPDSxaxn	0x53#define ROP_DPSonon	0x54#define ROP_Dn		0x55#define ROP_DPSox	0x56#define ROP_DPSoan	0x57#define ROP_PDSPoax	0x58#define ROP_DPSnox	0x59#define ROP_DPx		0x5A#define ROP_DPSDonox	0x5B#define ROP_DPSDxox	0x5C#define ROP_DPSnoan	0x5D#define ROP_DPSDnaox	0x5E#define ROP_DPan	0x5F#define ROP_PDSxa	0x60#define ROP_DSPDSaoxxn	0x61#define ROP_DSPDoax	0x62#define ROP_SDPnox	0x63#define ROP_SDPSoax	0x64#define ROP_DSPnox	0x65#define ROP_DSx		0x66#define ROP_SDPSonox	0x67#define ROP_DSPDSonoxxn	0x68#define ROP_PDSxxn	0x69#define ROP_DPSax	0x6A#define ROP_PSDPSoaxxn	0x6B#define ROP_SDPax	0x6C#define ROP_PDSPDoaxxn	0x6D#define ROP_SDPSnoax	0x6E#define ROP_PDSxnan	0x6F#define ROP_PDSana	0x70#define ROP_SSDxPDxaxn	0x71#define ROP_SDPSxox	0x72#define ROP_SDPnoan	0x73#define ROP_DSPDxox	0x74#define ROP_DSPnoan	0x75#define ROP_SDPSnaox	0x76#define ROP_DSan	0x77#define ROP_PDSax	0x78#define ROP_DSPDSoaxxn	0x79#define ROP_DPSDnoax	0x7A#define ROP_SDPxnan	0x7B#define ROP_SPDSnoax	0x7C#define ROP_DPSxnan	0x7D#define ROP_SPxDSxo	0x7E#define ROP_DPSaan	0x7F#define ROP_DPSaa	0x80#define ROP_SPxDSxon	0x81#define ROP_DPSxna	0x82#define ROP_SPDSnoaxn	0x83#define ROP_SDPxna	0x84#define ROP_PDSPnoaxn	0x85#define ROP_DSPDSoaxx	0x86#define ROP_PDSaxn	0x87#define ROP_DSa		0x88#define ROP_SDPSnaoxn	0x89#define ROP_DSPnoa	0x8A#define ROP_DSPDxoxn	0x8B#define ROP_SDPnoa	0x8C#define ROP_SDPSxoxn	0x8D#define ROP_SSDxPDxax	0x8E#define ROP_PDSanan	0x8F#define ROP_PDSxna	0x90#define ROP_SDPSnoaxn	0x91#define ROP_DPSDPoaxx	0x92#define ROP_SPDaxn	0x93#define ROP_PSDPSoaxx	0x94#define ROP_DPSaxn	0x95#define ROP_DPSxx	0x96#define ROP_PSDPSonoxx	0x97#define ROP_SDPSonoxn	0x98#define ROP_DSxn	0x99#define ROP_DPSnax	0x9A#define ROP_SDPSoaxn	0x9B#define ROP_SPDnax	0x9C#define ROP_DSPDoaxn	0x9D#define ROP_DSPDSaoxx	0x9E#define ROP_PDSxan	0x9F#define ROP_DPa		0xA0#define ROP_PDSPnaoxn	0xA1#define ROP_DPSnoa	0xA2#define ROP_DPSDxoxn	0xA3#define ROP_PDSPonoxn	0xA4#define ROP_PDxn	0xA5#define ROP_DSPnax	0xA6#define ROP_PDSPoaxn	0xA7#define ROP_DPSoa	0xA8#define ROP_DPSoxn	0xA9#define ROP_D		0xAA#define ROP_DPSono	0xAB#define ROP_SPDSxax	0xAC#define ROP_DPSDaoxn	0xAD#define ROP_DSPnao	0xAE#define ROP_DPno	0xAF#define ROP_PDSnoa	0xB0#define ROP_PDSPxoxn	0xB1#define ROP_SSPxDSxox	0xB2#define ROP_SDPanan	0xB3#define ROP_PSDnax	0xB4#define ROP_DPSDoaxn	0xB5#define ROP_DPSDPaoxx	0xB6#define ROP_SDPxan	0xB7#define ROP_PSDPxax	0xB8#define ROP_DSPDaoxn	0xB9#define ROP_DPSnao	0xBA#define ROP_DSno	0xBB#define ROP_SPDSanax	0xBC#define ROP_SDxPDxan	0xBD#define ROP_DPSxo	0xBE#define ROP_DPSano	0xBF#define ROP_Psa		0xC0#define ROP_SPDSnaoxn	0xC1#define ROP_SPDSonoxn	0xC2#define ROP_PSxn	0xC3#define ROP_SPDnoa	0xC4#define ROP_SPDSxoxn	0xC5#define ROP_SDPnax	0xC6#define ROP_PSDPoaxn	0xC7#define ROP_SDPoa	0xC8#define ROP_SPDoxn	0xC9#define ROP_DPSDxax	0xCA#define ROP_SPDSaoxn	0xCB#define ROP_S		0xCC#define ROP_SDPono	0xCD#define ROP_SDPnao	0xCE#define ROP_SPno	0xCF#define ROP_PSDnoa	0xD0#define ROP_PSDPxoxn	0xD1#define ROP_PDSnax	0xD2#define ROP_SPDSoaxn	0xD3#define ROP_SSPxPDxax	0xD4#define ROP_DPSanan	0xD5#define ROP_PSDPSaoxx	0xD6#define ROP_DPSxan	0xD7#define ROP_PDSPxax	0xD8#define ROP_SDPSaoxn	0xD9#define ROP_DPSDanax	0xDA#define ROP_SPxDSxan	0xDB#define ROP_SPDnao	0xDC#define ROP_SDno	0xDD#define ROP_SDPxo	0xDE#define ROP_SDPano	0xDF#define ROP_PDSoa	0xE0#define ROP_PDSoxn	0xE1#define ROP_DSPDxax	0xE2#define ROP_PSDPaoxn	0xE3#define ROP_SDPSxax	0xE4#define ROP_PDSPaoxn	0xE5#define ROP_SDPSanax	0xE6#define ROP_SPxPDxan	0xE7#define ROP_SSPxDSxax	0xE8#define ROP_DSPDSanaxxn	0xE9#define ROP_DPSao	0xEA#define ROP_DPSxno	0xEB#define ROP_SDPao	0xEC#define ROP_SDPxno	0xED#define ROP_DSo		0xEE#define ROP_SDPnoo	0xEF#define ROP_P		0xF0#define ROP_PDSono	0xF1#define ROP_PDSnao	0xF2#define ROP_PSno	0xF3#define ROP_PSDnao	0xF4#define ROP_PDno	0xF5#define ROP_PDSxo	0xF6#define ROP_PDSano	0xF7#define ROP_PDSao	0xF8#define ROP_PDSxno	0xF9#define ROP_DPo		0xFA#define ROP_DPSnoo	0xFB#define ROP_PSo		0xFC#define ROP_PSDnoo	0xFD#define ROP_DPSoo	0xFE#define ROP_1		0xFF#endif /* _SM501ACC_H */

⌨️ 快捷键说明

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