X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fsvn-archive%2Farchive.git;a=blobdiff_plain;f=tools%2Ffirmware-utils%2Fsrc%2Fzynos.h;h=da8c8fdfba7147927f64a00d02a854b14d0b9a8a;hp=ef6c91ef39afd80509859e0fe689c2dcf84ad5f9;hb=7ee95b4cec13a5098c53bc804b91fb4e6a807d26;hpb=c67cdd436afc00e304d842b1a4051dd7550a9c6d diff --git a/tools/firmware-utils/src/zynos.h b/tools/firmware-utils/src/zynos.h index ef6c91ef39..da8c8fdfba 100755 --- a/tools/firmware-utils/src/zynos.h +++ b/tools/firmware-utils/src/zynos.h @@ -2,32 +2,21 @@ * $Id$ * * Copyright (C) 2007 OpenWrt.org - * Copyright (C) 2007 Gabor Juhos + * Copyright (C) 2007 Gabor Juhos * - * This code was based on the information of the ZyXEL's firmware - * image format written by Kolja Waschk, can be found at: + * This code was based on the information of the ZyXEL's firmware + * image format written by Kolja Waschk, can be found at: * http://www.ixo.de/info/zyxel_uclinux * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 as published + * by the Free Software Foundation. * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the - * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. */ #ifndef _ZYNOS_H #define _ZYNOS_H - #define BOOTBASE_NAME_LEN 32 #define BOOTBASE_MAC_LEN 6 #define BOOTBASE_FEAT_LEN 22 @@ -36,11 +25,13 @@ struct zyn_bootbase_info { char vendor[BOOTBASE_NAME_LEN]; /* Vendor name */ char model[BOOTBASE_NAME_LEN]; /* Model name */ uint32_t bootext_addr; /* absolute address of the Boot Extension */ - uint32_t res0; + uint16_t res0; /* reserved/unknown */ + uint8_t sys_type; /* system type */ + uint8_t res1; /* reserved/unknown */ uint16_t model_id; /* model id */ uint8_t feat_other[BOOTBASE_FEAT_LEN]; /* other feature bits */ uint8_t feat_main; /* main feature bits */ - uint8_t res1; /* unknown/unused */ + uint8_t res2; /* reserved/unknown */ uint8_t mac[BOOTBASE_MAC_LEN]; /* mac address */ uint8_t country; /* default country code */ uint8_t dbgflag; /* debug flag */ @@ -74,8 +65,8 @@ struct zyn_rombin_hdr { #define ROMBIN_FLAG_04 0x04 #define ROMBIN_FLAG_08 0x08 #define ROMBIN_FLAG_10 0x10 -#define ROMBIN_FLAG_20 0x20 -#define ROMBIN_FLAG_40 0x40 +#define ROMBIN_FLAG_CCSUM 0x20 /* compressed checksum is valid */ +#define ROMBIN_FLAG_OCSUM 0x40 /* original checksum is valid */ #define ROMBIN_FLAG_COMPRESSED 0x80 /* the binary is compressed */ /* Object types */ @@ -114,12 +105,22 @@ struct zyn_mmt_item { } __attribute__((packed)); /* - * Board IDs (in big-endian format) + * Vendor IDs + */ +#define ZYNOS_VENDOR_ID_ZYXEL 0 +#define ZYNOS_VENDOR_ID_NETGEAR 1 +#define ZYNOS_VENDOR_ID_DLINK 2 +#define ZYNOS_VENDOR_ID_03 3 +#define ZYNOS_VENDOR_ID_LUCENT 4 +#define ZYNOS_VENDOR_ID_O2 10 + +/* + * Model IDs (in big-endian format) */ #define MID(x) (((x) & 0xFF) << 8) | (((x) & 0xFF00) >> 8) -/* - * Infineon/ADMtek ADM5120 based models +/* + * Infineon/ADMtek ADM5120 based models */ #define ZYNOS_MODEL_ES_2024A MID( 221) #define ZYNOS_MODEL_ES_2024PWR MID( 4097) @@ -141,8 +142,8 @@ struct zyn_mmt_item { #define ZYNOS_MODEL_P_335U MID(56479) #define ZYNOS_MODEL_P_335WT ZYNOS_MODEL_P_335 -/* - * Texas Instruments AR7 based models +/* + * Texas Instruments AR7 based models */ #define ZYNOS_MODEL_P_2602H_61C MID( 3229) #define ZYNOS_MODEL_P_2602H_63C MID( 3485) @@ -158,6 +159,7 @@ struct zyn_mmt_item { #define ZYNOS_MODEL_P_2602HWL_63C ZYNOS_MODEL_P_2602H_63C #define ZYNOS_MODEL_P_2602HWL_D1A MID( 6301) #define ZYNOS_MODEL_P_2602HWL_D3A MID( 7581) +#define ZYNOS_MODEL_P_2602HWN_D7A MID(30464) #define ZYNOS_MODEL_P_2602HWNLI_D7A MID( 6813) #define ZYNOS_MODEL_P_2602R_61 MID( 2205) @@ -210,4 +212,7 @@ struct zyn_mmt_item { #define ZYNOS_MODEL_P_662HW_D1 MID(10394) #define ZYNOS_MODEL_P_662HW_D3 MID(12954) +/* OEM boards */ +#define ZYNOS_MODEL_O2SURF ZYNOS_MODEL_P_2602HWN_D7A + #endif /* _ZYNOS_H */