Keep uboot splash screen during kernel boot on IM8QM

Hi @victorduong , I was checking the other ticket with @henrique.tx. I’m thinking that this issue could be prevented if use simple-framebuffer in Uboot. What do you think @henrique.tx ?

Can you try the following?

1. Enable simple-framebuffer in the Linux kernel

Ensure the following are set in your kernel config:

CONFIG_FB_SIMPLE=y
CONFIG_DRM_SIMPLEDRM=y
CONFIG_FRAMEBUFFER_CONSOLE=y

2. Patch the device tree in U-Boot to provide simple-framebuffer

You need to update your U-Boot or Linux device tree to include a chosen node with a framebuffer subnode like:

/ {
    chosen {
        framebuffer@0 {
            compatible = "simple-framebuffer";
            reg = <0xXXXXXXXX 0xYYYYYYYY>; // framebuffer address and size
            width = <1920>;
            height = <1080>;
            stride = <1920 * 3>; // assuming 24bpp
            format = "r8g8b8";
        };
    };
};

U-Boot can populate this node dynamically during runtime if your patches support it. You can verify this by checking the flattened device tree passed to Linux (/proc/device-tree/chosen/framebuffer@0).


3. Prevent Linux from resetting the display

  • Make sure the LVDS panel settings in the Linux device tree match exactly what U-Boot uses (timings, bus format, etc.).

  • Add to kernel command line (The following is an example):

setenv tdxargs "video=LVDS-1:1920x1080@60e fbcon=map:1 fbcon=font:VGA8x8"

4. Optional: Suppress kernel console on framebuffer

To avoid any text appearing, add:

quiet loglevel=3