]> Git Repo - J-u-boot.git/blobdiff - board/xilinx/common/board.c
command: Remove the cmd_tbl_t typedef
[J-u-boot.git] / board / xilinx / common / board.c
index f87e2e91059e3f82c36ea68a3cfb68b87451fefa..b8cdaaada1d9198ca95ad3debf09116ee6c08568 100644 (file)
@@ -5,9 +5,12 @@
  */
 
 #include <common.h>
+#include <env.h>
 #include <asm/sections.h>
 #include <dm/uclass.h>
 #include <i2c.h>
+#include <linux/sizes.h>
+#include "board.h"
 
 int zynq_board_read_rom_ethaddr(unsigned char *ethaddr)
 {
@@ -41,12 +44,16 @@ int zynq_board_read_rom_ethaddr(unsigned char *ethaddr)
 #if defined(CONFIG_OF_BOARD) || defined(CONFIG_OF_SEPARATE)
 void *board_fdt_blob_setup(void)
 {
-       static void *fdt_blob = (void *)CONFIG_XILINX_OF_BOARD_DTB_ADDR;
+       static void *fdt_blob;
+
+#if !defined(CONFIG_VERSAL_NO_DDR) && !defined(CONFIG_ZYNQMP_NO_DDR)
+       fdt_blob = (void *)CONFIG_XILINX_OF_BOARD_DTB_ADDR;
 
        if (fdt_magic(fdt_blob) == FDT_MAGIC)
                return fdt_blob;
 
        debug("DTB is not passed via %p\n", fdt_blob);
+#endif
 
 #ifdef CONFIG_SPL_BUILD
        /* FDT is at end of BSS unless it is in a different memory region */
@@ -67,3 +74,16 @@ void *board_fdt_blob_setup(void)
        return NULL;
 }
 #endif
+
+int board_late_init_xilinx(void)
+{
+       ulong initrd_hi;
+
+       env_set_hex("script_offset_f", CONFIG_BOOT_SCRIPT_OFFSET);
+
+       initrd_hi = gd->start_addr_sp - CONFIG_STACK_SIZE;
+       initrd_hi = round_down(initrd_hi, SZ_16M);
+       env_set_addr("initrd_high", (void *)initrd_hi);
+
+       return 0;
+}
This page took 0.0285 seconds and 4 git commands to generate.