v_hdmitxss1
Vitis Drivers API Documentation
xv_hdmitxss1_frl.c File Reference

Overview

This is main code of Xilinx HDMI Transmitter Subsystem device driver.

Please see xv_hdmitxss1.h for more details of the driver.

MODIFICATION HISTORY:
Ver   Who    Date     Changes


1.00 EB 22/05/18 Initial release.

Functions

void XV_HdmiTxSs1_SetFfeLevels (XV_HdmiTxSs1 *InstancePtr, u8 FfeLevel)
 This function sets the FFE Levels. More...
 
u8 XV_HdmiTxSs1_GetTxFfe (XV_HdmiTxSs1 *InstancePtr, u8 Lane)
 This function returns the FFE Level for the selected lane. More...
 
u8 XV_HdmiTxSs1_GetFrlRate (XV_HdmiTxSs1 *InstancePtr)
 This function returns the FRL Rate. More...
 
u8 XV_HdmiTxSs1_GetFrlLineRate (XV_HdmiTxSs1 *InstancePtr)
 This function returns the FRL Line Rate. More...
 
u8 XV_HdmiTxSs1_GetFrlLanes (XV_HdmiTxSs1 *InstancePtr)
 This function returns the the number of active FRL lanes. More...
 
void XV_HdmiTxSs1_FrlConfigCallback (void *CallbackRef)
 This function is called when the FRL link training requires configuration from application. More...
 
void XV_HdmiTxSs1_FrlFfeCallback (void *CallbackRef)
 This function is called when the FRL link training requires configuring of FFE. More...
 
void XV_HdmiTxSs1_FrlStartCallback (void *CallbackRef)
 This function is called when the FRL link training passes and sink is ready to receive video, audio and control packets. More...
 
void XV_HdmiTxSs1_FrlStopCallback (void *CallbackRef)
 This function is called when sink requested for FRL to be stopped. More...
 
void XV_HdmiTxSs1_TmdsConfigCallback (void *CallbackRef)
 This function is called when during FRL link training, it is decided to fallback to the legacy HDMI TMDS mode. More...
 
int XV_HdmiTxSs1_TmdsStart (XV_HdmiTxSs1 *InstancePtr)
 This function starts the Legacy HDMI TMDS Mode. More...
 
int XV_HdmiTxSs1_StartTmdsMode (XV_HdmiTxSs1 *InstancePtr)
 This function starts the TMDS mode. More...
 
int XV_HdmiTxSs1_StartFrlTraining (XV_HdmiTxSs1 *InstancePtr, XHdmiC_MaxFrlRate FrlRate)
 This function starts the Fixed Rate Link Training. More...
 
void XV_HdmiTxSs1_SetFrlMaxFrlRate (XV_HdmiTxSs1 *InstancePtr, XHdmiC_MaxFrlRate MaxFrlRate)
 This function sets maximum FRL Rate supported by the system. More...
 
int XV_HdmiTxSs1_FrlStreamStart (XV_HdmiTxSs1 *InstancePtr)
 This function starts FRL stream. More...
 
int XV_HdmiTxSs1_FrlStreamStop (XV_HdmiTxSs1 *InstancePtr)
 This function stops FRL video stream. More...
 
void XV_HdmiTxSs1_SetFrlWrongLtp (XV_HdmiTxSs1 *InstancePtr)
 This function stops FRL video stream. More...
 
void XV_HdmiTxSs1_ClearFrlWrongLtp (XV_HdmiTxSs1 *InstancePtr)
 This function stops FRL video stream. More...
 
void XV_HdmiTxSs1_SetFrlLtp (XV_HdmiTxSs1 *InstancePtr, u8 Lane, XV_HdmiTx1_FrlLtpType Ltp)
 This function sets the FRL LTP. More...
 
void XV_HdmiTxSs1_SetFrlExtVidCke (XV_HdmiTxSs1 *InstancePtr)
 This function sets the CKE Source for External. More...
 
void XV_HdmiTxSs1_SetFrlIntVidCke (XV_HdmiTxSs1 *InstancePtr)
 This function sets the CKE Source for Interal Generated. More...
 

Function Documentation

void XV_HdmiTxSs1_ClearFrlWrongLtp ( XV_HdmiTxSs1 InstancePtr)

This function stops FRL video stream.

Parameters
InstancePtris a pointer to the XV_HdmiTxSs1 core instance.
Returns
Note
None.

References XV_HdmiTxSs1::HdmiTx1Ptr.

void XV_HdmiTxSs1_FrlConfigCallback ( void *  CallbackRef)

This function is called when the FRL link training requires configuration from application.

Parameters
None.
Returns
None.
Note
None.

References XV_HdmiTxSs1::FrlConfigCallback, XV_HdmiTxSs1::FrlConfigRef, XV_HDMITXSS1_LOG_EVT_FRL_CFG, and XV_HdmiTxSs1_LogWrite().

void XV_HdmiTxSs1_FrlFfeCallback ( void *  CallbackRef)

This function is called when the FRL link training requires configuring of FFE.

Parameters
None.
Returns
None.
Note
None.

References XV_HdmiTxSs1::FrlFfeCallback, and XV_HdmiTxSs1::FrlFfeRef.

void XV_HdmiTxSs1_FrlStartCallback ( void *  CallbackRef)

This function is called when the FRL link training passes and sink is ready to receive video, audio and control packets.

Parameters
None.
Returns
None.
Note
None.

References XV_HdmiTxSs1::FrlStartCallback, XV_HdmiTxSs1::FrlStartRef, XV_HDMITXSS1_LOG_EVT_FRL_LT_PASS, and XV_HdmiTxSs1_LogWrite().

void XV_HdmiTxSs1_FrlStopCallback ( void *  CallbackRef)

This function is called when sink requested for FRL to be stopped.

Parameters
None.
Returns
None.
Note
None.

References XV_HdmiTxSs1::FrlStopCallback, and XV_HdmiTxSs1::FrlStopRef.

int XV_HdmiTxSs1_FrlStreamStart ( XV_HdmiTxSs1 InstancePtr)

This function starts FRL stream.

This should be called after the bridge, video, audio are all active.

Parameters
InstancePtris a pointer to the XV_HdmiTxSs1 core instance.
Returns
Note
None.

References XV_HdmiTxSs1::HdmiTx1Ptr.

int XV_HdmiTxSs1_FrlStreamStop ( XV_HdmiTxSs1 InstancePtr)

This function stops FRL video stream.

Parameters
InstancePtris a pointer to the XV_HdmiTxSs1 core instance.
Returns
Note
None.

References XV_HdmiTxSs1::HdmiTx1Ptr.

u8 XV_HdmiTxSs1_GetFrlLanes ( XV_HdmiTxSs1 InstancePtr)

This function returns the the number of active FRL lanes.

Parameters
None.
Returns
Number of active FRL lanes.
Note
None.

References XV_HdmiTxSs1::HdmiTx1Ptr.

u8 XV_HdmiTxSs1_GetFrlLineRate ( XV_HdmiTxSs1 InstancePtr)

This function returns the FRL Line Rate.

Parameters
None.
Returns
FRL Line Rate.
Note
None.

References XV_HdmiTxSs1::HdmiTx1Ptr.

u8 XV_HdmiTxSs1_GetFrlRate ( XV_HdmiTxSs1 InstancePtr)

This function returns the FRL Rate.

Parameters
None.
Returns
FRL Rate.
Note
None.

References XV_HdmiTxSs1::HdmiTx1Ptr.

u8 XV_HdmiTxSs1_GetTxFfe ( XV_HdmiTxSs1 InstancePtr,
u8  Lane 
)

This function returns the FFE Level for the selected lane.

Parameters
None.
Returns
FFE Level.
Note
None.

References XV_HdmiTxSs1::HdmiTx1Ptr.

void XV_HdmiTxSs1_SetFfeLevels ( XV_HdmiTxSs1 InstancePtr,
u8  FfeLevel 
)

This function sets the FFE Levels.

Parameters
None.
Returns
None.
Note
None.

References XV_HdmiTxSs1::HdmiTx1Ptr.

Referenced by main().

void XV_HdmiTxSs1_SetFrlExtVidCke ( XV_HdmiTxSs1 InstancePtr)

This function sets the CKE Source for External.

Parameters
InstancePtris a pointer to the XV_HdmiTxSs1 core instance.
Returns
Note
None.

References XV_HdmiTxSs1::HdmiTx1Ptr.

void XV_HdmiTxSs1_SetFrlIntVidCke ( XV_HdmiTxSs1 InstancePtr)

This function sets the CKE Source for Interal Generated.

Parameters
InstancePtris a pointer to the XV_HdmiTxSs1 core instance.
Returns
Note
None.

References XV_HdmiTxSs1::HdmiTx1Ptr.

void XV_HdmiTxSs1_SetFrlLtp ( XV_HdmiTxSs1 InstancePtr,
u8  Lane,
XV_HdmiTx1_FrlLtpType  Ltp 
)

This function sets the FRL LTP.

Parameters
InstancePtris a pointer to the XV_HdmiTxSs1 core instance.
Lanesspecifies FRL operation lane
  • 3 = 3 lanes
  • 4 = 4 lanes
Parameters
Ltpis a FRL LTP Type
Returns
Note
Debug purpose.

References XV_HdmiTxSs1::HdmiTx1Ptr.

void XV_HdmiTxSs1_SetFrlMaxFrlRate ( XV_HdmiTxSs1 InstancePtr,
XHdmiC_MaxFrlRate  MaxFrlRate 
)

This function sets maximum FRL Rate supported by the system.

Parameters
InstancePtris a pointer to the XV_HdmiTxSs1 core instance.
MaxFrlRatespecifies maximum rates supported
  • 0 = FRL Not Supported
  • 1 = 3 Lanes 3Gbps
  • 2 = 4 Lanes 3Gbps
  • 3 = 4 Lanes 6Gbsp
  • 4 = 4 Lanes 8Gbps
  • 5 = 4 Lanes 10Gbps
  • 6 = 4 Lanes 12Gbps
Returns
None.
Note
None.

References XV_HdmiTxSs1::HdmiTx1Ptr.

Referenced by main().

void XV_HdmiTxSs1_SetFrlWrongLtp ( XV_HdmiTxSs1 InstancePtr)

This function stops FRL video stream.

Parameters
InstancePtris a pointer to the XV_HdmiTxSs1 core instance.
Returns
Note
None.

References XV_HdmiTxSs1::HdmiTx1Ptr.

int XV_HdmiTxSs1_StartFrlTraining ( XV_HdmiTxSs1 InstancePtr,
XHdmiC_MaxFrlRate  FrlRate 
)

This function starts the Fixed Rate Link Training.

Parameters
InstancePtris a pointer to the XV_HdmiTxSs1 core instance.
FrlRatespecifies the FRL rate to be attempted
  • 0 = FRL Not Supported
  • 1 = 3 Lanes 3Gbps
  • 2 = 4 Lanes 3Gbps
  • 3 = 4 Lanes 6Gbsp
  • 4 = 4 Lanes 8Gbps
  • 5 = 4 Lanes 10Gbps
  • 6 = 4 Lanes 12Gbps
Returns
Status on if FrlTraining can be started or not.
Note
None.

References XV_HdmiTxSs1::HdmiTx1Ptr, XV_HDMITXSS1_LOG_EVT_FRL_START, and XV_HdmiTxSs1_LogWrite().

int XV_HdmiTxSs1_StartTmdsMode ( XV_HdmiTxSs1 InstancePtr)

This function starts the TMDS mode.

Parameters
InstancePtris a pointer to the XV_HdmiTx1 core instance.
Returns
Status on if TMDS can be started or not.
Note
None.

References XV_HdmiTxSs1::HdmiTx1Ptr.

void XV_HdmiTxSs1_TmdsConfigCallback ( void *  CallbackRef)

This function is called when during FRL link training, it is decided to fallback to the legacy HDMI TMDS mode.

Parameters
None.
Returns
None.
Note
None.

References XV_HdmiTxSs1::TmdsConfigCallback, XV_HdmiTxSs1::TmdsConfigRef, XV_HDMITXSS1_LOG_EVT_TMDS_START, and XV_HdmiTxSs1_LogWrite().

int XV_HdmiTxSs1_TmdsStart ( XV_HdmiTxSs1 InstancePtr)

This function starts the Legacy HDMI TMDS Mode.

Returns
Status on if TMDS mode is successfully started or not.
Note
None.

References XV_HdmiTxSs1::HdmiTx1Ptr.