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

📄 main.c

📁 ST5100 driver files for ST chipset
💻 C
📖 第 1 页 / 共 4 页
字号:
int SetRefPath( void )
{
    if (strlen(DVD_REF) >= 255)
    {
        fprintf(stderr,"DVD_REF is too long. No more than 255 char\n");
		return (1);
    }
    else
    {
        strcpy(STDM_ReferencePath, DVD_REF);
    }

	return (0);
}

#if defined(TESTTOOL)
/*------------------------------------------------------------------------------
 * Function : TST_Init
 *            Init Testtool
 * Input    : N/A
 * Output   : N/A
 * Return   : Error Code
 * -------------------------------------------------------------------------- */
static ST_ErrorCode_t TST_Init(void)
{
    STTST_InitParams_t InitParams;
    ST_ErrorCode_t     ErrCode;

    ErrCode = ST_NO_ERROR;
    memset(InitParams.InputFileName, 0, sizeof(InitParams.InputFileName));

    InitParams.CPUPartition_p = SystemPartition;
    InitParams.NbMaxOfSymbols = 2000;
    strcpy(InitParams.InputFileName, "../../../shared/default.com");
    if (InitParams.CPUPartition_p == NULL)
    {
        STTBX_Report((STTBX_REPORT_LEVEL_ERROR,
                      "Memory partition undefined, Testtool cannot be started !!"));
        ErrCode = ST_ERROR_NO_MEMORY;
    }
    else
    {
        if (STTST_Init(&InitParams) == TRUE)
        {
            STTBX_Report((STTBX_REPORT_LEVEL_ERROR,
                          "STTST_Init() fails !"));
            ErrCode = ST_ERROR_BAD_PARAMETER;
        }
    }

    return ErrCode;
} /* TST_Init () */

/*------------------------------------------------------------------------------
 * Function : Start_Testtool
 *            Register testtool command and start
 *            Testtool
 * Input    : N/A
 * Output   : N/A
 * Return   : Error Code
 * -------------------------------------------------------------------------- */
static ST_ErrorCode_t Start_Testtool(void)
{
    BOOL RetErr;

    RetErr = FALSE;

    RetErr |= STTST_SetMode(STTST_NO_ABBREVIATION_MODE);

    /* init Testtool commands */
    RetErr |= API_InitCommand();
    RetErr |= AUD_InitCommand();
    RetErr |= BLIT_InitCommand();
    RetErr |= DENC_InitCommand();
	RetErr |= GENERIC_InitCommand();
    RetErr |= GXOBJ_InitCommand();
    RetErr |= VTG_InitCommand();
    RetErr |= VOUT_InitCommand();
    RetErr |= LAYER_InitCommand();
    RetErr |= VMIX_InitCommand();
    RetErr |= VID_InitCommand();
    RetErr |= CLKRV_InitCommand();
    RetErr |= DISP_InitCommand();
    RetErr |= I2C_InitCommand();
	RetErr |= PTI_InitCommand();
	RetErr |= TSMERGE_InitCommand();
	RetErr |= GUTIL_InitCommand();
    RetErr |= VIN_InitCommand();
#ifndef TESTAPP_DISABLE_HDMI
    RetErr |= HDMI_InitCommand();
#endif /* #ifndef TESTAPP_DISABLE_HDMI */
	RetErr |= VBI_InitCommand();
    
#if defined(ST_PSIP)
    RetErr |= Register_ZPSIPCommands();
#endif

	/*RetErr |= TTOS_RegisterCommand();*/

    /* Start Testtool                                                         */
    RetErr = TSTREG_Debug();

    if (RetErr == TRUE)
    {
        STTBX_Report((STTBX_REPORT_LEVEL_ERROR,
                      "\n TSTREG_Debug, an error occurs in init of DEBUG/REG READ/REG WRITE \n"));
        return ST_ERROR_BAD_PARAMETER;
    }
    else
        STTBX_Print(("\n TSTREG_Debug was successfully initialised... \n"));

	TSTREG_AddRegArray(CKG_Reg, CKG_REGISTERS);
	TSTREG_AddRegArray(AudioReg, AUDIO_REGISTERS);
	TSTREG_AddRegArray(DVP_Reg, DVP_REGISTERS);
	TSTREG_AddRegArray(GammaReg, GAMMA_REGISTERS);
	TSTREG_AddRegArray(HdcpReg, HDCP_REGISTERS);
	/*TSTREG_AddRegArray(HDDI_Reg, HDDI_REGISTERS);	*/
	TSTREG_AddRegArray(HdmiReg, HDMI_REGISTERS);
/*	TSTREG_AddRegArray(I2C_Reg, I2C_REGISTERS);	*/
	TSTREG_AddRegArray(IRB_Reg, IRB_REGISTERS);
	TSTREG_AddRegArray(LPM_Reg, LPM_REGISTERS);
	TSTREG_AddRegArray(MAF_Reg, MAF_REGISTERS);
	TSTREG_AddRegArray(PIO_Reg, PIO_REGISTERS);
	TSTREG_AddRegArray(PWM_Reg, PWM_REGISTERS);
	/*TSTREG_AddRegArray(SdinReg, SDIN_REGISTERS);	*/
	TSTREG_AddRegArray(SMART_Reg, SMART_REGISTERS);
	TSTREG_AddRegArray(UART_Reg, UART_REGISTERS);
	TSTREG_AddRegArray(VideoReg, VIDEO_REGISTERS);
	TSTREG_AddRegArray(VOS_Reg, VOS_REGISTERS);

    RetErr |= STTST_Start();
    if (RetErr == TRUE)
    {
        STTBX_Report((STTBX_REPORT_LEVEL_ERROR,
                      "TESTTOOL, an error occurs in init"));
        return ST_ERROR_BAD_PARAMETER;
    }
    else
    {
        return ST_NO_ERROR;
    }

} /* Start_Testtool () */
#endif /* ifdef TESTTOOL */


/*----------------------------------------------------------------------------
 * Function : GetStapiRevisions
 *            Display versions of stapi drivers
 * Input    :
 * Output   :
 * Return   :
 * -------------------------------------------------------------------------- */
void GetStapiRevisions(void)
{
#if 0 // EXT_SHARE
    STTBX_Print(("STAUD_GetRevision()   = %s\n", STAUD_GetRevision()));
	STTBX_Print(("STAVMEM_GetRevision() = %s\n", STAVMEM_GetRevision()));
	STTBX_Print(("STBLAST_GetRevision() = %s\n", STBLAST_GetRevision()));
	STTBX_Print(("STBLIT_GetRevision()  = %s\n", STBLIT_GetRevision()));
	STTBX_Print(("STBOOT_GetRevision()  = %s\n", STBOOT_GetRevision()));
    STTBX_Print(("STCC_GetRevision()    = %s\n", STCC_GetRevision()));
	STTBX_Print(("STCLKRV_GetRevision() = %s\n", STCLKRV_GetRevision()));
	STTBX_Print(("STDENC_GetRevision()  = %s\n", STDENC_GetRevision()));
	STTBX_Print(("STEVT_GetRevision()   = %s\n", STEVT_GetRevision()));
	STTBX_Print(("STFDMA_GetRevision()  = %s\n", STFDMA_GetRevision()));
	STTBX_Print(("STFLASH_GetRevision() = %s\n", STFLASH_GetRevision()));
	STTBX_Print(("STGXOBJ_GetRevision() = %s\n", STGXOBJ_GetRevision()));
#ifndef TESTAPP_DISABLE_HDMI
    STTBX_Print(("STHDMI_GetRevision()  = %s\n", STHDMI_GetRevision()));
#endif
	STTBX_Print(("STI2C_GetRevision()   = %s\n", STI2C_GetRevision()));
	STTBX_Print(("STLAYER_GetRevision() = %s\n", STLAYER_GetRevision()));
	STTBX_Print(("STMERGE_GetRevision() = %s\n", STMERGE_GetRevision()));
	STTBX_Print(("STOS_GetRevision()    = %s\n", STOS_GetRevision()));
	STTBX_Print(("STPIO_GetRevision()   = %s\n", STPIO_GetRevision()));
	STTBX_Print(("STPTI_GetRevision()   = %s\n", STPTI_GetRevision()));
	STTBX_Print(("STTBX_GetRevision()   = %s\n", STTBX_GetRevision()));
	STTBX_Print(("STTST_GetRevision()   = %s\n", STTST_GetRevision()));
	STTBX_Print(("STTTX_GetRevision()   = %s\n", STTTX_GetRevision()));	
	STTBX_Print(("STTUNER_GetRevision() = %s\n", STTUNER_GetRevision()));
	STTBX_Print(("STUART_GetRevision()  = %s\n", STUART_GetRevision()));
	STTBX_Print(("STVBI_GetRevision()   = %s\n", STVBI_GetRevision()));
	STTBX_Print(("STVID_GetRevision()   = %s\n", STVID_GetRevision()));
	STTBX_Print(("STVIN_GetRevision()   = %s\n", STVIN_GetRevision()));
	STTBX_Print(("STVMIX_GetRevision()  = %s\n", STVMIX_GetRevision()));
	STTBX_Print(("STVOUT_GetRevision()  = %s\n", STVOUT_GetRevision()));
	STTBX_Print(("STVTG_GetRevision()   = %s\n", STVTG_GetRevision()));

	STTBX_Print(("\n"));
#endif	
}

#if 0 // EXT_SHARE
/*------------------------------------------------------------------------------
 * Function : Statapi_Test
 *            Test STATAPI driver basic API
 * Input    : N/A
 * Output   : N/A
 * Return   : Error Code
 * -------------------------------------------------------------------------- */
ST_ErrorCode_t Statapi_Test(void)
{
    /* Parameters, buffers, and structures */
    ST_ErrorCode_t ST_ErrorCode;
    STATAPI_InitParams_t    InitParams;
    STATAPI_Handle_t        Handle;
    STATAPI_OpenParams_t    OpenParams;
    STATAPI_TermParams_t 	TermParams;
	ST_DeviceName_t         AtapiDevName = "ATAPI_0";
	U32 temp;
	
	ClockFrequency = ST_ClockInfo.HDDI;
	if (ClockFrequency == 0)
		ClockFrequency = ST_ClockInfo.CommsBlock;

    InitParams.DeviceType           = STATAPI_EMI_PIO4;
    InitParams.DriverPartition      = SystemPartition;
    InitParams.BaseAddress          = (volatile U32 *)0x43000000;
    InitParams.HW_ResetAddress      = (volatile U16 *)0x43000000;
    InitParams.InterruptNumber      = EXTERNAL_3_INTERRUPT;
    InitParams.InterruptLevel       = ATA_INTERRUPT_LEVEL; /* 6 */
    InitParams.ClockFrequency       = ClockFrequency;

    strcpy(InitParams.EVTDeviceName, "EVT_BACK");
	
    temp = STSYS_ReadRegDev32LE(0x41a00000); /* keep original value to write back */
	STSYS_WriteRegDev32LE(0x41a00000, 0x01010101);

    ST_ErrorCode = STATAPI_Init(AtapiDevName, &InitParams);
    if (ST_ErrorCode != ST_NO_ERROR)
    {   
		if (ST_ErrorCode == STATAPI_ERROR_DEVICE_NOT_PRESENT) {
	        STTBX_Report((STTBX_REPORT_LEVEL_ERROR, "STATAPI_Init()=%s",
	                      "STATAPI_ERROR_DEVICE_NOT_PRESENT "));
		}
		else {
	        STTBX_Report((STTBX_REPORT_LEVEL_ERROR, "STATAPI_Init()=%s",
	                      GetErrorText(ST_ErrorCode)));
		}
    }
	else
	{         
        STTBX_Report((STTBX_REPORT_LEVEL_INFO, "STATAPI_Init()=OK",
                      GetErrorText(ST_ErrorCode)));
    }

    OpenParams.DeviceAddress = STATAPI_DEVICE_0;
	if (ST_ErrorCode == ST_NO_ERROR)
	{
	    ST_ErrorCode = STATAPI_Open(AtapiDevName, &OpenParams, &Handle);
	    if (ST_ErrorCode != ST_NO_ERROR)
	    {         
	        STTBX_Report((STTBX_REPORT_LEVEL_ERROR, "STATAPI_Open()=%s",
	                      GetErrorText(ST_ErrorCode)));
	    }
		else
		{         
	        STTBX_Report((STTBX_REPORT_LEVEL_INFO, "STATAPI_Open()=OK",
	                      GetErrorText(ST_ErrorCode)));
	    }
	}

	if (ST_ErrorCode == ST_NO_ERROR)
	{
	    ST_ErrorCode = STATAPI_Close(Handle);
	    if (ST_ErrorCode != ST_NO_ERROR)
	    {         
	        STTBX_Report((STTBX_REPORT_LEVEL_ERROR, "STATAPI_Close()=%s",
	                      GetErrorText(ST_ErrorCode)));
	    }
		else
		{         
	        STTBX_Report((STTBX_REPORT_LEVEL_INFO, "STATAPI_Close()=OK",
	                      GetErrorText(ST_ErrorCode)));
	    }
	}

	if (ST_ErrorCode == ST_NO_ERROR)
	{
	    TermParams.ForceTerminate = TRUE;
	    ST_ErrorCode = STATAPI_Term(AtapiDevName, &TermParams);
	    if (ST_ErrorCode != ST_NO_ERROR)
	    {         
	        STTBX_Report((STTBX_REPORT_LEVEL_ERROR, "STATAPI_Term()=%s",
	                      GetErrorText(ST_ErrorCode)));
	    }
		else
		{         
	        STTBX_Report((STTBX_REPORT_LEVEL_INFO, "STATAPI_Term()=OK",
	                      GetErrorText(ST_ErrorCode)));
	    }
	}

	STSYS_WriteRegDev32LE(0x41a00000, temp);

    return ST_ErrorCode;
} /* Statapi_Test () */


/*------------------------------------------------------------------------------
 * Function : Stpccrd_Test
 *            Test STPCCRD driver basic API
 * Input    : N/A
 * Output   : N/A
 * Return   : Error Code
 * -------------------------------------------------------------------------- */
ST_ErrorCode_t Stpccrd_Test(void)
{
    /* Parameters, buffers, and structures */
    ST_ErrorCode_t          ST_ErrorCode;
	STPCCRD_InitParams_t	PCCRD_InitParams;
    STPCCRD_OpenParams_t    OpenParams;
    STPCCRD_Handle_t        Handle;
    STPCCRD_TermParams_t 	TermParams;
    PCCRD_InitParams.DeviceCode = 0x41900000;
    PCCRD_InitParams.MaxHandle  = 2;
    PCCRD_InitParams.DriverPartition_p = SystemPartition;

    ST_ErrorCode = STPCCRD_Init("STPCCRD_0",&PCCRD_InitParams);
    if (ST_ErrorCode != ST_NO_ERROR)
    {
        STTBX_Report((STTBX_REPORT_LEVEL_ERROR, "STPCCRD_Init(%s)=%s",
                      "STPCCRD_Init", GetErrorText(ST_ErrorCode)));
    }
	else
	{         
        STTBX_Report((STTBX_REPORT_LEVEL_INFO, "STPCCRD_Init()=OK",
                      GetErrorText(ST_ErrorCode)));
    }
    
	if (ST_ErrorCode == ST_NO_ERROR)
	{
	    OpenParams.ModName = STPCCRD_MOD_A;
	    ST_ErrorCode = STPCCRD_Open("STPCCRD_0", &OpenParams, &Handle);
	    if (ST_ErrorCode != ST_NO_ERROR)
	    {
	        STTBX_Report((STTBX_REPORT_LEVEL_ERROR, "STPCCRD_Open(%s)=%s",
	                      "STPCCRD_Open", GetErrorText(ST_ErrorCode)));
	    }
		else
		{         
	        STTBX_Report((STTBX_REPORT_LEVEL_INFO, "STPCCRD_Open(%s)=OK",
	                      "STPCCRD_MOD_A", GetErrorText(ST_ErrorCode)));
	    }
 	}
 	         
	if (ST_ErrorCode == ST_NO_ERROR)
	{
	    ST_ErrorCode = STPCCRD_Close(Handle);
	    if (ST_ErrorCode != ST_NO_ERROR)
	    {
	        STTBX_Report((STTBX_REPORT_LEVEL_ERROR, "STPCCRD_Close(%s)=%s",
	                      "STPCCRD_Close", GetErrorText(ST_ErrorCode)));
	    }

⌨️ 快捷键说明

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