Skip to content

Commit

Permalink
cmd: fit_image: Add default property for FIT format scripts
Browse files Browse the repository at this point in the history
When sourcing a FIT format script, if we've not been told the unit name
to use, look for a default property at the root of /images to work out
which unit we should use.

Signed-off-by: Alex Kiernan <[email protected]>
Reviewed-by: Simon Glass <[email protected]>
  • Loading branch information
akiernan authored and trini committed Jul 19, 2018
1 parent 8d54579 commit 201d9cd
Showing 1 changed file with 26 additions and 5 deletions.
31 changes: 26 additions & 5 deletions cmd/source.c
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,24 @@
#include <asm/byteorder.h>
#include <asm/io.h>

#if defined(CONFIG_FIT)
/**
* get_default_image() - Return default property from /images
*
* Return: Pointer to value of default property (or NULL)
*/
static const char *get_default_image(const void *fit)
{
int images_noffset;

images_noffset = fdt_path_offset(fit, FIT_IMAGES_PATH);
if (images_noffset < 0)
return NULL;

return fdt_getprop(fit, images_noffset, FIT_DEFAULT_PROP, NULL);
}
#endif

int
source (ulong addr, const char *fit_uname)
{
Expand Down Expand Up @@ -87,17 +105,20 @@ source (ulong addr, const char *fit_uname)
#endif
#if defined(CONFIG_FIT)
case IMAGE_FORMAT_FIT:
if (fit_uname == NULL) {
puts ("No FIT subimage unit name\n");
return 1;
}

fit_hdr = buf;
if (!fit_check_format (fit_hdr)) {
puts ("Bad FIT image format\n");
return 1;
}

if (!fit_uname)
fit_uname = get_default_image(fit_hdr);

if (!fit_uname) {
puts("No FIT subimage unit name\n");
return 1;
}

/* get script component image node offset */
noffset = fit_image_get_node (fit_hdr, fit_uname);
if (noffset < 0) {
Expand Down

0 comments on commit 201d9cd

Please sign in to comment.