[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/uboot/drivers/misc/load.c b/boot/common/src/uboot/drivers/misc/load.c
index c44dc9b..bbb6c27 100755
--- a/boot/common/src/uboot/drivers/misc/load.c
+++ b/boot/common/src/uboot/drivers/misc/load.c
@@ -31,6 +31,7 @@
 #include <asm/arch/cpu.h>
 #include <secure_verify.h>
 #include <linux/mtd/nor_spifc.h>
+#include "pub_flags.h"
 
 #if	LOAD_IMAGE_DEBUG
 #define load_debug_printf(fmt,args...)	printf (fmt ,##args)
@@ -66,7 +67,7 @@
 #endif
 
 //#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)
 extern int imagefs_flag;
 static uint32_t flags;
 #endif
@@ -305,12 +306,12 @@
 	return 0;
 }
 
-#ifdef CONFIG_ZX297520V3E_VEHICLE_DC
+#if defined(CONFIG_ZX297520V3E_VEHICLE_DC) || defined(CONFIG_ZX297520V3E_VEHICLE_DC_REF)
 int fs_load_dtb_image(void)
 {
     char    cmd[64] = {0};
     /*1¡¢½«dtbÎļþloadµ½ÁÙʱµØÖ·*/
-#ifdef CONFIG_ZX297520V3E_VEHICLE_DC
+#if defined(CONFIG_ZX297520V3E_VEHICLE_DC) || defined(CONFIG_ZX297520V3E_VEHICLE_DC_REF)
     if(imagefs_flag == 1)
 		sprintf(cmd, "fsload imagefs 0x%x %s", (ulong)CONFIG_SYS_SDRAM_TEMP_BASE, DTB_IMAGE_PATH);
 	else
@@ -342,7 +343,7 @@
 
 	/*1¡¢½«m0 imgÎļþloadµ½ÁÙʱµØÖ·*/
 //#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)
     if(imagefs_flag == 1)
 		sprintf(cmd, "fsload imagefs 0x%x %s", (ulong)CONFIG_SYS_SDRAM_TEMP_BASE, M0_IMAGE_PATH);
 	else
@@ -427,7 +428,7 @@
 	{
 		/* ½«zsp imgÎļþloadµ½ÁÙʱµØÖ·*/
 //#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)
         if(imagefs_flag == 1)
 		    sprintf(cmd, "fsload imagefs 0x%x cpuphy_%02d.lzma", 
 				(ulong)CONFIG_SYS_SDRAM_TEMP_BASE, 
@@ -529,7 +530,7 @@
 	{
 		/*1¡¢½«ap imgÎļþloadµ½ÁÙʱµØÖ·*/
 //#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)
         if(imagefs_flag == 1)
 			sprintf(cmd, "fsload imagefs 0x%x /%s_%02d.lzma", 
 				(ulong)CONFIG_SYS_SDRAM_TEMP_BASE, image_name, apimagenum);
@@ -683,7 +684,7 @@
 	BOOT_PRINTF(UBOOT_NOTICE, "zsp image load begin...\n");
 	image_tmp_buf = CONFIG_SYS_SDRAM_TEMP_BASE;
 //#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)
 	if(imagefs_flag == 1)
         sprintf(cmd, "fsload imagefs 0x%x %s", (ulong)image_tmp_buf, ZSP_IMAGE_PATH);
 	else
@@ -721,7 +722,7 @@
 
 	/*1¡¢½«ap imgÎļþloadµ½ÁÙʱµØÖ·*/
 //#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)
 	if(imagefs_flag == 1)
 		sprintf(cmd, "fsload imagefs 0x%x /ap_%s.bin", 
 				(ulong)CONFIG_SYS_SDRAM_TEMP_BASE, image_name);
@@ -890,8 +891,8 @@
 }
 
 //#ifdef CONFIG_ZX297520V3E_MDL_AB
-#if defined(CONFIG_ZX297520V3E_MDL_AB) || defined(CONFIG_ZX297520V3E_VEHICLE_DC)
-int load_flags(T_FOTA_FLAG_INFO *fotaFlagInfo)
+#if defined(CONFIG_ZX297520V3E_MDL_AB) || defined(CONFIG_ZX297520V3E_VEHICLE_DC) || defined(CONFIG_ZX297520V3E_VEHICLE_DC_REF)
+int load_flags(T_FLAGS_INFO *fotaFlagInfo)
 {
 	int ret = 0;
 	int type = 0;
@@ -907,7 +908,7 @@
 	uint32_t work_area_offset = 0;
 	uint32_t backup_area_offset = 0;
 	uint32_t flag_one = 0;
-	uint32_t  fota_size = sizeof(T_FOTA_FLAG_INFO);
+	uint32_t  fota_size = sizeof(T_FLAGS_INFO);
 	nand_info_t *nand = &nand_info[nand_curr_device];
 	struct fsl_qspi *nor = &spi_nor_flash;
 
@@ -966,7 +967,7 @@
 			return 1;
 		}
 		
-		if(fotaFlagInfo->boot_flag.magic != FLAGS_MAGIC)
+		if(fotaFlagInfo->magic_start != FLAGS_MAGIC)
 		{	
 			flush_dcache_all();
 			ret = flash->read(nand,(loff_t)backup_area_offset,
@@ -978,7 +979,7 @@
 				return -1;
 			}
 			
-			if(fotaFlagInfo->boot_flag.magic != FLAGS_MAGIC)
+			if(fotaFlagInfo->magic_start != FLAGS_MAGIC)
 			{
 	            printf("flags magic err.\n");
 			    return -1;
@@ -996,7 +997,7 @@
 			BOOT_PRINTF(UBOOT_ERR, "[%s]: read the flags error!\n", part_name);
 			return -1;
 		}
-		if(fotaFlagInfo->boot_flag.magic != FLAGS_MAGIC)
+		if(fotaFlagInfo->magic_start != FLAGS_MAGIC)
 		{
             flush_dcache_all();
 			ret = nand_read(&(nor->nor[0].mtd), (loff_t)backup_area_offset, 
@@ -1008,7 +1009,7 @@
 				return -1;
 			}
 			
-			if(fotaFlagInfo->boot_flag.magic != FLAGS_MAGIC)
+			if(fotaFlagInfo->magic_start != FLAGS_MAGIC)
 			{
 	            printf("flags magic err.\n");
 			    return -1;
@@ -1033,7 +1034,7 @@
 {
 	char cmd[64] = {0};
 //#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)
 	if(imagefs_flag == 1)
 	    sprintf(cmd, "fsload imagefs 0x%x %s", (ulong)CONFIG_SYS_SDRAM_TEMP_BASE, FOTAFLAG_PATH);
 	else