mirror of
https://github.com/AsahiLinux/u-boot
synced 2025-02-17 22:49:02 +00:00
board: xilinx: Add support for user configurable boot script offset
Currently "script_offset_f" env variable is hardcoded, this variable specifies from which offset of the flash boot.scr should be read/write. As flashes are of different sizes having a fixed offset makes it difficult to load other images into the flash which may overwrite the boot script or cannot utilize the full memory. This current fix creates a new config "CONFIG_BOOT_SCRIPT_OFFSET" which holds the offset address, overwrites the "script_offset_f" variable. Also removed existing variable with default values, as the default values are held by CONFIG_BOOT_SCRIPT_OFFSET Signed-off-by: T Karthik Reddy <t.karthik.reddy@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
This commit is contained in:
parent
18be60b8bc
commit
53c69dec33
7 changed files with 15 additions and 3 deletions
|
@ -47,3 +47,12 @@ config XILINX_OF_BOARD_DTB_ADDR
|
|||
depends on OF_BOARD
|
||||
help
|
||||
Offset in the memory where the board configuration DTB is placed.
|
||||
|
||||
config BOOT_SCRIPT_OFFSET
|
||||
hex "Boot script offset"
|
||||
depends on ARCH_ZYNQ || ARCH_ZYNQMP || ARCH_VERSAL
|
||||
default 0xFC0000 if ARCH_ZYNQ
|
||||
default 0x3E80000 if ARCH_ZYNQMP
|
||||
default 0x7F80000 if ARCH_VERSAL
|
||||
help
|
||||
Specifies distro boot script offset in NAND/NOR flash.
|
||||
|
|
|
@ -203,6 +203,8 @@ int board_late_init(void)
|
|||
initrd_hi = round_down(initrd_hi, SZ_16M);
|
||||
env_set_addr("initrd_high", (void *)initrd_hi);
|
||||
|
||||
env_set_hex("script_offset_f", CONFIG_BOOT_SCRIPT_OFFSET);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -76,6 +76,8 @@ int board_late_init(void)
|
|||
|
||||
env_set("boot_targets", new_targets);
|
||||
|
||||
env_set_hex("script_offset_f", CONFIG_BOOT_SCRIPT_OFFSET);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -667,6 +667,8 @@ int board_late_init(void)
|
|||
initrd_hi = round_down(initrd_hi, SZ_16M);
|
||||
env_set_addr("initrd_high", (void *)initrd_hi);
|
||||
|
||||
env_set_hex("script_offset_f", CONFIG_BOOT_SCRIPT_OFFSET);
|
||||
|
||||
reset_reason();
|
||||
|
||||
return 0;
|
||||
|
|
|
@ -92,7 +92,6 @@
|
|||
"kernel_size_r=0x10000000\0" \
|
||||
"scriptaddr=0x20000000\0" \
|
||||
"ramdisk_addr_r=0x02100000\0" \
|
||||
"script_offset_f=0x7F80000\0" \
|
||||
"script_size_f=0x80000\0"
|
||||
|
||||
#if defined(CONFIG_MMC_SDHCI_ZYNQ)
|
||||
|
|
|
@ -114,7 +114,6 @@
|
|||
"kernel_addr_r=0x18000000\0" \
|
||||
"scriptaddr=0x20000000\0" \
|
||||
"ramdisk_addr_r=0x02100000\0" \
|
||||
"script_offset_f=0x3e80000\0" \
|
||||
"script_size_f=0x80000\0" \
|
||||
|
||||
#if defined(CONFIG_MMC_SDHCI_ZYNQ)
|
||||
|
|
|
@ -194,7 +194,6 @@
|
|||
"fdt_high=0x20000000\0" \
|
||||
"initrd_high=0x20000000\0" \
|
||||
"scriptaddr=0x20000\0" \
|
||||
"script_offset_f=0xFC0000\0" \
|
||||
"script_size_f=0x40000\0" \
|
||||
"fdt_addr_r=0x1f00000\0" \
|
||||
"pxefile_addr_r=0x2000000\0" \
|
||||
|
|
Loading…
Add table
Reference in a new issue