LCD Display issue

Colibri Imx7 512MB V1.1D
Viola Rev 1.2
Linux BSP: 6.1.112

root@colibri-imx7-07049009:~# cat /proc/version
Linux version 6.1.112-6.8.0-devel+git.aa4cd140bba5 (oe-user@oe-host) (arm-tdx-linux-gnueabi-gcc (GCC) 11.4.0, GNU ld (GNU Binutils) 2.38.20220708)

I am not able to change display resolution [Current : 640x480 Required: 800x480]

I have made change into /home/{User}/linux/arch/arm/boot/dts/imx7-colibri-eval-v3.dtsi

bharat@bharat-Latitude-3490:~/linux$ git diff /home/bharat/linux/arch/arm/boot/dts/imx7-colibri-eval-v3.dtsi
diff --git a/arch/arm/boot/dts/imx7-colibri-eval-v3.dtsi b/arch/arm/boot/dts/imx7-colibri-eval-v3.dtsi
index 326440f2b4f4…3ddd0fa16dd7 100644
— a/arch/arm/boot/dts/imx7-colibri-eval-v3.dtsi
+++ b/arch/arm/boot/dts/imx7-colibri-eval-v3.dtsi
@@ -26,7 +26,7 @@ &atmel_mxt_ts {
interrupts = <9 IRQ_TYPE_EDGE_FALLING>; /* SODIMM 28 / INT /
pinctrl-0 = <&pinctrl_atmel_adapter>;
reset-gpios = <&gpio1 10 GPIO_ACTIVE_LOW>; /
SODIMM 30 / RST */

  •   status = "disabled";
    
  •   status = "okay";
    

};

/* Colibri SSP /
@@ -65,13 +65,13 @@ &pwm1 {
/
Colibri PWM /
&pwm2 {
/
The pwm2 should be disabled to enable atmel_mxt_ts touchscreen for adapter. */

  •   status = "okay";
    
  •   status = "disabled";
    

};

/* Colibri PWM /
&pwm3 {
/
The pwm3 should be disabled to enable atmel_mxt_ts touchscreen for adapter. */

  •   status = "okay";
    
  •   status = "disabled";
    

};

/* Colibri PWM */
@@ -109,3 +109,141 @@ &usbotg1 {
&usdhc1 {
status = “okay”;
};
+
+&lcdif {

  •   display = <&display0>;
    
  •   status = "okay";
    
  •   display0: lcd-display {
    
  •           bits-per-pixel = <16>;
    
  •           bus-width = <18>;
    
  •           display-timings {
    
  •                   native-mode = <&timing_rgb_24bit>;
    
  •                   /* Standard VGA timing */
    
  •                   timing_vga: 640x480 {
    
  •                           clock-frequency = <25175000>;
    
  •                           hactive = <640>;
    
  •                           vactive = <480>;
    
  •                           hback-porch = <40>;
    
  •                           hfront-porch = <24>;
    
  •                           vback-porch = <32>;
    
  •                           vfront-porch = <11>;
    
  •                           hsync-len = <96>;
    
  •                           vsync-len = <2>;
    
  •                           de-active = <1>;
    
  •                           hsync-active = <0>;
    
  •                           vsync-active = <0>;
    
  •                           pixelclk-active = <0>;
    
  •                   };
    
  •                   /* WVGA Timing, e.g. EDT ET070080DH6 */
    
  •                   timing_wvga: 800x480-60 {
    
  •                           clock-frequency = <33260000>;
    
  •                           hactive = <800>;
    
  •                           vactive = <480>;
    
  •                           hback-porch = <216>;
    
  •                           hfront-porch = <40>;
    
  •                           vback-porch = <35>;
    
  •                           vfront-porch = <10>;
    
  •                           hsync-len = <128>;
    
  •                           vsync-len = <2>;
    
  •                           de-active = <1>;
    
  •                           hsync-active = <0>;
    
  •                           vsync-active = <0>;
    
  •                           pixelclk-active = <0>;
    
  •                   };
    
  •                   /* WVGA Timing, TouchRevolution Fusion 7" */
    
  •                   timing_wvga2: 800x480pixclkact {
    
  •                           clock-frequency = <33260000>;
    
  •                           hactive = <800>;
    
  •                           vactive = <480>;
    
  •                           hback-porch = <216>;
    
  •                           hfront-porch = <40>;
    
  •                           vback-porch = <35>;
    
  •                           vfront-porch = <10>;
    
  •                           hsync-len = <128>;
    
  •                           vsync-len = <2>;
    
  •                           de-active = <1>;
    
  •                           hsync-active = <0>;
    
  •                           vsync-active = <0>;
    
  •                           pixelclk-active = <1>;
    
  •                   };
    
  •                   /* Standard SVGA timing */
    
  •                   timing_svga: 800x600 {
    
  •                           clock-frequency = <40000000>;
    
  •                           hactive = <800>;
    
  •                           vactive = <600>;
    
  •                           hback-porch = <88>;
    
  •                           hfront-porch = <40>;
    
  •                           vback-porch = <23>;
    
  •                           vfront-porch = <1>;
    
  •                           hsync-len = <128>;
    
  •                           vsync-len = <4>;
    
  •                           de-active = <1>;
    
  •                           hsync-active = <1>;
    
  •                           vsync-active = <1>;
    
  •                           pixelclk-active = <0>;
    
  •                   };
    
  •                   /* TouchRevolution Fusion 10"/CLAA101NC05 10.1 inch */
    
  •                   timing_wsvga: 1024x600 {
    
  •                           clock-frequency = <48000000>;
    
  •                           hactive = <1024>;
    
  •                           vactive = <600>;
    
  •                           hback-porch = <104>;
    
  •                           hfront-porch = <43>;
    
  •                           vback-porch = <24>;
    
  •                           vfront-porch = <20>;
    
  •                           hsync-len = <5>;
    
  •                           vsync-len = <5>;
    
  •                           de-active = <1>;
    
  •                           hsync-active = <0>;
    
  •                           vsync-active = <0>;
    
  •                           pixelclk-active = <0>;
    
  •                   };
    
  •                   /* Standard XGA timing */
    
  •                   timing_xga: 1024x768 {
    
  •                           clock-frequency = <65000000>;
    
  •                           hactive = <1024>;
    
  •                           vactive = <768>;
    
  •                           hback-porch = <160>;
    
  •                           hfront-porch = <24>;
    
  •                           vback-porch = <29>;
    
  •                           vfront-porch = <3>;
    
  •                           hsync-len = <136>;
    
  •                           vsync-len = <6>;
    
  •                           de-active = <1>;
    
  •                           hsync-active = <0>;
    
  •                           vsync-active = <0>;
    
  •                           pixelclk-active = <0>;
    
  •                   };
    
  •                   /* New Parallel 24-bit RGB Interface Timing */
    
  •                   timing_rgb_24bit: 800x480 {
    
  •                           clock-frequency = <25000000>;
    
  •                           hactive = <800>;
    
  •                           vactive = <480>;
    
  •                           hback-porch = <8>;
    
  •                           hfront-porch = <8>;
    
  •                           hsync-len = <4>;
    
  •                           vback-porch = <8>;
    
  •                           vfront-porch = <8>;
    
  •                           vsync-len = <4>;
    
  •                           de-active = <1>;
    
  •                           hsync-active = <0>;
    
  •                           vsync-active = <0>;
    
  •                           pixelclk-active = <0>;
    
  •                   };
    
  •           };
    
  •   };
    

+};


After deploying changes

root@colibri-imx7-07049009:~# fbset

mode “640x480-0”
# D: 0.000 MHz, H: 0.000 kHz, V: 0.000 Hz
geometry 640 480 640 480 32
timings 0 0 0 0 0 0 0
accel true
rgba 8/16,8/8,8/0,0/0
endmode

root@colibri-imx7-07049009:~#

Output of printenv

vidargs=video=mxcfb0:dev=lcd,800x480M@60 //This I have changed from 640x480
videomode=video=ctfb:x:640,y:480,depth:18,pclk:39722,le:48,ri:16,up:33,lo:10,hs:96,vs:2,sync:0,vmode:0

Hi, I’m the Toradex AI Assistant. The Toradex Support team will follow up with you shortly!

Did you like my answer?

:+1: :-1:


To change the display resolution on your Colibri iMX7 module, you have made modifications to the device tree and updated the vidargs environment variable in U-Boot. However, it seems the resolution is still not being applied as expected. Here are a few steps and considerations to ensure the changes take effect:

  1. Device Tree Changes: You have added the lcdif node with various display timings in the device tree. Ensure that the native-mode is set to the desired timing node, such as timing_rgb_24bit for 800x480 resolution. This is already done in your changes.

  2. U-Boot Environment: You have updated the vidargs to video=mxcfb0:dev=lcd,800x480M@60. Ensure that this change is saved in the U-Boot environment. You can do this by running saveenv in the U-Boot prompt after setting the vidargs.

  3. Kernel Command Line: The vidargs should be correctly passed to the kernel. Double-check that the U-Boot environment is correctly set and that the kernel is booting with the updated vidargs.

  4. Framebuffer Configuration: The fbset output still shows 640x480. This might indicate that the framebuffer is not being reconfigured correctly. Ensure that the framebuffer driver is using the updated timings from the device tree. You might need to restart the display service or reboot the system to apply the changes.

  5. Check for Errors: Look for any error messages during boot or in the kernel logs (dmesg) that might indicate issues with applying the new display settings.

  6. Rebuild and Deploy: If changes are not taking effect, ensure that the device tree blob (DTB) is correctly rebuilt and deployed to the target device. Verify that the correct DTB is being used during boot.

If these steps do not resolve the issue, further investigation into the specific driver and kernel version might be necessary, as well as ensuring that all changes are correctly applied and saved.

Please, also check if these links can help you solve your problem:

How to apply custom timings for LCD on Colibri iMX6DL / Linux.

[ 0.000000] Kernel command line: quiet loglevel=0 ubi.mtd=ubi root=ubi0:rootfs rootfstype=ubifs ubi.fm_autoconvert=1 console=null,115200n8 consoleblank=0 video=mxsfb:800x480M-16@60 console=null

also getting some other warnings
[ 3.353417] mtdblock: MTD device ‘mx7-bcb’ is NAND, please consider using UBI block devices instead.
[ 3.465005] mtdblock: MTD device ‘u-boot1’ is NAND, please consider using UBI block devices instead.
[ 3.562089] mtdblock: MTD device ‘u-boot2’ is NAND, please consider using UBI block devices instead.
[ 3.630236] mtdblock: MTD device ‘u-boot-env’ is NAND, please consider using UBI block devices instead.
[ 3.669722] mtdblock: MTD device ‘ubi’ is NAND, please consider using UBI block devices instead.
[ 5.146241] systemd-journald[173]: Oldest entry in /run/log/journal/5f98400e9da94c1b8bf540ee164a2b2c/system.journal is older than the configured file retention duration (1month), suggesting rotation.
[ 5.146276] systemd-journald[173]: /run/log/journal/5f98400e9da94c1b8bf540ee164a2b2c/system.journal: Journal header limits reached or header out-of-date, rotating.
[ 5.668008] mtdblock: MTD device ‘ubi’ is NAND, please consider using UBI block devices instead.
[ 5.685561] using random self ethernet address
[ 5.685581] using random host ethernet address
[ 5.773620] mtdblock: MTD device ‘u-boot2’ is NAND, please consider using UBI block devices instead.
[ 5.845996] mtdblock: MTD device ‘mx7-bcb’ is NAND, please consider using UBI block devices instead.
[ 5.853761] I/O error, dev mtdblock0, sector 0 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 2
[ 5.857499] I/O error, dev mtdblock0, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2
[ 5.857528] Buffer I/O error on dev mtdblock0, logical block 0, async page read
[ 5.935369] usb0: HOST MAC 8e:03:b9:73:6b:c0
[ 5.935393] usb0: MAC ba:b8:79:26:d5:a4
[ 6.003126] mtdblock: MTD device ‘u-boot-env’ is NAND, please consider using UBI block devices instead.
[ 6.025210] mtdblock: MTD device ‘u-boot1’ is NAND, please consider using UBI block devices instead.

Hi @bharat_sabne ,

Please follow the instructions mentioned on your email ticket.

Hi Sahil,

Thank you, I’ll make changes and will let you know results as soon as possible.

Hi,

I have move to dunfell (5.7), issue of display resolution has been resolved.