summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorTom Rini <trini@ti.com>2013-08-09 11:22:15 -0400
committerTom Rini <trini@ti.com>2013-08-15 18:38:35 -0400
commitec101fdb8d419975c7722c1d23470d9674350c3c (patch)
treeb39ba93a3255302d8a8c0bfcbe41fdd32f755205 /arch
parent4db4076206d643065c6cd5b87a7b014e15ff17e0 (diff)
arm: spl: For Falcon Mode, set a default machid of ~0
With device trees, boards do not always set CONFIG_MACH_TYPE now, so we must not rely on this define being set. The kernel uses ~0 to see if we have a valid machine number or not, so set that as the default, invalid machine, id and only fix if CONFIG_MACH_TYPE is set. Acked-by: Dan Murphy <dmurphy@ti.com> Tested-by: Heiko Schocher <hs@denx.de> Cc: Albert ARIBAUD <albert.u.boot@aribaud.net> Signed-off-by: Tom Rini <trini@ti.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/lib/spl.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/arch/arm/lib/spl.c b/arch/arm/lib/spl.c
index 583bdb3ac26..26d0be47e59 100644
--- a/arch/arm/lib/spl.c
+++ b/arch/arm/lib/spl.c
@@ -45,12 +45,17 @@ void __weak board_init_f(ulong dummy)
#ifdef CONFIG_SPL_OS_BOOT
void __noreturn jump_to_image_linux(void *arg)
{
+ unsigned long machid = 0xffffffff;
+#ifdef CONFIG_MACH_TYPE
+ machid = CONFIG_MACH_TYPE;
+#endif
+
debug("Entering kernel arg pointer: 0x%p\n", arg);
typedef void (*image_entry_arg_t)(int, int, void *)
__attribute__ ((noreturn));
image_entry_arg_t image_entry =
(image_entry_arg_t) spl_image.entry_point;
cleanup_before_linux();
- image_entry(0, CONFIG_MACH_TYPE, arg);
+ image_entry(0, machid, arg);
}
#endif