Message ID | b1d9cbef7565569d79dfeb307899f02b51711ff3.1586764879.git.michal.simek@xilinx.com |
---|---|
State | Accepted |
Commit | a29511eeca5f00e31653af28b9f758cf39e001fc |
Headers | show |
Series | [1/2] xilinx: Move initrd_high setup to common location | expand |
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
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" \
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(-)