From 1ff7569387f69550e8a9356a109a875e4fdb4412 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Rafa=C5=82=20Mi=C5=82ecki?= Date: Wed, 24 Mar 2021 17:29:30 +0100 Subject: [PATCH] firmware-utils: bcm4908img: name fields & values MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Less magic numbers Signed-off-by: Rafał Miłecki --- tools/firmware-utils/src/bcm4908img.c | 30 ++++++++++++++++++++------- 1 file changed, 22 insertions(+), 8 deletions(-) diff --git a/tools/firmware-utils/src/bcm4908img.c b/tools/firmware-utils/src/bcm4908img.c index 86a187b146..cb1913fdb1 100644 --- a/tools/firmware-utils/src/bcm4908img.c +++ b/tools/firmware-utils/src/bcm4908img.c @@ -27,12 +27,26 @@ #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; -- 2.30.2