We are trying to add a new display on our board.
The DLC0700DDG-T-1 are a LVDS display, 16 bits and 800x480 resolution.
So, to make this works, first we added the compilation flag on kernel "MXC LDB" in Graphics Drivers.
After, we added our new timing structure in mxc_mx53loco.c and ldb.c like this
...
{
"DLCXGA", 60, 800, 480, 30066,
88, 40,
8, 35,
128, 2,
0,
FB_VMODE_NONINTERLACED,
FB_MODE_IS_DETAILED,},
..
This parameters come from DLC factory - they sent to us when we bought the display.
And finally, during U-boot process, we changed the arguments to:
setenv bootcmd_mmc 'run bootargs_base bootargs_mmc;mmc dev 0;mmc read ${loadaddr} 0x800 0x1800;bootm'
setenv bootcmd 'run bootcmd_mmc'
setenv bootargs_mmc 'setenv bootargs ${bootargs} root=/dev/mmcblk0p1 rootwait rw'
setenv bootargs_base 'setenv bootargs console=ttymxc0,115200 ${lvds}'
setenv lvds 'video=mxcdi0fb:RGB666,DLCXGA ldb=di0 di0_primary'
setenv set_display 'run lvds'
saveenv
Okay - i think that was all to do. BUT, the image that display shows are larger than the normal -
the resolution appears to be 1024x480, not 800x480 like the structure. But, when we run our application and do a "get_resolution", returns 800x480!!!
Another strange thing, the touchscreen are working perfectly - the returned value go from 0 to 800, but, an example, when we touch the center screen, the cursor appears in the end of the screen!!!!!!!!
The y- axis (480) works perfectly.
Something i missed in the declaration? Someone faced similar problem too?
A photo showing the problem was attached. The app running is "ts_test"
Thanks in advance
The problem was solved!!! We changed the "ldb_clk_prate" register in ldb.c (function ldb_fb_pre_setup) from value 455000000 to 332600000 (232820000/7 = 33.26MHz - our pixclock). Thanks for all!!!
That's the only information we have about display...
Maybe your lvds timing data is not correct, can you share the panel datasheet?
Any idea someone?!