arm: rmobile: lager: Add external RAM boot

If CONFIG_RMOBILE_EXTRAM_BOOT is enabled, U-Boot is booted from External RAM.
The default boot address is 0xB0000000.

Signed-off-by: Hisashi Nakamura <hisashi.nakamura.ak@renesas.com>
Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
diff --git a/arch/arm/cpu/armv7/rmobile/Kconfig b/arch/arm/cpu/armv7/rmobile/Kconfig
index c46a0cc..75e38ea 100644
--- a/arch/arm/cpu/armv7/rmobile/Kconfig
+++ b/arch/arm/cpu/armv7/rmobile/Kconfig
@@ -23,6 +23,11 @@
 config SYS_SOC
 	default "rmobile"
 
+config RMOBILE_EXTRAM_BOOT
+	bool "Enable boot from RAM"
+	depends on TARGET_LAGER
+	default n
+
 source "board/atmark-techno/armadillo-800eva/Kconfig"
 source "board/renesas/koelsch/Kconfig"
 source "board/renesas/lager/Kconfig"
diff --git a/board/renesas/lager/qos.c b/board/renesas/lager/qos.c
index ce7f8ba..dec37d2 100644
--- a/board/renesas/lager/qos.c
+++ b/board/renesas/lager/qos.c
@@ -13,7 +13,7 @@
 #include <asm/arch/rmobile.h>
 
 /* QoS version 0.955 for ES1 and version 0.963 for ES2 */
-
+#if defined(CONFIG_RMOBILE_EXTRAM_BOOT)
 enum {
 	DBSC3_00, DBSC3_01, DBSC3_02, DBSC3_03, DBSC3_04,
 	DBSC3_05, DBSC3_06, DBSC3_07, DBSC3_08, DBSC3_09,
@@ -2381,3 +2381,8 @@
 	else
 		qos_init_es1();
 }
+#else /* CONFIG_RMOBILE_EXTRAM_BOOT */
+void qos_init(void)
+{
+}
+#endif /* CONFIG_RMOBILE_EXTRAM_BOOT */
diff --git a/include/configs/lager.h b/include/configs/lager.h
index 699135f..a814b4c 100644
--- a/include/configs/lager.h
+++ b/include/configs/lager.h
@@ -39,7 +39,11 @@
 #define CONFIG_FAT_WRITE
 #define CONFIG_EXT4_WRITE
 
+#if defined(CONFIG_RMOBILE_EXTRAM_BOOT)
+#define CONFIG_SYS_TEXT_BASE	0xB0000000
+#else
 #define CONFIG_SYS_TEXT_BASE	0xE8080000
+#endif
 #define CONFIG_SYS_THUMB_BUILD
 #define CONFIG_SYS_GENERIC_BOARD
 
@@ -70,8 +74,12 @@
 #define CONFIG_TMU_TIMER
 
 /* STACK */
-#define CONFIG_SYS_INIT_SP_ADDR		0xE827fffc
-#define STACK_AREA_SIZE				0xC000
+#if defined(CONFIGF_RMOBILE_EXTRAM_BOOT)
+#define CONFIG_SYS_INIT_SP_ADDR		0xB003FFFC
+#else
+#define CONFIG_SYS_INIT_SP_ADDR		0xE827FFFC
+#endif
+#define STACK_AREA_SIZE			0xC000
 #define LOW_LEVEL_MERAM_STACK	\
 		(CONFIG_SYS_INIT_SP_ADDR + STACK_AREA_SIZE - 4)