rockchip: rk3288-veyron: Migrate "u-boot, boot0" to "u-boot, spl-boot-order"
[oweals/u-boot.git] / arch / arm / mach-zynq / spl.c
index e7df6d3d7b1a06c9676975c581cc7d11f49a0131..9b7c0be951b58be962a237e2ae2c36613e32e8ef 100644 (file)
@@ -1,33 +1,37 @@
+// SPDX-License-Identifier: GPL-2.0+
 /*
- * (C) Copyright 2014 Xilinx, Inc. Michal Simek
- *
- * SPDX-License-Identifier:    GPL-2.0+
+ * (C) Copyright 2014 - 2017 Xilinx, Inc. Michal Simek
  */
 #include <common.h>
+#include <debug_uart.h>
 #include <spl.h>
 
 #include <asm/io.h>
-#include <asm/arch/hardware.h>
 #include <asm/spl.h>
+#include <asm/arch/hardware.h>
 #include <asm/arch/sys_proto.h>
-
-DECLARE_GLOBAL_DATA_PTR;
+#include <asm/arch/ps7_init_gpl.h>
 
 void board_init_f(ulong dummy)
 {
        ps7_init();
 
-       /* Clear the BSS. */
-       memset(__bss_start, 0, __bss_end - __bss_start);
-
-       preloader_console_init();
        arch_cpu_init();
-       board_init_r(NULL, 0);
+
+#ifdef CONFIG_DEBUG_UART
+       /* Uart debug for sure */
+       debug_uart_init();
+       puts("Debug uart enabled\n"); /* or printch() */
+#endif
 }
 
 #ifdef CONFIG_SPL_BOARD_INIT
 void spl_board_init(void)
 {
+       preloader_console_init();
+#if defined(CONFIG_ARCH_EARLY_INIT_R) && defined(CONFIG_SPL_FPGA_SUPPORT)
+       arch_early_init_r();
+#endif
        board_init();
 }
 #endif
@@ -66,13 +70,6 @@ u32 spl_boot_device(void)
        return mode;
 }
 
-#ifdef CONFIG_SPL_MMC_SUPPORT
-u32 spl_boot_mode(void)
-{
-       return MMCSD_MODE_FS;
-}
-#endif
-
 #ifdef CONFIG_SPL_OS_BOOT
 int spl_start_uboot(void)
 {
@@ -81,10 +78,18 @@ int spl_start_uboot(void)
 }
 #endif
 
-__weak void ps7_init(void)
+void spl_board_prepare_for_boot(void)
+{
+       ps7_post_config();
+       debug("SPL bye\n");
+}
+
+#ifdef CONFIG_SPL_LOAD_FIT
+int board_fit_config_name_match(const char *name)
 {
-       /*
-        * This function is overridden by the one in
-        * board/xilinx/zynq/(platform)/ps7_init_gpl.c, if it exists.
-        */
+       /* Just empty function now - can't decide what to choose */
+       debug("%s: %s\n", __func__, name);
+
+       return 0;
 }
+#endif