dp14txss
Vitis Drivers API Documentation
|
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... | |
u8 | get_LineRate (void) |
This function returns current 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 will detect video resolution/frequency change Many GPUs won't re-train when only video res/freq change. 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 | 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... | |
void clk_wiz_locked | ( | void | ) |
This function to check MMCM lock status.
None. |
This function to check MMCM lock status.
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.
References XDpTxSs::DpPtr, Vpg_StreamSrcConfigure(), Vpg_VidgenSetUserPattern(), XDpTxSs_Reset(), and XDpTxSs_Stop().
void DpPt_CustomWaitUs | ( | void * | InstancePtr, |
u32 | MicroSeconds | ||
) |
This function use h/w timer to count specific Microseconds.
pointer | to timer |
MicroSeconds | to wait |
This function use h/w timer to count specific Microseconds.
It provides timer with predefined amount of loop iterations.
InstancePtr | is a pointer to the XDp instance. |
Referenced by DpTxSs_SetupIntrSystem(), reconfig_clkwiz(), sink_power_cycle(), and start_tx().
void DpPt_HpdEventHandler | ( | void * | InstancePtr | ) |
This function takes care HPD event.
References XDpTxSs::DpPtr, sink_power_down(), sink_power_up(), and XDpTxSs_IsConnected().
Referenced by DpTxSs_SetupIntrSystem().
void DpPt_HpdPulseHandler | ( | void * | InstancePtr | ) |
This function takes care HPD pulse interrupt.
References XDpTxSs::DpPtr.
Referenced by DpTxSs_SetupIntrSystem().
void DpPt_LinkrateChgHandler | ( | void * | InstancePtr | ) |
This function sets link line rate.
@return | None. |
References get_LineRate(), and set_vphy().
Referenced by DpTxSs_SetupIntrSystem().
int DpPt_SetupIntrSystem | ( | ) |
This function is sets up Interrupt system and start it.
References XDpTxSs_DpIntrHandler().
void DpRxSs_AccessErrorCounterHandler | ( | void * | InstancePtr | ) |
This function is the callback function for Access prbs error count.
InstancePtr | is a pointer to the XDpRxSs instance. |
void DpRxSs_AccessLaneSetHandler | ( | void * | InstancePtr | ) |
This function is the callback function for Access lane set request.
InstancePtr | is a pointer to the XDpRxSs instance. |
void DpRxSs_AccessLinkQualHandler | ( | void * | InstancePtr | ) |
This function is the callback function for Access link qual request.
InstancePtr | is a pointer to the XDpRxSs instance. |
void DpRxSs_CRCTestEventHandler | ( | void * | InstancePtr | ) |
This function is the callback function for Test CRC Event request.
InstancePtr | is a pointer to the XDpRxSs instance. |
void DpRxSs_ExtPacketHandler | ( | void * | InstancePtr | ) |
This function is the callback function for Generic Packet Handling of 32-Bytes payload.
InstancePtr | is a pointer to the XDpRxSs instance. |
void DpRxSs_InfoPacketHandler | ( | void * | InstancePtr | ) |
This function is the callback function for Info Packet Handling.
InstancePtr | is a pointer to the XDpRxSs instance. |
u8 get_LineRate | ( | void | ) |
This function returns current line rate.
None. |
References XDpTxSs::DpPtr.
void hpd_con | ( | ) |
This function is called when a Hot-Plug-Detect (HPD) event is received by the DisplayPort TX Subsystem core.
InstancePtr | is a pointer to the XDpTxSs instance. |
References XDpTxSs::DpPtr, update_edid(), XDpTxSs_SetLaneCount(), and XDpTxSs_SetLinkRate().
void hpd_pulse_con | ( | ) |
This function is called when a Hot-Plug-Detect (HPD) pulse is received by the DisplayPort TX Subsystem core.
InstancePtr | is a pointer to the XDpTxSs instance. |
References XDpTxSs::DpPtr, XDpTxSs_SetLaneCount(), and XDpTxSs_SetLinkRate().
u8 i2c_read_dp141 | ( | u32 | I2CBaseAddress, |
u8 | I2CSlaveAddress, | ||
u16 | RegisterAddress | ||
) |
This function reads DP141 VFMC- IIC.
None. |
void I2C_Scan | ( | u32 | BaseAddress | ) |
This function scans VFMC- IIC.
None. |
Referenced by VideoFMC_Init().
void Print_ExtPkt | ( | ) |
This function is the callback function for Ext Packet Handling.
InstancePtr | is a pointer to the XDpRxSs instance. |
void Print_InfoPkt | ( | ) |
This function is the callback function for Info Packet Handling.
InstancePtr | is a pointer to the XDpRxSs instance. |
void reset_clkwiz | ( | ) |
This function will reset Tx side MMCM.
void resetIp | ( | ) |
This function toggles HW reset line for all IP's.
void sink_power_cycle | ( | u32 | power_down_time | ) |
This function will send power down and power up command over AUX.
References DpPt_CustomWaitUs(), and XDpTxSs::DpPtr.
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.
References clk_wiz_locked(), DpPt_CustomWaitUs(), XDpTxSs::DpPtr, XDpTxSs_UsrOpt::NumOfStreams, sink_power_cycle(), XDpTxSs::UsrOpt, Vpg_StreamSrcConfigure(), Vpg_VidgenSetUserPattern(), XDpTxSs_UsrOpt::VtcAdjustBs, XDpTxSs::VtcPtr, XDpTxSs_CheckLinkStatus(), XDpTxSs_SetBpc(), XDpTxSs_SetLaneCount(), XDpTxSs_SetLinkRate(), XDpTxSs_SetVidMode(), and XDpTxSs_VtcSetup().
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.
References XDpTxSs::DpPtr, PHY_Configuration_Tx(), sink_power_cycle(), start_tx(), Vpg_StreamSrcConfigure(), Vpg_VidgenSetUserPattern(), XDpTxSs_Reset(), and XDpTxSs_Stop().
void update_edid | ( | ) |
This function will update and overwrite EDID color depth 10BPC will be changed to 8BPC due to design limitation.
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
References XDpTxSs::DpPtr, Vpg_VidgenSetUserPattern(), and XDpTxSs_Stop().
int VideoFMC_Init | ( | void | ) |
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
This function will detect video resolution/frequency change Many GPUs won't re-train when only video res/freq change.
None. |
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
This function will detect video resolution/frequency change Many GPUs won't re-train when only video res/freq change.
None. |
References I2C_IDT8N49_ADDR, I2C_LMK03318_ADDR, I2C_MUX_ADDR, I2C_VFMCEXP_0_ADDR, I2C_VFMCEXP_1_ADDR, IDT_8T49N24x_Init(), and TI_LMK03318_PowerDown().
void Vpg_Audio_start | ( | void | ) |
This function starts audio pattern generator.
void Vpg_Audio_stop | ( | void | ) |
This function stops audio pattern generator.