[U-Boot] [RFC]: always relocate u-boot before the framebuffer

Lukasz Majewski l.majewski at samsung.com
Mon Dec 31 15:33:53 CET 2012


Hi Jeroen,

> Hi All,
> 
> Currently CONFIG_FB_ADDR can be set to specify the location of the
> frame buffer. Since Linux places the frame buffer at the end of the
> RAM, it is nice to place it at the same position so the u-boot to
> linux transition can be made flicker free, by preserving the
> frame buffer. However u-boot and it's heap prefer to locate themselves
> at the end of the RAM as well and there is nothing which prevents them
> to overlap.
> 
> While this can be set/calculated manually, it would be nicer if the
> relocation would never take place to the region occupied by the
> frame buffer. A simple way to do so is to locate u-boot before the
> frame buffer, like it is already done when the frame buffer address is
> not set.
> 
> Currently there are 2 boards using the CONFIG_FB_ADDR and CONFIG_LCD
> on arm (trats, mimc200). Would it cause any problem to relocate
> u-boot below the frame buffer on these boards?
> 
> Regards,
> Jeroen
> 
> proposed patch:
> 
> diff --git a/arch/arm/lib/board.c b/arch/arm/lib/board.c
> index e0cb635..4d0fc3c 100644
> --- a/arch/arm/lib/board.c
> +++ b/arch/arm/lib/board.c
> @@ -371,9 +371,10 @@ void board_init_f(ulong bootflag)
>         gd->fb_base = CONFIG_FB_ADDR;
>  #else
>         /* reserve memory for LCD display (always full pages) */
> -       addr = lcd_setmem(addr);
> -       gd->fb_base = addr;
> +       gd->fb_base = lcd_setmem(addr);
>  #endif /* CONFIG_FB_ADDR */
> +       /* always continue placement below the frame buffer to not
> overlap */

Good idea. I will test it and let you know. 

-- 
Best regards,

Lukasz Majewski

Samsung Poland R&D Center | Linux Platform Group


More information about the U-Boot mailing list