Hello,
We are trying to get an Active Matrix LCD with a resolution 128x80 16BPP work in U-Boot. We are noticing that when Pixels per line is set a value 128 or less, the DATA written to the framebuffer was being set (enabled) for the whole line.(probing lines on HW shows that DATA is high for all pixels clocks on that line)
So, if we write an 0xFF at index 0 of FrameBuffer, the LCD drew a complete line instead of 1 pixel.
If we change the Pixels per line to anything 129 and above, it works fine, ie: if we write an 0xFF at index 0 of FrameBuffer,we see 1 pixel on x=0,y=0.
Any ideas? is this a controller errata?
Below are settings.
Thanks
EBR
************************************
[0x48004e00] CM_FCLKEN_DSS = 0x00000005
[0x48004e10] CM_ICLKEN_DSS = 0x00000001
[0x48050010] DSS_SYSCONFIG = 0x00000001
[0x48050014] DSS_SYSSTATUS = 0x00000001
[0x48050018] DSS_IRQSTATUS = 0x00000000
[0x48050040] DSS_CONTROL = 0x00000078
[0x4805005c] DSS_CLK_STATUS = 0x00000081
[0x48050410] DISPC_SYSCONFIG = 0x00000001
[0x48050414] DISPC_SYSSTATUS = 0x00000001
[0x48050418] DISPC_IRQSTATUS = 0x0000c32e
[0x4805041c] DISPC_IRQENABLE = 0x00000000
[0x48050440] DISPC_CONTROL = 0x0801810b
[0x48050444] DISPC_CONFIG = 0x00000000
[0x4805044c] DISPC_DEFAULT_COLOR_0 = 0x00ff8000
[0x48050450] DISPC_DEFAULT_COLOR_1 = 0x00000000
[0x48050454] DISPC_TRANSP_COLOR_0 = 0x00000000
[0x48050458] DISPC_TRANSP_COLOR_1 = 0x00000000
[0x4805045c] DISPC_LINE_STATUS = 0x0000000e
[0x48050460] DISPC_LINE_NUMBER = 0x00000000
[0x48050464] DISPC_TIMING_H = 0x00100101
[0x48050468] DISPC_TIMING_V = 0x00100101
[0x4805046c] DISPC_POL_FREQ = 0x00000050
[0x48050470] DISPC_DIVISOR = 0x0001002c
[0x48050474] DISPC_GLOBAL_ALPHA = 0x00000000
[0x48050478] DISPC_SIZE_DIG = 0x00000000
[0x4805047c] DISPC_SIZE_LCD = 0x004f007f
[0x48050480] DISPC_GFX_BA0 = 0x87000000
[0x48050484] DISPC_GFX_BA1 = 0x87000000
[0x48050488] DISPC_GFX_POSITION = 0x00000000
[0x4805048c] DISPC_GFX_SIZE = 0x004f007f
[0x480504a0] DISPC_GFX_ATTRIBUTES = 0x0000000d
[0x480504a4] DISPC_GFX_FIFO_THRESHOLD = 0x0bff05ff
[0x480504a8] DISPC_GFX_FIFO_SIZE_STATUS = 0x00000400
[0x480504ac] DISPC_GFX_ROW_INC = 0x00000001
[0x480504b0] DISPC_GFX_PIXEL_INC = 0x00000001
[0x480504b4] DISPC_GFX_WINDOW_SKIP = 0x00000000
[0x480504b8] DISPC_GFX_TABLE_BA = 0x00000000
[0x4805062c] DISPC_GFX_PRELOAD = 0x000000e0
[0x480504d4] DISPC_DATA_CYCLE0 = 0x00000400
[0x480504d8] DISPC_DATA_CYCLE1 = 0x00000001
[0x480504dc] DISPC_DATA_CYCLE2 = 0x00000001
[0x48050620] DISPC_CPR_COEF_R = 0x00000000
[0x48050624] DISPC_CPR_COEF_G = 0x00000000
[0x48050628] DISPC_CPR_COEF_B = 0x00000000
[0x48050cc4] DSS_VENC_OUTPUT_CONTROL = 0x0000000d
[0x480022d8] CONTROL_DEVCONF1 = 0x00000040