SPRUIE9D May 2017 – May 2024 DRA74P , DRA75P , DRA76P , DRA77P
CAL can be used to operate the complete ISP, NSF3V (ISP sub-module) or GLBCE (ISP sub-module) in memory-to-memory mode. From ISP point of view CAL is only used as a data read DMA while the ISP internal write masters transfer pixel data back to memory. NSF3V and GLBCE do not have their own DMA engines and therefore rely on CAL to read and write the pixel stream from/to memory.
The recommended data flows for CAL usage are:
At CAL module level, the data rates for memory-to-memory traffic are controlled by the CAL_RD_DMA_CTRL[31:15] PCLK register bit-field. See Section 9.2, ISS Camera Adapter Layer (CAL), for CAL register information.
CAL shall not send data to the attached modules (NSF3V, ISP, GLBCE) at a higher rate than what it could process without creating back pressure (assert STALL signal). CAL does not have STALL support on its BYS input port, therefore attempts to create back pressure would lead to data corruption.
Software shall not allow memory-to-memory traffic to fill up the FIFO of CAL Write DMA. Otherwise, the FIFO would overflow in case of backpressure from the system. Generally, the memory-to-memory stream should be stalled when there is only 1~2kB of space left in the FIFO:
CAL BYS ports do not support back pressuring of the dataflow. Therefore, when data arrives faster then expected on the CAL BYS input port, an overflow condition will occur in the CAL. Similarly, when CAL BYS output port sends data to NSF3V or GLBCE at faster than expected rate, an overflow condition will occur.