vtc
Vitis Drivers API Documentation
Overview

Data Structures

struct  XVtc_Config
 This typedef contains configuration information for a VTC core. More...
 
struct  XVtc_Polarity
 This typedef contains Polarity configuration information for a VTC core. More...
 
struct  XVtc_SourceSelect
 This typedef contains Source Selection configuration information for a VTC core. More...
 
struct  XVtc_Signal
 This typedef contains the VTC signal configuration used by the Generator/Detector modules in a VTC device. More...
 
struct  XVtc_HoriOffsets
 This typedef contains Detector/Generator VBlank/VSync Horizontal Offset configuration information for a VTC device. More...
 
struct  XVtc_Timing
 This typedef contains Timing (typically in Display Timing) format configuration information for the VTC core. More...
 
struct  XVtc
 The XVtc driver instance data. More...
 

Macros

#define XVTC_H_
 Prevent circular inclusions by using protection macros. More...
 
#define XVtc_Reset(InstancePtr)
 This function macro resets the VTC core. More...
 
#define XVtc_SyncReset(InstancePtr)
 This function macro resets the VTC core after the next input frame is complete. More...
 
#define XVtc_EnableSync(InstancePtr)
 This function macro enables synchronization of the Generator with the Detector on the given VTC core. More...
 
#define XVtc_RegUpdateEnable(InstancePtr)
 This function macro enables updating timing registers at the end of each Generator frame. More...
 
#define XVtc_RegUpdateDisable(InstancePtr)
 This function macro disables updating timing registers at the end of each Generator frame. More...
 
#define XVtc_DisableSync(InstancePtr)
 This function macro disables synchronization of the Generator with the Detector on the given VTC core. More...
 
#define XVtc_GetDetectionStatus(InstancePtr)   XVtc_ReadReg((InstancePtr)->Config.BaseAddress, (XVTC_DTSTAT_OFFSET))
 This function macro gets the status of the Detector in the VTC core. More...
 
#define XVtc_IntrEnable(InstancePtr, IntrType)
 This function macro enables individual interrupts of the VTC core by updating the IRQ_ENABLE register. More...
 
#define XVtc_IntrDisable(InstancePtr, IntrType)
 This function macro disables individual interrupts of the VTC core by updating the IRQ_ENABLE register. More...
 
#define XVtc_StatusGetPending(InstancePtr)
 This function macro returns the pending interrupt status of the VTC core read from the Status register. More...
 
#define XVtc_IntrGetPending(InstancePtr)
 This function macro returns the pending interrupts of the VTC core for the interrupts that have been enabled. More...
 
#define XVtc_IntrClear(InstancePtr, IntrType)
 This function macro clears/acknowledges pending interrupts of the VTC core in the Status register. More...
 
#define XVtc_Sync_Reset   XVtc_SyncReset
 This function macro resets the VTC core after the next input frame is complete. More...
 
#define XVTC_HW_H_
 prevent circular inclusions by using protection macros More...
 

Typedefs

typedef void(* XVtc_CallBack )(void *CallBackRef, u32 Mask)
 Callback type for all interrupts except error interrupt. More...
 
typedef void(* XVtc_ErrorCallBack )(void *CallBackRef, u32 ErrorMask)
 Callback type for Error interrupt. More...
 

Enumerations

enum  XVtc_AdaptiveSyncMode
 This typedef enumerates the list of vertical front porch stretch mechanism supported by VTC core. More...
 

Functions

int XVtc_CfgInitialize (XVtc *InstancePtr, XVtc_Config *CfgPtr, UINTPTR EffectiveAddr)
 This function initializes the VTC core. More...
 
void XVtc_EnableGenerator (XVtc *InstancePtr)
 This function enables the VTC Generator core. More...
 
void XVtc_EnableDetector (XVtc *InstancePtr)
 This function enables the VTC Detector core. More...
 
void XVtc_Enable (XVtc *InstancePtr)
 This function enables the Detector and Generator at same time of the VTC core. More...
 
void XVtc_DisableGenerator (XVtc *InstancePtr)
 This function disables the VTC Generator core. More...
 
void XVtc_DisableDetector (XVtc *InstancePtr)
 This function disables the VTC Detector core. More...
 
void XVtc_Disable (XVtc *InstancePtr)
 This function disables the Detector and Generator at same time of the VTC core. More...
 
void XVtc_SetPolarity (XVtc *InstancePtr, XVtc_Polarity *PolarityPtr)
 This function sets up the output polarity of the VTC core. More...
 
void XVtc_GetPolarity (XVtc *InstancePtr, XVtc_Polarity *PolarityPtr)
 This function gets the output polarity setting used by the VTC core. More...
 
void XVtc_GetDetectorPolarity (XVtc *InstancePtr, XVtc_Polarity *PolarityPtr)
 This function gets the input polarity setting used by the VTC core. More...
 
void XVtc_SetSource (XVtc *InstancePtr, XVtc_SourceSelect *SourcePtr)
 This function sets up the source selecting of the VTC core. More...
 
void XVtc_GetSource (XVtc *InstancePtr, XVtc_SourceSelect *SourcePtr)
 This function gets the source select setting used by the VTC core. More...
 
void XVtc_SetSkipLine (XVtc *InstancePtr, int GeneratorChromaSkip)
 This function sets up the line skip setting of the Generator in the VTC core. More...
 
void XVtc_GetSkipLine (XVtc *InstancePtr, int *GeneratorChromaSkipPtr)
 This function gets the line skip setting used by the Generator in the VTC core. More...
 
void XVtc_SetSkipPixel (XVtc *InstancePtr, int GeneratorChromaSkip)
 This function sets up the pixel skip setting of the Generator in the VTC core. More...
 
void XVtc_GetSkipPixel (XVtc *InstancePtr, int *GeneratorChromaSkipPtr)
 This function gets the pixel skip setting used by the Generator in the VTC core. More...
 
void XVtc_SetDelay (XVtc *InstancePtr, int VertDelay, int HoriDelay)
 This function sets up the Generator delay setting of the VTC core. More...
 
void XVtc_GetDelay (XVtc *InstancePtr, int *VertDelayPtr, int *HoriDelayPtr)
 This function gets the Generator delay setting used by the VTC core. More...
 
void XVtc_SetFSync (XVtc *InstancePtr, u16 FrameSyncIndex, u16 VertStart, u16 HoriStart)
 This function sets up the SYNC setting of a frame sync used by the VTC core. More...
 
void XVtc_GetFSync (XVtc *InstancePtr, u16 FrameSyncIndex, u16 *VertStartPtr, u16 *HoriStartPtr)
 This function gets the SYNC setting of a frame sync used by the VTC core. More...
 
void XVtc_SetGeneratorHoriOffset (XVtc *InstancePtr, XVtc_HoriOffsets *HoriOffsets)
 This function sets the VBlank/VSync Horizontal Offsets for the Generator in a VTC device. More...
 
void XVtc_GetGeneratorHoriOffset (XVtc *InstancePtr, XVtc_HoriOffsets *HoriOffsets)
 This function gets the VBlank/VSync Horizontal Offsets currently used by the Generator in the VTC core. More...
 
void XVtc_GetDetectorHoriOffset (XVtc *InstancePtr, XVtc_HoriOffsets *HoriOffsets)
 This function gets the VBlank/VSync Horizontal Offsets detected by the Detector in the VTC core. More...
 
void XVtc_SetGenerator (XVtc *InstancePtr, XVtc_Signal *SignalCfgPtr)
 This function sets up VTC signal to be used by the Generator module in the VTC core. More...
 
void XVtc_GetGenerator (XVtc *InstancePtr, XVtc_Signal *SignalCfgPtr)
 This function gets the VTC signal setting used by the Generator module in the VTC core. More...
 
void XVtc_GetDetector (XVtc *InstancePtr, XVtc_Signal *SignalCfgPtr)
 This function gets the VTC signal setting used by the Detector module in the VTC core. More...
 
u32 XVtc_GetVersion (XVtc *InstancePtr)
 This function facilitates software identification of exact version of the VTC hardware (h/w). More...
 
void XVtc_ConvVideoMode2Timing (XVtc *InstancePtr, u16 Mode, XVtc_Timing *TimingPtr)
 This function converts the video mode integer into the video timing information stored within the XVtc_Timing pointer. More...
 
void XVtc_ConvTiming2Signal (XVtc *InstancePtr, XVtc_Timing *TimingPtr, XVtc_Signal *SignalCfgPtr, XVtc_HoriOffsets *HOffPtr, XVtc_Polarity *PolarityPtr)
 This function converts the video timing structure into the VTC signal configuration structure, horizontal offsets structure and the polarity structure. More...
 
void XVtc_ConvSignal2Timing (XVtc *InstancePtr, XVtc_Signal *SignalCfgPtr, XVtc_HoriOffsets *HOffPtr, XVtc_Polarity *PolarityPtr, XVtc_Timing *TimingPtr)
 This function converts the VTC signal structure, horizontal offsets structure and the polarity structure into the Video Timing structure. More...
 
u16 XVtc_ConvTiming2VideoMode (XVtc *InstancePtr, XVtc_Timing *TimingPtr)
 This function converts the video timing structure into predefined video mode values returned as a short integer. More...
 
void XVtc_SetGeneratorTiming (XVtc *InstancePtr, XVtc_Timing *TimingPtr)
 This function sets up the generator (Polarity, H/V values and horizontal offsets) by reading the configuration from a video timing structure. More...
 
void XVtc_SetGeneratorVideoMode (XVtc *InstancePtr, u16 Mode)
 This function sets up the generator (Polarity, H/V values and horizontal offsets) by reading the configuration from a video mode short integer. More...
 
void XVtc_GetGeneratorTiming (XVtc *InstancePtr, XVtc_Timing *TimingPtr)
 This function gets the video timing structure settings currently used by generator in the VTC core. More...
 
u16 XVtc_GetGeneratorVideoMode (XVtc *InstancePtr)
 This function gets the video mode currently used by the generator in the VTC core. More...
 
void XVtc_GetDetectorTiming (XVtc *InstancePtr, XVtc_Timing *TimingPtr)
 This function gets the video timing structure settings currently reported by the detector in the VTC core. More...
 
u16 XVtc_GetDetectorVideoMode (XVtc *InstancePtr)
 This function gets the video mode currently reported by the detector in the VTC core. More...
 
void XVtc_SetAdaptiveSyncMode (XVtc *InstancePtr, XVtc_AdaptiveSyncMode Mode)
 This function sets the vertical front porch stretch mechanism in VTC core to support Adaptive-Sync feature. More...
 
void XVtc_DisableAdaptiveSync (XVtc *InstancePtr)
 This function disable Adaptive-Sync in VTC core. More...
 
void XVtc_SetVfpStretchLimit (XVtc *InstancePtr, u32 StretchLimit)
 This function sets vertical front porch stretch limit. More...
 
XVtc_ConfigXVtc_LookupConfig (u16 DeviceId)
 This function returns a reference to an XVtc_Config structure based on the core id, DeviceId. More...
 
void XVtc_IntrHandler (void *InstancePtr)
 This function is the interrupt handler for the VTC core. More...
 
int XVtc_SetCallBack (XVtc *InstancePtr, u32 HandlerType, void *CallBackFunc, void *CallBackRef)
 This routine installs an asynchronous callback function for the given HandlerType: More...
 
int XVtc_SelfTest (XVtc *InstancePtr)
 This function reads version register of the VTC core and compares with zero as part of self test. More...
 

Interrupt Types for setting up Callbacks

#define XVTC_HANDLER_FRAMESYNC   1
 A frame sync event interrupt type. More...
 
#define XVTC_HANDLER_LOCK   2
 A signal lock event interrupt type. More...
 
#define XVTC_HANDLER_DETECTOR   3
 A detector event interrupt type. More...
 
#define XVTC_HANDLER_GENERATOR   4
 A generator event interrupt type. More...
 
#define XVTC_HANDLER_ERROR   5
 An error condition interrupt type. More...
 

Options for enabling VTC modules

#define XVTC_EN_GENERATOR   1
 To enable generator. More...
 
#define XVTC_EN_DETECTOR   2
 To enable detector. More...
 

Address gap between two register next to each other

#define XVTC_REG_ADDRGAP   4
 Register address gap. More...
 
#define XVTC_VMODE_720P   1
 Video mode 720P. More...
 
#define XVTC_VMODE_1080P   2
 Video mode 1080P. More...
 
#define XVTC_VMODE_480P   3
 Video mode 480P. More...
 
#define XVTC_VMODE_576P   4
 Video mode 576P. More...
 
#define XVTC_VMODE_VGA   5
 Video mode VGA. More...
 
#define XVTC_VMODE_SVGA   6
 Video mode SVGA. More...
 
#define XVTC_VMODE_XGA   7
 Video mode XGA. More...
 
#define XVTC_VMODE_SXGA   8
 Video mode SXGA. More...
 
#define XVTC_VMODE_WXGAPLUS   9
 Video mode WXGAPlus. More...
 
#define XVTC_VMODE_WSXGAPLUS   10
 Video mode WSXGAPlus. More...
 
#define XVTC_VMODE_1080I   100
 Video mode 1080I. More...
 
#define XVTC_VMODE_NTSC   101
 Video mode NTSC. More...
 
#define XVTC_VMODE_PAL   102
 Video mode PAL. More...
 

Compatibility Macros

#define XVtc_RegUpdate   XVtc_RegUpdateEnable
 

Core Register Offsets

#define XVTC_CTL_OFFSET   0x000
 Control Register Offset. More...
 
#define XVTC_ISR_OFFSET   0x004
 Status/Interrupt Status Register Offset. More...
 
#define XVTC_ERROR_OFFSET   0x008
 Error Register Offset. More...
 
#define XVTC_IER_OFFSET   0x00C
 Interrupt Enable Register Offset. More...
 
#define XVTC_VER_OFFSET   0x010
 Version Register Offset. More...
 
#define XVTC_ADAPTIVE_CTL_OFFSET   0x014
 Adaptive-Sync Control Offset. More...
 
#define XVTC_VFP_STRETCH_OFFSET   0x18
 VFP Stretch Limit Offset. More...
 
#define XVTC_DASIZE_OFFSET   0x020
 Detector Active Size Offset. More...
 
#define XVTC_DTSTAT_OFFSET   0x024
 Detector Timing Status Offset. More...
 
#define XVTC_DFENC_OFFSET   0x028
 Detector Encoding Offset. More...
 
#define XVTC_DPOL_OFFSET   0x02C
 Detector Polarity Offset. More...
 
#define XVTC_DHSIZE_OFFSET   0x030
 Detector Frame Horizontal Size Offset. More...
 
#define XVTC_DVSIZE_OFFSET   0x034
 Detector Frame Vertical Size Offset. More...
 
#define XVTC_DHSYNC_OFFSET   0x038
 Detector Horizontal sync Offset. More...
 
#define XVTC_DVBHOFF_OFFSET   0x03C
 Detector Frame/F0 Vblank Horizontal Offset. More...
 
#define XVTC_DVSYNC_OFFSET   0x040
 Detector Frame/F0 Vertical Sync Offset. More...
 
#define XVTC_DVSHOFF_OFFSET   0x044
 Detector Frame/F0 Vsync Horizontal Offset. More...
 
#define XVTC_DVBHOFF_F1_OFFSET   0x048
 Detector Field 1 Vblank Horizontal Offset. More...
 
#define XVTC_DVSYNC_F1_OFFSET   0x04C
 Detector Field 1 Vertical Sync Offset. More...
 
#define XVTC_DVSHOFF_F1_OFFSET   0x050
 Detector Field 1 Vsync Horizontal Offset. More...
 
#define XVTC_GASIZE_OFFSET   0x060
 Generator Active Size Offset. More...
 
#define XVTC_GTSTAT_OFFSET   0x064
 Generator Timing Status Offset. More...
 
#define XVTC_GFENC_OFFSET   0x068
 Generator Encoding Offset. More...
 
#define XVTC_GPOL_OFFSET   0x06C
 Generator Polarity Offset. More...
 
#define XVTC_GHSIZE_OFFSET   0x070
 Generator Frame Horizontal Size Offset. More...
 
#define XVTC_GVSIZE_OFFSET   0x074
 Generator Frame Vertical Size Offset. More...
 
#define XVTC_GHSYNC_OFFSET   0x078
 Generator Horizontal Sync Offset. More...
 
#define XVTC_GVBHOFF_OFFSET   0x07C
 Generator Frame/F0 Vblank Horizontal Offset. More...
 
#define XVTC_GVSYNC_OFFSET   0x080
 Generator Frame/F0 Vertical Sync Offset. More...
 
#define XVTC_GVSHOFF_OFFSET   0x084
 Generator Frame/F0 Vsync horizontal Offset. More...
 
#define XVTC_GVBHOFF_F1_OFFSET   0x088
 Generator Field 1 Vblank Horizontal Offset. More...
 
#define XVTC_GVSYNC_F1_OFFSET   0x08C
 Generator Field 1 Vertical Sync Offset. More...
 
#define XVTC_GVSHOFF_F1_OFFSET   0x090
 Generator Field 1 Vsync horizontal Offset. More...
 
#define XVTC_GASIZE_F1_OFFSET   0x094
 Generator Field 1 Active Size Offset. More...
 
#define XVTC_FS00_OFFSET   0x100
 Frame Sync 00 Config Register Offset. More...
 
#define XVTC_FS01_OFFSET   0x104
 Frame Sync 01 Config Register Offset. More...
 
#define XVTC_FS02_OFFSET   0x108
 Frame Sync 02 Config Register Offset. More...
 
#define XVTC_FS03_OFFSET   0x10C
 Frame Sync 03 Config Register Offset. More...
 
#define XVTC_FS04_OFFSET   0x110
 Frame Sync 04 Config Register Offset. More...
 
#define XVTC_FS05_OFFSET   0x114
 Frame Sync 05 Config Register Offset. More...
 
#define XVTC_FS06_OFFSET   0x118
 Frame Sync 06 Config Register Offset. More...
 
#define XVTC_FS07_OFFSET   0x11C
 Frame Sync 07 Config Register Offset. More...
 
#define XVTC_FS08_OFFSET   0x120
 Frame Sync 08 Config Register Offset. More...
 
#define XVTC_FS09_OFFSET   0x124
 Frame Sync 09 Config Register Offset. More...
 
#define XVTC_FS10_OFFSET   0x128
 Frame Sync 10 Config Register Offset. More...
 
#define XVTC_FS11_OFFSET   0x12C
 Frame Sync 11 Config Register Offset. More...
 
#define XVTC_FS12_OFFSET   0x130
 Frame Sync 12 Config Register Offset. More...
 
#define XVTC_FS13_OFFSET   0x134
 Frame Sync 13 Config Register Offset. More...
 
#define XVTC_FS14_OFFSET   0x138
 Frame Sync 14 Config Register Offset. More...
 
#define XVTC_FS15_OFFSET   0x13C
 Frame Sync 15 Config Register Offset. More...
 
#define XVTC_GGD_OFFSET   0x140
 Generator Global Delay Register Offset. More...
 

Control Register Bit Definitions

#define XVTC_CTL_RESET_MASK   0x80000000
 Software Reset Mask. More...
 
#define XVTC_CTL_SRST_MASK   0x40000000
 Frame Sync'ed Software Reset Mask. More...
 
#define XVTC_CTL_FIPSS_MASK   0x04000000
 Field ID Output Polarity Source Mask. More...
 
#define XVTC_CTL_ACPSS_MASK   0x02000000
 Active Chroma Output Polarity Source Mask. More...
 
#define XVTC_CTL_AVPSS_MASK   0x01000000
 Active Video Output Polarity Source Mask. More...
 
#define XVTC_CTL_HSPSS_MASK   0x00800000
 Horizontal Sync Output Polarity Source Mask. More...
 
#define XVTC_CTL_VSPSS_MASK   0x00400000
 Vertical Sync Output Polarity Source Mask. More...
 
#define XVTC_CTL_HBPSS_MASK   0x00200000
 Horizontal Blank Output Polarity Source Mask. More...
 
#define XVTC_CTL_VBPSS_MASK   0x00100000
 Vertical Blank Output Polarity Source Mask. More...
 
#define XVTC_CTL_INTERLACE_MASK   0x00080000
 Interlaced mode. More...
 
#define XVTC_CTL_VCSS_MASK   0x00040000
 Generator Chroma Polarity and Encoding Source Select Mask. More...
 
#define XVTC_CTL_VASS_MASK   0x00020000
 Generator Vertical Blank Offset Source Select Mask. More...
 
#define XVTC_CTL_VBSS_MASK   0x00010000
 Generator Vertical Sync End (Back porch start) Source Select Mask. More...
 
#define XVTC_CTL_VSSS_MASK   0x00008000
 Generator Vertical Sync Start Source Select Mask. More...
 
#define XVTC_CTL_VFSS_MASK   0x00004000
 Generator Vertical Active Size Source Select Mask. More...
 
#define XVTC_CTL_VTSS_MASK   0x00002000
 Generator Vertical Total Source Select (Frame Size) Mask. More...
 
#define XVTC_CTL_HBSS_MASK   0x00000800
 Horizontal Back Porch Start Register Source Select (Sync End) Mask. More...
 
#define XVTC_CTL_HSSS_MASK   0x00000400
 Horizontal Sync Start Register Source Select Mask. More...
 
#define XVTC_CTL_HFSS_MASK   0x00000200
 Horizontal Front Porch Start Register Source Select (Active Size) Mask. More...
 
#define XVTC_CTL_HTSS_MASK   0x00000100
 Horizontal Total Register Source Select (Frame Size) Mask. More...
 
#define XVTC_CTL_ALLSS_MASK   0x03FDEF00
 Bit mask for all source select Mask. More...
 
#define XVTC_CTL_SE_MASK   0x00000020
 Enable Sync with Detector. More...
 
#define XVTC_CTL_DE_MASK   0x00000008
 VTC Detector Enable. More...
 
#define XVTC_CTL_GE_MASK   0x00000004
 VTC Generator Enable. More...
 
#define XVTC_CTL_RU_MASK   0x00000002
 VTC Register Update. More...
 
#define XVTC_CTL_SW_MASK   0x00000001
 VTC Core Enable. More...
 
#define XVTC_ADAPTIVE_ENABLE_MASK   0x00000001
 VTC Adaptive-Sync enable mask. More...
 
#define XVTC_ADAPTIVE_MODE_MASK   0x00000002
 VTC Adaptive-Sync mode mask. More...
 

Interrupt Status/Enable Register Bit Definitions

#define XVTC_IXR_FSYNC15_MASK   0x80000000
 Frame Sync Interrupt 15 Mask. More...
 
#define XVTC_IXR_FSYNC14_MASK   0x40000000
 Frame Sync Interrupt 14 Mask. More...
 
#define XVTC_IXR_FSYNC13_MASK   0x20000000
 Frame Sync Interrupt 13 Mask. More...
 
#define XVTC_IXR_FSYNC12_MASK   0x10000000
 Frame Sync Interrupt 12 Mask. More...
 
#define XVTC_IXR_FSYNC11_MASK   0x08000000
 Frame Sync Interrupt 11 Mask. More...
 
#define XVTC_IXR_FSYNC10_MASK   0x04000000
 Frame Sync Interrupt 10 Mask. More...
 
#define XVTC_IXR_FSYNC09_MASK   0x02000000
 Frame Sync Interrupt 09 Mask. More...
 
#define XVTC_IXR_FSYNC08_MASK   0x01000000
 Frame Sync Interrupt 08 Mask. More...
 
#define XVTC_IXR_FSYNC07_MASK   0x00800000
 Frame Sync Interrupt 07 Mask. More...
 
#define XVTC_IXR_FSYNC06_MASK   0x00400000
 Frame Sync Interrupt 06 Mask. More...
 
#define XVTC_IXR_FSYNC05_MASK   0x00200000
 Frame Sync Interrupt 05 Mask. More...
 
#define XVTC_IXR_FSYNC04_MASK   0x00100000
 Frame Sync Interrupt 04 Mask. More...
 
#define XVTC_IXR_FSYNC03_MASK   0x00080000
 Frame Sync Interrupt 03 Mask. More...
 
#define XVTC_IXR_FSYNC02_MASK   0x00040000
 Frame Sync Interrupt 02 Mask. More...
 
#define XVTC_IXR_FSYNC01_MASK   0x00020000
 Frame Sync Interrupt 01 Mask. More...
 
#define XVTC_IXR_FSYNC00_MASK   0x00010000
 Frame Sync Interrupt 00 Mask. More...
 
#define XVTC_IXR_FSYNCALL_MASK   0xFFFF0000
 All Frame Sync Interrupt 0-15 Mask. More...
 
#define XVTC_IXR_G_AV_MASK   0x00002000
 Generator Active Video Intr Mask. More...
 
#define XVTC_IXR_G_VBLANK_MASK   0x00001000
 Generator VBLANK Interrupt Mask. More...
 
#define XVTC_IXR_G_ALL_MASK   0x00003000
 All Generator interrupts Mask. More...
 
#define XVTC_IXR_D_AV_MASK   0x00000800
 Detector Active Video Interrupt Mask. More...
 
#define XVTC_IXR_D_VBLANK_MASK   0x00000400
 Detector VBLANK Interrupt Mask. More...
 
#define XVTC_IXR_D_ALL_MASK   0x00000C00
 All Detector Interrupts Mask. More...
 
#define XVTC_IXR_LOL_MASK   0x00000200
 Lock Loss Mask. More...
 
#define XVTC_IXR_LO_MASK   0x00000100
 Lock Mask. More...
 
#define XVTC_IXR_LOCKALL_MASK   0x00000300
 All Signal Lock interrupt Mask. More...
 
#define XVTC_IXR_ALLINTR_MASK
 Mask for all interrupts Mask. More...
 
#define XVTC_IXR_SPURIOUS_INTR_MASK   ~(XVTC_IXR_ALLINTR_MASK)
 

Error Register Bit Definitions

#define XVTC_ERR_ACL_MASK   0x00200000
 Active Chroma Signal Lock Mask. More...
 
#define XVTC_ERR_AVL_MASK   0x00100000
 Active Video Signal Lock Mask. More...
 
#define XVTC_ERR_HSL_MASK   0x00080000
 Horizontal Sync Signal Lock Mask. More...
 
#define XVTC_ERR_VSL_MASK   0x00040000
 Vertical Sync Signal Lock Mask. More...
 
#define XVTC_ERR_HBL_MASK   0x00020000
 Horizontal Blank Signal Lock Mask. More...
 
#define XVTC_ERR_VBL_MASK   0x00010000
 Vertical Blank Signal Lock Mask. More...
 

Version Register Bit Definition and Shifts

#define XVTC_VER_MAJOR_MASK   0xFF000000
 Major Version Mask. More...
 
#define XVTC_VER_MAJOR_SHIFT   24
 Major Version Bit Shift. More...
 
#define XVTC_VER_MINOR_MASK   0x00FF0000
 Minor Version Mask. More...
 
#define XVTC_VER_MINOR_SHIFT   16
 Minor Version Bit Shift. More...
 
#define XVTC_VER_REV_MASK   0x0000FF00
 Revision Version Mask. More...
 
#define XVTC_VER_REV_SHIFT   8
 Revision Version Bit Shift. More...
 
#define XVTC_VER_IREV_MASK   0x000000FF
 Internal Revision Version Mask. More...
 
#define XVTC_VER_IREV_SHIFT   0
 Internal Revision Bit Shift. More...
 

Generator/Detector Active Video Size Register Bit Definitions and

Shift

#define XVTC_ASIZE_VERT_MASK   0x3FFF0000
 Total number of lines (including blanking) for frame or field 1. More...
 
#define XVTC_ASIZE_VERT_SHIFT   16
 Bit shift for End Cycle or Line Count. More...
 
#define XVTC_ASIZE_HORI_MASK   0x00003FFF
 Horizontal Active Frame Size.The width of the frame without blanking in number of pixels or clocks. More...
 

Generator/Detector Status Bit Definitions

#define XVTC_STAT_AVIDEO_MASK   0x00000004
 Active Video Interrupt Status.Mask. More...
 
#define XVTC_STAT_VBLANK_MASK   0x00000002
 Vertical Blank Interrupt Status Mask. More...
 
#define XVTC_STAT_LOCKED_MASK   0x00000001
 Lock Status. More...
 

Generator/Detector Encoding Register Bit Definitions

#define XVTC_ENC_GACPS_MASK   0x00000200
 Generator Active Chroma Pixel Skip/Parity Mask. More...
 
#define XVTC_ENC_CPARITY_MASK   0x00000100
 Chroma Line Parity Mask. More...
 
#define XVTC_ENC_CPARITY_SHIFT   8
 Bit shift for Active Chroma Line Parity. More...
 
#define XVTC_ENC_FPARITY_MASK   0x00000080
 Field Parity Mask. More...
 
#define XVTC_ENC_PROG_MASK   0x00000040
 Progressive/Interlaced Mask. More...
 
#define XVTC_ENC_PROG_SHIFT   6
 Progressive/Interlaced Shift. More...
 
#define XVTC_ENC_GACLS_MASK   0x00000001
 Generator Active Chroma Line Skip/parity Mask. More...
 

Generator/Detector Polarity Register Bit Definitions

#define XVTC_POL_FIP_MASK   0x00000040
 Field ID Output Polarity Mask. More...
 
#define XVTC_POL_ACP_MASK   0x00000020
 Active Chroma Output Polarity Mask. More...
 
#define XVTC_POL_AVP_MASK   0x00000010
 Active Video Output Polarity Mask. More...
 
#define XVTC_POL_HSP_MASK   0x00000008
 Horizontal Sync Output Polarity Mask. More...
 
#define XVTC_POL_VSP_MASK   0x00000004
 Vertical Sync Output Polarity Mask. More...
 
#define XVTC_POL_HBP_MASK   0x00000002
 Horizontal Blank Output Polarity Mask. More...
 
#define XVTC_POL_VBP_MASK   0x00000001
 Vertical Blank Output Polarity Mask. More...
 
#define XVTC_POL_ALLP_MASK   0x0000007F
 Bit mask for all polarity bits Mask. More...
 

Generator/Detector Full Vertical Size Register Bit Definitions

and Shift

#define XVTC_VSIZE_F1_MASK   0x3FFF0000
 Total number of lines (including blanking) for frame or field 1. More...
 
#define XVTC_VSIZE_F1_SHIFT   16
 Bit shift for End Cycle or Line Count. More...
 
#define XVTC_VSIZE_F0_MASK   0x00003FFF
 Total number of lines (including blanking) for frame or field 0. More...
 

Generator/Detector Sync/Blank Register Bit Definitions and Shift

#define XVTC_SB_END_MASK   0x3FFF0000
 End cycle or line count of horizontal sync, vertical sync or vertical blank. More...
 
#define XVTC_SB_END_SHIFT   16
 Bit shift for End Cycle or Line Count. More...
 
#define XVTC_SB_START_MASK   0x00003FFF
 Start cycle or line count of horizontal sync, vertical sync or vertical blank. More...
 

Generator/Detector VBlank/VSync Horizontal Bit Definitions and Shift

#define XVTC_XVXHOX_HEND_MASK   0x3FFF0000
 Horizontal Offset End Mask. More...
 
#define XVTC_XVXHOX_HEND_SHIFT   16
 Horizontal End Shift. More...
 
#define XVTC_XVXHOX_HSTART_MASK   0x00003FFF
 Horizontal Offset Start Offset. More...
 

Frame Sync 00 - 15

#define XVTC_FSXX_VSTART_MASK   0x3FFF0000
 Vertical line count during which current Frame Sync is active Mask. More...
 
#define XVTC_FSXX_VSTART_SHIFT   16
 Bit shift for the vertical line count. More...
 
#define XVTC_FSXX_HSTART_MASK   0x00003FFF
 Horizontal cycle count during which current Frame Sync is active Mask. More...
 

VTC Generator Global Delay Bit Definition and Shift

#define XVTC_GGD_VDELAY_MASK   0x3FFF0000
 Total lines per frame to delay generator output Mask. More...
 
#define XVTC_GGD_VDELAY_SHIFT   16
 Bit shift for the total lines. More...
 
#define XVTC_GGD_HDELAY_MASK   0x00003FFF
 Total clock cycles per line to delay generator output Mask. More...
 

Compatibility Macros

#define XVTC_CTL   XVTC_CTL_OFFSET
 
#define XVTC_ISR   XVTC_ISR_OFFSET
 
#define XVTC_ERROR   XVTC_ERROR_OFFSET
 
#define XVTC_IER   XVTC_IER_OFFSET
 
#define XVTC_VER   XVTC_VER_OFFSET
 
#define XVTC_DASIZE   XVTC_DASIZE_OFFSET
 
#define XVTC_DTSTAT   XVTC_DTSTAT_OFFSET
 
#define XVTC_DFENC   XVTC_DFENC_OFFSET
 
#define XVTC_DPOL   XVTC_DPOL_OFFSET
 
#define XVTC_DHSIZE   XVTC_DHSIZE_OFFSET
 
#define XVTC_DVSIZE   XVTC_DVSIZE_OFFSET
 
#define XVTC_DHSYNC   XVTC_DHSYNC_OFFSET
 
#define XVTC_DVBHOFF   XVTC_DVBHOFF_OFFSET
 
#define XVTC_DVSYNC   XVTC_DVSYNC_OFFSET
 
#define XVTC_DVSHOFF   XVTC_DVSHOFF_OFFSET
 
#define XVTC_DVBHOFF_F1   XVTC_DVBHOFF_F1_OFFSET
 
#define XVTC_DVSYNC_F1   XVTC_DVSYNC_F1_OFFSET
 
#define XVTC_DVSHOFF_F1   XVTC_DVSHOFF_F1_OFFSET
 
#define XVTC_GASIZE   XVTC_GASIZE_OFFSET
 
#define XVTC_GTSTAT   XVTC_GTSTAT_OFFSET
 
#define XVTC_GFENC   XVTC_GFENC_OFFSET
 
#define XVTC_GPOL   XVTC_GPOL_OFFSET
 
#define XVTC_GHSIZE   XVTC_GHSIZE_OFFSET
 
#define XVTC_GVSIZE   XVTC_GVSIZE_OFFSET
 
#define XVTC_GHSYNC   XVTC_GHSYNC_OFFSET
 
#define XVTC_GVBHOFF   XVTC_GVBHOFF_OFFSET
 
#define XVTC_GVSYNC   XVTC_GVSYNC_OFFSET
 
#define XVTC_GVSHOFF   XVTC_GVSHOFF_OFFSET
 
#define XVTC_GVBHOFF_F1   XVTC_GVBHOFF_F1_OFFSET
 
#define XVTC_GVSYNC_F1   XVTC_GVSYNC_F1_OFFSET
 
#define XVTC_GVSHOFF_F1   XVTC_GVSHOFF_F1_OFFSET
 
#define XVTC_FS00   XVTC_FS00_OFFSET
 
#define XVTC_FS01   XVTC_FS01_OFFSET
 
#define XVTC_FS02   XVTC_FS02_OFFSET
 
#define XVTC_FS03   XVTC_FS03_OFFSET
 
#define XVTC_FS04   XVTC_FS04_OFFSET
 
#define XVTC_FS05   XVTC_FS05_OFFSET
 
#define XVTC_FS06   XVTC_FS06_OFFSET
 
#define XVTC_FS07   XVTC_FS07_OFFSET
 
#define XVTC_FS08   XVTC_FS08_OFFSET
 
#define XVTC_FS09   XVTC_FS09_OFFSET
 
#define XVTC_FS10   XVTC_FS10_OFFSET
 
#define XVTC_FS11   XVTC_FS11_OFFSET
 
#define XVTC_FS12   XVTC_FS12_OFFSET
 
#define XVTC_FS13   XVTC_FS13_OFFSET
 
#define XVTC_FS14   XVTC_FS14_OFFSET
 
#define XVTC_FS15   XVTC_FS15_OFFSET
 
#define XVTC_GGD   XVTC_GGD_OFFSET
 

Register Access Macro Definition

#define XVtc_In32   Xil_In32
 Input Operations. More...
 
#define XVtc_Out32   Xil_Out32
 Output Operations. More...
 
#define XVtc_ReadReg(BaseAddress, RegOffset)   XVtc_In32((BaseAddress) + ((u32)RegOffset))
 This function macro reads the given register. More...
 
#define XVtc_WriteReg(BaseAddress, RegOffset, Data)   XVtc_Out32((BaseAddress) + ((u32)RegOffset), (u32)(Data))
 Write the given register. More...
 

Macro Definition Documentation

#define XVTC_ADAPTIVE_CTL_OFFSET   0x014

Adaptive-Sync Control Offset.

Referenced by XVtc_DisableAdaptiveSync(), and XVtc_SetAdaptiveSyncMode().

#define XVTC_ADAPTIVE_ENABLE_MASK   0x00000001

VTC Adaptive-Sync enable mask.

Referenced by XVtc_DisableAdaptiveSync(), and XVtc_SetAdaptiveSyncMode().

#define XVTC_ADAPTIVE_MODE_MASK   0x00000002

VTC Adaptive-Sync mode mask.

Referenced by XVtc_SetAdaptiveSyncMode().

#define XVTC_ASIZE_HORI_MASK   0x00003FFF

Horizontal Active Frame Size.The width of the frame without blanking in number of pixels or clocks.

Referenced by XVtc_GetGenerator(), and XVtc_SetGenerator().

#define XVTC_ASIZE_VERT_MASK   0x3FFF0000

Total number of lines (including blanking) for frame or field 1.

Referenced by XVtc_GetGenerator(), and XVtc_SetGenerator().

#define XVTC_ASIZE_VERT_SHIFT   16

Bit shift for End Cycle or Line Count.

Referenced by XVtc_GetGenerator(), and XVtc_SetGenerator().

#define XVTC_CTL_ACPSS_MASK   0x02000000

Active Chroma Output Polarity Source Mask.

Referenced by XVtc_GetSource(), and XVtc_SetSource().

#define XVTC_CTL_ALLSS_MASK   0x03FDEF00

Bit mask for all source select Mask.

Referenced by XVtc_SetSource().

#define XVTC_CTL_AVPSS_MASK   0x01000000

Active Video Output Polarity Source Mask.

Referenced by XVtc_GetSource(), and XVtc_SetSource().

#define XVTC_CTL_DE_MASK   0x00000008

VTC Detector Enable.

Referenced by XVtc_DisableDetector(), and XVtc_EnableDetector().

#define XVTC_CTL_FIPSS_MASK   0x04000000

Field ID Output Polarity Source Mask.

Referenced by XVtc_GetSource(), and XVtc_SetSource().

#define XVTC_CTL_GE_MASK   0x00000004

VTC Generator Enable.

Referenced by XVtc_DisableGenerator(), and XVtc_EnableGenerator().

#define XVTC_CTL_HBPSS_MASK   0x00200000

Horizontal Blank Output Polarity Source Mask.

Referenced by XVtc_GetSource(), and XVtc_SetSource().

#define XVTC_CTL_HBSS_MASK   0x00000800

Horizontal Back Porch Start Register Source Select (Sync End) Mask.

Referenced by XVtc_GetSource(), and XVtc_SetSource().

#define XVTC_CTL_HFSS_MASK   0x00000200

Horizontal Front Porch Start Register Source Select (Active Size) Mask.

Referenced by XVtc_GetSource(), and XVtc_SetSource().

#define XVTC_CTL_HSPSS_MASK   0x00800000

Horizontal Sync Output Polarity Source Mask.

Referenced by XVtc_GetSource(), and XVtc_SetSource().

#define XVTC_CTL_HSSS_MASK   0x00000400

Horizontal Sync Start Register Source Select Mask.

Referenced by XVtc_GetSource(), and XVtc_SetSource().

#define XVTC_CTL_HTSS_MASK   0x00000100

Horizontal Total Register Source Select (Frame Size) Mask.

Referenced by XVtc_GetSource(), and XVtc_SetSource().

#define XVTC_CTL_INTERLACE_MASK   0x00080000

Interlaced mode.

Referenced by XVtc_GetSource(), and XVtc_SetSource().

#define XVTC_CTL_RESET_MASK   0x80000000

Software Reset Mask.

#define XVTC_CTL_RU_MASK   0x00000002

VTC Register Update.

#define XVTC_CTL_SE_MASK   0x00000020

Enable Sync with Detector.

#define XVTC_CTL_SRST_MASK   0x40000000

Frame Sync'ed Software Reset Mask.

#define XVTC_CTL_SW_MASK   0x00000001

VTC Core Enable.

Referenced by XVtc_Disable(), and XVtc_Enable().

#define XVTC_CTL_VASS_MASK   0x00020000

Generator Vertical Blank Offset Source Select Mask.

Referenced by XVtc_GetSource(), and XVtc_SetSource().

#define XVTC_CTL_VBPSS_MASK   0x00100000

Vertical Blank Output Polarity Source Mask.

Referenced by XVtc_GetSource(), and XVtc_SetSource().

#define XVTC_CTL_VBSS_MASK   0x00010000

Generator Vertical Sync End (Back porch start) Source Select Mask.

Referenced by XVtc_GetSource(), and XVtc_SetSource().

#define XVTC_CTL_VCSS_MASK   0x00040000

Generator Chroma Polarity and Encoding Source Select Mask.

Referenced by XVtc_GetSource(), and XVtc_SetSource().

#define XVTC_CTL_VFSS_MASK   0x00004000

Generator Vertical Active Size Source Select Mask.

Referenced by XVtc_GetSource(), and XVtc_SetSource().

#define XVTC_CTL_VSPSS_MASK   0x00400000

Vertical Sync Output Polarity Source Mask.

Referenced by XVtc_GetSource(), and XVtc_SetSource().

#define XVTC_CTL_VSSS_MASK   0x00008000

Generator Vertical Sync Start Source Select Mask.

Referenced by XVtc_GetSource(), and XVtc_SetSource().

#define XVTC_CTL_VTSS_MASK   0x00002000

Generator Vertical Total Source Select (Frame Size) Mask.

Referenced by XVtc_GetSource(), and XVtc_SetSource().

#define XVTC_DASIZE_OFFSET   0x020

Detector Active Size Offset.

Referenced by XVtc_GetDetector().

#define XVTC_DFENC_OFFSET   0x028

Detector Encoding Offset.

Referenced by XVtc_GetDetector().

#define XVTC_DHSIZE_OFFSET   0x030

Detector Frame Horizontal Size Offset.

Referenced by XVtc_GetDetector().

#define XVTC_DHSYNC_OFFSET   0x038

Detector Horizontal sync Offset.

Referenced by XVtc_GetDetector().

#define XVtc_DisableSync (   InstancePtr)
Value:
XVtc_WriteReg((InstancePtr)->Config.BaseAddress, (XVTC_CTL_OFFSET), \
(XVtc_ReadReg((InstancePtr)->Config.BaseAddress, \
#define XVtc_WriteReg(BaseAddress, RegOffset, Data)
Write the given register.
Definition: xvtc_hw.h:782
#define XVTC_CTL_OFFSET
Control Register Offset.
Definition: xvtc_hw.h:151
#define XVTC_CTL_SE_MASK
Enable Sync with Detector.
Definition: xvtc_hw.h:369
#define XVtc_ReadReg(BaseAddress, RegOffset)
This function macro reads the given register.
Definition: xvtc_hw.h:763

This function macro disables synchronization of the Generator with the Detector on the given VTC core.

Parameters
InstancePtris a pointer to the VTC core instance to be worked on.
Returns
None.
Note
C-style signature: void XVtc_DisableSync(XVtc *InstancePtr)
#define XVTC_DPOL_OFFSET   0x02C

Detector Polarity Offset.

Referenced by XVtc_GetDetectorPolarity().

#define XVTC_DTSTAT_OFFSET   0x024

Detector Timing Status Offset.

#define XVTC_DVBHOFF_F1_OFFSET   0x048

Detector Field 1 Vblank Horizontal Offset.

Referenced by XVtc_GetDetectorHoriOffset().

#define XVTC_DVBHOFF_OFFSET   0x03C

Detector Frame/F0 Vblank Horizontal Offset.

Referenced by XVtc_GetDetectorHoriOffset().

#define XVTC_DVSHOFF_F1_OFFSET   0x050

Detector Field 1 Vsync Horizontal Offset.

Referenced by XVtc_GetDetectorHoriOffset().

#define XVTC_DVSHOFF_OFFSET   0x044

Detector Frame/F0 Vsync Horizontal Offset.

Referenced by XVtc_GetDetectorHoriOffset().

#define XVTC_DVSIZE_OFFSET   0x034

Detector Frame Vertical Size Offset.

Referenced by XVtc_GetDetector().

#define XVTC_DVSYNC_F1_OFFSET   0x04C

Detector Field 1 Vertical Sync Offset.

Referenced by XVtc_GetDetector().

#define XVTC_DVSYNC_OFFSET   0x040

Detector Frame/F0 Vertical Sync Offset.

Referenced by XVtc_GetDetector().

#define XVTC_EN_DETECTOR   2

To enable detector.

#define XVTC_EN_GENERATOR   1

To enable generator.

#define XVtc_EnableSync (   InstancePtr)
Value:
XVtc_WriteReg((InstancePtr)->Config.BaseAddress, (XVTC_CTL_OFFSET), \
XVtc_ReadReg((InstancePtr)->Config.BaseAddress, \
#define XVtc_WriteReg(BaseAddress, RegOffset, Data)
Write the given register.
Definition: xvtc_hw.h:782
#define XVTC_CTL_OFFSET
Control Register Offset.
Definition: xvtc_hw.h:151
#define XVTC_CTL_SE_MASK
Enable Sync with Detector.
Definition: xvtc_hw.h:369
#define XVtc_ReadReg(BaseAddress, RegOffset)
This function macro reads the given register.
Definition: xvtc_hw.h:763

This function macro enables synchronization of the Generator with the Detector on the given VTC core.

Parameters
InstancePtris a pointer to the VTC core instance to be worked on.
Returns
None.
Note
C-style signature: void XVtc_EnableSync(XVtc *InstancePtr)
#define XVTC_ENC_CPARITY_MASK   0x00000100

Chroma Line Parity Mask.

Referenced by XVtc_GetDetector(), XVtc_GetGenerator(), and XVtc_SetGenerator().

#define XVTC_ENC_CPARITY_SHIFT   8

Bit shift for Active Chroma Line Parity.

Referenced by XVtc_GetDetector(), XVtc_GetGenerator(), and XVtc_SetGenerator().

#define XVTC_ENC_FPARITY_MASK   0x00000080

Field Parity Mask.

#define XVTC_ENC_GACLS_MASK   0x00000001

Generator Active Chroma Line Skip/parity Mask.

Referenced by XVtc_GetSkipLine(), and XVtc_SetSkipLine().

#define XVTC_ENC_GACPS_MASK   0x00000200

Generator Active Chroma Pixel Skip/Parity Mask.

Referenced by XVtc_GetSkipPixel(), and XVtc_SetSkipPixel().

#define XVTC_ENC_PROG_MASK   0x00000040

Progressive/Interlaced Mask.

Referenced by XVtc_GetDetector(), XVtc_GetGenerator(), and XVtc_SetGenerator().

#define XVTC_ENC_PROG_SHIFT   6

Progressive/Interlaced Shift.

Referenced by XVtc_GetDetector(), XVtc_GetGenerator(), and XVtc_SetGenerator().

#define XVTC_ERR_ACL_MASK   0x00200000

Active Chroma Signal Lock Mask.

#define XVTC_ERR_AVL_MASK   0x00100000

Active Video Signal Lock Mask.

#define XVTC_ERR_HBL_MASK   0x00020000

Horizontal Blank Signal Lock Mask.

#define XVTC_ERR_HSL_MASK   0x00080000

Horizontal Sync Signal Lock Mask.

#define XVTC_ERR_VBL_MASK   0x00010000

Vertical Blank Signal Lock Mask.

#define XVTC_ERR_VSL_MASK   0x00040000

Vertical Sync Signal Lock Mask.

#define XVTC_ERROR_OFFSET   0x008

Error Register Offset.

#define XVTC_FS00_OFFSET   0x100

Frame Sync 00 Config Register Offset.

Referenced by XVtc_GetFSync(), and XVtc_SetFSync().

#define XVTC_FS01_OFFSET   0x104

Frame Sync 01 Config Register Offset.

#define XVTC_FS02_OFFSET   0x108

Frame Sync 02 Config Register Offset.

#define XVTC_FS03_OFFSET   0x10C

Frame Sync 03 Config Register Offset.

#define XVTC_FS04_OFFSET   0x110

Frame Sync 04 Config Register Offset.

#define XVTC_FS05_OFFSET   0x114

Frame Sync 05 Config Register Offset.

#define XVTC_FS06_OFFSET   0x118

Frame Sync 06 Config Register Offset.

#define XVTC_FS07_OFFSET   0x11C

Frame Sync 07 Config Register Offset.

#define XVTC_FS08_OFFSET   0x120

Frame Sync 08 Config Register Offset.

#define XVTC_FS09_OFFSET   0x124

Frame Sync 09 Config Register Offset.

#define XVTC_FS10_OFFSET   0x128

Frame Sync 10 Config Register Offset.

#define XVTC_FS11_OFFSET   0x12C

Frame Sync 11 Config Register Offset.

#define XVTC_FS12_OFFSET   0x130

Frame Sync 12 Config Register Offset.

#define XVTC_FS13_OFFSET   0x134

Frame Sync 13 Config Register Offset.

#define XVTC_FS14_OFFSET   0x138

Frame Sync 14 Config Register Offset.

#define XVTC_FS15_OFFSET   0x13C

Frame Sync 15 Config Register Offset.

#define XVTC_FSXX_HSTART_MASK   0x00003FFF

Horizontal cycle count during which current Frame Sync is active Mask.

Referenced by XVtc_GetFSync(), and XVtc_SetFSync().

#define XVTC_FSXX_VSTART_MASK   0x3FFF0000

Vertical line count during which current Frame Sync is active Mask.

Referenced by XVtc_GetFSync(), and XVtc_SetFSync().

#define XVTC_FSXX_VSTART_SHIFT   16

Bit shift for the vertical line count.

Referenced by XVtc_GetFSync(), and XVtc_SetFSync().

#define XVTC_GASIZE_F1_OFFSET   0x094

Generator Field 1 Active Size Offset.

Referenced by XVtc_SetGenerator().

#define XVTC_GASIZE_OFFSET   0x060

Generator Active Size Offset.

Referenced by XVtc_GetGenerator(), and XVtc_SetGenerator().

#define XVtc_GetDetectionStatus (   InstancePtr)    XVtc_ReadReg((InstancePtr)->Config.BaseAddress, (XVTC_DTSTAT_OFFSET))

This function macro gets the status of the Detector in the VTC core.

Parameters
InstancePtris a pointer to the VTC core instance to be worked on.
Returns
The Detector status. Use XVTC_DS_* in xvtc_hw.h to interpret the returned value.
Note
C-style signature: u32 XVtc_GetDetectionStatus(XVtc *InstancePtr)
#define XVTC_GFENC_OFFSET   0x068
#define XVTC_GGD_HDELAY_MASK   0x00003FFF

Total clock cycles per line to delay generator output Mask.

Referenced by XVtc_GetDelay(), and XVtc_SetDelay().

#define XVTC_GGD_OFFSET   0x140

Generator Global Delay Register Offset.

Referenced by XVtc_GetDelay(), and XVtc_SetDelay().

#define XVTC_GGD_VDELAY_MASK   0x3FFF0000

Total lines per frame to delay generator output Mask.

Referenced by XVtc_GetDelay(), and XVtc_SetDelay().

#define XVTC_GGD_VDELAY_SHIFT   16

Bit shift for the total lines.

Referenced by XVtc_GetDelay(), and XVtc_SetDelay().

#define XVTC_GHSIZE_OFFSET   0x070

Generator Frame Horizontal Size Offset.

Referenced by XVtc_GetGenerator(), and XVtc_SetGenerator().

#define XVTC_GHSYNC_OFFSET   0x078

Generator Horizontal Sync Offset.

Referenced by XVtc_GetGenerator(), and XVtc_SetGenerator().

#define XVTC_GPOL_OFFSET   0x06C

Generator Polarity Offset.

Referenced by XVtc_GetPolarity(), and XVtc_SetPolarity().

#define XVTC_GTSTAT_OFFSET   0x064

Generator Timing Status Offset.

#define XVTC_GVBHOFF_F1_OFFSET   0x088

Generator Field 1 Vblank Horizontal Offset.

Referenced by XVtc_GetGeneratorHoriOffset(), and XVtc_SetGeneratorHoriOffset().

#define XVTC_GVBHOFF_OFFSET   0x07C

Generator Frame/F0 Vblank Horizontal Offset.

Referenced by XVtc_GetGeneratorHoriOffset(), and XVtc_SetGeneratorHoriOffset().

#define XVTC_GVSHOFF_F1_OFFSET   0x090

Generator Field 1 Vsync horizontal Offset.

Referenced by XVtc_GetGeneratorHoriOffset(), and XVtc_SetGeneratorHoriOffset().

#define XVTC_GVSHOFF_OFFSET   0x084

Generator Frame/F0 Vsync horizontal Offset.

Referenced by XVtc_GetGeneratorHoriOffset(), and XVtc_SetGeneratorHoriOffset().

#define XVTC_GVSIZE_OFFSET   0x074

Generator Frame Vertical Size Offset.

Referenced by XVtc_GetGenerator(), and XVtc_SetGenerator().

#define XVTC_GVSYNC_F1_OFFSET   0x08C

Generator Field 1 Vertical Sync Offset.

Referenced by XVtc_GetDetector(), XVtc_GetGenerator(), and XVtc_SetGenerator().

#define XVTC_GVSYNC_OFFSET   0x080

Generator Frame/F0 Vertical Sync Offset.

Referenced by XVtc_GetGenerator(), and XVtc_SetGenerator().

#define XVTC_H_

Prevent circular inclusions by using protection macros.

#define XVTC_HANDLER_DETECTOR   3

A detector event interrupt type.

Referenced by XVtc_SetCallBack().

#define XVTC_HANDLER_ERROR   5

An error condition interrupt type.

Referenced by XVtc_SetCallBack().

#define XVTC_HANDLER_FRAMESYNC   1

A frame sync event interrupt type.

Referenced by XVtc_SetCallBack().

#define XVTC_HANDLER_GENERATOR   4

A generator event interrupt type.

Referenced by XVtc_SetCallBack().

#define XVTC_HANDLER_LOCK   2

A signal lock event interrupt type.

Referenced by XVtc_SetCallBack().

#define XVTC_HW_H_

prevent circular inclusions by using protection macros

#define XVTC_IER_OFFSET   0x00C

Interrupt Enable Register Offset.

#define XVtc_In32   Xil_In32

Input Operations.

#define XVtc_IntrClear (   InstancePtr,
  IntrType 
)
Value:
XVtc_WriteReg((InstancePtr)->Config.BaseAddress, (XVTC_ISR_OFFSET), \
((IntrType) & (XVTC_IXR_ALLINTR_MASK)))
#define XVTC_IXR_ALLINTR_MASK
Mask for all interrupts Mask.
Definition: xvtc_hw.h:463
#define XVtc_WriteReg(BaseAddress, RegOffset, Data)
Write the given register.
Definition: xvtc_hw.h:782
#define XVTC_ISR_OFFSET
Status/Interrupt Status Register Offset.
Definition: xvtc_hw.h:152

This function macro clears/acknowledges pending interrupts of the VTC core in the Status register.

Bit positions of 1 will be cleared.

Parameters
InstancePtris a pointer to the VTC core instance to be worked on.
IntrTypeis the pending interrupts to clear/acknowledge. Use OR'ing of XVTC_IXR_*_MASK constants defined in xvtc_hw.h to create this parameter value.
Returns
None.
Note
C-style signature: void XVtc_IntrClear(XVtc *InstancePtr, u32 IntrType)

Referenced by XVtc_IntrHandler().

#define XVtc_IntrDisable (   InstancePtr,
  IntrType 
)
Value:
XVtc_WriteReg((InstancePtr)->Config.BaseAddress, (XVTC_IER_OFFSET), \
XVtc_ReadReg((InstancePtr)->Config.BaseAddress, \
(XVTC_IER_OFFSET)) & ((~(IntrType)) & (XVTC_IXR_ALLINTR_MASK)))
#define XVTC_IXR_ALLINTR_MASK
Mask for all interrupts Mask.
Definition: xvtc_hw.h:463
#define XVTC_IER_OFFSET
Interrupt Enable Register Offset.
Definition: xvtc_hw.h:156
#define XVtc_WriteReg(BaseAddress, RegOffset, Data)
Write the given register.
Definition: xvtc_hw.h:782
#define XVtc_ReadReg(BaseAddress, RegOffset)
This function macro reads the given register.
Definition: xvtc_hw.h:763

This function macro disables individual interrupts of the VTC core by updating the IRQ_ENABLE register.

Parameters
InstancePtris a pointer to the VTC core instance to be worked on.
IntrTypeis the bit-mask of the interrupts to be disabled. Bit positions of 1 will be disabled. Bit positions of 0 will keep the previous setting. This mask is formed by OR'ing XVTC_IXR_*_MASK bits defined in xvtc_hw.h.
Returns
None.
Note
Any other interrupt not covered by parameter IntrType, if enabled before this macro is called, will remain enabled. C-style signature: void XVtc_IntrDisable(XVtc *InstancePtr, u32 IntrType)
#define XVtc_IntrEnable (   InstancePtr,
  IntrType 
)
Value:
XVtc_WriteReg((InstancePtr)->Config.BaseAddress, (XVTC_IER_OFFSET), \
(((IntrType) & (XVTC_IXR_ALLINTR_MASK)) | \
(XVtc_ReadReg((InstancePtr)->Config.BaseAddress, \
#define XVTC_IXR_ALLINTR_MASK
Mask for all interrupts Mask.
Definition: xvtc_hw.h:463
#define XVTC_IER_OFFSET
Interrupt Enable Register Offset.
Definition: xvtc_hw.h:156
#define XVtc_WriteReg(BaseAddress, RegOffset, Data)
Write the given register.
Definition: xvtc_hw.h:782
#define XVtc_ReadReg(BaseAddress, RegOffset)
This function macro reads the given register.
Definition: xvtc_hw.h:763

This function macro enables individual interrupts of the VTC core by updating the IRQ_ENABLE register.

Parameters
InstancePtris a pointer to the VTC core instance to be worked on.
IntrTypeis the bit-mask of the interrupts to be enabled. Bit positions of 1 will be enabled. Bit positions of 0 will keep the previous setting. This mask is formed by OR'ing XVTC_IXR_*_MASK bits defined in xvtc_hw.h.
Returns
None.
Note
The existing enabled interrupt(s) will remain enabled. C-style signature: void XVtc_IntrEnable(XVtc *InstancePtr, u32 IntrType)
#define XVtc_IntrGetPending (   InstancePtr)
Value:
(XVtc_ReadReg((InstancePtr)->Config.BaseAddress, XVTC_IER_OFFSET) & \
XVtc_ReadReg((InstancePtr)->Config.BaseAddress, XVTC_ISR_OFFSET) & \
#define XVTC_IXR_ALLINTR_MASK
Mask for all interrupts Mask.
Definition: xvtc_hw.h:463
#define XVTC_IER_OFFSET
Interrupt Enable Register Offset.
Definition: xvtc_hw.h:156
#define XVTC_ISR_OFFSET
Status/Interrupt Status Register Offset.
Definition: xvtc_hw.h:152
#define XVtc_ReadReg(BaseAddress, RegOffset)
This function macro reads the given register.
Definition: xvtc_hw.h:763

This function macro returns the pending interrupts of the VTC core for the interrupts that have been enabled.

Parameters
InstancePtris a pointer to the VTC core instance to be worked on.
Returns
The pending interrupts of the VTC core. Use XVTC_IXR_*_MASK constants defined in xvtc_hw.h to interpret this value. The returned value is a logical AND of the contents of the STATUS Register and the IRQ_ENABLE Register.
Note
C-style signature: u32 XVtc_IntrGetPending(XVtc *InstancePtr)

Referenced by XVtc_IntrHandler().

#define XVTC_ISR_OFFSET   0x004

Status/Interrupt Status Register Offset.

#define XVTC_IXR_ALLINTR_MASK
Value:
#define XVTC_IXR_FSYNCALL_MASK
All Frame Sync Interrupt 0-15 Mask.
Definition: xvtc_hw.h:433
#define XVTC_IXR_LOCKALL_MASK
All Signal Lock interrupt Mask.
Definition: xvtc_hw.h:459
#define XVTC_IXR_D_ALL_MASK
All Detector Interrupts Mask.
Definition: xvtc_hw.h:453
#define XVTC_IXR_G_ALL_MASK
All Generator interrupts Mask.
Definition: xvtc_hw.h:443

Mask for all interrupts Mask.

#define XVTC_IXR_D_ALL_MASK   0x00000C00

All Detector Interrupts Mask.

Referenced by XVtc_IntrHandler().

#define XVTC_IXR_D_AV_MASK   0x00000800

Detector Active Video Interrupt Mask.

#define XVTC_IXR_D_VBLANK_MASK   0x00000400

Detector VBLANK Interrupt Mask.

#define XVTC_IXR_FSYNC00_MASK   0x00010000

Frame Sync Interrupt 00 Mask.

#define XVTC_IXR_FSYNC01_MASK   0x00020000

Frame Sync Interrupt 01 Mask.

#define XVTC_IXR_FSYNC02_MASK   0x00040000

Frame Sync Interrupt 02 Mask.

#define XVTC_IXR_FSYNC03_MASK   0x00080000

Frame Sync Interrupt 03 Mask.

#define XVTC_IXR_FSYNC04_MASK   0x00100000

Frame Sync Interrupt 04 Mask.

#define XVTC_IXR_FSYNC05_MASK   0x00200000

Frame Sync Interrupt 05 Mask.

#define XVTC_IXR_FSYNC06_MASK   0x00400000

Frame Sync Interrupt 06 Mask.

#define XVTC_IXR_FSYNC07_MASK   0x00800000

Frame Sync Interrupt 07 Mask.

#define XVTC_IXR_FSYNC08_MASK   0x01000000

Frame Sync Interrupt 08 Mask.

#define XVTC_IXR_FSYNC09_MASK   0x02000000

Frame Sync Interrupt 09 Mask.

#define XVTC_IXR_FSYNC10_MASK   0x04000000

Frame Sync Interrupt 10 Mask.

#define XVTC_IXR_FSYNC11_MASK   0x08000000

Frame Sync Interrupt 11 Mask.

#define XVTC_IXR_FSYNC12_MASK   0x10000000

Frame Sync Interrupt 12 Mask.

#define XVTC_IXR_FSYNC13_MASK   0x20000000

Frame Sync Interrupt 13 Mask.

#define XVTC_IXR_FSYNC14_MASK   0x40000000

Frame Sync Interrupt 14 Mask.

#define XVTC_IXR_FSYNC15_MASK   0x80000000

Frame Sync Interrupt 15 Mask.

#define XVTC_IXR_FSYNCALL_MASK   0xFFFF0000

All Frame Sync Interrupt 0-15 Mask.

Referenced by XVtc_IntrHandler().

#define XVTC_IXR_G_ALL_MASK   0x00003000

All Generator interrupts Mask.

Referenced by XVtc_IntrHandler().

#define XVTC_IXR_G_AV_MASK   0x00002000

Generator Active Video Intr Mask.

#define XVTC_IXR_G_VBLANK_MASK   0x00001000

Generator VBLANK Interrupt Mask.

#define XVTC_IXR_LO_MASK   0x00000100

Lock Mask.

#define XVTC_IXR_LOCKALL_MASK   0x00000300

All Signal Lock interrupt Mask.

Referenced by XVtc_IntrHandler().

#define XVTC_IXR_LOL_MASK   0x00000200

Lock Loss Mask.

#define XVtc_Out32   Xil_Out32

Output Operations.

#define XVTC_POL_ACP_MASK   0x00000020

Active Chroma Output Polarity Mask.

Referenced by XVtc_GetDetectorPolarity(), XVtc_GetPolarity(), and XVtc_SetPolarity().

#define XVTC_POL_ALLP_MASK   0x0000007F

Bit mask for all polarity bits Mask.

Referenced by XVtc_SetPolarity().

#define XVTC_POL_AVP_MASK   0x00000010

Active Video Output Polarity Mask.

Referenced by XVtc_GetDetectorPolarity(), XVtc_GetPolarity(), and XVtc_SetPolarity().

#define XVTC_POL_FIP_MASK   0x00000040

Field ID Output Polarity Mask.

Referenced by XVtc_GetDetectorPolarity(), XVtc_GetPolarity(), and XVtc_SetPolarity().

#define XVTC_POL_HBP_MASK   0x00000002

Horizontal Blank Output Polarity Mask.

Referenced by XVtc_GetDetectorPolarity(), XVtc_GetPolarity(), and XVtc_SetPolarity().

#define XVTC_POL_HSP_MASK   0x00000008

Horizontal Sync Output Polarity Mask.

Referenced by XVtc_GetDetectorPolarity(), XVtc_GetPolarity(), and XVtc_SetPolarity().

#define XVTC_POL_VBP_MASK   0x00000001

Vertical Blank Output Polarity Mask.

Referenced by XVtc_GetDetectorPolarity(), XVtc_GetPolarity(), and XVtc_SetPolarity().

#define XVTC_POL_VSP_MASK   0x00000004

Vertical Sync Output Polarity Mask.

Referenced by XVtc_GetDetectorPolarity(), XVtc_GetPolarity(), and XVtc_SetPolarity().

#define XVtc_ReadReg (   BaseAddress,
  RegOffset 
)    XVtc_In32((BaseAddress) + ((u32)RegOffset))
#define XVTC_REG_ADDRGAP   4

Register address gap.

Referenced by XVtc_GetFSync(), and XVtc_SetFSync().

#define XVtc_RegUpdateDisable (   InstancePtr)
Value:
XVtc_WriteReg((InstancePtr)->Config.BaseAddress, (XVTC_CTL_OFFSET), \
XVtc_ReadReg((InstancePtr)->Config.BaseAddress, \
#define XVTC_CTL_RU_MASK
VTC Register Update.
Definition: xvtc_hw.h:372
#define XVtc_WriteReg(BaseAddress, RegOffset, Data)
Write the given register.
Definition: xvtc_hw.h:782
#define XVTC_CTL_OFFSET
Control Register Offset.
Definition: xvtc_hw.h:151
#define XVtc_ReadReg(BaseAddress, RegOffset)
This function macro reads the given register.
Definition: xvtc_hw.h:763

This function macro disables updating timing registers at the end of each Generator frame.

Parameters
InstancePtris a pointer to the VTC core instance to be worked on.
Returns
None.
Note
C-style signature: void XVtc_RegUpdateDisable(XVtc *InstancePtr)
#define XVtc_RegUpdateEnable (   InstancePtr)
Value:
XVtc_WriteReg((InstancePtr)->Config.BaseAddress, (XVTC_CTL_OFFSET), \
XVtc_ReadReg((InstancePtr)->Config.BaseAddress, \
#define XVTC_CTL_RU_MASK
VTC Register Update.
Definition: xvtc_hw.h:372
#define XVtc_WriteReg(BaseAddress, RegOffset, Data)
Write the given register.
Definition: xvtc_hw.h:782
#define XVTC_CTL_OFFSET
Control Register Offset.
Definition: xvtc_hw.h:151
#define XVtc_ReadReg(BaseAddress, RegOffset)
This function macro reads the given register.
Definition: xvtc_hw.h:763

This function macro enables updating timing registers at the end of each Generator frame.

Parameters
InstancePtris a pointer to the VTC core instance to be worked on.
Returns
None.
Note
C-style signature: void XVtc_RegUpdateEnable(XVtc *InstancePtr)
#define XVtc_Reset (   InstancePtr)
Value:
XVtc_WriteReg((InstancePtr)->Config.BaseAddress, (XVTC_CTL_OFFSET), \
#define XVtc_WriteReg(BaseAddress, RegOffset, Data)
Write the given register.
Definition: xvtc_hw.h:782
#define XVTC_CTL_OFFSET
Control Register Offset.
Definition: xvtc_hw.h:151
#define XVTC_CTL_RESET_MASK
Software Reset Mask.
Definition: xvtc_hw.h:293

This function macro resets the VTC core.

Parameters
InstancePtris a pointer to the VTC instance to be worked on.
Returns
None.
Note
C-style signature: void XVtc_Reset(XVtc *InstancePtr)
#define XVTC_SB_END_MASK   0x3FFF0000

End cycle or line count of horizontal sync, vertical sync or vertical blank.

Referenced by XVtc_SetGenerator().

#define XVTC_SB_END_SHIFT   16

Bit shift for End Cycle or Line Count.

Referenced by XVtc_GetDetector(), XVtc_GetGenerator(), and XVtc_SetGenerator().

#define XVTC_SB_START_MASK   0x00003FFF

Start cycle or line count of horizontal sync, vertical sync or vertical blank.

Referenced by XVtc_GetDetector(), XVtc_GetGenerator(), and XVtc_SetGenerator().

#define XVTC_STAT_AVIDEO_MASK   0x00000004

Active Video Interrupt Status.Mask.

#define XVTC_STAT_LOCKED_MASK   0x00000001

Lock Status.

Set High when all signals have locked. (Detector only) Mask

#define XVTC_STAT_VBLANK_MASK   0x00000002

Vertical Blank Interrupt Status Mask.

#define XVtc_StatusGetPending (   InstancePtr)
Value:
XVtc_ReadReg((InstancePtr)->Config.BaseAddress, (XVTC_ISR_OFFSET)) & \
#define XVTC_IXR_ALLINTR_MASK
Mask for all interrupts Mask.
Definition: xvtc_hw.h:463
#define XVTC_ISR_OFFSET
Status/Interrupt Status Register Offset.
Definition: xvtc_hw.h:152
#define XVtc_ReadReg(BaseAddress, RegOffset)
This function macro reads the given register.
Definition: xvtc_hw.h:763

This function macro returns the pending interrupt status of the VTC core read from the Status register.

Parameters
InstancePtris a pointer to the VTC core instance to be worked on.
Returns
The status of pending interrupts of the VTC core. Use XVTC_IXR_*_MASK constants defined in xvtc_hw.h to interpret this value.
Note
C-style signature: u32 XVtc_StatusGePending(XVtc *InstancePtr)
#define XVtc_Sync_Reset   XVtc_SyncReset

This function macro resets the VTC core after the next input frame is complete.

Parameters
InstancePtris a pointer to the VTC core instance to be worked on.
Returns
None.
Note
C-style signature: void XVtc_Sync_Reset(XVtc *InstancePtr)
#define XVtc_SyncReset (   InstancePtr)
Value:
XVtc_WriteReg((InstancePtr)->Config.BaseAddress, (XVTC_CTL_OFFSET), \
#define XVTC_CTL_SRST_MASK
Frame Sync'ed Software Reset Mask.
Definition: xvtc_hw.h:294
#define XVtc_WriteReg(BaseAddress, RegOffset, Data)
Write the given register.
Definition: xvtc_hw.h:782
#define XVTC_CTL_OFFSET
Control Register Offset.
Definition: xvtc_hw.h:151

This function macro resets the VTC core after the next input frame is complete.

Parameters
InstancePtris a pointer to the VTC core instance to be worked on.
Returns
None.
Note
C-style signature: void XVtc_SyncReset(XVtc *InstancePtr)
#define XVTC_VER_IREV_MASK   0x000000FF

Internal Revision Version Mask.

#define XVTC_VER_IREV_SHIFT   0

Internal Revision Bit Shift.

#define XVTC_VER_MAJOR_MASK   0xFF000000

Major Version Mask.

#define XVTC_VER_MAJOR_SHIFT   24

Major Version Bit Shift.

#define XVTC_VER_MINOR_MASK   0x00FF0000

Minor Version Mask.

#define XVTC_VER_MINOR_SHIFT   16

Minor Version Bit Shift.

#define XVTC_VER_OFFSET   0x010

Version Register Offset.

Referenced by XVtc_GetVersion(), and XVtc_SelfTest().

#define XVTC_VER_REV_MASK   0x0000FF00

Revision Version Mask.

#define XVTC_VER_REV_SHIFT   8

Revision Version Bit Shift.

#define XVTC_VFP_STRETCH_OFFSET   0x18

VFP Stretch Limit Offset.

Referenced by XVtc_SetVfpStretchLimit().

#define XVTC_VMODE_1080I   100

Video mode 1080I.

Referenced by XVtc_ConvTiming2VideoMode(), and XVtc_ConvVideoMode2Timing().

#define XVTC_VMODE_1080P   2

Video mode 1080P.

Referenced by XVtc_ConvTiming2VideoMode(), and XVtc_ConvVideoMode2Timing().

#define XVTC_VMODE_480P   3

Video mode 480P.

Referenced by XVtc_ConvTiming2VideoMode(), and XVtc_ConvVideoMode2Timing().

#define XVTC_VMODE_576P   4

Video mode 576P.

Referenced by XVtc_ConvTiming2VideoMode(), and XVtc_ConvVideoMode2Timing().

#define XVTC_VMODE_720P   1

Video mode 720P.

Referenced by XVtc_ConvTiming2VideoMode(), and XVtc_ConvVideoMode2Timing().

#define XVTC_VMODE_NTSC   101

Video mode NTSC.

Referenced by XVtc_ConvTiming2VideoMode(), and XVtc_ConvVideoMode2Timing().

#define XVTC_VMODE_PAL   102

Video mode PAL.

Referenced by XVtc_ConvTiming2VideoMode(), and XVtc_ConvVideoMode2Timing().

#define XVTC_VMODE_SVGA   6

Video mode SVGA.

Referenced by XVtc_ConvTiming2VideoMode(), and XVtc_ConvVideoMode2Timing().

#define XVTC_VMODE_SXGA   8

Video mode SXGA.

Referenced by XVtc_ConvTiming2VideoMode(), and XVtc_ConvVideoMode2Timing().

#define XVTC_VMODE_VGA   5

Video mode VGA.

Referenced by XVtc_ConvTiming2VideoMode(), and XVtc_ConvVideoMode2Timing().

#define XVTC_VMODE_WSXGAPLUS   10

Video mode WSXGAPlus.

Referenced by XVtc_ConvTiming2VideoMode(), and XVtc_ConvVideoMode2Timing().

#define XVTC_VMODE_WXGAPLUS   9

Video mode WXGAPlus.

Referenced by XVtc_ConvTiming2VideoMode(), and XVtc_ConvVideoMode2Timing().

#define XVTC_VMODE_XGA   7

Video mode XGA.

Referenced by XVtc_ConvTiming2VideoMode(), and XVtc_ConvVideoMode2Timing().

#define XVTC_VSIZE_F0_MASK   0x00003FFF

Total number of lines (including blanking) for frame or field 0.

Referenced by XVtc_GetGenerator(), and XVtc_SetGenerator().

#define XVTC_VSIZE_F1_MASK   0x3FFF0000

Total number of lines (including blanking) for frame or field 1.

Referenced by XVtc_GetGenerator(), and XVtc_SetGenerator().

#define XVTC_VSIZE_F1_SHIFT   16

Bit shift for End Cycle or Line Count.

Referenced by XVtc_GetGenerator(), and XVtc_SetGenerator().

#define XVtc_WriteReg (   BaseAddress,
  RegOffset,
  Data 
)    XVtc_Out32((BaseAddress) + ((u32)RegOffset), (u32)(Data))

Write the given register.

Parameters
BaseAddressis the base address of the VTC core.
RegOffsetis the register offset of the register (defined at top of this file) to be written.
Datais the 32-bit value to write to the register.
Returns
None.
Note
C-style signature: void XVtc_WriteReg(u32 BaseAddress, u32 RegOffset, u32 Data)

Referenced by XVtc_Disable(), XVtc_DisableAdaptiveSync(), XVtc_DisableDetector(), XVtc_DisableGenerator(), XVtc_Enable(), XVtc_EnableDetector(), XVtc_EnableGenerator(), XVtc_SetAdaptiveSyncMode(), XVtc_SetDelay(), XVtc_SetFSync(), XVtc_SetGenerator(), XVtc_SetGeneratorHoriOffset(), XVtc_SetPolarity(), XVtc_SetSkipLine(), XVtc_SetSkipPixel(), XVtc_SetSource(), and XVtc_SetVfpStretchLimit().

#define XVTC_XVXHOX_HEND_MASK   0x3FFF0000
#define XVTC_XVXHOX_HEND_SHIFT   16
#define XVTC_XVXHOX_HSTART_MASK   0x00003FFF

Typedef Documentation

typedef void(* XVtc_CallBack)(void *CallBackRef, u32 Mask)

Callback type for all interrupts except error interrupt.

Parameters
CallBackRefis a callback reference passed in by the upper layer when setting the callback functions, and passed back to the upper layer when the callback is invoked.
Maskis a bit mask indicating the cause of the event. For current core version, this parameter is "OR" of 0 or more XVTC_IXR_*_MASK constants defined in xvtc_hw.h.
Returns
None.
Note
None.
typedef void(* XVtc_ErrorCallBack)(void *CallBackRef, u32 ErrorMask)

Callback type for Error interrupt.

Parameters
CallBackRefis a callback reference passed in by the upper layer when setting the callback functions, and passed back to the upper layer when the callback is invoked.
ErrorMaskis a bit mask indicating the cause of the error. For current core version, this parameter always have value 0 and could be ignored.
Returns
None.
Note
None.

Enumeration Type Documentation

This typedef enumerates the list of vertical front porch stretch mechanism supported by VTC core.

Function Documentation

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.

Parameters
InstancePtris a pointer to the VTC core instance to be worked on.
CfgPtrpoints to the configuration structure associated with the VTC core.
EffectiveAddris the base address of the device. If address translation is being used, then this parameter must reflect the virtual base address. Otherwise, the physical address should be used.
Returns
  • XST_SUCCESS if XVtc_CfgInitialize was successful.
Note
None.

References XVtc_Config::BaseAddress, XVtc::Config, XVtc::DetectorCallBack, XVtc::ErrCallBack, XVtc::FrameSyncCallBack, XVtc::GeneratorCallBack, XVtc::IsReady, and XVtc::LockCallBack.

Referenced by XVtcSelfTestExample().

void XVtc_ConvSignal2Timing ( XVtc InstancePtr,
XVtc_Signal SignalCfgPtr,
XVtc_HoriOffsets HOffPtr,
XVtc_Polarity PolarityPtr,
XVtc_Timing TimingPtr 
)

This function converts the VTC signal structure, horizontal offsets structure and the polarity structure into the Video Timing structure.

Parameters
InstancePtris a pointer to the VTC instance to be worked on.
SignalCfgPtris a pointer to a VTC signal configuration to be read
HOffPtris a pointer to a VTC horizontal offsets structure to be read
PolarityPtris a pointer to a VTC polarity structure to be read.
TimingPtris a pointer to a Video Timing structure to be set.
Returns
None.
Note
None.

References XVtc_Timing::HActiveVideo, XVtc_Timing::HBackPorch, XVtc_Signal::HBackPorchStart, XVtc_Timing::HFrontPorch, XVtc_Signal::HFrontPorchStart, XVtc_Polarity::HSyncPol, XVtc_Timing::HSyncPolarity, XVtc_Signal::HSyncStart, XVtc_Timing::HSyncWidth, XVtc_Signal::HTotal, XVtc_Signal::Interlaced, XVtc_Timing::Interlaced, XVtc::IsReady, XVtc_Signal::OriginMode, XVtc_Timing::V0BackPorch, XVtc_Signal::V0BackPorchStart, XVtc_Timing::V0FrontPorch, XVtc_Signal::V0FrontPorchStart, XVtc_Signal::V0SyncStart, XVtc_Timing::V0SyncWidth, XVtc_Signal::V0Total, XVtc_Timing::V1BackPorch, XVtc_Signal::V1BackPorchStart, XVtc_Timing::V1FrontPorch, XVtc_Signal::V1FrontPorchStart, XVtc_Signal::V1SyncStart, XVtc_Timing::V1SyncWidth, XVtc_Signal::V1Total, XVtc_Timing::VActiveVideo, XVtc_Polarity::VSyncPol, and XVtc_Timing::VSyncPolarity.

Referenced by XVtc_GetDetectorTiming(), and XVtc_GetGeneratorTiming().

void XVtc_ConvTiming2Signal ( XVtc InstancePtr,
XVtc_Timing TimingPtr,
XVtc_Signal SignalCfgPtr,
XVtc_HoriOffsets HOffPtr,
XVtc_Polarity PolarityPtr 
)

This function converts the video timing structure into the VTC signal configuration structure, horizontal offsets structure and the polarity structure.

Parameters
InstancePtris a pointer to the VTC instance to be worked on.
TimingPtris a pointer to a Video Timing structure to be read.
SignalCfgPtris a pointer to a VTC signal configuration to be set.
HOffPtris a pointer to a VTC horizontal offsets structure to be set.
PolarityPtris a pointer to a VTC polarity structure to be set.
Returns
None.
Note
None.

References XVtc_Polarity::ActiveChromaPol, XVtc_Polarity::ActiveVideoPol, XVtc_Polarity::FieldIdPol, XVtc_Signal::HActiveStart, XVtc_Timing::HActiveVideo, XVtc_Timing::HBackPorch, XVtc_Signal::HBackPorchStart, XVtc_Polarity::HBlankPol, XVtc_Timing::HFrontPorch, XVtc_Signal::HFrontPorchStart, XVtc_Polarity::HSyncPol, XVtc_Timing::HSyncPolarity, XVtc_Signal::HSyncStart, XVtc_Timing::HSyncWidth, XVtc_Signal::HTotal, XVtc_Signal::Interlaced, XVtc_Timing::Interlaced, XVtc::IsReady, XVtc_Signal::OriginMode, XVtc_Signal::V0ActiveStart, XVtc_Timing::V0BackPorch, XVtc_Signal::V0BackPorchStart, XVtc_HoriOffsets::V0BlankHoriEnd, XVtc_HoriOffsets::V0BlankHoriStart, XVtc_Signal::V0ChromaStart, XVtc_Timing::V0FrontPorch, XVtc_Signal::V0FrontPorchStart, XVtc_HoriOffsets::V0SyncHoriEnd, XVtc_HoriOffsets::V0SyncHoriStart, XVtc_Signal::V0SyncStart, XVtc_Timing::V0SyncWidth, XVtc_Signal::V0Total, XVtc_Signal::V1ActiveStart, XVtc_Timing::V1BackPorch, XVtc_Signal::V1BackPorchStart, XVtc_HoriOffsets::V1BlankHoriEnd, XVtc_HoriOffsets::V1BlankHoriStart, XVtc_Signal::V1ChromaStart, XVtc_Timing::V1FrontPorch, XVtc_Signal::V1FrontPorchStart, XVtc_HoriOffsets::V1SyncHoriEnd, XVtc_HoriOffsets::V1SyncHoriStart, XVtc_Signal::V1SyncStart, XVtc_Timing::V1SyncWidth, XVtc_Signal::V1Total, XVtc_Timing::VActiveVideo, XVtc_Polarity::VBlankPol, XVtc_Polarity::VSyncPol, and XVtc_Timing::VSyncPolarity.

Referenced by XVtc_SetGeneratorTiming().

u16 XVtc_ConvTiming2VideoMode ( XVtc InstancePtr,
XVtc_Timing TimingPtr 
)

This function converts the video timing structure into predefined video mode values returned as a short integer.

Parameters
InstancePtris a pointer to the VTC instance to be worked on.
TimingPtris a pointer to a Video Timing structure to be read.
Returns
VideoMode is the video mode of the VTC core.
Note
None.

References XVtc_Timing::HActiveVideo, XVtc_Timing::Interlaced, XVtc::IsReady, XVtc_Timing::VActiveVideo, XVTC_VMODE_1080I, XVTC_VMODE_1080P, XVTC_VMODE_480P, XVTC_VMODE_576P, XVTC_VMODE_720P, XVTC_VMODE_NTSC, XVTC_VMODE_PAL, XVTC_VMODE_SVGA, XVTC_VMODE_SXGA, XVTC_VMODE_VGA, XVTC_VMODE_WSXGAPLUS, XVTC_VMODE_WXGAPLUS, and XVTC_VMODE_XGA.

Referenced by XVtc_GetDetectorVideoMode(), and XVtc_GetGeneratorVideoMode().

void XVtc_ConvVideoMode2Timing ( XVtc InstancePtr,
u16  Mode,
XVtc_Timing TimingPtr 
)

This function converts the video mode integer into the video timing information stored within the XVtc_Timing pointer.

Parameters
InstancePtris a pointer to the VTC instance to be worked on.
Modeis a u16 int defined as macro to one of the predefined Video Modes.
TimingPtris a pointer to a VTC Video Timing Structure.
Returns
None.
Note
None.

References XVtc_Timing::HActiveVideo, XVtc_Timing::HBackPorch, XVtc_Timing::HFrontPorch, XVtc_Timing::HSyncPolarity, XVtc_Timing::HSyncWidth, XVtc_Timing::Interlaced, XVtc::IsReady, XVtc_Timing::V0BackPorch, XVtc_Timing::V0FrontPorch, XVtc_Timing::V0SyncWidth, XVtc_Timing::V1BackPorch, XVtc_Timing::V1FrontPorch, XVtc_Timing::V1SyncWidth, XVtc_Timing::VActiveVideo, XVtc_Timing::VSyncPolarity, XVTC_VMODE_1080I, XVTC_VMODE_1080P, XVTC_VMODE_480P, XVTC_VMODE_576P, XVTC_VMODE_720P, XVTC_VMODE_NTSC, XVTC_VMODE_PAL, XVTC_VMODE_SVGA, XVTC_VMODE_SXGA, XVTC_VMODE_VGA, XVTC_VMODE_WSXGAPLUS, XVTC_VMODE_WXGAPLUS, and XVTC_VMODE_XGA.

Referenced by XVtc_SetGeneratorVideoMode().

void XVtc_Disable ( XVtc InstancePtr)

This function disables the Detector and Generator at same time of the VTC core.

Parameters
InstancePtris a pointer to the VTC instance to be worked on.
Returns
None.
Note
None.

References XVtc_Config::BaseAddress, XVtc::Config, XVtc::IsReady, XVTC_CTL_OFFSET, XVTC_CTL_SW_MASK, XVtc_ReadReg, and XVtc_WriteReg.

void XVtc_DisableAdaptiveSync ( XVtc InstancePtr)

This function disable Adaptive-Sync in VTC core.

Parameters
InstancePtris a pointer to the VTC instance to be worked on.
Returns
None.
Note
None.

References XVtc_Config::BaseAddress, XVtc::Config, XVtc::IsReady, XVTC_ADAPTIVE_CTL_OFFSET, XVTC_ADAPTIVE_ENABLE_MASK, XVtc_ReadReg, and XVtc_WriteReg.

void XVtc_DisableDetector ( XVtc InstancePtr)

This function disables the VTC Detector core.

Parameters
InstancePtris a pointer to the VTC instance to be worked on.
Returns
None.
Note
None.

References XVtc_Config::BaseAddress, XVtc::Config, XVtc::IsReady, XVTC_CTL_DE_MASK, XVTC_CTL_OFFSET, XVtc_ReadReg, and XVtc_WriteReg.

void XVtc_DisableGenerator ( XVtc InstancePtr)

This function disables the VTC Generator core.

Parameters
InstancePtris a pointer to the VTC instance to be worked on.
Returns
None.
Note
None.

References XVtc_Config::BaseAddress, XVtc::Config, XVtc::IsReady, XVTC_CTL_GE_MASK, XVTC_CTL_OFFSET, XVtc_ReadReg, and XVtc_WriteReg.

void XVtc_Enable ( XVtc InstancePtr)

This function enables the Detector and Generator at same time of the VTC core.

Parameters
InstancePtris a pointer to the VTC instance to be worked on.
Returns
None.
Note
None.

References XVtc_Config::BaseAddress, XVtc::Config, XVtc::IsReady, XVTC_CTL_OFFSET, XVTC_CTL_SW_MASK, XVtc_ReadReg, and XVtc_WriteReg.

void XVtc_EnableDetector ( XVtc InstancePtr)

This function enables the VTC Detector core.

Parameters
InstancePtris a pointer to the VTC instance to be worked on.
Returns
None.
Note
None.

References XVtc_Config::BaseAddress, XVtc::Config, XVtc::IsReady, XVTC_CTL_DE_MASK, XVTC_CTL_OFFSET, XVtc_ReadReg, and XVtc_WriteReg.

void XVtc_EnableGenerator ( XVtc InstancePtr)

This function enables the VTC Generator core.

Parameters
InstancePtris a pointer to the VTC instance to be worked on.
Returns
None.
Note
None.

References XVtc_Config::BaseAddress, XVtc::Config, XVtc::IsReady, XVTC_CTL_GE_MASK, XVTC_CTL_OFFSET, XVtc_ReadReg, and XVtc_WriteReg.

void XVtc_GetDelay ( XVtc InstancePtr,
int *  VertDelayPtr,
int *  HoriDelayPtr 
)

This function gets the Generator delay setting used by the VTC core.

Parameters
InstancePtris a pointer to the VTC instance to be worked on.
VertDelayPtrwill point to a value indicating the number of total lines per frame to delay the generator output after this function returns.
HoriDelayPtrwill point to a value indicating the number of total clock cycles per line to delay the generator output after this function returns.
Returns
None.
Note
None.

References XVtc_Config::BaseAddress, XVtc::Config, XVtc::IsReady, XVTC_GGD_HDELAY_MASK, XVTC_GGD_OFFSET, XVTC_GGD_VDELAY_MASK, XVTC_GGD_VDELAY_SHIFT, and XVtc_ReadReg.

void XVtc_GetDetectorHoriOffset ( XVtc InstancePtr,
XVtc_HoriOffsets HoriOffsets 
)

This function gets the VBlank/VSync Horizontal Offsets detected by the Detector in the VTC core.

Parameters
InstancePtris a pointer to the VTC instance to be worked on.
HoriOffsetspoints to a VBlank/VSync Horizontal Offset configuration structure that will be populated with the setting detected on the Detector in the given VTC device after this function returns.
Returns
None.
Note
None.

References XVtc_Config::BaseAddress, XVtc::Config, XVtc::IsReady, XVtc_HoriOffsets::V0BlankHoriEnd, XVtc_HoriOffsets::V0BlankHoriStart, XVtc_HoriOffsets::V0SyncHoriEnd, XVtc_HoriOffsets::V0SyncHoriStart, XVtc_HoriOffsets::V1BlankHoriEnd, XVtc_HoriOffsets::V1BlankHoriStart, XVtc_HoriOffsets::V1SyncHoriEnd, XVtc_HoriOffsets::V1SyncHoriStart, XVTC_DVBHOFF_F1_OFFSET, XVTC_DVBHOFF_OFFSET, XVTC_DVSHOFF_F1_OFFSET, XVTC_DVSHOFF_OFFSET, XVtc_ReadReg, XVTC_XVXHOX_HEND_MASK, XVTC_XVXHOX_HEND_SHIFT, and XVTC_XVXHOX_HSTART_MASK.

Referenced by XVtc_GetDetectorTiming().

void XVtc_GetDetectorPolarity ( XVtc InstancePtr,
XVtc_Polarity PolarityPtr 
)

This function gets the input polarity setting used by the VTC core.

Parameters
InstancePtris a pointer to the VTC instance to be worked on.
PolarityPtrpoints to a Polarity configuration structure that will be populated with the setting used on the VTC core after this function returns.
Returns
None.
Note
None.

References XVtc_Polarity::ActiveChromaPol, XVtc_Polarity::ActiveVideoPol, XVtc_Config::BaseAddress, XVtc::Config, XVtc_Polarity::FieldIdPol, XVtc_Polarity::HBlankPol, XVtc_Polarity::HSyncPol, XVtc::IsReady, XVtc_Polarity::VBlankPol, XVtc_Polarity::VSyncPol, XVTC_DPOL_OFFSET, XVTC_POL_ACP_MASK, XVTC_POL_AVP_MASK, XVTC_POL_FIP_MASK, XVTC_POL_HBP_MASK, XVTC_POL_HSP_MASK, XVTC_POL_VBP_MASK, XVTC_POL_VSP_MASK, and XVtc_ReadReg.

Referenced by XVtc_GetDetectorTiming().

void XVtc_GetDetectorTiming ( XVtc InstancePtr,
XVtc_Timing TimingPtr 
)

This function gets the video timing structure settings currently reported by the detector in the VTC core.

Parameters
InstancePtris a pointer to the VTC instance to be worked on.
TimingPtris a pointer to a Video Timing structure to be set.
Returns
None.
Note
None.

References XVtc::IsReady, XVtc_Signal::OriginMode, XVtc_ConvSignal2Timing(), XVtc_GetDetector(), XVtc_GetDetectorHoriOffset(), and XVtc_GetDetectorPolarity().

Referenced by XVtc_GetDetectorVideoMode().

u16 XVtc_GetDetectorVideoMode ( XVtc InstancePtr)

This function gets the video mode currently reported by the detector in the VTC core.

If the video mode is unknown or not recognized, then 0 will be returned.

Parameters
InstancePtris a pointer to the VTC instance to be worked on.
Returns
VideoMode is the video mode of the VTC core.
Note
None.

References XVtc::IsReady, XVtc_ConvTiming2VideoMode(), and XVtc_GetDetectorTiming().

void XVtc_GetFSync ( XVtc InstancePtr,
u16  FrameSyncIndex,
u16 *  VertStartPtr,
u16 *  HoriStartPtr 
)

This function gets the SYNC setting of a frame sync used by the VTC core.

Parameters
InstancePtris a pointer to the VTC instance to be worked on.
FrameSyncIndexindicates the index number of the frame sync. The valid range is from 0 to 15.
VertStartPtrwill point to the value that indicates the vertical line count during which the frame sync is active once this function returns.
HoriStartPtrwill point to the value that indicates the horizontal cycle count during which the frame sync is active once this function returns.
Returns
None.

References XVtc_Config::BaseAddress, XVtc::Config, XVtc::IsReady, XVTC_FS00_OFFSET, XVTC_FSXX_HSTART_MASK, XVTC_FSXX_VSTART_MASK, XVTC_FSXX_VSTART_SHIFT, XVtc_ReadReg, and XVTC_REG_ADDRGAP.

void XVtc_GetGeneratorHoriOffset ( XVtc InstancePtr,
XVtc_HoriOffsets HoriOffsets 
)

This function gets the VBlank/VSync Horizontal Offsets currently used by the Generator in the VTC core.

Parameters
InstancePtris a pointer to the VTC instance to be worked on.
HoriOffsetspoints to a VBlank/VSync Horizontal Offset configuration structure that will be populated with the setting currently used on the Generator in the given VTC device after this function returns.
Returns
None.
Note
None.

References XVtc_Config::BaseAddress, XVtc::Config, XVtc::IsReady, XVtc_HoriOffsets::V0BlankHoriEnd, XVtc_HoriOffsets::V0BlankHoriStart, XVtc_HoriOffsets::V0SyncHoriEnd, XVtc_HoriOffsets::V0SyncHoriStart, XVtc_HoriOffsets::V1BlankHoriEnd, XVtc_HoriOffsets::V1BlankHoriStart, XVtc_HoriOffsets::V1SyncHoriEnd, XVtc_HoriOffsets::V1SyncHoriStart, XVTC_GVBHOFF_F1_OFFSET, XVTC_GVBHOFF_OFFSET, XVTC_GVSHOFF_F1_OFFSET, XVTC_GVSHOFF_OFFSET, XVtc_ReadReg, XVTC_XVXHOX_HEND_MASK, XVTC_XVXHOX_HEND_SHIFT, and XVTC_XVXHOX_HSTART_MASK.

Referenced by XVtc_GetGeneratorTiming().

void XVtc_GetGeneratorTiming ( XVtc InstancePtr,
XVtc_Timing TimingPtr 
)

This function gets the video timing structure settings currently used by generator in the VTC core.

Parameters
InstancePtris a pointer to the VTC instance to be worked on.
TimingPtris a pointer to a Video Timing Structure to be set.
Returns
None.
Note
None.

References XVtc::IsReady, XVtc_Signal::OriginMode, XVtc_ConvSignal2Timing(), XVtc_GetGenerator(), XVtc_GetGeneratorHoriOffset(), and XVtc_GetPolarity().

Referenced by XVtc_GetGeneratorVideoMode().

u16 XVtc_GetGeneratorVideoMode ( XVtc InstancePtr)

This function gets the video mode currently used by the generator in the VTC core.

If the video mode is unknown or not recognized, then 0 will be returned.

Parameters
InstancePtris a pointer to the VTC instance to be worked on.
Returns
VideoMode is the video mode of the VTC core.
Note
Note.

References XVtc::IsReady, XVtc_ConvTiming2VideoMode(), and XVtc_GetGeneratorTiming().

void XVtc_GetPolarity ( XVtc InstancePtr,
XVtc_Polarity PolarityPtr 
)

This function gets the output polarity setting used by the VTC core.

Parameters
InstancePtris a pointer to the VTC instance to be worked on.
PolarityPtrpoints to a Polarity configuration structure that will be populated with the setting used on the VTC core after this function returns.
Returns
None.
Note
None.

References XVtc_Polarity::ActiveChromaPol, XVtc_Polarity::ActiveVideoPol, XVtc_Config::BaseAddress, XVtc::Config, XVtc_Polarity::FieldIdPol, XVtc_Polarity::HBlankPol, XVtc_Polarity::HSyncPol, XVtc::IsReady, XVtc_Polarity::VBlankPol, XVtc_Polarity::VSyncPol, XVTC_GPOL_OFFSET, XVTC_POL_ACP_MASK, XVTC_POL_AVP_MASK, XVTC_POL_FIP_MASK, XVTC_POL_HBP_MASK, XVTC_POL_HSP_MASK, XVTC_POL_VBP_MASK, XVTC_POL_VSP_MASK, and XVtc_ReadReg.

Referenced by XVtc_GetGeneratorTiming().

void XVtc_GetSkipLine ( XVtc InstancePtr,
int *  GeneratorChromaSkipPtr 
)

This function gets the line skip setting used by the Generator in the VTC core.

Parameters
InstancePtris a pointer to the VTC instance to be worked on.
GeneratorChromaSkipPtrwill point to the value indicating whether one line is skipped between active chroma for the Generator module after this function returns. Value 1 means that 1 line is skipped and zero means that no lines are skipped.
Returns
None.
Note
None.

References XVtc_Config::BaseAddress, XVtc::Config, XVtc::IsReady, XVTC_ENC_GACLS_MASK, XVTC_GFENC_OFFSET, and XVtc_ReadReg.

void XVtc_GetSkipPixel ( XVtc InstancePtr,
int *  GeneratorChromaSkipPtr 
)

This function gets the pixel skip setting used by the Generator in the VTC core.

Parameters
InstancePtris a pointer to the VTC instance to be worked on.
GeneratorChromaSkipPtrwill point to the value indicating whether one pixel is skipped between active chroma for the Generator module after this function returns. Value 1 means that 1 pixel is skipped and zero means that no pixels are skipped.
Returns
None.
Note
None.

References XVtc_Config::BaseAddress, XVtc::Config, XVtc::IsReady, XVTC_ENC_GACPS_MASK, XVTC_GFENC_OFFSET, and XVtc_ReadReg.

u32 XVtc_GetVersion ( XVtc InstancePtr)

This function facilitates software identification of exact version of the VTC hardware (h/w).

Parameters
InstancePtris a pointer to the XVtc instance.
Returns
Version, contents of a Version register.
Note
None.

References XVtc_Config::BaseAddress, XVtc::Config, XVtc_ReadReg, and XVTC_VER_OFFSET.

void XVtc_IntrHandler ( void *  InstancePtr)

This function is the interrupt handler for the VTC core.

This handler reads the pending interrupt from the IER/ISR, determines the source of the interrupts, calls according callbacks and finally clears the interrupts.

The application is responsible for connecting this function to the interrupt system. Application beyond this driver is also responsible for providing callbacks to handle interrupts and installing the callbacks using XVtc_SetCallBack() during initialization phase.

Parameters
InstancePtris a pointer to the XVtc instance that just interrupted.
Returns
None.
Note
None.

References XVtc::DetectorCallBack, XVtc::DetectorRef, XVtc::ErrCallBack, XVtc::ErrRef, XVtc::FrameSyncCallBack, XVtc::FrameSyncRef, XVtc::GeneratorCallBack, XVtc::GeneratorRef, XVtc::IsReady, XVtc::LockCallBack, XVtc::LockRef, XVtc_IntrClear, XVtc_IntrGetPending, XVTC_IXR_D_ALL_MASK, XVTC_IXR_FSYNCALL_MASK, XVTC_IXR_G_ALL_MASK, and XVTC_IXR_LOCKALL_MASK.

XVtc_Config * XVtc_LookupConfig ( u16  DeviceId)

This function returns a reference to an XVtc_Config structure based on the core id, DeviceId.

The return value will refer to an entry in the device configuration table defined in the xvtc_g.c file.

Parameters
DeviceIdis the unique core ID of the VTC core for the lookup operation.
Returns
XVtc_LookupConfig returns a reference to a config record in the configuration table (in xvtc_g.c) corresponding to DeviceId, or NULL if no match is found.
Note
None.

Referenced by XVtcSelfTestExample().

int XVtc_SelfTest ( XVtc InstancePtr)

This function reads version register of the VTC core and compares with zero as part of self test.

Parameters
InstancePtris a pointer to the XVtc instance.
Returns
  • XST_SUCCESS if the Version register read test was successful.
  • XST_FAILURE if the Version register read test failed.
Note
None.

References XVtc_ReadReg, and XVTC_VER_OFFSET.

Referenced by XVtcSelfTestExample().

void XVtc_SetAdaptiveSyncMode ( XVtc InstancePtr,
XVtc_AdaptiveSyncMode  Mode 
)

This function sets the vertical front porch stretch mechanism in VTC core to support Adaptive-Sync feature.

VTC core supports two types of stretch mechanisms. 1.Fixed stretch mode 2. Auto adjust mode

Parameters
InstancePtris a pointer to the VTC instance
modeis the type of mode that is being set.
Returns
None.
Note
Modification of this register is fine irrespective of whether VTC has started or not.

References XVtc_Config::BaseAddress, XVtc::Config, XVtc::IsReady, XVTC_ADAPTIVE_CTL_OFFSET, XVTC_ADAPTIVE_ENABLE_MASK, XVTC_ADAPTIVE_MODE_MASK, XVtc_ReadReg, and XVtc_WriteReg.

int XVtc_SetCallBack ( XVtc InstancePtr,
u32  HandlerType,
void *  CallBackFunc,
void *  CallBackRef 
)

This routine installs an asynchronous callback function for the given HandlerType:

HandlerType              Callback Function Type
-----------------------  --------------------------------------------------
XVTC_HANDLER_FRAMESYNC   XVtc_FrameSyncCallBack
XVTC_HANDLER_LOCK        XVtc_LockCallBack
XVTC_HANDLER_DETECTOR    XVtc_DetectorCallBack
XVTC_HANDLER_GENERATOR   XVtc_GeneratorCallBack
XVTC_HANDLER_ERROR       XVtc_ErrCallBack
HandlerType              Invoked by this driver when:
-----------------------  --------------------------------------------------
XVTC_HANDLER_FRAMESYNC   A frame sync event happens
XVTC_HANDLER_LOCK        A signal lock event happens
XVTC_HANDLER_DETECTOR    A detector related event happens
XVTC_HANDLER_GENERATOR   A generator related event happens
XVTC_HANDLER_ERROR       An error condition happens
Parameters
InstancePtris a pointer to the XVtc instance to be worked on.
HandlerTypespecifies which callback is to be attached.
CallBackFuncis the address of the callback function.
CallBackRefis a user data item that will be passed to the callback function when it is invoked.
Returns
  • XST_SUCCESS when handler is installed.
  • XST_INVALID_PARAM when HandlerType is invalid.
Note
Invoking this function for a handler that already has been installed replaces it with the new handler.

References XVtc::DetectorCallBack, XVtc::DetectorRef, XVtc::ErrCallBack, XVtc::ErrRef, XVtc::FrameSyncCallBack, XVtc::FrameSyncRef, XVtc::GeneratorCallBack, XVtc::GeneratorRef, XVtc::IsReady, XVtc::LockCallBack, XVtc::LockRef, XVTC_HANDLER_DETECTOR, XVTC_HANDLER_ERROR, XVTC_HANDLER_FRAMESYNC, XVTC_HANDLER_GENERATOR, and XVTC_HANDLER_LOCK.

void XVtc_SetDelay ( XVtc InstancePtr,
int  VertDelay,
int  HoriDelay 
)

This function sets up the Generator delay setting of the VTC core.

Parameters
InstancePtris a pointer to the VTC instance to be worked on.
VertDelayindicates the number of total lines per frame to delay the generator output. The valid range is from 0 to 4095.
HoriDelayindicates the number of total clock cycles per line to delay the generator output. The valid range is from 0 to 4095.
Returns
None.
Note
None.

References XVtc_Config::BaseAddress, XVtc::Config, XVtc::IsReady, XVTC_GGD_HDELAY_MASK, XVTC_GGD_OFFSET, XVTC_GGD_VDELAY_MASK, XVTC_GGD_VDELAY_SHIFT, and XVtc_WriteReg.

void XVtc_SetFSync ( XVtc InstancePtr,
u16  FrameSyncIndex,
u16  VertStart,
u16  HoriStart 
)

This function sets up the SYNC setting of a frame sync used by the VTC core.

Parameters
InstancePtris a pointer to the VTC instance to be worked on.
FrameSyncIndexindicates the index number of the frame sync. The valid range is from 0 to 15.
VertStartindicates the vertical line count during which the frame sync is active. The valid range is from 0 to 4095.
HoriStartindicates the horizontal cycle count during which the frame sync is active. The valid range is from 0 to 4095.
Returns
None.
Note
None.

References XVtc_Config::BaseAddress, XVtc::Config, XVtc::IsReady, XVTC_FS00_OFFSET, XVTC_FSXX_HSTART_MASK, XVTC_FSXX_VSTART_MASK, XVTC_FSXX_VSTART_SHIFT, XVTC_REG_ADDRGAP, and XVtc_WriteReg.

void XVtc_SetGenerator ( XVtc InstancePtr,
XVtc_Signal SignalCfgPtr 
)

This function sets up VTC signal to be used by the Generator module in the VTC core.

Parameters
InstancePtris a pointer to the VTC instance to be worked on.
SignalCfgPtris a pointer to the VTC signal configuration to be used by the Generator module in the VTC core.
Returns
None.
Note
None.

References XVtc_Config::BaseAddress, XVtc::Config, XVtc_Signal::HActiveStart, XVtc_Signal::HBackPorchStart, XVtc_Signal::HFrontPorchStart, XVtc_Signal::HSyncStart, XVtc_Signal::HTotal, XVtc_Signal::Interlaced, XVtc::IsReady, XVtc_Signal::OriginMode, XVtc_Signal::V0ActiveStart, XVtc_Signal::V0BackPorchStart, XVtc_HoriOffsets::V0BlankHoriEnd, XVtc_HoriOffsets::V0BlankHoriStart, XVtc_Signal::V0ChromaStart, XVtc_Signal::V0FrontPorchStart, XVtc_HoriOffsets::V0SyncHoriEnd, XVtc_HoriOffsets::V0SyncHoriStart, XVtc_Signal::V0SyncStart, XVtc_Signal::V0Total, XVtc_Signal::V1BackPorchStart, XVtc_HoriOffsets::V1BlankHoriEnd, XVtc_HoriOffsets::V1BlankHoriStart, XVtc_HoriOffsets::V1SyncHoriEnd, XVtc_HoriOffsets::V1SyncHoriStart, XVtc_Signal::V1SyncStart, XVtc_Signal::V1Total, XVTC_ASIZE_HORI_MASK, XVTC_ASIZE_VERT_MASK, XVTC_ASIZE_VERT_SHIFT, XVTC_ENC_CPARITY_MASK, XVTC_ENC_CPARITY_SHIFT, XVTC_ENC_PROG_MASK, XVTC_ENC_PROG_SHIFT, XVTC_GASIZE_F1_OFFSET, XVTC_GASIZE_OFFSET, XVTC_GFENC_OFFSET, XVTC_GHSIZE_OFFSET, XVTC_GHSYNC_OFFSET, XVTC_GVSIZE_OFFSET, XVTC_GVSYNC_F1_OFFSET, XVTC_GVSYNC_OFFSET, XVtc_ReadReg, XVTC_SB_END_MASK, XVTC_SB_END_SHIFT, XVTC_SB_START_MASK, XVtc_SetGeneratorHoriOffset(), XVTC_VSIZE_F0_MASK, XVTC_VSIZE_F1_MASK, XVTC_VSIZE_F1_SHIFT, and XVtc_WriteReg.

Referenced by XVtc_SetGeneratorTiming().

void XVtc_SetGeneratorHoriOffset ( XVtc InstancePtr,
XVtc_HoriOffsets HoriOffsets 
)

This function sets the VBlank/VSync Horizontal Offsets for the Generator in a VTC device.

Parameters
InstancePtris a pointer to the VTC device instance to be worked on.
HoriOffsetspoints to a VBlank/VSync Horizontal Offset configuration with the setting to use on the VTC device.
Returns
NONE.

References XVtc_Config::BaseAddress, XVtc::Config, XVtc::IsReady, XVtc_HoriOffsets::V0BlankHoriEnd, XVtc_HoriOffsets::V0BlankHoriStart, XVtc_HoriOffsets::V0SyncHoriEnd, XVtc_HoriOffsets::V0SyncHoriStart, XVtc_HoriOffsets::V1BlankHoriEnd, XVtc_HoriOffsets::V1BlankHoriStart, XVtc_HoriOffsets::V1SyncHoriEnd, XVtc_HoriOffsets::V1SyncHoriStart, XVTC_GVBHOFF_F1_OFFSET, XVTC_GVBHOFF_OFFSET, XVTC_GVSHOFF_F1_OFFSET, XVTC_GVSHOFF_OFFSET, XVtc_WriteReg, XVTC_XVXHOX_HEND_MASK, XVTC_XVXHOX_HEND_SHIFT, and XVTC_XVXHOX_HSTART_MASK.

Referenced by XVtc_SetGenerator(), and XVtc_SetGeneratorTiming().

void XVtc_SetGeneratorTiming ( XVtc InstancePtr,
XVtc_Timing TimingPtr 
)

This function sets up the generator (Polarity, H/V values and horizontal offsets) by reading the configuration from a video timing structure.

Parameters
InstancePtris a pointer to the VTC instance to be worked on.
TimingPtris a pointer to a Video Timing Structure to be read.
Returns
None.
Note
None.

References XVtc::IsReady, XVtc_ConvTiming2Signal(), XVtc_SetGenerator(), XVtc_SetGeneratorHoriOffset(), and XVtc_SetPolarity().

Referenced by XVtc_SetGeneratorVideoMode().

void XVtc_SetGeneratorVideoMode ( XVtc InstancePtr,
u16  Mode 
)

This function sets up the generator (Polarity, H/V values and horizontal offsets) by reading the configuration from a video mode short integer.

Parameters
InstancePtris a pointer to the VTC instance to be worked on.
Modeis a short integer predefined video mode.
Returns
None.
Note
None.

References XVtc::IsReady, XVtc_ConvVideoMode2Timing(), and XVtc_SetGeneratorTiming().

void XVtc_SetPolarity ( XVtc InstancePtr,
XVtc_Polarity PolarityPtr 
)

This function sets up the output polarity of the VTC core.

Parameters
InstancePtris a pointer to the VTC instance to be worked on.
PolarityPtrpoints to a Polarity configuration structure with the setting to use on the VTC core.
Returns
None.
Note
None.

References XVtc_Polarity::ActiveChromaPol, XVtc_Polarity::ActiveVideoPol, XVtc_Config::BaseAddress, XVtc::Config, XVtc_Polarity::FieldIdPol, XVtc_Polarity::HBlankPol, XVtc_Polarity::HSyncPol, XVtc::IsReady, XVtc_Polarity::VBlankPol, XVtc_Polarity::VSyncPol, XVTC_GPOL_OFFSET, XVTC_POL_ACP_MASK, XVTC_POL_ALLP_MASK, XVTC_POL_AVP_MASK, XVTC_POL_FIP_MASK, XVTC_POL_HBP_MASK, XVTC_POL_HSP_MASK, XVTC_POL_VBP_MASK, XVTC_POL_VSP_MASK, XVtc_ReadReg, and XVtc_WriteReg.

Referenced by XVtc_SetGeneratorTiming().

void XVtc_SetSkipLine ( XVtc InstancePtr,
int  GeneratorChromaSkip 
)

This function sets up the line skip setting of the Generator in the VTC core.

Parameters
InstancePtris a pointer to the VTC instance to be worked on.
GeneratorChromaSkipindicates whether to skip 1 line between active chroma for the Generator module. Use Non-0 value for this parameter to skip 1 line, and 0 to not skip lines.
Returns
None.
Note
None.

References XVtc_Config::BaseAddress, XVtc::Config, XVtc::IsReady, XVTC_ENC_GACLS_MASK, XVTC_GFENC_OFFSET, XVtc_ReadReg, and XVtc_WriteReg.

void XVtc_SetSkipPixel ( XVtc InstancePtr,
int  GeneratorChromaSkip 
)

This function sets up the pixel skip setting of the Generator in the VTC core.

Parameters
InstancePtris a pointer to the VTC instance to be worked on.
GeneratorChromaSkipindicates whether to skip 1 pixel between active chroma for the Generator module. Use Non-0 value for this parameter to skip 1 pixel, and 0 to not skip pixels
Returns
None.
Note
None.

References XVtc_Config::BaseAddress, XVtc::Config, XVtc::IsReady, XVTC_ENC_GACPS_MASK, XVTC_GFENC_OFFSET, XVtc_ReadReg, and XVtc_WriteReg.

void XVtc_SetVfpStretchLimit ( XVtc InstancePtr,
u32  StretchLimit 
)

This function sets vertical front porch stretch limit.

Parameters
InstancePtris a pointer to the VTC instance to be worked on.
StretchLimitis the vertical front porch stretch limit to be set.
Returns
None.
Note
None.

References XVtc_Config::BaseAddress, XVtc::Config, XVtc::IsReady, XVTC_VFP_STRETCH_OFFSET, and XVtc_WriteReg.