add wrt350n v2 image building code from #5970 (thx, maddes)
[openwrt-10.03/.git] / tools / wrt350nv2-builder / src / upgrade.h
diff --git a/tools/wrt350nv2-builder/src/upgrade.h b/tools/wrt350nv2-builder/src/upgrade.h
new file mode 100644 (file)
index 0000000..2b5953a
--- /dev/null
@@ -0,0 +1,77 @@
+#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
+