This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Low Resolution Display Issue

Other Parts Discussed in Thread: SYSCONFIG

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