Esempio n. 1
0
static void iSetupSt710xPorting()
{
    BOOL bRe = FALSE;
    CSHDI_Error_t ErrorCode = CSHDI_SUCCESS;
    CSSYSInfo stSysInfo;
    CSSYSAdvancedParam tmp;
    CSPanelPinCfg_t panelCfg;
    CSQAM_Error_t QamInitErrorCode = CSQAM_FAILURE;
    CSSYSMemoryRange memProfile[4];
    int nDDR = 0;
    DWORD dwSH4_CODE_MEMORY_SIZE=0;
    DWORD dwPARTITION0_START=0;
    DWORD dwPARTITION0_STOP	=0;
    DWORD dwPARTITION1_START=0;
    DWORD dwPARTITION1_STOP	=0;

    //**********start: BasicInfraStructure_Init****************************
#ifdef STB_TYPE_IS_CDVBC9750
	nDDR = 2;
#else
#ifdef STB_TYPE_IS_CDVBC8750
    nDDR = 1;/*DDR=128M ,FLASH=8M */
#else	
    nDDR = 2;/*1;成都兴网的硬件是128M+64M字节的内存*/
#endif
#endif
 
    dwSH4_CODE_MEMORY_SIZE = CODE_MEMORY_SIZE;
    dwPARTITION0_START = LMI_SYS_BASE + MEM_OFFSET_FOR_AV_FW + 0x10000 + dwSH4_CODE_MEMORY_SIZE;
    if  ((LMI_SYS_SIZE == 0x8000000) && (nDDR == 1))
    {
		if(dwSH4_CODE_MEMORY_SIZE < 0x04000000)
		{
			/*av memory partition的分配最好不要跨两个64M字节的边界,否则视频会花屏*/
	        	dwPARTITION0_STOP = LMI_SYS_BASE + 0x04000000 - 4;

			dwPARTITION1_START= LMI_SYS_BASE + 0x04000000;

	        	dwPARTITION1_STOP = LMI_SYS_BASE + 0x08000000;
		}
		else
		{
			/*CODE_MEMORY_SIZE如果大于64M,则av memory只需要分配一个partition就ok可*/
	        dwPARTITION0_STOP = LMI_SYS_BASE + LMI_SYS_SIZE;
		}

    }
    else
    {
        dwPARTITION0_STOP	= LMI_SYS_BASE + LMI_SYS_SIZE;
        if ( nDDR == 2)
        {
            dwPARTITION1_START= LMI_VID_BASE;
            dwPARTITION1_STOP =  LMI_VID_BASE+LMI_VID_SIZE;
        }
    }

    memProfile[0].m_pStartAddr = (void *)s_ucAPPlicationHeap;
    memProfile[0].m_dwSize = SYSTEM_SIZE;
    memProfile[0].m_eMemoryType = CSSYS_MEM_TYPE_SYSPART;

    memProfile[1].m_pStartAddr = (void *)s_ucNCacheHeap;
    memProfile[1].m_dwSize = NCACHE_SIZE;
    memProfile[1].m_eMemoryType = CSSYS_MEM_TYPE_NONCACHE;

    memProfile[2].m_pStartAddr = (void *)dwPARTITION0_START;
    memProfile[2].m_dwSize = dwPARTITION0_STOP - dwPARTITION0_START;
    memProfile[2].m_eMemoryType = CSSYS_MEM_TYPE_AVMEM;

    memProfile[3].m_pStartAddr = (void *)dwPARTITION1_START;
    memProfile[3].m_dwSize = dwPARTITION1_STOP - dwPARTITION1_START;
    memProfile[3].m_eMemoryType = CSSYS_MEM_TYPE_AVMEM;

    CSSYSSetCfg(CSCFG_CSOS_USEPOSIX, CSDEVICE_IGNORE, 0, 0);
    CSSYSSetCfg(CSCFG_HD_TIMING_MODE,0,CSVID_TIMING_MODE_1080I_50HZ,0);
    CSSYSSetCfg(CSCFG_SD_TIMING_MODE,0,CSVID_TIMING_MODE_PAL,0);

    if (dwPARTITION1_START == dwPARTITION1_STOP)
    {
        CSSYSSetCfg(CSCFG_MEM_PROFILE,0,(DWORD)&memProfile[0],3);
    }
    else
    {
        CSSYSSetCfg(CSCFG_MEM_PROFILE,0,(DWORD)&memProfile[0],4);
    }
    //boot  system
    g_dwTimeStart = CSGetTickCount();

    bRe = CSSYSChipBoot(0);
    
    g_dwTimeStop = CSGetTickCount();
    g_dwTimeCost =  g_dwTimeStop - g_dwTimeStart;
  
    //**********start: application init**********************************
    CSOSGRect Region;
    CSOSGPixelFormat_S g_stGlobalPixelFormat =
        {
            3,3,3,7,10,5,0,15,0x00007C00,0x000003E0,0x0000001F,0x0008000,0,32,2
        };
    CSOSGSetGlobalPixelFormat(CSLAYER_GFX1,g_stGlobalPixelFormat);

    stSysInfo.OutputAUDInfo.OutputDevice=CSAUD_OUTPUT_RCA | CSAUD_OUTPUT_SPDIF | CSAUD_OUTPUT_HDMI;
    stSysInfo.OuputTVInfo.OutputDevice =  CSVID_OUTPUT_CVBS | CSVID_OUTPUT_HDMI | CSVID_OUTPUT_YUV;

    memset(&tmp,0,sizeof(CSSYSAdvancedParam));
    tmp.m_bDualOSDBuffer = TRUE;
    tmp.m_bSupportHDDecoder = TRUE;	//MPEG 2 高清
    tmp.m_bSupportHDDecoder_H264 = TRUE; // .264 高清
    tmp.m_dwMemoryStartAddr = LMI_SYS_BASE;
    tmp.m_dwMemoryTotalSize = LMI_SYS_SIZE;

    /*init chip*/
	
    g_dwTimeStart = CSGetTickCount();
	
    CSSYSChipInit(&stSysInfo, (HCSHANDLE)&tmp);

    g_dwTimeStop = CSGetTickCount();

    g_dwTimeCost +=  (g_dwTimeStop - g_dwTimeStart);
    g_asTimeCost[ModuleIndex].pModuleName = "ChipBoot + ChipInit";
    g_asTimeCost[ModuleIndex++].dwTimeCost = g_dwTimeCost;

    //I2C_0 and I2C_1 init
    ErrorCode = CSI2CInitialize(I2C_0, CSI2C_SPEED_NORMAL);
    CSASSERT(ErrorCode == CSI2C_SUCCESS);

    ErrorCode = CSI2CInitialize(I2C_1, CSI2C_SPEED_NORMAL);
    CSASSERT(ErrorCode == CSI2C_SUCCESS);

    /* init uart */
    {	
		#ifndef MCU_PANEL 		
        T_ST_Custom_Param param;
        param.dwCommClock = 96000000;
        CSHDIUartSetCustomParam(&param);
		#endif
    	g_dwTimeStart = CSGetTickCount();

        ErrorCode = CSHDIUartInitial(2, 115200);
        CSASSERT(ErrorCode == CSHDI_SUCCESS);
		
	if (ErrorCode == CSHDI_SUCCESS)
	{
		g_dwTimeStop = CSGetTickCount();
	        g_dwTimeCost =  g_dwTimeStop - g_dwTimeStart;
	        g_asTimeCost[ModuleIndex].pModuleName = "UART";
	        g_asTimeCost[ModuleIndex++].dwTimeCost = g_dwTimeCost;
	}

        ErrorCode = CSHDIUartSetDefault(2);
        CSASSERT(ErrorCode == 2);
    }

    Region.left = 0;
    Region.top = 0;
    Region.Width = 1280;
    Region.Height = 720;

    /*init osd*/
    ErrorCode = CSOSGOpen(CSLAYER_GFX1, 0, &Region,  TRUE);
    CSASSERT(ErrorCode == CSHDI_SUCCESS);

    //open GPIO
    CSGPIOOpen(18,CS_GPIO_OUPUT);
    //**********end:application init*************************************

    //*****start: Equipment_Init*****************************************
    //QAM init
    QamInitErrorCode = CSQAMSetDVBMCNSMode(0, DVBMCNS_DVB);

    g_dwTimeStart = CSGetTickCount();

    QamInitErrorCode =CSQAMInitialize(0, 9*17, TS_PARALLEL,0xff);

    CSASSERT(QamInitErrorCode == CSQAM_SUCCESS);

    if(QamInitErrorCode == CSQAM_SUCCESS)
    {
        USPPrint(0xff,"%s %d[ Equipment_Init ]  QamInitErrorCode == CSQAM_SUCCESS\n",__FILE__,__LINE__);

	g_dwTimeStop = CSGetTickCount();
        g_dwTimeCost =  g_dwTimeStop - g_dwTimeStart;
        g_asTimeCost[ModuleIndex].pModuleName = "QAM";
        g_asTimeCost[ModuleIndex++].dwTimeCost = g_dwTimeCost;

    }

    // IR init
    g_dwTimeStart = CSGetTickCount();
	
    UI_IRInitialize(5*17);
	
    g_dwTimeStop = CSGetTickCount();
    g_dwTimeCost =  g_dwTimeStop - g_dwTimeStart;
    g_asTimeCost[ModuleIndex].pModuleName = "IR";
    g_asTimeCost[ModuleIndex++].dwTimeCost = g_dwTimeCost;

    //Initialize panel
    
    g_dwTimeStart = CSGetTickCount();

#ifdef MCU_PANEL
	CSPanelSetType(CSPANEL_CNT_MCU);
	panelCfg.m_ucKeyScanPin = 1;	/*在真待机时,将panelCfg.m_ucKeyScanPin 作为主芯片与单片机通信用的串口索引*/
	//panelCfg.m_pucComPinGroup[0] = 'N';
#else
	CSPanelSetType(CSPANEL_CNT_164_LED);
	panelCfg.m_ucKeyScanPin = 19;   //K11
	panelCfg.m_pucComPinGroup[0] = 20; //Com0
	panelCfg.m_pucComPinGroup[1] = 21; //Com1
	panelCfg.m_pucComPinGroup[2] = 40; //Com2
	panelCfg.m_pucComPinGroup[3] = 22; //Com3
	panelCfg.m_pucComPinGroup[4] = 41; //Com4
	panelCfg.m_pucComPinGroup[5] = 0xff; //Com5
	panelCfg.m_pucSegPinGroup[0] = 23; //PData
	panelCfg.m_pucSegPinGroup[1] = 42; //PClk
#endif

    ErrorCode = CSPanelInitialize(5*17-1, &panelCfg);
    CSASSERT(ErrorCode == CSHDI_SUCCESS);

    if (ErrorCode == CSHDI_SUCCESS)
    {
	g_dwTimeStop = CSGetTickCount();
	g_dwTimeCost =  g_dwTimeStop - g_dwTimeStart;
	g_asTimeCost[ModuleIndex].pModuleName = "PANEL";
	g_asTimeCost[ModuleIndex++].dwTimeCost = g_dwTimeCost;
    }

    //display "good"
    ErrorCode = CSPanelDisplayText("good", 4);
    CSASSERT(ErrorCode == CSHDI_SUCCESS);

    //Initalize flash
    
    g_dwTimeStart = CSGetTickCount();
	
    ErrorCode = CSFLSSetFLSCount(1);
    ErrorCode = CSFLSSetSpace( 0, ROM_BASE, 0x800000);
    ErrorCode = CSFLSInitialize(43);//43??
    CSASSERT(ErrorCode == CSHDI_SUCCESS);

    if (ErrorCode == CSHDI_SUCCESS)
    {
	g_dwTimeStop = CSGetTickCount();
	g_dwTimeCost =  g_dwTimeStop - g_dwTimeStart;
	g_asTimeCost[ModuleIndex].pModuleName = "FLASH";
	g_asTimeCost[ModuleIndex++].dwTimeCost = g_dwTimeCost;
    }

    //**** end: Equipment_Init *************************************

	
     TimePrint(); //打印初始化时间

    return;
}
Esempio n. 2
0
static void iSetupSt710xPorting() 
{
	int ErrorCode = 0;
	CSPanelPinCfg_t sPanelPinCfg;
	BOOL bRe = FALSE;
	CSSYSInfo stSysInfo;
	CSSYSAdvancedParam tmp;	
	CSSYSAdvancedParamEx sSysEx;
	CSSYSMemoryRange memProfile[4];
	int nDDR = 1;
	DWORD dwSH4_CODE_MEMORY_SIZE=0;
	DWORD dwPARTITION0_START=0;
	DWORD dwPARTITION0_STOP	=0;
	DWORD dwPARTITION1_START=0;
	DWORD dwPARTITION1_STOP	=0;

	#ifdef MEM_DDR_NUMBER
		nDDR = MEM_DDR_NUMBER;
	#else
		nDDR = 1;
	#endif

	#ifdef MEM_CODE_DATA_RAMSIZE
	   	dwSH4_CODE_MEMORY_SIZE = MEM_CODE_DATA_RAMSIZE;
	#else
		dwSH4_CODE_MEMORY_SIZE = 0xC00000;
	#endif

	#ifdef MEM_OFFSET_FOR_AV_FW
		dwPARTITION0_START = (0xA4000000 + MEM_OFFSET_FOR_AV_FW + dwSH4_CODE_MEMORY_SIZE);
	#else
		dwPARTITION0_START = (0xA4000000 + 0x00400000 + dwSH4_CODE_MEMORY_SIZE);
	#endif

	//这里配置为2*64M的情况,无VID Memory
		////这里配置为2*64M的情况,无VID Memory
	if  ((LMI_SYS_SIZE == 0x8000000) && (nDDR == 1))
	{
		dwPARTITION0_STOP = (0xA4000000 + 0x04000000 - 4);
		
	    	dwPARTITION1_START= dwPARTITION0_STOP + 4;

		dwPARTITION1_STOP =    ((0xA4000000 + 0x04000000));
	}
	else
	{
		dwPARTITION0_STOP	= (0xA4000000 + 0x08000000);
		if ( nDDR == 2)
		{
			dwPARTITION1_START= 0xB0000000;
			dwPARTITION1_STOP =  0xB0000000+LMI_VID_SIZE;
		}
	}
	
	memProfile[0].m_pStartAddr = (void *)s_ucAPPlicationHeap;
	memProfile[0].m_dwSize = SYSTEM_SIZE;
	memProfile[0].m_eMemoryType = CSSYS_MEM_TYPE_SYSPART;
	
	memProfile[1].m_pStartAddr = (void *)s_ucNCacheHeap;
	memProfile[1].m_dwSize = NCACHE_SIZE;
	memProfile[1].m_eMemoryType = CSSYS_MEM_TYPE_NONCACHE;

	memProfile[2].m_pStartAddr = (void *)dwPARTITION0_START;
	memProfile[2].m_dwSize = dwPARTITION0_STOP - dwPARTITION0_START;
	memProfile[2].m_eMemoryType = CSSYS_MEM_TYPE_AVMEM;

	memProfile[3].m_pStartAddr = (void *)dwPARTITION1_START;
	memProfile[3].m_dwSize = dwPARTITION1_STOP - dwPARTITION1_START;
	memProfile[3].m_eMemoryType = CSSYS_MEM_TYPE_AVMEM;

	CSSYSSetCfg(CSCFG_CSOS_USEPOSIX, CSDEVICE_IGNORE, 0, 0);	
	CSSYSSetCfg(CSCFG_HD_TIMING_MODE,0,CSVID_TIMING_MODE_1080I_50HZ,0);	
	CSSYSSetCfg(CSCFG_SD_TIMING_MODE,0,CSVID_TIMING_MODE_PAL,0);
	
	if (dwPARTITION1_START == dwPARTITION1_STOP)
	{
		CSSYSSetCfg(CSCFG_MEM_PROFILE,0,(DWORD)&memProfile[0],3);
	}
	else
	{
		CSSYSSetCfg(CSCFG_MEM_PROFILE,0,(DWORD)&memProfile[0],4);		
	}

	//boot  system
	 g_dwTimeStart = CSGetTickCount();
	
	bRe = CSSYSChipBoot(0);
    
        g_dwTimeStop = CSGetTickCount();
        g_dwTimeCost =  g_dwTimeStop - g_dwTimeStart;

	memset(&stSysInfo, 0, sizeof(CSSYSInfo));
	stSysInfo.OuputTVInfo.OutputDevice = CSVID_OUTPUT_CVBS | CSVID_OUTPUT_YUV;		
	stSysInfo.OutputAUDInfo.OutputDevice=CSAUD_OUTPUT_RCA | CSAUD_OUTPUT_HDMI;

	memset(&tmp,0,sizeof(tmp));	
	tmp.m_bDualOSDBuffer 		= TRUE;
	tmp.m_bSupportHDDecoder 		= FALSE;				/*MPEG-2 HD;*/
	tmp.m_bSupportHDDecoder_H264 = FALSE;			/*H.264 HD;*/
	tmp.m_dwMemoryStartAddr = LMI_SYS_BASE;	
	tmp.m_dwMemoryTotalSize =  LMI_SYS_SIZE;/*64M bytes*/

	//CSSYSChipInit(&stSysInfo, (HCSHANDLE)&tmp);	
	memset(&sSysEx,0,sizeof(sSysEx));
	sSysEx.m_stSysAdvancedParam = tmp;
	sSysEx.m_ucPtiNumber = 3;
	sSysEx.m_bPvrSupport = TRUE;

	 g_dwTimeStart = CSGetTickCount();
	 
	CSSYSChipInitEx(&stSysInfo, (HCSHANDLE)&sSysEx);

        g_dwTimeStop = CSGetTickCount();
        g_dwTimeCost +=  (g_dwTimeStop - g_dwTimeStart);
        g_asTimeCost[ModuleIndex].pModuleName = "ChipBoot + ChipInit";
        g_asTimeCost[ModuleIndex++].dwTimeCost = g_dwTimeCost;

	/* init gpio & i2c */
	ErrorCode = CSGPIOInitialize();
	CSASSERT(ErrorCode == CSHDI_SUCCESS);

	ErrorCode |= CSI2CInitialize(I2C_0,CSI2C_SPEED_NORMAL);
	ErrorCode |= CSI2CInitialize(I2C_1,CSI2C_SPEED_NORMAL);
	CSASSERT(ErrorCode == CSHDI_SUCCESS);

	/*init tuner*/

	 g_dwTimeStart = CSGetTickCount();
	
	ErrorCode = CSCOFDMInitialize(Tuner_0, 9*17, TS_PARALLEL, 38);
	CSASSERT(ErrorCode == CSHDI_SUCCESS);
	
	if (ErrorCode == CSHDI_SUCCESS)
	{
		g_dwTimeStop = CSGetTickCount();
	        g_dwTimeCost =  g_dwTimeStop - g_dwTimeStart;
	        g_asTimeCost[ModuleIndex].pModuleName = "COFDM";
	        g_asTimeCost[ModuleIndex++].dwTimeCost = g_dwTimeCost;
	}
        
	/* init uart */

	 g_dwTimeStart = CSGetTickCount();
	
	ErrorCode = CSHDIUartSetDefault(0);
	ErrorCode |= CSHDIUartInitial( 1, 115200);
	CSASSERT(ErrorCode == CSHDI_SUCCESS);

	if (ErrorCode == CSHDI_SUCCESS)
	{
		g_dwTimeStop = CSGetTickCount();
	        g_dwTimeCost =  g_dwTimeStop - g_dwTimeStart;
	        g_asTimeCost[ModuleIndex].pModuleName = "UART";
	        g_asTimeCost[ModuleIndex++].dwTimeCost = g_dwTimeCost;
	}


	//Initialize panel

	 g_dwTimeStart = CSGetTickCount();

	sPanelPinCfg.m_ucKeyScanPin = 19;   //K11
	sPanelPinCfg.m_pucComPinGroup[0] = 20; //Com0
	sPanelPinCfg.m_pucComPinGroup[1] = 21; //Com1
	sPanelPinCfg.m_pucComPinGroup[2] = 40; //Com2
	sPanelPinCfg.m_pucComPinGroup[3] = 22; //Com3
	sPanelPinCfg.m_pucComPinGroup[4] = 41; //Com4
	sPanelPinCfg.m_pucComPinGroup[5] = 0xff; //Com5
	sPanelPinCfg.m_pucSegPinGroup[0] = 23; //PData
	sPanelPinCfg.m_pucSegPinGroup[1] = 42; //PClk 

	ErrorCode = CSPanelInitialize(159, &sPanelPinCfg);

	if (ErrorCode == CSHDI_SUCCESS)
	{
		g_dwTimeStop = CSGetTickCount();
	        g_dwTimeCost =  g_dwTimeStop - g_dwTimeStart;
	        g_asTimeCost[ModuleIndex].pModuleName = "PANEL";
	        g_asTimeCost[ModuleIndex++].dwTimeCost = g_dwTimeCost;
	}
	
	CSPanelConfigDisplayTimeDiv(520);
	CSASSERT(ErrorCode == CSHDI_SUCCESS);

	{
		CSRMTunerConfig_S sTunerInfo;
		CSRMDemuxConfig_S sDemuxInfo;
		sTunerInfo.m_emTunerType = EM_TUNER_TER;
		CSRMSetTunerConfig(0,&sTunerInfo);
		
		sDemuxInfo.m_nSupportType = DEMUX_SUPPORT_LIVE|DEMUX_SUPPORT_REC| DEMUX_SUPPORT_PLAYBACK;
		sDemuxInfo.m_emLiveChannel = EM_DEMUX_CHANNELCOUNT_1;
		sDemuxInfo.m_emRecordChannel = EM_DEMUX_CHANNELCOUNT_1;
		sDemuxInfo.m_emPlaybackChannel = EM_DEMUX_CHANNELCOUNT_1;
		sDemuxInfo.m_nTunerLinkMark = 3;
		CSRMSetDemuxConfig(0,&sDemuxInfo);
		CSSYSSetPvrSupport(TRUE);

		InitUSPSectionDemux(0);
		InitUSPSectionDemux(1);
		InitUSPSectionDemux(3);
		
		CSTRACE(0xff,"[%s:%d]\n",__FUNCTION__,__LINE__);
		CSSTRGInit();
		CSTRACE(0xff,"[%s:%d]\n",__FUNCTION__,__LINE__);
	}
	//CSPanelRegisterKeySendCallback((CSHDICallback)UI_PanelControlUserProc);

	ErrorCode = CSPanelDisplayText("good", 4);	
	CSASSERT(ErrorCode == CSHDI_SUCCESS);
	
	// IR init	
	
	 g_dwTimeStart = CSGetTickCount();

	UI_IRInitialize(5*17);	

	g_dwTimeStop = CSGetTickCount();
        g_dwTimeCost =  g_dwTimeStop - g_dwTimeStart;
        g_asTimeCost[ModuleIndex].pModuleName = "IR";
        g_asTimeCost[ModuleIndex++].dwTimeCost = g_dwTimeCost;

	/* init EEPROM & FLASH */	
	//ErrorCode = CSEPRInitialize(I2C_3, 0xa0, AT24C64);	
	//CSASSERT(ErrorCode == CSHDI_SUCCESS);

	ErrorCode = CSFLSSetFLSCount(1);
	ErrorCode = CSFLSSetSpace( 0, ROM_BASE, 0x800000);
	
	 g_dwTimeStart = CSGetTickCount();
	
	ErrorCode = CSFLSInitialize(43);//43??
	CSASSERT(ErrorCode == CSHDI_SUCCESS);

	if (ErrorCode == CSHDI_SUCCESS)
	{
		g_dwTimeStop = CSGetTickCount();
	        g_dwTimeCost =  g_dwTimeStop - g_dwTimeStart;
	        g_asTimeCost[ModuleIndex].pModuleName = "FLASH";
	        g_asTimeCost[ModuleIndex].dwTimeCost = g_dwTimeCost;
	}

	TimePrint(); //打印初始化时间
	
	return;
}
Esempio n. 3
0
/*udi_init is used to init porting,and different hardware config has defferent version of udi_int*/
void udi_init()
{
	HCSHANDLE hChipHandle = 0;
	CSHDI_Error_t   ErrorCode;
	CSPanelPinCfg_t sPanelPinCfg;
	CSRMDemuxConfig_S sDemuxInfo;

	/* init  demux*/
	CSRMSetRMSupport(TRUE);
	
	sDemuxInfo.m_nSupportType		= DEMUX_SUPPORT_PLAYBACK;
	sDemuxInfo.m_emLiveChannel		= EM_DEMUX_CHANNELCOUNT_0;
	sDemuxInfo.m_emRecordChannel	= EM_DEMUX_CHANNELCOUNT_0;
	sDemuxInfo.m_emPlaybackChannel	= EM_DEMUX_CHANNELCOUNT_1;
	sDemuxInfo.m_nTunerLinkMark 	= 0x00;
	if(!CSRMSetDemuxConfig(CSDMX_0,&sDemuxInfo))
	{
		CSDebug("PlatformInit.c",  ERROR_LEVEL, "[%s]CSRMSetDemuxConfig demux(%d) fail !\n", __FUNCTION__, CSDMX_0);
		return;
	}

	sDemuxInfo.m_nSupportType		= DEMUX_SUPPORT_PLAYBACK;
	sDemuxInfo.m_emLiveChannel		= EM_DEMUX_CHANNELCOUNT_0;
	sDemuxInfo.m_emRecordChannel	= EM_DEMUX_CHANNELCOUNT_0;
	sDemuxInfo.m_emPlaybackChannel	= EM_DEMUX_CHANNELCOUNT_1;
	sDemuxInfo.m_nTunerLinkMark 	= 0x00;
	if(!CSRMSetDemuxConfig(CSDMX_1,&sDemuxInfo))
	{
		CSDebug("PlatformInit.c",  ERROR_LEVEL, "[%s]CSRMSetDemuxConfig demux(%d) fail !\n", __FUNCTION__, CSDMX_1);
		return;
	}

    if(!CSSYSSetCfg(CSCFG_TSIN_DMX, CSTSIN_5, CSDMX_0, 0))
	{
		CSDebug("PlatformInit.c",  ERROR_LEVEL, "[%s]CSSYSSetCfg tsin(%d)-demux(%d) fail !\n", __FUNCTION__, CSTSIN_5, CSDMX_0);
		return;
	}
	
	if(!CSSYSSetCfg(CSCFG_TSIN_DMX, CSTSIN_6, CSDMX_1, 0))
	{
		CSDebug("PlatformInit.c",  ERROR_LEVEL, "[%s]CSSYSSetCfg tsin(%d)-demux(%d) fail !\n", __FUNCTION__, CSTSIN_6, CSDMX_1);
		return;
	}


    g_dwTimeStart = CSGetTickCount();
	
    if (!CSSYSChipBoot((HCSHANDLE)NULL))
	{
		CSDebug("PlatformInit.c",  ERROR_LEVEL, "[%s]CSSYSChipBoot fail !\n", __FUNCTION__);
        return;
    }

	hChipHandle = CSSYSChipInit(NULL, (HCSHANDLE)NULL);
	if (hChipHandle == (HCSHANDLE)NULL)
	{
		CSDebug("PlatformInit.c",  ERROR_LEVEL, "[%s]CSSYSChipInit fail !\n", __FUNCTION__);
		CSSYSChipHalt((HCSHANDLE)NULL);
		return;
	}

    g_dwTimeStop = CSGetTickCount();
//    CSTTPrint("\n^^^^^^^^^^^^^^^^start:%d\r\n", g_dwTimeStart);
//    CSTTPrint("\n^^^^^^^^^^^^^^^^stop:%d\r\n", g_dwTimeStop);
    g_dwTimeCost =  g_dwTimeStop - g_dwTimeStart;
    g_asTimeCost[ModuleIndex].pModuleName = "ChipBoot + ChipInit";
    g_asTimeCost[ModuleIndex++].dwTimeCost = g_dwTimeCost;

         
    /* init panel */
    g_dwTimeStart = CSGetTickCount();
    
    sPanelPinCfg.m_pucSegPinGroup[0] = 20;
	sPanelPinCfg.m_pucSegPinGroup[1] = 19;
    sPanelPinCfg.m_pucComPinGroup[0] = 21;
	sPanelPinCfg.m_ucKeyScanPin   	= 24;
    ErrorCode = CSPanelInitialize(220, &sPanelPinCfg);

     g_dwTimeStop = CSGetTickCount();

     CSASSERT(ErrorCode == CSHDI_SUCCESS);
    if(ErrorCode == CSHDI_SUCCESS)
    {
        g_dwTimeCost =  g_dwTimeStop - g_dwTimeStart;
        g_asTimeCost[ModuleIndex].pModuleName = "Panel";
        g_asTimeCost[ModuleIndex++].dwTimeCost = g_dwTimeCost;
    }
    //CSPanelRegisterKeySendCallback((CSHDICallback)UI_PanelControlUserProc);


    // IR init

     g_dwTimeStart = CSGetTickCount();
    
    UI_IRInitialize(5*17);
    g_dwTimeStop = CSGetTickCount();

    g_dwTimeCost =  g_dwTimeStop - g_dwTimeStart;
    g_asTimeCost[ModuleIndex].pModuleName = "IR";
    g_asTimeCost[ModuleIndex++].dwTimeCost = g_dwTimeCost;

    /* init EEPROM & FLASH */

     g_dwTimeStart = CSGetTickCount();
    
    ErrorCode = CSFLSSetFLSCount(1);
    ErrorCode |= CSFLSSetSpace( 0, 0X11000000, 0x7000000);
    ErrorCode |= CSFLSInitialize(13);

     g_dwTimeStop = CSGetTickCount();
     
    CSASSERT(ErrorCode == CSHDI_SUCCESS);
     if(ErrorCode == CSHDI_SUCCESS)
    {
        g_dwTimeCost =  g_dwTimeStop - g_dwTimeStart;
        g_asTimeCost[ModuleIndex].pModuleName = "FLASH";
        g_asTimeCost[ModuleIndex].dwTimeCost = g_dwTimeCost;
    }


    TimePrint();//打印初始化时间

}
Esempio n. 4
0
/*udi_init is used to init porting,and different hardware config has defferent version of udi_int*/
void udi_init()
{
	CSSYSAdvancedParamEx ParamEx;
	HCSHANDLE hChipHandle = 0;
	CSHDI_Error_t   ErrorCode;
	CSPanelPinCfg_t sPanelPinCfg;
	CSOSGPixelFormat_S stPixelFormat = {0,0,0,0,16,8,0,24,0x00ff0000,0x0000ff00,0x000000ff,0xff000000,0,32,4};
	CSOSGRect Region = {0,0,720,576};
	
	/* init tuner & demux*/
	//closed by wansuanlin at 20090508 start
	#if defined (TKMODULE_ca)
	{
		CSDebugSetDefaultLevel(DEBUG_LEVEL);//CSSetDebugLevel(0xff);
	}
	#else
	{
		 CSRMTunerConfig_S	sTunerInfo;
    CSRMDemuxConfig_S sDemuxInfo;

	//CSSYSAdvancedParamEx ParamEx;

	CSRMSetRMSupport(TRUE);

    sTunerInfo.m_emTunerType = EM_TUNER_CAB;
    CSRMSetTunerConfig(0, &sTunerInfo);

    sDemuxInfo.m_nSupportType = DEMUX_SUPPORT_LIVE | DEMUX_SUPPORT_REC ;
    sDemuxInfo.m_emLiveChannel = EM_DEMUX_CHANNELCOUNT_1;
    sDemuxInfo.m_emRecordChannel = EM_DEMUX_CHANNELCOUNT_1;
    sDemuxInfo.m_emPlaybackChannel = EM_DEMUX_CHANNELCOUNT_1;
    sDemuxInfo.m_nTunerLinkMark = 3;
    CSRMSetDemuxConfig(0, &sDemuxInfo);

 	sDemuxInfo.m_nSupportType = DEMUX_SUPPORT_PLAYBACK;
    sDemuxInfo.m_emLiveChannel = EM_DEMUX_CHANNELCOUNT_0;
    sDemuxInfo.m_emRecordChannel = EM_DEMUX_CHANNELCOUNT_0;
    sDemuxInfo.m_emPlaybackChannel = EM_DEMUX_CHANNELCOUNT_1;
    sDemuxInfo.m_nTunerLinkMark = 0x00;
    CSRMSetDemuxConfig(CSDMX_1, &sDemuxInfo);
	}
	#endif 
	//closed by wansuanlin at 20090508 end

    /* init chip driver */
#ifdef _COSHIP_PVR_

    CSSYSSetPvrSupport(TRUE);
#else

CSSYSSetPvrSupport(FALSE);
#endif

	//modify by wansuanlin at 20090519 start
	#if defined (TKMODULE_ca)
	{
		CSSYSSetCfg(CSCFG_TSIN_DMX, CSTSIN_6, CSDMX_0, 0);
	}
	#else
	{
		
    	CSSYSSetCfg(CSCFG_TUNER_TSIN, CSTUNER_0, CSTSIN_0, 0);
   		// CSSYSSetCfg(CSCFG_TUNER_TSIN, CSTUNER_1, CSTSIN_1, 0);
    	CSSYSSetCfg(CSCFG_TSIN_DMX, CSTSIN_0, CSDMX_0, 0);
   		// CSSYSSetCfg(CSCFG_TSIN_DMX, CSTSIN_1, CSDMX_1, 0);
    	CSSYSSetCfg(CSCFG_TUNER_MODE, CSTUNER_0, CSSYS_TS_SERIAL, 0);
    	//CSSYSSetCfg(CSCFG_TUNER_MODE, CSTUNER_1, CSSYS_TS_SERIAL, 0);
    	CSSYSSetCfg(CSCFG_TSIN_DMX, CSTSIN_6, CSDMX_1, 0);
		#if 0
		CSSYSSetCfg(CSCFG_TUNER_TSIN, CSTUNER_0, CSTSIN_0, 0);
	    CSSYSSetCfg(CSCFG_TUNER_TSIN, CSTUNER_1, CSTSIN_1, 0);
	    CSSYSSetCfg(CSCFG_TSIN_DMX, CSTSIN_0, CSDMX_0, 0);
	    CSSYSSetCfg(CSCFG_TSIN_DMX, CSTSIN_1, CSDMX_1, 0);
	    CSSYSSetCfg(CSCFG_TUNER_MODE, CSTUNER_0, CSSYS_TS_SERIAL, 0);
	    CSSYSSetCfg(CSCFG_TUNER_MODE, CSTUNER_1, CSSYS_TS_SERIAL, 0);

	    CSSYSSetCfg(CSCFG_TSIN_DMX, CSTSIN_7, CSDMX_2, 0);
		#endif
	}
	#endif
	//modify by wansuanlin at 20090519 end

    g_dwTimeStart = CSGetTickCount();
    if (!CSSYSChipBoot(0) )
    {
        CSDebug("TestMain",FATAL_LEVEL, "[%s.%d]: Fail at CSSYSChipBoot\n", __FILE__, __LINE__);
        return ;
    }

    ParamEx.m_dwReserve = 0;//m_dwReserve=0表示不支持nds ca, 为1支持nds ca,仅适用于7403平台
    hChipHandle = CSSYSChipInitEx(NULL, (HCSHANDLE) &ParamEx);
    if ( 0 == hChipHandle )
    {
        CSDebug("TestMain",FATAL_LEVEL, "[%s.%d]: Fail at CSSYSChipInit\n", __FILE__, __LINE__);
        CSSYSChipHalt(0);
        return ;
    }

    g_dwTimeStop = CSGetTickCount();
//    CSTTPrint("\n^^^^^^^^^^^^^^^^start:%d\r\n", g_dwTimeStart);
//    CSTTPrint("\n^^^^^^^^^^^^^^^^stop:%d\r\n", g_dwTimeStop);
    g_dwTimeCost =  g_dwTimeStop - g_dwTimeStart;
    g_asTimeCost[ModuleIndex].pModuleName = "ChipBoot + ChipInit";
    g_asTimeCost[ModuleIndex++].dwTimeCost = g_dwTimeCost;

    {
        int i;
        int cnt = CSRMGetDeviceCounts(EM_RESOURCE_DEMUX);
        for(i=0;i<cnt;i++)
        {
            InitUSPSectionDemux(i);
        }
    }

    /* init gpio & i2c */
    ErrorCode = CSGPIOInitialize();
    CSASSERT(ErrorCode == CSHDI_SUCCESS);

    ErrorCode |= CSI2CInitialize(I2C_0,CSI2C_SPEED_NORMAL);
    ErrorCode |= CSI2CInitialize(I2C_1,CSI2C_SPEED_NORMAL);
    ErrorCode |= CSI2CInitialize(I2C_2,CSI2C_SPEED_NORMAL);
    ErrorCode |= CSI2CInitialize(I2C_3,CSI2C_SPEED_NORMAL);
    CSASSERT(ErrorCode == CSHDI_SUCCESS);

    /* init uart */
    g_dwTimeStart = CSGetTickCount();
    
    ErrorCode = CSHDIUartSetDefault(0);
    ErrorCode |= CSHDIUartInitial( 2, 9600);
    
     g_dwTimeStop = CSGetTickCount();
    CSASSERT(ErrorCode == CSHDI_SUCCESS);
    if(ErrorCode == CSHDI_SUCCESS)
    {
        g_dwTimeCost =  g_dwTimeStop - g_dwTimeStart;
        g_asTimeCost[ModuleIndex].pModuleName = "UART";
        g_asTimeCost[ModuleIndex++].dwTimeCost = g_dwTimeCost;
    }
    
   /* init tuner */
     g_dwTimeStart = CSGetTickCount();
   
    ErrorCode = CSQAMInitializeEx(CSTUNER_0, I2C_2, 159, TS_SERIAL, 0xff);
    
    g_dwTimeStop = CSGetTickCount();
    
    CSASSERT(ErrorCode == CSHDI_SUCCESS);
    if(ErrorCode == CSHDI_SUCCESS)
    {
        g_dwTimeCost =  g_dwTimeStop - g_dwTimeStart;
        g_asTimeCost[ModuleIndex].pModuleName = "QAM";
        g_asTimeCost[ModuleIndex++].dwTimeCost = g_dwTimeCost;
    }
    
    /* init panel */
    g_dwTimeStart = CSGetTickCount();
    
    sPanelPinCfg.m_ucKeyScanPin = 18;   //K11
    sPanelPinCfg.m_pucComPinGroup[0] = 21; //Com0
    sPanelPinCfg.m_pucComPinGroup[1] = 24; //Com1
    sPanelPinCfg.m_pucComPinGroup[2] = 20; //Com2
    sPanelPinCfg.m_pucComPinGroup[3] = 23; //Com3
    sPanelPinCfg.m_pucComPinGroup[4] = 19; //Com4
    sPanelPinCfg.m_pucComPinGroup[5] = 0xff; //Com5
    sPanelPinCfg.m_pucSegPinGroup[0] = 37; //PData
    sPanelPinCfg.m_pucSegPinGroup[1] = 25; //PClk
    ErrorCode = CSPanelInitialize(220, &sPanelPinCfg);

     g_dwTimeStop = CSGetTickCount();

     CSASSERT(ErrorCode == CSHDI_SUCCESS);
    if(ErrorCode == CSHDI_SUCCESS)
    {
        g_dwTimeCost =  g_dwTimeStop - g_dwTimeStart;
        g_asTimeCost[ModuleIndex].pModuleName = "Panel";
        g_asTimeCost[ModuleIndex++].dwTimeCost = g_dwTimeCost;
    }
    //CSPanelRegisterKeySendCallback((CSHDICallback)UI_PanelControlUserProc);

    ErrorCode = CSPanelDisplayText("good", 4);
    CSASSERT(ErrorCode == CSHDI_SUCCESS);

    // IR init

     g_dwTimeStart = CSGetTickCount();
    
    UI_IRInitialize(5*17);
    g_dwTimeStop = CSGetTickCount();

    g_dwTimeCost =  g_dwTimeStop - g_dwTimeStart;
    g_asTimeCost[ModuleIndex].pModuleName = "IR";
    g_asTimeCost[ModuleIndex++].dwTimeCost = g_dwTimeCost;

    /* init EEPROM & FLASH */

    
    ErrorCode = CSEPRInitialize(I2C_3, 0xa0, AT24C64);
    CSASSERT(ErrorCode == CSHDI_SUCCESS);
    
    g_dwTimeStart = CSGetTickCount();
    
    ErrorCode = CSFLSSetFLSCount(1);
    ErrorCode |= CSFLSSetSpace( 0, 0X1E000000, 0x2000000);
    ErrorCode |= CSFLSInitialize(13);

     g_dwTimeStop = CSGetTickCount();
     
    CSASSERT(ErrorCode == CSHDI_SUCCESS);
     if(ErrorCode == CSHDI_SUCCESS)
    {
        g_dwTimeCost =  g_dwTimeStop - g_dwTimeStart;
        g_asTimeCost[ModuleIndex].pModuleName = "FLASH";
        g_asTimeCost[ModuleIndex].dwTimeCost = g_dwTimeCost;
    }

    CSOSGInit(0);
    CSOSGSetGlobalPixelFormat(CSLAYER_GFX1, stPixelFormat);
    CSOSGOpen(0,0,&Region,TRUE);

    TimePrint();//打印初始化时间

}
Esempio n. 5
0
static void
PrintQuotaEntry(struct sam_dquot *dq, char *arg, int type, int index)
{
	int kfactor = kflag ? 2 : 1;

#ifdef DEBUG
	if (dflag) {
		fprintf(stderr,
		    "command_print('%s', dq=%lx, arg='%s', type=%d, idx=%d)\n",
		    Program, (long)dq, arg, type, index);
	}
#endif	/* DEBUG */

	PrintQuotaHdr();

	if (eflag) {
		if (tflag) {
			printf("%s -%c %d %s\\\n",
			    Program, "zAGUxQ"[type+1], index,
			    kflag ? "-k" : "");
			printf("      -f %8lld:s:o -f %8lld:h:o         "
			    "-f %8lld:s:t -f %8lld:h:t \\\n",
			    dq->dq_folsoft, dq->dq_folhard,
			    dq->dq_ftotsoft, dq->dq_ftothard);
			printf("      -b %8lld:s:o -b %8lld:h:o         "
			    "-b %8lld:s:t -b %8lld:h:t \\\n",
			    dq->dq_bolsoft/kfactor, dq->dq_bolhard/kfactor,
			    dq->dq_btotsoft/kfactor, dq->dq_btothard/kfactor);
			printf("                 -t  ");
			TimePrint(dq->dq_ol_grace);
			printf(":o                               -t ");
			TimePrint(dq->dq_tot_grace);
			printf(":t");
			if (dq->dq_ol_enforce || dq->dq_tot_enforce) {
				printf(" \\\n      -x ");
				if (dq->dq_ol_enforce) {
					if (dq->dq_ol_enforce > Now) {
						TimePrint(
						    dq->dq_ol_enforce-Now);
						printf(":o ");
					} else {
						printf("expire:o ");
					}
				} else {
					printf("clear  ");
				}
				printf("                      -x ");
				if (dq->dq_tot_enforce) {
					if (dq->dq_tot_enforce > Now) {
						TimePrint(
						    dq->dq_tot_enforce-Now);
						printf(":t ");
					} else {
						printf("expire:t ");
					}
				} else {
					printf("clear  ");
				}
			}
			printf("   %s\n", arg);
		} else {
			printf("%s -%c %d %s\\\n",
			    Program, "zAGUxQ"[type+1], index,
			    kflag ? "-k" : "");
			printf("      -f %8lld:s -f %8lld:h \\\n",
			    dq->dq_folsoft, dq->dq_folhard);
			printf("      -b %8lld:s -b %8lld:h \\\n",
			    dq->dq_bolsoft/kfactor, dq->dq_bolhard/kfactor);
			printf("                 -t  ");
			TimePrint(dq->dq_ol_grace);
			if (dq->dq_ol_enforce) {
				printf(" \\\n      -x ");
				if (dq->dq_ol_enforce) {
					if (dq->dq_ol_enforce > Now) {
						TimePrint(
						    dq->dq_ol_enforce-Now);
					} else {
						printf("expire ");
					}
				} else {
					printf("clear  ");
				}
			}
			printf("   %s\n", arg);
		}
	} else {
		if (tflag) {
			char c1, c2;

			printf("%s\n", arg);
			c1 = c2 = ' ';
			if (!QUOTA_SANE(dq)) {
				c1 = c2 = '!';
			} else if (!QUOTA_INF(dq)) {
				if (dq->dq_folused > dq->dq_folhard) {
					c1 = '!';
				} else if (dq->dq_folused > dq->dq_folsoft) {
					c1 = '+';
					if (dq->dq_ol_enforce &&
					    Now > dq->dq_ol_enforce)
						c1 = '*';
				}
				if (dq->dq_ftotused > dq->dq_ftothard) {
					c2 = '!';
				} else if (dq->dq_ftotused > dq->dq_ftotsoft) {
					c2 = '+';
					if (dq->dq_ol_enforce &&
					    Now > dq->dq_ol_enforce)
						c2 = '*';
				}
			}
			printf("Files  %5s %5d  %8lld%c%8lld %8lld  "
			    "%8lld%c%8lld %8lld",
			    type == SAM_QUOTA_MAX ? "  -  " :
			    quota_types[type], index,
			    dq->dq_folused, c1, dq->dq_folsoft, dq->dq_folhard,
			    dq->dq_ftotused, c2, dq->dq_ftotsoft,
			    dq->dq_ftothard);
			printf("\n");
			c1 = c2 = ' ';
			if (!QUOTA_SANE(dq)) {
				c1 = c2 = '!';
			} else if (!QUOTA_INF(dq)) {
				if (dq->dq_bolused > dq->dq_bolhard) {
					c1 = '!';
				} else if (dq->dq_bolused > dq->dq_bolsoft) {
					c1 = '+';
					if (dq->dq_ol_enforce &&
					    Now > dq->dq_ol_enforce)
						c1 = '*';
				}
				if (dq->dq_btotused > dq->dq_btothard) {
					c2 = '!';
				} else if (dq->dq_btotused > dq->dq_btotsoft) {
					c2 = '+';
					if (dq->dq_tot_enforce &&
					    Now > dq->dq_tot_enforce)
						c2 = '*';
				}
			}
			printf("Blocks %5s %5d  %8lld%c%8lld %8lld  "
			    "%8lld%c%8lld %8lld",
			    type == SAM_QUOTA_MAX ? "  -  " :
			    quota_types[type], index,
			    dq->dq_bolused/kfactor, c1,
			    dq->dq_bolsoft/kfactor, dq->dq_bolhard/kfactor,
			    dq->dq_btotused/kfactor, c2,
			    dq->dq_btotsoft/kfactor, dq->dq_btothard/kfactor);
			printf("\nGrace period                    ");
			TimePrint(dq->dq_ol_grace);
			printf("                          ");
			TimePrint(dq->dq_tot_grace);
			printf("\n");
			if (index && dq->dq_ol_enforce) {
				if (dq->dq_ol_enforce > Now) {
					printf("---> Warning:  online soft "
					    "limits to be enforced in ");
					TimePrint(dq->dq_ol_enforce-Now);
					printf("\n");
				} else {
					printf("---> Online soft limits "
					    "under enforcement (since ");
					TimePrint(Now-dq->dq_ol_enforce);
					printf(" ago)\n");
				}
			}
			if (index && dq->dq_tot_enforce) {
				if (dq->dq_tot_enforce > Now) {
					printf("---> Warning:  total soft "
					    "limits to be enforced in ");
					TimePrint(dq->dq_tot_enforce-Now);
					printf("\n");
				} else {
					printf("---> Total soft limits under "
					    "enforcement (since ");
					TimePrint(Now-dq->dq_tot_enforce);
					printf(" ago)\n");
				}
			}
			if (!QUOTA_SANE(dq)) {
				printf("---> Quota values inconsistent; "
				    "zero quotas in effect.\n");
			} else if (index == 0 || QUOTA_INF(dq)) {
				printf("---> Infinite quotas in effect.\n");
			}
		} else {
			char c1;

			printf("%s\n", arg);
			c1 = ' ';
			if (!QUOTA_SANE(dq)) {
				c1 = '!';
			} else if (!QUOTA_INF(dq)) {
				if (dq->dq_folused > dq->dq_folhard) {
					c1 = '!';
				} else if (dq->dq_folused > dq->dq_folsoft) {
					c1 = '+';
					if (dq->dq_ol_enforce &&
					    Now > dq->dq_ol_enforce)
						c1 = '*';
				}
			}
			printf("Files  %5s %5d  %8lld%c%8lld %8lld",
			    type == SAM_QUOTA_MAX ? "  -  " :
			    quota_types[type], index,
			    dq->dq_folused, c1, dq->dq_folsoft,
			    dq->dq_folhard);
			printf("\n");
			c1 = ' ';
			if (!QUOTA_SANE(dq)) {
				c1 = '!';
			} else if (!QUOTA_INF(dq)) {
				if (dq->dq_bolused > dq->dq_bolhard) {
					c1 = '!';
				} else if (dq->dq_bolused > dq->dq_bolsoft) {
					c1 = '+';
					if (dq->dq_ol_enforce &&
					    Now > dq->dq_ol_enforce)
						c1 = '*';
				}
			}
			printf("Blocks %5s %5d  %8lld%c%8lld %8lld",
			    type == SAM_QUOTA_MAX ? "  -  " :
			    quota_types[type], index,
			    dq->dq_bolused/kfactor, c1,
			    dq->dq_bolsoft/kfactor, dq->dq_bolhard/kfactor);
			printf("\nGrace period                    ");
			TimePrint(dq->dq_ol_grace);
			printf("\n");
			if (index && dq->dq_ol_enforce) {
				if (dq->dq_ol_enforce > Now) {
					printf("---> Warning:  online soft "
					    "limits to be enforced in ");
					TimePrint(dq->dq_ol_enforce-Now);
					printf("\n");
				} else {
					printf("---> Online soft limits "
					    "under enforcement (since ");
					TimePrint(Now-dq->dq_ol_enforce);
					printf(" ago)\n");
				}
			}
			if (!QUOTA_SANE(dq)) {
				printf("---> Quota values inconsistent; "
				    "zero quotas in effect.\n");
			} else if (index == 0 || QUOTA_INF(dq)) {
				printf("---> Infinite quotas in effect.\n");
			}
		}
	}
}
Esempio n. 6
0
static void iSetupSt5197Porting()
{

	CSHDI_Error_t ErrorCode = CSHDI_SUCCESS;
	CSSYSInfo stSysInfo;
	CSSYSAdvancedParamEx stAdvaceParamEX;
	CSOSGRect RegionSD;
	CSQAM_Error_t QamInitErrorCode;
	CSSPIPinIndex stSpiPinIndex= {0};

	CSSYSMemoryRange memProfile[] = 
	{
		{CSSYS_MEM_TYPE_SYSPART, 		(void*)SYSTEM_PARTITIOAN_START_ADDR, 	SYSTEM_PARTITIOAN_SIZE, 	},/* user heap */
		{CSSYS_MEM_TYPE_NONCACHE, 		(void*)NCACHE_PARTITIOAN_START_ADDR,	NCACHE_PARTITIOAN_SIZE,		},/* non-cached */
		{CSSYS_MEM_TYPE_OS, 			(void*)OS_PARTITIOAN_START_ADDR,		OS_PARTITIOAN_SIZE,			},/* os */
		{CSSYS_MEM_TYPE_DRIVER, 		(void*)DRIVER_PARTITIOAN_START_ADDR,	DRIVER_PARTITIOAN_SIZE,		},/* driver */
		{CSSYS_MEM_TYPE_AVMEM_USER, 	(void*)AVMEM_USER_START_ADDR,			AVMEM_USER_SIZE,			},	/* user osd avmem */
		{CSSYS_MEM_TYPE_AVMEM, 			(void*)AVMEM_SYS_START_ADDR,			AVMEM_SYS_SIZE,				},	/* avmem sys */
	} ;

	int nMemRangeCount = sizeof(memProfile)/sizeof(CSSYSMemoryRange);

	CSDebugSetDefaultLevel(DEBUG_LEVEL);//CSSetDebugLevel(0);

	/* 配内存 */
	CSSYSSetCfg(CSCFG_MEM_PROFILE,0,(DWORD)&memProfile[0], nMemRangeCount);

	//chip boot
	if (!CSSYSChipBoot(0) )
	{
		CSASSERT(0);
		//return;
	}

	/* 配置初始化时的制式 */
	CSSYSSetCfg(CSCFG_SD_TIMING_MODE, 0, CSVID_TIMING_MODE_PAL, 0);

	memset(&stSysInfo, 0, sizeof(CSSYSInfo));
	stSysInfo.OutputAUDInfo.OutputDevice=CSAUD_OUTPUT_RCA | CSAUD_OUTPUT_SPDIF ;
	stSysInfo.OuputTVInfo.OutputDevice =	CSVID_OUTPUT_CVBS | CSVID_OUTPUT_YUV;

	memset(&stAdvaceParamEX, 0, sizeof(CSSYSAdvancedParamEx));
	stAdvaceParamEX.m_stSysAdvancedParam.m_bDualOSDBuffer = HD_DISPLAY_SUPPORT;
	stAdvaceParamEX.m_stSysAdvancedParam.m_bSupportHDDecoder = HD_DECODER_SUPPORT;
	stAdvaceParamEX.m_stSysAdvancedParam.m_bSupportHDDecoder_H264 = HD_H264_SUPPORT;
	stAdvaceParamEX.m_stSysAdvancedParam.m_dwMemoryStartAddr = LMI_SYS_BASE;
	stAdvaceParamEX.m_stSysAdvancedParam.m_dwMemoryTotalSize = LMI_SYS_SIZE;
	stAdvaceParamEX.m_bPvrSupport = PVR_SUPPORT;
	stAdvaceParamEX.m_bPipSupport = PIP_SUPPORT;
	stAdvaceParamEX.m_ucPtiNumber = 3;


	/*init chip*/
	if (0 == CSSYSChipInitEx(&stSysInfo, (HCSHANDLE)(&stAdvaceParamEX)))
	{
		CSASSERT(0);
		//return;
	}

	/*init osd*/
	RegionSD.left = 0;
	RegionSD.top = 0;
	RegionSD.Width = 720;
	RegionSD.Height = 576;

	ErrorCode = CSOSGOpen(CSLAYER_GFX1, 0, &RegionSD,  TRUE);
	CSASSERT(ErrorCode == CSHDI_SUCCESS);

	//GPIO init ,actually init in Plat,here for UT;Gary
	ErrorCode =  CSGPIOInitialize();
	CSASSERT(ErrorCode == CS_GPIO_SUCCESS);
    
    	//SPIinit 
	ErrorCode =  CSSPIInitialize(SPI_0, stSpiPinIndex, CSSPI_SPEED_HIGHT);
	CSASSERT(ErrorCode == 0);

	//Initalize flash
	ErrorCode = CSFLSSetFLSCount(1);
	ErrorCode = CSFLSSetSpace( 0, 0, 0x400000);
	ErrorCode = CSFLSInitialize(0xff);
	CSASSERT(ErrorCode == CSHDI_SUCCESS);

	//I2C_0
	ErrorCode = CSI2CInitialize(I2C_0, CSI2C_SPEED_NORMAL);//used for tuner
	CSASSERT(ErrorCode == CSI2C_SUCCESS);

	// tuner init
	//QamInitErrorCode = CSQAMSetDVBMCNSMode(0, DVBMCNS_DVB);
	//CSASSERT(QamInitErrorCode == CSQAM_SUCCESS);

	QamInitErrorCode =CSQAMInitializeEx(0, 0, 9*17, TS_PARALLEL,0xff);
	CSASSERT(QamInitErrorCode == CSQAM_SUCCESS);

	
	// IR init
	UI_IRInitialize(5*17);

	//USB Power Enable
	ErrorCode = CSGPIOOpen(33, CS_GPIO_OUPUT);
	CSASSERT(ErrorCode == CS_GPIO_SUCCESS);

	ErrorCode = CSGPIOWrite(33, 1);
	CSASSERT(ErrorCode == CS_GPIO_SUCCESS);

	ErrorCode = CSGPIOOpen(34, CS_GPIO_OUPUT);
	CSASSERT(ErrorCode == CS_GPIO_SUCCESS);

	ErrorCode = CSGPIOWrite(34, 1);
	CSASSERT(ErrorCode == CS_GPIO_SUCCESS);

	//USB PHY Reset
	ErrorCode = CSGPIOOpen(20, CS_GPIO_OUPUT);
	CSASSERT(ErrorCode == CS_GPIO_SUCCESS);

	ErrorCode = CSGPIOWrite(20, 0);
	CSASSERT(ErrorCode == CS_GPIO_SUCCESS);

	CSSleep(1000);

	ErrorCode = CSGPIOWrite(20, 1);
	CSASSERT(ErrorCode == CS_GPIO_SUCCESS);

	g_dwTimeStop = CSGetTickCount();
	g_dwTimeCost =  g_dwTimeStop - g_dwTimeStart;
 

    TimePrint();  //打印初始化时间
	
}