| v_hdmitxss1 Vitis Drivers API Documentation

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

Functions
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

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

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

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

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

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

  InstancePtr | is a pointer to the XV_HdmiTxSs1 core instance.
  Lanes | specifies FRL operation lane 3 = 3 lanes

- 4 = 4 lanes

Parameters

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

  InstancePtr | is a pointer to the XV_HdmiTxSs1 core instance.
  MaxFrlRate | specifies 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

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

  InstancePtr | is a pointer to the XV_HdmiTxSs1 core instance.
  FrlRate | specifies 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

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