How to keep logo from uboot to kernel on imx8mm.

cancel
Showing results for 
Search instead for 
Did you mean: 

How to keep logo from uboot to kernel on imx8mm.

2,142 Views
ruansy
Contributor I

When the Uboot is boot up, I can watch a logo image on the screen, but the the screen will turn black after "Starting kernel"

Labels (1)
10 Replies

1,320 Views
stevenmichel
Contributor II

I made a code change to uboot to keep the display driver up; however it can occasionally shift the splash screen a random number of pixels up and right.  Maybe that's why they turn off the display...

0 Kudos

1,316 Views
cedric_starke
Contributor III

Hi Steven,

you made a change in uboot only and the display continues to work throughout the kernel boot process including the screen content?
In my attempts I had big problems with the kernel power management stopping and restarting the mipi unit several times during the kernel boot process.
And when I disabled the mipi driver shutdown at the end of uboot, my kernel only booted correctly in 2 out of 3 attempts. So this was not usable in practice.

0 Kudos

1,302 Views
stevenmichel
Contributor II

 #if defined(CONFIG_VIDEO_MXS)
  - lcdif_power_down();
  + /* lcdif_power_down(); */
 #en

I simply commented out the call power down the LCD.  This brings no unpredictable kernel issue that you experienced save the random position shift of the splash image from center immediately after uboot.  From the log times, if takes 10 seconds for the kernel to relocate itself and begin executing code.  When kernel init gets to the display driver, any splash shift is corrected by the driver init and then writing of the kernel's identical splash image.  If I let uboot power down the LCD, I would have 10+ seconds of black screen.  I will explore doing part of lcdif_power_down() perhaps to unmap memory while still leaving the LCD backlight on, etc...

Kernel log from the debug serial port. 

[12:42:06.076] Using Device Tree in place at 908056a0, end 90813a31
[12:42:06.083]
[12:42:06.083] Starting kernel ...
*** splash image sometimes shifts position ***
[12:42:06.083]
[12:42:17.085] [ 0.000000] Booting Linux on physical CPU 0x0

0 Kudos

1,229 Views
cedric_starke
Contributor III

Looks a bit different from my page.
lcdif_power_down() is not used in the file cpu.c because the above define contains another entry:

#if defined(CONFIG_VIDEO_MXS) && !defined(CONFIG_DM_VIDEO)
	lcdif_power_down();
#endif

 

I have tried removing the device_remove() and mxs_remove_common() call in the mxs_video_remove() function, but this sometimes ends up in a deadlock when booting the kernel.
Also, the kernel directly disables my display in the first 2 seconds of booting. So there was no real added value to this code change.

What uboot and kernel version are you using?

 

0 Kudos

1,658 Views
cedric_starke
Contributor III

Hello @ruansy ,

did you already find a solution for this issue?

The link from @Bio_TICFSL is interesting, but only shows how to replace the Linux penguins with your own logo.

I'm also looking for a solution on how to display any splash screen in uboot and keep it active until Linux finishes booting. I did a lot of research with examples based on imx6, but the mipi interface is completely different and so is the power management when booting Linux.

So if you have any further information I would be very interested.


Thanks in advance

Cedric

 

0 Kudos

1,910 Views
myy
Contributor II

Hi

 how to initialized the MIPI DSI controller in uboot ,and display logo 

0 Kudos

2,129 Views
zhouyq
Contributor II

yep, I also want to know how to solve this problem. When switching from u-boot to kernel display, the screen is always black, and the logo cannot be displayed continuously. how to solve this problem?

2,141 Views
ruansy
Contributor I

BSP version is L5.4.70-2.3.0

0 Kudos

2,043 Views
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hello ruansy,

Maybe this link can help:

https://developer.toradex.com/knowledge-base/splash-screen-linux

 

Regards

 

0 Kudos

1,451 Views
cedric_starke
Contributor III

Hello @Bio_TICFSL ,

your added link shows how to change the Linux penguins to an own logo. But the original question was about passing the splash screen from the uboot to the kernel.

Do you have a solution for that today too?

 

Regards

Cedric

0 Kudos