firmware-utils/mkzynfw: add support for the NBG460N board
[openwrt/svn-archive/archive.git] / tools / firmware-utils / src / mkcsysimg.c
index be53147f1b1cb551ddf3e0912fe007776062b044..4f2352a60e7851f7a55738fa57f9062562d27258 100644 (file)
@@ -1,7 +1,6 @@
 /*
- *  $Id$
  *
- *  Copyright (C) 2007 Gabor Juhos <juhosg at openwrt.org>
+ *  Copyright (C) 2007-2009 Gabor Juhos <juhosg@openwrt.org>
  *
  *  This program was based on the code found in various Linux
  *  source tarballs released by Edimax for it's devices.
@@ -179,6 +178,12 @@ static struct board_info boards[] = {
        BOARD_ADM("XRT-401D", "Planet XRT-401D", 2, SIG_XRT401D),
        BOARD_ADM("XRT-402D", "Planet XRT-402D", 2, SIG_XRT402D),
 
+       /* Conceptronic products */
+       BOARD_ADM("C54BSR4", "Conceptronic C54BSR4", 2, SIG_C54BSR4),
+
+       /* OSBRiDGE products */
+       BOARD_ADM("5GXi", "OSBDRiDGE 5GXi", 2, SIG_5GXI),
+
        {.model = NULL}
 };
 
@@ -572,7 +577,7 @@ block_writeout_hdr(FILE *outfile, struct csys_block *block)
        /* setup header fields */
        memcpy(hdr.sig, block->sig, 4);
        hdr.addr = HOST_TO_LE32(block->addr);
-       hdr.size = HOST_TO_LE32(block->align-block->size_hdr);
+       hdr.size = HOST_TO_LE32(block->size - block->size_hdr - block->size_csum);
 
        DBG(1,"writing header for block");
        res = write_out_data(outfile, (uint8_t *)&hdr, sizeof(hdr),NULL);