SPRUIE9D May 2017 – May 2024 DRA74P , DRA75P , DRA76P , DRA77P
To start up, the RSZ configuration can be set from the RSZ_SYSCONFIG register, which provides enabling the RSZ-A and RSZ-B clocks. The RSZ module does not have stand-alone reset and status check. Software reset must be done at the ISP level. Moreover, when enabled, the RSZ module can control the input data buffer, and when the rsz_stall_input signals are set from the RSZ_IN_FIFO_CTRL register , the RSZ module generates a stall signal that can be used by the master module sending data to the RSZ module when the data threshold is too high.
The RSZ_SRC_EN[0] EN bit starts the resizer processing. If the processing mode is set to one shot (one run and then turn off) from the RSZ_SRC_MODE[0] OST bit, the EN bit is cleared to 0.
The RSZ module can be configured to be bypassed in certain cases (see Figure 9-95 for the module constraints) from the RSZ_SRC_FMT0[1] BYPASS bit. The data can be sent directly from here to the output interface (bypass mode) or imported to the module buffer, but not manipulated and sent to the output interface (pass-through mode). The master device sending data to the RSZ can be switched between IPIPEIF and IPIPE using the RSZ_SRC_FMT0[0] SEL bit. The RSZ understanding of the data input is set from the RSZ_SRC_FMT1 register (for more information, see Table 9-190). The RSZ_SEQ.VRVX and RSZ_SEQ.HRVX registers can be set to flip the image horizontally or vertically, respectively (see Figure 9-94).
Depending on the mode to which the RSZ is set, the core clock can be enabled from the RSZ_GCK_SDR register. Table 9-189 summarizes the behavior of the RSZ module for the different settings.
Configuration Number | RSZ_SRC_EN | RZA_EN | RZA_CLK_EN | RZB_EN | RZB_ CLK_ EN | RSZ_GCK_SDR.CORE | RSZ_SRC_FMT0.BYPASS | Comments |
0 | 0 | X | X | X | X | X | X | Data cannot go through the RSZ module. |
Interrupts are not issued. | ||||||||
1 | 1 | 0 | X | 0 | X | 1 | 0 | RSZ-A is disabled. |
RSZ-B is disabled. | ||||||||
It is best to have RZA_EN = RZB_EN = 0 to save power, but RZA_EN = RZB_EN = 1 is also supported. | ||||||||
This configuration is supported but does not make sense because data cannot go through the module. | ||||||||
2 | 1 | 1 | 1 | 0 | X | 1 | 0 | RSZ-A is enabled. |
RSZ-B is disabled. | ||||||||
It is best to have RZB_EN = 0 to save power, but RZB_EN = 1 is supported as well. | ||||||||
3 | 1 | 0 | X | 1 | 1 | 1 | 0 | RSZ-A is disabled. |
RSZ-B is enabled. | ||||||||
It is best to have RZA_EN = 0 to save power, but RZA_EN = 1 is also supported. | ||||||||
4 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | Resizer A is enabled. |
Resizer B is enabled. | ||||||||
5 | 1 | X | X | X | X | 0 | 0 | Bypass mode is enabled. |
Resizer core functional clock is disabled. | ||||||||
6 | 1 | X | X | X | X | 0 | 1 | Pass-through mode enabled. |
Resizer core functional clock is disabled. | ||||||||
7 | 1 | X | X | X | X | 1 | 1 | Pass-through mode is enabled. |
Resizer core functional clock is enabled. | ||||||||
Not a preferred configuration. Configuration 6 saves power. |
RSZ_SRC_FMT1.IN420 | RSZ_SRC_FMT1.COL | Comments |
---|---|---|
0 | X | YUV4:2:2 input. Chroma is co-sited. |
1 | 0 | YUV4:2:0 input. Valid data is Y, C is dummy. On the VP, YUV4:2:2 data is always assumed. |
1 | 1 | YUV4:2:0 input. Valid data is C, Y is dummy. On the VP, YUV4:2:2 data is always assumed. |
The RSZ_YUV_PHS[0] POS bit sets the Chroma output. The RSZ module does not change the relative position of the Chroma samples versus the Luma samples between the input and output, and the Chroma position at the output of the IPIPE module and at the output of the RSZ module must be identical. In other words, RSZ_YUV_PHS.POS = IPIPE_YUV_PHS.POS.
Settings are common for both resizer engines inside the RSZ module. Each engine (RSZ-A or RSZ-B) can be enabled from the RZx_EN register: select the mode from RZx_MODE, and select the input and output in the YUV color scheme from the RZx_420 register (valid only if YUV4:2:2 is the input set from RSZ_SRC_FMT1.IN420). Table 9-191 summarizes the combination of settings available in the RZx_420 register.
RZx_420.YEN | RZx_420.CEN | Comments |
---|---|---|
0 | 0 | Input is YUV4:2:2. Output is YUV4:2:2 if RZX_RGB_EN = 0 and RGB if RZB_RGB_EN = 1. |
0 | 1 | Input is YUV4:2:2. Output is the Chroma of YUV4:2:0. RZX_RGB_EN is ignored. Must be used to rescale YUV4:2:0 data: First/second pass |
1 | 0 | Input is YUV4:2:2. Output is the Luma of YUV4:2:0. RZX_RGB_EN is ignored. Must be used to rescale YUV4:2:0 data: Second/first pass |
1 | 1 | Input is YUV4:2:2. Output is YUV4:2:0. RZX_RGB_EN is ignored. |