From 716ca530e1c4515d8683c9d5be3d56b301758b66 Mon Sep 17 00:00:00 2001 From: James <> Date: Wed, 4 Nov 2015 11:49:21 +0000 Subject: trunk-47381 --- tools/firmware-utils/src/csysimg.h | 79 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 tools/firmware-utils/src/csysimg.h (limited to 'tools/firmware-utils/src/csysimg.h') diff --git a/tools/firmware-utils/src/csysimg.h b/tools/firmware-utils/src/csysimg.h new file mode 100644 index 0000000..65ab062 --- /dev/null +++ b/tools/firmware-utils/src/csysimg.h @@ -0,0 +1,79 @@ +/* + * + * Copyright (C) 2007,2009 Gabor Juhos + * + * This program was based on the code found in various Linux + * source tarballs released by Edimax for it's devices. + * Original author: David Hsu + * + * 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 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. + */ + +#define SIG_LEN 4 + +#define ADM_CODE_ADDR 0x80500000 +#define ADM_WEBP_ADDR 0x10000 +#define ADM_WEBP_SIZE 0x10000 +#define ADM_BOOT_SIZE 0x8000 +#define ADM_CONF_SIZE 0x8000 +#define ADM_BOOT_SIG "\x00\x60\x1A\x40" + + +/* + * Generic signatures + */ +#define SIG_CSYS "CSYS" +#define SIG_CONF "HS\x00\x00" +#define SIG_BOOT_RTL "\x00\x00\x40\x21" + +/* + * Web page signatures + */ +#define SIG_BR6104K "WB4K" +#define SIG_BR6104KP "WBKP" +#define SIG_BR6104Wg "WBGW" +#define SIG_BR6104IPC "WBIP" +#define SIG_BR6114WG SIG_BR6104IPC +#define SIG_BR6524K "2-K-" +#define SIG_BR6524KP "2-KP" /* FIXME: valid? */ +#define SIG_BR6524N "WNRA" +#define SIG_BR6524WG "2-WG" /* FIXME: valid? */ +#define SIG_BR6524WP "2-WP" /* FIXME: valid? */ +#define SIG_BR6541K "4--K" +#define SIG_BR6541KP "4-KP" /* FIXME: valid? */ +#define SIG_BR6541WP "4-WP" /* FIXME: valid? */ +#define SIG_C54BSR4 SIG_BR6104IPC +#define SIG_EW7207APg "EWAS" +#define SIG_PS1205UWg "4000" +#define SIG_PS3205U "5010" +#define SIG_PS3205UWg "5011" +#define SIG_RALINK "RNRA" +#define SIG_5GXI "5GXI" /* fake signature */ + +#define SIG_H2BR4 SIG_BR6524K +#define SIG_H2WR54G SIG_BR6524WG + +#define SIG_XRT401D SIG_BR6104K +#define SIG_XRT402D SIG_BR6524K + +/* + * CSYS image file header + */ +struct csys_header { + unsigned char sig[SIG_LEN]; + uint32_t addr; + uint32_t size; +}; -- cgit v1.2.3