vtc
Vitis Drivers API Documentation
|
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_Config * | XVtc_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 | |
#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 | |
#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... | |
#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_OFFSET 0x000 |
Control Register Offset.
Referenced by XVtc_Disable(), XVtc_DisableDetector(), XVtc_DisableGenerator(), XVtc_Enable(), XVtc_EnableDetector(), XVtc_EnableGenerator(), 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 | ) |
This function macro disables synchronization of the Generator with the Detector on the given VTC core.
InstancePtr | is a pointer to the VTC core instance to be worked on. |
#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 | ) |
This function macro enables synchronization of the Generator with the Detector on the given VTC core.
InstancePtr | is a pointer to the VTC core instance to be worked on. |
#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.
InstancePtr | is a pointer to the VTC core instance to be worked on. |
#define XVTC_GFENC_OFFSET 0x068 |
Generator Encoding Offset.
Referenced by XVtc_GetGenerator(), XVtc_GetSkipLine(), XVtc_GetSkipPixel(), XVtc_SetGenerator(), XVtc_SetSkipLine(), and XVtc_SetSkipPixel().
#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 | |||
) |
This function macro clears/acknowledges pending interrupts of the VTC core in the Status register.
Bit positions of 1 will be cleared.
InstancePtr | is a pointer to the VTC core instance to be worked on. |
IntrType | is the pending interrupts to clear/acknowledge. Use OR'ing of XVTC_IXR_*_MASK constants defined in xvtc_hw.h to create this parameter value. |
Referenced by XVtc_IntrHandler().
#define XVtc_IntrDisable | ( | InstancePtr, | |
IntrType | |||
) |
This function macro disables individual interrupts of the VTC core by updating the IRQ_ENABLE register.
InstancePtr | is a pointer to the VTC core instance to be worked on. |
IntrType | is 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. |
#define XVtc_IntrEnable | ( | InstancePtr, | |
IntrType | |||
) |
This function macro enables individual interrupts of the VTC core by updating the IRQ_ENABLE register.
InstancePtr | is a pointer to the VTC core instance to be worked on. |
IntrType | is 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. |
#define XVtc_IntrGetPending | ( | InstancePtr | ) |
This function macro returns the pending interrupts of the VTC core for the interrupts that have been enabled.
InstancePtr | is a pointer to the VTC core instance to be worked on. |
Referenced by XVtc_IntrHandler().
#define XVTC_ISR_OFFSET 0x004 |
Status/Interrupt Status Register Offset.
#define XVTC_IXR_ALLINTR_MASK |
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)) |
This function macro reads the given register.
BaseAddress | is the base address of the VTC core. |
RegOffset | is the register offset of the register (defined at top of this file). |
Referenced by XVtc_Disable(), XVtc_DisableAdaptiveSync(), XVtc_DisableDetector(), XVtc_DisableGenerator(), XVtc_Enable(), XVtc_EnableDetector(), XVtc_EnableGenerator(), XVtc_GetDelay(), XVtc_GetDetector(), XVtc_GetDetectorHoriOffset(), XVtc_GetDetectorPolarity(), XVtc_GetFSync(), XVtc_GetGenerator(), XVtc_GetGeneratorHoriOffset(), XVtc_GetPolarity(), XVtc_GetSkipLine(), XVtc_GetSkipPixel(), XVtc_GetSource(), XVtc_GetVersion(), XVtc_SelfTest(), XVtc_SetAdaptiveSyncMode(), XVtc_SetGenerator(), XVtc_SetPolarity(), XVtc_SetSkipLine(), XVtc_SetSkipPixel(), and XVtc_SetSource().
#define XVTC_REG_ADDRGAP 4 |
Register address gap.
Referenced by XVtc_GetFSync(), and XVtc_SetFSync().
#define XVtc_RegUpdateDisable | ( | InstancePtr | ) |
This function macro disables updating timing registers at the end of each Generator frame.
InstancePtr | is a pointer to the VTC core instance to be worked on. |
#define XVtc_RegUpdateEnable | ( | InstancePtr | ) |
This function macro enables updating timing registers at the end of each Generator frame.
InstancePtr | is a pointer to the VTC core instance to be worked on. |
#define XVtc_Reset | ( | InstancePtr | ) |
This function macro resets the VTC core.
InstancePtr | is a pointer to the VTC instance to be worked on. |
#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 | ) |
This function macro returns the pending interrupt status of the VTC core read from the Status register.
InstancePtr | is a pointer to the VTC core instance to be worked on. |
#define XVtc_Sync_Reset XVtc_SyncReset |
This function macro resets the VTC core after the next input frame is complete.
InstancePtr | is a pointer to the VTC core instance to be worked on. |
#define XVtc_SyncReset | ( | InstancePtr | ) |
This function macro resets the VTC core after the next input frame is complete.
InstancePtr | is a pointer to the VTC core instance to be worked on. |
#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.
BaseAddress | is the base address of the VTC core. |
RegOffset | is the register offset of the register (defined at top of this file) to be written. |
Data | is the 32-bit value to write to the register. |
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 |
Horizontal Offset End Mask.
Referenced by XVtc_GetDetectorHoriOffset(), XVtc_GetGeneratorHoriOffset(), and XVtc_SetGeneratorHoriOffset().
#define XVTC_XVXHOX_HEND_SHIFT 16 |
Horizontal End Shift.
Referenced by XVtc_GetDetectorHoriOffset(), XVtc_GetGeneratorHoriOffset(), and XVtc_SetGeneratorHoriOffset().
#define XVTC_XVXHOX_HSTART_MASK 0x00003FFF |
Horizontal Offset Start Offset.
Referenced by XVtc_GetDetectorHoriOffset(), XVtc_GetGeneratorHoriOffset(), and XVtc_SetGeneratorHoriOffset().
typedef void(* XVtc_CallBack)(void *CallBackRef, u32 Mask) |
Callback type for all interrupts except error interrupt.
CallBackRef | is 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. |
Mask | is 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. |
typedef void(* XVtc_ErrorCallBack)(void *CallBackRef, u32 ErrorMask) |
Callback type for Error interrupt.
CallBackRef | is 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. |
ErrorMask | is a bit mask indicating the cause of the error. For current core version, this parameter always have value 0 and could be ignored. |
This typedef enumerates the list of vertical front porch stretch mechanism supported by VTC core.
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.
InstancePtr | is a pointer to the VTC core instance to be worked on. |
CfgPtr | points to the configuration structure associated with the VTC core. |
EffectiveAddr | is 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. |
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.
InstancePtr | is a pointer to the VTC instance to be worked on. |
SignalCfgPtr | is a pointer to a VTC signal configuration to be read |
HOffPtr | is a pointer to a VTC horizontal offsets structure to be read |
PolarityPtr | is a pointer to a VTC polarity structure to be read. |
TimingPtr | is a pointer to a Video Timing structure to be set. |
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.
InstancePtr | is a pointer to the VTC instance to be worked on. |
TimingPtr | is a pointer to a Video Timing structure to be read. |
SignalCfgPtr | is a pointer to a VTC signal configuration to be set. |
HOffPtr | is a pointer to a VTC horizontal offsets structure to be set. |
PolarityPtr | is a pointer to a VTC polarity structure to be set. |
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.
InstancePtr | is a pointer to the VTC instance to be worked on. |
TimingPtr | is a pointer to a Video Timing structure to be read. |
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.
InstancePtr | is a pointer to the VTC instance to be worked on. |
Mode | is a u16 int defined as macro to one of the predefined Video Modes. |
TimingPtr | is a pointer to a VTC Video Timing Structure. |
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.
InstancePtr | is a pointer to the VTC instance to be worked on. |
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.
InstancePtr | is a pointer to the VTC instance to be worked on. |
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.
InstancePtr | is a pointer to the VTC instance to be worked on. |
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.
InstancePtr | is a pointer to the VTC instance to be worked on. |
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.
InstancePtr | is a pointer to the VTC instance to be worked on. |
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.
InstancePtr | is a pointer to the VTC instance to be worked on. |
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.
InstancePtr | is a pointer to the VTC instance to be worked on. |
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.
InstancePtr | is a pointer to the VTC instance to be worked on. |
VertDelayPtr | will point to a value indicating the number of total lines per frame to delay the generator output after this function returns. |
HoriDelayPtr | will point to a value indicating the number of total clock cycles per line to delay the generator output after this function returns. |
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_GetDetector | ( | XVtc * | InstancePtr, |
XVtc_Signal * | SignalCfgPtr | ||
) |
This function gets the VTC signal setting used by the Detector module in the VTC core.
InstancePtr | is a pointer to the VTC instance to be worked on. |
SignalCfgPtr | is a pointer to a VTC signal configuration which will be populated with the setting used by the Detector module in the VTC core once this function returns. |
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_Signal::V0ChromaStart, XVtc_Signal::V0FrontPorchStart, XVtc_Signal::V0SyncStart, XVtc_Signal::V0Total, XVtc_Signal::V1ActiveStart, XVtc_Signal::V1BackPorchStart, XVtc_Signal::V1ChromaStart, XVtc_Signal::V1FrontPorchStart, XVtc_Signal::V1SyncStart, XVtc_Signal::V1Total, XVTC_DASIZE_OFFSET, XVTC_DFENC_OFFSET, XVTC_DHSIZE_OFFSET, XVTC_DHSYNC_OFFSET, XVTC_DVSIZE_OFFSET, XVTC_DVSYNC_F1_OFFSET, XVTC_DVSYNC_OFFSET, XVTC_ENC_CPARITY_MASK, XVTC_ENC_CPARITY_SHIFT, XVTC_ENC_PROG_MASK, XVTC_ENC_PROG_SHIFT, XVTC_GVSYNC_F1_OFFSET, XVtc_ReadReg, XVTC_SB_END_SHIFT, and XVTC_SB_START_MASK.
Referenced by XVtc_GetDetectorTiming().
void XVtc_GetDetectorHoriOffset | ( | XVtc * | InstancePtr, |
XVtc_HoriOffsets * | HoriOffsets | ||
) |
This function gets the VBlank/VSync Horizontal Offsets detected by the Detector in the VTC core.
InstancePtr | is a pointer to the VTC instance to be worked on. |
HoriOffsets | points 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. |
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.
InstancePtr | is a pointer to the VTC instance to be worked on. |
PolarityPtr | points to a Polarity configuration structure that will be populated with the setting used on the VTC core after this function returns. |
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.
InstancePtr | is a pointer to the VTC instance to be worked on. |
TimingPtr | is a pointer to a Video Timing structure to be set. |
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.
InstancePtr | is a pointer to the VTC instance to be worked on. |
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.
InstancePtr | is a pointer to the VTC instance to be worked on. |
FrameSyncIndex | indicates the index number of the frame sync. The valid range is from 0 to 15. |
VertStartPtr | will point to the value that indicates the vertical line count during which the frame sync is active once this function returns. |
HoriStartPtr | will point to the value that indicates the horizontal cycle count during which the frame sync is active once this function returns. |
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_GetGenerator | ( | XVtc * | InstancePtr, |
XVtc_Signal * | SignalCfgPtr | ||
) |
This function gets the VTC signal setting used by the Generator module in the VTC core.
InstancePtr | is a pointer to the VTC instance to be worked on. |
SignalCfgPtr | is a pointer to a VTC signal configuration which will be populated with the setting used by the Generator module in the VTC core once this function returns. |
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_Signal::V0ChromaStart, XVtc_Signal::V0FrontPorchStart, XVtc_Signal::V0SyncStart, XVtc_Signal::V0Total, XVtc_Signal::V1ActiveStart, XVtc_Signal::V1BackPorchStart, XVtc_Signal::V1ChromaStart, XVtc_Signal::V1FrontPorchStart, 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_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_SHIFT, XVTC_SB_START_MASK, XVTC_VSIZE_F0_MASK, XVTC_VSIZE_F1_MASK, and XVTC_VSIZE_F1_SHIFT.
Referenced by XVtc_GetGeneratorTiming().
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.
InstancePtr | is a pointer to the VTC instance to be worked on. |
HoriOffsets | points 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. |
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.
InstancePtr | is a pointer to the VTC instance to be worked on. |
TimingPtr | is a pointer to a Video Timing Structure to be set. |
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.
InstancePtr | is a pointer to the VTC instance to be worked on. |
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.
InstancePtr | is a pointer to the VTC instance to be worked on. |
PolarityPtr | points to a Polarity configuration structure that will be populated with the setting used on the VTC core after this function returns. |
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.
InstancePtr | is a pointer to the VTC instance to be worked on. |
GeneratorChromaSkipPtr | will 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. |
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.
InstancePtr | is a pointer to the VTC instance to be worked on. |
GeneratorChromaSkipPtr | will 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. |
References XVtc_Config::BaseAddress, XVtc::Config, XVtc::IsReady, XVTC_ENC_GACPS_MASK, XVTC_GFENC_OFFSET, and XVtc_ReadReg.
void XVtc_GetSource | ( | XVtc * | InstancePtr, |
XVtc_SourceSelect * | SourcePtr | ||
) |
This function gets the source select setting used by the VTC core.
InstancePtr | is a pointer to the VTC instance to be worked on. |
SourcePtr | points to a source select configuration structure that will be populated with the setting used on the VTC core after this function returns. |
References XVtc_SourceSelect::ActiveChromaPolSrc, XVtc_SourceSelect::ActiveVideoPolSrc, XVtc_Config::BaseAddress, XVtc::Config, XVtc_SourceSelect::FieldIdPolSrc, XVtc_SourceSelect::HBackPorchSrc, XVtc_SourceSelect::HBlankPolSrc, XVtc_SourceSelect::HFrontPorchSrc, XVtc_SourceSelect::HSyncPolSrc, XVtc_SourceSelect::HSyncSrc, XVtc_SourceSelect::HTotalSrc, XVtc_SourceSelect::InterlacedMode, XVtc::IsReady, XVtc_SourceSelect::VActiveSrc, XVtc_SourceSelect::VBackPorchSrc, XVtc_SourceSelect::VBlankPolSrc, XVtc_SourceSelect::VChromaSrc, XVtc_SourceSelect::VFrontPorchSrc, XVtc_SourceSelect::VSyncPolSrc, XVtc_SourceSelect::VSyncSrc, XVtc_SourceSelect::VTotalSrc, XVTC_CTL_ACPSS_MASK, XVTC_CTL_AVPSS_MASK, XVTC_CTL_FIPSS_MASK, XVTC_CTL_HBPSS_MASK, XVTC_CTL_HBSS_MASK, XVTC_CTL_HFSS_MASK, XVTC_CTL_HSPSS_MASK, XVTC_CTL_HSSS_MASK, XVTC_CTL_HTSS_MASK, XVTC_CTL_INTERLACE_MASK, XVTC_CTL_OFFSET, XVTC_CTL_VASS_MASK, XVTC_CTL_VBPSS_MASK, XVTC_CTL_VBSS_MASK, XVTC_CTL_VCSS_MASK, XVTC_CTL_VFSS_MASK, XVTC_CTL_VSPSS_MASK, XVTC_CTL_VSSS_MASK, XVTC_CTL_VTSS_MASK, and XVtc_ReadReg.
u32 XVtc_GetVersion | ( | XVtc * | InstancePtr | ) |
This function facilitates software identification of exact version of the VTC hardware (h/w).
InstancePtr | is a pointer to the XVtc instance. |
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.
InstancePtr | is a pointer to the XVtc instance that just interrupted. |
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.
DeviceId | is the unique core ID of the VTC core for the lookup operation. |
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.
InstancePtr | is a pointer to the XVtc instance. |
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
InstancePtr | is a pointer to the VTC instance |
mode | is the type of mode that is being set. |
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
InstancePtr | is a pointer to the XVtc instance to be worked on. |
HandlerType | specifies which callback is to be attached. |
CallBackFunc | is the address of the callback function. |
CallBackRef | is a user data item that will be passed to the callback function when it is invoked. |
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.
InstancePtr | is a pointer to the VTC instance to be worked on. |
VertDelay | indicates the number of total lines per frame to delay the generator output. The valid range is from 0 to 4095. |
HoriDelay | indicates the number of total clock cycles per line to delay the generator output. The valid range is from 0 to 4095. |
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.
InstancePtr | is a pointer to the VTC instance to be worked on. |
FrameSyncIndex | indicates the index number of the frame sync. The valid range is from 0 to 15. |
VertStart | indicates the vertical line count during which the frame sync is active. The valid range is from 0 to 4095. |
HoriStart | indicates the horizontal cycle count during which the frame sync is active. The valid range is from 0 to 4095. |
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.
InstancePtr | is a pointer to the VTC instance to be worked on. |
SignalCfgPtr | is a pointer to the VTC signal configuration to be used by the Generator module in the VTC core. |
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.
InstancePtr | is a pointer to the VTC device instance to be worked on. |
HoriOffsets | points to a VBlank/VSync Horizontal Offset configuration with the setting to use on the VTC device. |
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.
InstancePtr | is a pointer to the VTC instance to be worked on. |
TimingPtr | is a pointer to a Video Timing Structure to be read. |
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.
InstancePtr | is a pointer to the VTC instance to be worked on. |
Mode | is a short integer predefined video mode. |
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.
InstancePtr | is a pointer to the VTC instance to be worked on. |
PolarityPtr | points to a Polarity configuration structure with the setting to use on the VTC core. |
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.
InstancePtr | is a pointer to the VTC instance to be worked on. |
GeneratorChromaSkip | indicates 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. |
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.
InstancePtr | is a pointer to the VTC instance to be worked on. |
GeneratorChromaSkip | indicates 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 |
References XVtc_Config::BaseAddress, XVtc::Config, XVtc::IsReady, XVTC_ENC_GACPS_MASK, XVTC_GFENC_OFFSET, XVtc_ReadReg, and XVtc_WriteReg.
void XVtc_SetSource | ( | XVtc * | InstancePtr, |
XVtc_SourceSelect * | SourcePtr | ||
) |
This function sets up the source selecting of the VTC core.
InstancePtr | is a pointer to the VTC instance to be worked on |
SourcePtr | points to a Source Selecting configuration structure with the setting to use on the VTC device. |
References XVtc_SourceSelect::ActiveChromaPolSrc, XVtc_SourceSelect::ActiveVideoPolSrc, XVtc_Config::BaseAddress, XVtc::Config, XVtc_SourceSelect::FieldIdPolSrc, XVtc_SourceSelect::HBackPorchSrc, XVtc_SourceSelect::HBlankPolSrc, XVtc_SourceSelect::HFrontPorchSrc, XVtc_SourceSelect::HSyncPolSrc, XVtc_SourceSelect::HSyncSrc, XVtc_SourceSelect::HTotalSrc, XVtc_SourceSelect::InterlacedMode, XVtc::IsReady, XVtc_SourceSelect::VActiveSrc, XVtc_SourceSelect::VBackPorchSrc, XVtc_SourceSelect::VBlankPolSrc, XVtc_SourceSelect::VChromaSrc, XVtc_SourceSelect::VFrontPorchSrc, XVtc_SourceSelect::VSyncPolSrc, XVtc_SourceSelect::VSyncSrc, XVtc_SourceSelect::VTotalSrc, XVTC_CTL_ACPSS_MASK, XVTC_CTL_ALLSS_MASK, XVTC_CTL_AVPSS_MASK, XVTC_CTL_FIPSS_MASK, XVTC_CTL_HBPSS_MASK, XVTC_CTL_HBSS_MASK, XVTC_CTL_HFSS_MASK, XVTC_CTL_HSPSS_MASK, XVTC_CTL_HSSS_MASK, XVTC_CTL_HTSS_MASK, XVTC_CTL_INTERLACE_MASK, XVTC_CTL_OFFSET, XVTC_CTL_VASS_MASK, XVTC_CTL_VBPSS_MASK, XVTC_CTL_VBSS_MASK, XVTC_CTL_VCSS_MASK, XVTC_CTL_VFSS_MASK, XVTC_CTL_VSPSS_MASK, XVTC_CTL_VSSS_MASK, XVTC_CTL_VTSS_MASK, XVtc_ReadReg, and XVtc_WriteReg.
void XVtc_SetVfpStretchLimit | ( | XVtc * | InstancePtr, |
u32 | StretchLimit | ||
) |
This function sets vertical front porch stretch limit.
InstancePtr | is a pointer to the VTC instance to be worked on. |
StretchLimit | is the vertical front porch stretch limit to be set. |
References XVtc_Config::BaseAddress, XVtc::Config, XVtc::IsReady, XVTC_VFP_STRETCH_OFFSET, and XVtc_WriteReg.