dp14rxss
Xilinx SDK Drivers API Documentation
dppt.h File Reference

Overview

This file contains functions to configure Video Pattern Generator core.

MODIFICATION HISTORY:
Ver   Who    Date     Changes


1.00 YB 07/01/15 Initial release.

MODIFICATION HISTORY:
Ver   Who    Date     Changes


1.00 KI 07/13/17 Initial release.

Functions

int DpPt_SetupIntrSystem ()
 This function is sets up Interrupt system and start it. More...
 
void DpPt_HpdEventHandler (void *InstancePtr)
 This function takes care HPD event. More...
 
void DpPt_HpdPulseHandler (void *InstancePtr)
 This function takes care HPD pulse interrupt. More...
 
void DpPt_LinkrateChgHandler (void *InstancePtr)
 This function sets link line rate. More...
 
void DpRxSs_AccessLaneSetHandler (void *InstancePtr)
 This function is the callback function for Access lane set request. More...
 
void DpRxSs_AccessLinkQualHandler (void *InstancePtr)
 This function is the callback function for Access link qual request. More...
 
void DpRxSs_AccessErrorCounterHandler (void *InstancePtr)
 This function is the callback function for Access prbs error count. More...
 
void DpRxSs_CRCTestEventHandler (void *InstancePtr)
 This function is the callback function for Test CRC Event request. More...
 
void DpRxSs_InfoPacketHandler (void *InstancePtr)
 This function is the callback function for Info Packet Handling. More...
 
void DpRxSs_ExtPacketHandler (void *InstancePtr)
 This function is the callback function for Generic Packet Handling of 32-Bytes payload. More...
 
void DpPt_CustomWaitUs (void *InstancePtr, u32 MicroSeconds)
 This function use h/w timer to count specific Microseconds. More...
 
void hpd_con ()
 This function is called when a Hot-Plug-Detect (HPD) event is received by the DisplayPort TX Subsystem core. More...
 
void hpd_pulse_con ()
 This function is called when a Hot-Plug-Detect (HPD) pulse is received by the DisplayPort TX Subsystem core. More...
 
void start_tx (u8 line_rate, u8 lane_count, XVidC_VideoMode res_table, u8 bpc, u8 pat, u8 pat_update)
 This is for Tx only mode This function will start outputing internal video patern image Setup GT, DP, patern and generator. More...
 
void reset_clkwiz ()
 This function will reset Tx side MMCM. More...
 
void clk_wiz_locked ()
 This function to check MMCM lock status. More...
 
u8 i2c_read_dp141 (u32 I2CBaseAddress, u8 I2CSlaveAddress, u16 RegisterAddress)
 This function reads DP141 VFMC- IIC. More...
 
int VideoFMC_Init (void)
 This function initializes VFMC. More...
 
void I2C_Scan (u32 BaseAddress)
 This function scans VFMC- IIC. More...
 
void video_change_detect (u32 *count_track, u32 *rxMsamisc0_track, u32 *bpc_track, u32 *recv_clk_freq_track, float *recv_frame_clk_track, u32 *recv_frame_clk_int_track, int *track_count)
 This function will detect video resolution/frequency change Many GPUs won't re-train when only video res/freq change. More...
 
void detect_rx_video_and_startTx (int *track_count1)
 This function detects incoming video and find out video parameters Based on the parameters, set up Tx and VDMA, then start Tx output. More...
 
void switch_to_Tx_only (int *track_switch, u8 *pwr_dwn_x)
 This function will be used when no incoming video at pass-through mode If no video, switching to internal patern generator. More...
 
void sink_power_cycle (u32 power_down_time)
 This function will send power down and power up command over AUX. More...
 
void Vpg_Audio_start (void)
 This function starts audio pattern generator. More...
 
void Vpg_Audio_stop ()
 This function stops audio pattern generator. More...
 
void remap_start (struct dma_chan_parms *dma_struct)
 This function starts remap IP. More...
 
void resetIp ()
 This function toggles HW reset line for all IP's. More...
 
void update_edid ()
 This function will update and overwrite EDID color depth 10BPC will be changed to 8BPC due to design limitation. More...
 
void Print_InfoPkt ()
 This function is the callback function for Info Packet Handling. More...
 
void Print_ExtPkt ()
 This function is the callback function for Ext Packet Handling. More...
 

Function Documentation

void clk_wiz_locked ( void  )

This function to check MMCM lock status.

Parameters
None.
Returns
None.
Note
None.

This function to check MMCM lock status.

Returns
None

Referenced by start_tx().

void detect_rx_video_and_startTx ( int *  track_count1)

This function detects incoming video and find out video parameters Based on the parameters, set up Tx and VDMA, then start Tx output.

Returns
None

References XDpRxSs::DpPtr, Vpg_StreamSrcConfigure(), and Vpg_VidgenSetUserPattern().

void DpPt_CustomWaitUs ( void *  InstancePtr,
u32  MicroSeconds 
)

This function use h/w timer to count specific Microseconds.

Parameters
pointerto timer
MicroSecondsto wait
Returns
None.
Note
None.

This function use h/w timer to count specific Microseconds.

It provides timer with predefined amount of loop iterations.

Parameters
InstancePtris a pointer to the XDp instance.
Returns
None.
Note
Use the XDpTxSs_SetUserTimerHandler driver function to set this function as the handler custom delay/sleep.

Referenced by Dp_SetupIntrSystem(), reconfig_clkwiz(), sink_power_cycle(), and start_tx().

void DpPt_HpdEventHandler ( void *  InstancePtr)

This function takes care HPD event.

Returns
None.
Note
None.

Referenced by Dp_SetupIntrSystem().

void DpPt_HpdPulseHandler ( void *  InstancePtr)

This function takes care HPD pulse interrupt.

Returns
None.
Note
None.

Referenced by Dp_SetupIntrSystem().

void DpPt_LinkrateChgHandler ( void *  InstancePtr)

This function sets link line rate.

Parameters
@returnNone.
Note
None.

Referenced by Dp_SetupIntrSystem().

int DpPt_SetupIntrSystem ( )

This function is sets up Interrupt system and start it.

Returns
None.

References XDpRxSs_DpIntrHandler().

void DpRxSs_AccessErrorCounterHandler ( void *  InstancePtr)

This function is the callback function for Access prbs error count.

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

References XDpRxSs::DpPtr, I2C_MCDP6000_ADDR, XDpRxSs_MCDP6000_GetRegister(), and XDpRxSs_MCDP6000_Read_ErrorCounters().

Referenced by Dp_SetupIntrSystem(), and DpRxSs_SetupIntrSystem().

void DpRxSs_AccessLaneSetHandler ( void *  InstancePtr)

This function is the callback function for Access lane set request.

Parameters
InstancePtris a pointer to the XDpRxSs instance.
Returns
None.
Note
None.
void DpRxSs_AccessLinkQualHandler ( void *  InstancePtr)

This function is the callback function for Access link qual request.

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

References XDpRxSs::DpPtr, I2C_MCDP6000_ADDR, XDpRxSs_MCDP6000_ClearCounter(), XDpRxSs_MCDP6000_DisablePrbs7_Rx(), and XDpRxSs_MCDP6000_EnablePrbs7_Rx().

Referenced by Dp_SetupIntrSystem(), and DpRxSs_SetupIntrSystem().

void DpRxSs_CRCTestEventHandler ( void *  InstancePtr)

This function is the callback function for Test CRC Event request.

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

References XDpRxSs_Config::BaseAddress, XDpRxSs::Config, and XDpRxSs::DpPtr.

Referenced by Dp_SetupIntrSystem(), and DpRxSs_SetupIntrSystem().

void DpRxSs_ExtPacketHandler ( void *  InstancePtr)

This function is the callback function for Generic Packet Handling of 32-Bytes payload.

This function is the callback function for when arrival of external (audio) packet interrupt occurs.

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

This function is the callback function for Generic Packet Handling of 32-Bytes payload.

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

Referenced by Dp_SetupIntrSystem(), and DpRxSs_SetupIntrSystem().

void DpRxSs_InfoPacketHandler ( void *  InstancePtr)

This function is the callback function for Info Packet Handling.

This function is the callback function for when an info packet interrupt occurs.

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

This function is the callback function for Info Packet Handling.

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

Referenced by Dp_SetupIntrSystem(), and DpRxSs_SetupIntrSystem().

void hpd_con ( )

This function is called when a Hot-Plug-Detect (HPD) event is received by the DisplayPort TX Subsystem core.

Parameters
InstancePtris a pointer to the XDpTxSs instance.
Returns
None.
Note
Use the XDpTxSs_SetCallback driver function to set this function as the handler for HPD event.

References XDpRxSs::DpPtr, update_edid(), XDpRxSs_SetLaneCount(), and XDpRxSs_SetLinkRate().

void hpd_pulse_con ( )

This function is called when a Hot-Plug-Detect (HPD) pulse is received by the DisplayPort TX Subsystem core.

Parameters
InstancePtris a pointer to the XDpTxSs instance.
Returns
None.
Note
Use the XDpTxSs_SetCallback driver function to set this function as the handler for HPD pulse.
u8 i2c_read_dp141 ( u32  I2CBaseAddress,
u8  I2CSlaveAddress,
u16  RegisterAddress 
)

This function reads DP141 VFMC- IIC.

Parameters
None.
Returns
None.
Note
None.
void I2C_Scan ( u32  BaseAddress)

This function scans VFMC- IIC.

Parameters
None.
Returns
None.
Note
None.

Referenced by VideoFMC_Init().

void Print_ExtPkt ( )

This function is the callback function for Ext Packet Handling.

Parameters
InstancePtris a pointer to the XDpRxSs instance.
Returns
None.
Note
None.
void Print_InfoPkt ( )

This function is the callback function for Info Packet Handling.

Parameters
InstancePtris a pointer to the XDpRxSs instance.
Returns
None.
Note
None.
void remap_start ( struct dma_chan_parms *  dma_struct)

This function starts remap IP.

Returns
None

References remap_set().

void reset_clkwiz ( )

This function will reset Tx side MMCM.

Returns
None
void resetIp ( )

This function toggles HW reset line for all IP's.

Returns
None
void sink_power_cycle ( u32  power_down_time)

This function will send power down and power up command over AUX.

Returns
None

References DpPt_CustomWaitUs().

Referenced by DpPt_HpdEventHandler(), DpTxSs_Setup(), hpd_pulse_con(), start_tx(), and switch_to_Tx_only().

void start_tx ( u8  line_rate,
u8  lane_count,
XVidC_VideoMode  res_table,
u8  bpc,
u8  pat,
u8  pat_update 
)

This is for Tx only mode This function will start outputing internal video patern image Setup GT, DP, patern and generator.

Returns
None

References clk_wiz_locked(), DpPt_CustomWaitUs(), sink_power_cycle(), Vpg_StreamSrcConfigure(), and Vpg_VidgenSetUserPattern().

Referenced by switch_to_Tx_only().

void switch_to_Tx_only ( int *  track_switch,
u8 *  pwr_dwn_x 
)

This function will be used when no incoming video at pass-through mode If no video, switching to internal patern generator.

Returns
None

References PHY_Configuration_Tx(), sink_power_cycle(), start_tx(), Vpg_StreamSrcConfigure(), and Vpg_VidgenSetUserPattern().

void update_edid ( )

This function will update and overwrite EDID color depth 10BPC will be changed to 8BPC due to design limitation.

Returns
None

Referenced by hpd_con().

void video_change_detect ( u32 *  count_track,
u32 *  rxMsamisc0_track,
u32 *  bpc_track,
u32 *  recv_clk_freq_track,
float *  recv_frame_clk_track,
u32 *  recv_frame_clk_int_track,
int *  track_count 
)

This function will detect video resolution/frequency change Many GPUs won't re-train when only video res/freq change.

Application needs to know if it changed and need to detect new parameter. Based on the parameter, re-set and re-start VDAM and Tx

Returns
None

References XDpRxSs::Config, XDpRxSs_DpSubCore::DpConfig, XDpRxSs::DpPtr, XDpRxSs_Config::DpSubCore, and Vpg_VidgenSetUserPattern().

int VideoFMC_Init ( void  )

This function initializes VFMC.

Parameters
None.
Returns
None.
Note
None.

This function initializes VFMC.

Application needs to know if it changed and need to detect new parameter. Based on the parameter, re-set and re-start VDAM and Tx

Returns
None
Parameters
None.
Returns
None.
Note
None.

This function initializes VFMC.

Application needs to know if it changed and need to detect new parameter. Based on the parameter, re-set and re-start VDAM and Tx

Returns
None

Referenced by DpSs_PlatformInit().

void Vpg_Audio_start ( void  )

This function starts audio pattern generator.

Returns
None.
Note
None.
void Vpg_Audio_stop ( void  )

This function stops audio pattern generator.

Returns
None.
Note
None.