mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-28 15:41:40 +00:00
cmd: fit_image: Add default property for FIT format scripts
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 <alex.kiernan@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
8d54579072
commit
201d9cd2b3
1 changed files with 26 additions and 5 deletions
31
cmd/source.c
31
cmd/source.c
|
@ -22,6 +22,24 @@
|
||||||
#include <asm/byteorder.h>
|
#include <asm/byteorder.h>
|
||||||
#include <asm/io.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
|
int
|
||||||
source (ulong addr, const char *fit_uname)
|
source (ulong addr, const char *fit_uname)
|
||||||
{
|
{
|
||||||
|
@ -87,17 +105,20 @@ source (ulong addr, const char *fit_uname)
|
||||||
#endif
|
#endif
|
||||||
#if defined(CONFIG_FIT)
|
#if defined(CONFIG_FIT)
|
||||||
case IMAGE_FORMAT_FIT:
|
case IMAGE_FORMAT_FIT:
|
||||||
if (fit_uname == NULL) {
|
|
||||||
puts ("No FIT subimage unit name\n");
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
fit_hdr = buf;
|
fit_hdr = buf;
|
||||||
if (!fit_check_format (fit_hdr)) {
|
if (!fit_check_format (fit_hdr)) {
|
||||||
puts ("Bad FIT image format\n");
|
puts ("Bad FIT image format\n");
|
||||||
return 1;
|
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 */
|
/* get script component image node offset */
|
||||||
noffset = fit_image_get_node (fit_hdr, fit_uname);
|
noffset = fit_image_get_node (fit_hdr, fit_uname);
|
||||||
if (noffset < 0) {
|
if (noffset < 0) {
|
||||||
|
|
Loading…
Reference in a new issue