diff options
author | Simon Schwarz <simonschwarzcor@googlemail.com> | 2011-09-14 15:32:57 -0400 |
---|---|---|
committer | Albert ARIBAUD <albert.u.boot@aribaud.net> | 2011-09-30 22:00:55 +0200 |
commit | 409ef1bcfbadf71059477feda1d88e717a4b7e62 (patch) | |
tree | 3c0fdc09a7d8f5c2d183deb9d8c1d64bd86afad6 /arch | |
parent | 3f6a4922d42ea818658c3f3b6f000611257f032d (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')
-rw-r--r-- | arch/arm/cpu/armv7/omap-common/spl.c | 6 | ||||
-rw-r--r-- | arch/arm/cpu/armv7/omap3/lowlevel_init.S | 9 |
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 53d10bf2a57..3dd8e0dc5b5 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 48a7ec6949f..a308ebdb6a3 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: |