]> git.sur5r.net Git - u-boot/blobdiff - arch/arm/lib/spl.c
ARM: dts: am335x-bone: Enable uart and timer
[u-boot] / arch / arm / lib / spl.c
index 26d0be47e59766a0dd8f55d65addabb1ce64d012..e42886840ed64865aaeabaed93678801e098a5dd 100644 (file)
 #include <image.h>
 #include <linux/compiler.h>
 
+#ifndef CONFIG_SPL_DM
 /* Pointer to as well as the global data structure for SPL */
 DECLARE_GLOBAL_DATA_PTR;
+
+/*
+ * WARNING: This is going away very soon. Don't use it and don't submit
+ * pafches that rely on it. The global_data area is set up in crt0.S.
+ */
 gd_t gdata __attribute__ ((section(".data")));
+#endif
 
 /*
  * In the context of SPL, board_init_f must ensure that any clocks/etc for
  * DDR are enabled, ensure that the stack pointer is valid, clear the BSS
- * and call board_init_f.  We provide this version by default but mark it
+ * and call board_init_r.  We provide this version by default but mark it
  * as __weak to allow for platforms to do this in their own way if needed.
  */
 void __weak board_init_f(ulong dummy)
 {
-       /* Set the stack pointer. */
-       asm volatile("mov sp, %0\n" : : "r"(CONFIG_SPL_STACK));
-
        /* Clear the BSS. */
        memset(__bss_start, 0, __bss_end - __bss_start);
 
-       /* Set global data pointer. */
+#ifndef CONFIG_SPL_DM
+       /* TODO: Remove settings of the global data pointer here */
        gd = &gdata;
+#endif
 
        board_init_r(NULL, 0);
 }