colibri_imx6: fix video stdout in default environment
[oweals/u-boot.git] / tools / stm32image.c
index 08b32ba87dd512a1f5377d24d679dd97731427cd..18357c051822508a652ce7bb1191390f5b71f40e 100644 (file)
@@ -14,6 +14,8 @@
 #define HEADER_VERSION_V1      0x1
 /* default option : bit0 => no signature */
 #define HEADER_DEFAULT_OPTION  (cpu_to_le32(0x00000001))
+/* default binary type for U-Boot */
+#define HEADER_TYPE_UBOOT      (cpu_to_le32(0x00000000))
 
 struct stm32_header {
        uint32_t magic_number;
@@ -29,7 +31,8 @@ struct stm32_header {
        uint32_t option_flags;
        uint32_t ecdsa_algorithm;
        uint32_t ecdsa_public_key[64 / 4];
-       uint32_t padding[84 / 4];
+       uint32_t padding[83 / 4];
+       uint32_t binary_type;
 };
 
 static struct stm32_header stm32image_header;
@@ -42,7 +45,8 @@ static void stm32image_default_header(struct stm32_header *ptr)
        ptr->magic_number = HEADER_MAGIC;
        ptr->header_version[VER_MAJOR_IDX] = HEADER_VERSION_V1;
        ptr->option_flags = HEADER_DEFAULT_OPTION;
-       ptr->ecdsa_algorithm = 1;
+       ptr->ecdsa_algorithm = cpu_to_le32(1);
+       ptr->binary_type = HEADER_TYPE_UBOOT;
 }
 
 static uint32_t stm32image_checksum(void *start, uint32_t len)
@@ -112,6 +116,8 @@ static void stm32image_print_header(const void *ptr)
               le32_to_cpu(stm32hdr->image_checksum));
        printf("Option     : 0x%08x\n",
               le32_to_cpu(stm32hdr->option_flags));
+       printf("BinaryType : 0x%08x\n",
+              le32_to_cpu(stm32hdr->binary_type));
 }
 
 static void stm32image_set_header(void *ptr, struct stat *sbuf, int ifd,
@@ -125,7 +131,8 @@ static void stm32image_set_header(void *ptr, struct stat *sbuf, int ifd,
        stm32hdr->image_entry_point = cpu_to_le32(params->ep);
        stm32hdr->image_length = cpu_to_le32((uint32_t)sbuf->st_size -
                                             sizeof(struct stm32_header));
-       stm32hdr->image_checksum = stm32image_checksum(ptr, sbuf->st_size);
+       stm32hdr->image_checksum =
+               cpu_to_le32(stm32image_checksum(ptr, sbuf->st_size));
 }
 
 /*