![]() |
v_hdmitx1
Vitis Drivers API Documentation
|
This is the main header file for Xilinx HDMI TX core.
HDMI TX core is used for transmitting the incoming video and audio streams. It consists of
The HDMI TX uses three AXI interfaces for Video, Audio and Processor:
Transmitter core performs following operations:
AXI Video Bridge converts the incoming video AXI-stream to native video.
Video Timing Controller (VTC) generates the native video timing.
Core Features
For a full description of HDMI TX features, please see the hardware specification.
Software Initialization & Configuration
The application needs to do following steps in order for preparing the HDMI TX core to be ready.
Interrupts
This driver provides interrupt handlers
Application developer needs to register interrupt handler with the processor, within their examples. Whenever processor calls registered application's interrupt handler associated with interrupt id, application's interrupt handler needs to call appropriate peripheral interrupt handler reading peripheral's Status register.
This driver provides XV_HdmiTx1_SetCallback API to register functions with HDMI TX core instance.
Virtual Memory
This driver supports Virtual Memory. The RTOS is responsible for calculating the correct device base address in Virtual Memory space.
Threads
This driver is not thread safe. Any needs for threads or thread mutual exclusion must be satisfied by the layer above this driver.
Asserts
Asserts are used within all Xilinx drivers to enforce constraints on argument values. Asserts can be turned off on a system-wide basis by defining at compile time, the NDEBUG identifier. By default, asserts are turned on and it is recommended that users leave asserts on during development.
Building the driver
The HDMI TX driver is composed of several source files. This allows the user to build and link only those parts of the driver that are necessary.
MODIFICATION HISTORY: s Ver Who Date Changes
1.00 EB 22/05/18 Initial release.
Data Structures | |
| struct | XV_HdmiTx1_ScdcField |
| This typedef contains DDC registers offset, mask, shift. More... | |
| struct | XV_HdmiTx1_Config |
| This typedef contains configuration information for the HDMI TX core. More... | |
| struct | XV_HdmiTx1_AudioStream |
| This typedef contains audio stream specific data structure. More... | |
| struct | XV_HdmiTx1_Stream |
| This typedef contains HDMI TX stream specific data structure. More... | |
| struct | XV_HdmiTx1 |
| The XV_HdmiTx1 driver instance data. More... | |
Macros | |
| #define | XV_HDMITX1_H_ |
| Prevent circular inclusions by using protection macros. More... | |
Enumerations | |
Handler Types | |
| enum | XV_HdmiTx1_HandlerType |
| These constants specify different types of handler and used to differentiate interrupt requests from peripheral. More... | |
HDMI TX stream status | |
| enum | XV_HdmiTx1_State |
HDMI TX audio format | |
| enum | XV_HdmiTx1_AudioFormatType |
HDMI TX SCDC Fields | |
| enum | XV_HdmiTx1_ScdcFieldType |
HDMI TX CTS and N Source | |
| #define | XV_HdmiTx1_GetTime1Ms(InstancePtr) (InstancePtr)->Config.AxiLiteClkFreq/1000 |
| This macro returns the clock cycles required to count up to 1MS with respect to AXI Lite Frequency. More... | |
| #define | XV_HdmiTx1_GetTime10Ms(InstancePtr) (InstancePtr)->Config.AxiLiteClkFreq/100 |
| This macro returns the clock cycles required to count up to 10MS with respect to AXI Lite Frequency. More... | |
| #define | XV_HdmiTx1_GetVersion(InstancePtr) |
| This macro reads the TX version. More... | |
| #define | XV_HdmiTx1_Reset(InstancePtr, Reset) |
| This macro asserts or releases the HDMI TX reset. More... | |
| #define | XV_HdmiTx1_SetScrambler(InstancePtr, SetClr) |
| This macro controls the HDMI TX Scrambler. More... | |
| #define | XV_HdmiTx1_Bridge_yuv420(InstancePtr, SetClr) |
| This macro controls the YUV420 mode for video bridge. More... | |
| #define | XV_HdmiTx1_Bridge_pixel(InstancePtr, SetClr) |
| This macro controls the Pixel Repeat mode for video bridge. More... | |
| #define | XV_HdmiTx1_PioEnable(InstancePtr) |
| This macro enables the HDMI TX PIO peripheral. More... | |
| #define | XV_HdmiTx1_PioDisable(InstancePtr) |
| This macro disables the HDMI TX PIO peripheral. More... | |
| #define | XV_HdmiTx1_PioIntrEnable(InstancePtr) |
| This macro enables interrupt in the HDMI TX PIO peripheral. More... | |
| #define | XV_HdmiTx1_PioIntrDisable(InstancePtr) |
| This macro disables interrupt in the HDMI TX PIO peripheral. More... | |
| #define | XV_HdmiTx1_PioIntrClear(InstancePtr) |
| This macro clears HDMI TX PIO interrupt. More... | |
| #define | XV_HdmiTx1_DdcEnable(InstancePtr) |
| This macro enables the HDMI TX Display Data Channel (DDC) peripheral. More... | |
| #define | XV_HdmiTx1_DdcDisable(InstancePtr) |
| This macro disables the HDMI TX Display Data Channel (DDC) peripheral. More... | |
| #define | XV_HdmiTx1_DdcIntrEnable(InstancePtr) |
| This macro enables interrupt in the HDMI TX DDC peripheral. More... | |
| #define | XV_HdmiTx1_DdcIntrDisable(InstancePtr) |
| This macro disables interrupt in the HDMI TX DDC peripheral. More... | |
| #define | XV_HdmiTx1_DdcIntrClear(InstancePtr) |
| This macro clears HDMI TX DDC interrupt. More... | |
| #define | XV_HdmiTx1_AuxDisable(InstancePtr) |
| This macro disables the HDMI TX Auxiliary (AUX) peripheral. More... | |
| #define | XV_HdmiTx1_AuxIntrEnable(InstancePtr) |
| This macro enables interrupt in the HDMI TX AUX peripheral. More... | |
| #define | XV_HdmiTx1_VrrControl(InstancePtr, SetClr) |
| This macro allows enabling/disabling of VRR in HDMI Tx. More... | |
| #define | XV_HdmiTx1_FSyncControl(InstancePtr, SetClr) |
| This macro allows enabling/disabling of FSync in HDMI Tx. More... | |
| #define | XV_HdmiTx1_DynHdr_DM_Enable(InstancePtr) |
| This macro enables the data mover for Dynamic HDR in HDMI Tx. More... | |
| #define | XV_HdmiTx1_DynHdr_DM_Disable(InstancePtr) |
| This macro disables the data mover for Dynamic HDR in HDMI Tx. More... | |
| #define | XV_HdmiTx1_DynHdr_Control(InstancePtr, SetClr) |
| This macro allows enabling/disabling of Dynamic HDR in HDMI Tx. More... | |
| #define | XV_HdmiTx1_DynHdr_FAPA_Control(InstancePtr, SetClr) |
| This macro allows enabling/disabling of FAPA Location Dynamic HDR in HDMI Tx. More... | |
| #define | XV_HdmiTx1_DynHdr_GOF_Control(InstancePtr, SetClr) |
| This macro allows enabling/disabling of GOF Dynamic HDR in HDMI Tx. More... | |
| #define | XV_HdmiTx1_DynHdr_GOFVal_Control(InstancePtr, SetClr) |
| This macro allows set/clear of GOF Value Dynamic HDR in HDMI Tx. More... | |
| #define | XV_HdmiTx1_DynHdr_MTW_Clear(InstancePtr) |
| This macro allows to set the MTW bit to clear it for Dynamic HDR in HDMI Tx. More... | |
| #define | XV_HdmiTx1_DynHdr_GetReadStatus(InstancePtr) |
| This macro gets the read status of Data Mover for Dynamic HDR in HDMI Tx. More... | |
| #define | XV_HdmiTx1_DynHdr_SetPacket(InstancePtr, PktLen, PktType) |
| This macro sets the Header packet type and length for Dynamic HDR in HDMI Tx. More... | |
| #define | XV_HdmiTx1_DynHdr_SetAddr(InstancePtr, Addr) |
| This macro sets the buffer address for Dynamic HDR in HDMI Tx. More... | |
| #define | XV_HdmiTx1_AuxIntrDisable(InstancePtr) |
| This macro disables interrupt in the HDMI TX AUX peripheral. More... | |
| #define | XV_HdmiTx1_AudioDisable(InstancePtr) |
| This macro disables audio in HDMI TX core. More... | |
| #define | XV_HdmiTx1_SetMode(InstancePtr) |
| This macro sets the mode bit. More... | |
| #define | XV_HdmiTx1_ClearMode(InstancePtr) |
| This macro clears the mode bit. More... | |
| #define | XV_HdmiTx1_GetMode(InstancePtr) |
| This macro provides the current mode. More... | |
| #define | XV_HdmiTx1_GetSampleRate(InstancePtr) (InstancePtr)->Stream.SampleRate |
| This macro provides the current sample rate. More... | |
| #define | XV_HdmiTx1_GetAudioChannels(InstancePtr) (InstancePtr)->Stream.Audio.Channels |
| This macro provides the active audio channels. More... | |
| #define | XV_HdmiTx1_GetPixelPackingPhase(InstancePtr) |
| This macro provides the current pixel packing phase. More... | |
| #define | XV_HdmiTx1_MaskDisable(InstancePtr) |
| This macro disables video mask in HDMI TX core. More... | |
| #define | XV_HdmiTx1_MaskEnable(InstancePtr) |
| This macro enables video mask in HDMI TX core. More... | |
| #define | XV_HdmiTx1_MaskNoise(InstancePtr, SetClr) |
| This macro enables or disables the noise in the video mask. More... | |
| #define | XV_HdmiTx1_MaskSetRed(InstancePtr, Value) |
| This macro sets the red component value in the video mask. More... | |
| #define | XV_HdmiTx1_MaskSetGreen(InstancePtr, Value) |
| This macro sets the green component value in the video mask. More... | |
| #define | XV_HdmiTx1_MaskSetBlue(InstancePtr, Value) |
| This macro sets the blue component value in the video mask. More... | |
| #define | XV_HdmiTx1_IsMasked(InstancePtr) |
| This macro provides the current video mask mode. More... | |
| #define | XV_HdmiTx1_DscControl(InstancePtr, SetClr) |
| This macro allows enabling/disabling of DSC in HDMI-TX. More... | |
| enum | XV_HdmiTx1_CTSNSource |
| typedef void(* | XV_HdmiTx1_Callback )(void *CallbackRef) |
| Callback type for Vsync event interrupt. More... | |
| XV_HdmiTx1_Config * | XV_HdmiTx1_LookupConfig (u16 DeviceId) |
| This function returns a reference to an XV_HdmiTx1_Config structure based on the core id, DeviceId. More... | |
| int | XV_HdmiTx1_CfgInitialize (XV_HdmiTx1 *InstancePtr, XV_HdmiTx1_Config *CfgPtr, UINTPTR EffectiveAddr) |
| This function initializes the HDMI TX core. More... | |
| void | XV_HdmiTx1_SetHdmiFrlMode (XV_HdmiTx1 *InstancePtr) |
| This function sets the core into HDMI FRL mode. More... | |
| void | XV_HdmiTx1_SetHdmiTmdsMode (XV_HdmiTx1 *InstancePtr) |
| This function sets the core into HDMI TMDS mode. More... | |
| void | XV_HdmiTx1_SetDviMode (XV_HdmiTx1 *InstancePtr) |
| This function sets the core into DVI mode. More... | |
| void | XV_HdmiTx1_AuxEnable (XV_HdmiTx1 *InstancePtr) |
| This function enables the HDMI TX Auxiliary (AUX) peripheral. More... | |
| void | XV_HdmiTx1_AudioEnable (XV_HdmiTx1 *InstancePtr) |
| This macro enables audio in HDMI TX core. More... | |
| void | XV_HdmiTx1_Clear (XV_HdmiTx1 *InstancePtr) |
| This function clear the HDMI TX variables and sets it to the defaults. More... | |
| u8 | XV_HdmiTx1_LookupVic (XVidC_VideoMode VideoMode) |
| This function provides video identification code of video mode. More... | |
| XVidC_VideoMode | XV_HdmiTx1_GetVideoModeFromVic (u8 Vic) |
| u32 | XV_HdmiTx1_SetStream (XV_HdmiTx1 *InstancePtr, XVidC_VideoTiming VideoTiming, XVidC_FrameRate FrameRate, XVidC_ColorFormat ColorFormat, XVidC_ColorDepth Bpc, XVidC_PixelsPerClock Ppc, XVidC_3DInfo *Info3D, u8 FVaFactor, u8 VrrEnabled, u8 CnmvrrEnabled, u64 *TmdsClk) |
| This function sets the HDMI TX stream parameters. More... | |
| u64 | XV_HdmiTx1_GetTmdsClk (XV_HdmiTx1 *InstancePtr) |
| This function sets and return the TMDS Clock based on Video Parameter from the InstancePtr. More... | |
| void | XV_HdmiTx1_INT_VRST (XV_HdmiTx1 *InstancePtr, u8 Reset) |
| This function asserts or releases the HDMI TX Internal VRST. More... | |
| void | XV_HdmiTx1_INT_LRST (XV_HdmiTx1 *InstancePtr, u8 Reset) |
| This function asserts or releases the HDMI TX Internal LRST. More... | |
| void | XV_HdmiTx1_EXT_VRST (XV_HdmiTx1 *InstancePtr, u8 Reset) |
| This function asserts or releases the HDMI TX External VRST. More... | |
| void | XV_HdmiTx1_EXT_SYSRST (XV_HdmiTx1 *InstancePtr, u8 Reset) |
| This function asserts or releases the HDMI TX External SYSRST. More... | |
| void | XV_HdmiTx1_SetGcpAvmuteBit (XV_HdmiTx1 *InstancePtr) |
| This function sets the HDMI TX AUX GCP register AVMUTE bit. More... | |
| void | XV_HdmiTx1_ClearGcpAvmuteBit (XV_HdmiTx1 *InstancePtr) |
| This function clears the HDMI TX AUX GCP register AVMUTE bit. More... | |
| void | XV_HdmiTx1_SetGcpClearAvmuteBit (XV_HdmiTx1 *InstancePtr) |
| This function sets the HDMI TX AUX GCP register CLEAR_AVMUTE bit. More... | |
| void | XV_HdmiTx1_ClearGcpClearAvmuteBit (XV_HdmiTx1 *InstancePtr) |
| This function clears the HDMI TX AUX GCP register CLEAR_AVMUTE bit. More... | |
| void | XV_HdmiTx1_SetPixelRate (XV_HdmiTx1 *InstancePtr) |
| This function sets the pixel rate at output. More... | |
| void | XV_HdmiTx1_SetSampleRate (XV_HdmiTx1 *InstancePtr, u8 SampleRate) |
| This function sets the sample rate at output. More... | |
| void | XV_HdmiTx1_SetColorFormat (XV_HdmiTx1 *InstancePtr) |
| This function sets the color format. More... | |
| void | XV_HdmiTx1_SetColorDepth (XV_HdmiTx1 *InstancePtr) |
| This function sets the color depth. More... | |
| int | XV_HdmiTx1_IsStreamScrambled (XV_HdmiTx1 *InstancePtr) |
| This function provides status of the stream. More... | |
| int | XV_HdmiTx1_IsStreamConnected (XV_HdmiTx1 *InstancePtr) |
| This function provides the stream connected status. More... | |
| void | XV_HdmiTx1_SetAxiClkFreq (XV_HdmiTx1 *InstancePtr, u32 ClkFreq) |
| This function sets the AXI4-Lite Clock Frequency. More... | |
| void | XV_HdmiTx1_DdcInit (XV_HdmiTx1 *InstancePtr, u32 Frequency) |
| This function prepares TX DDC peripheral to use. More... | |
| int | XV_HdmiTx1_DdcWrite (XV_HdmiTx1 *InstancePtr, u8 Slave, u16 Length, u8 *Buffer, u8 Stop) |
| This function writes data from DDC peripheral from given slave address. More... | |
| int | XV_HdmiTx1_DdcRead (XV_HdmiTx1 *InstancePtr, u8 Slave, u16 Length, u8 *Buffer, u8 Stop) |
| This function reads data from DDC peripheral from given slave address. More... | |
| int | XV_HdmiTx1_DdcReadReg (XV_HdmiTx1 *InstancePtr, u8 Slave, u16 Length, u8 RegAddr, u8 *Buffer) |
| This function reads specified register from DDC peripheral from given slave address. More... | |
| int | XV_HdmiTx1_DdcWriteField (XV_HdmiTx1 *InstancePtr, XV_HdmiTx1_ScdcFieldType Field, u8 Value) |
| This function writes the specified SCDC Field. More... | |
| void | XV_HdmiTx1_Aux_Dsc_Send_Header (XV_HdmiTx1 *InstancePtr, u32 Data) |
| This function transmits the DSC packet header. More... | |
| void | XV_HdmiTx1_Aux_Dsc_Send_Data (XV_HdmiTx1 *InstancePtr, u32 Data) |
| This function transmits the DSC packet data. More... | |
| u32 | XV_HdmiTx1_AuxSend (XV_HdmiTx1 *InstancePtr) |
| This function transmits the infoframes generated by the processor. More... | |
| int | XV_HdmiTx1_Scrambler (XV_HdmiTx1 *InstancePtr) |
| This function controls the scrambler. More... | |
| int | XV_HdmiTx1_ClockRatio (XV_HdmiTx1 *InstancePtr) |
| This function controls the TMDS clock ratio. More... | |
| int | XV_HdmiTx1_DetectHdmi20 (XV_HdmiTx1 *InstancePtr) |
| This function detects connected sink is a HDMI 2.0/HDMI 1.4 sink device and sets appropriate flag in the TX stream. More... | |
| void | XV_HdmiTx1_ShowSCDC (XV_HdmiTx1 *InstancePtr) |
| This function shows the sinks SCDC registers. More... | |
| void | XV_HdmiTx1_Info (XV_HdmiTx1 *InstancePtr) |
| This function prints stream and timing information on STDIO/Uart console. More... | |
| void | XV_HdmiTx1_DebugInfo (XV_HdmiTx1 *InstancePtr) |
| This function prints debug information on STDIO/UART console. More... | |
| void | XV_HdmiTx1_RegisterDebug (XV_HdmiTx1 *InstancePtr) |
| This function prints out HDMI TX register. More... | |
| int | XV_HdmiTx1_SetAudioChannels (XV_HdmiTx1 *InstancePtr, u8 Value) |
| This function sets the active audio channels. More... | |
| int | XV_HdmiTx1_SetAudioFormat (XV_HdmiTx1 *InstancePtr, XV_HdmiTx1_AudioFormatType Value) |
| This function sets the active audio format. More... | |
| XV_HdmiTx1_AudioFormatType | XV_HdmiTx1_GetAudioFormat (XV_HdmiTx1 *InstancePtr) |
| This function gets the active audio format. More... | |
| u32 | XV_HdmiTxSs1_GetAudioCtsVal (XV_HdmiTx1 *InstancePtr) |
| This function gets the Generated ACR CTS Value. More... | |
| u32 | XV_HdmiTxSs1_GetAudioNVal (XV_HdmiTx1 *InstancePtr) |
| This function gets the programmed ACR N Value. More... | |
| void | XV_HdmiTx1_FRLACRStart (XV_HdmiTx1 *InstancePtr) |
| This function Starts the internal ACR module for FRL. More... | |
| void | XV_HdmiTx1_TMDSACRStart (XV_HdmiTx1 *InstancePtr) |
| This function Starts the internal ACR module for FRL. More... | |
| int | XV_HdmiTx1_StartTmdsMode (XV_HdmiTx1 *InstancePtr) |
| This function starts the TMDS mode. More... | |
| int | XV_HdmiTx1_StartFrlTraining (XV_HdmiTx1 *InstancePtr, XHdmiC_MaxFrlRate FrlRate) |
| This function starts the Fixed Rate Link Training. More... | |
| void | XV_HdmiTx1_SetFrlMaxFrlRate (XV_HdmiTx1 *InstancePtr, XHdmiC_MaxFrlRate MaxFrlRate) |
| This function sets maximum FRL Rate supported by the system. More... | |
| int | XV_HdmiTx1_ExecFrlState (XV_HdmiTx1 *InstancePtr) |
| This function executes the different of states of FRL. More... | |
| int | XV_HdmiTx1_FrlStreamStart (XV_HdmiTx1 *InstancePtr) |
| This function starts FRL video stream. More... | |
| int | XV_HdmiTx1_FrlStreamStop (XV_HdmiTx1 *InstancePtr) |
| This function stops FRL video stream. More... | |
| void | XV_HdmiTx1_SetFrlLtp (XV_HdmiTx1 *InstancePtr, u8 Lane, XV_HdmiTx1_FrlLtpType Ltp) |
| This function sets the link training pattern for the selected lane. More... | |
| void | XV_HdmiTx1_SetFrlActive (XV_HdmiTx1 *InstancePtr, XV_HdmiTx1_FrlActiveMode Mode) |
| This function sets active FRL mode. More... | |
| void | XV_HdmiTx1_SetFrlLanes (XV_HdmiTx1 *InstancePtr, u8 Lanes) |
| This function sets the number of FRL lane in operations. More... | |
| void | XV_HdmiTx1_FrlModeEn (XV_HdmiTx1 *InstancePtr, u8 Mode) |
| This function sets the FRL operation mode. More... | |
| void | XV_HdmiTx1_FrlReset (XV_HdmiTx1 *InstancePtr, u8 Reset) |
| This function resets the FRL peripheral. More... | |
| int | XV_HdmiTx1_FrlRate (XV_HdmiTx1 *InstancePtr, u8 FrlRate) |
| This function sets the TX core's FRL Rate and sends encoded FRL_Rate data and FFE Levels to the sink through SCDC. More... | |
| void | XV_HdmiTx1_FrlExtVidCkeSource (XV_HdmiTx1 *InstancePtr, u8 Value) |
| This function sets the source of the video clock enable. More... | |
| void | XV_HdmiTx1_FrlExecute (XV_HdmiTx1 *InstancePtr) |
| This function executes the FRL register updates. More... | |
| int | XV_HdmiTx1_FrlTrainingInit (XV_HdmiTx1 *InstancePtr) |
| This function initializes FRL peripheral and sink's SCDC for FRL Training. More... | |
| void | XV_HdmiTx1_SetFrlTimer (XV_HdmiTx1 *InstancePtr, u32 Milliseconds) |
| This function sets the timer of TX Core's FRL peripheral. More... | |
| void | XV_HdmiTx1_SetFrlTimerClockCycles (XV_HdmiTx1 *InstancePtr, u32 ClockCycles) |
| This function sets the timer of TX Core's FRL peripheral in clock cycles. More... | |
| u32 | XV_HdmiTx1_GetFrlTimer (XV_HdmiTx1 *InstancePtr) |
| This function returns the remaining value of the timer of TX Core's FRL peripheral. More... | |
| void | XV_HdmiTx1_SetFrl10MicroSecondsTimer (XV_HdmiTx1 *InstancePtr) |
| This function sets the timer of TX Core's FRL peripheral for 10 Microseconds. More... | |
| void | XV_HdmiTx1_SetFrlWrongLtp (XV_HdmiTx1 *InstancePtr) |
| This function sets the core to send out wrong LTP on one of the channel to prevent link training from passing. More... | |
| void | XV_HdmiTx1_ClearFrlWrongLtp (XV_HdmiTx1 *InstancePtr) |
| This function clears the debugging flag which would have prevented the core from sending out correct LTP. More... | |
| u8 * | XV_HdmiTx1_GetScdcEdRegisters (XV_HdmiTx1 *InstancePtr) |
| This function reads the CED and RSED registers from the sink and returns the pointer to the data structure which stores the CED related readings (from SCDC register 0x50 to 0x5A). More... | |
| void | XV_HdmiTx1_Start (XV_HdmiTx1 *InstancePtr) |
| This function starts the HDMI TX core. More... | |
| void | XV_HdmiTx1_Stop (XV_HdmiTx1 *InstancePtr) |
| This function stops the HDMI TX core. More... | |
| int | XV_HdmiTx1_SelfTest (XV_HdmiTx1 *InstancePtr) |
| This function reads ID of HDMI TX PIO peripheral. More... | |
| void | XV_HdmiTx1_IntrHandler (void *InstancePtr) |
| This function is the interrupt handler for the HDMI TX driver. More... | |
| int | XV_HdmiTx1_SetCallback (XV_HdmiTx1 *InstancePtr, XV_HdmiTx1_HandlerType HandlerType, void *CallbackFunc, void *CallbackRef) |
| This function installs an asynchronous callback function for the given HandlerType: More... | |
| XV_HdmiC_VideoTimingExtMeta * | XV_HdmiTx1_GetVidTimingExtMeta (XV_HdmiTx1 *InstancePtr) |
| XV_HdmiC_SrcProdDescIF * | XV_HdmiTx1_GetSrcProdDescIF (XV_HdmiTx1 *InstancePtr) |
| void | XV_HdmiTx1_GenerateVideoTimingExtMetaIF (XV_HdmiTx1 *InstancePtr, XV_HdmiC_VideoTimingExtMeta *ExtMeta) |
| void | XV_HdmiTx1_GenerateCustomVideoTimingExtMetaIF (XV_HdmiTx1 *InstancePtr, XV_HdmiC_VideoTimingExtMeta *ExtMeta, u16 Sync, u16 DataSetLen) |
| void | XV_HdmiTx1_GenerateSrcProdDescInfoframe (XV_HdmiTx1 *InstancePtr, XV_HdmiC_SrcProdDescIF *SpdIfPtr) |
| #define XV_HdmiTx1_AudioDisable | ( | InstancePtr | ) |
This macro disables audio in HDMI TX core.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
Referenced by XV_HdmiTx1_CfgInitialize(), and XV_HdmiTx1_SetDviMode().
| #define XV_HdmiTx1_AuxDisable | ( | InstancePtr | ) |
This macro disables the HDMI TX Auxiliary (AUX) peripheral.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
Referenced by XV_HdmiTx1_CfgInitialize(), XV_HdmiTx1_FrlStreamStop(), and XV_HdmiTx1_SetDviMode().
| #define XV_HdmiTx1_AuxIntrDisable | ( | InstancePtr | ) |
This macro disables interrupt in the HDMI TX AUX peripheral.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
Referenced by XV_HdmiTx1_FrlStreamStop().
| #define XV_HdmiTx1_AuxIntrEnable | ( | InstancePtr | ) |
This macro enables interrupt in the HDMI TX AUX peripheral.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
Referenced by XV_HdmiTx1_FrlStreamStart().
| #define XV_HdmiTx1_Bridge_pixel | ( | InstancePtr, | |
| SetClr | |||
| ) |
This macro controls the Pixel Repeat mode for video bridge.
| InstancePtr | is a pointer to the XHdmi_Tx core instance. |
| SetClr | specifies TRUE/FALSE value to either enable or disable the Pixel Repitition Support. |
| #define XV_HdmiTx1_Bridge_yuv420 | ( | InstancePtr, | |
| SetClr | |||
| ) |
This macro controls the YUV420 mode for video bridge.
| InstancePtr | is a pointer to the XHdmi_Tx core instance. |
| SetClr | specifies TRUE/FALSE value to either enable or disable the YUV 420 Support. |
| #define XV_HdmiTx1_ClearMode | ( | InstancePtr | ) |
This macro clears the mode bit.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
Referenced by XV_HdmiTx1_SetDviMode().
| #define XV_HdmiTx1_DdcDisable | ( | InstancePtr | ) |
This macro disables the HDMI TX Display Data Channel (DDC) peripheral.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
Referenced by XV_HdmiTx1_CfgInitialize(), XV_HdmiTx1_DdcRead(), and XV_HdmiTx1_DdcWrite().
| #define XV_HdmiTx1_DdcEnable | ( | InstancePtr | ) |
This macro enables the HDMI TX Display Data Channel (DDC) peripheral.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
Referenced by XV_HdmiTx1_DdcRead(), and XV_HdmiTx1_DdcWrite().
| #define XV_HdmiTx1_DdcIntrClear | ( | InstancePtr | ) |
This macro clears HDMI TX DDC interrupt.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
Referenced by XV_HdmiTx1_CfgInitialize().
| #define XV_HdmiTx1_DdcIntrDisable | ( | InstancePtr | ) |
This macro disables interrupt in the HDMI TX DDC peripheral.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
Referenced by XV_HdmiTx1_DdcRead(), and XV_HdmiTx1_DdcWrite().
| #define XV_HdmiTx1_DdcIntrEnable | ( | InstancePtr | ) |
This macro enables interrupt in the HDMI TX DDC peripheral.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
| #define XV_HdmiTx1_DscControl | ( | InstancePtr, | |
| SetClr | |||
| ) |
This macro allows enabling/disabling of DSC in HDMI-TX.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
| SetClr | specifies TRUE/FALSE value to either enable or disable the DSC |
| #define XV_HdmiTx1_DynHdr_Control | ( | InstancePtr, | |
| SetClr | |||
| ) |
This macro allows enabling/disabling of Dynamic HDR in HDMI Tx.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
| SetClr | specifies TRUE/FALSE value to either enable or disable the Dynamic HDR |
| #define XV_HdmiTx1_DynHdr_DM_Disable | ( | InstancePtr | ) |
This macro disables the data mover for Dynamic HDR in HDMI Tx.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
Referenced by XV_HdmiTx1_FrlStreamStop().
| #define XV_HdmiTx1_DynHdr_DM_Enable | ( | InstancePtr | ) |
This macro enables the data mover for Dynamic HDR in HDMI Tx.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
Referenced by XV_HdmiTx1_FrlStreamStart().
| #define XV_HdmiTx1_DynHdr_FAPA_Control | ( | InstancePtr, | |
| SetClr | |||
| ) |
This macro allows enabling/disabling of FAPA Location Dynamic HDR in HDMI Tx.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
| SetClr | specifies TRUE/FALSE value for FAPA location. |
| #define XV_HdmiTx1_DynHdr_GetReadStatus | ( | InstancePtr | ) |
This macro gets the read status of Data Mover for Dynamic HDR in HDMI Tx.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
| #define XV_HdmiTx1_DynHdr_GOF_Control | ( | InstancePtr, | |
| SetClr | |||
| ) |
This macro allows enabling/disabling of GOF Dynamic HDR in HDMI Tx.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
| SetClr | specifies TRUE/FALSE value to either enable or disable the GOF (Graphics Overlay Flag) |
| #define XV_HdmiTx1_DynHdr_GOFVal_Control | ( | InstancePtr, | |
| SetClr | |||
| ) |
This macro allows set/clear of GOF Value Dynamic HDR in HDMI Tx.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
| SetClr | specifies TRUE/FALSE value to either set or clear the GOF (Graphics Overlay Flag) Value |
| #define XV_HdmiTx1_DynHdr_MTW_Clear | ( | InstancePtr | ) |
This macro allows to set the MTW bit to clear it for Dynamic HDR in HDMI Tx.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
| #define XV_HdmiTx1_DynHdr_SetAddr | ( | InstancePtr, | |
| Addr | |||
| ) |
This macro sets the buffer address for Dynamic HDR in HDMI Tx.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
| Addr | is a u64 which contains the buffer address |
| #define XV_HdmiTx1_DynHdr_SetPacket | ( | InstancePtr, | |
| PktLen, | |||
| PktType | |||
| ) |
This macro sets the Header packet type and length for Dynamic HDR in HDMI Tx.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
| PktLength | is a u16 length of Dynamic HDR packet. |
| PktType | is a u16 Type of Dynamic HDR packet. |
| #define XV_HdmiTx1_FSyncControl | ( | InstancePtr, | |
| SetClr | |||
| ) |
This macro allows enabling/disabling of FSync in HDMI Tx.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
| SetClr | specifies TRUE/FALSE value to either enable or disable the VFP Event |
| #define XV_HdmiTx1_GetAudioChannels | ( | InstancePtr | ) | (InstancePtr)->Stream.Audio.Channels |
This macro provides the active audio channels.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
| #define XV_HdmiTx1_GetMode | ( | InstancePtr | ) |
This macro provides the current mode.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
| #define XV_HdmiTx1_GetPixelPackingPhase | ( | InstancePtr | ) |
This macro provides the current pixel packing phase.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
| #define XV_HdmiTx1_GetSampleRate | ( | InstancePtr | ) | (InstancePtr)->Stream.SampleRate |
This macro provides the current sample rate.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
| #define XV_HdmiTx1_GetTime10Ms | ( | InstancePtr | ) | (InstancePtr)->Config.AxiLiteClkFreq/100 |
This macro returns the clock cycles required to count up to 10MS with respect to AXI Lite Frequency.
| InstancePtr | is a pointer to the XV_HdmiTX core instance. |
| #define XV_HdmiTx1_GetTime1Ms | ( | InstancePtr | ) | (InstancePtr)->Config.AxiLiteClkFreq/1000 |
This macro returns the clock cycles required to count up to 1MS with respect to AXI Lite Frequency.
| InstancePtr | is a pointer to the XV_HdmiTX1 core instance. |
Referenced by XV_HdmiTx1_CfgInitialize().
| #define XV_HdmiTx1_GetVersion | ( | InstancePtr | ) |
This macro reads the TX version.
| InstancePtr | is a pointer to the XV_HdmiTX1 core instance. |
| #define XV_HDMITX1_H_ |
Prevent circular inclusions by using protection macros.
| #define XV_HdmiTx1_IsMasked | ( | InstancePtr | ) |
This macro provides the current video mask mode.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
| #define XV_HdmiTx1_MaskDisable | ( | InstancePtr | ) |
This macro disables video mask in HDMI TX core.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
| #define XV_HdmiTx1_MaskEnable | ( | InstancePtr | ) |
This macro enables video mask in HDMI TX core.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
| #define XV_HdmiTx1_MaskNoise | ( | InstancePtr, | |
| SetClr | |||
| ) |
This macro enables or disables the noise in the video mask.
| InstancePtr | is a pointer to the XHdmi_Tx core instance. |
| SetClr | specifies TRUE/FALSE value to either enable or disable the Noise. |
| #define XV_HdmiTx1_MaskSetBlue | ( | InstancePtr, | |
| Value | |||
| ) |
This macro sets the blue component value in the video mask.
| InstancePtr | is a pointer to the XHdmi_Tx core instance. |
| Value |
| #define XV_HdmiTx1_MaskSetGreen | ( | InstancePtr, | |
| Value | |||
| ) |
This macro sets the green component value in the video mask.
| InstancePtr | is a pointer to the XHdmi_Tx core instance. |
| Value |
| #define XV_HdmiTx1_MaskSetRed | ( | InstancePtr, | |
| Value | |||
| ) |
This macro sets the red component value in the video mask.
| InstancePtr | is a pointer to the XHdmi_Tx core instance. |
| Value |
| #define XV_HdmiTx1_PioDisable | ( | InstancePtr | ) |
This macro disables the HDMI TX PIO peripheral.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
Referenced by XV_HdmiTx1_CfgInitialize(), and XV_HdmiTx1_Stop().
| #define XV_HdmiTx1_PioEnable | ( | InstancePtr | ) |
This macro enables the HDMI TX PIO peripheral.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
Referenced by XV_HdmiTx1_Start().
| #define XV_HdmiTx1_PioIntrClear | ( | InstancePtr | ) |
This macro clears HDMI TX PIO interrupt.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
Referenced by XV_HdmiTx1_CfgInitialize().
| #define XV_HdmiTx1_PioIntrDisable | ( | InstancePtr | ) |
This macro disables interrupt in the HDMI TX PIO peripheral.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
Referenced by XV_HdmiTx1_DdcRead(), XV_HdmiTx1_DdcWrite(), and XV_HdmiTx1_Stop().
| #define XV_HdmiTx1_PioIntrEnable | ( | InstancePtr | ) |
This macro enables interrupt in the HDMI TX PIO peripheral.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
Referenced by XV_HdmiTx1_DdcRead(), XV_HdmiTx1_DdcWrite(), and XV_HdmiTx1_Start().
| #define XV_HdmiTx1_Reset | ( | InstancePtr, | |
| Reset | |||
| ) |
This macro asserts or releases the HDMI TX reset.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
| Reset | specifies TRUE/FALSE value to either assert or release HDMI TX reset. |
| #define XV_HdmiTx1_SetMode | ( | InstancePtr | ) |
This macro sets the mode bit.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
Referenced by XV_HdmiTx1_SetHdmiFrlMode(), and XV_HdmiTx1_SetHdmiTmdsMode().
| #define XV_HdmiTx1_SetScrambler | ( | InstancePtr, | |
| SetClr | |||
| ) |
This macro controls the HDMI TX Scrambler.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
| SetClr | specifies TRUE/FALSE value to either set ON or clear Scrambler. |
Referenced by XV_HdmiTx1_Scrambler().
| #define XV_HdmiTx1_VrrControl | ( | InstancePtr, | |
| SetClr | |||
| ) |
This macro allows enabling/disabling of VRR in HDMI Tx.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
| SetClr | specifies TRUE/FALSE value to either enable or disable the VFP Event |
| typedef void(* XV_HdmiTx1_Callback)(void *CallbackRef) |
Callback type for Vsync event interrupt.
| 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. |
These constants specify different types of handler and used to differentiate interrupt requests from peripheral.
| void XV_HdmiTx1_AudioEnable | ( | XV_HdmiTx1 * | InstancePtr | ) |
This macro enables audio in HDMI TX core.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
References XV_HdmiTx1::Stream, XV_HDMITX1_AUD_CTRL_RUN_MASK, XV_HDMITX1_AUD_CTRL_SET_OFFSET, XV_HdmiTx1_FRLACRStart(), XV_HdmiTx1_TMDSACRStart(), and XV_HdmiTx1_WriteReg.
Referenced by XV_HdmiTx1_SetAudioChannels(), XV_HdmiTx1_SetAudioFormat(), XV_HdmiTx1_SetHdmiFrlMode(), and XV_HdmiTx1_SetHdmiTmdsMode().
| void XV_HdmiTx1_Aux_Dsc_Send_Data | ( | XV_HdmiTx1 * | InstancePtr, |
| u32 | Data | ||
| ) |
This function transmits the DSC packet data.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
| Data | value to be written |
References XV_HdmiTx1_Config::BaseAddress, XV_HdmiTx1::Config, and XV_HdmiTx1_WriteReg.
| void XV_HdmiTx1_Aux_Dsc_Send_Header | ( | XV_HdmiTx1 * | InstancePtr, |
| u32 | Data | ||
| ) |
This function transmits the DSC packet header.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
| Data | value to be written |
References XV_HdmiTx1_Config::BaseAddress, XV_HdmiTx1::Config, and XV_HdmiTx1_WriteReg.
| void XV_HdmiTx1_AuxEnable | ( | XV_HdmiTx1 * | InstancePtr | ) |
This function enables the HDMI TX Auxiliary (AUX) peripheral.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
References XV_HDMITX1_AUX_CTRL_RUN_MASK, XV_HDMITX1_AUX_CTRL_SET_OFFSET, and XV_HdmiTx1_WriteReg.
Referenced by XV_HdmiTx1_FrlStreamStart(), XV_HdmiTx1_SetHdmiFrlMode(), and XV_HdmiTx1_SetHdmiTmdsMode().
| u32 XV_HdmiTx1_AuxSend | ( | XV_HdmiTx1 * | InstancePtr | ) |
This function transmits the infoframes generated by the processor.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
References XV_HdmiTx1::Aux, XV_HdmiTx1_Config::BaseAddress, XV_HdmiTx1::Config, XV_HDMITX1_AUX_DAT_OFFSET, XV_HDMITX1_AUX_STA_FIFO_FUL_MASK, XV_HDMITX1_AUX_STA_OFFSET, XV_HDMITX1_AUX_STA_PKT_RDY_MASK, XV_HdmiTx1_ReadReg, and XV_HdmiTx1_WriteReg.
| int XV_HdmiTx1_CfgInitialize | ( | XV_HdmiTx1 * | InstancePtr, |
| XV_HdmiTx1_Config * | CfgPtr, | ||
| UINTPTR | EffectiveAddr | ||
| ) |
This function initializes the HDMI TX core.
This function must be called prior to using the HDMI TX core. Initialization of the HDMI TX includes setting up the instance data and ensuring the hardware is in a quiescent state.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
| CfgPtr | points to the configuration structure associated with the HDMI TX core. |
| EffectiveAddr | is the base address of the device. If address translation is being used, then this parameter must reflect the virtual base address. Otherwise, the physical address should be used. |
References XV_HdmiTx1_Stream::Audio, XV_HdmiTx1_Config::BaseAddress, XV_HdmiTx1::Config, XV_HdmiTx1::ConnectCallback, XV_HdmiTx1_Stream::CorePixPerClk, XV_HdmiTx1::DscDecodeFailCallback, XV_HdmiTx1::DynHdrMtwCallback, XV_HdmiTx1_Stream::Frl, XV_HdmiTx1::FrlConfigCallback, XV_HdmiTx1::FrlFfeCallback, XV_HdmiTx1::FrlStartCallback, XV_HdmiTx1::FrlStopCallback, XV_HdmiTx1_Stream::IsConnected, XV_HdmiTx1::IsReady, XV_HdmiTx1_Frl::Lanes, XV_HdmiTx1_Frl::MaxFrlRate, XV_HdmiTx1_Config::MaxFrlRate, XV_HdmiTx1_Stream::OverrideScrambler, XV_HdmiTx1_Frl::RateLock, XV_HdmiTx1_Stream::State, XV_HdmiTx1::Stream, XV_HdmiTx1::StreamDownCallback, XV_HdmiTx1::StreamUpCallback, XV_HdmiTx1::TmdsConfigCallback, XV_HdmiTx1::ToggleCallback, XV_HdmiTx1_Frl::TrainingState, XV_HdmiTx1::VsCallback, XV_HDMITX1_AUD_CTRL_CLR_OFFSET, XV_HDMITX1_AUD_CTRL_SET_OFFSET, XV_HdmiTx1_AudioDisable, XV_HdmiTx1_AuxDisable, XV_HdmiTx1_Clear(), XV_HDMITX1_CONNECT_CONF_OFFSET, XV_HdmiTx1_DdcDisable, XV_HdmiTx1_DdcIntrClear, XV_HdmiTx1_FrlExecute(), XV_HdmiTx1_FrlExtVidCkeSource(), XV_HdmiTx1_FrlIntrDisable, XV_HdmiTx1_FrlIntrEnable, XV_HdmiTx1_FrlReset(), XV_HdmiTx1_GetTime1Ms, XV_HDMITX1_HPD_TIMEGRID_OFFSET, XV_HDMITX1_MASK_16, XV_HDMITX1_PIO_ID, XV_HDMITX1_PIO_ID_OFFSET, XV_HDMITX1_PIO_IN_BRDG_LOCKED_MASK, XV_HDMITX1_PIO_IN_BRDG_OVERFLOW_MASK, XV_HDMITX1_PIO_IN_BRDG_UNDERFLOW_MASK, XV_HDMITX1_PIO_IN_EVT_FE_OFFSET, XV_HDMITX1_PIO_IN_EVT_RE_OFFSET, XV_HDMITX1_PIO_IN_HPD_MASK, XV_HDMITX1_PIO_IN_HPD_TOGGLE_MASK, XV_HDMITX1_PIO_IN_LNK_RDY_MASK, XV_HDMITX1_PIO_IN_VS_MASK, XV_HdmiTx1_PioDisable, XV_HdmiTx1_PioIntrClear, XV_HdmiTx1_ReadReg, XV_HdmiTx1_SetHdmiTmdsMode(), XV_HDMITX1_SHIFT_16, XV_HDMITX1_TOGGLE_CONF_OFFSET, and XV_HdmiTx1_WriteReg.
| void XV_HdmiTx1_Clear | ( | XV_HdmiTx1 * | InstancePtr | ) |
This function clear the HDMI TX variables and sets it to the defaults.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
Referenced by XV_HdmiTx1_CfgInitialize().
| void XV_HdmiTx1_ClearFrlWrongLtp | ( | XV_HdmiTx1 * | InstancePtr | ) |
This function clears the debugging flag which would have prevented the core from sending out correct LTP.
| InstancePtr | is a pointer to the XHdmi_Tx core instance. |
References XV_HdmiTx1_Stream::Frl, and XV_HdmiTx1::Stream.
| void XV_HdmiTx1_ClearGcpAvmuteBit | ( | XV_HdmiTx1 * | InstancePtr | ) |
This function clears the HDMI TX AUX GCP register AVMUTE bit.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
References XV_HDMITX1_PIO_OUT_CLR_OFFSET, XV_HDMITX1_PIO_OUT_GCP_AVMUTE_MASK, and XV_HdmiTx1_WriteReg.
| void XV_HdmiTx1_ClearGcpClearAvmuteBit | ( | XV_HdmiTx1 * | InstancePtr | ) |
This function clears the HDMI TX AUX GCP register CLEAR_AVMUTE bit.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
References XV_HDMITX1_PIO_OUT_CLR_OFFSET, XV_HDMITX1_PIO_OUT_GCP_CLEARAVMUTE_MASK, and XV_HdmiTx1_WriteReg.
| int XV_HdmiTx1_ClockRatio | ( | XV_HdmiTx1 * | InstancePtr | ) |
This function controls the TMDS clock ratio.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
References XV_HdmiTx1_Stream::ScdcSupport, XV_HdmiTx1::Stream, XV_HdmiTx1_Stream::TMDSClockRatio, XV_HdmiTx1_DdcRead(), and XV_HdmiTx1_DdcWrite().
Referenced by XV_HdmiTx1_SetStream().
| void XV_HdmiTx1_DdcInit | ( | XV_HdmiTx1 * | InstancePtr, |
| u32 | Frequency | ||
| ) |
This function prepares TX DDC peripheral to use.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
| Frequency | specifies the value that needs to be set. |
References XV_HdmiTx1_Config::BaseAddress, XV_HdmiTx1::Config, XV_HDMITX1_DDC_CTRL_CLK_DIV_MASK, XV_HDMITX1_DDC_CTRL_OFFSET, and XV_HdmiTx1_WriteReg.
Referenced by XV_HdmiTx1_SetAxiClkFreq().
| int XV_HdmiTx1_DdcRead | ( | XV_HdmiTx1 * | InstancePtr, |
| u8 | Slave, | ||
| u16 | Length, | ||
| u8 * | Buffer, | ||
| u8 | Stop | ||
| ) |
This function reads data from DDC peripheral from given slave address.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
| Slave | specifies the slave address from where data needs to be read. |
| Length | specifies number of bytes to be read. |
| Buffer | specifies a pointer to u8 variable that will be filled with data. |
| Stop | specifies the stop flag which is either TRUE/FALSE. |
References XV_HDMITX1_DDC_CMD_RD_TOKEN, XV_HDMITX1_DDC_CMD_STP_TOKEN, XV_HDMITX1_DDC_CMD_STR_TOKEN, XV_HDMITX1_DDC_CMD_WR_TOKEN, XV_HdmiTx1_DdcDisable, XV_HdmiTx1_DdcEnable, XV_HdmiTx1_DdcGetAck(), XV_HdmiTx1_DdcIntrDisable, XV_HdmiTx1_DdcReadData(), XV_HdmiTx1_DdcWaitForDone(), XV_HdmiTx1_DdcWriteCommand(), XV_HdmiTx1_GetFrlTimer(), XV_HdmiTx1_PioIntrDisable, XV_HdmiTx1_PioIntrEnable, and XV_HdmiTx1_SetFrlTimerClockCycles().
Referenced by XV_HdmiTx1_ClockRatio(), XV_HdmiTx1_DdcReadReg(), XV_HdmiTx1_DdcWriteField(), XV_HdmiTx1_Scrambler(), and XV_HdmiTx1_ShowSCDC().
| int XV_HdmiTx1_DdcReadReg | ( | XV_HdmiTx1 * | InstancePtr, |
| u8 | Slave, | ||
| u16 | Length, | ||
| u8 | RegAddr, | ||
| u8 * | Buffer | ||
| ) |
This function reads specified register from DDC peripheral from given slave address.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
| Slave | specifies the slave address from where data needs to be read. |
| Length | specifies number of bytes to be read. |
| RegAddr | specifies the register address from where data needs to be read. |
| Buffer | specifies a pointer to u8 variable that will be filled with data. |
| Stop | specifies the stop flag which is either TRUE/FALSE. |
References XV_HdmiTx1_DdcRead(), and XV_HdmiTx1_DdcWrite().
Referenced by XV_HdmiTx1_GetScdcEdRegisters().
| int XV_HdmiTx1_DdcWrite | ( | XV_HdmiTx1 * | InstancePtr, |
| u8 | Slave, | ||
| u16 | Length, | ||
| u8 * | Buffer, | ||
| u8 | Stop | ||
| ) |
This function writes data from DDC peripheral from given slave address.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
| Slave | specifies the slave address from where data needs to be read. |
| Length | specifies number of bytes to be read. |
| Buffer | specifies a pointer to u8 variable that will be filled with data. |
| Stop | specifies the stop flag which is either TRUE/FALSE. |
References XV_HDMITX1_DDC_CMD_STP_TOKEN, XV_HDMITX1_DDC_CMD_STR_TOKEN, XV_HDMITX1_DDC_CMD_WR_TOKEN, XV_HdmiTx1_DdcDisable, XV_HdmiTx1_DdcEnable, XV_HdmiTx1_DdcGetAck(), XV_HdmiTx1_DdcIntrDisable, XV_HdmiTx1_DdcWaitForDone(), XV_HdmiTx1_DdcWriteCommand(), XV_HdmiTx1_GetFrlTimer(), XV_HdmiTx1_PioIntrDisable, XV_HdmiTx1_PioIntrEnable, and XV_HdmiTx1_SetFrlTimerClockCycles().
Referenced by XV_HdmiTx1_ClockRatio(), XV_HdmiTx1_DdcReadReg(), XV_HdmiTx1_DdcWriteField(), XV_HdmiTx1_DetectHdmi20(), XV_HdmiTx1_Scrambler(), and XV_HdmiTx1_ShowSCDC().
| int XV_HdmiTx1_DdcWriteField | ( | XV_HdmiTx1 * | InstancePtr, |
| XV_HdmiTx1_ScdcFieldType | Field, | ||
| u8 | Value | ||
| ) |
This function writes the specified SCDC Field.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
| Field | specifies the fields from SCDC channels to be written |
| Value | specifies the values to be written |
References XV_HdmiTx1_ScdcField::Mask, XV_HdmiTx1_ScdcField::Offset, XV_HdmiTx1_ScdcField::Shift, XV_HdmiTx1_DdcRead(), and XV_HdmiTx1_DdcWrite().
Referenced by XV_HdmiTx1_FrlRate(), and XV_HdmiTx1_FrlTrainingInit().
| void XV_HdmiTx1_DebugInfo | ( | XV_HdmiTx1 * | InstancePtr | ) |
This function prints debug information on STDIO/UART console.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
References XV_HdmiTx1_Config::BaseAddress, XV_HdmiTx1::Config, XV_HDMITX1_ANLZ_HBP_HS_HPB_SZ_MASK, XV_HDMITX1_ANLZ_HBP_HS_HPB_SZ_SHIFT, XV_HDMITX1_ANLZ_HBP_HS_HS_SZ_MASK, XV_HDMITX1_ANLZ_HBP_HS_OFFSET, XV_HDMITX1_ANLZ_LN_ACT_ACT_SZ_MASK, XV_HDMITX1_ANLZ_LN_ACT_LN_SZ_MASK, XV_HDMITX1_ANLZ_LN_ACT_LN_SZ_SHIFT, XV_HDMITX1_ANLZ_LN_ACT_OFFSET, XV_HDMITX1_DBG_STS_OFFSET, XV_HDMITX1_FRL_CTRL_LN_OP_MASK, XV_HDMITX1_FRL_CTRL_OFFSET, XV_HDMITX1_FRL_CTRL_OP_MODE_MASK, XV_HDMITX1_FRL_LNK_CLK_OFFSET, XV_HDMITX1_FRL_STA_LNK_CLK_OOS_MASK, XV_HDMITX1_FRL_STA_OFFSET, XV_HDMITX1_FRL_VCKE_EXT_MASK, XV_HDMITX1_FRL_VID_CLK_OFFSET, XV_HDMITX1_PIO_IN_BRDG_LOCKED_MASK, XV_HDMITX1_PIO_IN_OFFSET, XV_HDMITX1_PIO_OUT_MODE_MASK, XV_HDMITX1_PIO_OUT_OFFSET, XV_HdmiTx1_ReadReg, XV_HDMITX1_VCKE_SYS_CNT_OFFSET, XV_HDMITX1_VER_ID_OFFSET, and XV_HDMITX1_VER_VERSION_OFFSET.
| int XV_HdmiTx1_DetectHdmi20 | ( | XV_HdmiTx1 * | InstancePtr | ) |
This function detects connected sink is a HDMI 2.0/HDMI 1.4 sink device and sets appropriate flag in the TX stream.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
References XV_HdmiTx1_Stream::ScdcSupport, XV_HdmiTx1::Stream, and XV_HdmiTx1_DdcWrite().
| int XV_HdmiTx1_ExecFrlState | ( | XV_HdmiTx1 * | InstancePtr | ) |
This function executes the different of states of FRL.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
References XV_HdmiTx1_Stream::Frl, XV_HdmiTx1::Stream, and XV_HdmiTx1_Frl::TrainingState.
Referenced by XV_HdmiTx1_StartFrlTraining().
| void XV_HdmiTx1_EXT_SYSRST | ( | XV_HdmiTx1 * | InstancePtr, |
| u8 | Reset | ||
| ) |
This function asserts or releases the HDMI TX External SYSRST.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
| Reset | specifies TRUE/FALSE value to either assert or release HDMI TX External SYSRST. |
References XV_HDMITX1_PIO_OUT_CLR_OFFSET, XV_HDMITX1_PIO_OUT_EXT_SYSRST_MASK, XV_HDMITX1_PIO_OUT_SET_OFFSET, and XV_HdmiTx1_WriteReg.
| void XV_HdmiTx1_EXT_VRST | ( | XV_HdmiTx1 * | InstancePtr, |
| u8 | Reset | ||
| ) |
This function asserts or releases the HDMI TX External VRST.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
| Reset | specifies TRUE/FALSE value to either assert or release HDMI TX External VRST. |
References XV_HDMITX1_PIO_OUT_CLR_OFFSET, XV_HDMITX1_PIO_OUT_EXT_VRST_MASK, XV_HDMITX1_PIO_OUT_SET_OFFSET, and XV_HdmiTx1_WriteReg.
| void XV_HdmiTx1_FRLACRStart | ( | XV_HdmiTx1 * | InstancePtr | ) |
This function Starts the internal ACR module for FRL.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
References XV_HdmiTx1_Stream::Audio, XV_HdmiTx1_Stream::Frl, XV_HdmiTx1_Frl::LineRate, XV_HdmiTx1::Stream, XV_HDMITX1_AUD_ACR_N_OFFSET, XV_HDMITX1_AUD_CTRL_CLR_OFFSET, XV_HDMITX1_AUD_CTRL_SET_OFFSET, and XV_HdmiTx1_WriteReg.
Referenced by XV_HdmiTx1_AudioEnable().
| void XV_HdmiTx1_FrlExecute | ( | XV_HdmiTx1 * | InstancePtr | ) |
This function executes the FRL register updates.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
References XV_HDMITX1_FRL_CTRL_EXEC_MASK, XV_HDMITX1_FRL_CTRL_SET_OFFSET, and XV_HdmiTx1_WriteReg.
Referenced by XV_HdmiTx1_CfgInitialize().
| void XV_HdmiTx1_FrlExtVidCkeSource | ( | XV_HdmiTx1 * | InstancePtr, |
| u8 | Value | ||
| ) |
This function sets the source of the video clock enable.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
| Value | specifies the number of FRL lanes in operation.
|
References XV_HDMITX1_FRL_CTRL_CLR_OFFSET, XV_HDMITX1_FRL_CTRL_SET_OFFSET, XV_HDMITX1_FRL_VCKE_EXT_MASK, and XV_HdmiTx1_WriteReg.
Referenced by XV_HdmiTx1_CfgInitialize().
| void XV_HdmiTx1_FrlModeEn | ( | XV_HdmiTx1 * | InstancePtr, |
| u8 | Enable | ||
| ) |
This function sets the FRL operation mode.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
| Enable | specifies the FRL mode.
|
References XV_HDMITX1_FRL_CTRL_CLR_OFFSET, XV_HDMITX1_FRL_CTRL_OP_MODE_MASK, XV_HDMITX1_FRL_CTRL_SET_OFFSET, and XV_HdmiTx1_WriteReg.
Referenced by XV_HdmiTx1_FrlTrainingInit().
| int XV_HdmiTx1_FrlRate | ( | XV_HdmiTx1 * | InstancePtr, |
| u8 | FrlRate | ||
| ) |
This function sets the TX core's FRL Rate and sends encoded FRL_Rate data and FFE Levels to the sink through SCDC.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
| MaxFrlRate | specifies maximum rates supported
|
References XV_HdmiTx1_Frl::FfeLevels, XV_HdmiTx1_Stream::Frl, XV_HdmiTx1_Frl::FrlRate, XV_HdmiTx1_Frl::Lanes, XV_HdmiTx1_Frl::LineRate, XV_HdmiTx1_Stream::ScdcSupport, XV_HdmiTx1::Stream, XV_HdmiTx1_DdcWriteField(), and XV_HdmiTx1_SetFrlLanes().
Referenced by XV_HdmiTx1_FrlTrainingInit().
| void XV_HdmiTx1_FrlReset | ( | XV_HdmiTx1 * | InstancePtr, |
| u8 | Reset | ||
| ) |
This function resets the FRL peripheral.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
| Reset | specifies if the FRL peripheral is under reset or not.
|
References XV_HDMITX1_FRL_CTRL_CLR_OFFSET, XV_HDMITX1_FRL_CTRL_RSTN_MASK, XV_HDMITX1_FRL_CTRL_SET_OFFSET, and XV_HdmiTx1_WriteReg.
Referenced by XV_HdmiTx1_CfgInitialize().
| int XV_HdmiTx1_FrlStreamStart | ( | XV_HdmiTx1 * | InstancePtr | ) |
This function starts FRL video stream.
This should be called after the bridge, video, audio are all active.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
References XV_HdmiTx1_Stream::State, XV_HdmiTx1::Stream, XV_HdmiTx1::StreamUpCallback, XV_HdmiTx1::StreamUpRef, XV_HdmiTx1_AuxEnable(), XV_HdmiTx1_AuxIntrEnable, XV_HdmiTx1_DynHdr_DM_Enable, and XV_HdmiTx1_SetFrlActive().
| int XV_HdmiTx1_FrlStreamStop | ( | XV_HdmiTx1 * | InstancePtr | ) |
This function stops FRL video stream.
This should be called after the bridge, video, audio are all active.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
References XV_HdmiTx1_Stream::State, XV_HdmiTx1::Stream, XV_HdmiTx1::StreamDownCallback, XV_HdmiTx1::StreamDownRef, XV_HdmiTx1_AuxDisable, XV_HdmiTx1_AuxIntrDisable, and XV_HdmiTx1_DynHdr_DM_Disable.
| int XV_HdmiTx1_FrlTrainingInit | ( | XV_HdmiTx1 * | InstancePtr | ) |
This function initializes FRL peripheral and sink's SCDC for FRL Training.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
References XV_HdmiTx1_Stream::Frl, XV_HdmiTx1_Frl::FrlRate, XV_HdmiTx1::Stream, XV_HdmiTx1_DdcWriteField(), XV_HdmiTx1_FrlModeEn(), XV_HdmiTx1_FrlRate(), and XV_HdmiTx1_SetFrlActive().
| XV_HdmiTx1_AudioFormatType XV_HdmiTx1_GetAudioFormat | ( | XV_HdmiTx1 * | InstancePtr | ) |
This function gets the active audio format.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
References XV_HDMITX1_AUD_CTRL_3DAUDFMT_MASK, XV_HDMITX1_AUD_CTRL_AUDFMT_MASK, XV_HDMITX1_AUD_CTRL_AUDFMT_SHIFT, XV_HDMITX1_AUD_CTRL_OFFSET, and XV_HdmiTx1_ReadReg.
| u32 XV_HdmiTx1_GetFrlTimer | ( | XV_HdmiTx1 * | InstancePtr | ) |
This function returns the remaining value of the timer of TX Core's FRL peripheral.
| InstancePtr | is a pointer to the XHdmi_Tx core instance. |
References XV_HDMITX1_FRL_TMR_OFFSET, and XV_HdmiTx1_ReadReg.
Referenced by XV_HdmiTx1_DdcRead(), and XV_HdmiTx1_DdcWrite().
| u8* XV_HdmiTx1_GetScdcEdRegisters | ( | XV_HdmiTx1 * | InstancePtr | ) |
This function reads the CED and RSED registers from the sink and returns the pointer to the data structure which stores the CED related readings (from SCDC register 0x50 to 0x5A).
| InstancePtr | is a pointer to the XHdmi_Tx core instance. |
References XV_HdmiTx1_Stream::ScdcEd, XV_HdmiTx1::Stream, and XV_HdmiTx1_DdcReadReg().
| u64 XV_HdmiTx1_GetTmdsClk | ( | XV_HdmiTx1 * | InstancePtr | ) |
This function sets and return the TMDS Clock based on Video Parameter from the InstancePtr.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
References XV_HdmiTx1_Stream::PixelClk, XV_HdmiTx1::Stream, and XV_HdmiTx1_Stream::Video.
Referenced by XV_HdmiTx1_SetStream().
| void XV_HdmiTx1_Info | ( | XV_HdmiTx1 * | InstancePtr | ) |
This function prints stream and timing information on STDIO/Uart console.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
References XV_HdmiTx1::Stream, and XV_HdmiTx1_Stream::Video.
| void XV_HdmiTx1_INT_LRST | ( | XV_HdmiTx1 * | InstancePtr, |
| u8 | Reset | ||
| ) |
This function asserts or releases the HDMI TX Internal LRST.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
| Reset | specifies TRUE/FALSE value to either assert or release HDMI TX Internal LRST. |
References XV_HDMITX1_PIO_OUT_CLR_OFFSET, XV_HDMITX1_PIO_OUT_INT_LRST_MASK, XV_HDMITX1_PIO_OUT_SET_OFFSET, and XV_HdmiTx1_WriteReg.
| void XV_HdmiTx1_INT_VRST | ( | XV_HdmiTx1 * | InstancePtr, |
| u8 | Reset | ||
| ) |
This function asserts or releases the HDMI TX Internal VRST.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
| Reset | specifies TRUE/FALSE value to either assert or release HDMI TX Internal VRST. |
References XV_HDMITX1_PIO_OUT_CLR_OFFSET, XV_HDMITX1_PIO_OUT_INT_VRST_MASK, XV_HDMITX1_PIO_OUT_SET_OFFSET, and XV_HdmiTx1_WriteReg.
| void XV_HdmiTx1_IntrHandler | ( | void * | InstancePtr | ) |
This function is the interrupt handler for the HDMI TX driver.
This handler reads the pending interrupt from PIO and DDC peripheral, determines the source of the interrupts, clears the interrupts and calls callbacks accordingly.
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 XV_HdmiTx1_SetCallback() during initialization phase. An example delivered with this driver demonstrates how this could be done.
| InstancePtr | is a pointer to the XV_HdmiTx1 instance that just interrupted. |
References XV_HdmiTx1_Config::BaseAddress, XV_HdmiTx1::Config, XV_HdmiTx1::IsReady, XV_HDMITX1_AUX_STA_IRQ_MASK, XV_HDMITX1_AUX_STA_OFFSET, XV_HDMITX1_DDC_STA_IRQ_MASK, XV_HDMITX1_DDC_STA_OFFSET, XV_HDMITX1_FRL_STA_IRQ_MASK, XV_HDMITX1_FRL_STA_OFFSET, XV_HDMITX1_PIO_STA_IRQ_MASK, XV_HDMITX1_PIO_STA_OFFSET, and XV_HdmiTx1_ReadReg.
| int XV_HdmiTx1_IsStreamConnected | ( | XV_HdmiTx1 * | InstancePtr | ) |
This function provides the stream connected status.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
References XV_HdmiTx1_Stream::IsConnected, and XV_HdmiTx1::Stream.
| int XV_HdmiTx1_IsStreamScrambled | ( | XV_HdmiTx1 * | InstancePtr | ) |
This function provides status of the stream.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
References XV_HdmiTx1_Stream::IsScrambled, and XV_HdmiTx1::Stream.
| XV_HdmiTx1_Config* XV_HdmiTx1_LookupConfig | ( | u16 | DeviceId | ) |
This function returns a reference to an XV_HdmiTx1_Config structure based on the core id, DeviceId.
The return value will refer to an entry in the device configuration table defined in the xv_hdmitx1_g.c file.
| DeviceId | is the unique core ID of the HDMI TX core for the lookup operation. |
| u8 XV_HdmiTx1_LookupVic | ( | XVidC_VideoMode | VideoMode | ) |
This function provides video identification code of video mode.
| VideoMode | specifies resolution identifier. |
| void XV_HdmiTx1_RegisterDebug | ( | XV_HdmiTx1 * | InstancePtr | ) |
This function prints out HDMI TX register.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
References XV_HdmiTx1_Config::BaseAddress, XV_HdmiTx1::Config, XV_HDMITX1_FRL_FEC_ERR_INJ_OFFSET, and XV_HdmiTx1_ReadReg.
| int XV_HdmiTx1_Scrambler | ( | XV_HdmiTx1 * | InstancePtr | ) |
This function controls the scrambler.
Requires TMDSClock to be up to date in order to force enable scrambler when TMDSClock > 340MHz.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
References XV_HdmiTx1_Stream::IsScrambled, XV_HdmiTx1_Stream::OverrideScrambler, XV_HdmiTx1_Stream::ScdcSupport, XV_HdmiTx1::Stream, XV_HdmiTx1_Stream::TMDSClock, XV_HdmiTx1_DdcRead(), XV_HdmiTx1_DdcWrite(), and XV_HdmiTx1_SetScrambler.
Referenced by XV_HdmiTx1_SetStream().
| int XV_HdmiTx1_SelfTest | ( | XV_HdmiTx1 * | InstancePtr | ) |
This function reads ID of HDMI TX PIO peripheral.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
References XV_HdmiTx1_Config::BaseAddress, XV_HdmiTx1::Config, XV_HDMITX1_MASK_16, XV_HDMITX1_PIO_ID, XV_HDMITX1_PIO_ID_OFFSET, XV_HdmiTx1_ReadReg, and XV_HDMITX1_SHIFT_16.
| int XV_HdmiTx1_SetAudioChannels | ( | XV_HdmiTx1 * | InstancePtr, |
| u8 | Value | ||
| ) |
This function sets the active audio channels.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
References XV_HDMITX1_3DAUD_CTRL_CH_MASK, XV_HDMITX1_3DAUD_CTRL_CH_SHIFT, XV_HDMITX1_AUD_CTRL_CH_MASK, XV_HDMITX1_AUD_CTRL_CH_SHIFT, XV_HDMITX1_AUD_CTRL_CLR_OFFSET, XV_HDMITX1_AUD_CTRL_OFFSET, XV_HDMITX1_AUD_CTRL_RUN_MASK, XV_HDMITX1_AUD_CTRL_SET_OFFSET, XV_HdmiTx1_AudioEnable(), XV_HdmiTx1_ReadReg, and XV_HdmiTx1_WriteReg.
| int XV_HdmiTx1_SetAudioFormat | ( | XV_HdmiTx1 * | InstancePtr, |
| XV_HdmiTx1_AudioFormatType | Value | ||
| ) |
This function sets the active audio format.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
References XV_HDMITX1_AUD_CTRL_3DAUDFMT_EN, XV_HDMITX1_AUD_CTRL_3DAUDFMT_MASK, XV_HDMITX1_AUD_CTRL_AUDFMT_MASK, XV_HDMITX1_AUD_CTRL_CLR_OFFSET, XV_HDMITX1_AUD_CTRL_OFFSET, XV_HDMITX1_AUD_CTRL_RUN_MASK, XV_HDMITX1_AUD_CTRL_SET_OFFSET, XV_HdmiTx1_AudioEnable(), XV_HdmiTx1_ReadReg, and XV_HdmiTx1_WriteReg.
| void XV_HdmiTx1_SetAxiClkFreq | ( | XV_HdmiTx1 * | InstancePtr, |
| u32 | ClkFreq | ||
| ) |
This function sets the AXI4-Lite Clock Frequency.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
| ClkFreq | specifies the value that needs to be set. |
References XV_HdmiTx1::Config, XV_HdmiTx1::CpuClkFreq, and XV_HdmiTx1_DdcInit().
| int XV_HdmiTx1_SetCallback | ( | XV_HdmiTx1 * | InstancePtr, |
| XV_HdmiTx1_HandlerType | HandlerType, | ||
| void * | CallbackFunc, | ||
| void * | CallbackRef | ||
| ) |
This function installs an asynchronous callback function for the given HandlerType:
HandlerType Callback Function Type ----------------------- -------------------------------------------------- (XV_HDMITX1_HANDLER_HPD) HpdCallback (XV_HDMITX1_HANDLER_VS) VsCallback
| InstancePtr | is a pointer to the HDMI TX core instance. |
| HandlerType | specifies the type of handler. |
| 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. |
References XV_HdmiTx1::BrdgLockedCallback, XV_HdmiTx1::BrdgLockedRef, XV_HdmiTx1::BrdgOverflowCallback, XV_HdmiTx1::BrdgOverflowRef, XV_HdmiTx1::BrdgUnderflowCallback, XV_HdmiTx1::BrdgUnderflowRef, XV_HdmiTx1::BrdgUnlockedCallback, XV_HdmiTx1::BrdgUnlockedRef, XV_HdmiTx1::CedUpdateCallback, XV_HdmiTx1::CedUpdateRef, XV_HdmiTx1::ConnectCallback, XV_HdmiTx1::ConnectRef, XV_HdmiTx1::DscDecodeFailCallback, XV_HdmiTx1::DscDecodeFailRef, XV_HdmiTx1::DynHdrMtwCallback, XV_HdmiTx1::DynHdrMtwRef, XV_HdmiTx1::FrlConfigCallback, XV_HdmiTx1::FrlConfigRef, XV_HdmiTx1::FrlFfeCallback, XV_HdmiTx1::FrlFfeRef, XV_HdmiTx1::FrlLts1Callback, XV_HdmiTx1::FrlLts1Ref, XV_HdmiTx1::FrlLts2Callback, XV_HdmiTx1::FrlLts2Ref, XV_HdmiTx1::FrlLts3Callback, XV_HdmiTx1::FrlLts3Ref, XV_HdmiTx1::FrlLts4Callback, XV_HdmiTx1::FrlLts4Ref, XV_HdmiTx1::FrlLtsLCallback, XV_HdmiTx1::FrlLtsLRef, XV_HdmiTx1::FrlLtsPCallback, XV_HdmiTx1::FrlLtsPRef, XV_HdmiTx1::FrlStartCallback, XV_HdmiTx1::FrlStartRef, XV_HdmiTx1::FrlStopCallback, XV_HdmiTx1::FrlStopRef, XV_HdmiTx1::StreamDownCallback, XV_HdmiTx1::StreamDownRef, XV_HdmiTx1::StreamUpCallback, XV_HdmiTx1::StreamUpRef, XV_HdmiTx1::TmdsConfigCallback, XV_HdmiTx1::TmdsConfigRef, XV_HdmiTx1::ToggleCallback, XV_HdmiTx1::ToggleRef, XV_HdmiTx1::VsCallback, and XV_HdmiTx1::VsRef.
| void XV_HdmiTx1_SetColorDepth | ( | XV_HdmiTx1 * | InstancePtr | ) |
This function sets the color depth.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
References XV_HdmiTx1_Config::BaseAddress, XV_HdmiTx1::Config, XV_HdmiTx1::Stream, XV_HdmiTx1_Stream::Video, XV_HDMITX1_PIO_OUT_COLOR_DEPTH_MASK, XV_HDMITX1_PIO_OUT_COLOR_DEPTH_SHIFT, XV_HDMITX1_PIO_OUT_MSK_OFFSET, XV_HDMITX1_PIO_OUT_OFFSET, and XV_HdmiTx1_WriteReg.
Referenced by XV_HdmiTx1_SetStream().
| void XV_HdmiTx1_SetColorFormat | ( | XV_HdmiTx1 * | InstancePtr | ) |
This function sets the color format.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
References XV_HdmiTx1_Config::BaseAddress, XV_HdmiTx1::Config, XV_HdmiTx1::Stream, XV_HdmiTx1_Stream::Video, XV_HDMITX1_PIO_OUT_COLOR_SPACE_MASK, XV_HDMITX1_PIO_OUT_COLOR_SPACE_SHIFT, XV_HDMITX1_PIO_OUT_MSK_OFFSET, XV_HDMITX1_PIO_OUT_OFFSET, and XV_HdmiTx1_WriteReg.
Referenced by XV_HdmiTx1_SetStream().
| void XV_HdmiTx1_SetDviMode | ( | XV_HdmiTx1 * | InstancePtr | ) |
This function sets the core into DVI mode.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
References XV_HdmiTx1::Stream, XV_HdmiTx1_AudioDisable, XV_HdmiTx1_AuxDisable, and XV_HdmiTx1_ClearMode.
| void XV_HdmiTx1_SetFrl10MicroSecondsTimer | ( | XV_HdmiTx1 * | InstancePtr | ) |
This function sets the timer of TX Core's FRL peripheral for 10 Microseconds.
| InstancePtr | is a pointer to the XHdmi_Tx core instance. |
| None. |
References XV_HdmiTx1::Config, XV_HDMITX1_FRL_TMR_OFFSET, and XV_HdmiTx1_WriteReg.
Referenced by XV_HdmiTx1_StartTmdsMode().
| void XV_HdmiTx1_SetFrlActive | ( | XV_HdmiTx1 * | InstancePtr, |
| XV_HdmiTx1_FrlActiveMode | Mode | ||
| ) |
This function sets active FRL mode.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
| Mode | specifies the active FRL mode.
|
References XV_HDMITX1_FRL_ACT_MASK, XV_HDMITX1_FRL_CTRL_CLR_OFFSET, XV_HDMITX1_FRL_CTRL_SET_OFFSET, and XV_HdmiTx1_WriteReg.
Referenced by XV_HdmiTx1_FrlStreamStart(), and XV_HdmiTx1_FrlTrainingInit().
| void XV_HdmiTx1_SetFrlLanes | ( | XV_HdmiTx1 * | InstancePtr, |
| u8 | Lanes | ||
| ) |
This function sets the number of FRL lane in operations.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
| Lanes | specifies the number of FRL lanes in operation.
|
References XV_HDMITX1_FRL_CTRL_CLR_OFFSET, XV_HDMITX1_FRL_CTRL_LN_OP_MASK, XV_HDMITX1_FRL_CTRL_SET_OFFSET, and XV_HdmiTx1_WriteReg.
Referenced by XV_HdmiTx1_FrlRate().
| void XV_HdmiTx1_SetFrlLtp | ( | XV_HdmiTx1 * | InstancePtr, |
| u8 | Lane, | ||
| XV_HdmiTx1_FrlLtpType | Ltp | ||
| ) |
This function sets the link training pattern for the selected lane.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
| Lane | specifies the lane of which the Link Training Pattern will be set. |
| Ltp | specifies Link Training Pattern
|
References XV_HDMITX1_FRL_CTRL_OFFSET, XV_HDMITX1_FRL_LTP0_REQ_MASK, XV_HDMITX1_FRL_LTP0_REQ_SHIFT, XV_HDMITX1_FRL_LTP1_REQ_SHIFT, XV_HDMITX1_FRL_LTP2_REQ_SHIFT, XV_HDMITX1_FRL_LTP3_REQ_SHIFT, XV_HdmiTx1_ReadReg, and XV_HdmiTx1_WriteReg.
| void XV_HdmiTx1_SetFrlMaxFrlRate | ( | XV_HdmiTx1 * | InstancePtr, |
| XHdmiC_MaxFrlRate | MaxFrlRate | ||
| ) |
This function sets maximum FRL Rate supported by the system.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
| MaxFrlRate | specifies maximum rates supported
|
References XV_HdmiTx1::Config, XV_HdmiTx1_Stream::Frl, XV_HdmiTx1_Frl::MaxFrlRate, XV_HdmiTx1_Config::MaxFrlRate, and XV_HdmiTx1::Stream.
| void XV_HdmiTx1_SetFrlTimer | ( | XV_HdmiTx1 * | InstancePtr, |
| u32 | Milliseconds | ||
| ) |
This function sets the timer of TX Core's FRL peripheral.
| InstancePtr | is a pointer to the XHdmi_Tx core instance. |
| Value | specifies the timer's frequency (in milliseconds) |
References XV_HdmiTx1::Config, XV_HDMITX1_FRL_TMR_OFFSET, and XV_HdmiTx1_WriteReg.
| void XV_HdmiTx1_SetFrlTimerClockCycles | ( | XV_HdmiTx1 * | InstancePtr, |
| u32 | ClockCycles | ||
| ) |
This function sets the timer of TX Core's FRL peripheral in clock cycles.
| InstancePtr | is a pointer to the XHdmi_Tx core instance. |
| ClockCycles | specifies the timer's frequency (in clock cycles) |
References XV_HDMITX1_FRL_TMR_OFFSET, and XV_HdmiTx1_WriteReg.
Referenced by XV_HdmiTx1_DdcRead(), and XV_HdmiTx1_DdcWrite().
| void XV_HdmiTx1_SetFrlWrongLtp | ( | XV_HdmiTx1 * | InstancePtr | ) |
This function sets the core to send out wrong LTP on one of the channel to prevent link training from passing.
| InstancePtr | is a pointer to the XHdmi_Tx core instance. |
References XV_HdmiTx1_Stream::Frl, and XV_HdmiTx1::Stream.
| void XV_HdmiTx1_SetGcpAvmuteBit | ( | XV_HdmiTx1 * | InstancePtr | ) |
This function sets the HDMI TX AUX GCP register AVMUTE bit.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
References XV_HDMITX1_PIO_OUT_GCP_AVMUTE_MASK, XV_HDMITX1_PIO_OUT_SET_OFFSET, and XV_HdmiTx1_WriteReg.
| void XV_HdmiTx1_SetGcpClearAvmuteBit | ( | XV_HdmiTx1 * | InstancePtr | ) |
This function sets the HDMI TX AUX GCP register CLEAR_AVMUTE bit.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
References XV_HDMITX1_PIO_OUT_GCP_CLEARAVMUTE_MASK, XV_HDMITX1_PIO_OUT_SET_OFFSET, and XV_HdmiTx1_WriteReg.
| void XV_HdmiTx1_SetHdmiFrlMode | ( | XV_HdmiTx1 * | InstancePtr | ) |
This function sets the core into HDMI FRL mode.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
References XV_HdmiTx1::Stream, XV_HdmiTx1_AudioEnable(), XV_HdmiTx1_AuxEnable(), and XV_HdmiTx1_SetMode.
| void XV_HdmiTx1_SetHdmiTmdsMode | ( | XV_HdmiTx1 * | InstancePtr | ) |
This function sets the core into HDMI TMDS mode.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
References XV_HdmiTx1::Stream, XV_HdmiTx1_AudioEnable(), XV_HdmiTx1_AuxEnable(), and XV_HdmiTx1_SetMode.
Referenced by XV_HdmiTx1_CfgInitialize().
| void XV_HdmiTx1_SetPixelRate | ( | XV_HdmiTx1 * | InstancePtr | ) |
This function sets the pixel rate at output.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
References XV_HdmiTx1_Config::BaseAddress, XV_HdmiTx1::Config, XV_HdmiTx1_Stream::CorePixPerClk, XV_HdmiTx1::Stream, XV_HDMITX1_PIO_OUT_MSK_OFFSET, XV_HDMITX1_PIO_OUT_OFFSET, XV_HDMITX1_PIO_OUT_PIXEL_RATE_MASK, XV_HDMITX1_PIO_OUT_PIXEL_RATE_SHIFT, and XV_HdmiTx1_WriteReg.
Referenced by XV_HdmiTx1_SetStream().
| void XV_HdmiTx1_SetSampleRate | ( | XV_HdmiTx1 * | InstancePtr, |
| u8 | SampleRate | ||
| ) |
This function sets the sample rate at output.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
| SampleRate | specifies the value that needs to be set.
|
References XV_HdmiTx1_Config::BaseAddress, XV_HdmiTx1::Config, XV_HdmiTx1_Stream::SampleRate, XV_HdmiTx1::Stream, XV_HDMITX1_PIO_OUT_MSK_OFFSET, XV_HDMITX1_PIO_OUT_OFFSET, XV_HDMITX1_PIO_OUT_SAMPLE_RATE_MASK, XV_HDMITX1_PIO_OUT_SAMPLE_RATE_SHIFT, and XV_HdmiTx1_WriteReg.
| u32 XV_HdmiTx1_SetStream | ( | XV_HdmiTx1 * | InstancePtr, |
| XVidC_VideoTiming | VideoTiming, | ||
| XVidC_FrameRate | FrameRate, | ||
| XVidC_ColorFormat | ColorFormat, | ||
| XVidC_ColorDepth | Bpc, | ||
| XVidC_PixelsPerClock | Ppc, | ||
| XVidC_3DInfo * | Info3D, | ||
| u8 | FVaFactor, | ||
| u8 | VrrEnabled, | ||
| u8 | CnmvrrEnabled, | ||
| u64 * | TmdsClock | ||
| ) |
This function sets the HDMI TX stream parameters.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
| VideoTiming | specifies video timing. |
| FrameRate | specifies frame rate. |
| ColorFormat | specifies the type of color format.
|
| Bpc | specifies the color depth/bits per color component.
|
| Ppc | specifies the pixel per clock.
|
| Info3D | 3D info |
| FVaFactor | - Fast Video Active Factor |
| VrrEnabled | - VRR is enabled or not |
| CnmvrrEnabled | - Negative VRR supported flag |
| TmdsClock,reference | clock calculated based on the input parameters. |
In HDMI the colordepth in YUV422 is always 12 bits, although on the link itself it is being transmitted as 8-bits. Therefore if the colorspace is YUV422, then force the colordepth to 12 bits.
References XV_HdmiTx1_Stream::IsScrambled, XV_HdmiTx1_Stream::ScdcSupport, XV_HdmiTx1::Stream, XV_HdmiTx1_Stream::TMDSClock, XV_HdmiTx1_Stream::TMDSClockRatio, XV_HdmiTx1_Stream::Video, XV_HdmiTx1_ClockRatio(), XV_HdmiTx1_GetTmdsClk(), XV_HdmiTx1_Scrambler(), XV_HdmiTx1_SetColorDepth(), XV_HdmiTx1_SetColorFormat(), and XV_HdmiTx1_SetPixelRate().
| void XV_HdmiTx1_ShowSCDC | ( | XV_HdmiTx1 * | InstancePtr | ) |
This function shows the sinks SCDC registers.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
References XV_HdmiTx1_DdcRead(), and XV_HdmiTx1_DdcWrite().
| void XV_HdmiTx1_Start | ( | XV_HdmiTx1 * | InstancePtr | ) |
This function starts the HDMI TX core.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
References XV_HdmiTx1_PioEnable, and XV_HdmiTx1_PioIntrEnable.
| int XV_HdmiTx1_StartFrlTraining | ( | XV_HdmiTx1 * | InstancePtr, |
| XHdmiC_MaxFrlRate | FrlRate | ||
| ) |
This function starts the Fixed Rate Link Training.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
| FrlRate | specifies the FRL rate to be attempted
|
References XV_HdmiTx1_Stream::Frl, XV_HdmiTx1_Frl::FrlRate, XV_HdmiTx1_Frl::Lanes, XV_HdmiTx1_Frl::LineRate, XV_HdmiTx1_Frl::MaxFrlRate, XV_HdmiTx1::Stream, XV_HdmiTx1_Frl::TrainingState, and XV_HdmiTx1_ExecFrlState().
| int XV_HdmiTx1_StartTmdsMode | ( | XV_HdmiTx1 * | InstancePtr | ) |
This function starts the TMDS mode.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
References XV_HdmiTx1_Stream::Frl, XV_HdmiTx1::Stream, XV_HdmiTx1_Frl::TrainingState, and XV_HdmiTx1_SetFrl10MicroSecondsTimer().
| void XV_HdmiTx1_Stop | ( | XV_HdmiTx1 * | InstancePtr | ) |
This function stops the HDMI TX core.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
References XV_HdmiTx1_PioDisable, and XV_HdmiTx1_PioIntrDisable.
| void XV_HdmiTx1_TMDSACRStart | ( | XV_HdmiTx1 * | InstancePtr | ) |
This function Starts the internal ACR module for FRL.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
References XV_HdmiTx1_Stream::Audio, XV_HdmiTx1::Stream, XV_HdmiTx1_Stream::TMDSClock, XV_HDMITX1_AUD_ACR_N_OFFSET, XV_HDMITX1_AUD_CTRL_CLR_OFFSET, XV_HDMITX1_AUD_CTRL_SET_OFFSET, and XV_HdmiTx1_WriteReg.
Referenced by XV_HdmiTx1_AudioEnable().
| u32 XV_HdmiTxSs1_GetAudioCtsVal | ( | XV_HdmiTx1 * | InstancePtr | ) |
This function gets the Generated ACR CTS Value.
| InstancePtr | is a pointer to the XV_HdmiTxSs1 core instance. |
References XV_HDMITX1_AUD_ACR_CTS_OFFSET, and XV_HdmiTx1_ReadReg.
| u32 XV_HdmiTxSs1_GetAudioNVal | ( | XV_HdmiTx1 * | InstancePtr | ) |
This function gets the programmed ACR N Value.
| InstancePtr | is a pointer to the XV_HdmiTxSs1 core instance. |
References XV_HDMITX1_AUD_ACR_N_OFFSET, and XV_HdmiTx1_ReadReg.