[Feature][ZXW-88]merge P50 version

Only Configure: No
Affected branch: master
Affected module: unknown
Is it affected on both ZXIC and MTK: only ZXIC
Self-test: Yes
Doc Update: No

Change-Id: I34667719d9e0e7e29e8e4368848601cde0a48408
diff --git a/boot/common/src/loader/lib/board.c b/boot/common/src/loader/lib/board.c
index 3d138a9..09417af 100755
--- a/boot/common/src/loader/lib/board.c
+++ b/boot/common/src/loader/lib/board.c
@@ -17,6 +17,7 @@
 #include "ddr.h"
 #include "../drivers/efuse.h"
 #include "../drivers/flash.h"
+#include "pub_flags.h"
 
 #define FLAGS_PARTITION_ERROR (0x1111) /*·ÖÇøÒì³£*/
 
@@ -134,7 +135,7 @@
 }
 
 //#ifdef CONFIG_ZX297520V3E_MDL_AB
-#if defined(CONFIG_ZX297520V3E_MDL_AB) || defined(CONFIG_ZX297520V3E_VEHICLE_DC)
+#if defined(CONFIG_ZX297520V3E_MDL_AB) || defined(CONFIG_ZX297520V3E_VEHICLE_DC) || defined(CONFIG_ZX297520V3E_VEHICLE_DC_REF)
 void start_armboot (void)
 {
 	int32_t ret = 0;
@@ -142,9 +143,8 @@
 	uint32_t amt_value = 0;
 	int32_t err_flag = 0;
     T_BOOT_TARGET bootTarget;
-	T_BOOT_FOTA_FLAG flagsData;
-	T_BOOT_FOTA_FLAG *fotaFlag;
-	T_FOTA_FLAG_INFO *fotaFlagInfo;
+	T_FLAGS_INFO flagsData;
+	T_FLAGS_INFO *fotaFlag;
 	T_BOOT_DUALSYSTEM_TYPE dualSystemType;
 
 	clk_init();
@@ -218,25 +218,26 @@
 		err_flag = 1;
 		
 		/*ĬÈÏflags·ÖÇøÊý¾Ý*/
-		flagsData.magic = FLAGS_MAGIC;
-		flagsData.boot_to = DUAL_SYSTEM;
-		flagsData.fota_status = 1;
-		flagsData.system.status = DUALSYSTEM_STATUS_BOOTABLE;
-		flagsData.system2.status = DUALSYSTEM_STATUS_BOOTABLE;
+		flagsData.magic_start = FLAGS_MAGIC;
+		flagsData.boot_fota_flag.boot_to = DUAL_SYSTEM;
+		flagsData.boot_fota_flag.fota_status = 1;
+		flagsData.boot_fota_flag.system.status = DUALSYSTEM_STATUS_BOOTABLE;
+		flagsData.boot_fota_flag.system2.status = DUALSYSTEM_STATUS_BOOTABLE;
+		flagsData.magic_end = FLAGS_MAGIC;
 		fotaFlag = &flagsData;
 	}
 	else
 	{
-        fotaFlag = (T_BOOT_FOTA_FLAG *)(CFG_TEMP_ADDR);
+        fotaFlag = (T_FLAGS_INFO *)(CFG_TEMP_ADDR);
 	}
 
-	bootTarget = fotaFlag->boot_to;
+	bootTarget = fotaFlag->boot_fota_flag.boot_to;
 
 	writel(DUALSYSTEM_STATUS_BOOTABLE, BOOT_FLAG_ADDR);/*ĬÈÏ¿ÉÆô¶¯*/
 	
     if(bootTarget == DUAL_SYSTEM)
     {
-        if (fotaFlag->system.status == DUALSYSTEM_STATUS_UNBOOTABLE)
+        if (fotaFlag->boot_fota_flag.system.status == DUALSYSTEM_STATUS_UNBOOTABLE)
         {
             printf("dual_system status is unbootable!");
 		    goto error;
@@ -258,7 +259,7 @@
 	}
     else if(bootTarget == DUAL_SYSTEM2)
     {
-        if (fotaFlag->system2.status == DUALSYSTEM_STATUS_UNBOOTABLE)
+        if (fotaFlag->boot_fota_flag.system2.status == DUALSYSTEM_STATUS_UNBOOTABLE)
         {
             printf("dual_system2 status is unbootable!");
 		    goto error;