vprocss
Vitis Drivers API Documentation
periph.h File Reference

Data Structures

struct  XPeriph
 System Peripheral configuration structure. More...
 

Macros

#define XPeriph_SetTPGColorFormat(pPeriph, ColorFormat)   ((pPeriph)->TpgConfig.ColorFmt = ColorFormat)
 This macro sets the TPG color format. More...
 
#define XPeriph_SetTPGPattern(pPeriph, Pattern)   ((pPeriph)->TpgConfig.Pattern = Pattern)
 This macro sets the TPG pattern. More...
 
#define XPeriph_SetTPGWidth(pPeriph, width)   ((pPeriph)->TpgConfig.Width = width)
 This macro sets TPG active width. More...
 
#define XPeriph_SetTPGHeight(pPeriph, height)   ((pPeriph)->TpgConfig.Height = height)
 This macro sets TPG active height. More...
 
#define XPeriph_SetTPGInterlacedMode(pPeriph, mode)   ((pPeriph)->TpgConfig.IsInterlaced = mode)
 This macro sets TPG Interlaced Mode. More...
 
#define XPeriph_IsVideoLocked(pPeriph)
 This macro reads GPIO to check video lock status. More...
 

Functions

int XPeriph_PowerOnInit (XPeriph *InstancePtr)
 This function initializes system wide common peripherals. More...
 
void XPeriph_ResetHlsIp (XPeriph *InstancePtr)
 This function resets the Hls IP block(s) More...
 
void XPeriph_ReportDeviceInfo (XPeriph *InstancePtr)
 This function reports system wide common peripherals included in the design. More...
 
void XPeriph_ConfigTpg (XPeriph *InstancePtr)
 This function configures TPG to user defined parameters. More...
 
void XPeriph_ConfigVtc (XPeriph *InstancePtr, XVidC_VideoStream *StreamPtr, u32 PixPerClk)
 This function configures the Video Timing Controller (VTC) for a given peripheral instance based on the provided video stream parameters and the number of pixels per clock. More...
 
void XPeriph_DisableTpg (XPeriph *InstancePtr)
 This function stops TPG IP. More...
 
void XPeriph_SetTpgParams (XPeriph *InstancePtr, u16 width, u16 height, XVidC_ColorFormat Cformat, u16 Pattern, u16 IsInterlaced)
 This function sets the parameters for the Test Pattern Generator (TPG) in the XPeriph instance. More...
 
void XPeriph_TpgDbgReportStatus (XPeriph *InstancePtr)
 This function reports TPG Status. More...
 

Macro Definition Documentation

#define XPeriph_IsVideoLocked (   pPeriph)
Value:
(XGpio_DiscreteRead((pPeriph)->VidLockMonitorPtr, \
XPER_GPIO_CHANNEL_1))

This macro reads GPIO to check video lock status.

Parameters
pPeriphis pointer to the peripheral Instance
Returns
T/F
#define XPeriph_SetTPGColorFormat (   pPeriph,
  ColorFormat 
)    ((pPeriph)->TpgConfig.ColorFmt = ColorFormat)

This macro sets the TPG color format.

Parameters
pPeriphis pointer to the peripheral Instance
ColorFormatis the new color format
Returns
none

Referenced by XPeriph_SetTpgParams().

#define XPeriph_SetTPGHeight (   pPeriph,
  height 
)    ((pPeriph)->TpgConfig.Height = height)

This macro sets TPG active height.

Parameters
pPeriphis pointer to the peripheral Instance
heightis the new active height
Returns
none

Referenced by XPeriph_SetTpgParams().

#define XPeriph_SetTPGInterlacedMode (   pPeriph,
  mode 
)    ((pPeriph)->TpgConfig.IsInterlaced = mode)

This macro sets TPG Interlaced Mode.

Parameters
pPeriphis pointer to the peripheral Instance
modeis the interlace mode T/F
Returns
none

Referenced by XPeriph_SetTpgParams().

#define XPeriph_SetTPGPattern (   pPeriph,
  Pattern 
)    ((pPeriph)->TpgConfig.Pattern = Pattern)

This macro sets the TPG pattern.

Parameters
pPeriphis pointer to the peripheral Instance
Patternis the new pattern id
Returns
none

Referenced by XPeriph_SetTpgParams().

#define XPeriph_SetTPGWidth (   pPeriph,
  width 
)    ((pPeriph)->TpgConfig.Width = width)

This macro sets TPG active width.

Parameters
pPeriphPointer to the peripheral instance whose TPG width is to be set.
widthThe desired width value to set for the TPG.
Returns
none

Referenced by XPeriph_SetTpgParams().

Function Documentation

void XPeriph_ConfigTpg ( XPeriph InstancePtr)

This function configures TPG to user defined parameters.

Parameters
InstancePtris a pointer to the peripheral instance
void XPeriph_ConfigVtc ( XPeriph InstancePtr,
XVidC_VideoStream *  StreamPtr,
u32  PixPerClk 
)

This function configures the Video Timing Controller (VTC) for a given peripheral instance based on the provided video stream parameters and the number of pixels per clock.

The function performs the following steps:

  • Disables and resets the VTC generator.
  • Sets the source selection to use generator registers for all timing parameters.
  • Manually writes to the VTC control register to handle the interlace field workaround.
  • Populates the XVtc_Timing structure with horizontal and vertical timing values from the provided video stream, adjusting horizontal counts by the PixPerClk value.
  • Applies a workaround for known VTC offset issues by adjusting vertical porch values.
  • Sets the polarity of all VTC outputs according to the video stream timing.
  • Enables the VTC generator and updates the register configuration.
Parameters
InstancePtrPointer to the XPeriph instance to configure.
StreamPtrPointer to the XVidC_VideoStream structure containing timing information.
PixPerClkNumber of pixels processed per clock cycle.
Returns
None.
void XPeriph_DisableTpg ( XPeriph InstancePtr)

This function stops TPG IP.

Parameters
InstancePtris a pointer to the peripheral instance
int XPeriph_PowerOnInit ( XPeriph InstancePtr)

This function initializes system wide common peripherals.

Parameters
InstancePtris a pointer to the Subsystem instance to be worked on.
Returns
XST_SUCCESS

References XPeriph_ResetHlsIp().

Referenced by XSys_Init().

void XPeriph_ReportDeviceInfo ( XPeriph InstancePtr)

This function reports system wide common peripherals included in the design.

Parameters
InstancePtris a pointer to the Subsystem instance to be worked on.

Referenced by XSys_ReportSystemInfo().

void XPeriph_ResetHlsIp ( XPeriph InstancePtr)

This function resets the Hls IP block(s)

Parameters
InstancePtris a pointer to the peripheral instance

Referenced by XPeriph_PowerOnInit().

void XPeriph_SetTpgParams ( XPeriph InstancePtr,
u16  width,
u16  height,
XVidC_ColorFormat  Cformat,
u16  Pattern,
u16  IsInterlaced 
)

This function sets the parameters for the Test Pattern Generator (TPG) in the XPeriph instance.

Parameters
InstancePtrPointer to the XPeriph instance.
widthWidth of the test pattern to be generated.
heightHeight of the test pattern to be generated.
CformatColor format for the test pattern (of type XVidC_ColorFormat).
PatternPattern type to be generated.
IsInterlacedFlag indicating whether the output should be interlaced (1) or progressive (0).
Returns
None

References XPeriph_SetTPGColorFormat, XPeriph_SetTPGHeight, XPeriph_SetTPGInterlacedMode, XPeriph_SetTPGPattern, and XPeriph_SetTPGWidth.

void XPeriph_TpgDbgReportStatus ( XPeriph InstancePtr)

This function reports TPG Status.

Parameters
InstancePtris a pointer to the peripheral instance
Returns
None.