I work on a project with Colibri iMX6DL module and parallel LCD (Winstar WF70YT* series). I did managed to set correct display timings with linux command “fbset” and would like to apply the settings on system boot.
Should I customize the Device Tree? Which properties/nodes should I change (any examples available)?
What should I put to “vidargs” uboot environment variable to make these DT changes to be used by kernel/OS?
I did managed to set correct display timings with linux command “fbset” and would like to apply the settings on system boot.
In most cases, you can setup the properties using u-boot variable vidargs as explained here.
Should I customize the Device Tree? Which properties/nodes should I change (any examples available)? What should I put to “vidargs” uboot environment variable to make these DT changes to be used by kernel/OS?
This will depend on the display you are using. Our Developer Article describes how you can setup the uboot variables and give some examples for the device tree properties.
The display I’m working with is Winstar WF70YTIAGDNG0#.
I’ve already changed the “vidargs” variable to value:
“video=mxcfb0:dev=lcd,800x480M@60,if=RGB24,bpp=24 video=mxcfb1:off fbmem=8M”
Also I’ve enabled all 24 data lines for parallel RGB interface with modification in Device Tree.
With only this two changes image on the display is shifted off center (to right and to top).
Then I’ve managed to correct the image using “fbset” command with parameters:
-left 26
-right 210
-upper 13
-lower 22
-hslen 20
-vslen 10
-vsync low
These values I’ve based on documentation (timing data) of the display.
So now I would like to modify Device Tree to apply the same timing values for the display, but I’m not sure which nodes/properties to change. Is there any good example available with similar modification to use on iMX6DL module (with Linux BSP 2.7)?
This developer article ? I do not see any example of Device Tree modification for iMX6 there. Should I use the same node/properties as in example for iMX7?
I don’t think you can specify the timings for the parallel LCD in the device tree in the downstream 4.1 (or 4.9) kernel. You rather have to change the kernel code and recompile and deploy the kernel. Here we refer to this as named modes.
E.g. add your timings as an additional array element here and then choose the timing on the kernel command line.