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

📄 dp_hardware_marathon.c

📁 Lido PXA270平台开发板的最新BSP,包括源代码
💻 C
📖 第 1 页 / 共 4 页
字号:
	2,		/*	DP_PIXEL_COLOUR_FORMAT_12_BIT_RGB_444_4_BIT_ALPHA	*/
	2,		/*	DP_PIXEL_COLOUR_FORMAT_15_BIT_RGB_555_1_BIT_ALPHA	*/
	2,		/*	DP_PIXEL_COLOUR_FORMAT_24_BIT_RGB_888				*/
	3,		/*	DP_PIXEL_COLOUR_FORMAT_16_BIT_RGB_565				*/
	4,		/*	DP_PIXEL_COLOUR_FORMAT_24_BIT_RGB_888_8_BIT_ALPHA	*/
	1,		/*	DP_PIXEL_COLOUR_FORMAT_16_BIT_YUV_420_PLANAR		*/
	2,		/*	DP_PIXEL_COLOUR_FORMAT_16_BIT_YUV_422_UY0VY1		*/
	2,		/*	DP_PIXEL_COLOUR_FORMAT_16_BIT_YUV_422_VY0UY1		*/
	2,		/*	DP_PIXEL_COLOUR_FORMAT_16_BIT_YUV_422_Y0UY1V		*/
	2		/*	DP_PIXEL_COLOUR_FORMAT_16_BIT_YUV_422_Y0VY1U		*/
};


const DP_UINT_8	DP_aui8ColourFormatModeVals [ DP_PIXEL_COLOUR_FORMAT_NUMBER_OF_MODES ] =
{
	0x00,	/*	DP_PIXEL_COLOUR_FORMAT_8_BIT_INDEXED				*/
	0x01,	/*	DP_PIXEL_COLOUR_FORMAT_4_BIT_INDEXED_4_BIT_ALPHA	*/
	0x02,	/*	DP_PIXEL_COLOUR_FORMAT_8_BIT_INDEXED_8_BIT_ALPHA	*/
	0x03,	/*	DP_PIXEL_COLOUR_FORMAT_8_BIT_RGB_332				*/
	0x04,	/*	DP_PIXEL_COLOUR_FORMAT_12_BIT_RGB_444_4_BIT_ALPHA	*/
	0x05,	/*	DP_PIXEL_COLOUR_FORMAT_15_BIT_RGB_555_1_BIT_ALPHA	*/
	0x06,	/*	DP_PIXEL_COLOUR_FORMAT_24_BIT_RGB_888				*/
	0x07,	/*	DP_PIXEL_COLOUR_FORMAT_16_BIT_RGB_565				*/
	0x08,	/*	DP_PIXEL_COLOUR_FORMAT_24_BIT_RGB_888_8_BIT_ALPHA	*/
	0x09,	/*	DP_PIXEL_COLOUR_FORMAT_16_BIT_YUV_420_PLANAR		*/
	0x0C,	/*	DP_PIXEL_COLOUR_FORMAT_16_BIT_YUV_422_UY0VY1		*/
	0x0D,	/*	DP_PIXEL_COLOUR_FORMAT_16_BIT_YUV_422_VY0UY1		*/
	0x0E,	/*	DP_PIXEL_COLOUR_FORMAT_16_BIT_YUV_422_Y0UY1V		*/
	0x0F	/*	DP_PIXEL_COLOUR_FORMAT_16_BIT_YUV_422_Y0VY1U		*/
};

const DP_UINT_8	DP_aui8AlphaBlendModeVals [ DP_ALPHA_BLEND_MODE_NUMBER_OF_MODES ] = 
{
	0x00,
	0x02,
	0x03,
	0x01
};

/* This table lists the absolute references to look up tables which are used when writing to	*/
/* the hardware.																				*/
const DP_INT_8	DP_auiPaletteLUTReferences	[ DP_NO_OF_STREAMS ] =
{
	0,
	-1,
};

const DP_UINT_8 DP_aui8NumberOfScalerTapVals [ 5 ] =
{
	0x00,	/* No taps - invalid																*/
	0x00,	
	0x01,
	0x00,	/* three taps - invalid																*/
	0x03
};

const DP_UINT_8	DP_aui8MemoryRefreshPeriodsVals [ 4 ] =
{
	0x00,
	0x01,
	0x02,
	0x03
};

/* LCD screen used in testing	*/
DP_InitData								DP_ThisDisplayType;

DP_VOID DP_SetUpCustomDisplayTypes		( DP_DisplayTypes	eDisplayType )
{

	switch ( eDisplayType )
	{

		case DP_DISPLAY_TYPE_LCD:
			DP_ThisDisplayType.bCRCControl						=	DP_FALSE;
			DP_ThisDisplayType.bVerticalSyncSlaved				=	DP_FALSE;
			DP_ThisDisplayType.bHorizontalSyncSlaved			=	DP_FALSE;
			DP_ThisDisplayType.bBlankingPolarity				=	DP_TRUE;
			DP_ThisDisplayType.bBlankSignalDisable				=	DP_FALSE;
			DP_ThisDisplayType.bVerticalSyncPolarity			=	DP_TRUE;
			DP_ThisDisplayType.bVerticalSyncDisable				=	DP_FALSE;
			DP_ThisDisplayType.bHorizontalSyncPolarity			=	DP_TRUE;
			DP_ThisDisplayType.bHorizontalSyncDisable			=	DP_FALSE;
			DP_ThisDisplayType.bInterlaceOn						=	DP_FALSE;
			DP_ThisDisplayType.bFieldPolarity					=	DP_FALSE;
																
			DP_ThisDisplayType.eMemoryRefreshPeriod				=	DP_MEMORY_REFRESH_V_BLANK_ONLY;
			DP_ThisDisplayType.ui8MemoryBurstLength				=	0x08;

			DP_ThisDisplayType.bVerticalScalerUnderrunControl	=	DP_TRUE;

			DP_ThisDisplayType.sTimingSettings.ui16HBPS			=	0x012;
			DP_ThisDisplayType.sTimingSettings.ui16HT			=	0x190;
			DP_ThisDisplayType.sTimingSettings.ui16HAS			=	0x034;
			DP_ThisDisplayType.sTimingSettings.ui16HLBS			=	0x034;
			DP_ThisDisplayType.sTimingSettings.ui16HFPS			=	0x174;
			DP_ThisDisplayType.sTimingSettings.ui16HRBS			=	0x174;
			DP_ThisDisplayType.sTimingSettings.ui16VBPS			=	0x002;
			DP_ThisDisplayType.sTimingSettings.ui16VT			=	0x106;
			DP_ThisDisplayType.sTimingSettings.ui16VAS			=	0x007;
			DP_ThisDisplayType.sTimingSettings.ui16VTBS			=	0x007;
			DP_ThisDisplayType.sTimingSettings.ui16VFPS			=	0x0F7;
			DP_ThisDisplayType.sTimingSettings.ui16VBBS			=	0x0F7;
		break;

		case DP_DISPLAY_TYPE_TV_PAL:
			DP_ThisDisplayType.bCRCControl						=	DP_FALSE;
			DP_ThisDisplayType.bVerticalSyncSlaved				=	DP_TRUE;
			DP_ThisDisplayType.bHorizontalSyncSlaved			=	DP_TRUE;
			DP_ThisDisplayType.bBlankingPolarity				=	DP_FALSE;
			DP_ThisDisplayType.bBlankSignalDisable				=	DP_FALSE;
			DP_ThisDisplayType.bVerticalSyncPolarity			=	DP_FALSE;
			DP_ThisDisplayType.bVerticalSyncDisable				=	DP_FALSE;
			DP_ThisDisplayType.bHorizontalSyncPolarity			=	DP_FALSE;
			DP_ThisDisplayType.bHorizontalSyncDisable			=	DP_FALSE;
			DP_ThisDisplayType.bInterlaceOn						=	DP_TRUE;
			DP_ThisDisplayType.bFieldPolarity					=	DP_FALSE;
																
			DP_ThisDisplayType.eMemoryRefreshPeriod				=	DP_MEMORY_REFRESH_V_BLANK_ONLY;
			DP_ThisDisplayType.ui8MemoryBurstLength				=	0x08;

			DP_ThisDisplayType.bVerticalScalerUnderrunControl	=	DP_TRUE;

			DP_ThisDisplayType.sTimingSettings.ui16HBPS			=	0x3f;
			DP_ThisDisplayType.sTimingSettings.ui16HT			=	0x360;
			DP_ThisDisplayType.sTimingSettings.ui16HAS			=	0x85;
			DP_ThisDisplayType.sTimingSettings.ui16HLBS			=	0x85;
			DP_ThisDisplayType.sTimingSettings.ui16HFPS			=	0x355;
			DP_ThisDisplayType.sTimingSettings.ui16HRBS			=	0x355;
			DP_ThisDisplayType.sTimingSettings.ui16VBPS			=	3;	
			DP_ThisDisplayType.sTimingSettings.ui16VT			=	0x138;
			DP_ThisDisplayType.sTimingSettings.ui16VAS			=	0x0C;
			DP_ThisDisplayType.sTimingSettings.ui16VTBS			=	0x0C;
			DP_ThisDisplayType.sTimingSettings.ui16VFPS			=	0x12C;
			DP_ThisDisplayType.sTimingSettings.ui16VBBS			=	0x12C;

/*			DP_ThisDisplayType.sTimingSettings.ui16VBPS			=	6;	
			DP_ThisDisplayType.sTimingSettings.ui16VT			=	0x271;
			DP_ThisDisplayType.sTimingSettings.ui16VAS			=	0x19;
			DP_ThisDisplayType.sTimingSettings.ui16VTBS			=	0x19;
			DP_ThisDisplayType.sTimingSettings.ui16VFPS			=	0x259;
			DP_ThisDisplayType.sTimingSettings.ui16VBBS			=	0x259;*/
		break;

		case DP_DISPLAY_TYPE_TV_NTSC:
			DP_ThisDisplayType.bCRCControl						=	DP_FALSE;
			DP_ThisDisplayType.bVerticalSyncSlaved				=	DP_FALSE;
			DP_ThisDisplayType.bHorizontalSyncSlaved			=	DP_FALSE;
			DP_ThisDisplayType.bBlankingPolarity				=	DP_TRUE;
			DP_ThisDisplayType.bBlankSignalDisable				=	DP_FALSE;
			DP_ThisDisplayType.bVerticalSyncPolarity			=	DP_TRUE;
			DP_ThisDisplayType.bVerticalSyncDisable				=	DP_FALSE;
			DP_ThisDisplayType.bHorizontalSyncPolarity			=	DP_TRUE;
			DP_ThisDisplayType.bHorizontalSyncDisable			=	DP_FALSE;
			DP_ThisDisplayType.bInterlaceOn						=	DP_FALSE;
			DP_ThisDisplayType.bFieldPolarity					=	DP_FALSE;
																
			DP_ThisDisplayType.eMemoryRefreshPeriod				=	DP_MEMORY_REFRESH_V_BLANK_ONLY;
			DP_ThisDisplayType.ui8MemoryBurstLength				=	0x08;

			DP_ThisDisplayType.bVerticalScalerUnderrunControl	=	DP_TRUE;

			DP_ThisDisplayType.sTimingSettings.ui16HBPS			=	0x3f;
			DP_ThisDisplayType.sTimingSettings.ui16HT			=	0x35a;
			DP_ThisDisplayType.sTimingSettings.ui16HAS			=	0x7f;
			DP_ThisDisplayType.sTimingSettings.ui16HLBS			=	0x7f;
			DP_ThisDisplayType.sTimingSettings.ui16HFPS			=	0x345;
			DP_ThisDisplayType.sTimingSettings.ui16HRBS			=	0x345;
			DP_ThisDisplayType.sTimingSettings.ui16VBPS			=	6;	
			DP_ThisDisplayType.sTimingSettings.ui16VT			=	0x20d;
			DP_ThisDisplayType.sTimingSettings.ui16VAS			=	0x19;
			DP_ThisDisplayType.sTimingSettings.ui16VTBS			=	0x19;
			DP_ThisDisplayType.sTimingSettings.ui16VFPS			=	0x1f9;
			DP_ThisDisplayType.sTimingSettings.ui16VBBS			=	0x1f9;
		break;

		case DP_DISPLAY_TYPE_TV_PALM:
			DP_ThisDisplayType.bCRCControl						=	DP_FALSE;
			DP_ThisDisplayType.bVerticalSyncSlaved				=	DP_FALSE;
			DP_ThisDisplayType.bHorizontalSyncSlaved			=	DP_FALSE;
			DP_ThisDisplayType.bBlankingPolarity				=	DP_TRUE;
			DP_ThisDisplayType.bBlankSignalDisable				=	DP_FALSE;
			DP_ThisDisplayType.bVerticalSyncPolarity			=	DP_TRUE;
			DP_ThisDisplayType.bVerticalSyncDisable				=	DP_FALSE;
			DP_ThisDisplayType.bHorizontalSyncPolarity			=	DP_TRUE;
			DP_ThisDisplayType.bHorizontalSyncDisable			=	DP_FALSE;
			DP_ThisDisplayType.bInterlaceOn						=	DP_FALSE;
			DP_ThisDisplayType.bFieldPolarity					=	DP_FALSE;
																
			DP_ThisDisplayType.eMemoryRefreshPeriod				=	DP_MEMORY_REFRESH_V_BLANK_ONLY;
			DP_ThisDisplayType.ui8MemoryBurstLength				=	0x08;

			DP_ThisDisplayType.bVerticalScalerUnderrunControl	=	DP_TRUE;

			DP_ThisDisplayType.sTimingSettings.ui16HBPS			=	0x3f;
			DP_ThisDisplayType.sTimingSettings.ui16HT			=	0x35a;
			DP_ThisDisplayType.sTimingSettings.ui16HAS			=	0x7f;
			DP_ThisDisplayType.sTimingSettings.ui16HLBS			=	0x7f;
			DP_ThisDisplayType.sTimingSettings.ui16HFPS			=	0x345;
			DP_ThisDisplayType.sTimingSettings.ui16HRBS			=	0x345;
			DP_ThisDisplayType.sTimingSettings.ui16VBPS			=	6;	
			DP_ThisDisplayType.sTimingSettings.ui16VT			=	0x271;
			DP_ThisDisplayType.sTimingSettings.ui16VAS			=	0x19;
			DP_ThisDisplayType.sTimingSettings.ui16VTBS			=	0x19;
			DP_ThisDisplayType.sTimingSettings.ui16VFPS			=	0x259;
			DP_ThisDisplayType.sTimingSettings.ui16VBBS			=	0x259;	
		break;

		case DP_DISPLAY_TYPE_TV_PALN:
			DP_ThisDisplayType.bCRCControl						=	DP_FALSE;
			DP_ThisDisplayType.bVerticalSyncSlaved				=	DP_FALSE;
			DP_ThisDisplayType.bHorizontalSyncSlaved			=	DP_FALSE;
			DP_ThisDisplayType.bBlankingPolarity				=	DP_TRUE;
			DP_ThisDisplayType.bBlankSignalDisable				=	DP_FALSE;
			DP_ThisDisplayType.bVerticalSyncPolarity			=	DP_TRUE;
			DP_ThisDisplayType.bVerticalSyncDisable				=	DP_FALSE;
			DP_ThisDisplayType.bHorizontalSyncPolarity			=	DP_TRUE;
			DP_ThisDisplayType.bHorizontalSyncDisable			=	DP_FALSE;
			DP_ThisDisplayType.bInterlaceOn						=	DP_FALSE;
			DP_ThisDisplayType.bFieldPolarity					=	DP_FALSE;
																
			DP_ThisDisplayType.eMemoryRefreshPeriod				=	DP_MEMORY_REFRESH_V_BLANK_ONLY;
			DP_ThisDisplayType.ui8MemoryBurstLength				=	0x08;

			DP_ThisDisplayType.bVerticalScalerUnderrunControl	=	DP_TRUE;

			DP_ThisDisplayType.sTimingSettings.ui16HBPS			=	0x3f;
			DP_ThisDisplayType.sTimingSettings.ui16HT			=	0x360;
			DP_ThisDisplayType.sTimingSettings.ui16HAS			=	0x7c;
			DP_ThisDisplayType.sTimingSettings.ui16HLBS			=	0x7c;
			DP_ThisDisplayType.sTimingSettings.ui16HFPS			=	0x34c;
			DP_ThisDisplayType.sTimingSettings.ui16HRBS			=	0x34c;
			DP_ThisDisplayType.sTimingSettings.ui16VBPS			=	6;
			DP_ThisDisplayType.sTimingSettings.ui16VT			=	0x271;
			DP_ThisDisplayType.sTimingSettings.ui16VAS			=	0x19;
			DP_ThisDisplayType.sTimingSettings.ui16VTBS			=	0x19;
			DP_ThisDisplayType.sTimingSettings.ui16VFPS			=	0x259;
			DP_ThisDisplayType.sTimingSettings.ui16VBBS			=	0x259;
		break;

	}

}

/* This table specifies how source and destination heights should be modified when writing them to	*/
/* hardware, based on (in order) data type for the plane, whether the display is interlaced or not	*/
/* and whether the video scaler is currently being used by the plane.								*/

const	DP_ScalerModifier	DP_ScalerModifiersTable		[ 2 ] [ DP_SOURCE_DATA_TYPE_UNKNOWN ] [ 2 ] [ 2 ]  =
{
	/* EXTERNAL INTERLACED FIELDS DISABLED	*/
	{
		/* DP_SOURCE_DATA_TYPE_PROGRESSIVE	*/
		{
			/* Non interlaced display	*/
			{
				/* Not scaling	*/
				{
					DP_FALSE,
					1,
					1,
					0,
					1	
				},

				/* Scaling		*/
				{
					DP_FALSE,
					1,
					1,
					0,

⌨️ 快捷键说明

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