X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/0840c2ef25cbbe1634b050ba5c8bc1b036129d83..b1c9efe5ed8b148c1c6f62d067860aa09c371b90:/tools/firmware-utils/src/zynos.h?ds=inline diff --git a/tools/firmware-utils/src/zynos.h b/tools/firmware-utils/src/zynos.h old mode 100755 new mode 100644 index 54590e585..aaf0fc8a7 --- a/tools/firmware-utils/src/zynos.h +++ b/tools/firmware-utils/src/zynos.h @@ -1,46 +1,38 @@ /* - * $Id$ * - * Copyright (C) 2007 OpenWrt.org - * Copyright (C) 2007 Gabor Juhos + * Copyright (C) 2007-2008 OpenWrt.org + * Copyright (C) 2007-2008 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 +#define BOOTEXT_DEF_SIZE 0x18000 + 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 +66,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 +106,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 +143,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) @@ -151,13 +153,14 @@ 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) #define ZYNOS_MODEL_P_2602R_61 MID( 2205) @@ -210,4 +213,13 @@ 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 + +/* Atheros AR2318 based boards */ +#define ZYNOS_MODEL_NBG_318S MID(59392) + +/* Atheros AR71xx based boards */ +#define ZYNOS_MODEL_NBG_460N MID(61441) + #endif /* _ZYNOS_H */