summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>2014-10-31 16:16:26 +0900
committerNobuhiro Iwamatsu <iwamatsu@nigauri.org>2014-11-04 08:59:00 +0900
commitfb6f6001ed0f0f8987728ef00e6bab2e2b9af706 (patch)
treeac0a167f904d0ce0964c2d49925629b0c1e17685
parentd8659c6d25219e3f89b6696b86c3b18dcf5c3fb5 (diff)
downloadu-boot-imx-fb6f6001ed0f0f8987728ef00e6bab2e2b9af706.zip
u-boot-imx-fb6f6001ed0f0f8987728ef00e6bab2e2b9af706.tar.gz
u-boot-imx-fb6f6001ed0f0f8987728ef00e6bab2e2b9af706.tar.bz2
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>
-rw-r--r--arch/arm/cpu/armv7/rmobile/Kconfig5
-rw-r--r--board/renesas/lager/qos.c7
-rw-r--r--include/configs/lager.h12
3 files changed, 21 insertions, 3 deletions
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 @@ endchoice
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 @@ void qos_init(void)
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)