arm: mach-omap2: Generate MLO file from SD boot capable targets
[platform/kernel/u-boot.git] / arch / powerpc / cpu / mpc5xxx / start.S
index 84ab41e..b4c5543 100644 (file)
@@ -14,8 +14,6 @@
 #include <mpc5xxx.h>
 #include <version.h>
 
-#define CONFIG_MPC5xxx 1       /* needed for Linux kernel header files */
-
 #include <ppc_asm.tmpl>
 #include <ppc_defs.h>
 
@@ -78,6 +76,21 @@ _start:
         * been done in the SPL u-boot version.
         */
        GET_GOT                 /* initialize GOT access                */
+
+       /*
+        * The GD (global data) struct needs to get cleared. Lets do
+        * this by calling memset().
+        * This function is called when the platform is build with SPL
+        * support from the main (full-blown) U-Boot. And the GD needs
+        * to get cleared (again) so that the following generic
+        * board support code initializes all variables correctly.
+        */
+       mr      r3, r2          /* parameter 1:  GD pointer             */
+       li      r4,0            /* parameter 2:  value to fill          */
+       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
@@ -156,6 +169,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 */