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

📄 mbx12ddef.h

📁 Lido PXA270平台开发板的最新BSP,包括源代码
💻 H
📖 第 1 页 / 共 2 页
字号:
/*
// MBX2D_SRC_CTRL
*/

/* WORD 0 */
#define MBX2D_SRCMEMTYPE_MASK		0x0C000000
#define MBX2D_SRCMEMTYPE_CLRMASK	0xF3FFFFFF
#define MBX2D_SRC_SYSTEMMEM			0x00000000
#define MBX2D_SRC_FBMEM				0x04000000
#define MBX2D_SRC_FBMEM_RESERVE		0x08000000
#define MBX2D_SRC_FORMAT_MASK		0x00078000
#define MBX2D_SRC_1_PAL				0x00000000
#define MBX2D_SRC_2_PAL				0x00008000
#define MBX2D_SRC_4_PAL				0x00010000
#define MBX2D_SRC_8_PAL				0x00018000
#define MBX2D_SRC_RESERVED0			0x00020000
#define MBX2D_SRC_4_ALPHA			0x00028000
#define MBX2D_SRC_332RGB			0x00030000
#define MBX2D_SRC_4444ARGB			0x00038000
#define MBX2D_SRC_555RGB			0x00040000
#define MBX2D_SRC_1555ARGB			0x00048000
#define MBX2D_SRC_565RGB			0x00050000
#define MBX2D_SRC_888RGB			0x00058000
#define MBX2D_SRC_8888ARGB			0x00060000
#define MBX2D_SRC_STRIDE_MASK		0x00007FFF
#define MBX2D_SRC_STRIDE_CLRMASK	0xFFFF8000
#define MBX2D_SRC_STRIDE_SHIFT		0
/* WORD 1 
	 -	If the surface is sourced from the frame buffer
	 	then a base address is required. This word is only
	 	present for frame buffer base sources.
*/
#define MBX2D_SRC_ADDR_MASK			0x03FFFFFC
#define MBX2D_SRC_ADDR_CLRMASK		0xFC000003
#define MBX2D_SRC_ADDR_SHIFT		2
#define MBX2D_SRC_ADDR_ALIGNSHIFT	2
/* WORD 2
	 -	If the data needs to be loaded into frame buffer
	 	then there are two more words which define
	 	a rectangular sub-region. 
*/
#define MBX2D_SRC_STRIDEALIGN_MASK		0xC0000000
#define MBX2D_SRC_STRIDEALIGN_CLRMASK	0x3FFFFFFF
#define MBX2D_SRC_STRIDEALIGN_SHIFT		30
#define MBX2D_SRC_STRIDEALIGN_DWORD		0x00000000
#define MBX2D_SRC_STRIDEALIGN_ONE		0x40000000
#define MBX2D_SRC_STRIDEALIGN_TWO		0x80000000
#define MBX2D_SRC_STRIDEALIGN_THREE		0xC0000000
#define MBX2D_SRC_YSTART_MASK			0x1FFF0000
#define MBX2D_SRC_YSTART_CLRMASK		0xE000FFFF
#define MBX2D_SRC_YSTART_SHIFT			16
#define MBX2D_SRC_XSTART_MASK			0x00001FFF
#define MBX2D_SRC_XSTART_CLRMASK		0xFFFFE000
#define MBX2D_SRC_XSTART_SHIFT			0
/* WORD 3 
	- End points	
*/
#define MBX2D_SRC_YEND_MASK				0x1FFF0000
#define MBX2D_SRC_YEND_CLRMASK			0xE000FFFF
#define MBX2D_SRC_YEND_SHIFT			16
#define MBX2D_SRC_XEND_MASK				0x00001FFF
#define MBX2D_SRC_XEND_CLRMASK			0xFFFFE000
#define MBX2D_SRC_XEND_SHIFT			0
/*
	The subsequent words contain the pixel data for the surface.
	Not to be confused with system pixel data sent with the blit BH!
*/


/*
// MBX2D_PAT_CTRL
*/

/* WORD 0 */
#define MBX2D_PATMEMTYPE_MASK		0x0C000000
#define MBX2D_PATMEMTYPE_CLRMASK	0xF3FFFFFF
#define MBX2D_PAT_FBMEM				0x04000000
#define MBX2D_PAT_FBMEM_RESERVE		0x08000000
#define MBX2D_PAT_FORMAT_MASK		0x00078000
#define MBX2D_PAT_1_PAL				0x00000000
#define MBX2D_PAT_2_PAL				0x00008000
#define MBX2D_PAT_4_PAL				0x00010000
#define MBX2D_PAT_8_PAL				0x00018000
#define MBX2D_PAT_RESERVED0			0x00020000
#define MBX2D_PAT_4_ALPHA			0x00028000
#define MBX2D_PAT_332RGB			0x00030000
#define MBX2D_PAT_4444ARGB			0x00038000
#define MBX2D_PAT_555RGB			0x00040000
#define MBX2D_PAT_1555ARGB			0x00048000
#define MBX2D_PAT_565RGB			0x00050000
#define MBX2D_PAT_888RGB			0x00058000
#define MBX2D_PAT_8888ARGB			0x00060000
#define MBX2D_PAT_STRIDE_MASK		0x00007FFF
#define MBX2D_PAT_STRIDE_CLRMASK	0xFFFF8000
#define MBX2D_PAT_STRIDE_SHIFT		0

/*
	Unlike a system memory Source, the pattern data must be saved
	to memory since it may be referenced repeatedly at different
	line and pixel positions. We cannot therefore support system
	memory patterns. The driver must reserve a portion of framebuffer
	for the HW to store the pattern (256x256xMaxBytesPP bytes).
*/	

/* WORD 1 */
#define MBX2D_PAT_ADDR_MASK			0x03FFFFFC
#define MBX2D_PAT_ADDR_CLRMASK		0xFC000003
#define MBX2D_PAT_ADDR_SHIFT		2
#define MBX2D_PAT_ADDR_ALIGNSHIFT	2
/*
	WORD 2
	-	If the data needs to be loaded into frame buffer then there
		is a third word which defines the size in pixels. Obviously
		the effective x size must be a multiple of bytes and must be
		less than or equal to the stride. This is especially important
		for pixel formats which have less than 8 bits as it implies a
		granularity of more than 1 pixel.
*/
#define MBX2D_PAT_STRIDEALIGN_MASK		0xC0000000
#define MBX2D_PAT_STRIDEALIGN_CLRMASK	0x3FFFFFFF
#define MBX2D_PAT_STRIDEALIGN_SHIFT		30
#define MBX2D_PAT_STRIDEALIGN_DWORD		0x00000000
#define MBX2D_PAT_STRIDEALIGN_ONE		0x40000000
#define MBX2D_PAT_STRIDEALIGN_TWO		0x80000000
#define MBX2D_PAT_STRIDEALIGN_THREE		0xC0000000
#define MBX2D_PAT_YSIZE_MASK			0x1FFF0000
#define MBX2D_PAT_YSIZE_CLRMASK			0xE000FFFF
#define MBX2D_PAT_YSIZE_SHIFT			16
#define MBX2D_PAT_XSIZE_MASK			0x00001FFF
#define MBX2D_PAT_XSIZE_CLRMASK			0xFFFFE000
#define MBX2D_PAT_XSIZE_SHIFT			0
/* The subsequent words contain the pixel data for the surface. */

/*
// MBX2D_DST_CTRL
*/

/* WORD 0 */
#define MBX2D_DST_332RGB			0x00030000
#define MBX2D_DST_4444ARGB			0x00038000
#define MBX2D_DST_555RGB			0x00040000
#define MBX2D_DST_1555ARGB			0x00048000
#define MBX2D_DST_565RGB			0x00050000
#define MBX2D_DST_888RGB			0x00058000
#define MBX2D_DST_8888ARGB			0x00060000
#define MBX2D_DST_STRIDE_MASK		0x00007FFF
#define MBX2D_DST_STRIDE_CLRMASK	0xFFFF8000
#define MBX2D_DST_STRIDE_SHIFT		0

/* WORD 1 */
#define MBX2D_DST_ADDR_MASK			0x03FFFFFC
#define MBX2D_DST_ADDR_CLRMASK		0xFC000003
#define MBX2D_DST_ADDR_SHIFT		2
#define MBX2D_DST_ADDR_ALIGNSHIFT	2


/*
// MBX2D_MASK_CTRL
*/

/* WORD 0 */
#define MBX2D_MASKMEMTYPE_MASK			0x0C000000
#define MBX2D_MASKMEMTYPE_CLRMASK		0xF3FFFFFF
#define MBX2D_MASK_SYSTEMMEM			0x00000000
#define MBX2D_MASK_FBMEM				0x04000000
#define MBX2D_MASK_FBMEM_RESERVE		0x08000000
#define MBX2D_MASK_STRIDE_MASK			0x00007FFF
#define MBX2D_MASK_STRIDE_CLRMASK		0xFFFF8000
#define MBX2D_MASK_STRIDE_SHIFT			0
/* WORD 1 
	 -	If the surface is sourced from the frame buffer
	 	then a base address is required. This word is only
	 	present for frame buffer base mask.
*/
#define MBX2D_MASK_ADDR_MASK			0x03FFFFFC
#define MBX2D_MASK_ADDR_CLRMASK			0xFC000003
#define MBX2D_MASK_ADDR_SHIFT			2
#define MBX2D_MASK_ADDR_ALIGNSHIFT		2
/* WORD 2
	 -	If the data needs to be loaded into frame buffer
	 	then there is a third and fourth word which defines 
	 	a rectangular sub-region
*/
#define MBX2D_MASK_STRIDEALIGN_MASK		0xC0000000
#define MBX2D_MASK_STRIDEALIGN_CLRMASK	0x3FFFFFFF
#define MBX2D_MASK_STRIDEALIGN_SHIFT	30
#define MBX2D_MASK_STRIDEALIGN_DWORD	0x00000000
#define MBX2D_MASK_STRIDEALIGN_ONE		0x40000000
#define MBX2D_MASK_STRIDEALIGN_TWO		0x80000000
#define MBX2D_MASK_STRIDEALIGN_THREE	0xC0000000
#define MBX2D_MASK_YSTART_MASK			0x1FFF0000
#define MBX2D_MASK_YSTART_CLRMASK		0xE000FFFF
#define MBX2D_MASK_YSTART_SHIFT			16
#define MBX2D_MASK_XSTART_MASK			0x00001FFF
#define MBX2D_MASK_XSTART_CLRMASK		0xFFFFE000
#define MBX2D_MASK_XSTART_SHIFT			0
/* WORD 3
	- End points	
*/
#define MBX2D_MASK_YEND_MASK			0x1FFF0000
#define MBX2D_MASK_YEND_CLRMASK			0xE000FFFF
#define MBX2D_MASK_YEND_SHIFT			16
#define MBX2D_MASK_XEND_MASK			0x00001FFF
#define MBX2D_MASK_XEND_CLRMASK			0xFFFFE000
#define MBX2D_MASK_XEND_SHIFT			0

/*
	The subsequent words contain the pixel data for the surface.
	Not to be confused with system pixel data sent with the blit BH!
*/

/*
// MBX2D_SRC_PAL
*/
#define MBX2D_SRCPAL_PIX_ENTRIES_MASK		0x0001FF00
#define MBX2D_SRCPAL_PIX_ENTRIES_CLRMASK	0xFFFE00FF
#define MBX2D_SRCPAL_PIX_ENTRIES_SHIFT		8
#define MBX2D_SRCPAL_OFFSET_MASK			0x0000007F
#define MBX2D_SRCPAL_OFFSET_CLRMASK			0xFFFFFF80
#define MBX2D_SRCPAL_OFFSET_SHIFT			0
/*
//address
*/
#define MBX2D_SRCPAL_ADDR_SHIFT				0
#define MBX2D_SRCPAL_ADDR_CLRMASK			0xFC0003FF
#define MBX2D_SRCPAL_ADDR_MASK				0x07FFFC00
#define MBX2D_SRCPAL_BYTEALIGN				1024

/* N.B. write granularity is one DWORD */

/*
// MBX2D_PAT_PAL
*/
#define MBX2D_PATPAL_PIX_ENTRIES_MASK		0x0001FF00
#define MBX2D_PATPAL_PIX_ENTRIES_CLRMASK	0xFFFE00FF
#define MBX2D_PATPAL_PIX_ENTRIES_SHIFT		8
#define MBX2D_PATPAL_OFFSET_MASK			0x0000007F
#define MBX2D_PATPAL_OFFSET_CLRMASK			0xFFFFFF80
#define MBX2D_PATPAL_OFFSET_SHIFT			0
/*
//address
*/
#define MBX2D_PATPAL_ADDR_SHIFT				0
#define MBX2D_PATPAL_ADDR_CLRMASK			0xFC0003FF
#define MBX2D_PATPAL_ADDR_MASK				0x07FFFC00
#define MBX2D_PATPAL_BYTEALIGN				1024

/* N.B. write granularity is one DWORD */

/*
    Doug: put these ROP3 (i.e. 2 LS byte) defines here for now.
*/
#define MBX2D_ROP3_SRCCOPY              0xCCCC
#define MBX2D_ROP3_PATCOPY              0xF0F0
#define MBX2D_ROP3_WHITENESS            0xFFFF
#define MBX2D_ROP3_BLACKNESS            0x0000

#endif /* __MBX12DDEF_H__ */

/*****************************************************************************
 End of file (mbx12ddef.h)
*****************************************************************************/

⌨️ 快捷键说明

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