firmware-utils: bcm4908img: name fields & values
authorRafał Miłecki <rafal@milecki.pl>
Wed, 24 Mar 2021 16:29:30 +0000 (17:29 +0100)
committerRafał Miłecki <rafal@milecki.pl>
Thu, 8 Apr 2021 11:16:10 +0000 (13:16 +0200)
Less magic numbers

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
(cherry picked from commit 1ff7569387f69550e8a9356a109a875e4fdb4412)

tools/firmware-utils/src/bcm4908img.c

index 86a187b146af0ca6b8343a94e6713809d3360088..cb1913fdb1c35c3e3d50553d1f92806b6b2361d1 100644 (file)
 #error "Unsupported endianness"
 #endif
 
+#define WFI_VERSION                    0x00005732
+#define WFI_VERSION_NAND_1MB_DATA      0x00005731
+
+#define WFI_NOR_FLASH                  1
+#define WFI_NAND16_FLASH               2
+#define WFI_NAND128_FLASH              3
+#define WFI_NAND256_FLASH              4
+#define WFI_NAND512_FLASH              5
+#define WFI_NAND1024_FLASH             6
+#define WFI_NAND2048_FLASH             7
+
+#define WFI_FLAG_HAS_PMC               0x1
+#define WFI_FLAG_SUPPORTS_BTRM         0x2
+
 struct bcm4908img_tail {
        uint32_t crc32;
-       uint32_t unk1;
-       uint32_t family;
-       uint32_t unk2;
-       uint32_t unk3;
+       uint32_t version;
+       uint32_t chip_id;
+       uint32_t flash_type;
+       uint32_t flags;
 };
 
 char *pathname;
@@ -272,10 +286,10 @@ static ssize_t bcm4908img_create_align(FILE *trx, size_t cur_offset, size_t alig
 
 static int bcm4908img_create(int argc, char **argv) {
        struct bcm4908img_tail tail = {
-               .unk1 = cpu_to_le32(0x5732),
-               .family = cpu_to_le32(0x4908),
-               .unk2 = cpu_to_le32(0x03),
-               .unk3 = cpu_to_le32(0x02),
+               .version = cpu_to_le32(WFI_VERSION),
+               .chip_id = cpu_to_le32(0x4908),
+               .flash_type = cpu_to_le32(WFI_NAND128_FLASH),
+               .flags = cpu_to_le32(WFI_FLAG_SUPPORTS_BTRM),
        };
        uint32_t crc32 = 0xffffffff;
        size_t cur_offset = 0;