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

Michal Simek monstr at monstr.eu
Thu Apr 30 09:35:37 CEST 2020


po 13. 4. 2020 v 10:01 odesílatel Michal Simek <michal.simek at xilinx.com> napsal:
>
> 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
>

Applied.
M


-- 
Michal Simek, Ing. (M.Eng), OpenPGP -> KeyID: FE3D1F91
w: www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel - Xilinx Microblaze
Maintainer of Linux kernel - Xilinx Zynq ARM and ZynqMP ARM64 SoCs
U-Boot custodian - Xilinx Microblaze/Zynq/ZynqMP/Versal SoCs


More information about the U-Boot mailing list