Software Drivers

vtc v6_0

This is the main header file of Xilinx MVI Video Timing Controller (VTC) device driver. The VTC device detects video signals, independently overrides any one of them, re-generates video signals with +/- delay and with polarity inversion, and generates up to 16 one cycle Frame Sync outputs.

The device has the following main features:

For a full description of VTC features, please see the hardware specification.

Interrupt Service

The interrupt types supported are:

Software Initialization

The application needs to do following steps in order for preparing the VTC to be ready to process video signal handling.

Examples

An example is provided with this driver to demonstrate the driver usage.

Cache Coherency

Alignment

Limitations

BUS Interface

 MODIFICATION HISTORY:

 Ver   Who  Date       Changes
 ----- ---- --------    -----------------------------------------------
 1.00a xd   08/05/08    First release
 1.01a xd   07/23/10    Added GIER; Added more h/w generic info into
                        xparameters.h; Feed callbacks with pending
                        interrupt info. Added Doxygen & Version support
 2.00a xd   05/13/11    1. Renamed to "Video Timing Controller"
                        2. Added Generator/Detector VBlank/VSync
                           Horizontal offset setup/fetch support;
                        3. Renamed the IP to support to be axi_vtc;
                        4. Supported sync between generator and detector
                           with addition of new XVtc_EnableSync() and
                           XVtc_DisableSync() functions;
                        5. Renamed XVtc_SetSync() to XVtc_SetFSync();
                        6. Renamed XVtc_GetSync() to XVtc_GetFSync();
                        7. Removed unnecessary register write in
                           XVtc_Reset();
                        8. Corrected driver name in .mdd file
                        9. Updated register bit definition(a few fields grow
                           from 12 to 13 bit wide)
 2.00a cm   05/25/11    1. Renamed XVtc_SetSkip() to XVtc_SetSkipLine();
                        2. Renamed XVtc_GetSkip() to XVtc_GetSkipLine();
                        3. Added XVtc_SetSkipPixel();
                        4. Added XVtc_GetSkipPixel();
 2.00a cm   06/16/12    1. Added missing xil_assert.h include
 2.00a cm   07/25/12    1. Removed unused XVtc_IntrSetLockPolarity() function
 3.00a cm   08/02/12    1. Added the XVtc_Sync_Reset() frame sync'ed SW 
                           reset function.
 3.00a cjm  08/02/12 Converted from xio.h to xil_io.h, translating
                     basic types, MB cache functions, exceptions and
                     assertions to xil_io format. 
                     Replaced the following 
                     "XExc_Init" -> "Xil_ExceptionInit"
                     "XExc_RegisterHandler" -> "Xil_ExceptionRegisterHandler"
                     "XEXC_ID_NON_CRITICAL_INT" -> "XIL_EXCEPTION_ID_INT"
                     "XExceptionHandler" -> "Xil_ExceptionHandler"
                     "XExc_mEnableExceptions" -> "Xil_ExceptionEnable"
                     "XEXC_NON_CRITICAL" -> "XIL_EXCEPTION_NON_CRITICAL"
                     "XExc_DisableExceptions" -> "Xil_ExceptionDisable"
                     "XExc_RemoveHandler" -> "Xil_ExceptionRemoveHandler"
                     "microblaze_enable_interrupts" -> "Xil_ExceptionEnable"
                     "microblaze_disable_interrupts" -> "Xil_ExceptionDisable"

                     "XCOMPONENT_IS_STARTED" -> "XIL_COMPONENT_IS_STARTED"
                     "XCOMPONENT_IS_READY" -> "XIL_COMPONENT_IS_READY"

                     "XASSERT_NONVOID" -> "Xil_AssertNonvoid"
                     "XASSERT_VOID_ALWAYS" -> "Xil_AssertVoidAlways"
                     "XASSERT_VOID" -> "Xil_AssertVoid"
                     "Xil_AssertVoid_ALWAYS" -> "Xil_AssertVoidAlways" 
                     "XAssertStatus" -> "Xil_AssertStatus"
                     "XAssertSetCallback" -> "Xil_AssertCallback"

                     "XASSERT_OCCURRED" -> "XIL_ASSERT_OCCURRED"
                     "XASSERT_NONE" -> "XIL_ASSERT_NONE"

                     "microblaze_disable_dcache" -> "Xil_DCacheDisable"
                     "microblaze_enable_dcache" -> "Xil_DCacheEnable"
                     "microblaze_enable_icache" -> "Xil_ICacheEnable"
                     "microblaze_disable_icache" -> "Xil_ICacheDisable"
                     "microblaze_init_dcache_range" -> "Xil_DCacheInvalidateRange"

                     "XCache_DisableDCache" -> "Xil_DCacheDisable"
                     "XCache_DisableICache" -> "Xil_ICacheDisable"
                     "XCache_EnableDCache" -> "Xil_DCacheEnableRegion"
                     "XCache_EnableICache" -> "Xil_ICacheEnableRegion"
                     "XCache_InvalidateDCacheLine" -> "Xil_DCacheInvalidateRange"

                     "XUtil_MemoryTest32" -> "Xil_TestMem32"
                     "XUtil_MemoryTest16" -> "Xil_TestMem16"
                     "XUtil_MemoryTest8" -> "Xil_TestMem8"

                     "xutil.h" -> "xil_testmem.h"

                     "xbasic_types.h" -> "xil_types.h"
                     "xio.h" -> "xil_io.h"

                     "XIo_In32" -> "Xil_In32"
                     "XIo_Out32" -> "Xil_Out32"

                     "XTRUE" -> "TRUE"
                     "XFALSE" -> "FALSE"
                     "XNULL" -> "NULL"

                     "Xuint8" -> "u8"
                     "Xuint16" -> "u16"
                     "Xuint32" -> "u32"
                     "Xint8" -> "char"
                     "Xint16" -> "short"
                     "Xint32" -> "long"
                     "Xfloat32" -> "float"
                     "Xfloat64" -> "double"
                     "Xboolean" -> "int"
                     "XTEST_FAILED" -> "XST_FAILURE"
                     "XTEST_PASSED" -> "XST_SUCCESS"
 4.00a cjm  02/07/13 Removed Unused Functions
                     XVtc_IntrEnableGlobal()
                     XVtc_IntrDisableGlobal()
 5.00a cjm  08/07/13 Replaced XVTC_RESET with XVTC_CTL
                     Replaced XVTC_RESET_RESET_MASK with XVTC_CTL_RESET_MASK
                     Replaced XVTC_SYNC_RESET_MASK with XVTC_CTL_SRST_MASK
 5.00a cjm  10/30/13 Replaced XVtc_RegUpdate() with XVtc_RegUpdateEnable()
                     Added XVtc_RegUpdateDisable()
                     Removed type parameter from XVtc_Enable()   
                     Added XVtc_EnableGenerator() to enable only the Generator  
                     Added XVtc_EnableDetector() to enable only the Detector
 5.00a cjm  11/01/13 Added Timing, VideoMode and Signal Conversion Functions:
                       XVtc_ConvVideoMode2Timing()
                       XVtc_ConvTiming2Signal()
                       XVtc_ConvSignal2Timing()
                       XVtc_ConvTiming2VideoMode()
                     Added Timing and Video Mode Set/Get Functions:
                       XVtc_SetGeneratorTiming()
                       XVtc_SetGeneratorVideoMode()
                       XVtc_GetGeneratorTiming()
                       XVtc_GetGeneratorVideoMode()
                       XVtc_GetDetectorTiming()
                       XVtc_GetDetectorVideoMode()
 6.0   adk  19/12/13 Updated as per the New Tcl API's

 
Copyright @ 1995-2014 Xilinx, Inc. All rights reserved.