[PATCH 1/2] xilinx: Move initrd_high setup to common location

Michal Simek michal.simek at xilinx.com
Mon Apr 13 10:01:20 CEST 2020


Moving to common location initrd_high is also setup for Zynq which hasn't
done in run time code.

Signed-off-by: Michal Simek <michal.simek at xilinx.com>
---

 board/xilinx/common/board.c   | 7 +++++++
 board/xilinx/versal/board.c   | 6 ------
 board/xilinx/zynqmp/zynqmp.c  | 6 ------
 include/configs/zynq-common.h | 1 -
 4 files changed, 7 insertions(+), 13 deletions(-)

diff --git a/board/xilinx/common/board.c b/board/xilinx/common/board.c
index 7c191e53fb71..294a59df77da 100644
--- a/board/xilinx/common/board.c
+++ b/board/xilinx/common/board.c
@@ -8,6 +8,7 @@
 #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)
@@ -75,7 +76,13 @@ void *board_fdt_blob_setup(void)
 
 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;
 }
diff --git a/board/xilinx/versal/board.c b/board/xilinx/versal/board.c
index 908ea87163f8..2900dfb44e93 100644
--- a/board/xilinx/versal/board.c
+++ b/board/xilinx/versal/board.c
@@ -16,7 +16,6 @@
 #include <dm/device.h>
 #include <dm/uclass.h>
 #include <versalpl.h>
-#include <linux/sizes.h>
 #include "../common/board.h"
 
 DECLARE_GLOBAL_DATA_PTR;
@@ -94,7 +93,6 @@ int board_late_init(void)
 	const char *mode;
 	char *new_targets;
 	char *env_targets;
-	ulong initrd_hi;
 
 	if (!(gd->flags & GD_FLG_ENV_DEFAULT)) {
 		debug("Saved variables - Skipping\n");
@@ -201,10 +199,6 @@ int board_late_init(void)
 
 	env_set("boot_targets", new_targets);
 
-	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 board_late_init_xilinx();
 }
 
diff --git a/board/xilinx/zynqmp/zynqmp.c b/board/xilinx/zynqmp/zynqmp.c
index b2172356ad0a..66a43974e68d 100644
--- a/board/xilinx/zynqmp/zynqmp.c
+++ b/board/xilinx/zynqmp/zynqmp.c
@@ -26,7 +26,6 @@
 #include <zynqmppl.h>
 #include <zynqmp_firmware.h>
 #include <g_dnl.h>
-#include <linux/sizes.h>
 #include "../common/board.h"
 
 #include "pm_cfg_obj.h"
@@ -565,7 +564,6 @@ int board_late_init(void)
 	char *new_targets;
 	char *env_targets;
 	int ret;
-	ulong initrd_hi;
 
 #if defined(CONFIG_USB_ETHER) && !defined(CONFIG_USB_GADGET_DOWNLOAD)
 	usb_ether_init();
@@ -692,10 +690,6 @@ int board_late_init(void)
 
 	env_set("boot_targets", new_targets);
 
-	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);
-
 	reset_reason();
 
 	return board_late_init_xilinx();
diff --git a/include/configs/zynq-common.h b/include/configs/zynq-common.h
index 1eaf65b0a2a1..4ccc31e37655 100644
--- a/include/configs/zynq-common.h
+++ b/include/configs/zynq-common.h
@@ -198,7 +198,6 @@
 #ifndef CONFIG_EXTRA_ENV_SETTINGS
 #define CONFIG_EXTRA_ENV_SETTINGS	\
 	"fdt_high=0x20000000\0"		\
-	"initrd_high=0x20000000\0"	\
 	"scriptaddr=0x20000\0"	\
 	"script_size_f=0x40000\0"	\
 	"fdt_addr_r=0x1f00000\0"        \
-- 
2.26.0



More information about the U-Boot mailing list