PDK API Guide for J721E
CSIRX_StreamMonitorCtrl Struct Reference

Detailed Description

Stream Monitor configuration. This register is used to configure the CSIRX Monitors: Programmable Frame monitor to trigger an event if a truncated frame is detected, Programmable Timer to trigger an event based on a clock cycle counter after a frame start or frame end, Programmable line/byte counters to trigger an event at a specific byte in a line. This register is used to enable/disable CSIRX programmable interrupt, select the virtual channel for each programmable IT and select the point which will trigger the event. This register should not be modified while the data path is enabled, nor should any of settings be changed when the respective monitor/counter/timer is enabled. In these cases, the behaviour is unpredictable. Hard reset value is 0x00000000, all interrupt generators disabled on Virtual Channel 0.

Data Fields

uint16_t frameLength
 
uint8_t frameMonEn
 
uint8_t frameMonVc
 
uint8_t timerEof
 
uint8_t timerEn
 
uint8_t timerVc
 
uint8_t lbEn
 
uint8_t lbVc
 

Field Documentation

◆ frameLength

uint16_t CSIRX_StreamMonitorCtrl::frameLength

Indicates the frame length in lines to detect truncated frames. This value must not change while monitor is enabled, i.e. it must only be changed when the FrameMonEn bit is low. 0x0000 means truncated frame detection feature disabled

◆ frameMonEn

uint8_t CSIRX_StreamMonitorCtrl::frameMonEn

Enables monitor. This bit must only be set high after the FrameMonVc and FrameLength have been set.

◆ frameMonVc

uint8_t CSIRX_StreamMonitorCtrl::frameMonVc

Indicates virtual channel for monitor. This value must not change while monitor is enabled, i.e. it must only be changed when the FrameMonEn bit is low.

◆ timerEof

uint8_t CSIRX_StreamMonitorCtrl::timerEof

Select the starting point of the timer: 0x0: Start of Frame event on selected virtual channel 0x1: End of Frame event on selected virtual channel. This value must not change while timerEn is enabled

◆ timerEn

uint8_t CSIRX_StreamMonitorCtrl::timerEn

Enables timer based interrupt. This bit must only be set high after the timerEof and timerVc have been set.

◆ timerVc

uint8_t CSIRX_StreamMonitorCtrl::timerVc

Indicates which VC should be used to generate timer based interrupt. This value must not change while timerEn is enabled.

◆ lbEn

uint8_t CSIRX_StreamMonitorCtrl::lbEn

Enables line/byte counter. This bit must only be set high after the LbVc, LineCount and ByteCount have been set.

◆ lbVc

uint8_t CSIRX_StreamMonitorCtrl::lbVc

Indicates which VC should be used to generate line/byte counter interrupt. This value must not change while lbEn is enabled