mirror of
https://github.com/smaeul/u-boot.git
synced 2025-10-18 14:48:17 +01:00
spl: Tidy up load address in spl_ram
This CONFIG is used but is not given a value by some boards. Use a default value of 0 explicitly, rather than relying on the 0 value provided by CONFIG_SPL_LOAD_FIT_ADDRESS This will allow us to make SPL_LOAD_FIT_ADDRESS depend on SPL_LOAD_FIT as it should. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@konsulko.com>
This commit is contained in:
parent
12a7ea0059
commit
63f0da65e1
@ -20,12 +20,16 @@
|
|||||||
static ulong spl_ram_load_read(struct spl_load_info *load, ulong sector,
|
static ulong spl_ram_load_read(struct spl_load_info *load, ulong sector,
|
||||||
ulong count, void *buf)
|
ulong count, void *buf)
|
||||||
{
|
{
|
||||||
ulong addr;
|
ulong addr = 0;
|
||||||
|
|
||||||
debug("%s: sector %lx, count %lx, buf %lx\n",
|
debug("%s: sector %lx, count %lx, buf %lx\n",
|
||||||
__func__, sector, count, (ulong)buf);
|
__func__, sector, count, (ulong)buf);
|
||||||
|
|
||||||
addr = (ulong)CONFIG_SPL_LOAD_FIT_ADDRESS + sector;
|
if (IS_ENABLED(CONFIG_SPL_LOAD_FIT)) {
|
||||||
|
addr = IF_ENABLED_INT(CONFIG_SPL_LOAD_FIT,
|
||||||
|
CONFIG_SPL_LOAD_FIT_ADDRESS);
|
||||||
|
}
|
||||||
|
addr += sector;
|
||||||
if (CONFIG_IS_ENABLED(IMAGE_PRE_LOAD))
|
if (CONFIG_IS_ENABLED(IMAGE_PRE_LOAD))
|
||||||
addr += image_load_offset;
|
addr += image_load_offset;
|
||||||
|
|
||||||
@ -38,20 +42,23 @@ static int spl_ram_load_image(struct spl_image_info *spl_image,
|
|||||||
struct spl_boot_device *bootdev)
|
struct spl_boot_device *bootdev)
|
||||||
{
|
{
|
||||||
struct legacy_img_hdr *header;
|
struct legacy_img_hdr *header;
|
||||||
|
ulong addr = 0;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
header = (struct legacy_img_hdr *)CONFIG_SPL_LOAD_FIT_ADDRESS;
|
if (IS_ENABLED(CONFIG_SPL_LOAD_FIT)) {
|
||||||
|
addr = IF_ENABLED_INT(CONFIG_SPL_LOAD_FIT,
|
||||||
|
CONFIG_SPL_LOAD_FIT_ADDRESS);
|
||||||
|
}
|
||||||
|
|
||||||
if (CONFIG_IS_ENABLED(IMAGE_PRE_LOAD)) {
|
if (CONFIG_IS_ENABLED(IMAGE_PRE_LOAD)) {
|
||||||
unsigned long addr = (unsigned long)header;
|
|
||||||
ret = image_pre_load(addr);
|
ret = image_pre_load(addr);
|
||||||
|
|
||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
addr += image_load_offset;
|
addr += image_load_offset;
|
||||||
header = (struct legacy_img_hdr *)addr;
|
|
||||||
}
|
}
|
||||||
|
header = map_sysmem(addr, 0);
|
||||||
|
|
||||||
#if CONFIG_IS_ENABLED(DFU)
|
#if CONFIG_IS_ENABLED(DFU)
|
||||||
if (bootdev->boot_device == BOOT_DEVICE_DFU)
|
if (bootdev->boot_device == BOOT_DEVICE_DFU)
|
||||||
@ -84,7 +91,7 @@ static int spl_ram_load_image(struct spl_image_info *spl_image,
|
|||||||
u_boot_pos = (ulong)spl_get_load_buffer(-sizeof(*header),
|
u_boot_pos = (ulong)spl_get_load_buffer(-sizeof(*header),
|
||||||
sizeof(*header));
|
sizeof(*header));
|
||||||
}
|
}
|
||||||
header = (struct legacy_img_hdr *)map_sysmem(u_boot_pos, 0);
|
header = map_sysmem(u_boot_pos, 0);
|
||||||
|
|
||||||
ret = spl_parse_image_header(spl_image, bootdev, header);
|
ret = spl_parse_image_header(spl_image, bootdev, header);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user