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:
T Karthik Reddy authored and Michal Simek committed 2020-01-14 09:05:52 +01:00
1 parent 18be60b8bc
commit 53c69dec33
7 files changed
+15 -3

No files matched your search

+9
View File
@@ -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.
+2
View File
@@ -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;
}
+2
View File
@@ -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;
}
+2
View File
@@ -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;
-1
View File
@@ -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)
-1
View File
@@ -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)
-1
View File
@@ -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" \