VISS initialization is part of any other HWA initialization on VPAC. Prior to starting HWA initialization through HTS, VISS must be configured in below order.
- Configure RFE registers, GLBCE registers, NSF4V registers and FCP registers:
- The VISS_CNTL[0] GLBCE_EN register bit needs to be set, in order to
configure the GLBCE registers.
- Select input / output stream properties inside LSE.
- After reset and prior to enabling LSE, apply the following configuration:
- Make sure VISS_CNTL[0] GLBCE_EN bit is '1'.
- Enable IRQ for interrupt event 'glbce_filtering_done'.
- Set VISS_GLBCECONFIG[0] GLBCE_PCLKFREE register bit to '1'.
- Wait for interrupt 'glbce_filtering_done'.
- Clear VISS_GLBCECONFIG[0] GLBCE_PCLKFREE register bit.
- Enable LSE input and output buffer lines.
- Enable pipeline and schedulers associated with VISS HTS configuration (pipeline enable must happen after enabling all attached schedulers).
- Enabling HTS will trigger init sequence which will initialize LSE, RFE and FCP. This will also trigger head of pipe for NAVSS UDMA fetch (in case of memory to memory operation). Otherwise,VISS waits for streaming data from CSI RX.
- After initializing VISS/VPAC, configure and enable CSI RX, CSI RX PHY and camera sensor in order.
- Once streaming data starts, it will continue till the end of frame. Blanking
(set in VISS_LSE_CFG[31-22] VP_HBLNK_CNT register field) must be configured more
than VISS blanking needs (see VISS Blanking Requirements).
- Once a complete frame is fully written into DDR, the HTS module comes back to init state and restart from step #6. For some usesecase, LSE input/out enables after each frame might be considered as well (step #5).
- After each 'frame_done', if the configuration needs to be changed, it must be done within vertical blanking period for not shadowed registers (refer to Sections VISS RAW Frond-End (RAWFE) and VISS Flexible Color Processing (FCP) Module, for more details).
- At any stage, if there is a need to stop the streaming interface, the HTS must first be paused and then aborted, and then reset and re-configure the entire VISS as part or recovery from abort.