powerpc, mpc5xxx: fix missing bootflag init
authorHeiko Schocher <hs@denx.de>
Wed, 25 Nov 2015 08:46:19 +0000 (09:46 +0100)
committerYork Sun <yorksun@freescale.com>
Tue, 5 Jan 2016 16:33:44 +0000 (08:33 -0800)
since:
commit: f05ad9ba "Add a way to skip relocation"

tqm5200s board fails to boot. Reason is that
board_init_f has a function parameter bootflag,
which is not setup in
in arch/powerpc/cpu/mpc5xxx/start.S _start

So board_init_f gets a undefined bootflag,
currently the gd pointer address. Unfortunately
this address sets the GD_FLG_SKIP_RELOC bit,
so u-boot code gets not relocated and u-boot
does not boot ...

Init bootflag with 0, and tqm5200 boots fine again.

Signed-off-by: Heiko Schocher <hs@denx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: York Sun <yorksun@freescale.com>
arch/powerpc/cpu/mpc5xxx/start.S

index 94eb0d3fff881ae251ea7bdbcee9b2a5ab58d68f..54793f052361763179b4c7de7c7296f0524a79f6 100644 (file)
@@ -91,6 +91,7 @@ _start:
        li      r5,GD_SIZE      /* parameter 3:  count                  */
        bl      memset
 
+       li      r3, 0           /* parameter 1:  bootflag               */
        bl      board_init_f    /* run 1st part of board init code (in Flash)*/
        /* NOTREACHED - board_init_f() does not return */
 #else
@@ -169,6 +170,7 @@ lowboot_reentry:
        /* r3: IMMR */
        bl      cpu_init_f      /* run low-level CPU init code (in Flash)*/
 
+       li      r3, 0           /* parameter 1:  bootflag               */
        bl      board_init_f    /* run 1st part of board init code (in Flash)*/
 
        /* NOTREACHED - board_init_f() does not return */