summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorGabor Juhos <juhosg@openwrt.org>2008-05-09 08:19:30 +0000
committerGabor Juhos <juhosg@openwrt.org>2008-05-09 08:19:30 +0000
commit9b3eedabdb25e25316d3700e19c9186fb41417b5 (patch)
tree4d35ca4f897cf99829f686beefee16dd20a93324 /tools
parentf8b94cdc30abe0bed9818d526ffe5c2ac0fcc4e2 (diff)
downloadopenwrt-9b3eedabdb25e25316d3700e19c9186fb41417b5.tar.gz
openwrt-9b3eedabdb25e25316d3700e19c9186fb41417b5.tar.bz2
openwrt-9b3eedabdb25e25316d3700e19c9186fb41417b5.zip
mkzynfw: add definitions for the P-2602HW-D1A
SVN-Revision: 11096
Diffstat (limited to 'tools')
-rw-r--r--tools/firmware-utils/src/mkzynfw.c27
-rw-r--r--tools/firmware-utils/src/zynos.h8
2 files changed, 23 insertions, 12 deletions
diff --git a/tools/firmware-utils/src/mkzynfw.c b/tools/firmware-utils/src/mkzynfw.c
index f8c71599d5..9009d50cac 100644
--- a/tools/firmware-utils/src/mkzynfw.c
+++ b/tools/firmware-utils/src/mkzynfw.c
@@ -1,8 +1,8 @@
/*
* $Id$
*
- * Copyright (C) 2007 OpenWrt.org
- * Copyright (C) 2007 Gabor Juhos <juhosg at openwrt.org>
+ * Copyright (C) 2007-2008 OpenWrt.org
+ * Copyright (C) 2007-2008 Gabor Juhos <juhosg at openwrt.org>
*
* This code was based on the information of the ZyXEL's firmware
* image format written by Kolja Waschk, can be found at:
@@ -95,7 +95,7 @@ struct board_info {
uint32_t flash_base; /* flash base address */
uint32_t flash_size; /* board flash size */
uint32_t code_start; /* code start address */
- uint32_t fw_offs; /* offset of the firmware within the flash */
+ uint32_t romio_offs; /* offset of the firmware within the flash */
};
/*
@@ -125,7 +125,7 @@ int num_blocks = 0;
.name = (n), .desc=(d), \
.vendor = (v), .model = (m), \
.flash_base = (fb), .flash_size = (fs)<<20, \
- .code_start = (cs), .fw_offs = (fo) \
+ .code_start = (cs), .romio_offs = (fo) \
}
#define ADMBOARD1(n, d, m, fs) BOARD(n, d, ZYNOS_VENDOR_ID_ZYXEL, m, \
@@ -164,6 +164,17 @@ static struct board_info boards[] = {
ADMBOARD1("P-335U", "ZyXEL Prestige 335U", ZYNOS_MODEL_P_335U, 4),
ADMBOARD1("P-335WT", "ZyXEL Prestige 335WT", ZYNOS_MODEL_P_335WT, 4),
+ {
+ .name = "P-2602HW-D1A",
+ .desc = "ZyXEL P-2602HW-D1A",
+ .vendor = ZYNOS_VENDOR_ID_ZYXEL,
+ .model = ZYNOS_MODEL_P_2602HW_D1A,
+ .flash_base = AR7_FLASH_BASE,
+ .flash_size = 4*1024*1024,
+ .code_start = 0x94008000,
+ .romio_offs = 0x20000,
+ },
+
#if 0
/*
* Texas Instruments AR7 based boards
@@ -193,7 +204,7 @@ static struct board_info boards[] = {
.flash_base = AR7_FLASH_BASE,
.flash_size = 8*1024*1024,
.code_start = 0x94014000,
- .fw_offs = 0x40000,
+ .romio_offs = 0x40000,
},
/*
@@ -710,7 +721,7 @@ write_out_image(FILE *outfile)
offset += padlen;
- mmap.addr = board->flash_base + board->fw_offs + offset;
+ mmap.addr = board->flash_base + board->romio_offs + offset;
hdr.mmap_addr = mmap.addr;
res = write_out_mmap(outfile, &mmap, &css);
if (res)
@@ -887,7 +898,7 @@ calc_block_offsets(int type, uint32_t *offset)
continue;
next_offs = ALIGN(*offset, block->align);
- avail = board->flash_size - board->fw_offs - next_offs;
+ avail = board->flash_size - board->romio_offs - next_offs;
if (next_offs + block->file_size > avail) {
ERR("file %s is too big, offset = %u, size=%u,"
" align = %u", block->file_name,
@@ -921,7 +932,7 @@ process_blocks(void)
return res;
}
- offset = board->fw_offs + bootext_block->file_size;
+ offset = board->romio_offs + bootext_block->file_size;
res = calc_block_offsets(BLOCK_TYPE_RAW, &offset);
return res;
diff --git a/tools/firmware-utils/src/zynos.h b/tools/firmware-utils/src/zynos.h
index 7455a79cb4..c8d3250f7f 100644
--- a/tools/firmware-utils/src/zynos.h
+++ b/tools/firmware-utils/src/zynos.h
@@ -1,8 +1,8 @@
/*
* $Id$
*
- * Copyright (C) 2007 OpenWrt.org
- * Copyright (C) 2007 Gabor Juhos <juhosg at openwrt.org>
+ * Copyright (C) 2007-2008 OpenWrt.org
+ * Copyright (C) 2007-2008 Gabor Juhos <juhosg at openwrt.org>
*
* This code was based on the information of the ZyXEL's firmware
* image format written by Kolja Waschk, can be found at:
@@ -152,12 +152,12 @@ struct zyn_mmt_item {
#define ZYNOS_MODEL_P_2602HW_61C /* n.a. */
#define ZYNOS_MODEL_P_2602HW_63 /* n.a. */
#define ZYNOS_MODEL_P_2602HW_63C ZYNOS_MODEL_P_2602H_63C
-#define ZYNOS_MODEL_P_2602HW_D1A /* n.a. */
+#define ZYNOS_MODEL_P_2602HW_D1A MID( 6301)
#define ZYNOS_MODEL_P_2602HW_D3A /* n.a. */
#define ZYNOS_MODEL_P_2602HWL_61 MID( 1181)
#define ZYNOS_MODEL_P_2602HWL_61C ZYNOS_MODEL_P_2602H_61C
#define ZYNOS_MODEL_P_2602HWL_63C ZYNOS_MODEL_P_2602H_63C
-#define ZYNOS_MODEL_P_2602HWL_D1A MID( 6301)
+#define ZYNOS_MODEL_P_2602HWL_D1A ZYNOS_MODEL_P_2602HW_D1A
#define ZYNOS_MODEL_P_2602HWL_D3A MID( 7581)
#define ZYNOS_MODEL_P_2602HWN_D7A MID(30464)
#define ZYNOS_MODEL_P_2602HWNLI_D7A MID( 6813)