Because the HDMI 2.1 RX Subsystem is closely coupled with the HDMI PHY Controller /HDMI GT Subsystem, the following example code demonstrates how a HDMI PHY Controller /HDMI GT Subsystem can be used in your application.
Figure 1. Application Example Code
To integrate and use the HDMI PHY Controller /HDMI GT Subsystem for the HDMI 2.1 RX Subsystem in the application code, the following steps must be followed:
- Include the subsystem header file xhdmiphy1.h that defines the subsystem object.
- Declare and allocate space for a HDMI PHY Controller /HDMI GT Subsystem instance in your application code.
- In the HDMI PHY Controller
/HDMI GT Subsystem
instance, there is a metadata structure to store the subsystem hardware
configuration. Declare a pointer variable in the application code to point to the
instance:
XHdmiphy1_Config *XHdmiphy1CfgPtr;
- For each
HDMI PHY Controller
/HDMI GT Subsystem
instance, the above data structure needs to be initialized based on its hardware
configuration, which is passed through meta-structure from xparameters.h uniquely identified by the device ID.
To initialize the HDMI PHY Controller/HDMI GT Subsystem, call the following two API functions:
XHdmiphy1_Config *XHdmiphy1_LookupConfig(u16 DeviceId); u32 XHdmiphy1_Hdmi_CfgInitialize(XHdmiphy1 *InstancePtr, u8 QuadId, XHdmiphy1_Config *CfgPtr);
The Device ID can be found in xparameters.h:
XPAR_[HDMI PHY Controller Instance Name in IPI]_DEVICE_ID
Note:
- AMD recommends initializing the PHY controller after the HDMI 2.1 RX Subsystem initialization is completed.
- Registering the PHY Controller interrupts are part of system application integration. Steps are shown in the previous section and not repeated here.