aboutsummaryrefslogtreecommitdiff
path: root/arch/arm/cpu
diff options
context:
space:
mode:
authorSimon Schwarz <simonschwarzcor@googlemail.com>2011-09-14 15:32:57 -0400
committerAlbert ARIBAUD <albert.u.boot@aribaud.net>2011-09-30 22:00:55 +0200
commit409ef1bcfbadf71059477feda1d88e717a4b7e62 (patch)
tree3c0fdc09a7d8f5c2d183deb9d8c1d64bd86afad6 /arch/arm/cpu
parent3f6a4922d42ea818658c3f3b6f000611257f032d (diff)
omap3: implement boot parameter saving
Implements the saving of boot params passed by OMAP3 ROM code. Signed-off-by: Simon Schwarz <simonschwarzcor@gmail.com> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
Diffstat (limited to 'arch/arm/cpu')
-rw-r--r--arch/arm/cpu/armv7/omap-common/spl.c6
-rw-r--r--arch/arm/cpu/armv7/omap3/lowlevel_init.S9
2 files changed, 12 insertions, 3 deletions
diff --git a/arch/arm/cpu/armv7/omap-common/spl.c b/arch/arm/cpu/armv7/omap-common/spl.c
index 53d10bf2a..3dd8e0dc5 100644
--- a/arch/arm/cpu/armv7/omap-common/spl.c
+++ b/arch/arm/cpu/armv7/omap-common/spl.c
@@ -194,8 +194,12 @@ static void mmc_load_image(void)
printf("spl: mmc init failed: err - %d\n", err);
hang();
}
-
+/* For OMAP3 there is no automatic boot mode detection */
+#ifdef CONFIG_OMAP34XX
+ boot_mode = CONFIG_SYS_MMC_SD_BOOTMODE;
+#else
boot_mode = omap_boot_mode();
+#endif
if (boot_mode == MMCSD_MODE_RAW) {
debug("boot mode - RAW\n");
mmc_load_image_raw(mmc);
diff --git a/arch/arm/cpu/armv7/omap3/lowlevel_init.S b/arch/arm/cpu/armv7/omap3/lowlevel_init.S
index 48a7ec694..a308ebdb6 100644
--- a/arch/arm/cpu/armv7/omap3/lowlevel_init.S
+++ b/arch/arm/cpu/armv7/omap3/lowlevel_init.S
@@ -37,8 +37,13 @@ _TEXT_BASE:
.global save_boot_params
save_boot_params:
- #warning "Please implement save_boot_params for OMAP3"
- bx lr
+#ifdef CONFIG_SPL_BUILD
+ ldr r4, =omap3_boot_device
+ ldr r5, [r0, #0x4]
+ and r5, r5, #0xff
+ str r5, [r4]
+#endif
+ bx lr
.global omap3_gp_romcode_call
omap3_gp_romcode_call: