}
static const struct bif_flags bif_flags[] = {
+ { "init", BIF_FLAG_INIT },
{ "fsbl_config", BIF_FLAG_FSBL_CONFIG },
{ "trustzone", BIF_FLAG_TZ },
{ "pmufw_image", BIF_FLAG_PMUFW_IMAGE },
return 0;
}
+static int bif_add_reginit(struct bif_entry *init)
+{
+ /* User can pass in text file with init list */
+ if (strlen(init->filename))
+ zynqmpimage_parse_initparams(bif_output.header, init->filename);
+
+ return 0;
+}
+
static int bif_add_part(struct bif_entry *bf, const char *data, size_t len)
{
size_t parthdr_offset = 0;
if (bf->flags & (1ULL << BIF_FLAG_PMUFW_IMAGE))
return bif_add_pmufw(bf, data, len);
+ else if (bf->flags & (1ULL << BIF_FLAG_INIT))
+ return bif_add_reginit(bf);
r = bif_add_blob(data, len, &bf->offset);
if (r)
fclose(fpmu);
}
-static void zynqmpimage_parse_initparams(struct zynqmp_header *zynqhdr,
- const char *filename)
+void zynqmpimage_parse_initparams(struct zynqmp_header *zynqhdr,
+ const char *filename)
{
FILE *fp;
struct zynqmp_reginit reginit;
void zynqmpimage_default_header(struct zynqmp_header *ptr);
void zynqmpimage_print_header(const void *ptr, struct image_tool_params *params);
+void zynqmpimage_parse_initparams(struct zynqmp_header *zynqhdr,
+ const char *filename);
static inline struct image_header_table *
zynqmp_get_iht(const struct zynqmp_header *zynqhdr)