/* This function initializes the VTC core. This function must be called prior to using the VTC core. Initialization of the VTC includes setting up the instance data, and ensuring the hardware is in a quiescent state. */
int XVtc_CfgInitialize(XVtc *InstancePtr, XVtc_Config *CfgPtr, UINTPTR EffectiveAddr)
/* This function initializes the VTC core. This function must be called prior to using the VTC core. Initialization of the VTC includes setting up the instance data, and ensuring the hardware is in a quiescent state. */
int XVtc_CfgInitialize(XVtc *InstancePtr, XVtc_Config *CfgPtr, UINTPTR EffectiveAddr)
{
	Xil_AssertNonvoid(InstancePtr != NULL);
	Xil_AssertNonvoid(CfgPtr != NULL);
	Xil_AssertNonvoid((u32 *)EffectiveAddr != NULL);
	memset((void *)InstancePtr, 0, sizeof(XVtc));
	memcpy((void *)&(InstancePtr->Config), (const void *)CfgPtr,
			   sizeof(XVtc_Config));
	InstancePtr->Config.BaseAddress = EffectiveAddr;
	InstancePtr->FrameSyncCallBack = (XVtc_CallBack) StubCallBack;
	InstancePtr->LockCallBack = (XVtc_CallBack) StubCallBack;
	InstancePtr->DetectorCallBack = (XVtc_CallBack) StubCallBack;
	InstancePtr->GeneratorCallBack = (XVtc_CallBack) StubCallBack;
	InstancePtr->ErrCallBack = (XVtc_ErrorCallBack) StubErrCallBack;
	InstancePtr->IsReady = (u32)(XIL_COMPONENT_IS_READY);
	return XST_SUCCESS;
}