tpg: Tpg_v3_1

| tpg Xilinx SDK Drivers API Documentation

- Overview
- Data Structures
- APIs
- File List
- Examples

Data Structures | Macros | Typedefs | Functions
Tpg_v3_1

## 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_Config * | XTpg_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_CONTROL_OFFSET), \
(XTpg_ReadReg((InstancePtr)->Config.BaseAddress, \
(XTPG_CONTROL_OFFSET)) & \
(~(XTPG_CTL_SW_EN_MASK))))
XTpg_ReadReg
#define XTpg_ReadReg(BaseAddress, RegOffset)
This function macro reads the given register.
Definition: xtpg_hw.h:459
XTPG_CONTROL_OFFSET
#define XTPG_CONTROL_OFFSET
Control Offset.
Definition: xtpg_hw.h:65
XTpg_WriteReg
#define XTpg_WriteReg(BaseAddress, RegOffset, Data)
This function macro writes the given register.
Definition: xtpg_hw.h:478
XTPG_CTL_SW_EN_MASK
#define XTPG_CTL_SW_EN_MASK
S/W Enable Mask.
Definition: xtpg_hw.h:95

This function macro disables the TPG core.

Parameters

  InstancePtr | is 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_CONTROL_OFFSET), \
(XTpg_ReadReg((InstancePtr)->Config.BaseAddress, \
(XTPG_CONTROL_OFFSET)) | (XTPG_CTL_SW_EN_MASK)))
XTpg_ReadReg
#define XTpg_ReadReg(BaseAddress, RegOffset)
This function macro reads the given register.
Definition: xtpg_hw.h:459
XTPG_CONTROL_OFFSET
#define XTPG_CONTROL_OFFSET
Control Offset.
Definition: xtpg_hw.h:65
XTpg_WriteReg
#define XTpg_WriteReg(BaseAddress, RegOffset, Data)
This function macro writes the given register.
Definition: xtpg_hw.h:478
XTPG_CTL_SW_EN_MASK
#define XTPG_CTL_SW_EN_MASK
S/W Enable Mask.
Definition: xtpg_hw.h:95

This function macro enables the TPG core.

Parameters

  InstancePtr | is 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, \
(XTPG_STATUS_OFFSET),\
(IntrType) & ((u32)(XTPG_IXR_ALLINTR_MASK)))
XTpg_WriteReg
#define XTpg_WriteReg(BaseAddress, RegOffset, Data)
This function macro writes the given register.
Definition: xtpg_hw.h:478
XTPG_STATUS_OFFSET
#define XTPG_STATUS_OFFSET
Status Offset.
Definition: xtpg_hw.h:66
XTPG_IXR_ALLINTR_MASK
#define XTPG_IXR_ALLINTR_MASK
Addition of all Masks.
Definition: xtpg_hw.h:116

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

Bit positions of 1 will be cleared.

Parameters

  InstancePtr | is a pointer to the XTpg instance to be worked on.
  IntrType | is 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)) & \
(XTPG_IXR_ALLINTR_MASK)))
XTpg_ReadReg
#define XTpg_ReadReg(BaseAddress, RegOffset)
This function macro reads the given register.
Definition: xtpg_hw.h:459
XTpg_WriteReg
#define XTpg_WriteReg(BaseAddress, RegOffset, Data)
This function macro writes the given register.
Definition: xtpg_hw.h:478
XTPG_IRQ_EN_OFFSET
#define XTPG_IRQ_EN_OFFSET
IRQ Enable Offset.
Definition: xtpg_hw.h:68
XTPG_IXR_ALLINTR_MASK
#define XTPG_IXR_ALLINTR_MASK
Addition of all Masks.
Definition: xtpg_hw.h:116

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

Parameters

  InstancePtr | is a pointer to the XTpg 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 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, \
(XTPG_IRQ_EN_OFFSET))))
XTpg_ReadReg
#define XTpg_ReadReg(BaseAddress, RegOffset)
This function macro reads the given register.
Definition: xtpg_hw.h:459
XTpg_WriteReg
#define XTpg_WriteReg(BaseAddress, RegOffset, Data)
This function macro writes the given register.
Definition: xtpg_hw.h:478
XTPG_IRQ_EN_OFFSET
#define XTPG_IRQ_EN_OFFSET
IRQ Enable Offset.
Definition: xtpg_hw.h:68
XTPG_IXR_ALLINTR_MASK
#define XTPG_IXR_ALLINTR_MASK
Addition of all Masks.
Definition: xtpg_hw.h:116

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

Parameters

  InstancePtr | is a pointer to the XTpg 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 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_IRQ_EN_OFFSET)) &\
(XTpg_ReadReg((InstancePtr)->Config.BaseAddress, \
(XTPG_STATUS_OFFSET)) & ((u32)XTPG_IXR_ALLINTR_MASK))
XTpg_ReadReg
#define XTpg_ReadReg(BaseAddress, RegOffset)
This function macro reads the given register.
Definition: xtpg_hw.h:459
XTPG_STATUS_OFFSET
#define XTPG_STATUS_OFFSET
Status Offset.
Definition: xtpg_hw.h:66
XTPG_IRQ_EN_OFFSET
#define XTPG_IRQ_EN_OFFSET
IRQ Enable Offset.
Definition: xtpg_hw.h:68
XTPG_IXR_ALLINTR_MASK
#define XTPG_IXR_ALLINTR_MASK
Addition of all Masks.
Definition: xtpg_hw.h:116

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

Parameters

  InstancePtr | is 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_PATTERN_CONTROL_OFFSET 0x100

Pattern Control Offset.

Referenced by XTpg_DisableBox(), XTpg_DisableCrossHair(), XTpg_DisableMotion(), XTPg_DisableNoise(), XTpg_DisableStuckPixel(), XTpg_EnableBox(), XTpg_EnableCrossHair(), XTpg_EnableMotion(), XTPg_EnableNoise(), XTpg_EnableStuckPixel(), XTpg_GetBackground(), XTpg_GetComponentMask(), XTpg_GetPattern(), XTpg_SetBackground(), XTpg_SetComponentMask(), and XTpg_SetPattern().

#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_ReadReg | ( |  | BaseAddress,
|  |  | RegOffset
| ) |  | XTpg_In32((BaseAddress) + (u32)(RegOffset))

This function macro reads the given register.

Parameters

  BaseAddress | is the base address of the TPG core.
  RegOffset | is the register offset of the register (defined at top of this file).

Returns
  32-bit value of the register.

Note
  C-style signature: u32 XTpg_ReadReg(u32 BaseAddress, u32 RegOffset)

Referenced by XTpg_DisableBox(), XTpg_DisableCrossHair(), XTpg_DisableMotion(), XTPg_DisableNoise(), XTpg_DisableStuckPixel(), XTpg_EnableBox(), XTpg_EnableCrossHair(), XTpg_EnableMotion(), XTPg_EnableNoise(), XTpg_EnableStuckPixel(), XTpg_GetActiveSize(), XTpg_GetBackground(), XTpg_GetBayerPhase(), XTpg_GetBoxColor(), XTpg_GetBoxSize(), XTpg_GetComponentMask(), XTpg_GetCrosshairPosition(), XTpg_GetMotionSpeed(), XTpg_GetNoiseGain(), XTpg_GetPattern(), XTpg_GetStuckPixelThreshold(), XTpg_GetVersion(), XTpg_GetZPlateHSpeed(), XTpg_GetZPlateHStart(), XTpg_GetZPlateVSpeed(), XTpg_GetZPlateVStart(), XTpg_SelfTest(), XTpg_SetBackground(), XTpg_SetBoxSize(), XTpg_SetComponentMask(), XTpg_SetZPlateHSpeed(), XTpg_SetZPlateHStart(), XTpg_SetZPlateVSpeed(), and XTpg_SetZPlateVStart().

#define XTpg_RegUpdateDisable | ( |  | InstancePtr | ) |

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

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

  InstancePtr | is 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_CONTROL_OFFSET), \
(XTpg_ReadReg((InstancePtr)->Config.BaseAddress, \
(XTPG_CONTROL_OFFSET)) | (XTPG_CTL_RUE_MASK)))
XTpg_ReadReg
#define XTpg_ReadReg(BaseAddress, RegOffset)
This function macro reads the given register.
Definition: xtpg_hw.h:459
XTPG_CONTROL_OFFSET
#define XTPG_CONTROL_OFFSET
Control Offset.
Definition: xtpg_hw.h:65
XTpg_WriteReg
#define XTpg_WriteReg(BaseAddress, RegOffset, Data)
This function macro writes the given register.
Definition: xtpg_hw.h:478
XTPG_CTL_RUE_MASK
#define XTPG_CTL_RUE_MASK
Register Update Enable Mask.
Definition: xtpg_hw.h:96

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

  InstancePtr | is 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, \
(XTPG_CONTROL_OFFSET), (XTPG_CTL_RESET_MASK))
XTPG_CONTROL_OFFSET
#define XTPG_CONTROL_OFFSET
Control Offset.
Definition: xtpg_hw.h:65
XTpg_WriteReg
#define XTpg_WriteReg(BaseAddress, RegOffset, Data)
This function macro writes the given register.
Definition: xtpg_hw.h:478
XTPG_CTL_RESET_MASK
#define XTPG_CTL_RESET_MASK
Software Reset - Instantaneous Mask.
Definition: xtpg_hw.h:104

This function macro resets a TPG core.

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

Parameters

  InstancePtr | is 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

  InstancePtr | is 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, \
(XTPG_STATUS_OFFSET)) & \
(XTPG_IXR_ALLINTR_MASK)
XTpg_ReadReg
#define XTpg_ReadReg(BaseAddress, RegOffset)
This function macro reads the given register.
Definition: xtpg_hw.h:459
XTPG_STATUS_OFFSET
#define XTPG_STATUS_OFFSET
Status Offset.
Definition: xtpg_hw.h:66
XTPG_IXR_ALLINTR_MASK
#define XTPG_IXR_ALLINTR_MASK
Addition of all Masks.
Definition: xtpg_hw.h:116

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

Parameters

  InstancePtr | is 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

  InstancePtr | is 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), \
(XTPG_CONTROL_OFFSET), (XTPG_CTL_AUTORESET_MASK))
XTPG_CONTROL_OFFSET
#define XTPG_CONTROL_OFFSET
Control Offset.
Definition: xtpg_hw.h:65
XTPG_CTL_AUTORESET_MASK
#define XTPG_CTL_AUTORESET_MASK
Software Reset - Auto-synchronize to SOF Mask.
Definition: xtpg_hw.h:99
XTpg_WriteReg
#define XTpg_WriteReg(BaseAddress, RegOffset, Data)
This function macro writes the given register.
Definition: xtpg_hw.h:478

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

  InstancePtr | is 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))

This function macro writes the given register.

Parameters

  BaseAddress | is the base address of the TPG core.
  RegOffset | is the register offset of the register (defined at top of this file).
  Data | is the 32-bit value to write into the register.

Returns
  None.

Note
  C-style signature: void XTpg_WriteReg(u32 BaseAddress, u32 RegOffset, u32 Data)

Referenced by XTpg_DisableBox(), XTpg_DisableCrossHair(), XTpg_DisableMotion(), XTPg_DisableNoise(), XTpg_DisableStuckPixel(), XTpg_EnableBox(), XTpg_EnableCrossHair(), XTpg_EnableMotion(), XTPg_EnableNoise(), XTpg_EnableStuckPixel(), XTpg_SetActiveSize(), XTpg_SetBackground(), XTpg_SetBayerPhase(), XTpg_SetBoxColor(), XTpg_SetBoxSize(), XTpg_SetComponentMask(), XTpg_SetCrosshairPosition(), XTpg_SetMotionSpeed(), XTpg_SetNoiseGain(), XTpg_SetPattern(), XTpg_SetStuckPixelThreshold(), XTpg_Setup(), XTpg_SetZPlateHSpeed(), XTpg_SetZPlateHStart(), XTpg_SetZPlateVSpeed(), and XTpg_SetZPlateVStart().

#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

  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.

typedef void(* XTpg_ErrorCallBack)(void *CallBackRef, u32 ErrorMask)

Callback type for Error interrupt.

Parameters

  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. 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.

enum XTpg_BackgroundPattern

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.

enum XTpg_BayerPhaseCombination

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.

enum XTpg_ComponentMask

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

  InstancePtr | is a pointer to the XTpg instance.
  CfgPtr | is a reference to a structure containing information about a specific XTpg instace.
  EffectiveAddr | is 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

  InstancePtr | is 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

  InstancePtr | is 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

  InstancePtr | is 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

  InstancePtr | is 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

  InstancePtr | is 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

  InstancePtr | is 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

  InstancePtr | is 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

  InstancePtr | is 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

  InstancePtr | is 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

  InstancePtr | is 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

  InstancePtr | is a pointer to the XTpg instance.
  HSize | is a pointer to 16-bit variable in which the number of Active Pixels per Scan Line is returned. (Range is 32 to 7680).
  VSize | is 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

  InstancePtr | is 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

  InstancePtr | is 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

  InstancePtr | is a pointer to the XTpg instance.
  Blue | is a pointer to 16 bit color component of the box in which blue or Y (for YCbCr mode) is returned.
  Green | is a pointer to 16 bit color component of the box in which Green or Cr (for YCbCr mode) is returned.
  Red | is 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

  InstancePtr | is 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

  InstancePtr | is 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

  InstancePtr | is a pointer to the XTpg instance.
  HPos | is the row of the frame that will have horizontal line of Cross Hairs is returned.
  VPos | is 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

  InstancePtr | is 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

  InstancePtr | is 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

  InstancePtr | is 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

  InstancePtr | is 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

  InstancePtr | is 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

  InstancePtr | is 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

  InstancePtr | is 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

  InstancePtr | is 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

  InstancePtr | is 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

  InstancePtr | is 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

  DeviceId | is 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

  InstancePtr | is 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

  InstancePtr | is a pointer to the XTpg instance.
  HSize | specifies the number of Active Pixels per Scan Line that needs to be set (Range is 32 to 7680).
  VSize | specifies 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

  InstancePtr | is a pointer to the XTpg instance.
  Pattern | is 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

  InstancePtr | is a pointer to the XTpg instance.
  BayerPhaseComb | is 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

  InstancePtr | is a pointer to the XTpg instance.
  Blue | is the color component of the box which needs to be set.
  Green | is the color component of the box which needs to be set.
  Red | is 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

  InstancePtr | is a pointer to the XTpg instance.
  BoxSize | is 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

  InstancePtr | is a pointer to the XTpg 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.

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

  InstancePtr | is a pointer to the XTpg instance.
  Mask | specifies 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

  InstancePtr | is a pointer to the XTpg instance.
  HPos | is the row of the frame that will have horizontal line of Cross Hairs that need to be set.
  VPos | is 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

  InstancePtr | is a pointer to the XTpg instance.
  MotionSpeed | is 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

  InstancePtr | is a pointer to the XTpg instance.
  NoiseGain | is 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

  InstancePtr | is a pointer to the XTpg instance.
  Pattern | is 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

  InstancePtr | is a pointer to the XTpg instance.
  PixelThreshold | is 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

  InstancePtr | is 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

  InstancePtr | is a pointer to the XTpg instance.
  ZPlateHSpeed | is 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

  InstancePtr | is a pointer to the XTpg instance.
  ZPlateHStart | is 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

  InstancePtr | is a pointer to the XTpg instance.
  ZPlateVSpeed | is 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

  InstancePtr | is a pointer to the XTpg instance.
  ZPlateVStart | is 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.