[Feature]add MT2731_MP2_MR2_SVN388 baseline version
Change-Id: Ief04314834b31e27effab435d3ca8ba33b499059
diff --git a/src/lynq/lib/liblynq-fota/include/iot_rock.h b/src/lynq/lib/liblynq-fota/include/iot_rock.h
new file mode 100644
index 0000000..b87bf51
--- /dev/null
+++ b/src/lynq/lib/liblynq-fota/include/iot_rock.h
@@ -0,0 +1,121 @@
+#ifndef _IOT_ROCK_H_
+#define _IOT_ROCK_H_
+
+/* public */
+
+#define E_ROCK_SUCCESS (0)
+#define E_ROCK_INVALID_DELTA (-1)
+#define E_ROCK_DELTA_MISMATCH (-2)
+#define E_ROCK_DELTA_CHUNK_MISMATCH (-3)
+#define E_ROCK_READ_DELTA_ERROR (-4)
+#define E_ROCK_READ_BLOCK_ERROR (-11)
+#define E_ROCK_WRITE_BLOCK_ERROR (-12)
+#define E_ROCK_RAM_NOT_ENOUGH (-20)
+#define E_ROCK_INVALID_CTX (-30)
+
+
+#define PATCH_SYSTEM (1)
+#define PATCH_BOOT (2)
+#define PATCH_TEE (3)
+#define PATCH_MD1IMG (4)
+#define PATCH_VBMETA (5)
+#define PATCH_BL33 (6)
+#define FULL_SYSTEM (7)
+#define FULL_BOOT (8)
+#define FULL_TEE (9)
+#define FULL_MD1IMG (10)
+#define FULL_VBMETA (11)
+#define FULL_BL33 (12)
+
+#define MAX_OTA_ROLE (12)
+
+
+
+#define MODE_NORMAL 0
+#define MODE_A2B 1
+#define MODE_B2A 2
+
+#define WAIT 0xff
+#define PASS 0
+#define ERROR -1
+
+typedef struct {
+ void* user_context;
+ unsigned int rom_base; // old rom start
+ unsigned char* ram_base; // ram working buffer start
+ unsigned int ram_len; // ram working buffer len
+
+ unsigned int backup_base; // ram backup storage start
+ unsigned int backup_len; // ram backup storage len
+
+ unsigned int update_nvram; // nvram update flag
+
+ int read_rom_directly;
+ int first_run;
+} IOT_UPDATA_CONTEXT;
+
+
+typedef struct {
+ unsigned int sys; //system 差分包大小
+ unsigned int boot; //boot 差分包大小
+ unsigned int tee; //tee 差分包大小
+ unsigned int md1img; //md1img 差分包大小
+ unsigned int vbmeta; //vbmeta 差分包大小
+ unsigned int bl33; //bl33 差分包大小
+ unsigned int full_sys; //system 整包大小
+ unsigned int full_boot; //boot
+ unsigned int full_tee; //tee 整包大小
+ unsigned int full_md1img; // 整包大小
+ unsigned int full_vbmeta; //vbmeta 整包大小
+ unsigned int full_bl33; //bl33 整包大小
+} DELTA_HEAD;
+
+typedef struct {
+
+ char fota_flag[32]; //fota 标志保留
+ int update_result; //升级结果
+ int ota_run; //
+ char cid[32];
+ char did[32];
+} UPDATE_INFO;
+
+
+typedef struct {
+ int need_update;
+ int check_delta;
+ int check_rom;
+ int update_result;
+
+} UPDATE_STATUS;
+
+
+typedef struct {
+ int ota_run;
+ UPDATE_STATUS update_status[MAX_OTA_ROLE];
+ int update_result;
+ int switch_slot;
+
+} OTA_STATUS;
+
+
+
+
+
+//#define DELTA_HEARD_SIZE (4*5)
+
+#define DELTA_HEARD_SIZE (4*6 + 4*6)
+#define DELTA_FULL_HEARD_SIZE 8
+
+
+
+int iot_patch(IOT_UPDATA_CONTEXT* update_ctx);
+
+unsigned int iot_hash(unsigned char *buf,unsigned int len, unsigned int* value);
+int lynq_md5_file_verfy(char* filePath, char* file_md5);
+//int md5_file_verfy_new(char* filePath, char* file_md5,int packe_len);
+int lynq_rock_main(int first_run);
+int lynq_fota_func(void);
+#endif
+
+
+