Patchwork [U-Boot,v4] Don't grab memory for LCD if FB address is defined

login
register
mail settings
Submitter Minkyu Kang
Date April 25, 2011, 8:22 a.m.
Message ID <4DB52F4A.8060407@samsung.com>
Download mbox | patch
Permalink /patch/92707/
State Accepted
Commit d32a1a4caa2a2ca7c385f4489167e170bf7fb5c1
Delegated to: Albert ARIBAUD
Headers show

Comments

Minkyu Kang - April 25, 2011, 8:22 a.m.
If FB address is defined specific address then don't grab memory for LCD

Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
Cc: Albert Aribaud <albert.aribaud@free.fr>
Cc: Wolfgang Denk <wd@denx.de>
Cc: Stefan Roese <sr@denx.de>
Cc: Kim Phillips <kim.phillips@freescale.com>
Cc: Andy Fleming <afleming@gmail.com>
Cc: Kumar Gala <kumar.gala@freescale.com>
---
v4
 move the document
v3
 fix whitespace errors
v2
 add document

 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(+), 0 deletions(-)

Patch

diff --git a/README b/README
index beb1cbb..c5533b4 100644
--- a/README
+++ b/README
@@ -2009,6 +2009,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 dc46e21..db13ad1 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 f824b34..6a892db 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 83fb074..aaa5add 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)