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

📄 socslaveconfig.c

📁 soc驱动,能够为特定的芯片提供驱动
💻 C
字号:
/*******************************************************************************

	Module			SocSlaveConfig
	Name			SocSlaveConfig.c

********************************************************************************
	CopyRight		Hisense
	Company			Hisense
	Department		SoftWare
	Group			HS2503
	Developer		MaWeizhuo
	Version			1.0
	Open			20090107
	Close			200YMMDD
	Mender			XXX
	Amend Version	X.Y
	Amend Time		YYYYMMDD
********************************************************************************

*******************************************************************************/

////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
//////																	  //////
//////include files														  //////
//////																	  //////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////

#include 					"SocSlaveConfig.h"

////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
//////																	  //////
//////include files														  //////
//////																	  //////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////

//////--------------------------------------------------------------------//////
//////--------------------------------------------------------------------//////
//////--------------------------------------------------------------------//////


////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
//////																	  //////
//////SocPage操作函数开始												  //////
//////																	  //////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////

tWord FAR		GetPageIndex(
					IN tByte			aPageAddress
				)
{
	tWord wPageIndex ;

	if( aPageAddress < REG_PAGE_ADDR_HDMI +HDMI_PAGE_LENGTH )							
	{
		wPageIndex = REG_PAGE_INDEX_HDMI ;									//PageAddr为0x00-0x07的HDMI寄存器
	}
	else if( REG_PAGE_ADDR_OSD_CLUT <= aPageAddress && aPageAddress < REG_PAGE_ADDR_OSD_CLUT + OSD_CLUT_PAGE_LENGTH )
	{
		wPageIndex = REG_PAGE_INDEX_OSD_CLUT ;		  						//PageAddr为0x08-0x0B的OSD_CLUT寄存器
	}
	else if( REG_PAGE_ADDR_GAMMA_LUT_R <= aPageAddress && aPageAddress < REG_PAGE_ADDR_GAMMA_LUT_R + GAMMA_CLUTR_PAGE_LENGTH  ) 
	{
		wPageIndex = REG_PAGE_INDEX_GAMMA_LUT_R ;							//PageAddr为0x0C,0x0D的GAMMA_CLUTR寄存器
	}
	else if( REG_PAGE_ADDR_GAMMA_LUT_G <= aPageAddress && aPageAddress < REG_PAGE_ADDR_GAMMA_LUT_G + GAMMA_CLUTG_PAGE_LENGTH  ) 
	{
		wPageIndex = REG_PAGE_INDEX_GAMMA_LUT_G ;							//PageAddr为0x0E,0x0F的GAMMA_CLUTG寄存器
	}
	else if( REG_PAGE_ADDR_GAMMA_LUT_B <= aPageAddress && aPageAddress < REG_PAGE_ADDR_GAMMA_LUT_B + GAMMA_CLUTB_PAGE_LENGTH )
	{
		wPageIndex = REG_PAGE_INDEX_GAMMA_LUT_B ;							//PageAddr为0x10,0x11的GAMMA_CLUTB寄存器
	}
	else if( REG_PAGE_ADDR_REF_BLOCK == aPageAddress )
	{
		wPageIndex = REG_PAGE_INDEX_REF_BLOCK ;									//PageAddr为0x12的CPU_REG寄存器
	}
	else if( REG_PAGE_ADDR_DEC == aPageAddress )
	{
		wPageIndex = REG_PAGE_INDEX_DEC ;									//PageAddr为0x13的DEC_REG寄存器
	}
	else if( REG_PAGE_ADDR_OSD == aPageAddress )
	{
		wPageIndex = REG_PAGE_INDEX_OSD ;									//PageAddr为0x14的OSD_REG寄存器
	}
	else if( REG_PAGE_ADDR_FRONTEND == aPageAddress )
	{
		wPageIndex = REG_PAGE_INDEX_FRONTEND ;								//PageAddr为0x15的FRONTEND_REG寄存器
	}
	else if( REG_PAGE_ADDR_BACKEND == aPageAddress )
	{																   	
		wPageIndex = REG_PAGE_INDEX_BACKEND ;								//PageAddr为0x16的BACKEND_REG寄存器
	}
	//20081202李云峰添加
	else if( REG_PAGE_ADDR_AFE == aPageAddress )
	{																   	
		wPageIndex = REG_PAGE_INDEX_AFE ;								//PageAddr为0x16的BACKEND_REG寄存器
	}
	//20081202李云峰添加
	else if( REG_PAGE_ADDR_TT_FIFO <= aPageAddress && aPageAddress < REG_PAGE_ADDR_TT_FIFO + TT_FIFO_PAGE_LENGTH ) 
	{
		wPageIndex = REG_PAGE_INDEX_TT_FIFO ;							//PageAddr为0x3C-0x3F的TT_FIFO_REG寄存器	
	}
	else if( 0xFE == aPageAddress )
	{																		//PageAddr出错
		wPageIndex = MAX_REG_PAGE_NUMBER ;
	}
	else
	{
		wPageIndex = REG_PAGE_INDEX_ERROR ;		
	}
	return	wPageIndex ;

}

BOOL FAR		OperationBreak(
					IN const tWord		aPageIndex,
					IN const tDWord		aAbsoluteAddress
				)
{
	BOOL	bResult ;
	bResult = FALSE ;
	switch(aPageIndex)
	{
		case REG_PAGE_INDEX_HDMI :
		{
			if( aAbsoluteAddress > HDMI_PAGE_MAX_ABSOLUTE_ADDRESS )
			{
				bResult = TRUE ;
			}
		}
		break ;

		case REG_PAGE_INDEX_OSD_CLUT :
		{
			if( aAbsoluteAddress > OSD_CLUT_PAGE_MAX_ABSOLUTE_ADDRESS )
			{
				bResult = TRUE ;
			}
		}
		break ;

		case REG_PAGE_INDEX_GAMMA_LUT_R :
		{
			if( aAbsoluteAddress > GAMMA_CLUTR_PAGE_MAX_ABSOLUTE_ADDRESS )
			{
				bResult = TRUE ;
			}
		}
		break ;

		case REG_PAGE_INDEX_GAMMA_LUT_G :
		{
			if( aAbsoluteAddress > GAMMA_CLUTG_PAGE_MAX_ABSOLUTE_ADDRESS )
			{
				bResult = TRUE ;
			}
		}
		break ;

		case REG_PAGE_INDEX_GAMMA_LUT_B :
		{
			if( aAbsoluteAddress > GAMMA_CLUTB_PAGE_MAX_ABSOLUTE_ADDRESS )
			{
				bResult = TRUE ;
			}
		}
		break ;

		case REG_PAGE_INDEX_REF_BLOCK :
		{
			if( aAbsoluteAddress > REF_BLOCK_REG_PAGE_MAX_ABSOLUTE_ADDRESS )
			{
				bResult = TRUE ;
			}
		}
		break ;

		case REG_PAGE_INDEX_DEC :
		{
			if( aAbsoluteAddress > DEC_REG_PAGE_MAX_ABSOLUTE_ADDRESS )
			{
				bResult = TRUE ;
			}
		}
		break ;

		case REG_PAGE_INDEX_OSD :
		{
			if( aAbsoluteAddress > OSD_REG_PAGE_MAX_ABSOLUTE_ADDRESS )
			{
				bResult = TRUE ;
			}
		}
		break ;

		case REG_PAGE_INDEX_FRONTEND :
		{
			if( aAbsoluteAddress > FRONTEND_REG_PAGE_MAX_ABSOLUTE_ADDRESS )
			{
				bResult = TRUE ;
			}
		}
		break ;

		case REG_PAGE_INDEX_BACKEND :
		{
			if( aAbsoluteAddress > BACKEND_REG_PAGE_MAX_ABSOLUTE_ADDRESS )
			{
				bResult = TRUE ;
			}
		}
		break ;

 		//20081202李云峰添加
		case REG_PAGE_INDEX_AFE :
		{
			if( aAbsoluteAddress > AFE_REG_PAGE_MAX_ABSOLUTE_ADDRESS )
			{
				bResult = TRUE ;
			}
		}
		break ;
 		//20081202李云峰添加

		case REG_PAGE_INDEX_TT_FIFO :
		{
			if( aAbsoluteAddress > TT_FIFO_PAGE_MAX_ABSOLUTE_ADDRESS )
			{
				bResult = TRUE ;
			}
		}
		break ;

 		case MAX_REG_PAGE_NUMBER :
		{
				bResult = FALSE ;
		}
		break ;

		default:
		{
				bResult = TRUE ;
		}

	}
	return	bResult ;

}


////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
//////																	  //////
//////SocPage操作函数结束												  //////
//////																	  //////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////

⌨️ 快捷键说明

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