![]() |
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_Frl |
| This typedef contains audio stream specific data structure. More... | |
Macros | |
| #define | XV_HDMITX1_FRL_H_ |
| Prevent circular inclusions by using protection macros. More... | |
Enumerations | |
HDMI TX FRL training state | |
| enum | XV_HdmiTx1_FrlTrainingState |
HDMI TX LTP Type | |
| enum | XV_HdmiTx1_FrlLtpType |
HDMI TX FRL Active Mode | |
| #define | XV_HdmiTx1_FrlIntrEnable(InstancePtr) |
| This macro enables interrupt in the HDMI TX FRL peripheral. More... | |
| #define | XV_HdmiTx1_FrlIntrDisable(InstancePtr) |
| This macro disables interrupt in the HDMI TX FRL peripheral. More... | |
| #define | XV_HdmiTx1_FrlRcEnable(InstancePtr) |
| This macro enables repeat count in the packetizer (with RC compress) in the HDMI TX FRL peripheral. More... | |
| #define | XV_HdmiTx1_FrlRcDisable(InstancePtr) |
| This macro disables repeat count in the packetizer (with RC compress) in the HDMI TX FRL peripheral. More... | |
| #define | XV_HdmiTx1_SetFrlLinkClock(InstancePtr, Value) |
| This macro sets the link clock of TX Core's FRL peripheral. More... | |
| #define | XV_HdmiTx1_SetFrlVidClock(InstancePtr, Value) |
| This macro sets the video clock of TX Core's FRL peripheral. More... | |
| #define | XV_HdmiTx1_FrlRateLockEnable(InstancePtr) (InstancePtr)->Stream.Frl.RateLock = TRUE |
| This macro enables FRL Rate Lock. More... | |
| #define | XV_HdmiTx1_FrlRateLockDisable(InstancePtr) (InstancePtr)->Stream.Frl.RateLock = FALSE |
| This macro disables FRL Rate Lock. More... | |
| enum | XV_HdmiTx1_FrlActiveMode |
| #define XV_HDMITX1_FRL_H_ |
Prevent circular inclusions by using protection macros.
| #define XV_HdmiTx1_FrlIntrDisable | ( | InstancePtr | ) |
This macro disables interrupt in the HDMI TX FRL peripheral.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
Referenced by XV_HdmiTx1_CfgInitialize().
| #define XV_HdmiTx1_FrlIntrEnable | ( | InstancePtr | ) |
This macro enables interrupt in the HDMI TX FRL peripheral.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
Referenced by XV_HdmiTx1_CfgInitialize().
| #define XV_HdmiTx1_FrlRateLockDisable | ( | InstancePtr | ) | (InstancePtr)->Stream.Frl.RateLock = FALSE |
This macro disables FRL Rate Lock.
With FRL Rate Lock disabled, TX core will behave according to the HDMI spec and will drop FRL Rate when the sink requests to drop FRL rate.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
| #define XV_HdmiTx1_FrlRateLockEnable | ( | InstancePtr | ) | (InstancePtr)->Stream.Frl.RateLock = TRUE |
This macro enables FRL Rate Lock.
With FRL Rate Lock enabled, TX core will not change to any other FRL Rate even when it is requested by the sink to drop FRL rate.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
| #define XV_HdmiTx1_FrlRcDisable | ( | InstancePtr | ) |
This macro disables repeat count in the packetizer (with RC compress) in the HDMI TX FRL peripheral.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
| #define XV_HdmiTx1_FrlRcEnable | ( | InstancePtr | ) |
This macro enables repeat count in the packetizer (with RC compress) in the HDMI TX FRL peripheral.
| InstancePtr | is a pointer to the XV_HdmiTx1 core instance. |
| #define XV_HdmiTx1_SetFrlLinkClock | ( | InstancePtr, | |
| Value | |||
| ) |
This macro sets the link clock of TX Core's FRL peripheral.
| InstancePtr | is a pointer to the XHdmi_Tx core instance. |
| Value | specifies the Link Clock |
| #define XV_HdmiTx1_SetFrlVidClock | ( | InstancePtr, | |
| Value | |||
| ) |
This macro sets the video clock of TX Core's FRL peripheral.
| InstancePtr | is a pointer to the XHdmi_Tx core instance. |
| Value | specifies the Video Clock |