summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorTom Rini <[email protected]>2026-07-08 10:13:24 -0600
committerTom Rini <[email protected]>2026-07-08 10:13:24 -0600
commit913fedc816570c07bfc7f9c4046dc2a3a55e4099 (patch)
tree203a77dffb82a220a95e088004ab0e553a995660 /tools
parentee5d46b45ec0c63f8f9dd1e816e0dac3452ccc3d (diff)
parent34c89c840c33dd154746ebdc9bbf2e4f3614d292 (diff)
Merge tag 'xilinx-for-v2026.10-rc1-v3' of https://git.u-boot-project.org/u-boot/custodians/u-boot-amd
AMD/Xilinx/FPGA changes for v2026.10-rc1 v3 AMD: - Firmware interface decoupling (part 1) ZynqMP: - DT updates - Add TCG variant detection Versal/Versal2: - Drop DDR MMU mapping and map it dynamically tools: - Add register initialization to mkimage MAINTAINERS: - Clean Zynq/ZynqMP fragments ufs: - Fix driver reregistration fpga: - altera: Simplify driver conditional compilation selection
Diffstat (limited to 'tools')
-rw-r--r--tools/zynqmpbif.c12
-rw-r--r--tools/zynqmpimage.c4
-rw-r--r--tools/zynqmpimage.h2
3 files changed, 16 insertions, 2 deletions
diff --git a/tools/zynqmpbif.c b/tools/zynqmpbif.c
index 82ce0ac1a52..50d76b03476 100644
--- a/tools/zynqmpbif.c
+++ b/tools/zynqmpbif.c
@@ -191,6 +191,7 @@ static char *parse_partition_owner(char *line, struct bif_entry *bf)
}
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 },
@@ -316,6 +317,15 @@ static int bif_add_pmufw(struct bif_entry *bf, const char *data, size_t len)
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;
@@ -340,6 +350,8 @@ static int bif_add_part(struct bif_entry *bf, const char *data, size_t len)
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)
diff --git a/tools/zynqmpimage.c b/tools/zynqmpimage.c
index 4db9877127e..eb79c0696cc 100644
--- a/tools/zynqmpimage.c
+++ b/tools/zynqmpimage.c
@@ -400,8 +400,8 @@ static void zynqmpimage_pmufw(struct zynqmp_header *zynqhdr,
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;
diff --git a/tools/zynqmpimage.h b/tools/zynqmpimage.h
index 7c47dc0763b..867fc5294a3 100644
--- a/tools/zynqmpimage.h
+++ b/tools/zynqmpimage.h
@@ -142,6 +142,8 @@ struct zynqmp_header {
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)