spl: Use standard FIT entries
SPL is creating fit-images DT node when loadables are recorded in selected
configuration. Entries which are created are using entry-point and
load-addr property names. But there shouldn't be a need to use non standard
properties because entry/load are standard FIT properties. But using
standard FIT properties enables option to use generic FIT functions to
descrease SPL size. Here is result for ZynqMP virt configuration:
xilinx_zynqmp_virt: spl/u-boot-spl:all -82 spl/u-boot-spl:rodata -22 spl/u-boot-spl:text -60
The patch causes change in run time fit image record.
Before:
fit-images {
uboot {
os = "u-boot";
type = "firmware";
size = <0xfd520>;
entry-point = <0x8000000>;
load-addr = <0x8000000>;
};
};
After:
fit-images {
uboot {
os = "u-boot";
type = "firmware";
size = <0xfd520>;
entry = <0x8000000>;
load = <0x8000000>;
};
};
Replacing calling fdt_getprop_u32() by fit_image_get_entry/load() also
enables support for reading entry/load properties recorded in 64bit format.
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
@@ -61,11 +61,9 @@ void spl_invoke_opensbi(struct spl_image_info *spl_image)
|
||||
}
|
||||
|
||||
/* Get U-Boot entry point */
|
||||
uboot_entry = fdt_getprop_u32(spl_image->fdt_addr, uboot_node,
|
||||
"entry-point");
|
||||
if (uboot_entry == FDT_ERROR)
|
||||
uboot_entry = fdt_getprop_u32(spl_image->fdt_addr, uboot_node,
|
||||
"load-addr");
|
||||
ret = fit_image_get_entry(spl_image->fdt_addr, uboot_node, &uboot_entry);
|
||||
if (ret)
|
||||
ret = fit_image_get_load(spl_image->fdt_addr, uboot_node, &uboot_entry);
|
||||
|
||||
/* Prepare obensbi_info object */
|
||||
opensbi_info.magic = FW_DYNAMIC_INFO_MAGIC_VALUE;
|
||||
|
||||
Reference in New Issue
Block a user