public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] [PATCH] powerpc/85xx: Relocate env_addr if we CONFIG_SYS_RAMBOOT
@ 2010-11-17 15:41 Kumar Gala
  2010-11-17 20:58 ` Wolfgang Denk
  0 siblings, 1 reply; 3+ messages in thread
From: Kumar Gala @ 2010-11-17 15:41 UTC (permalink / raw)
  To: u-boot

We use CONFIG_SYS_RAMBOOT for when boot out of NAND, SPI, SDHC/MMC
and utilize a L2 or L3 cache in SRAM mode.  In this case we will
end up changing the cache from SRAM mode back to cache before we
relocate the environment properly in env_relocate().

So we need to manual relocate the env pointer out of SRAM into DDR.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
---
 arch/powerpc/lib/board.c |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)

diff --git a/arch/powerpc/lib/board.c b/arch/powerpc/lib/board.c
index 2e0749d..5ce9caa 100644
--- a/arch/powerpc/lib/board.c
+++ b/arch/powerpc/lib/board.c
@@ -645,6 +645,18 @@ void board_init_r (gd_t *id, ulong dest_addr)
 	gd->cpu += dest_addr - CONFIG_SYS_MONITOR_BASE;
 #endif
 
+#if defined(CONFIG_MPC85xx) && defined(CONFIG_SYS_RAMBOOT)
+	/*
+	 * We use CONFIG_SYS_RAMBOOT for when boot out of NAND, SPI, SDHC/MMC
+	 * and utilize a L2 or L3 cache in SRAM mode.  In this case we will
+	 * end up changing the cache from SRAM mode back to cache before we
+	 * relocate the environment properly in env_relocate().
+	 *
+	 * So we need to manual relocate the env pointer out of SRAM into DDR.
+	 */
+	gd->env_addr += dest_addr - CONFIG_SYS_MONITOR_BASE;
+#endif
+
 #ifdef CONFIG_SERIAL_MULTI
 	serial_initialize();
 #endif
-- 
1.7.2.3

^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2010-11-17 21:41 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-11-17 15:41 [U-Boot] [PATCH] powerpc/85xx: Relocate env_addr if we CONFIG_SYS_RAMBOOT Kumar Gala
2010-11-17 20:58 ` Wolfgang Denk
2010-11-17 21:41   ` Scott Wood

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox