I tried to change the display resolution from 640x480 to 320x240 for the 3.5’’ NewHeaven display without success.
As it describes in display-output-resolution…:
The kernel will always select the “best” display timings, which is the higher resolution. Therefore, if a resolution below the currently selected panel (by default VGA) is specified, the output will still be VGA. One can use XrandR to select the lower resolution. To permanently configure a certain display timing, using the panel-simple driver is the recommended approach.
i used the panel-simple.c and manipulate the “edt,et057090dhu” device like this
I also changed the device tree file like this.I copied just the dcu0 section from toradex_vf_4.1 and changed the resolution of the 640x480 entry.
I compiled the new kernel and update my sd card and run setupdate / run update at the uboot-terminal.
Furthermore i set the environment variable “fdt_fixup” in the uboot section like this.
I do not set the vidargs variable because of the precedence of the device tree.
The display shows just the upper left part of the standard toradex desktop screen on my 3.5’’ TFT.
Solved.
After recompile the Kernel the display shows the right resolution.
I have to set the fdt_fixup variable anytime when i update the kernel e.g. to change the display timings. To update the Kernal I always use these commands.
run setupdate
run prepare_ubi
run update
setenv fdt_fixup 'fdt addr ${fdt_addr_r} && fdt set /panel compatible "edt,et057090dhu"'
saveenv
boot