SPRUHZ7K August 2015 – April 2024 AM5706 , AM5708 , AM5716 , AM5718 , AM5718-HIREL
The VIP_PARSER module has 19 interrupts out of which one can be mapped to VIP top level.
When an interrupt occurs and is determined to be from the VIP_PARSER module, the VIP_PARSER level of masks, clears, and status registers must be checked and updated first.
Table 9-16 describes each of the interrupts events supported by the VIP_PARSER, together with associated Interrupt Mask (VIP_FIQ_MASK), Interrupt Clear (VIP_FIQ_CLEAR), and Interrupt Status (VIP_FIQ_STATUS) registers.
Event Flag | Event Mask | Map to | Description |
---|---|---|---|
VIP_FIQ_STATUS[21] PORT_A_YUV_PROTOCOL_VIOLATION | VIP_FIQ_MASK[21] PORT_A_YUV_PROTOCOL_VIOLATION_MASK | PrtBDisableComplete | When a port is running and VIP_PORT_B[8] ENABLE bit is turned off, logic exists to ensure that a complete frame is sent out of the Ancillary and Active Video VPI ports. That is, a frame is not stopped in the middle. This interrupt is activated when all active frames have been sent out Port B following a disable. |
VIP_FIQ_STATUS[20] PORT_A_ANC_PROTOCOL_VIOLATION | VIP_FIQ_MASK[20] PORT_A_ANC_PROTOCOL_VIOLATION_MASK | PrtADisableComplete | When a port is running and VIP_PORT_A[8] ENABLE bit is turned off, logic exists to ensure that a complete frame is sent out of the Ancillary and Active Video VPI ports. That is, a frame is not stopped in the middle. This interrupt is activated when all active frames have been sent out Port A following a disable. |
VIP_FIQ_STATUS[19] PORT_B_YUV_PROTOCOL_VIOLATION | VIP_FIQ_MASK[19] PORT_B_YUV_PROTOCOL_VIOLATION_MASK | PrtBANCProtocolVio | This interrupt is enabled when the protocol checker on the output of the VIP_PARSER encounters a violation on the Ancillary VPI of Port B. |
VIP_FIQ_STATUS[18] PORT_B_ANC_PROTOCOL_VIOLATION | VIP_FIQ_MASK[18] PORT_B_ANC_PROTOCOL_VIOLATION_MASK | PrtBYUVProtocolVio | This interrupt is enabled when the protocol checker on the output of the VIP_PARSER encounters a violation on the Active Video VPI of Port B. |
VIP_FIQ_STATUS[17] PORT_A_CFG_DISABLE_COMPLETE | VIP_FIQ_MASK[17] PORT_A_CFG_DISABLE_COMPLETE_MASK | PrtAANCProtocolVio | This interrupt is enabled when the protocol checker on the output of the VIP_PARSER encounters a violation on the Ancillary VPI of Port A. |
VIP_FIQ_STATUS[16] PORT_B_CFG_DISABLE_COMPLETE_CLR | VIP_FIQ_MASK[16] PORT_B_CFG_DISABLE_COMPLETE_MASK | PrtAYUVProtocolVio | This interrupt is enabled when the protocol checker on the output of the VIP_PARSER encounters a violation on the Active Video VPI of Port A. |
VIP_FIQ_STATUS[15] PORT_B_SRC0_SIZE_STATUS | VIP_FIQ_MASK[15] PORT_B_SRC0_SIZE | PrtBSrc0Size | The output size for Srcnum=0 on Port B differs from the XTRA_PORT_B[11:0] SRC0_NUMLINES and [27:16] SRC0_NUMPIX register settings |
VIP_FIQ_STATUS[14] PORT_A_SRC0_SIZE_STATUS | VIP_FIQ_MASK[14] PORT_A_SRC0_SIZE | PrtASrc0Size | The output size for Srcnum=0 on Port A differs from the XTRA_PORT_B[11:0] SRC0_NUMLINES and [27:16] SRC0_NUMPIX register settings |
VIP_FIQ_STATUS[13] PORT_B_DISCONN_STATUS | VIP_FIQ_MASK[13] PORT_B_DISCONN | PrtBDisconn | Port B Link Disconnect for Srcnum 0 |
VIP_FIQ_STATUS[12] PORT_B_CONN_STATUS | VIP_FIQ_MASK[12] PORT_B_CONN | PrtBConn | Port B Link Connect for Srcnum 0 |
VIP_FIQ_STATUS[11] PORT_A_DISCONN_STATUS | VIP_FIQ_MASK[11] PORT_A_DISCONN | PrtADisConn | Port A Link Disconnect for Srcnum 0 |
VIP_FIQ_STATUS[10] PORT_A_CONN_STATUS | VIP_FIQ_MASK[10] PORT_A_CONN | PrtAConn | Port A Link Connect for Srcnum 0 |
VIP_FIQ_STATUS[9] OUTPUT_FIFO_PRTB_ANC_STATUS | VIP_FIQ_MASK[9] OUTPUT_FIFO_PRTB_ANC_OF | OpPrtBAnc | Overflow at Ancillary Data VPDMA interface for the Port B |
VIP_FIQ_STATUS[7] OUTPUT_FIFO_PRTB_LUMA_STATUS | VIP_FIQ_MASK[7] OUTPUT_FIFO_PRTB_YUV_OF | OpPrtBYUV | Overflow at Luma VPDMA interface for Port B |
VIP_FIQ_STATUS[6] OUTPUT_FIFO_PRTA_ANC_STATUS | VIP_FIQ_MASK[6] OUTPUT_FIFO_PRTA_ANC_OF | OpPrtAAnc | Overflow at Ancillary Data VPDMA interface for the Port A |
VIP_FIQ_STATUS[4] OUTPUT_FIFO_PRTA_LUMA_STATUS | VIP_FIQ_MASK[4] OUTPUT_FIFO_PRTA_YUV_OF | OpPrtAYUV | Overflow at Luma VPDMA interface for Port A |
VIP_FIQ_STATUS[3] ASYNC_FIFO_PRTB_STATUS | VIP_FIQ_MASK[3] ASYNC_FIFO_PRTB_OF | InPrtB | Overflow at Input Async FIFO for Port B |
VIP_FIQ_STATUS[2] ASYNC_FIFO_PRTA_STATUS | VIP_FIQ_MASK[2] ASYNC_FIFO_PRTA_OF | InPrtA | Overflow at Input Async FIFO for Port A |
VIP_FIQ_STATUS[1] PRTB_VDET_STATUS | VIP_FIQ_MASK[1] PRTB_VDET_MASK | PrtBVdet | Video Detect Interrupt for Port B |
VIP_FIQ_STATUS[0] PRTA_VDET_STATUS | VIP_FIQ_MASK[0] PRTA_VDET_MASK | PrtAVdet | Video Detect Interrupt for Port A |
A ‘1’ in the Status register associated with an Interrupt source shows that the interrupt source is pending. The Status register is read-only. To clear a bit in the Status register, the associated bit in the Clear register must be written with a ‘1.’
A ’1’ in the bit position of the Mask register associated with an Interrupt source ensures that the hardware interrupt will never be passed on to the VIP top level. A ‘0’ in the bit position of the Mask register associated with an Interrupt source will cause the interrupt controller to see a VIP_PARSER interrupt in the event the hardware in the parser triggers it.
A ‘1’ in the bit position of the Clear register associated with an Interrupt source clears the hardware interrupt status register until the next time the hardware triggers it. After a Clear, the CPU should set the bit back to a ‘0.’ Otherwise, the hardware would not be able to set any subsequent interrupts of the same type.