[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;