openwrtv3/tools/wrt350nv2-builder/src/upgrade.h
2009-12-12 00:44:03 +00:00

77 lines
2.2 KiB
C

#ifndef _UPGRADE_H_
#define _UPGRADE_H_
#define FLASH_END_ADDR 0xffffffff
#define FLASH_ADDR_BASE 0xff800000
#define BOOT_ADDR_BASE 0xfffc0000
#define BOOT_ADDR_BASE_OFF 0x7c0000
#define FLASH_SIZE 0x800000
#define BOOT_SIZE 0x40000
//NVRAM in boot area
//#define NVRAM_ADDR_BASE 0xfff90000
//#define NVRAM_ADDR_BASE_OFF 0x790000
//#define NVRAM_SIZE 0x10000
#define PID_OFFSET (BOOT_SIZE- 0x46)
#define NODE_ADDRESS (BOOT_SIZE-0x60)
#define NODE_BASE_OFF (FLASH_SIZE-0x60)
#define PIN_ADDRESS (BOOT_SIZE-0x70)//WPS PIN,8bytes
#define PIN_OFF (FLASH_SIZE-0x70)
#define KERNEL_CODE_OFFSET 0
#define SN_ADDRESS (BOOT_SIZE-0x80) //12bytes
#define SN_OFF (FLASH_SIZE-0x80)
#define UPGRADE_START_OFFSET 0
#define UPGRADE_END_OFFSET 0x7A0000
#define PRODUCT_ID_OFFSET 0x75ffe0//(UPGRADE_END_OFFSET - 0x10)
#define PROTOCOL_ID_OFFSET (PRODUCT_ID_OFFSET + 0x02)
#define FW_VERSION_OFFSET (PRODUCT_ID_OFFSET + 0x04)
#define SIGN_OFFSET (PRODUCT_ID_OFFSET + 0x08) /* eRcOmM */
//#define LANG_UPGRADE
#ifdef LANG_UPGRADE
#define LANGBUF_BEGIN 0x1300000
#define LANGBUF_END 0x1f00000
#define LANGBUF_LENTH (LANGBUF_END - LANGBUF_BEGIN)
#endif
#ifndef ERROR
#define ERROR -1
#endif
#ifndef OK
#define OK 0
#endif
#ifndef NULL
#define NULL 0
#endif
void do_boot(void);
void Download(void);
void Assign(void);
void gpio_init(void);
void Led_Power(int value);
void Led_security(int value);
int PushButton(void);
static unsigned short xchg ( unsigned short dwData);
int FlashDriver(unsigned long dlAddress,unsigned char *dbData,unsigned long dlLength,unsigned long dlFlag);
int ProgramChip(unsigned long dlAddress,unsigned char * dbData,unsigned long dlLength);
int dl_Initialize(void);
void dl_GetAddr(unsigned char *node);
int dl_Receive(void);
int dl_Transmit(char *buf,int len);
void reset(void);
void AssignHWAddress(unsigned char *psBuffer);
int ResetChip(unsigned long ulRomDstAddr);
int GetFlashType(void);
#ifdef LANG_UPGRADE
int save_lang_buf(unsigned long flash_addr, char *mem_addr,unsigned long length);
int LangDriver(unsigned long flash_addr, char *mem_addr,unsigned long length, unsigned long dlFlag);
#endif
#endif