From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Nelson Date: Tue, 04 Jun 2013 07:30:38 -0700 Subject: [U-Boot] [PATCH] Add splash screen support via loading from flash In-Reply-To: <51ADF682.1040305@denx.de> References: <1369947781-25077-1-git-send-email-robert.winkler@boundarydevices.com> <51AC495C.5040003@denx.de> <51ADEF36.2000505@denx.de> <51ADF1B6.7020307@boundarydevices.com> <51ADF682.1040305@denx.de> Message-ID: <51ADFA0E.6060603@boundarydevices.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi Stefano, On 06/04/2013 07:15 AM, Stefano Babic wrote: > Hi Eric, > > On 04/06/2013 15:55, Eric Nelson wrote: >> Hi Stefano, >> >> On 06/04/2013 06:44 AM, Stefano Babic wrote: >>> Hi Robert, >>> >>> On 03/06/2013 18:34, Robert Winkler wrote: >>> >>>>> Which is the advantage instead of using the "preboot" variable setting >>>>> CONFIG_PREBOOT ? It does pretty the same and you can move the whole >>>>> script outside of board code. >>>> >>>> The preboot command is run too late. It looks like it is run in >>>> main_loop but U-Boot looks for the splash image >>>> at the address in the splashimage variable in board_init_r -> >>>> stdio_init -> drv_lcd_init or drv_video_init (depending on >>>> whether you have CONFIG_LCD or CONFIG_VIDEO). >>> >>> You are describing a bug - then it should be fixed globally, not only >>> for this board. >>> >> >> What's the bug? >> - preboot being called too late, or > > preboot is not called too late. The behavior is correct and wanted, as > the name says, and the variable is evaluated during the main loop before > booting. My suggestion comes because it is possible to implement a > splashscreen (even if the name can be misleading..), setting preboot to > something like "nand read
;bmp display
". > In your case (with a bmp image), it could be: > "preboot=if sf probe ; then " \ > "sf read ${splashimage} c2000 ${splashsize} ; bmp display > ${splashimage}; fi\0" > > The behavior is exactly as the subject in the patch, the delay is from > power-on until main loop is called. It can be on some boards acceptable, > sometimes not. > Gotcha. This method doesn't involve splash_screen_prepare() though. It also will blink the display since the splash screen will paint after the the compiled-in logo case. http://git.denx.de/u-boot.git/?p=u-boot.git;a=blob;f=common/lcd.c#l1085 >> - splash_screen_prepare() being called too early >> >> It seems that having splash_screen_prepare() called early >> makes sense, because stdout could be set to include VGA >> and having access to stdout is very useful in preboot >> commands. > > You mention that it does not work, and then I assume that it is a bug, > because an image should be displayed. But again, if it does not work, > the issue is related to the video subsystem and should be fixed there > and not in board code - this is my point. > This works with Robert's latest patch, which implements splash_screen_prepare() for boards that use cfb_console. It just wasn't implemented there. Regards, Eric