SPRUIE9D May 2017 – May 2024 DRA74P , DRA75P , DRA76P , DRA77P
The line start address is set to the base address when the base address is updated (that is, LINE_NUMBER = 0 at frame start). Otherwise, the line start address is updated upon reception of the PIX_DAT_LS tag depending on the CAL_WR_DMA_OFST_k[23:22] CIRC_MODE register bit-field and CAL_WR_DMA_CTRL_k[4:3] WR_PATTERN bit-field. Table 9-60 summarizes how the line starts address (LINE_START) and line numbers are updated on every PIX_DAT_LS tag.
CAL_WR_DMA_OFST_k [23:22] CIRC_MODE | CAL_WR_DMA_CTRL_k [4:3] WR_PATTERN | Description |
---|---|---|
0 (Disabled) | 0 (Linear) | Linear buffer LINE_N = LINE_N + 1 LINE_START = LINE_START + CAL_WR_DMA_OFST_k[18:4] OFST |
0 (Disabled) | 2 (Write 2 lines, skip 2 lines) | Linear buffer + skip pattern if LINE_N #2 == 0: LINE_N = LINE_N + 1 LINE_START = LINE_START + CAL_WR_DMA_OFST_k[18:4] OFST else: LINE_N = LINE_N + 3 LINE_START = LINE_START + 3*CAL_WR_DMA_OFST_k[18:4] OFST |
0 (Disabled) | 3 (Write 2 lines, skip 4 lines) | Linear buffer + skip pattern if LINE_N #2 == 0: LINE_N = LINE_N + 1 LINE_START = LINE_START + CAL_WR_DMA_OFST_k[18:4] OFST else: LINE_N = LINE_N + 5 LINE_START = LINE_START + 5*CAL_WR_DMA_OFST_k[18:4] OFST |
1 (1 Line) | 0 (Linear) | Circular buffer if CIRC_MODE == 1: G = 1 elif CIRC_MODE == 2: G = 4 else: G = 64 if LINE_N == G*CAL_WR_DMA_OFST_k[31:24] CIRC_SIZE: LINE_N = 0 LINE_START = BASE else: LINE_N = LINE_N + 1 LINE_START = LINE_START + CAL_WR_DMA_OFST_k[18:4] OFST |
2 (4 Lines) | ||
3 (64 Lines) | ||
different than 0 | different than 0 | Reserved. Do not use this combination. |
CAL_WR_DMA_CTRL_k[2:0] MODE must be set to 0x0 (disabled) or 0x4 (use CAL_WR_DMA_ADDR_k as base address), when CAL_WR_DMA_OFST_k[23:22] CIRC_MODE !=0.