diff options
author | Teresa Gámez <t.gamez@phytec.de> | 2013-07-09 11:23:20 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2013-07-10 23:30:42 +0200 |
commit | c5c875ab7f442365a0c4c453238ef0a8a4ebb2d0 (patch) | |
tree | 81181793c30c35bf9bb169df7965b4a3f586204d /arch/arm/boards/panda | |
parent | f0c0d46f6465fc348591258935f573aab4014c7a (diff) | |
download | barebox-c5c875ab7f442365a0c4c453238ef0a8a4ebb2d0.tar.gz barebox-c5c875ab7f442365a0c4c453238ef0a8a4ebb2d0.tar.xz |
arm: omap: store boot source info from ROM loader
The ROM loader passes the address of a buffer to the MLO in
register 0. Store this data so we can find the boot source later.
On the same way the bootinformation are passed to the barebox,
then. It has to be enshured that r0 contains always the
buffer or the boot source detection will not work.
Applied this on all OMAPs. This patch is based on work of
Jan Luebbe <jlu@pengutronix.de>.
Compile tested on all OMAP boards.
Tested on pcm049, phyCARD-A-L1 and pcm051.
Signed-off-by: Teresa Gámez <t.gamez@phytec.de>
Tested-by: Christoph Fritz <chf.fritz@googlemail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm/boards/panda')
-rw-r--r-- | arch/arm/boards/panda/lowlevel.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/arm/boards/panda/lowlevel.c b/arch/arm/boards/panda/lowlevel.c index 5d3490f822..a21d55928c 100644 --- a/arch/arm/boards/panda/lowlevel.c +++ b/arch/arm/boards/panda/lowlevel.c @@ -17,8 +17,10 @@ * */ #include <common.h> +#include <init.h> #include <io.h> #include <sizes.h> +#include <mach/generic.h> #include <mach/omap4-mux.h> #include <mach/omap4-silicon.h> #include <mach/omap4-clock.h> @@ -76,8 +78,10 @@ static void noinline panda_init_lowlevel(void) omap4460_scale_vcores(TPS62361_VSEL0_GPIO, 1210); } -void barebox_arm_reset_vector(void) +void __bare_init __naked barebox_arm_reset_vector(uint32_t *data) { + omap_save_bootinfo(); + arm_cpu_lowlevel_init(); if (get_pc() > 0x80000000) |