On Thu, 31 Aug 2023 at 01:04, Michal Simek <michal.si...@amd.com> wrote: > > Location of bootscript in flash can be specified via /options/u-boot DT > node by using bootscr-flash-offset and bootscr-flash-size properties. > Values should be saved to script_offset_f and script_size_f variables. > Variables are described in doc/develop/bootstd.rst as: > script_offset_f > SPI flash offset from which to load the U-Boot script, e.g. 0xffe000 > > script_size_f > Size of the script to load, e.g. 0x2000 > > Both of them are used by sf_get_bootflow() in drivers/mtd/spi/sf_bootdev.c > to identify bootscript location inside flash. > > Signed-off-by: Michal Simek <michal.si...@amd.com> > --- > > Changes in v2: > - Change message from printf to debug not to disturb current users > > board/xilinx/common/board.c | 13 +++++++++++-- > 1 file changed, 11 insertions(+), 2 deletions(-)
Reviewed-by: Simon Glass <s...@chromium.org> > > diff --git a/board/xilinx/common/board.c b/board/xilinx/common/board.c > index b3fb6acc25a3..126f0d81a9ed 100644 > --- a/board/xilinx/common/board.c > +++ b/board/xilinx/common/board.c > @@ -411,6 +411,7 @@ int board_late_init_xilinx(void) > int i, id, macid = 0; > struct xilinx_board_description *desc; > phys_size_t bootm_size = gd->ram_top - gd->ram_base; > + u64 bootscr_flash_offset, bootscr_flash_size; > > if (!IS_ENABLED(CONFIG_MICROBLAZE)) { > ulong scriptaddr; > @@ -435,11 +436,19 @@ int board_late_init_xilinx(void) > } > } > > + if (!ofnode_read_bootscript_flash(&bootscr_flash_offset, > + &bootscr_flash_size)) { > + ret |= env_set_hex("script_offset_f", bootscr_flash_offset); > + ret |= env_set_hex("script_size_f", bootscr_flash_size); > + } else { > + debug("!!! Please define bootscr-flash-offset via DT !!!\n"); > + ret |= env_set_hex("script_offset_f", > + CONFIG_BOOT_SCRIPT_OFFSET); > + } > + > if (IS_ENABLED(CONFIG_ARCH_ZYNQ) || IS_ENABLED(CONFIG_MICROBLAZE)) > bootm_size = min(bootm_size, (phys_size_t)(SZ_512M + > SZ_256M)); > > - ret |= env_set_hex("script_offset_f", CONFIG_BOOT_SCRIPT_OFFSET); > - > ret |= env_set_addr("bootm_low", (void *)gd->ram_base); > ret |= env_set_addr("bootm_size", (void *)bootm_size); > > -- > 2.36.1 >