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.weis...@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
-------------------------------------------------------------------------
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to