SPRUIE9D May 2017 – May 2024 DRA74P , DRA75P , DRA76P , DRA77P
The BYS input port (BYS_PI) can be enabled by setting the CAL_BYS_CTRL1[31] BYSINEN bit to 0x1.
The TAGs for the data received on the BYS_PI are generated based on the received synchronization signals (BYS_PI_VS, BYS_PI_VE, BYS_PI_HS, and BYS_PI_HE). Received data is merged into the CAL internals data pipeline using the C-Port ID defined in the CAL_BYS_CTRL2[4:0] CPORTIN bit field. Software must ensure that the used C-Port ID is not already used in the pipeline.
The BYS input port can generate data tagged as PIX_DAT_FS, PIX_DAT_LS, PIX_DAT, PIX_DAT_LE or PIX_DAT_FE.
Data from the DPCM decoder (BYS_PO data has eventually been filtered out) is merged with data received on the BYS_PI. The BYS_PI has highest priority as it cannot be stalled. Traffic from the BYS_PO may eventually be stalled.
The BYS_PI is asynchronous from the functional clock (CAL_FCLK). However, its speed is limited to 4 pixels per functional clock cycle.
An IRQ_BYSIN_OVR event is triggered when data continues to arrive on the BYS_PI, but the video port/write DMA cannot handle it (that is, video port FIFO full/write DMA FIFO full). The BYS_PI has a small FIFO that is first filled when back pressure is received. If this FIFO is full as well, it discards data. It tags the next received valid data as PIX_DAT_FS, even when the BYS_PI_VS signal is not active. That avoids the Write DMA block to send data outside of the allocated buffer space in SDRAM. A PIX_DAT_FS resets the address generator to the start of the buffer. But, if a true PIX_DAT_FS is lost, the address generator would append data at the end of a full frame and therefore perform writes outside of the allocate SDRAM buffer.
The BYS_PI does not have a qualifier to indicate the number of valid pixels per active cycle. CAL assumes that each active cycle carries exactly 4 pixels. Practically, that means that the line length is rounded up to the next multiple of 4 by appending dummy data. Software must discard that dummy data (either discard it in the DMA or in the module attached to the video port).
The data stream provided on the BYS in port may be corrupted because of an asynchronous SW reset performed in the module connected to BYS input port. LE / FE pulses may be missing in that case. CAL will recover sync on the next received FS pulse.