Because the HDMI PHY Controller/HDMI GT Subsystem and HDMI 2.1 TX Subsystem are tightly coupled, an interrupt controlling layer is introduced in the HDMI 2.1 Example Application to make integration easier.
The following figure shows the HDMI 2.1 Example Application architecture, which is a layered architecture implemented using the HDMI 2.1 subsystem APIs and interrupt callbacks.
Figure 1. HDMI 2.1 Example Application Architecture
The example application is implemented in two layers:
- HDMI 2.1 TX Subsystem interrupt(s) controlling layer: The interrupt callbacks from the HDMI 2.1 TX subsystem driver are handled and controlled in a state-machine based. This interrupt controlling layer also controls the enabling and disabling of the HDMI PHY/HDMI GT Subsystem and HDCP.
- Example Application: The Example Application is the top layer which is built on
top of the state-machine based HDMI 2.1 Interrupt controlling
layer. The Example Application handles all system level control, such as:
- Initialize the HDMI 2.1 TX Subsystem and HDMI PHY/HDMI GT Subsystem (use device IDs to do the binding)
- Configure on-board oscillator
- Configure on-board I2C mux
- Configure cable drivers
- Load HDCP keys from EEPROM
- Process "SystemEvent" from the interrupt controlling layer.