mkzynfw: add definitions for the P-2602HW-D1A

SVN-Revision: 11096
This commit is contained in:
Gabor Juhos 2008-05-09 08:19:30 +00:00
parent f8b94cdc30
commit 9b3eedabdb
2 changed files with 23 additions and 12 deletions

View File

@ -1,8 +1,8 @@
/* /*
* $Id$ * $Id$
* *
* Copyright (C) 2007 OpenWrt.org * Copyright (C) 2007-2008 OpenWrt.org
* Copyright (C) 2007 Gabor Juhos <juhosg at openwrt.org> * Copyright (C) 2007-2008 Gabor Juhos <juhosg at openwrt.org>
* *
* This code was based on the information of the ZyXEL's firmware * This code was based on the information of the ZyXEL's firmware
* image format written by Kolja Waschk, can be found at: * 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_base; /* flash base address */
uint32_t flash_size; /* board flash size */ uint32_t flash_size; /* board flash size */
uint32_t code_start; /* code start address */ 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), \ .name = (n), .desc=(d), \
.vendor = (v), .model = (m), \ .vendor = (v), .model = (m), \
.flash_base = (fb), .flash_size = (fs)<<20, \ .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, \ #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-335U", "ZyXEL Prestige 335U", ZYNOS_MODEL_P_335U, 4),
ADMBOARD1("P-335WT", "ZyXEL Prestige 335WT", ZYNOS_MODEL_P_335WT, 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 #if 0
/* /*
* Texas Instruments AR7 based boards * Texas Instruments AR7 based boards
@ -193,7 +204,7 @@ static struct board_info boards[] = {
.flash_base = AR7_FLASH_BASE, .flash_base = AR7_FLASH_BASE,
.flash_size = 8*1024*1024, .flash_size = 8*1024*1024,
.code_start = 0x94014000, .code_start = 0x94014000,
.fw_offs = 0x40000, .romio_offs = 0x40000,
}, },
/* /*
@ -710,7 +721,7 @@ write_out_image(FILE *outfile)
offset += padlen; 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; hdr.mmap_addr = mmap.addr;
res = write_out_mmap(outfile, &mmap, &css); res = write_out_mmap(outfile, &mmap, &css);
if (res) if (res)
@ -887,7 +898,7 @@ calc_block_offsets(int type, uint32_t *offset)
continue; continue;
next_offs = ALIGN(*offset, block->align); 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) { if (next_offs + block->file_size > avail) {
ERR("file %s is too big, offset = %u, size=%u," ERR("file %s is too big, offset = %u, size=%u,"
" align = %u", block->file_name, " align = %u", block->file_name,
@ -921,7 +932,7 @@ process_blocks(void)
return res; 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); res = calc_block_offsets(BLOCK_TYPE_RAW, &offset);
return res; return res;

View File

@ -1,8 +1,8 @@
/* /*
* $Id$ * $Id$
* *
* Copyright (C) 2007 OpenWrt.org * Copyright (C) 2007-2008 OpenWrt.org
* Copyright (C) 2007 Gabor Juhos <juhosg at openwrt.org> * Copyright (C) 2007-2008 Gabor Juhos <juhosg at openwrt.org>
* *
* This code was based on the information of the ZyXEL's firmware * This code was based on the information of the ZyXEL's firmware
* image format written by Kolja Waschk, can be found at: * 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_61C /* n.a. */
#define ZYNOS_MODEL_P_2602HW_63 /* 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_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_2602HW_D3A /* n.a. */
#define ZYNOS_MODEL_P_2602HWL_61 MID( 1181) #define ZYNOS_MODEL_P_2602HWL_61 MID( 1181)
#define ZYNOS_MODEL_P_2602HWL_61C ZYNOS_MODEL_P_2602H_61C #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_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_2602HWL_D3A MID( 7581)
#define ZYNOS_MODEL_P_2602HWN_D7A MID(30464) #define ZYNOS_MODEL_P_2602HWN_D7A MID(30464)
#define ZYNOS_MODEL_P_2602HWNLI_D7A MID( 6813) #define ZYNOS_MODEL_P_2602HWNLI_D7A MID( 6813)