|
@@ -111,7 +111,7 @@ static int fit_calc_size(struct image_tool_params *params)
|
|
|
if (size < 0)
|
|
|
return -1;
|
|
|
|
|
|
- /* Add space for properties */
|
|
|
+ /* Add space for properties and hash node */
|
|
|
total_size += size + 300;
|
|
|
}
|
|
|
|
|
@@ -192,6 +192,18 @@ static void get_basename(char *str, int size, const char *fname)
|
|
|
str[len] = '\0';
|
|
|
}
|
|
|
|
|
|
+/**
|
|
|
+ * add_crc_node() - Add a hash node to request a CRC checksum for an image
|
|
|
+ *
|
|
|
+ * @fdt: Device tree to add to (in sequential-write mode)
|
|
|
+ */
|
|
|
+static void add_crc_node(void *fdt)
|
|
|
+{
|
|
|
+ fdt_begin_node(fdt, "hash-1");
|
|
|
+ fdt_property_string(fdt, FIT_ALGO_PROP, "crc32");
|
|
|
+ fdt_end_node(fdt);
|
|
|
+}
|
|
|
+
|
|
|
/**
|
|
|
* fit_write_images() - Write out a list of images to the FIT
|
|
|
*
|
|
@@ -230,6 +242,7 @@ static int fit_write_images(struct image_tool_params *params, char *fdt)
|
|
|
ret = fdt_property_file(params, fdt, FIT_DATA_PROP, params->datafile);
|
|
|
if (ret)
|
|
|
return ret;
|
|
|
+ add_crc_node(fdt);
|
|
|
fdt_end_node(fdt);
|
|
|
|
|
|
/* Now the device tree files if available */
|
|
@@ -252,6 +265,7 @@ static int fit_write_images(struct image_tool_params *params, char *fdt)
|
|
|
genimg_get_arch_short_name(params->arch));
|
|
|
fdt_property_string(fdt, FIT_COMP_PROP,
|
|
|
genimg_get_comp_short_name(IH_COMP_NONE));
|
|
|
+ add_crc_node(fdt);
|
|
|
fdt_end_node(fdt);
|
|
|
}
|
|
|
|
|
@@ -269,7 +283,7 @@ static int fit_write_images(struct image_tool_params *params, char *fdt)
|
|
|
params->fit_ramdisk);
|
|
|
if (ret)
|
|
|
return ret;
|
|
|
-
|
|
|
+ add_crc_node(fdt);
|
|
|
fdt_end_node(fdt);
|
|
|
}
|
|
|
|