Transforming CPMEM to Parameters

CPMEM value (HEX)

CPMEM value (BIN)

CPMEM Parameters

Name Mnemonic Size To From Value (HEX) Value (BIN) Value (DEC) Description
XV Virtual Coordinate XV 10 9 0
Variable coordinates for determining next block address. {X1,Y1} and {X2,Y2} coordinates will be determined according to {XV,YV} upon restart of channel. These coordinates are used for Y:U:V (Y pointer) and RGB formats.
YV Virtual Coordinate YV 9 18 10
Variable coordinates for determining next block address. {X1,Y1} and {X2,Y2} coordinates will be determined according to {XV,YV} upon restart of channel. These coordinates are used for Y:U:V (Y pointer) and RGB formats.
XB inner Block Coordinate XB 13 31 19
Variable coordinates for determining address within the block. These coordinates are used for Y:U:V (Y pointer) and RGB formats. Need 24 bits for 2D transfer support.
YB inner Block Coordinate YB 12 43 32
Variable coordinates for determining address within the block. These coordinates are used for Y:U:V (Y pointer) and RGB formats. Need 24 bits for 2D transfer support.
New Sub Block NSB_B 1 44 44
This bit determines if the next value for {XB,YB} should be taken from {XB,YB} saved in channel parameter memory or from new {x1,y1}/{x2,y2}.
Current Field CF 1 45 45
CF = 0 Current field is even
CF = 1 Current field is odd
Mem U Buffer Offset UBO 22 67 46
Double buffer destination address offset for Y:U:V (U pointer) formats.The actual physical address value is divided by 8 (i.e. this parameter includes bits [24:3] of the actual address)
Mem V Buffer Offset VBO 22 89 68
Double buffer destination address offset for Y:U:V (V pointer) format. The actual physical address value is divided by 8 (i.e. this parameter includes bits [24:3] of the actual address)
Initial Offset X IOX 4 93 90
The IOX parameter, is the offset in pixels for a frame that starts at a non aligned address. For 42x formats must be even.
Reduce Double Read or Writes RDRW 1 94 94
This bit is relevant for YUV4:2:0 formats.
For read channels: U and V components are not read from odd rows. (read - supported only for the VDIC)
For write channels: U and V components are not written to odd rows. (write - supported for all write channels)
Scan Order SO 1 113 113
SO = 0 Scan order is progressive
SO = 1 Scan order is interlaced
Band Mode BNDM 3 116 114
BNDM = 000 bands disable.
BNDM = 010 bands enable. Band height = 8 lines.
BNDM = 011 bands enable. Band height = 16 lines.
BNDM = 100 bands enable. Band height = 32 lines.
BNDM = 101 bands enable. Band height = 64 lines.
BNDM = 110 bands enable. Band height = 128 lines.
BNDM = 111 bands enable. Band height = 256
When working in band mode, the channel's corresponding IDMAC_BNDM_EN bit has to be set.
Block Mode BM 2 118 117
BM = 00 block mode disable. BW = FW, BH = FH
BM = 01 block mode enable. BW = 8, BH = 8
BM = 10 block mode enable. BW = 16, BH = 16 (this mode is reserved for future use)
BM = 11 not used
Rotation ROT 1 119 119
ROT = 0 -> No rotation
ROT = 1 -> 90 degree rotation clockwise
Horizontal Flip HF 1 120 120
HF = 0 -> No flip
HF = 1 -> Horizontal flip enable
Vertical Flip VF 1 121 121
VF = 0 -> No flip
VF = 1 -> Vertical flip enable
Threshold Enable THE 1 122 122
THE = 0 -> Threshold disable
THE = 1 -> Threshold enable
Conditional Access Polarity CAP 1 123 123
CAP = 0 -> If conditional bit in CM register is low skip the access
CAP = 1 -> If conditional bit in CM register is high skip the access.
This mode is reserved for future use.
Conditional Access Enable CAE 1 124 124
CAE = 0 -> Conditional access disable
CAE = 1 -> Conditional access enable
This mode is reserved for future use.
Frame Width FW 13 137 125
Number of pixels in one row, of the channel frame.
FW
000000000000 = 0001 pixels
000000000001 = 0002 pixels
..........................
111111111111 = 8192 pixels
Frame Height FH 12 149 138
Number of pixels in one column, of the channel frame.
FH
000000000000 = 0001 line
000000000001 = 0002 lines
.........................
111111111111 = 4096 lines
For progressive YUV 4:2:0 (non interleaved and partial interleaved formats) the FH value should be a multiple of 2.
For interlaced YUV 4:2:0 (non interleaved and partial interleaved formats) the FH value should be a multiple of 4.
End of Line interrupt EOLI 1 150 150
End of line interrupt enable. The end of line indication is asserted once the last data of the line has been written.
1 - generate an end of line interrupt
0 - no affect
Ext Mem Buffer 0 Address EBA0 29 28 0
1st double buffer destination address for RGB and Y:U:V (Y pointer) formats.
This parameter must not be changed if the corresponding channel is enabled. The actual physical address value is divided by 8 (i.e. this parameter includes bits [31:3] of the actual address)
Ext Mem Buffer 1 Address EBA1 29 57 29
2nd double buffer destination address for RGB and Y:U:V (Y pointer) formats.
This parameter must not be changed if the corresponding channel is enabled. The actual physical address value is divided by 8 (i.e. this parameter includes bits [31:3] of the actual address)
Interlace Offset ILO 20 77 58
2nd double buffer destination address for RGB and Y:U:V (Y pointer) formats.
An interlaced data stored in the memory can be read as a consecutive progressive only if FW*BPP is a multiplication of 8.
The actual physical address value is divided by 8 (i.e. this parameter includes bits [22:3] of the actual address).
For YUV420 formats, the ILO is relevant only to the Y component as the U and V components do not exist for the even lines.
This value is signed
Number of Pixels in Whole Burst Access NPB 8 84 78
Number of pixels per burst access. The following are valid numbers of pixels in a memory burst access according to the BPP parameter:
NPB
0000111 = 08 pixels in each burst
0001111 = 16 pixels in each burst
.................................
0111111 = 64 pixels in each burst
Range:
16BPP => 1 -> 32 pixels (for YUV444 NI)
08BPP => 1 -> 64 pixels (For YUV420 NI/PI and YUV422 NI/PI)
In NI/PI formats the NPB has to be a multiplication of 8
Pixel Format Select PFS 4 88 85
4'h0 = non-interleaved 4:4:4
4'h1 = non-interleaved 4:2:2
4'h2 = non-interleaved 4:2:0
4'h3 = partial interleaved 4:2:2
4'h4 = partial interleaved 4:2:0
4'h5 to 4'hF = NA
Alpha Used ALU 1 89 89
1 = the alpha associated with the data of this channel resides on another channel (separate buffer)
0 = the alpha associated with the data of this channel resides along with the pixel data (same buffer)
The corresponding alpha channel must be enabled to assure correct behavior.
Alpha Channel Mapping ALBM 2 92 90
Alpha channel mapping - This parameter is a pointer to a buffer in the ATC memory.
This parameter is relevant only to data channels that are associated with a separate alpha buffer (like graphic plane channels). The parameter should be programmed on the data channels' ALBM.
Setting this parameter to any other channel has no meaning.
AXI Id ID 2 94 93
AXI protocol id.
Threshold TH 7 101 95
0000000 = 32 lines
0000001 = 64 lines
..................
1111111 = 4096 lines
Stride Line SLY 14 115 102
Address vertical scaling factor in bytes for memory access. Also number of maximum bytes in the "Y" component row according to memory limitations.
SLY
00000000000000 = 00001 bytes
00000000000001 = 00002 bytes
............................
11111111111111 = 16384 bytes
Width3 WID3 3 127 125
Fourth color component size of the inputunpacking/output-packing pixel.
WID3
000 = 1 bits
001 = 2 bits
............
111 = 8 bits
As this is a non-interleaved format, this field is relevant only to the alpha associated with this pixel channel.
Stride Line SLUV 14 141 128
Address vertical scaling factor in bytes for memory access. Also number of maximum bytes in the "U" or "V" component row according to memory limitations.
SLUV
00000000000000 = 00001 bytes
00000000000001 = 00002 bytes
............................
11111111111111 = 16384 bytes
Conditional Read Enable CRE 1 149 149
This bit enables the conditional read feature.
Name Mnemonic Size To From Value (HEX) Value (BIN) Value (DEC) Description
XV Virtual Coordinate XV 10 9 0
Variable coordinates for determining next block address. {X1,Y1} and {X2,Y2} coordinates will be determined according to {XV,YV} upon restart of channel. These coordinates are used for Y:U:V (Y pointer) and RGB formats.
YV Virtual Coordinate YV 9 18 10
Variable coordinates for determining next block address. {X1,Y1} and {X2,Y2} coordinates will be determined according to {XV,YV} upon restart of channel. These coordinates are used for Y:U:V (Y pointer) and RGB formats.
XB inner Block Coordinate XB 13 31 19
Variable coordinates for determining address within the block. These coordinates are used for Y:U:V (Y pointer) and RGB formats. Need 24 bits for 2D transfer support.
YB inner Block Coordinate YB 12 43 32
Variable coordinates for determining address within the block. These coordinates are used for Y:U:V (Y pointer) and RGB formats. Need 24 bits for 2D transfer support.
New Sub Block NSB_B 1 44 44
This bit determines if the next value for {XB,YB} should be taken from {XB,YB} saved in channel parameter memory or from new {x1,y1}/{x2,y2}.
Current Field CF 1 45 45
CF = 0 Current field is even
CF = 1 Current field is odd
Scroll X counter SX 12 57 46
Holds the temporary count for the Scroll X in between frame
For interleaved YUV4:2:2 formats the SX should be a multiple of 2.
Scroll Y counter SY 11 68 58
Holds the temporary count for the Scroll Y in between frame.
Number of Scroll NS 10 78 69
This variable holds the total number of Scrolls.
Scroll Delta X SDX 7 85 79
Frame start row offset, compared to last frame.
SDX
0000000 = 00 pixels
0000001 = 01 pixels
0000010 = 02 pixels
..............................
1111110 = 126 pixels
1111111 = 127 pixels
For interleaved YUV4:2:2 formats the SDX should be a multiple of 2.
Scroll Max SM 10 95 86
Frame maximum row and column increment offset in frame.
SM
0000000000 = 0001
0000000001 = 0002
....................................
1111111111 = 1024
Scrolling Configuration SCC 1 96 96
Determines if scrolling will continue from zero when NS counter has reached SM or stop at the current value for SX and SY for the next frames to come.
SCC
0 => Scrolling will stop at NS = SM
1 => Scrolling will start from "0" at NS = SM
Scrolling Enable SCE 1 97 97
SCE = 0 Scrolling disable
SCE = 1 Scrolling enable
Scroll Delta Y SDY 7 104 98
Frame start column offset, compared to last frame.
SDY
0000000 = 00 pixels
0000001 = 01 pixels
0000010 = 02 pixels
..............................
1111110 = 30 pixels
1111111 = 127 pixels
Scroll Horizontal Direction SDRX 1 105 105
Determines if the next frame will move right or left compared to the current frame.
SDRX
0 => Next frame will be right of current
1 => Next frame will be left of current
Scroll Vertical Direction SDRY 1 106 106
Determines if the next frame will move down or up compared to the current frame.
SDRY
0 => Next frame will be down of current
1 => Next frame will be up of current
Bits per Pixel BPP 3 109 107
3'h0 = 32 Bits per pixel
3'h1 = 24 Bits per pixel
3'h2 = 18 Bits per pixel
3'h3 = 16 Bits per pixel
3'h4 = 12 Bits per pixel
3'h5 = 08 Bits per pixel
3'h6 = 04 Bits per pixel
Decode Address Select DEC_SEL 2 111 110
Upon 4BPP, selects between two lookup tables
DEC_SEL
00 = addresses 0 to 15
01 = addresses 64 to 79
10 = addresses 128 to 143
11 = addresses 192 to 207
Access Dimension DIM 1 112 112
DIM = 0 Access Dimension is 2d
DIM = 1 Access Dimension is 1d
Scan Order SO 1 113 113
SO = 0 Scan order is progressive
SO = 1 Scan order is interlaced
Band Mode BNDM 3 116 114
BNDM = 000 bands disable.
BNDM = 001 bands enable. Band height = 4 lines.
BNDM = 010 bands enable. Band height = 8 lines.
BNDM = 011 bands enable. Band height = 16 lines.
BNDM = 100 bands enable. Band height = 32 lines.
BNDM = 101 bands enable. Band height = 64 lines.
BNDM = 110 bands enable. Band height = 128 lines.
BNDM = 111 bands enable. Band height = 256.
When working in band mode, the channel's corresponding IDMAC_BNDM_EN bit has to be set.
Block Mode BM 2 118 117
BM = 00 block mode disable. BW = FW, BH = FH
BM = 01 block mode enable. BW = 8, BH = 8
BM = 10 block mode enable. BW = 16, BH = 16 (this mode is reserved for future use)
BM = 11 not used
Rotation ROT 1 119 119
ROT = 0 -> No rotation
ROT = 1 -> 90 degree rotation clockwise
Horizontal Flip HF 1 120 120
HF = 0 -> No flip
HF = 1 -> Horizontal flip enable
Vertical Flip VF 1 121 121
VF = 0 -> No flip
VF = 1 -> Vertical flip enable
Threshold Enable THE 1 122 122
THE = 0 -> Threshold disable THE = 1 -> Threshold flip enable
Conditional Access Polarity CAP 1 123 123
CAP = 0 -> If conditional bit in CM register is low skip the access
CAP = 1 -> If conditional bit in CM register is high skip the access
Conditional Access Enable CAE 1 124 124
CAE = 0 -> Conditional access disable
CAE = 1 -> Conditional access enable
Frame Width FW 13 137 125
Number of pixels in one row, of the channel frame.
FW
0000000000000 = 0001 pixels
0000000000001 = 0002 pixels
...................................................
1111111111111 = 8192 pixels
For interleaved YUV4:2:2 formats the FW should be a multiple of 2.
Frame Height FH 12 149 138
Number of pixels in one column, of the channel frame.
FH
000000000000 = 0001 line
000000000001 = 0002 lines
...................................................
111111111111 = 4096 lines
End of Line Interrupt EOLI 1 150 150
End of line interrupt enable. The end of line indication is asserted once the last data of the line has been written.
1 - generate an end of line interrupt
0 - no affect
Ext Mem Buffer 0 Address EBA0 29 28 0
1st double buffer destination address for RGB and Y:U:V (Y pointer) formats.
This parameter must not be changed if the corresponding channel is enabled.The actual physical address value is divided by 8 (i.e. this parameter includes bits [31:3] of the actual address)
Ext Mem Buffer 1 Address EBA1 29 57 29
2nd double buffer destination address for RGB and Y:U:V (Y pointer) formats.
This parameter must not be changed if the corresponding channel is enabled.The actual physical address value is divided by 8 (i.e. this parameter includes bits [31:3] of the actual address)
Interlace Offset ILO 20 77 58
2nd double buffer destination address for RGB and Y:U:V (Y pointer) formats.
An interlaced data stored in the memory can be read as a consecutive progressive only if FW*BPP is a multiplication of 8.The actual physical address value is divided by 8 (i.e. this parameter includes bits [22:3] of the actual address).
This value is signed
Number of Pixels in Whole Burst Access NPB 7 84 78
Number of pixels per burst access. The following are valid numbers of pixels in a memory burst access according to the BPP parameter:
NPB
0000000 = 01 pixels in each burst
0000001 = 02 pixels in each burst
...........................................................
1111111 = 128 pixels in each burst
Range:
32BPP => 1 -> 16 pixels
24BPP => 1 -> 20 pixels
16BPP => 1 -> 32 pixels
12BPP => 1 -> 40 pixels
08BPP => 1 -> 64 pixels
04BPP => 1 -> 128 pixels
Pixel Format Select PFS 4 88 85
4'h0 to 4'h4 = NA
4'h5 = Code (LUT)
4'h6 = Generic data
4'h7 = RGB (& also YUV interleaved 4:4:4)
4'h8 = interleaved 4:2:2 Y1U1Y2V11
4'h9 = interleaved 4:2:2 Y2U1Y1V12
4'hA = interleaved 4:2:2 U1Y1V1Y23
4'hB = interleaved 4:2:2 U1Y2V1Y14
4'hC to 4'hF = NA
Alpha Used ALU 1 89 89
1 = the alpha associated with the data of this channel resides on another channel (separate buffer)
0 = the alpha associated with the data of this channel resides along with the pixel data (same buffer)
The corresponding alpha channel must be enabled to assure correct behavior.
Alpha Channel Mapping ALBM 3 92 90
Alpha channel mapping - This parameter is a pointer to a buffer in the ATC memory. This parameter is relevant only to data channels that are associated with a separate alpha buffer (like graphic plane channels). The parameter should be programmed on the data channels' ALBM. Setting this parameter to any other channel has no meaning. See Table 37-12 for exact ALBM mapping.
AXI Id ID 2 94 93
AXI protocol id;
IPU is targeted to an AXI slave that can handle up to 2 requests with 2 different IDs + one request with a third ID. In case that IPU is going to be used on a system that can handle more than 2 requests with different IDs, the number of different IDs programmed in the CPMEM for different channels is limited for 2. This limitation is relevant for read channels only. For write channels there's no such limitation.
Threshold TH 7 101 95
0000000 = 32 lines
0000001 = 64 lines
.....................
1111111 = 4096 lines
Stride Line SL 14 115 102
Address vertical scaling factor in bytes for memory access. Also number of maximum bytes in row according to memory limitations.
SL
00000000000000 = 00001 bytes
00000000000001 = 00002 bytes
...................................................
11111111111111 = 16384 bytes
Width 0 WID0 3 118 116
First color component size of the input-unpacking/output-packing pixel.
WID0
000 = 1 bits
001 = 2 bits
.....................
111 = 8 bits
This field is relevant only for interleaved RGB format (PFS = 4'h7)
Width 1 WID1 3 121 119
Second color component size of the input-unpacking/output-packing pixel.
WID1
000 = 1 bits
001 = 2 bits
.....................
111 = 8 bits
This field is relevant only for interleaved RGB format (PFS = 4'h7)
Width 2 WID2 3 124 122
Third color component size of the input-unpacking/ output-packing pixel. WID2 000 = 1 bits 001 = 2 bits ..................... 111 = 8 bits This field is relevant only for interleaved RGB format (PFS = 4'h7)
Width 3 WID3 3 127 125
Fourth color component size of the input-unpacking/output-packing pixel.
WID3
000 = 1 bits
001 = 2 bits
.....................
111 = 8 bits
This field is relevant only for interleaved RGB format (PFS = 4'h7)
Offset 0 OFS0 5 132 128
Number of bits between MSB of pixel and MSB of color component, on input.
1 states that the color component will be the first color component aligned to MSB of output pixel.
OFS0
00000 = No offset
00001 = u => 1 bit sleft, p => 1 bit sright
.........................................
11111 = u => 31 bit sleft, p => 31 bit sright
* u = unpacking
* p = packing
* sleft = shift left
* sright = shift right
This field is relevant only for
interleaved RGB format (PFS = 4'h7)
Offset 1 OFS1 5 137 133
Number of bits between MSB of pixel and MSB of color component on input.
2 states that the color component will be the second color component aligned to MSB output pixel.
OFS1
00000 = No offset
00001 = u => 1 bit sleft, p => 1 bit sright
..................................
11111 = u => 31 bit sleft, p => 31 bit sright
* u = unpacking
* p = packing
* sleft = shift left
* sright = shift right
This field is relevant only for interleaved RGB format (PFS = 4'h7)
Offset 2 OFS2 5 142 138
Number of bits between MSB of pixel and MSB of color component on input.
3 states that the color component will be the third color component aligned to MSB output pixel.
OFS2
00000 = No offset
00001 = u => 1 bit sleft, p => 1 bit sright
..................................
11111 = u => 31 bit sleft, p => 31 bit sright
* u = unpacking
* p = packing
* sleft = shift left
* sright = shift right
This field is relevant only for interleaved RGB format (PFS = 4'h7)
Offset 3 OFS3 5 147 143
Number of bits between MSB of pixel and MSB of color component on input.
4 states that the color component will be the fourth color component aligned to MSB output pixel.
OFS3
00000 = No offset
00001 = u => 1 bit sleft, p => 1 bit sright
...................................
11111 = u => 31 bit sleft, p => 31 bit sright
* u = unpacking
* p = packing
* sleft = shift left
* sright = shift right
This field is relevant only for interleaved RGB format (PFS = 4'h7)
Select SX SY Set SXSY 1 148 148
This bit selects between the settings on: SC_CORD and SC_CORD1.
Conditional Read Enable CRE 1 149 149
This bit enables the conditional read feature.
Decode Address Select Bit [2] DEC_SEL2 1 150 150
This field is reserved.