tpg
Vitis Drivers API Documentation
Overview

Data Structures

struct  XTpg_Config
 This typedef contains configuration information for a TPG core. More...
 
struct  XTpg
 The XTpg driver instance data structure. More...
 

Macros

#define XTPG_H_
 Prevent circular inclusions by using protection macros. More...
 
#define XTPG_HW_H_
 Prevent circular inclusions by using protection macros. More...
 
#define XTpg_In32   Xil_In32
 Input Operation. More...
 
#define XTpg_Out32   Xil_Out32
 Output Operation. More...
 
#define XTpg_ReadReg(BaseAddress, RegOffset)   XTpg_In32((BaseAddress) + (u32)(RegOffset))
 This function macro reads the given register. More...
 
#define XTpg_WriteReg(BaseAddress, RegOffset, Data)   XTpg_Out32((BaseAddress) + (u32)(RegOffset), (Data))
 This function macro writes the given register. More...
 

Typedefs

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

Functions

int XTpg_CfgInitialize (XTpg *InstancePtr, XTpg_Config *CfgPtr, u32 EffectiveAddr)
 This function initializes the TPG core. More...
 
void XTpg_Setup (XTpg *InstancePtr)
 This function sets the input/output frame size in Active Size register and enables the register update. More...
 
u32 XTpg_GetVersion (XTpg *InstancePtr)
 This function returns the contents of the Version register of the TPG core. More...
 
void XTpg_SetActiveSize (XTpg *InstancePtr, u16 HSize, u16 VSize)
 This function sets the active H/V sizes in the Active Size register. More...
 
void XTpg_GetActiveSize (XTpg *InstancePtr, u16 *HSize, u16 *VSize)
 This function gets the number of Active Pixel per Scan line and number of Active Lines per Frame from the Active Size register. More...
 
void XTpg_SetBackground (XTpg *InstancePtr, enum XTpg_BackgroundPattern Pattern)
 This function sets the background pattern in the Pattern Control Register. More...
 
u32 XTpg_GetBackground (XTpg *InstancePtr)
 This function gets the background pattern for TPG core. More...
 
void XTpg_EnableCrossHair (XTpg *InstancePtr)
 This function enables the drawing of Cross Hairs feature in the Pattern Control Register of the TPG core. More...
 
void XTpg_DisableCrossHair (XTpg *InstancePtr)
 This function disables the drawing of Cross Hairs feature in the Pattern Control Register of the TPG core. More...
 
void XTpg_EnableBox (XTpg *InstancePtr)
 This function enables the Moving Box feature in the Pattern Control Register of the TPG core. More...
 
void XTpg_DisableBox (XTpg *InstancePtr)
 This function disables the Moving Box feature in the Pattern Control Register of the TPG core. More...
 
void XTpg_SetComponentMask (XTpg *InstancePtr, enum XTpg_ComponentMask Mask)
 This function masks out the specified color component by setting the Pattern Control Register of the TPG core. More...
 
u32 XTpg_GetComponentMask (XTpg *InstancePtr)
 This function returns the color component mask status in the Pattern Control Register. More...
 
void XTpg_EnableStuckPixel (XTpg *InstancePtr)
 This function enables the Stuck Pixel Feature in the Pattern Control Register of the TPG core. More...
 
void XTpg_DisableStuckPixel (XTpg *InstancePtr)
 This function disables the Stuck Pixel feature in the Pattern Control register of the TPG core. More...
 
void XTPg_EnableNoise (XTpg *InstancePtr)
 This function enables the Noise on the output by setting value in Pattern Control register of the TPG core. More...
 
void XTPg_DisableNoise (XTpg *InstancePtr)
 This function disables the Noise on the output by disabling this feature in Pattern Control register of the TPG core. More...
 
void XTpg_EnableMotion (XTpg *InstancePtr)
 This function enables the Motion Feature in the Pattern Control register of the TPG core. More...
 
void XTpg_DisableMotion (XTpg *InstancePtr)
 This function disables the Motion feature in the Pattern Control register of the TPG core. More...
 
void XTpg_SetMotionSpeed (XTpg *InstancePtr, u32 MotionSpeed)
 This function sets the Motion Speed. More...
 
u32 XTpg_GetMotionSpeed (XTpg *InstancePtr)
 This function gets the Motion Speed. More...
 
void XTpg_SetCrosshairPosition (XTpg *InstancePtr, u16 HPos, u16 VPos)
 This function sets the Cross Hairs Positions. More...
 
void XTpg_GetCrosshairPosition (XTpg *InstancePtr, u16 *HPos, u16 *VPos)
 This function gets the cross hair positions. More...
 
void XTpg_SetZPlateHStart (XTpg *InstancePtr, u16 ZPlateHStart)
 This function sets a starting point in the ROM based sinusoidal values for the horizontal component. More...
 
u16 XTpg_GetZPlateHStart (XTpg *InstancePtr)
 This function gets a starting point in the ROM based sinusoidal values for the horizontal component. More...
 
void XTpg_SetZPlateHSpeed (XTpg *InstancePtr, u16 ZPlateHSpeed)
 This function sets how fast (the speed of) the horizontal component changes. More...
 
u16 XTpg_GetZPlateHSpeed (XTpg *InstancePtr)
 This function gets how fast (the speed of) horizontal component changes. More...
 
void XTpg_SetZPlateVStart (XTpg *InstancePtr, u16 ZPlateVStart)
 This function sets a starting point in the ROM based sinusoidal values for the vertical component. More...
 
u16 XTpg_GetZPlateVStart (XTpg *InstancePtr)
 This function gets a starting point in the ROM based sinusoidal values for the vertical component. More...
 
void XTpg_SetZPlateVSpeed (XTpg *InstancePtr, u16 ZPlateVSpeed)
 This function sets how fast (the speed of) the vertical component changes. More...
 
u16 XTpg_GetZPlateVSpeed (XTpg *InstancePtr)
 This function gets how fast (the speed of) the vertical component changes. More...
 
int XTpg_SetBoxSize (XTpg *InstancePtr, u32 BoxSize)
 This function sets the Box Size. More...
 
u32 XTpg_GetBoxSize (XTpg *InstancePtr)
 This function gets the Box Size in pixel. More...
 
void XTpg_SetBoxColor (XTpg *InstancePtr, u16 Blue, u16 Green, u16 Red)
 This function sets the color components of the box in the Box Color register of the TPG core. More...
 
void XTpg_GetBoxColor (XTpg *InstancePtr, u16 *Blue, u16 *Green, u16 *Red)
 This function gets the color components of the box in the Box Color register of the TPG core. More...
 
void XTpg_SetStuckPixelThreshold (XTpg *InstancePtr, u32 PixelThreshold)
 This function sets the stuck pixel threshold in STUCK_PIXEL_THRESH register of the TPG core. More...
 
u32 XTpg_GetStuckPixelThreshold (XTpg *InstancePtr)
 This function gets the stuck pixel threshold in the STUCK_PIXEL_THRESH register of the TPG core. More...
 
void XTpg_SetNoiseGain (XTpg *InstancePtr, u32 NoiseGain)
 This function sets the noise gain in Noise Gain register of the TPG core. More...
 
u32 XTpg_GetNoiseGain (XTpg *InstancePtr)
 This function gets the noise gain of each component of TPG core. More...
 
void XTpg_SetBayerPhase (XTpg *InstancePtr, enum XTpg_BayerPhaseCombination BayerPhaseComb)
 This function specifies or sets whether the starting position pixel(0,0) of the Bayer sampling grid is on a red-green or blue-green line and whether the first pixel is green or not. More...
 
u32 XTpg_GetBayerPhase (XTpg *InstancePtr)
 This function returns the Bayer phase value which indicates starting pixel position. More...
 
void XTpg_SetPattern (XTpg *InstancePtr, u32 Pattern)
 This function sets the Pattern Control Register of TPG core. More...
 
u32 XTpg_GetPattern (XTpg *InstancePtr)
 This function returns the contents of the Pattern Control Register. More...
 
XTpg_ConfigXTpg_LookupConfig (u16 DeviceId)
 This function returns a reference to an XTpg_Config structure based on the unique device id, DeviceId. More...
 
int XTpg_SelfTest (XTpg *InstancePtr)
 This function reads Version register of TPG core and compares with zero as part of self test. More...
 
void XTpg_IntrHandler (void *InstancePtr)
 This function is the interrupt handler for the TPG driver. More...
 
int XTpg_SetCallBack (XTpg *InstancePtr, u32 HandlerType, void *CallBackFunc, void *CallBackRef)
 This function installs an asynchronous callback function for the given HandlerType. More...
 

Handler Types

enum  { XTPG_HANDLER_PROCSTART = 1, XTPG_HANDLER_FRAMEDONE, XTPG_HANDLER_ERROR }
 These constants specify different types of handlers and used to differentiate interrupt requests from core. More...
 

BackgroundPattern

enum  XTpg_BackgroundPattern {
  XTPG_PASS_THROUGH, XTPG_H_RAMP, XTPG_V_RAMP, XTPG_T_RAMP,
  XTPG_RED_PLANE, XTPG_GREEN_PLANE, XTPG_BLUE_PLANE, XTPG_BLACK_PLANE,
  XTPG_WHITE_PLANE, XTPG_COLOR_BARS, XTPG_ZONE_PLATE, XTPG_TARAN_BARS,
  XTPG_CROSS_HATCH, XTPG_HV_RAMP = 0xE, XTPG_BLACK_AND_WHITE_CHECKERBOARD
}
 These constants specify different types of background patterns supported by the core. More...
 

ComponentMask

enum  XTpg_ComponentMask { XTPG_NOMASK, XTPG_MASKOUT_RED, XTPG_MASKOUT_GREEN, XTPG_MASKOUT_BLUE = 0x4 }
 These constants specify mask outs for a particular color component. More...
 

Bayer phase combinations

enum  XTpg_BayerPhaseCombination {
  XTPG_BAYER_PHASE_RGRG, XTPG_BAYER_PHASE_GRGR, XTPG_BAYER_PHASE_GBGB, XTPG_BAYER_PHASE_BGBG,
  XTPG_BAYER_PHASE_TURNOFF
}
 These constants specify Bayer phase combinations of the core. More...
 

Motion Speed Ranges

#define XTPG_MOTION_SPEED_MIN   0
 Motion Speed minimum value. More...
 
#define XTPG_MOTION_SPEED_MAX   255
 Motion Speed maximum value. More...
 

Active Size Ranges

#define XTPG_VSIZE_FIRST   32
 Vertical Size starting value. More...
 
#define XTPG_VSIZE_LAST   7680
 Vertical Size ending value. More...
 
#define XTPG_HSIZE_FIRST   32
 Horizontal Size starting value. More...
 
#define XTPG_HSIZE_LAST   7680
 Horizontal Size ending value. More...
 

Macros for operating a TPG core

#define XTpg_Enable(InstancePtr)
 This function macro enables the TPG core. More...
 
#define XTpg_Disable(InstancePtr)
 This function macro disables the TPG core. More...
 
#define XTpg_Start   XTpg_Enable
 This function macro enables/starts the TPG core. More...
 
#define XTpg_Stop   XTpg_Disable
 This function macro disables/stops the TPG core. More...
 
#define XTpg_RegUpdateEnable(InstancePtr)
 This function macro commits all the register value changes made so far by the software to the TPG core. More...
 
#define XTpg_RegUpdateDisable(InstancePtr)
 This function macro prevents the TPG core from committing recent changes made so far by the software. More...
 
#define XTpg_SyncReset(InstancePtr)
 This function macro resets a TPG core at the end of the frame being processed. More...
 
#define XTpg_Reset(InstancePtr)
 This function macro resets a TPG core. More...
 
#define XTpg_IntrEnable(InstancePtr, IntrType)
 This function macro enables individual interrupts of the TPG core by updating the IRQ_ENABLE register. More...
 
#define XTpg_IntrDisable(InstancePtr, IntrType)
 This function macro disables individual interrupts of the TPG core by updating the IRQ_ENABLE register. More...
 
#define XTpg_StatusGetPending(InstancePtr)
 This function macro returns the pending interrupt status of the TPG core read from the Status register. More...
 
#define XTpg_IntrGetPending(InstancePtr)
 This function macro returns the pending interrupts of the TPG core for the interrupts that have been enabled. More...
 
#define XTpg_IntrClear(InstancePtr, IntrType)
 This function macro clears/acknowledges pending interrupts of the TPG core in the Status register. More...
 

TPG registers offsets

#define XTPG_CONTROL_OFFSET   0x000
 Control Offset. More...
 
#define XTPG_STATUS_OFFSET   0x004
 Status Offset. More...
 
#define XTPG_ERROR_OFFSET   0x008
 Error Offset. More...
 
#define XTPG_IRQ_EN_OFFSET   0x00C
 IRQ Enable Offset. More...
 
#define XTPG_VERSION_OFFSET   0x010
 Version Offset. More...
 
#define XTPG_ACTIVE_SIZE_OFFSET   0x020
 Active Size (V x H) Offset. More...
 
#define XTPG_PATTERN_CONTROL_OFFSET   0x100
 Pattern Control Offset. More...
 
#define XTPG_MOTION_SPEED_OFFSET   0x104
 Motion Speed Offset. More...
 
#define XTPG_CROSS_HAIRS_OFFSET   0x108
 Cross Hair Offset. More...
 
#define XTPG_ZPLATE_HOR_CONTROL_OFFSET   0x10C
 ZPlate Horizontal Control Offset. More...
 
#define XTPG_ZPLATE_VER_CONTROL_OFFSET   0x110
 ZPlate Vertical Control Offset. More...
 
#define XTPG_BOX_SIZE_OFFSET   0x114
 Box Size Offset. More...
 
#define XTPG_BOX_COLOR_OFFSET   0x118
 Box Color Offset. More...
 
#define XTPG_STUCK_PIXEL_THRESH_OFFSET   0x11C
 Stuck Pixel Threshold Offset. More...
 
#define XTPG_NOISE_GAIN_OFFSET   0x120
 Noise Gain Offset. More...
 
#define XTPG_BAYER_PHASE_OFFSET   0x124
 Bayer Phase Offset. More...
 

Control register bit masks

#define XTPG_CTL_SW_EN_MASK   0x00000001
 S/W Enable Mask. More...
 
#define XTPG_CTL_RUE_MASK   0x00000002
 Register Update Enable Mask. More...
 
#define XTPG_CTL_AUTORESET_MASK   0x40000000
 Software Reset - Auto-synchronize to SOF Mask. More...
 
#define XTPG_CTL_RESET_MASK   0x80000000
 Software Reset - Instantaneous Mask. More...
 

Interrupt register bit masks. It is applicable for

Status and IRQ_ENABLE Registers

#define XTPG_IXR_PROCS_STARTED_MASK   0x00000001
 Process started Mask. More...
 
#define XTPG_IXR_EOF_MASK   0x00000002
 End-Of-Frame Mask. More...
 
#define XTPG_IXR_SE_MASK   0x00010000
 Slave Error Mask. More...
 
#define XTPG_IXR_ALLINTR_MASK   0x00010003
 Addition of all Masks. More...
 

Error register bit mask definitions

#define XTPG_ERR_EOL_EARLY_MASK   0x00000001
 End of Line Early Mask. More...
 
#define XTPG_ERR_EOL_LATE_MASK   0x00000002
 End of Line Late Mask. More...
 
#define XTPG_ERR_SOF_EARLY_MASK   0x00000004
 Start of Frame Early Mask. More...
 
#define XTPG_ERR_SOF_LATE_MASK   0x00000008
 Start of Frame Late Mask. More...
 

Version register bit masks and shifts

#define XTPG_VER_REV_NUM_MASK   0x000000FF
 Version Revision Number Mask. More...
 
#define XTPG_VER_PID_MASK   0x00000F00
 Version Patch ID Mask. More...
 
#define XTPG_VER_REV_MASK   0x0000F000
 Version Revision Mask. More...
 
#define XTPG_VER_MINOR_MASK   0x00FF0000
 Version Minor Mask. More...
 
#define XTPG_VER_MAJOR_MASK   0xFF000000
 Version Major Mask. More...
 
#define XTPG_VER_INTERNAL_SHIFT   8
 Version Internal Shift. More...
 
#define XTPG_VER_REV_SHIFT   12
 Version Revision Shift. More...
 
#define XTPG_VER_MINOR_SHIFT   16
 Version Minor Shift. More...
 
#define XTPG_VER_MAJOR_SHIFT   24
 Version Major Shift. More...
 

Active Size register bit masks and shifts

#define XTPG_ACTSIZE_NUM_PIXEL_MASK   0x00001FFF
 Number of Active pixels per scan line (Horizontal) Mask. More...
 
#define XTPG_ACTSIZE_NUM_LINE_MASK   0x1FFF0000
 Number of Active lines per Frame (Vertical) Mask. More...
 
#define XTPG_ACTSIZE_NUM_LINE_SHIFT   16
 Shift for number of lines. More...
 

Pattern Control register bit masks

#define XTPG_PTRN_CTL_SET_BG_MASK   0x0000000F
 Set background pattern mask. More...
 
#define XTPG_PTRN_CTL_EN_CROSSHAIR_MASK   0x00000010
 Enable Cross Hair Mask. More...
 
#define XTPG_PTRN_CTL_EN_BOX_MASK   0x00000020
 Moving box enable Mask. More...
 
#define XTPG_PTRN_CTL_MASK_COLR_COMP_MASK   0x000001C0
 Mask out a particular color component mask. More...
 
#define XTPG_PTRN_CTL_EN_STUCK_MASK   0x00000200
 Enable Stuck Mask. More...
 
#define XTPG_PTRN_CTL_EN_NOISE_MASK   0x00000400
 Enable Noise Mask. More...
 
#define XTPG_PTRN_CTL_EN_MOTION_MASK   0x00001000
 Enable Motion Mask. More...
 
#define XTPG_PTRN_CTL_MASK_COLR_COMP_SHIFT   5
 Shift for a particular color component shift. More...
 

Pattern values of Pattern Control register

#define XTPG_PTRN_CTL_PASS_THROUGH   0x00000000
 Value for Pass Through. More...
 
#define XTPG_PTRN_CTL_HOR_RAMP   0x00000001
 Value for Horizontal Ramp. More...
 
#define XTPG_PTRN_CTL_VER_RAMP   0x00000002
 Value for Vertical Ramp. More...
 
#define XTPG_PTRN_CTL_TEMP_RAMP   0x00000003
 Value for Temporal Ramp. More...
 
#define XTPG_PTRN_CTL_SOLID_RED   0x00000004
 Value for Solid Red Output. More...
 
#define XTPG_PTRN_CTL_SOLID_GREEN   0x00000005
 Value for Solid Green Output. More...
 
#define XTPG_PTRN_CTL_SOLID_BLUE   0x00000006
 Value for Solid Blue Output. More...
 
#define XTPG_PTRN_CTL_SOLID_BLACK   0x00000007
 Value for Solid Black Output. More...
 
#define XTPG_PTRN_CTL_SOLID_WHITE   0x00000008
 Value for Solid White Output. More...
 
#define XTPG_PTRN_CTL_COLOR_BARS   0x00000009
 Value for Color Bars Output. More...
 
#define XTPG_PTRN_CTL_ZONE_PLATE   0x0000000A
 Value for Zone Plate. More...
 
#define XTPG_PTRN_CTL_TARTAN_BARS   0x0000000B
 Value for Tartan Bars. More...
 
#define XTPG_PTRN_CTL_CROSS_HATCH   0x0000000C
 Value for Cross Hatch. More...
 
#define XTPG_PTRN_CTL_VER_HOR_RAMP   0x0000000E
 Value for Combined Vertical and Horizontal ramp. More...
 
#define XTPG_PTRN_CTL_CHECKER_BOARD   0x0000000F
 Value for Black and White Checker Board. More...
 
#define XTPG_PTRN_CTL_MASK_RED_CR   0x00000040
 Value for Masking Red Component. More...
 
#define XTPG_PTRN_CTL_MASK_GREEN_Y   0x00000080
 Value for Masking Green Component. More...
 
#define XTPG_PTRN_CTL_MASK_BLUE_CB   0x00000100
 Value for Masking Blue Component. More...
 

Motion Speed register bit mask

#define XTPG_MOTION_SPEED_MASK   0x000000FF
 Motion Speed Mask. More...
 

Cross Hair register bit masks and shift

#define XTPG_CROSSHAIR_HPOS_MASK   0x00001FFF
 CrossHair Horizontal Position Mask. More...
 
#define XTPG_CROSSHAIR_VPOS_MASK   0x1FFF0000
 CrossHair Vertical Position Mask. More...
 
#define XTPG_CROSSHAIR_SHIFT   16
 Cross Hair Shift. More...
 

ZPlate Horizontal Control register bit masks and shift

#define XTPG_ZPLATEHOR_START_MASK   0x0000FFFF
 ZPlate Horizontal Start Mask. More...
 
#define XTPG_ZPLATEHOR_SPEED_MASK   0xFFFF0000
 ZPlate Horizontal Speed Mask. More...
 
#define XTPG_ZPLATEHOR_SPEED_SHIFT   16
 ZPlate Horizontal Speed Shift. More...
 

ZPlate Vertical Control register bit masks

#define XTPG_ZPLATEVER_START_MASK   0x0000FFFF
 ZPlate Vertical Start Mask. More...
 
#define XTPG_ZPLATEVER_SPEED_MASK   0xFFFF0000
 ZPlate Vertical Speed Mask. More...
 
#define XTPG_ZPLATEVER_SPEED_SHIFT   16
 ZPlate Vertical Speed. More...
 

Box Size register bit mask

#define XTPG_BOX_SIZE_MASK   0x00001FFF
 Box Size Mask. More...
 

TPG Box Color register bit masks

#define XTPG_BOXCOL_BLUE_MASK   0x000000FF
 Blue Color Mask. More...
 
#define XTPG_BOXCOL_GREEN_MASK   0x0000FF00
 Green Color Mask. More...
 
#define XTPG_BOXCOL_RED_MASK   0x00FF0000
 Red Color Mask. More...
 
#define XTPG_BOXCOL_GREEN_SHIFT   8
 Green color shift. More...
 
#define XTPG_BOXCOL_RED_SHIFT   16
 Red color shift. More...
 

Stuck Pixel Threshold register bit mask

#define XTPG_STUCKPIX_THRESH_MASK   0x0000FFFF
 Stuck Pixel Threshold Mask. More...
 

Noise Gain register bit mask

#define XTPG_NOISE_GAIN_MASK   0x000000FF
 Nose Gain Mask. More...
 

Bayer Phase register bit mask

#define XTPG_BAYER_PHASE_MASK   0x00000007
 Bayer Phase Mask. More...
 

General purpose masks

#define XTPG_8_BIT_MASK   0x000000FF
 8-bit Mask More...
 

Backward compatibility macros

#define TPG_CONTROL   XTPG_CONTROL_OFFSET
 
#define TPG_STATUS   XTPG_STATUS_OFFSET
 
#define TPG_ERROR   XTPG_ERROR_OFFSET
 
#define TPG_IRQ_EN   XTPG_IRQ_EN_OFFSET
 
#define TPG_VERSION   XTPG_VERSION_OFFSET
 
#define TPG_ACTIVE_SIZE   XTPG_ACTIVE_SIZE_OFFSET
 
#define TPG_PATTERN_CONTROL   XTPG_PATTERN_CONTROL_OFFSET
 
#define TPG_MOTION_SPEED   XTPG_MOTION_SPEED_OFFSET
 
#define TPG_CROSS_HAIRS   XTPG_CROSS_HAIRS_OFFSET
 
#define TPG_ZPLATE_HOR_CONTROL   XTPG_ZPLATE_HOR_CONTROL_OFFSET
 
#define TPG_ZPLATE_VER_CONTROL   XTPG_ZPLATE_VER_CONTROL_OFFSET
 
#define TPG_BOX_SIZE   XTPG_BOX_SIZE_OFFSET_OFFSET
 
#define TPG_BOX_COLOR   XTPG_BOX_COLOR_OFFSET
 
#define TPG_STUCK_PIXEL_THRESH   XTPG_STUCK_PIXEL_THRESH_OFFSET
 
#define TPG_NOISE_GAIN   XTPG_NOISE_GAIN_OFFSET
 
#define TPG_CTL_EN_MASK   XTPG_CTL_SW_EN_MASK
 
#define TPG_CTL_RUE_MASK   XTPG_CTL_RUE_MASK
 
#define TPG_RST_RESET   XTPG_CTL_RESET_MASK
 
#define TPG_RST_AUTORESET   XTPG_CTL_AUTORESET_MASK
 
#define TPG_BAYER_PHASE   XTPG_BAYER_PHASE_OFFSET
 
#define TPG_PASS_THROUGH   XTPG_PASS_THROUGH
 
#define TPG_HOR_RAMP   XTPG_HOR_RAMP
 
#define TPG_VER_RAMP   XTPG_VER_RAMP
 
#define TPG_TEMP_RAMP   XTPG_TEMP_RAMP
 
#define TPG_SOLID_RED   XTPG_SOLID_RED
 
#define TPG_SOLID_GREEN   XTPG_SOLID_GREEN
 
#define TPG_SOLID_BLUE   XTPG_SOLID_BLUE
 
#define TPG_SOILD_BLACK   XTPG_SOLID_BLACK
 
#define TPG_SOLID_WHITE   XTPG_SOLID_WHITE
 
#define TPG_COLOR_BARS   XTPG_COLOR_BARS
 
#define TPG_ZONE_PLATE   XTPG_ZONE_PLATE
 
#define TPG_TARTAN_BARS   XTPG_TARTAN_BARS
 
#define TPG_CROSS_HATCH   XTPG_CROSS_HATCH
 
#define TPG_VER_HOR_RAMP   XTPG_VER_HOR_RAMP
 
#define TPG_CHECKER_BOARD   XTPG_CHECKER_BOARD
 
#define TPG_MOVING_BOX   XTPG_PTRN_CTL_EN_BOX_MASK
 
#define TPG_MASK_RED_CR   XTPG_MASK_RED_CR
 
#define TPG_MASK_GREEN_Y   XTPG_MASK_GREEN_Y
 
#define TPG_MASK_BLUE_CB   XTPG_MASK_BLUE_CB
 
#define TPG_ENABLE_STUCK   XTPG_PTRN_CTL_EN_STUCK_MASK
 
#define TPG_ENABLE_NOISE   XTPG_PTRN_CTL_EN_NOISE_MASK
 
#define TPG_ENABLE_MOTION   XTPG_PTRN_CTL_EN_MOTION_MASK
 
#define TPG_In32   XTpg_In32
 
#define TPG_Out32   XTpg_Out32
 
#define XTPG_ReadReg   XTpg_ReadReg
 
#define XTPG_WriteReg   XTpg_WriteReg
 

Interrupt Enable and Status Registers Offsets

#define XTPG_ISR_OFFSET   XTPG_STATUS_OFFSET
 Interrupt status register generates a interrupt if the corresponding bits of interrupt enable register bits are set. More...
 
#define XTPG_IER_OFFSET   XTPG_IRQ_EN_OFFSET
 Interrupt Enable Offset. More...
 

Macro Definition Documentation

#define XTPG_8_BIT_MASK   0x000000FF

8-bit Mask

#define XTPG_ACTIVE_SIZE_OFFSET   0x020

Active Size (V x H) Offset.

Referenced by XTpg_GetActiveSize(), XTpg_SetActiveSize(), XTpg_SetBoxSize(), and XTpg_Setup().

#define XTPG_ACTSIZE_NUM_LINE_MASK   0x1FFF0000

Number of Active lines per Frame (Vertical) Mask.

Referenced by XTpg_GetActiveSize(), and XTpg_Setup().

#define XTPG_ACTSIZE_NUM_LINE_SHIFT   16

Shift for number of lines.

Referenced by XTpg_GetActiveSize(), XTpg_SetActiveSize(), and XTpg_Setup().

#define XTPG_ACTSIZE_NUM_PIXEL_MASK   0x00001FFF

Number of Active pixels per scan line (Horizontal) Mask.

Referenced by XTpg_GetActiveSize(), and XTpg_Setup().

#define XTPG_BAYER_PHASE_MASK   0x00000007

Bayer Phase Mask.

Referenced by XTpg_GetBayerPhase().

#define XTPG_BAYER_PHASE_OFFSET   0x124

Bayer Phase Offset.

Referenced by XTpg_GetBayerPhase(), and XTpg_SetBayerPhase().

#define XTPG_BOX_COLOR_OFFSET   0x118

Box Color Offset.

Referenced by XTpg_GetBoxColor(), and XTpg_SetBoxColor().

#define XTPG_BOX_SIZE_MASK   0x00001FFF

Box Size Mask.

Referenced by XTpg_GetBoxSize().

#define XTPG_BOX_SIZE_OFFSET   0x114

Box Size Offset.

Referenced by XTpg_GetBoxSize(), and XTpg_SetBoxSize().

#define XTPG_BOXCOL_BLUE_MASK   0x000000FF

Blue Color Mask.

Referenced by XTpg_GetBoxColor(), and XTpg_SetBoxColor().

#define XTPG_BOXCOL_GREEN_MASK   0x0000FF00

Green Color Mask.

Referenced by XTpg_GetBoxColor(), and XTpg_SetBoxColor().

#define XTPG_BOXCOL_GREEN_SHIFT   8

Green color shift.

Referenced by XTpg_GetBoxColor(), and XTpg_SetBoxColor().

#define XTPG_BOXCOL_RED_MASK   0x00FF0000

Red Color Mask.

Referenced by XTpg_GetBoxColor(), and XTpg_SetBoxColor().

#define XTPG_BOXCOL_RED_SHIFT   16

Red color shift.

Referenced by XTpg_GetBoxColor(), and XTpg_SetBoxColor().

#define XTPG_CONTROL_OFFSET   0x000

Control Offset.

#define XTPG_CROSS_HAIRS_OFFSET   0x108

Cross Hair Offset.

Referenced by XTpg_GetCrosshairPosition(), and XTpg_SetCrosshairPosition().

#define XTPG_CROSSHAIR_HPOS_MASK   0x00001FFF

CrossHair Horizontal Position Mask.

Referenced by XTpg_GetCrosshairPosition().

#define XTPG_CROSSHAIR_SHIFT   16

Cross Hair Shift.

Referenced by XTpg_GetCrosshairPosition(), and XTpg_SetCrosshairPosition().

#define XTPG_CROSSHAIR_VPOS_MASK   0x1FFF0000

CrossHair Vertical Position Mask.

Referenced by XTpg_GetCrosshairPosition().

#define XTPG_CTL_AUTORESET_MASK   0x40000000

Software Reset - Auto-synchronize to SOF Mask.

#define XTPG_CTL_RESET_MASK   0x80000000

Software Reset - Instantaneous Mask.

#define XTPG_CTL_RUE_MASK   0x00000002

Register Update Enable Mask.

#define XTPG_CTL_SW_EN_MASK   0x00000001

S/W Enable Mask.

#define XTpg_Disable (   InstancePtr)
Value:
XTpg_WriteReg((InstancePtr)->Config.BaseAddress, \
(XTpg_ReadReg((InstancePtr)->Config.BaseAddress, \
#define XTPG_CTL_SW_EN_MASK
S/W Enable Mask.
Definition: xtpg_hw.h:76
#define XTPG_CONTROL_OFFSET
Control Offset.
Definition: xtpg_hw.h:46
#define XTpg_WriteReg(BaseAddress, RegOffset, Data)
This function macro writes the given register.
Definition: xtpg_hw.h:459
#define XTpg_ReadReg(BaseAddress, RegOffset)
This function macro reads the given register.
Definition: xtpg_hw.h:440

This function macro disables the TPG core.

Parameters
InstancePtris a pointer to the XTpg instance to be worked on.
Returns
None.
Note
C-style signature: void XTpg_Disable(XTpg *InstancePtr)
#define XTpg_Enable (   InstancePtr)
Value:
XTpg_WriteReg((InstancePtr)->Config.BaseAddress, \
(XTpg_ReadReg((InstancePtr)->Config.BaseAddress, \
#define XTPG_CTL_SW_EN_MASK
S/W Enable Mask.
Definition: xtpg_hw.h:76
#define XTPG_CONTROL_OFFSET
Control Offset.
Definition: xtpg_hw.h:46
#define XTpg_WriteReg(BaseAddress, RegOffset, Data)
This function macro writes the given register.
Definition: xtpg_hw.h:459
#define XTpg_ReadReg(BaseAddress, RegOffset)
This function macro reads the given register.
Definition: xtpg_hw.h:440

This function macro enables the TPG core.

Parameters
InstancePtris a pointer to the XTpg instance to be worked on.
Returns
None.
Note
C-style signature: void XTpg_Enable(XTpg *InstancePtr)
#define XTPG_ERR_EOL_EARLY_MASK   0x00000001

End of Line Early Mask.

#define XTPG_ERR_EOL_LATE_MASK   0x00000002

End of Line Late Mask.

#define XTPG_ERR_SOF_EARLY_MASK   0x00000004

Start of Frame Early Mask.

#define XTPG_ERR_SOF_LATE_MASK   0x00000008

Start of Frame Late Mask.

#define XTPG_ERROR_OFFSET   0x008

Error Offset.

#define XTPG_H_

Prevent circular inclusions by using protection macros.

#define XTPG_HSIZE_FIRST   32

Horizontal Size starting value.

Referenced by XTpg_SetActiveSize().

#define XTPG_HSIZE_LAST   7680

Horizontal Size ending value.

Referenced by XTpg_SetActiveSize().

#define XTPG_HW_H_

Prevent circular inclusions by using protection macros.

#define XTPG_IER_OFFSET   XTPG_IRQ_EN_OFFSET

Interrupt Enable Offset.

#define XTpg_In32   Xil_In32

Input Operation.

#define XTpg_IntrClear (   InstancePtr,
  IntrType 
)
Value:
XTpg_WriteReg((InstancePtr)->Config.BaseAddress, \
(IntrType) & ((u32)(XTPG_IXR_ALLINTR_MASK)))
#define XTPG_IXR_ALLINTR_MASK
Addition of all Masks.
Definition: xtpg_hw.h:97
#define XTPG_STATUS_OFFSET
Status Offset.
Definition: xtpg_hw.h:47
#define XTpg_WriteReg(BaseAddress, RegOffset, Data)
This function macro writes the given register.
Definition: xtpg_hw.h:459

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

Bit positions of 1 will be cleared.

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

Referenced by XTpg_IntrHandler().

#define XTpg_IntrDisable (   InstancePtr,
  IntrType 
)
Value:
XTpg_WriteReg((InstancePtr)->Config.BaseAddress, (XTPG_IRQ_EN_OFFSET),\
XTpg_ReadReg((InstancePtr)->Config.BaseAddress, \
(XTPG_IRQ_EN_OFFSET)) & ((~(IntrType)) & \
#define XTPG_IXR_ALLINTR_MASK
Addition of all Masks.
Definition: xtpg_hw.h:97
#define XTPG_IRQ_EN_OFFSET
IRQ Enable Offset.
Definition: xtpg_hw.h:49
#define XTpg_WriteReg(BaseAddress, RegOffset, Data)
This function macro writes the given register.
Definition: xtpg_hw.h:459
#define XTpg_ReadReg(BaseAddress, RegOffset)
This function macro reads the given register.
Definition: xtpg_hw.h:440

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

Parameters
InstancePtris a pointer to the XTpg instance to be worked on.
IntrTypeis the bit-mask of the interrupts to be disabled. Bit positions of 1 will be disabled. Bit positions of 0 will keep the previous setting. This mask is formed by OR'ing XTPG_IXR_*_MASK bits defined in xtpg_hw.h.
Returns
None.
Note
Any other interrupt not covered by parameter IntrType, if enabled before this macro is called, will remain enabled. C-style signature: void XTpg_IntrDisable(XTpg *InstancePtr, u32 IntrType)
#define XTpg_IntrEnable (   InstancePtr,
  IntrType 
)
Value:
XTpg_WriteReg((InstancePtr)->Config.BaseAddress, (XTPG_IRQ_EN_OFFSET),\
((IntrType) & (XTPG_IXR_ALLINTR_MASK)) | \
(XTpg_ReadReg((InstancePtr)->Config.BaseAddress, \
#define XTPG_IXR_ALLINTR_MASK
Addition of all Masks.
Definition: xtpg_hw.h:97
#define XTPG_IRQ_EN_OFFSET
IRQ Enable Offset.
Definition: xtpg_hw.h:49
#define XTpg_WriteReg(BaseAddress, RegOffset, Data)
This function macro writes the given register.
Definition: xtpg_hw.h:459
#define XTpg_ReadReg(BaseAddress, RegOffset)
This function macro reads the given register.
Definition: xtpg_hw.h:440

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

Parameters
InstancePtris a pointer to the XTpg instance to be worked on.
IntrTypeis the bit-mask of the interrupts to be enabled. Bit positions of 1 will be enabled. Bit positions of 0 will keep the previous setting. This mask is formed by OR'ing XTPG_IXR_*_MASK bits defined in xtpg_hw.h.
Returns
None.
Note
The existing enabled interrupt(s) will remain enabled. C-style signature: void XTpg_IntrEnable(XTpg *InstancePtr, u32 IntrType)
#define XTpg_IntrGetPending (   InstancePtr)
Value:
XTpg_ReadReg((InstancePtr)->Config.BaseAddress, \
(XTpg_ReadReg((InstancePtr)->Config.BaseAddress, \
#define XTPG_IXR_ALLINTR_MASK
Addition of all Masks.
Definition: xtpg_hw.h:97
#define XTPG_STATUS_OFFSET
Status Offset.
Definition: xtpg_hw.h:47
#define XTPG_IRQ_EN_OFFSET
IRQ Enable Offset.
Definition: xtpg_hw.h:49
#define XTpg_ReadReg(BaseAddress, RegOffset)
This function macro reads the given register.
Definition: xtpg_hw.h:440

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

Parameters
InstancePtris a pointer to the XTpg instance to be worked on.
Returns
The pending interrupts of the TPG. Use XTPG_IXR_*_MASK constants defined in xtpg_hw.h to interpret this value. The returned value is a logical AND of the contents of the Status Register and the IRQ_ENABLE Register.
Note
C-style signature: u32 XTpg_IntrGetPending(XTpg *InstancePtr)

Referenced by XTpg_IntrHandler().

#define XTPG_IRQ_EN_OFFSET   0x00C

IRQ Enable Offset.

#define XTPG_ISR_OFFSET   XTPG_STATUS_OFFSET

Interrupt status register generates a interrupt if the corresponding bits of interrupt enable register bits are set.

Interrupt Status Offset

#define XTPG_IXR_ALLINTR_MASK   0x00010003

Addition of all Masks.

#define XTPG_IXR_EOF_MASK   0x00000002

End-Of-Frame Mask.

Referenced by XTpg_IntrHandler().

#define XTPG_IXR_PROCS_STARTED_MASK   0x00000001

Process started Mask.

Referenced by XTpg_IntrHandler().

#define XTPG_IXR_SE_MASK   0x00010000

Slave Error Mask.

Referenced by XTpg_IntrHandler().

#define XTPG_MOTION_SPEED_MASK   0x000000FF

Motion Speed Mask.

Referenced by XTpg_GetMotionSpeed().

#define XTPG_MOTION_SPEED_MAX   255

Motion Speed maximum value.

Referenced by XTpg_SetMotionSpeed().

#define XTPG_MOTION_SPEED_MIN   0

Motion Speed minimum value.

#define XTPG_MOTION_SPEED_OFFSET   0x104

Motion Speed Offset.

Referenced by XTpg_GetMotionSpeed(), and XTpg_SetMotionSpeed().

#define XTPG_NOISE_GAIN_MASK   0x000000FF

Nose Gain Mask.

Referenced by XTpg_GetNoiseGain().

#define XTPG_NOISE_GAIN_OFFSET   0x120

Noise Gain Offset.

Referenced by XTpg_GetNoiseGain(), and XTpg_SetNoiseGain().

#define XTpg_Out32   Xil_Out32

Output Operation.

#define XTPG_PTRN_CTL_CHECKER_BOARD   0x0000000F

Value for Black and White Checker Board.

#define XTPG_PTRN_CTL_COLOR_BARS   0x00000009

Value for Color Bars Output.

#define XTPG_PTRN_CTL_CROSS_HATCH   0x0000000C

Value for Cross Hatch.

#define XTPG_PTRN_CTL_EN_BOX_MASK   0x00000020

Moving box enable Mask.

Referenced by XTpg_DisableBox(), and XTpg_EnableBox().

#define XTPG_PTRN_CTL_EN_CROSSHAIR_MASK   0x00000010

Enable Cross Hair Mask.

Referenced by XTpg_DisableCrossHair(), and XTpg_EnableCrossHair().

#define XTPG_PTRN_CTL_EN_MOTION_MASK   0x00001000

Enable Motion Mask.

Referenced by XTpg_DisableMotion(), and XTpg_EnableMotion().

#define XTPG_PTRN_CTL_EN_NOISE_MASK   0x00000400

Enable Noise Mask.

Referenced by XTPg_DisableNoise(), and XTPg_EnableNoise().

#define XTPG_PTRN_CTL_EN_STUCK_MASK   0x00000200

Enable Stuck Mask.

Referenced by XTpg_DisableStuckPixel(), and XTpg_EnableStuckPixel().

#define XTPG_PTRN_CTL_HOR_RAMP   0x00000001

Value for Horizontal Ramp.

#define XTPG_PTRN_CTL_MASK_BLUE_CB   0x00000100

Value for Masking Blue Component.

#define XTPG_PTRN_CTL_MASK_COLR_COMP_MASK   0x000001C0

Mask out a particular color component mask.

Referenced by XTpg_GetComponentMask(), and XTpg_SetComponentMask().

#define XTPG_PTRN_CTL_MASK_COLR_COMP_SHIFT   5

Shift for a particular color component shift.

Referenced by XTpg_GetComponentMask(), and XTpg_SetComponentMask().

#define XTPG_PTRN_CTL_MASK_GREEN_Y   0x00000080

Value for Masking Green Component.

#define XTPG_PTRN_CTL_MASK_RED_CR   0x00000040

Value for Masking Red Component.

#define XTPG_PTRN_CTL_PASS_THROUGH   0x00000000

Value for Pass Through.

#define XTPG_PTRN_CTL_SET_BG_MASK   0x0000000F

Set background pattern mask.

Referenced by XTpg_GetBackground(), and XTpg_SetBackground().

#define XTPG_PTRN_CTL_SOLID_BLACK   0x00000007

Value for Solid Black Output.

#define XTPG_PTRN_CTL_SOLID_BLUE   0x00000006

Value for Solid Blue Output.

#define XTPG_PTRN_CTL_SOLID_GREEN   0x00000005

Value for Solid Green Output.

#define XTPG_PTRN_CTL_SOLID_RED   0x00000004

Value for Solid Red Output.

#define XTPG_PTRN_CTL_SOLID_WHITE   0x00000008

Value for Solid White Output.

#define XTPG_PTRN_CTL_TARTAN_BARS   0x0000000B

Value for Tartan Bars.

#define XTPG_PTRN_CTL_TEMP_RAMP   0x00000003

Value for Temporal Ramp.

#define XTPG_PTRN_CTL_VER_HOR_RAMP   0x0000000E

Value for Combined Vertical and Horizontal ramp.

#define XTPG_PTRN_CTL_VER_RAMP   0x00000002

Value for Vertical Ramp.

#define XTPG_PTRN_CTL_ZONE_PLATE   0x0000000A

Value for Zone Plate.

#define XTpg_RegUpdateDisable (   InstancePtr)
Value:
XTpg_WriteReg((InstancePtr)->Config.BaseAddress, \
(XTpg_ReadReg((InstancePtr)->Config.BaseAddress, \
#define XTPG_CONTROL_OFFSET
Control Offset.
Definition: xtpg_hw.h:46
#define XTPG_CTL_RUE_MASK
Register Update Enable Mask.
Definition: xtpg_hw.h:77
#define XTpg_WriteReg(BaseAddress, RegOffset, Data)
This function macro writes the given register.
Definition: xtpg_hw.h:459
#define XTpg_ReadReg(BaseAddress, RegOffset)
This function macro reads the given register.
Definition: xtpg_hw.h:440

This function macro prevents the TPG core from committing recent changes made so far by the software.

When disabled, changes to other configuration registers are stored, but do not effect the behavior of the core.

This function only works when the TPG core is enabled.

Parameters
InstancePtris a pointer to the XTpg instance to be worked on.
Returns
None.
Note
C-style signature: void XTpg_RegUpdateDisable(XTpg *InstancePtr)

Referenced by XTpg_Setup().

#define XTpg_RegUpdateEnable (   InstancePtr)
Value:
XTpg_WriteReg((InstancePtr)->Config.BaseAddress, \
(XTpg_ReadReg((InstancePtr)->Config.BaseAddress, \
#define XTPG_CONTROL_OFFSET
Control Offset.
Definition: xtpg_hw.h:46
#define XTPG_CTL_RUE_MASK
Register Update Enable Mask.
Definition: xtpg_hw.h:77
#define XTpg_WriteReg(BaseAddress, RegOffset, Data)
This function macro writes the given register.
Definition: xtpg_hw.h:459
#define XTpg_ReadReg(BaseAddress, RegOffset)
This function macro reads the given register.
Definition: xtpg_hw.h:440

This function macro commits all the register value changes made so far by the software to the TPG core.

This function only works when the TPG core is enabled.

Parameters
InstancePtris a pointer to the XTpg instance to be worked on.
Returns
None.
Note
C-style signature: void XTpg_RegUpdateEnable(XTpg *InstancePtr)

Referenced by XTpg_Setup().

#define XTpg_Reset (   InstancePtr)
Value:
XTpg_WriteReg((InstancePtr)->Config.BaseAddress, \
#define XTPG_CONTROL_OFFSET
Control Offset.
Definition: xtpg_hw.h:46
#define XTpg_WriteReg(BaseAddress, RegOffset, Data)
This function macro writes the given register.
Definition: xtpg_hw.h:459
#define XTPG_CTL_RESET_MASK
Software Reset - Instantaneous Mask.
Definition: xtpg_hw.h:85

This function macro resets a TPG core.

This reset effects the core immediately and may cause image tearing.

Parameters
InstancePtris a pointer to the XTpg instance to be worked on.
Returns
None.
Note
This reset resets the TPG configuration registers. C-style signature: void XTpg_Reset(XTpg *InstancePtr)

Referenced by XTpg_CfgInitialize().

#define XTpg_Start   XTpg_Enable

This function macro enables/starts the TPG core.

Parameters
InstancePtris a pointer to the XTpg instance to be worked on.
Returns
None.
Note
C-style signature: void XTpg_Start(XTpg *InstancePtr)
#define XTPG_STATUS_OFFSET   0x004

Status Offset.

#define XTpg_StatusGetPending (   InstancePtr)
Value:
XTpg_ReadReg((InstancePtr)->Config.BaseAddress, \
#define XTPG_IXR_ALLINTR_MASK
Addition of all Masks.
Definition: xtpg_hw.h:97
#define XTPG_STATUS_OFFSET
Status Offset.
Definition: xtpg_hw.h:47
#define XTpg_ReadReg(BaseAddress, RegOffset)
This function macro reads the given register.
Definition: xtpg_hw.h:440

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

Parameters
InstancePtris a pointer to the XTpg instance to be worked on.
Returns
The pending interrupts of the TPG. Use XTPG_IXR_*_MASK constants defined in xtpg_hw.h to interpret this value.
Note
C-style signature: u32 XTpg_StatusGePending(XTpg *InstancePtr)
#define XTpg_Stop   XTpg_Disable

This function macro disables/stops the TPG core.

Parameters
InstancePtris a pointer to the XTpg instance to be worked on.
Returns
None.
Note
C-style signature: void XTpg_Stop(XTpg *InstancePtr)
#define XTPG_STUCK_PIXEL_THRESH_OFFSET   0x11C

Stuck Pixel Threshold Offset.

Referenced by XTpg_GetStuckPixelThreshold(), and XTpg_SetStuckPixelThreshold().

#define XTPG_STUCKPIX_THRESH_MASK   0x0000FFFF

Stuck Pixel Threshold Mask.

Referenced by XTpg_GetStuckPixelThreshold().

#define XTpg_SyncReset (   InstancePtr)
Value:
XTpg_WriteReg(((InstancePtr)->Config.BaseAddress), \
#define XTPG_CONTROL_OFFSET
Control Offset.
Definition: xtpg_hw.h:46
#define XTPG_CTL_AUTORESET_MASK
Software Reset - Auto-synchronize to SOF Mask.
Definition: xtpg_hw.h:80
#define XTpg_WriteReg(BaseAddress, RegOffset, Data)
This function macro writes the given register.
Definition: xtpg_hw.h:459

This function macro resets a TPG core at the end of the frame being processed.

It enables core automatically synchronizes to the SOF of the core to prevent image tearing. This function macro is differ from XTpg_Reset().

On the next rising-edge of SOF following a call to XTpg_SyncReset(), all of the core's configuration registers and outputs will be reset, then the reset flag will be immediately released, allowing the core to immediately resume default operation.

Parameters
InstancePtris a pointer to the XTpg instance to be worked on.
Returns
None.
Note
C-style signature: void XTpg_SyncReset(XTpg *InstancePtr)
#define XTPG_VER_INTERNAL_SHIFT   8

Version Internal Shift.

#define XTPG_VER_MAJOR_MASK   0xFF000000

Version Major Mask.

#define XTPG_VER_MAJOR_SHIFT   24

Version Major Shift.

#define XTPG_VER_MINOR_MASK   0x00FF0000

Version Minor Mask.

#define XTPG_VER_MINOR_SHIFT   16

Version Minor Shift.

#define XTPG_VER_PID_MASK   0x00000F00

Version Patch ID Mask.

#define XTPG_VER_REV_MASK   0x0000F000

Version Revision Mask.

#define XTPG_VER_REV_NUM_MASK   0x000000FF

Version Revision Number Mask.

#define XTPG_VER_REV_SHIFT   12

Version Revision Shift.

#define XTPG_VERSION_OFFSET   0x010

Version Offset.

Referenced by XTpg_GetVersion(), and XTpg_SelfTest().

#define XTPG_VSIZE_FIRST   32

Vertical Size starting value.

Referenced by XTpg_SetActiveSize().

#define XTPG_VSIZE_LAST   7680

Vertical Size ending value.

Referenced by XTpg_SetActiveSize().

#define XTpg_WriteReg (   BaseAddress,
  RegOffset,
  Data 
)    XTpg_Out32((BaseAddress) + (u32)(RegOffset), (Data))
#define XTPG_ZPLATE_HOR_CONTROL_OFFSET   0x10C

ZPlate Horizontal Control Offset.

Referenced by XTpg_GetZPlateHSpeed(), XTpg_GetZPlateHStart(), XTpg_SetZPlateHSpeed(), and XTpg_SetZPlateHStart().

#define XTPG_ZPLATE_VER_CONTROL_OFFSET   0x110

ZPlate Vertical Control Offset.

Referenced by XTpg_GetZPlateVSpeed(), XTpg_GetZPlateVStart(), XTpg_SetZPlateVSpeed(), and XTpg_SetZPlateVStart().

#define XTPG_ZPLATEHOR_SPEED_MASK   0xFFFF0000

ZPlate Horizontal Speed Mask.

Referenced by XTpg_GetZPlateHSpeed(), and XTpg_SetZPlateHSpeed().

#define XTPG_ZPLATEHOR_SPEED_SHIFT   16

ZPlate Horizontal Speed Shift.

Referenced by XTpg_GetZPlateHSpeed(), and XTpg_SetZPlateHSpeed().

#define XTPG_ZPLATEHOR_START_MASK   0x0000FFFF

ZPlate Horizontal Start Mask.

Referenced by XTpg_GetZPlateHStart(), and XTpg_SetZPlateHStart().

#define XTPG_ZPLATEVER_SPEED_MASK   0xFFFF0000

ZPlate Vertical Speed Mask.

Referenced by XTpg_GetZPlateVSpeed().

#define XTPG_ZPLATEVER_SPEED_SHIFT   16

ZPlate Vertical Speed.

Referenced by XTpg_GetZPlateVSpeed(), and XTpg_SetZPlateVSpeed().

#define XTPG_ZPLATEVER_START_MASK   0x0000FFFF

ZPlate Vertical Start Mask.

Referenced by XTpg_GetZPlateVStart(), XTpg_SetZPlateVSpeed(), and XTpg_SetZPlateVStart().

Typedef Documentation

typedef void(* XTpg_CallBack)(void *CallBackRef)

Callback type for all interrupts except error interrupt.

Parameters
CallBackRefis a callback reference passed in by the upper layer when setting the callback functions, and passed back to the upper layer when the callback is invoked.
typedef void(* XTpg_ErrorCallBack)(void *CallBackRef, u32 ErrorMask)

Callback type for Error interrupt.

Parameters
CallBackRefis a callback reference passed in by the upper layer when setting the callback functions, and passed back to the upper layer when the callback is invoked.
ErrorMaskis a bit mask indicating the cause of the error. Its value equals 'OR'ing one or more XTPG_IXR_*_MASK values defined in xtpg_hw.h.

Enumeration Type Documentation

anonymous enum

These constants specify different types of handlers and used to differentiate interrupt requests from core.

Enumerator
XTPG_HANDLER_PROCSTART 

A processing start event interrupt type.

XTPG_HANDLER_FRAMEDONE 

A frame done event interrupt type.

XTPG_HANDLER_ERROR 

An error condition event interrupt type.

These constants specify different types of background patterns supported by the core.

Enumerator
XTPG_PASS_THROUGH 

Pass video input straight through the video output.

XTPG_H_RAMP 

Horizontal ramp.

XTPG_V_RAMP 

Vertical ramp.

XTPG_T_RAMP 

Temporal ramp.

XTPG_RED_PLANE 

Solid red output.

XTPG_GREEN_PLANE 

Solid green output.

XTPG_BLUE_PLANE 

Solid blue output.

XTPG_BLACK_PLANE 

Solid black output.

XTPG_WHITE_PLANE 

Solid white output.

XTPG_COLOR_BARS 

Color bars.

XTPG_ZONE_PLATE 

Zone plate output (sinusoidal)

XTPG_TARAN_BARS 

Tartan color bars.

XTPG_CROSS_HATCH 

Cross hatch pattern.

XTPG_HV_RAMP 

Horizontal vertical ramp.

XTPG_BLACK_AND_WHITE_CHECKERBOARD 

Black and white checker board.

These constants specify Bayer phase combinations of the core.

Enumerator
XTPG_BAYER_PHASE_RGRG 

Red green combination.

XTPG_BAYER_PHASE_GRGR 

Green red combination.

XTPG_BAYER_PHASE_GBGB 

Green blue combination.

XTPG_BAYER_PHASE_BGBG 

Blue green combination.

XTPG_BAYER_PHASE_TURNOFF 

Turn off the Bayer phase.

These constants specify mask outs for a particular color component.

Enumerator
XTPG_NOMASK 

No masking.

XTPG_MASKOUT_RED 

Mask out red, Cr(for YCbCr mode) component.

XTPG_MASKOUT_GREEN 

Mask out green, Y( for YCbCr mode) component.

XTPG_MASKOUT_BLUE 

Mask out blue, Cr(for YCbCr mode) component.

Function Documentation

int XTpg_CfgInitialize ( XTpg InstancePtr,
XTpg_Config CfgPtr,
u32  EffectiveAddr 
)

This function initializes the TPG core.

This function must be called prior to using the TPG core. Initialization of the TPG includes setting up the instance data and ensuring the hardware is in a quiescent state.

Parameters
InstancePtris a pointer to the XTpg instance.
CfgPtris a reference to a structure containing information about a specific XTpg instace.
EffectiveAddris the core base address in the virtual memory address space. The caller is responsible for keeping the address mapping from EffectiveAddr to the core physical base address unchanged once this function is invoked. Unexpected errors may occur if the address mapping changes after this function is called. If address translation is not used, pass in the physical address instead.
Returns
- XST_SUCCESS if XTpg instance initialization was successful.
Note
None.

References XTpg_Config::BaseAddress, XTpg::Config, XTpg::ErrCallBack, XTpg::FrameDoneCallBack, XTpg::IsReady, XTpg::ProcStartCallBack, and XTpg_Reset.

Referenced by XTpgSelfTestExample().

void XTpg_DisableBox ( XTpg InstancePtr)

This function disables the Moving Box feature in the Pattern Control Register of the TPG core.

Parameters
InstancePtris a pointer to the XTpg instance.
Returns
None.
Note
None.

References XTpg_Config::BaseAddress, XTpg::Config, XTPG_PATTERN_CONTROL_OFFSET, XTPG_PTRN_CTL_EN_BOX_MASK, XTpg_ReadReg, and XTpg_WriteReg.

void XTpg_DisableCrossHair ( XTpg InstancePtr)

This function disables the drawing of Cross Hairs feature in the Pattern Control Register of the TPG core.

Parameters
InstancePtris a pointer to the XTpg instance.
Returns
None.
Note
None.

References XTpg_Config::BaseAddress, XTpg::Config, XTPG_PATTERN_CONTROL_OFFSET, XTPG_PTRN_CTL_EN_CROSSHAIR_MASK, XTpg_ReadReg, and XTpg_WriteReg.

void XTpg_DisableMotion ( XTpg InstancePtr)

This function disables the Motion feature in the Pattern Control register of the TPG core.

Parameters
InstancePtris a pointer to the XTpg instance.
Returns
None.
Note
None.

References XTpg_Config::BaseAddress, XTpg::Config, XTPG_PATTERN_CONTROL_OFFSET, XTPG_PTRN_CTL_EN_MOTION_MASK, XTpg_ReadReg, and XTpg_WriteReg.

void XTPg_DisableNoise ( XTpg InstancePtr)

This function disables the Noise on the output by disabling this feature in Pattern Control register of the TPG core.

Parameters
InstancePtris a pointer to the XTpg instance.
Returns
None.
Note
None.

References XTpg_Config::BaseAddress, XTpg::Config, XTPG_PATTERN_CONTROL_OFFSET, XTPG_PTRN_CTL_EN_NOISE_MASK, XTpg_ReadReg, and XTpg_WriteReg.

void XTpg_DisableStuckPixel ( XTpg InstancePtr)

This function disables the Stuck Pixel feature in the Pattern Control register of the TPG core.

Parameters
InstancePtris a pointer to the XTpg instance.
Returns
None.
Note
None.

References XTpg_Config::BaseAddress, XTpg::Config, XTPG_PATTERN_CONTROL_OFFSET, XTPG_PTRN_CTL_EN_STUCK_MASK, XTpg_ReadReg, and XTpg_WriteReg.

void XTpg_EnableBox ( XTpg InstancePtr)

This function enables the Moving Box feature in the Pattern Control Register of the TPG core.

Parameters
InstancePtris a pointer to the XTpg instance.
Returns
None.
Note
  • XTpg_SetBoxSize API should be used for setting box size.
  • XTpg_SetBoxColor API should be used for setting box color.

References XTpg_Config::BaseAddress, XTpg::Config, XTPG_PATTERN_CONTROL_OFFSET, XTPG_PTRN_CTL_EN_BOX_MASK, XTpg_ReadReg, and XTpg_WriteReg.

void XTpg_EnableCrossHair ( XTpg InstancePtr)

This function enables the drawing of Cross Hairs feature in the Pattern Control Register of the TPG core.

Parameters
InstancePtris a pointer to the XTpg instance.
Returns
None.
Note
To draw the Cross Hairs, the position of drawing must be set by using XTpg_SetCrosshairPosition.

References XTpg_Config::BaseAddress, XTpg::Config, XTPG_PATTERN_CONTROL_OFFSET, XTPG_PTRN_CTL_EN_CROSSHAIR_MASK, XTpg_ReadReg, and XTpg_WriteReg.

void XTpg_EnableMotion ( XTpg InstancePtr)

This function enables the Motion Feature in the Pattern Control register of the TPG core.

Parameters
InstancePtris a pointer to the XTpg instance.
Returns
None.
Note
None.

References XTpg_Config::BaseAddress, XTpg::Config, XTPG_PATTERN_CONTROL_OFFSET, XTPG_PTRN_CTL_EN_MOTION_MASK, XTpg_ReadReg, and XTpg_WriteReg.

void XTPg_EnableNoise ( XTpg InstancePtr)

This function enables the Noise on the output by setting value in Pattern Control register of the TPG core.

Parameters
InstancePtris a pointer to the XTpg instance.
Returns
None.
Note
XTpg_SetNoiseGain API should be used to increase or decrease the noise produced on the output.

References XTpg_Config::BaseAddress, XTpg::Config, XTPG_PATTERN_CONTROL_OFFSET, XTPG_PTRN_CTL_EN_NOISE_MASK, XTpg_ReadReg, and XTpg_WriteReg.

void XTpg_EnableStuckPixel ( XTpg InstancePtr)

This function enables the Stuck Pixel Feature in the Pattern Control Register of the TPG core.

Parameters
InstancePtris a pointer to the XTpg instance.
Returns
None.
Note
XTpg_SetStuckPixelThreshold API should be used to set Stuck Pixel threshold value.

References XTpg_Config::BaseAddress, XTpg::Config, XTPG_PATTERN_CONTROL_OFFSET, XTPG_PTRN_CTL_EN_STUCK_MASK, XTpg_ReadReg, and XTpg_WriteReg.

void XTpg_GetActiveSize ( XTpg InstancePtr,
u16 *  HSize,
u16 *  VSize 
)

This function gets the number of Active Pixel per Scan line and number of Active Lines per Frame from the Active Size register.

Parameters
InstancePtris a pointer to the XTpg instance.
HSizeis a pointer to 16-bit variable in which the number of Active Pixels per Scan Line is returned. (Range is 32 to 7680).
VSizeis a pointer to 16-bit variable in which the number of Active Lines per Frame is returned. (Range is 32 to 7680).
Returns
None.
Note
None.

References XTpg_Config::BaseAddress, XTpg::Config, XTPG_ACTIVE_SIZE_OFFSET, XTPG_ACTSIZE_NUM_LINE_MASK, XTPG_ACTSIZE_NUM_LINE_SHIFT, XTPG_ACTSIZE_NUM_PIXEL_MASK, and XTpg_ReadReg.

u32 XTpg_GetBackground ( XTpg InstancePtr)

This function gets the background pattern for TPG core.

Parameters
InstancePtris a pointer to the XTpg instance.
Returns
Background pattern is returned. The enum values for corresponding Background pattern value is
  • 0x0 XTPG_PASS_THROUGH- Pass video input straight video output
  • 0x1 XTPG_H_RAMP - Horizontal ramp
  • 0x2 XTPG_V_RAMP - Vertical ramp
  • 0x3 XTPG_R_RAMP - Temporal ramp
  • 0x4 XTPG_RED_PLANE - Solid red output
  • 0x5 XTPG_GREEN_PLANE - Solid green output
  • 0x6 XTPG_BLUE_PLANE - Solid blue output
  • 0x7 XTPG_BLACK_PLANE - Solid black output
  • 0x8 XTPG_WHITE_PLANE - Solid white output
  • 0x9 XTPG_COLOR_BARS - Color bars
  • 0xA XTPG_ZONE_PLATE - Zone plate output (sinusoidal)
  • 0xB XTPG_TARAN_BARS - Tartan color bars
  • 0xC XTPG_CROSS_HATCH - Cross hatch pattern
  • 0xE XTPG_HV_RAMP - Horizontal vertical ramp
  • 0xF XTPG_BLACK_AND_WHITE_CHECKERBOARD - Black and white checker board
Note
None.

References XTpg_Config::BaseAddress, XTpg::Config, XTPG_PATTERN_CONTROL_OFFSET, XTPG_PTRN_CTL_SET_BG_MASK, and XTpg_ReadReg.

u32 XTpg_GetBayerPhase ( XTpg InstancePtr)

This function returns the Bayer phase value which indicates starting pixel position.

Parameters
InstancePtris a pointer to the XTpg instance.
Returns
BayerPhase is the starting pixel indicator is returned. Corresponding enum values for Bayer Phase are:
  • Bayer Phase 0 - XTPG_BAYER_PHASE_RGRG.
  • Bayer Phase 1 - XTPG_BAYER_PHASE_GRGR.
  • Bayer Phase 2 - XTPG_BAYER_PHASE_GBGB.
  • Bayer Phase 3 - XTPG_BAYER_PHASE_BGBG.
  • Bayer Phase 4 - XTPG_BAYER_PHASE_TURNOFF.
  • It is a double buffered register.
Note
None.

References XTpg_Config::BaseAddress, XTpg::Config, XTPG_BAYER_PHASE_MASK, XTPG_BAYER_PHASE_OFFSET, and XTpg_ReadReg.

void XTpg_GetBoxColor ( XTpg InstancePtr,
u16 *  Blue,
u16 *  Green,
u16 *  Red 
)

This function gets the color components of the box in the Box Color register of the TPG core.

Parameters
InstancePtris a pointer to the XTpg instance.
Blueis a pointer to 16 bit color component of the box in which blue or Y (for YCbCr mode) is returned.
Greenis a pointer to 16 bit color component of the box in which Green or Cr (for YCbCr mode) is returned.
Redis a pointer to 16 bit color component of the box in which Red or Cb (for YCbCr mode) is returned.
Returns
None.
Note
None.

References XTpg_Config::BaseAddress, XTpg::Config, XTPG_BOX_COLOR_OFFSET, XTPG_BOXCOL_BLUE_MASK, XTPG_BOXCOL_GREEN_MASK, XTPG_BOXCOL_GREEN_SHIFT, XTPG_BOXCOL_RED_MASK, XTPG_BOXCOL_RED_SHIFT, and XTpg_ReadReg.

u32 XTpg_GetBoxSize ( XTpg InstancePtr)

This function gets the Box Size in pixel.

Parameters
InstancePtris a pointer to the XTpg instance.
Returns
BoxSize is the size of a box in pixel.
Note
None.

References XTpg_Config::BaseAddress, XTpg::Config, XTPG_BOX_SIZE_MASK, XTPG_BOX_SIZE_OFFSET, and XTpg_ReadReg.

u32 XTpg_GetComponentMask ( XTpg InstancePtr)

This function returns the color component mask status in the Pattern Control Register.

Parameters
InstancePtris a pointer to the XTpg instance.
Returns
Color component value is returned. Corresponding enum values for Color component value is
  • 0x0 XTPG_NOMASK - No masking.
  • 0x1 XTPG_MASKOUT_RED - Mask out red, Cr(for YCbCr mode) component.
  • 0x2 XTPG_MASKOUT_GREE- Mask out green,N Y(for YCbCr mode) component.
  • 0x4 XTPG_MASKOUT_BLUE- Mask out blue, Cb(for YCbCr mode) component.
Note
None.

References XTpg_Config::BaseAddress, XTpg::Config, XTPG_PATTERN_CONTROL_OFFSET, XTPG_PTRN_CTL_MASK_COLR_COMP_MASK, XTPG_PTRN_CTL_MASK_COLR_COMP_SHIFT, and XTpg_ReadReg.

void XTpg_GetCrosshairPosition ( XTpg InstancePtr,
u16 *  HPos,
u16 *  VPos 
)

This function gets the cross hair positions.

Parameters
InstancePtris a pointer to the XTpg instance.
HPosis the row of the frame that will have horizontal line of Cross Hairs is returned.
VPosis the column of the frame that will have vertical line of Cross Hairs is returned.
Returns
None.

References XTpg_Config::BaseAddress, XTpg::Config, XTPG_CROSS_HAIRS_OFFSET, XTPG_CROSSHAIR_HPOS_MASK, XTPG_CROSSHAIR_SHIFT, XTPG_CROSSHAIR_VPOS_MASK, and XTpg_ReadReg.

u32 XTpg_GetMotionSpeed ( XTpg InstancePtr)

This function gets the Motion Speed.

Parameters
InstancePtris a pointer to the XTpg instance.
Returns
MotionSpeed, which indicates the speed that affects on test pattern changes from frame to frame is returned.
Note
None.

References XTpg_Config::BaseAddress, XTpg::Config, XTPG_MOTION_SPEED_MASK, XTPG_MOTION_SPEED_OFFSET, and XTpg_ReadReg.

u32 XTpg_GetNoiseGain ( XTpg InstancePtr)

This function gets the noise gain of each component of TPG core.

Parameters
InstancePtris a pointer to the XTpg instance.
Returns
NoiseGain is a value to increase the noise added to each component.
Note
None.

References XTpg_Config::BaseAddress, XTpg::Config, XTPG_NOISE_GAIN_MASK, XTPG_NOISE_GAIN_OFFSET, and XTpg_ReadReg.

u32 XTpg_GetPattern ( XTpg InstancePtr)

This function returns the contents of the Pattern Control Register.

Parameters
InstancePtris a pointer to the XTpg instance.
Returns
Contents of the Pattern Control Register is returned.
Note
None.

References XTpg_Config::BaseAddress, XTpg::Config, XTPG_PATTERN_CONTROL_OFFSET, and XTpg_ReadReg.

u32 XTpg_GetStuckPixelThreshold ( XTpg InstancePtr)

This function gets the stuck pixel threshold in the STUCK_PIXEL_THRESH register of the TPG core.

Parameters
InstancePtris a pointer to the XTpg instance.
Returns
Stuck pixel threshold is an upper limit for PRNG for insertion of stuck pixel is returned.
Note
None.

References XTpg_Config::BaseAddress, XTpg::Config, XTpg_ReadReg, XTPG_STUCK_PIXEL_THRESH_OFFSET, and XTPG_STUCKPIX_THRESH_MASK.

u32 XTpg_GetVersion ( XTpg InstancePtr)

This function returns the contents of the Version register of the TPG core.

Parameters
InstancePtris a pointer to the XTpg instance to be worked on.
Returns
Content of Version register is returned.
Note
None.

References XTpg_Config::BaseAddress, XTpg::Config, XTpg_ReadReg, and XTPG_VERSION_OFFSET.

u16 XTpg_GetZPlateHSpeed ( XTpg InstancePtr)

This function gets how fast (the speed of) horizontal component changes.

Parameters
InstancePtris a pointer to the XTpg instance.
Returns
ZPlateHSpeed is speed of the horizontal component changes is returned.
Note
None.

References XTpg_Config::BaseAddress, XTpg::Config, XTpg_ReadReg, XTPG_ZPLATE_HOR_CONTROL_OFFSET, XTPG_ZPLATEHOR_SPEED_MASK, and XTPG_ZPLATEHOR_SPEED_SHIFT.

u16 XTpg_GetZPlateHStart ( XTpg InstancePtr)

This function gets a starting point in the ROM based sinusoidal values for the horizontal component.

Parameters
InstancePtris a pointer to the XTpg instance.
Returns
ZPlateHStart is starting point in the ROM based sinusoidal value for horizontal component is returned.
Note
None.

References XTpg_Config::BaseAddress, XTpg::Config, XTpg_ReadReg, XTPG_ZPLATE_HOR_CONTROL_OFFSET, and XTPG_ZPLATEHOR_START_MASK.

u16 XTpg_GetZPlateVSpeed ( XTpg InstancePtr)

This function gets how fast (the speed of) the vertical component changes.

Parameters
InstancePtris a pointer to the XTpg instance.
Returns
ZPlateVSpeed is a 16 bit variable the speed of the vertical component changes is returned.
Note
None.

References XTpg_Config::BaseAddress, XTpg::Config, XTpg_ReadReg, XTPG_ZPLATE_VER_CONTROL_OFFSET, XTPG_ZPLATEVER_SPEED_MASK, and XTPG_ZPLATEVER_SPEED_SHIFT.

u16 XTpg_GetZPlateVStart ( XTpg InstancePtr)

This function gets a starting point in the ROM based sinusoidal values for the vertical component.

Parameters
InstancePtris a pointer to the XTpg instance.
Returns
ZPlateVStart is starting point in the ROM based sinusoidal value for vertical component is returned.
Note
None.

References XTpg_Config::BaseAddress, XTpg::Config, XTpg_ReadReg, XTPG_ZPLATE_VER_CONTROL_OFFSET, and XTPG_ZPLATEVER_START_MASK.

void XTpg_IntrHandler ( void *  InstancePtr)

This function is the interrupt handler for the TPG driver.

This handler reads the pending interrupt from the STATUS register, determines the source of the interrupts and calls the respective callbacks for the interrupts that are enabled in IRQ_ENABLE register, 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 XTpg_SetCallBack() during initialization phase.

Parameters
InstancePtris a pointer to the XTpg instance that just interrupted.
Returns
None.
Note
Interrupt interface should be enabled.

References XTpg::Config, XTpg::ErrCallBack, XTpg::ErrRef, XTpg::FrameDoneCallBack, XTpg::FrameDoneRef, XTpg_Config::HasIntcIf, XTpg::IsReady, XTpg::ProcStartCallBack, XTpg::ProcStartRef, XTpg_IntrClear, XTpg_IntrGetPending, XTPG_IXR_EOF_MASK, XTPG_IXR_PROCS_STARTED_MASK, and XTPG_IXR_SE_MASK.

XTpg_Config * XTpg_LookupConfig ( u16  DeviceId)

This function returns a reference to an XTpg_Config structure based on the unique device id, DeviceId.

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

Parameters
DeviceIdis the unique Device ID of the device for the lookup operation.
Returns
CfgPtr is a reference to a config record in the configuration table (in xtpg_g.c) corresponding to DeviceId, or NULL if no match is found.
Note
None.

Referenced by XTpgSelfTestExample().

int XTpg_SelfTest ( XTpg InstancePtr)

This function reads Version register of TPG core and compares with zero as part of self test.

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

References XTpg_Config::BaseAddress, XTpg::Config, XTpg_ReadReg, and XTPG_VERSION_OFFSET.

Referenced by XTpgSelfTestExample().

void XTpg_SetActiveSize ( XTpg InstancePtr,
u16  HSize,
u16  VSize 
)

This function sets the active H/V sizes in the Active Size register.

Parameters
InstancePtris a pointer to the XTpg instance.
HSizespecifies the number of Active Pixels per Scan Line that needs to be set (Range is 32 to 7680).
VSizespecifies the number of Active Lines per Frame that needs to be set (Range is 32 to 7680).
Returns
None.
Note
None.

References XTpg_Config::BaseAddress, XTpg::Config, XTPG_ACTIVE_SIZE_OFFSET, XTPG_ACTSIZE_NUM_LINE_SHIFT, XTPG_HSIZE_FIRST, XTPG_HSIZE_LAST, XTPG_VSIZE_FIRST, XTPG_VSIZE_LAST, and XTpg_WriteReg.

void XTpg_SetBackground ( XTpg InstancePtr,
enum XTpg_BackgroundPattern  Pattern 
)

This function sets the background pattern in the Pattern Control Register.

Parameters
InstancePtris a pointer to the XTpg instance.
Patternis the pattern to be generated. The enum values to be used for the patterns are :
  • XTPG_PASS_THROUGH- Pass video input straight through the video output
  • XTPG_H_RAMP - Horizontal ramp
  • XTPG_V_RAMP - Vertical ramp
  • XTPG_R_RAMP - Temporal ramp
  • XTPG_RED_PLANE - Solid red output
  • XTPG_GREEN_PLANE - Solid green output
  • XTPG_BLUE_PLANE - Solid blue output
  • XTPG_BLACK_PLANE - Solid black output
  • XTPG_WHITE_PLANE - Solid white output
  • XTPG_COLOR_BARS - Color bars
  • XTPG_ZONE_PLATE - Zone plate output(sinusoidal)
  • XTPG_TARAN_BARS - Tartan color bars
  • XTPG_CROSS_HATCH - Cross hatch pattern
  • XTPG_HV_RAMP - Horizontal vertical ramp
  • XTPG_BLACK_AND_WHITE_CHECKERBOARD - Black and white checker board
Returns
None.
Note
None.

References XTpg_Config::BaseAddress, XTpg::Config, XTPG_BLACK_AND_WHITE_CHECKERBOARD, XTPG_CROSS_HATCH, XTPG_HV_RAMP, XTPG_PATTERN_CONTROL_OFFSET, XTPG_PTRN_CTL_SET_BG_MASK, XTpg_ReadReg, and XTpg_WriteReg.

void XTpg_SetBayerPhase ( XTpg InstancePtr,
enum XTpg_BayerPhaseCombination  BayerPhaseComb 
)

This function specifies or sets whether the starting position pixel(0,0) of the Bayer sampling grid is on a red-green or blue-green line and whether the first pixel is green or not.

Parameters
InstancePtris a pointer to the XTpg instance.
BayerPhaseCombis Bayer phase value to be set to identify starting pixel position. The enum values of Bayer phase are
  • Bayer Phase 0 - XTPG_BAYER_PHASE_RGRG.
  • Bayer Phase 1 - XTPG_BAYER_PHASE_GRGR.
  • Bayer Phase 2 - XTPG_BAYER_PHASE_GBGB.
  • Bayer Phase 3 - XTPG_BAYER_PHASE_BGBG.
  • Bayer Phase 4 - XTPG_BAYER_PHASE_TURNOFF.
  • It is a double buffered register.
Returns
None.
Note
None.

References XTpg_Config::BaseAddress, XTpg::Config, XTPG_BAYER_PHASE_OFFSET, XTPG_BAYER_PHASE_TURNOFF, and XTpg_WriteReg.

void XTpg_SetBoxColor ( XTpg InstancePtr,
u16  Blue,
u16  Green,
u16  Red 
)

This function sets the color components of the box in the Box Color register of the TPG core.

Parameters
InstancePtris a pointer to the XTpg instance.
Blueis the color component of the box which needs to be set.
Greenis the color component of the box which needs to be set.
Redis the color component of the box which needs to be set.
Returns
None.
Note
XTpg_EnableBox API should be used to enable the Box feature.

References XTpg_Config::BaseAddress, XTpg::Config, XTPG_BOX_COLOR_OFFSET, XTPG_BOXCOL_BLUE_MASK, XTPG_BOXCOL_GREEN_MASK, XTPG_BOXCOL_GREEN_SHIFT, XTPG_BOXCOL_RED_MASK, XTPG_BOXCOL_RED_SHIFT, and XTpg_WriteReg.

int XTpg_SetBoxSize ( XTpg InstancePtr,
u32  BoxSize 
)

This function sets the Box Size.

Parameters
InstancePtris a pointer to the XTpg instance.
BoxSizeis size of the box in pixel.
Returns
-XST_SUCCESS if BoxSize is less than active size. -XST_FAILURE if BoxSize is greater than active size.
Note
  • The size of the box has to be set smaller than the frame size that is set in the ACTIVE_SIZE register.
  • XTpg_EnableBox API should be used to enable the Box feature.

References XTpg_Config::BaseAddress, XTpg::Config, XTPG_ACTIVE_SIZE_OFFSET, XTPG_BOX_SIZE_OFFSET, XTpg_ReadReg, and XTpg_WriteReg.

int XTpg_SetCallBack ( XTpg InstancePtr,
u32  HandlerType,
void *  CallBackFunc,
void *  CallBackRef 
)

This function installs an asynchronous callback function for the given HandlerType.

HandlerType              Callback Function Type
-----------------------  ----------------------
XTPG_HANDLER_FRAMEDONE   FrameDoneCallBack
XTPG_HANDLER_PROCSTART   ProcStartCallBack
XTPG_HANDLER_ERROR       ErrCallBack
Parameters
InstancePtris a pointer to the XTpg instance to be worked on.
HandlerTypespecifies which callback is to be attached.
CallBackFuncis the address of the callback function.
CallBackRefis a user data item that will be passed to the callback function when it is invoked.
Returns
  • XST_SUCCESS when handler is installed.
  • XST_INVALID_PARAM when HandlerType is invalid.
Note
Invoking this function for a handler that already has been installed replaces it with the new handler.

References XTpg::ErrCallBack, XTpg::ErrRef, XTpg::FrameDoneCallBack, XTpg::FrameDoneRef, XTpg::IsReady, XTpg::ProcStartCallBack, XTpg::ProcStartRef, XTPG_HANDLER_ERROR, XTPG_HANDLER_FRAMEDONE, and XTPG_HANDLER_PROCSTART.

void XTpg_SetComponentMask ( XTpg InstancePtr,
enum XTpg_ComponentMask  Mask 
)

This function masks out the specified color component by setting the Pattern Control Register of the TPG core.

Parameters
InstancePtris a pointer to the XTpg instance.
Maskspecifies the ComponentMask that needs to be set. the enum values as
  • XTPG_NOMASK, - No masking.
  • XTPG_MASKOUT_RED, - Mask out red, Cr(for YCbCr mode) component.
  • XTPG_MASKOUT_GREEN, - Mask out green, Y(for YCbCr mode) component.
  • XTPG_MASKOUT_BLUE - Mask out blue, Cb(for YCbCr mode) component.
Returns
None.
Note
None.

References XTpg_Config::BaseAddress, XTpg::Config, XTPG_MASKOUT_BLUE, XTPG_MASKOUT_GREEN, XTPG_NOMASK, XTPG_PATTERN_CONTROL_OFFSET, XTPG_PTRN_CTL_MASK_COLR_COMP_MASK, XTPG_PTRN_CTL_MASK_COLR_COMP_SHIFT, XTpg_ReadReg, and XTpg_WriteReg.

void XTpg_SetCrosshairPosition ( XTpg InstancePtr,
u16  HPos,
u16  VPos 
)

This function sets the Cross Hairs Positions.

Parameters
InstancePtris a pointer to the XTpg instance.
HPosis the row of the frame that will have horizontal line of Cross Hairs that need to be set.
VPosis the column of the frame that will have vertical line of Cross Hairs that need to be set.
Returns
None.
Note
Cross hair feature should be enabled by using the API XTpg_EnableCrossHair

References XTpg_Config::BaseAddress, XTpg::Config, XTPG_CROSS_HAIRS_OFFSET, XTPG_CROSSHAIR_SHIFT, and XTpg_WriteReg.

void XTpg_SetMotionSpeed ( XTpg InstancePtr,
u32  MotionSpeed 
)

This function sets the Motion Speed.

Parameters
InstancePtris a pointer to the XTpg instance.
MotionSpeedis how fast the temporal features of supported test pattern changes from frame to frame which need to be set. Range is 0 to 255.
Returns
None.
Note
None.

References XTpg_Config::BaseAddress, XTpg::Config, XTPG_MOTION_SPEED_MAX, XTPG_MOTION_SPEED_OFFSET, and XTpg_WriteReg.

void XTpg_SetNoiseGain ( XTpg InstancePtr,
u32  NoiseGain 
)

This function sets the noise gain in Noise Gain register of the TPG core.

Parameters
InstancePtris a pointer to the XTpg instance.
NoiseGainis a value to increase the noise added to each component which needs to be set.
Returns
None.
Note
- XTPg_EnableNoise API should be used to enable Noise feature.

References XTpg_Config::BaseAddress, XTpg::Config, XTPG_NOISE_GAIN_OFFSET, and XTpg_WriteReg.

void XTpg_SetPattern ( XTpg InstancePtr,
u32  Pattern 
)

This function sets the Pattern Control Register of TPG core.

Parameters
InstancePtris a pointer to the XTpg instance.
Patternis the 32 bit value to be written to the Pattern Control Register.
Returns
None.
Note
This API is used for writing the complete Pattern Control Register. Use the following APIs for the individual patterns separately
  • XTpg_SetBackground
  • XTpg_EnableCrossHair
  • XTpg_DisableCrossHair
  • XTpg_EnableBox
  • XTpg_DisableBox
  • XTpg_SetComponentMask
  • XTpg_EnableStuckPixel
  • XTpg_DisableStuckPixel
  • XTPg_EnableNoise
  • XTPg_DisableNoise
  • XTpg_EnableMotion
  • XTpg_DisableMotion

References XTpg_Config::BaseAddress, XTpg::Config, XTPG_PATTERN_CONTROL_OFFSET, and XTpg_WriteReg.

void XTpg_SetStuckPixelThreshold ( XTpg InstancePtr,
u32  PixelThreshold 
)

This function sets the stuck pixel threshold in STUCK_PIXEL_THRESH register of the TPG core.

Parameters
InstancePtris a pointer to the XTpg instance.
PixelThresholdis an upper limit for PRNG for insertion of stuck pixel which needs to be set.
Returns
None.
Note
- XTpg_EnableStuckPixel API should be used to enable Stuck Pixel threshold value.

References XTpg_Config::BaseAddress, XTpg::Config, XTPG_STUCK_PIXEL_THRESH_OFFSET, and XTpg_WriteReg.

void XTpg_Setup ( XTpg InstancePtr)

This function sets the input/output frame size in Active Size register and enables the register update.

Parameters
InstancePtris a pointer to the XTpg instance.
Returns
None.
Note
None.

References XTpg_Config::BaseAddress, XTpg::Config, XTpg::VSize, XTPG_ACTIVE_SIZE_OFFSET, XTPG_ACTSIZE_NUM_LINE_MASK, XTPG_ACTSIZE_NUM_LINE_SHIFT, XTPG_ACTSIZE_NUM_PIXEL_MASK, XTpg_RegUpdateDisable, XTpg_RegUpdateEnable, and XTpg_WriteReg.

void XTpg_SetZPlateHSpeed ( XTpg InstancePtr,
u16  ZPlateHSpeed 
)

This function sets how fast (the speed of) the horizontal component changes.

Parameters
InstancePtris a pointer to the XTpg instance.
ZPlateHSpeedis the speed of the horizontal component changes which need to be set.
Returns
None.
Note
None.

References XTpg_Config::BaseAddress, XTpg::Config, XTpg_ReadReg, XTpg_WriteReg, XTPG_ZPLATE_HOR_CONTROL_OFFSET, XTPG_ZPLATEHOR_SPEED_MASK, and XTPG_ZPLATEHOR_SPEED_SHIFT.

void XTpg_SetZPlateHStart ( XTpg InstancePtr,
u16  ZPlateHStart 
)

This function sets a starting point in the ROM based sinusoidal values for the horizontal component.

Parameters
InstancePtris a pointer to the XTpg instance.
ZPlateHStartis starting point in the ROM based sinusoidal value for horizontal component.
Returns
None.
Note
None.

References XTpg_Config::BaseAddress, XTpg::Config, XTpg_ReadReg, XTpg_WriteReg, XTPG_ZPLATE_HOR_CONTROL_OFFSET, and XTPG_ZPLATEHOR_START_MASK.

void XTpg_SetZPlateVSpeed ( XTpg InstancePtr,
u16  ZPlateVSpeed 
)

This function sets how fast (the speed of) the vertical component changes.

Parameters
InstancePtris a pointer to the XTpg instance.
ZPlateVSpeedis the speed of the vertical component changes which need to be set.
Returns
None.
Note
None.

References XTpg_Config::BaseAddress, XTpg::Config, XTpg_ReadReg, XTpg_WriteReg, XTPG_ZPLATE_VER_CONTROL_OFFSET, XTPG_ZPLATEVER_SPEED_SHIFT, and XTPG_ZPLATEVER_START_MASK.

void XTpg_SetZPlateVStart ( XTpg InstancePtr,
u16  ZPlateVStart 
)

This function sets a starting point in the ROM based sinusoidal values for the vertical component.

Parameters
InstancePtris a pointer to the XTpg instance.
ZPlateVStartis starting point in the ROM based sinusoidal value for vertical component which need to be set.
Returns
None.
Note
None.

References XTpg_Config::BaseAddress, XTpg::Config, XTpg_ReadReg, XTpg_WriteReg, XTPG_ZPLATE_VER_CONTROL_OFFSET, and XTPG_ZPLATEVER_START_MASK.