iMX8mm: Display mode during u-boot

Hi,

My previous question concern about LVDS integration with Linux and Yocto building, that is now working fine, I have working display but wakeup of display take about 6 seconds after hard boot.

Problem is related to time between hard reset and Linux kernel loading. Some driver functionality is needed to provide LVDS signal and DSI to LVDS bridge chip control to support signal conversion. It will take about 6 seconds before LVDS panel get initialized and during this time there is driven full white content for the panel even if the boot is halted into u-boot and this is not acceptable. I also tried to define splash screen but it was not succeeded.

I assume u-boot will use imx8mm-verdin.dtb because verdin-imx8mm.conf have this definition:
UBOOT_DTB_NAME = “imx8mm-verdin.dtb”, please confirm this.

Therefore I assume the source is imx8mm-verdin.dts. I cloned Toradex u-boot git (git clone -b toradex_imx_v2020.04_5.4.70_2.3.0 git://git.toradex.com/u-boot-toradex.git) I can find the file: \arch\arm\dts\imx8mm-verdin.dts.

I have patched this file to have support for LVDS panel timing and bridge chip, which basically mean remove of lt8912@48 node and add bridge@2c node instead just like it is working in Linux kernel side.

After Yocto build I can see from logs this patch is done without problems but I cannot find the result binary (imx8mm-verdin.dtb) anywhere from the device after image update. This led me situation I do not know if this binary is used at all by u-boot-toradex. I tried to verify this by halting u-boot run using console terminal and investigating file system after ‘ums 0 mmc 0’ is given for u-boot but all I can see is those several dtb files for the Linux kernel.

An other weird issue is the u-boot video and bridge drivers, if there is defined anything in DTB file there should also be driver for that hardware. I can not find any driver for LVDS bridge chip, but more weird I can not even find any driver for HDMI bridge chip. Does this mean Toradex u-boot does not support DSI bridge chips at all even those are products sold by Toradex ?

Therefore question is quite simple: Does Toradex reference Yocto BSP layers support display out in u-boot for Todadex Verdin LVDS adapter (Verdin DSI to LVDS Adapter - Toradex) ?

If not, is there instructions coming how to add it by customer ?

Dear @veskola,

Thanks for reaching out to Toradex and providing such detailed information.

To prevent the display from turning fully white, did you try to turn the backlight of the display off, and only turning it on as soon as Linux takes over?

Unfortunately I have to tell you, that Toradex does no longer support display out during u-boot. Since in most use-cases the time spent in u-boot while booting is minimal, therefore this feature has been dropped.

Best Regards
Kevin

No, I took reference delivery for Yocto build provided by Toradex and assumed it works fine with display interface adapter provided by Toradex without need to modify or understand u-boot code.

Yesterday I updated Toradex Yocto layer contents and noticed my patches related to Linux device tree does not work anymore because now there is support for bridge chip which overwrite my patch related to an other file. Therefore solutions to my previous questions are not valid anymore :slight_smile: I also saw lot of changes related to background light and PWM. I think i need to start the whole work from scratch.

I question, if Toradex does not support display out during u-boot, why background is set on ? I definitely do not need display out, I just want the display remain black until the Linux kernel is capable to provide content there. If I will provide patch for u-boot can I be sure there is not same in Toradex delivery in next month which will break u-boot again ?

Dear @veskola,

this is unfortunately an artifact of the fact that you are using our newest product family Verdin. This issue has been addressed and patched a while ago, but has not yet been implemented for the Verdin family.

We will implement this in the future and at that point it will be available for you to download and remove this behavior.

No, the new Toradex delivery will not break u-boot again, when you provide a patch. You just have to be sure that you use your own custom u-boot in the process.

Best Regards
Kevin

Dear @kevin.tx,

Has this now been addressed for the Verdin family?

Best regards,
Ben

Hi @ben ,

Thanks for reaching out to Toradex through our community.

Is the use case the same for you? What are you trying to achieve?

Best Regards
Kevin

I’m also stuck in a little bit familiar problem. I am using imx8qxp_mek board where I want seamless logo from u-boot to kernel. I have successfully created the node in device tree and did some changing in u-boot and the logo is now working fine in u-boot.

However, the problem is that I want a seamless logo. The situation is that logo displays in the u-boot and continues until the kernel starts. After that, when the kernel starts, the logo disappears for a few seconds and then the splash screen appears again.

I removed the cleanup function in u-boot and tested that. The u-boot is not cleaning logo while giving control to the kernel. The kernel is restarting splash screen in my opinion that is causing the black screen for few seconds. Can anyone tell me how to disable this black screen
while switching from u-boot to kernel?

1 Like

There is some Possibilities

  1. GPIO for PWM and LCD Enable (IOMUXED) got reset on kernel init
    Have to give the control to uboot for these GPIOS (And stop them reset on init)
  2. Have to work in simple-panel.c (whatever you are using) driver to to stop the panel reset
  3. Delay the DRM Driver (build as a module in kernel) stop it autoloading and replace the buffer of uboot logo with kernel splash screen.
1 Like

Hi All

@ahsan57 thanks for posting this here.

@Hassan did this work for you?

Best Regards
Kevin