common: fit: add fit_set_totalsize() interface

Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
Change-Id: Ib10984da99aa82d5dd4bbfe2b13233e7155aee41
This commit is contained in:
Joseph Chen 2020-05-22 18:01:42 +08:00 committed by Jianhong Chen
parent b4b532de54
commit c516743f40
2 changed files with 20 additions and 0 deletions

View File

@ -1094,6 +1094,24 @@ int fit_set_timestamp(void *fit, int noffset, time_t timestamp)
return 0; return 0;
} }
int fit_set_totalsize(void *fit, int noffset, time_t totalsize)
{
uint32_t t;
int ret;
t = cpu_to_uimage(totalsize);
ret = fdt_setprop(fit, noffset, FIT_TOTALSIZE_PROP, &t,
sizeof(uint32_t));
if (ret) {
printf("Can't set '%s' property for '%s' node (%s)\n",
FIT_TOTALSIZE_PROP, fit_get_name(fit, noffset, NULL),
fdt_strerror(ret));
return ret == -FDT_ERR_NOSPACE ? -ENOSPC : -1;
}
return 0;
}
int fit_get_image_defconf_node(const void *fit, int *images_noffset, int *def_noffset) int fit_get_image_defconf_node(const void *fit, int *images_noffset, int *def_noffset)
{ {
int images_node, confs_node, defconf_node; int images_node, confs_node, defconf_node;

View File

@ -919,6 +919,7 @@ int bootz_setup(ulong image, ulong *start, ulong *end);
#define FIT_DATA_OFFSET_PROP "data-offset" #define FIT_DATA_OFFSET_PROP "data-offset"
#define FIT_DATA_SIZE_PROP "data-size" #define FIT_DATA_SIZE_PROP "data-size"
#define FIT_TIMESTAMP_PROP "timestamp" #define FIT_TIMESTAMP_PROP "timestamp"
#define FIT_TOTALSIZE_PROP "totalsize"
#define FIT_DESC_PROP "description" #define FIT_DESC_PROP "description"
#define FIT_ARCH_PROP "arch" #define FIT_ARCH_PROP "arch"
#define FIT_TYPE_PROP "type" #define FIT_TYPE_PROP "type"
@ -1025,6 +1026,7 @@ int fit_image_check_hash(const void *fit, int noffset, const void *data,
size_t size, char **err_msgp); size_t size, char **err_msgp);
int fit_set_timestamp(void *fit, int noffset, time_t timestamp); int fit_set_timestamp(void *fit, int noffset, time_t timestamp);
int fit_set_totalsize(void *fit, int noffset, time_t totalsize);
int fit_get_image_defconf_node(const void *fit, int fit_get_image_defconf_node(const void *fit,
int *images_noffset, int *def_noffset); int *images_noffset, int *def_noffset);