spl: Update spl_load_simple_fit() to take an spl_image param
Upda the SPL FIT code to use the spl_image parameter. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@konsulko.com>
This commit is contained in:
parent
710e9ca579
commit
f4d7d8596f
|
@ -204,7 +204,7 @@ static int spl_ram_load_image(struct spl_image_info *spl_image,
|
||||||
debug("Found FIT\n");
|
debug("Found FIT\n");
|
||||||
load.bl_len = 1;
|
load.bl_len = 1;
|
||||||
load.read = spl_ram_load_read;
|
load.read = spl_ram_load_read;
|
||||||
spl_load_simple_fit(&load, 0, header);
|
spl_load_simple_fit(spl_image, &load, 0, header);
|
||||||
} else {
|
} else {
|
||||||
debug("Legacy image\n");
|
debug("Legacy image\n");
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -82,7 +82,7 @@ int spl_load_image_fat(struct spl_image_info *spl_image,
|
||||||
load.filename = (void *)filename;
|
load.filename = (void *)filename;
|
||||||
load.priv = NULL;
|
load.priv = NULL;
|
||||||
|
|
||||||
return spl_load_simple_fit(&load, 0, header);
|
return spl_load_simple_fit(spl_image, &load, 0, header);
|
||||||
} else {
|
} else {
|
||||||
err = spl_parse_image_header(spl_image, header);
|
err = spl_parse_image_header(spl_image, header);
|
||||||
if (err)
|
if (err)
|
||||||
|
|
|
@ -123,7 +123,8 @@ static int get_aligned_image_size(struct spl_load_info *info, int data_size,
|
||||||
return (data_size + info->bl_len - 1) / info->bl_len;
|
return (data_size + info->bl_len - 1) / info->bl_len;
|
||||||
}
|
}
|
||||||
|
|
||||||
int spl_load_simple_fit(struct spl_load_info *info, ulong sector, void *fit)
|
int spl_load_simple_fit(struct spl_image_info *spl_image,
|
||||||
|
struct spl_load_info *info, ulong sector, void *fit)
|
||||||
{
|
{
|
||||||
int sectors;
|
int sectors;
|
||||||
ulong size, load;
|
ulong size, load;
|
||||||
|
@ -184,9 +185,9 @@ int spl_load_simple_fit(struct spl_load_info *info, ulong sector, void *fit)
|
||||||
data_size = fdt_getprop_u32(fit, node, "data-size");
|
data_size = fdt_getprop_u32(fit, node, "data-size");
|
||||||
load = fdt_getprop_u32(fit, node, "load");
|
load = fdt_getprop_u32(fit, node, "load");
|
||||||
debug("data_offset=%x, data_size=%x\n", data_offset, data_size);
|
debug("data_offset=%x, data_size=%x\n", data_offset, data_size);
|
||||||
spl_image.load_addr = load;
|
spl_image->load_addr = load;
|
||||||
spl_image.entry_point = load;
|
spl_image->entry_point = load;
|
||||||
spl_image.os = IH_OS_U_BOOT;
|
spl_image->os = IH_OS_U_BOOT;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Work out where to place the image. We read it so that the first
|
* Work out where to place the image. We read it so that the first
|
||||||
|
|
|
@ -80,7 +80,7 @@ static int mmc_load_image_raw_sector(struct spl_image_info *spl_image,
|
||||||
load.filename = NULL;
|
load.filename = NULL;
|
||||||
load.bl_len = mmc->read_bl_len;
|
load.bl_len = mmc->read_bl_len;
|
||||||
load.read = h_spl_load_read;
|
load.read = h_spl_load_read;
|
||||||
ret = spl_load_simple_fit(&load, sector, header);
|
ret = spl_load_simple_fit(spl_image, &load, sector, header);
|
||||||
} else {
|
} else {
|
||||||
ret = mmc_load_legacy(spl_image, mmc, sector, header);
|
ret = mmc_load_legacy(spl_image, mmc, sector, header);
|
||||||
}
|
}
|
||||||
|
|
|
@ -59,7 +59,7 @@ static int spl_nand_load_element(struct spl_image_info *spl_image,
|
||||||
load.filename = NULL;
|
load.filename = NULL;
|
||||||
load.bl_len = 1;
|
load.bl_len = 1;
|
||||||
load.read = spl_nand_fit_read;
|
load.read = spl_nand_fit_read;
|
||||||
return spl_load_simple_fit(&load, offset, header);
|
return spl_load_simple_fit(spl_image, &load, offset, header);
|
||||||
} else {
|
} else {
|
||||||
err = spl_parse_image_header(spl_image, header);
|
err = spl_parse_image_header(spl_image, header);
|
||||||
if (err)
|
if (err)
|
||||||
|
|
|
@ -108,7 +108,7 @@ static int spl_spi_load_image(struct spl_image_info *spl_image,
|
||||||
load.filename = NULL;
|
load.filename = NULL;
|
||||||
load.bl_len = 1;
|
load.bl_len = 1;
|
||||||
load.read = spl_spi_fit_read;
|
load.read = spl_spi_fit_read;
|
||||||
err = spl_load_simple_fit(&load,
|
err = spl_load_simple_fit(spl_image, &load,
|
||||||
CONFIG_SYS_SPI_U_BOOT_OFFS,
|
CONFIG_SYS_SPI_U_BOOT_OFFS,
|
||||||
header);
|
header);
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -103,7 +103,7 @@ static int spl_ymodem_load_image(struct spl_image_info *spl_image,
|
||||||
info.buf = buf;
|
info.buf = buf;
|
||||||
info.image_read = BUF_SIZE;
|
info.image_read = BUF_SIZE;
|
||||||
load.read = ymodem_read_fit;
|
load.read = ymodem_read_fit;
|
||||||
ret = spl_load_simple_fit(&load, 0, (void *)buf);
|
ret = spl_load_simple_fit(spl_image, &load, 0, (void *)buf);
|
||||||
size = info.image_read;
|
size = info.image_read;
|
||||||
|
|
||||||
while ((res = xyzModem_stream_read(buf, BUF_SIZE, &err)) > 0)
|
while ((res = xyzModem_stream_read(buf, BUF_SIZE, &err)) > 0)
|
||||||
|
|
|
@ -49,6 +49,7 @@ struct spl_load_info {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* spl_load_simple_fit() - Loads a fit image from a device.
|
* spl_load_simple_fit() - Loads a fit image from a device.
|
||||||
|
* @spl_image: Image description to set up
|
||||||
* @info: Structure containing the information required to load data.
|
* @info: Structure containing the information required to load data.
|
||||||
* @sector: Sector number where FIT image is located in the device
|
* @sector: Sector number where FIT image is located in the device
|
||||||
* @fdt: Pointer to the copied FIT header.
|
* @fdt: Pointer to the copied FIT header.
|
||||||
|
@ -57,7 +58,8 @@ struct spl_load_info {
|
||||||
* specified load address and copies the dtb to end of u-boot image.
|
* specified load address and copies the dtb to end of u-boot image.
|
||||||
* Returns 0 on success.
|
* Returns 0 on success.
|
||||||
*/
|
*/
|
||||||
int spl_load_simple_fit(struct spl_load_info *info, ulong sector, void *fdt);
|
int spl_load_simple_fit(struct spl_image_info *spl_image,
|
||||||
|
struct spl_load_info *info, ulong sector, void *fdt);
|
||||||
|
|
||||||
#define SPL_COPY_PAYLOAD_ONLY 1
|
#define SPL_COPY_PAYLOAD_ONLY 1
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user