From d32a1a4caa2a2ca7c385f4489167e170bf7fb5c1 Mon Sep 17 00:00:00 2001 From: Minkyu Kang Date: Sun, 24 Apr 2011 22:22:34 +0000 Subject: [PATCH] Don't grab memory for LCD if FB address is defined If FB address is defined specific address then don't grab memory for LCD Signed-off-by: Minkyu Kang Cc: Albert Aribaud Cc: Wolfgang Denk Cc: Stefan Roese Cc: Kim Phillips Cc: Andy Fleming Cc: Kumar Gala --- README | 14 ++++++++++++++ arch/arm/lib/board.c | 4 ++++ arch/m68k/lib/board.c | 4 ++++ arch/powerpc/lib/board.c | 4 ++++ 4 files changed, 26 insertions(+) diff --git a/README b/README index 85cbb8e021..ba4fdd44a3 100644 --- a/README +++ b/README @@ -2011,6 +2011,20 @@ The following options need to be configured: thus overwriting the architecutre dependent default settings. +- Frame Buffer Address: + CONFIG_FB_ADDR + + Define CONFIG_FB_ADDR if you want to use specific address for + frame buffer. + Then system will reserve the frame buffer address to defined address + instead of lcd_setmem (this function grab the memory for frame buffer + by panel's size). + + Please see board_init_f function. + + If you want this config option then, + please define it at your board config file + Legacy uImage format: Arg Where When diff --git a/arch/arm/lib/board.c b/arch/arm/lib/board.c index d5b34adfb0..1a784a1e19 100644 --- a/arch/arm/lib/board.c +++ b/arch/arm/lib/board.c @@ -356,9 +356,13 @@ void board_init_f (ulong bootflag) #endif /* CONFIG_VFD */ #ifdef CONFIG_LCD +#ifdef CONFIG_FB_ADDR + gd->fb_base = CONFIG_FB_ADDR; +#else /* reserve memory for LCD display (always full pages) */ addr = lcd_setmem (addr); gd->fb_base = addr; +#endif /* CONFIG_FB_ADDR */ #endif /* CONFIG_LCD */ /* diff --git a/arch/m68k/lib/board.c b/arch/m68k/lib/board.c index f824b34252..6a892db649 100644 --- a/arch/m68k/lib/board.c +++ b/arch/m68k/lib/board.c @@ -277,9 +277,13 @@ board_init_f (ulong bootflag) debug ("Top of RAM usable for U-Boot at: %08lx\n", addr); #ifdef CONFIG_LCD +#ifdef CONFIG_FB_ADDR + gd->fb_base = CONFIG_FB_ADDR; +#else /* reserve memory for LCD display (always full pages) */ addr = lcd_setmem (addr); gd->fb_base = addr; +#endif /* CONFIG_FB_ADDR */ #endif /* CONFIG_LCD */ /* diff --git a/arch/powerpc/lib/board.c b/arch/powerpc/lib/board.c index 83fb0744f5..aaa5add1fa 100644 --- a/arch/powerpc/lib/board.c +++ b/arch/powerpc/lib/board.c @@ -459,9 +459,13 @@ void board_init_f (ulong bootflag) debug ("Top of RAM usable for U-Boot at: %08lx\n", addr); #ifdef CONFIG_LCD +#ifdef CONFIG_FB_ADDR + gd->fb_base = CONFIG_FB_ADDR; +#else /* reserve memory for LCD display (always full pages) */ addr = lcd_setmem (addr); gd->fb_base = addr; +#endif /* CONFIG_FB_ADDR */ #endif /* CONFIG_LCD */ #if defined(CONFIG_VIDEO) && defined(CONFIG_8xx) -- 2.30.2