Pārlūkot izejas kodu

tools: mtk_image: use uint32_t for ghf header magic and version

This patch converts magic and version fields of ghf common header
to one field with the type of uint32_t to make this header flexible
for futher updates.

Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
Weijie Gao 10 mēneši atpakaļ
vecāks
revīzija
2bff97ad5a
2 mainītis faili ar 9 papildinājumiem un 7 dzēšanām
  1. 6 4
      tools/mtk_image.c
  2. 3 3
      tools/mtk_image.h

+ 6 - 4
tools/mtk_image.c

@@ -542,11 +542,13 @@ static void put_brom_layout_header(struct brom_layout_header *hdr, int type)
 	hdr->type = cpu_to_le32(type);
 }
 
-static void put_ghf_common_header(struct gfh_common_header *gfh, int size,
-				  int type, int ver)
+static void put_ghf_common_header(struct gfh_common_header *gfh, uint16_t size,
+				  uint16_t type, uint8_t ver)
 {
-	memcpy(gfh->magic, GFH_HEADER_MAGIC, sizeof(gfh->magic));
-	gfh->version = ver;
+	uint32_t magic_version = GFH_HEADER_MAGIC |
+				 (uint32_t)ver << GFH_HEADER_VERSION_SHIFT;
+
+	gfh->magic_version = cpu_to_le32(magic_version);
 	gfh->size = cpu_to_le16(size);
 	gfh->type = cpu_to_le16(type);
 }

+ 3 - 3
tools/mtk_image.h

@@ -63,13 +63,13 @@ struct gen_device_header {
 
 /* BootROM header definitions */
 struct gfh_common_header {
-	uint8_t magic[3];
-	uint8_t version;
+	uint32_t magic_version;
 	uint16_t size;
 	uint16_t type;
 };
 
-#define GFH_HEADER_MAGIC	"MMM"
+#define GFH_HEADER_MAGIC		0x4D4D4D
+#define GFH_HEADER_VERSION_SHIFT	24
 
 #define GFH_TYPE_FILE_INFO	0
 #define GFH_TYPE_BL_INFO	1