negative co-ordinates on tile layer CTRLDESCL2.POSY is resulting in corrupted rendering on the TFT.
BPP = 2bpp
Complete layer setting dump
_______address|________0________4________8________C
AZNC:40059180|>017A0320 0FFF0000 800BA6E0 4FF10011
AZNC:40059190| 00000000 00000000 00010001 00000000
AZNC:400591A0| 00000000 ???????? ???????? ????????
AZNC:400591B0| ???????? ???????? ???????? ????????
I notice that you are not enabling the layer (EN bit field = 0)
DCUx_CTRLDESCLn_4 = 0x4FF10011
EN = 0
TILE_EN = 0
DATA_SEL = 0
SAFE_EN = 0
TRANS = FF
BPP = 1 = 2bpp
RLE = 0
LU-OFFset = 1
BB = 0
AB = 1
If the layer is not even enabled maybe the source of corruption is other and not this layer.
Are you able to see the image properly displayed when POSY = 0?
Could you try using layer 64 instead of 62?
The layer was indeed enabled when the issue was observed, I was trying various values to see when the issue happens and may be while I took the memory dump it was disabled.
The layer display properly when POSY = 0, I have verified this. Layer 64 is also tried and the issue is present there as well. I donot observe the issue with non tile layers, I tried negative co-ordinates with a RGB565 raster image layer, it was OK.
Regards,
Manoj E S
I tried quickly with similar parameters in my environment and I don't see the error, however, I don't have a 2bpp image, so I tried with this format but obviously the image displayed was just blur lines. Can you share the 2bpp image source you are using and the LUT, so I can try at my side?
Hi Manoj
I was able to reproduce the image corruption. (I was not setting TILE_EN in my previous test). Actually it happens for other formats too (not only 2bpp).
I contacted Design team and they replied to me that this feature (negative Ypos in TileMode) by design is not implemented in Hardware.
It was decided that it should be implemented by the application via software. Only Tile layer XPOS in negative direction is supported by Hardware.
It is a mistake that this is not mentioned in RM.
This will be corrected in following Vybrid RM revisions.
So, in your application you need to take care of this, checking the YPOS in a TileLayer, if the value is negative then reduce the Vertical Layer size.
Also, Would you post the PARR_ERR_STATUS1, PARR_ERR_STATUS2, PARR_ERR_STATUS3 registers, please?
Maybe the errors flags (if any) can give us some clues.
Other question is, what happened if you increase the tile size (specially the vertical size), does it help?
Hello Manoj,
Too "telegraph" style :smileyhappy:...
May you provide more details, please? E.g.:
Sincerely, Naoum Gitnik.