SPRUIE9D May 2017 – May 2024 DRA74P , DRA75P , DRA76P , DRA77P
The read DMA is used to read pixel data from SDRAM and send it throught the CAL processing pipeline. Table 9-61 summarizes the mode combinations supported:
CIRC_MODE | RD_PATTERN | INIT | Description |
---|---|---|---|
0 | LINEAR | 0 | Raster data from a single buffer |
0 | YUV420 | 0 | YUV420 data from a two buffers |
0 | RD2SKIP2 | 0 | Raster data from a single buffer with skip pattern |
0 | RD2SKIP4 | 0 | Raster data from a single buffer with skip pattern |
0 | LINEAR | 1 | Raster data from a single buffer + DPCM initialization |
0 | YUV420 | 1 | reserved. |
0 | RD2SKIP2 | 1 | Raster data from a single buffer + skip pattern + DPCM initialization |
0 | RD2SKIP4 | 1 | Raster data from a single buffer + skip pattern + DPCM initialization |
>0 | LINEAR | 0 | Raster data from a circular buffer |
>0 | YUV420 | 0 | YUV420 data from a two circular buffers |
>0 | RD2SKIP2 | 0 | reserved. |
>0 | RD2SKIP4 | 0 | reserved. |
>0 | LINEAR | 1 | reserved. |
>0 | YUV420 | 1 | reserved. |
>0 | RD2SKIP2 | 1 | reserved. |
>0 | RD2SKIP4 | 1 | reserved. |
The read DMA fetches one to two streams simultaneously, depending on the chosen mode. Circular addressing and line skip patterns for both streams use the same algorithm than the write DMA (see Section 9.2.3.10)
Reading of initialization data is optional and should be enabled before the read DMA is started by setting the CAL_RD_DMA_CTRL[1] INIT bit.
The read DMA is enabled by setting the CAL_RD_DMA_CTRL[0] GO bit. It sends the amount of data defined by configuration through the processing pipeline, triggers an IRQ_RDMA_END event and then returns into idle state until it is enabled again by SW.