mirror of
https://github.com/u-boot/u-boot.git
synced 2024-11-25 05:04:23 +08:00
tools: kwbimage: Set BOOT_FROM by default to SPI
kwbimage must have valid blockid member instead of zero value. Thus if config file does not contain BOOT_FROM command, use by default the value for SPI booting (which is probably the most common). Signed-off-by: Pali Rohár <pali@kernel.org> Signed-off-by: Marek Behún <marek.behun@nic.cz> Reviewed-by: Stefan Roese <sr@denx.de>
This commit is contained in:
parent
01bdac6df6
commit
d1547b3672
@ -266,6 +266,18 @@ static bool image_get_spezialized_img(void)
|
|||||||
return e->sec_specialized_img;
|
return e->sec_specialized_img;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int image_get_bootfrom(void)
|
||||||
|
{
|
||||||
|
struct image_cfg_element *e;
|
||||||
|
|
||||||
|
e = image_find_option(IMAGE_CFG_BOOT_FROM);
|
||||||
|
if (!e)
|
||||||
|
/* fallback to SPI if no BOOT_FROM is not provided */
|
||||||
|
return IBR_HDR_SPI_ID;
|
||||||
|
|
||||||
|
return e->bootfrom;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Compute a 8-bit checksum of a memory area. This algorithm follows
|
* Compute a 8-bit checksum of a memory area. This algorithm follows
|
||||||
* the requirements of the Marvell SoC BootROM specifications.
|
* the requirements of the Marvell SoC BootROM specifications.
|
||||||
@ -884,10 +896,8 @@ static void *image_create_v0(size_t *imagesz, struct image_tool_params *params,
|
|||||||
main_hdr->version = 0;
|
main_hdr->version = 0;
|
||||||
main_hdr->destaddr = cpu_to_le32(params->addr);
|
main_hdr->destaddr = cpu_to_le32(params->addr);
|
||||||
main_hdr->execaddr = cpu_to_le32(params->ep);
|
main_hdr->execaddr = cpu_to_le32(params->ep);
|
||||||
|
main_hdr->blockid = image_get_bootfrom();
|
||||||
|
|
||||||
e = image_find_option(IMAGE_CFG_BOOT_FROM);
|
|
||||||
if (e)
|
|
||||||
main_hdr->blockid = e->bootfrom;
|
|
||||||
e = image_find_option(IMAGE_CFG_NAND_ECC_MODE);
|
e = image_find_option(IMAGE_CFG_NAND_ECC_MODE);
|
||||||
if (e)
|
if (e)
|
||||||
main_hdr->nandeccmode = e->nandeccmode;
|
main_hdr->nandeccmode = e->nandeccmode;
|
||||||
@ -1232,9 +1242,8 @@ static void *image_create_v1(size_t *imagesz, struct image_tool_params *params,
|
|||||||
main_hdr->srcaddr = cpu_to_le32(headersz);
|
main_hdr->srcaddr = cpu_to_le32(headersz);
|
||||||
main_hdr->ext = hasext;
|
main_hdr->ext = hasext;
|
||||||
main_hdr->version = 1;
|
main_hdr->version = 1;
|
||||||
e = image_find_option(IMAGE_CFG_BOOT_FROM);
|
main_hdr->blockid = image_get_bootfrom();
|
||||||
if (e)
|
|
||||||
main_hdr->blockid = e->bootfrom;
|
|
||||||
e = image_find_option(IMAGE_CFG_NAND_BLKSZ);
|
e = image_find_option(IMAGE_CFG_NAND_BLKSZ);
|
||||||
if (e)
|
if (e)
|
||||||
main_hdr->nandblocksize = e->nandblksz / (64 * 1024);
|
main_hdr->nandblocksize = e->nandblksz / (64 * 1024);
|
||||||
@ -1559,17 +1568,6 @@ static int image_get_version(void)
|
|||||||
return e->version;
|
return e->version;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int image_get_bootfrom(void)
|
|
||||||
{
|
|
||||||
struct image_cfg_element *e;
|
|
||||||
|
|
||||||
e = image_find_option(IMAGE_CFG_BOOT_FROM);
|
|
||||||
if (!e)
|
|
||||||
return -1;
|
|
||||||
|
|
||||||
return e->bootfrom;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void kwbimage_set_header(void *ptr, struct stat *sbuf, int ifd,
|
static void kwbimage_set_header(void *ptr, struct stat *sbuf, int ifd,
|
||||||
struct image_tool_params *params)
|
struct image_tool_params *params)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user