[U-Boot] [PATCH RESEND] Added support for splash screen positioning
Matthias Fuchs
matthias.fuchs at esd.eu
Mon Jul 6 11:23:07 CEST 2009
Hi,
I posted a similiar patch a long time ago:
http://lists.denx.de/pipermail/u-boot/2007-July/022741.html
It's also a little bit more powerful because is supports alignment
on top/center/bottom and right/center/left on the screen.
I couldn't find the answer posting on my patch. But I think it
was rejected because of some planned changes in the video subsystem.
If we can use a powerful splashimage variable, I would vote for my patch
and check it on top of git.
I can understand Wolfgang's objection but please keep the amount of
variables for positioning on a reasonable level. Just one for the stuff
behind the address (see my proposed format) would be ok for me.
Matthias
On Wednesday 01 July 2009 17:01, Matthias Weisser wrote:
> This patch adds support splash image positioning by
> optinally adding x and y coordinates to the splashimage
> environment variable.
>
> Signed-off-by: Matthias Weisser <matthias.weisser at graf-syteco.de>
> ---
> README | 8 ++++++--
> common/lcd.c | 11 +++++++++--
> drivers/video/cfb_console.c | 9 ++++++++-
> 3 files changed, 23 insertions(+), 5 deletions(-)
> mode change 100644 => 100755 README
> mode change 100644 => 100755 common/lcd.c
> mode change 100644 => 100755 drivers/video/cfb_console.c
>
> diff --git a/README b/README
> old mode 100644
> new mode 100755
> index 561c100..dd47a83
> --- a/README
> +++ b/README
> @@ -1069,8 +1069,12 @@ The following options need to be configured:
> a variable "splashimage". If found, the usual display
> of logo, copyright and system information on the LCD
> is suppressed and the BMP image at the address
> - specified in "splashimage" is loaded instead. The
> - console is redirected to the "nulldev", too. This
> + specified in "splashimage" is loaded instead.
> + The logo can be positioned on any position by
> + (optionally) adding the x and y coordinates after the
> + address in the environment variable "splashimage"
> + sperated by a space. "splashimage=0x10060000 160 120"
> + The console is redirected to the "nulldev", too. This
> allows for a "silent" boot where a splash screen is
> loaded very quickly after power-on.
>
> diff --git a/common/lcd.c b/common/lcd.c
> old mode 100644
> new mode 100755
> index 74a5c77..160f08a
> --- a/common/lcd.c
> +++ b/common/lcd.c
> @@ -809,9 +809,16 @@ static void *lcd_logo (void)
> static int do_splash = 1;
>
> if (do_splash && (s = getenv("splashimage")) != NULL) {
> - addr = simple_strtoul(s, NULL, 16);
> + int x = 0, y = 0;
> do_splash = 0;
>
> + addr = simple_strtoul (s, NULL, 16);
> + if ((s = strchr (s, ' ')) != NULL) {
> + x = simple_strtoul (s + 1, NULL, 0);
> + if ((s = strchr (s + 1, ' ')) != NULL)
> + y = simple_strtoul (s + 1, NULL, 0);
> + }
> +
> #ifdef CONFIG_VIDEO_BMP_GZIP
> bmp_image_t *bmp = (bmp_image_t *)addr;
> unsigned long len;
> @@ -822,7 +829,7 @@ static void *lcd_logo (void)
> }
> #endif
>
> - if (lcd_display_bitmap (addr, 0, 0) == 0) {
> + if (lcd_display_bitmap (addr, x, y) == 0) {
> return ((void *)lcd_base);
> }
> }
> diff --git a/drivers/video/cfb_console.c b/drivers/video/cfb_console.c
> old mode 100644
> new mode 100755
> index bcafb27..528349a
> --- a/drivers/video/cfb_console.c
> +++ b/drivers/video/cfb_console.c
> @@ -1188,9 +1188,16 @@ static void *video_logo (void)
> ulong addr;
>
> if ((s = getenv ("splashimage")) != NULL) {
> + int x = 0, y = 0;
> +
> addr = simple_strtoul (s, NULL, 16);
> + if ((s = strchr (s, ' ')) != NULL) {
> + x = simple_strtoul (s + 1, NULL, 0);
> + if ((s = strchr (s + 1, ' ')) != NULL)
> + y = simple_strtoul (s + 1, NULL, 0);
> + }
>
> - if (video_display_bitmap (addr, 0, 0) == 0) {
> + if (video_display_bitmap (addr, x, y) == 0) {
> return ((void *) (video_fb_address));
> }
> }
--
-------------------------------------------------------------------------
Dipl.-Ing. Matthias Fuchs
Head of System Design
esd electronic system design gmbh
Vahrenwalder Str. 207 - 30165 Hannover - GERMANY
Phone: +49-511-37298-0 - Fax: +49-511-37298-68
Please visit our homepage http://www.esd.eu
Quality Products - Made in Germany
-------------------------------------------------------------------------
Geschäftsführer: Klaus Detering, Dr. Werner Schulze
Amtsgericht Hannover HRB 51373 - VAT-ID DE 115672832
-------------------------------------------------------------------------
More information about the U-Boot
mailing list