summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLucas Stach <dev@lynxeye.de>2019-12-10 23:03:21 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2019-12-11 09:51:23 +0100
commit583055c883ede073200dd2b8f5078793d5fe0313 (patch)
tree0c17a82f9d3ef5427908fdc4c8de097a6468ebf0
parent9398e9ef1e4d0aebf60b618508c746b0cb6cafb9 (diff)
downloadbarebox-583055c883ede073200dd2b8f5078793d5fe0313.tar.gz
filetype: add Zynq image type
Use the 2 invariant words (width detection and image identification) from the Zynq image header to detect the filetype. Signed-off-by: Lucas Stach <dev@lynxeye.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r--common/filetype.c4
-rw-r--r--include/filetype.h1
2 files changed, 5 insertions, 0 deletions
diff --git a/common/filetype.c b/common/filetype.c
index 39fea45..fd6e8e3 100644
--- a/common/filetype.c
+++ b/common/filetype.c
@@ -80,6 +80,7 @@ static const struct filetype_str filetype_str[] = {
[filetype_ubootvar] = { "U-Boot environmemnt variable data",
"ubootvar" },
[filetype_stm32_image_v1] = { "STM32 image (v1)", "stm32-image-v1" },
+ [filetype_zynq_image] = { "Zynq image", "zynq-image" },
};
const char *file_type_to_string(enum filetype f)
@@ -392,6 +393,9 @@ enum filetype file_detect_type(const void *_buf, size_t bufsize)
if (is_imx_flash_header_v2(_buf))
return filetype_imx_image_v2;
+ if (buf[8] == 0xAA995566 && buf[9] == 0x584C4E58)
+ return filetype_zynq_image;
+
return filetype_unknown;
}
diff --git a/include/filetype.h b/include/filetype.h
index 90a03de..db95fda 100644
--- a/include/filetype.h
+++ b/include/filetype.h
@@ -49,6 +49,7 @@ enum filetype {
filetype_layerscape_qspi_image,
filetype_ubootvar,
filetype_stm32_image_v1,
+ filetype_zynq_image,
filetype_max,
};