SPRUJ28E November 2021 – September 2024 AM68 , AM68A , TDA4AL-Q1 , TDA4VE-Q1 , TDA4VL-Q1
The DISPC supports twelve interrupt output lines. The DISPC interrupt events are classified into functional, internal diagnostic error, and secure interrupt sub-categories, and then mapped to the respective sub-category interrupt line. Multiple sets of IRQ aggregation registers and IRQ generators enable fully independent monitoring and control of the interrupt events by up to 4 processor hosts at SoC level, as shown in Figure 1-1. For more details on the mapping of the interrupt lines to SoC-level resources, see DISPC Integration.
Each of the interrupt signals indicates that one or more interrupt events are detected by the hardware. Each event is independently maskable for each interrupt output.
There are two level of interrupt events, as shown in Figure 12-312. The first level is used to indicate common events and is also source for the second level of interrupts. The second level of interrupt events consists of status and enable interrupt registers for each video pipeline and each video port.
Table 12-330 describes the first level of interrupt events with associated mask and status register fields. Each interrupt event is captured in an interrupt status register. Equivalent DSS0_COMMON_DISPC_IRQSTATUS_RAW register exist, which is updated even if interrupts are not enabled. This allows software to get access to updated status for all interrupt events.
Interrupt Name | Set Interrupt Enable Register DSS0_COMMON_DISPC_IRQENABLE_SET | Clear Interrupt Enable Register DSS0_COMMON_DISPC_IRQENABLE_CLR | Interrupt Status Register DSS0_COMMON_DISPC_IRQSTATUS | Description |
---|---|---|---|---|
VID1_IRQ | [4] SET_VID_IRQ | [4] CLR_VID_IRQ | [4] VID_IRQ | At least one event of the VID1 pipeline interrupt events has occurred. See Table 12-331 for more details. |
VIDL1_IRQ | [5] SET_VID_IRQ | [5] CLR_VID_IRQ | [5] VID_IRQ | At least one event of the VIDL1 pipeline interrupt events has occurred. See Table 12-332 for more details. |
VID2_IRQ | [6] SET_VID_IRQ | [6] CLR_VID_IRQ | [6] VID_IRQ | At least one event of the VID2 pipeline interrupt events has occurred. |
VIDL2_IRQ | [7] SET_VID_IRQ | [7] CLR_VID_IRQ | [7] VID_IRQ | At least one event of the VID2L pipeline interrupt events has occurred. |
VP1_IRQ | [0] SET_VP_IRQ | [0] CLR_VP_IRQ | [0] VP_IRQ | At least one event of the VP1 interrupt events has occurred. See Table 12-334 for more details. |
VP2_IRQ | [1] SET_VP_IRQ | [1] CLR_VP_IRQ | [1] VP_IRQ | At least one event of the VP2 interrupt events has occurred. See Table 12-335 for more details. |
VP3_IRQ | [2] SET_VP_IRQ | [2] CLR_VP_IRQ | [2] VP_IRQ | At least one event of the VP3 interrupt events has occurred. |
VP4_IRQ | [3] SET_VP_IRQ | [3] CLR_VP_IRQ | [3] VP_IRQ | At least one event of the VP4 interrupt events has occurred. |
WB_IRQ | [14] SET_WB_IRQ | [14] CLR_WB_IRQ | [14] WB_IRQ | At least one event of the WB pipeline interrupt events has occurred. |
Table 12-331 describes the second level of interrupts for VID1 and VID2 pipelines with associated mask and status register bits.
Interrupt Name | VID1 Interrupt Mask DSS0_COMMON_VID_IRQENABLE_0 | VID1 Interrupt Status DSS0_COMMON_VID_IRQSTATUS_0 | VID2 Interrupt Mask DSS0_COMMON_VID_IRQENABLE_2 | VID2 Interrupt Status DSS0_COMMON_VID_IRQSTATUS_2 | Description |
---|---|---|---|---|---|
VIDBUFFERUNDERFLOW_IRQ | [0] VIDBUFFERUNDERFLOW_EN | [0] VIDBUFFERUNDERFLOW_IRQ | [0] VIDBUFFERUNDERFLOW_EN | [0] VIDBUFFERUNDERFLOW_IRQ | Video DMA buffer underflow (FUNC_IRQ): The input video DMA buffer goes underflow. This does not necessary means that the buffer is empty (out of order refill), but simply that the required pixel is not in yet. |
VIDENDWINDOW_IRQ | [1] VIDENDWINDOW_EN | [1] VIDENDWINDOW_IRQ | [1] VIDENDWINDOW_EN | [1] VIDENDWINDOW_IRQ | End of the video window (FUNC_IRQ): The DMA engine has fetched all the data from memory for the video for the current frame. |
VIDSAFETYREGION_IRQ | [2] SAFETYREGION_EN | [2] SAFETYREGION_IRQ | [2] SAFETYREGION_EN | [2] SAFETYREGION_IRQ | Video output MISR signature mismatch OR Video output freeze frame detect (SAFETY_ERROR_IRQ). The MISR signature generated does not match the expected signature OR the Video output frame freeze detection has triggered. |
FBDC_CORRUPTTILE_IRQ | [3] FBDC_CORRUPTTILE_EN | [3] FBDC_CORRUPTTILE_IRQ | [3] FBDC_CORRUPTTILE_EN | [3] FBDC_CORRUPTTILE_IRQ | Corrupt tile is detected (FUNC_IRQ). |
FBDC_ILLEGALTILEREQ_IRQ | [4] FBDC_ILLEGALTILEREQ_EN | [4] FBDC_ILLEGALTILEREQ_IRQ | [4] FBDC_ILLEGALTILEREQ_EN | [4] FBDC_ILLEGALTILEREQ_IRQ | Illegal tile request is detected (FUNC_IRQ). |
Table 12-332 describes the second level of interrupts for VIDL1 and VIDL2 pipelines with associated mask and status register bits.
Interrupt Name | VIDL1 Interrupt Mask DSS0_COMMON_VID_IRQENABLE_1 | VIDL1 Interrupt Status DSS0_COMMON_VID_IRQSTATUS_1 | VIDL2 Interrupt Mask DSS0_COMMON_VID_IRQENABLE_3 | VIDL2 Interrupt Status DSS0_COMMON_VID_IRQSTATUS_3 | Description |
---|---|---|---|---|---|
VIDBUFFERUNDERFLOW_IRQ | [0] VIDBUFFERUNDERFLOW_EN | [0] VIDBUFFERUNDERFLOW_IRQ | [0] VIDBUFFERUNDERFLOW_EN | [0] VIDBUFFERUNDERFLOW_IRQ | Video DMA buffer underflow (FUNC_IRQ): The input video DMA buffer goes underflow. This does not necessary means that the buffer is empty (out of order refill), but simply that the required pixel is not in yet. |
VIDENDWINDOW_IRQ | [1] VIDENDWINDOW_EN | [1] VIDENDWINDOW_IRQ | [1] VIDENDWINDOW_EN | [1] VIDENDWINDOW_IRQ | End of the video window (FUNC_IRQ): The DMA engine has fetched all the data from memory for the video for the current frame. |
VIDSAFETYREGION_IRQ | [2] SAFETYREGION_EN | [2] SAFETYREGION_IRQ | [2] SAFETYREGION_EN | [2] SAFETYREGION_IRQ | Video output MISR signature mismatch OR Video output freeze frame detect (SAFETY_ERROR_IRQ). The MISR signature generated does not match the expected signature OR the Video output frame freeze detection has triggered. |
FBDC_CORRUPTTILE_IRQ | [3] FBDC_CORRUPTTILE_EN | [3] FBDC_CORRUPTTILE_IRQ | [3] FBDC_CORRUPTTILE_EN | [3] FBDC_CORRUPTTILE_IRQ | Corrupt tile is detected (FUNC_IRQ). |
FBDC_ILLEGALTILEREQ_IRQ | [4] FBDC_ILLEGALTILEREQ_EN | [4] FBDC_ILLEGALTILEREQ_IRQ | [4] FBDC_ILLEGALTILEREQ_EN | [4] FBDC_ILLEGALTILEREQ_IRQ | Illegal tile request is detected (FUNC_IRQ). |
Table 12-333 describes the second level of interrupts for the WB pipeline with associated mask and status register bits.
Interrupt Name | WB Interrupt Mask DSS0_COMMON_WB_IRQENABLE | WB Interrupt Status DSS0_COMMON_WB_IRQSTATUS | Description |
---|---|---|---|
BUFFEROVERFLOW_IRQ | [0] WBBUFFEROVERFLOW_EN | [0] WBBUFFEROVERFLOW_IRQ | Write-back DMA buffer Overflow (FUNC_IRQ): The output Write-back DMA buffer goes overflow. It cannot occur when write-back channel is used in memory to memory transfer mode but only in capture mode. In capture mode the timings are defined by the timer associated with the output. In memory-to-memory mode, there is a timing constraint. |
UNCOMPLETEERROR_IRQ | [1] WBUNCOMPLETEERROR_EN | [1] WBUNCOMPLETEERROR_IRQ | Write-back un-complete error (FUNC_IRQ): The WB pipeline is reset before all data of the frame currently written back are output to the interconnect interface. |
FRAMEDONE_IRQ | [2] WBFRAMEDONE_EN | [2] WBFRAMEDONE_IRQ | Write-back Frame Done (FUNC_IRQ): The WB frame done in memory-to-memory mode of operation. |
SECURITYVIOLATION_IRQ | [3] SECURITYVIOLATION_EN | [3] SECURITYVIOLATION_IRQ | Security Violation for WB output (SECURE_IRQ): A security violation (for example, a secure VID pipeline connected to a non-secure WB channel) has occurred. |
SYNC_IRQ | [4] WBSYNC_EN | [4] WBSYNC_IRQ | Write-back sync (FUNC_IRQ): A configuration is copied from shadow registets to work for WB for next frame. |
Table 12-334 describes the second level of interrupts for VP1 and VP2 outputs with associated mask and status register bits.
Interrupt Name | VP1 Interrupt Mask DSS0_COMMON_VP_IRQENABLE_0 | VP1 Interrupt Status DSS0_COMMON_VP_IRQSTATUS_0 | VP2 Interrupt Mask DSS0_COMMON_VP_IRQENABLE_1 | VP2 Interrupt Status DSS0_COMMON_VP_IRQSTATUS_1 | Description |
---|---|---|---|---|---|
FRAMEDONE_IRQ | [0] VPFRAMEDONE_EN | [0] VPFRAMEDONE_IRQ | [0] VPFRAMEDONE_EN | [0] VPFRAMEDONE_IRQ | Frame done for VP output (FUNC_IRQ). After disabling the VP output of the DISPC, the interrupt is set when the active frame related to the VP has completed. |
VSYNC_IRQ | [1] VPVSYNC_EN | [1] VPVSYNC_IRQ | [1] VPVSYNC_EN | [1] VPVSYNC_IRQ | VSYNC for VP output (FUNC_IRQ): VSYNC interrupt for the VP has occurred at the end of the frame. |
VSYNC_ODD_IRQ | [2] VPVSYNC_ODD_EN | [2] VPVSYNC_ODD_IRQ | [2] VPVSYNC_ODD_EN | [2] VPVSYNC_ODD_IRQ | VSYNC for odd field (FUNC_IRQ). VSYNC_ODD interrupt has occurred at the end of the frame (EVSYNC received and the field polarity is odd). |
PROGRAMMEDLINENUMBER_IRQ | [3] VPPROGRAMMEDLINENUMBER_EN | [3] VPPROGRAMMEDLINENUMBER_IRQ | [3] VPPROGRAMMEDLINENUMBER_EN | [3] VPPROGRAMMEDLINENUMBER_IRQ | Programmed line number (FUNC_IRQ). The VP has reached the user-programmed line number. |
SYNCLOST_IRQ | [4] VPSYNCLOST_EN | [4] VPSYNCLOST_IRQ | [4] VPSYNCLOST_EN | [4] VPSYNCLOST_IRQ | Synchronization lost on VP output (FUNC_IRQ): Occurs when VSYNC width/front or back porches are not wide enough to load the pipeline with data (VP output). |
ACBIASCOUNTSTATUS_IRQ | [5] ACBIASCOUNTSTATUS_EN | [5] ACBIASCOUNTSTATUS_IRQ | [5] ACBIASCOUNTSTATUS_EN | [5] ACBIASCOUNTSTATUS_IRQ | ACBIASCOUNTSTATUS for VP output (FUNC_IRQ): AC BIAS transition counter has decremented to zero. Refer to the DSS0_VP_POL_FREQ[11-8] ACBI and [7-0] ACB register field descriptions. |
VPSAFETYREGION_IRQ | [9-6] SAFETYREGION_EN Bit [9] = Internal Diagnostic Region 3 Bit [8] = Internal Diagnostic Region 2 Bit [7] = Internal Diagnostic Region 1 Bit [6] = Internal Diagnostic Region 0 | [9-6] SAFETYREGION_IRQ Bit [9] = Internal Diagnostic Region 3 Bit [8] = Internal Diagnostic Region 2 Bit [7] = Internal Diagnostic Region 1 Bit [6] = Internal Diagnostic Region 0 | [9-6] SAFETYREGION_EN Bit [9] = Internal Diagnostic Region 3 Bit [8] = Internal Diagnostic Region 2 Bit [7] = Internal Diagnostic Region 1 Bit [6] = Internal Diagnostic Region 0 | [9-6] SAFETYREGION_IRQ Bit [9] = Internal Diagnostic Region 3 Bit [8] = Internal Diagnostic Region 2 Bit [7] = Internal Diagnostic Region 1 Bit [6] = Internal Diagnostic Region 0 | VP output MISR signature mismatch, or VP output freeze frame detect (SAFETY_ERROR_IRQ). The MISR signature generated does not match the expected signature, or the VP output frame freeze detection has triggered. |
SECURITYVIOLATION_IRQ | [10] SECURITYVIOLATION_EN | [10] SECURITYVIOLATION_IRQ | [10] SECURITYVIOLATION_EN | [10] SECURITYVIOLATION_IRQ | Security violation for VP output (SECURE_IRQ). A security violation (for example, a secure video pipeline connected to a non-secure VP/OVR) has occurred. |
VPSYNC_IRQ | [11] VPSYNC_EN | [11] VPSYNC_IRQ | [11] VPSYNC_EN | [11] VPSYNC_IRQ | Sync for VP output (FUNC_IRQ). Shadow to work copy of registers associated with VP1 has occurred. DSS0_VP_CONTROL[5] GOBIT register bit is cleared. This interrupt can trigger under the following cases:
|
VPSAFETYREGION1_IRQ | [16-13] SAFETYREGION1_EN Bit [16] = Internal Diagnostic Region 7 Bit [15] = Internal Diagnostic Region 6 Bit [14] = Internal Diagnostic Region 5 Bit [13] = Internal Diagnostic Region 4 | [16-13] SAFETYREGION1_IRQ Bit [16] = Internal Diagnostic Region 7 Bit [15] = Internal Diagnostic Region 6 Bit [14] = Internal Diagnostic Region 5 Bit [13] = Internal Diagnostic Region 4 | [16-13] SAFETYREGION1_EN Bit [16] = Internal Diagnostic Region 7 Bit [15] = Internal Diagnostic Region 6 Bit [14] = Internal Diagnostic Region 5 Bit [13] = Internal Diagnostic Region 4 | [16-13] SAFETYREGION1_IRQ Bit [16] = Internal Diagnostic Region 7 Bit [15] = Internal Diagnostic Region 6 Bit [14] = Internal Diagnostic Region 5 Bit [13] = Internal Diagnostic Region 4 | VP output MISR signature mismatch, or VP output freeze frame detect (SAFETY_ERROR_IRQ). The MISR signature generated does not match the expected signature, or the VP output frame freeze detection has triggered. |
Table 12-335 describes the second level of interrupts for VP3 and VP4 outputs with associated mask and status register bits.
Interrupt Name | VP3 Interrupt Mask DSS0_COMMON_VP_IRQENABLE_2 | VP3 Interrupt Status DSS0_COMMON_VP_IRQSTATUS_2 | VP4 Interrupt Mask DSS0_COMMON_VP_IRQENABLE_3 | VP4 Interrupt Status DSS0_COMMON_VP_IRQSTATUS_3 | Description |
---|---|---|---|---|---|
FRAMEDONE_IRQ | [0] VPFRAMEDONE_EN | [0] VPFRAMEDONE_IRQ | [0] VPFRAMEDONE_EN | [0] VPFRAMEDONE_IRQ | Frame done for VP output (FUNC_IRQ). After disabling the VP output of the DISPC, the interrupt is set when the active frame related to the VP has completed. |
VSYNC_IRQ | [1] VPVSYNC_EN | [1] VPVSYNC_IRQ | [1] VPVSYNC_EN | [1] VPVSYNC_IRQ | VSYNC for VP output (FUNC_IRQ): VSYNC interrupt for the VP has occurred at the end of the frame. |
VSYNC_ODD_IRQ | [2] VPVSYNC_ODD_EN | [2] VPVSYNC_ODD_IRQ | [2] VPVSYNC_ODD_EN | [2] VPVSYNC_ODD_IRQ | VSYNC for odd field (FUNC_IRQ). VSYNC_ODD interrupt has occurred at the end of the frame (EVSYNC received and the field polarity is odd). |
PROGRAMMEDLINENUMBER_IRQ | [3] VPPROGRAMMEDLINENUMBER_EN | [3] VPPROGRAMMEDLINENUMBER_IRQ | [3] VPPROGRAMMEDLINENUMBER_EN | [3] VPPROGRAMMEDLINENUMBER_IRQ | Programmed line number (FUNC_IRQ). The VP has reached the user-programmed line number. |
SYNCLOST_IRQ | [4] VPSYNCLOST_EN | [4] VPSYNCLOST_IRQ | [4] VPSYNCLOST_EN | [4] VPSYNCLOST_IRQ | Synchronization lost on VP output (FUNC_IRQ): Occurs when VSYNC width/front or back porches are not wide enough to load the pipeline with data (VP output). |
ACBIASCOUNTSTATUS_IRQ | [5] ACBIASCOUNTSTATUS_EN | [5] ACBIASCOUNTSTATUS_IRQ | [5] ACBIASCOUNTSTATUS_EN | [5] ACBIASCOUNTSTATUS_IRQ | ACBIASCOUNTSTATUS for VP output (FUNC_IRQ): AC BIAS transition counter has decremented to zero. Refer to the DSS0_VP_POL_FREQ[11-8] ACBI and [7-0] ACB register field descriptions. |
VPSAFETYREGION_IRQ | [9-6] SAFETYREGION_EN Bit [9] = Internal Diagnostic Region 3 Bit [8] = Internal Diagnostic Region 2 Bit [7] = Internal Diagnostic Region 1 Bit [6] = Internal Diagnostic Region 0 | [9-6] SAFETYREGION_IRQ Bit [9] = Internal Diagnostic Region 3 Bit [8] = Internal Diagnostic Region 2 Bit [7] = Internal Diagnostic Region 1 Bit [6] = Internal Diagnostic Region 0 | [9-6] SAFETYREGION_EN Bit [9] = Internal Diagnostic Region 3 Bit [8] = Internal Diagnostic Region 2 Bit [7] = Internal Diagnostic Region 1 Bit [6] = Internal Diagnostic Region 0 | [9-6] SAFETYREGION_IRQ Bit [9] = Internal Diagnostic Region 3 Bit [8] = Internal Diagnostic Region 2 Bit [7] = Internal Diagnostic Region 1 Bit [6] = Internal Diagnostic Region 0 | VP output MISR signature mismatch, or VP output freeze frame detect (SAFETY_ERROR_IRQ). The MISR signature generated does not match the expected signature, or the VP output frame freeze detection has triggered. |
SECURITYVIOLATION_IRQ | [10] SECURITYVIOLATION_EN | [10] SECURITYVIOLATION_IRQ | [10] SECURITYVIOLATION_EN | [10] SECURITYVIOLATION_IRQ | Security violation for VP output (SECURE_IRQ). A security violation (for example, a secure video pipeline connected to a non-secure VP/OVR) has occurred. |
VPSYNC_IRQ | [11] VPSYNC_EN | [11] VPSYNC_IRQ | [11] VPSYNC_EN | [11] VPSYNC_IRQ | Sync for VP output (FUNC_IRQ). Shadow to work copy of registers associated with VP1 has occurred. DSS0_VP_CONTROL[5] GOBIT register bit is cleared. This interrupt can trigger under the following cases:
|
VPSAFETYREGION1_IRQ | [16-13] SAFETYREGION1_EN Bit [16] = Internal Diagnostic Region 7 Bit [15] = Internal Diagnostic Region 6 Bit [14] = Internal Diagnostic Region 5 Bit [13] = Internal Diagnostic Region 4 | [16-13] SAFETYREGION1_IRQ Bit [16] = Internal Diagnostic Region 7 Bit [15] = Internal Diagnostic Region 6 Bit [14] = Internal Diagnostic Region 5 Bit [13] = Internal Diagnostic Region 4 | [16-13] SAFETYREGION1_EN Bit [16] = Internal Diagnostic Region 7 Bit [15] = Internal Diagnostic Region 6 Bit [14] = Internal Diagnostic Region 5 Bit [13] = Internal Diagnostic Region 4 | [16-13] SAFETYREGION1_IRQ Bit [16] = Internal Diagnostic Region 7 Bit [15] = Internal Diagnostic Region 6 Bit [14] = Internal Diagnostic Region 5 Bit [13] = Internal Diagnostic Region 4 | VP output MISR signature mismatch, or VP output freeze frame detect (SAFETY_ERROR_IRQ). The MISR signature generated does not match the expected signature, or the VP output frame freeze detection has triggered. |