From 69b77084fc4e917d216c281c0cf3f0711b3421b6 Mon Sep 17 00:00:00 2001 From: Gurumoorthy Santhakumar Date: Thu, 3 Nov 2022 20:56:11 +0530 Subject: [PATCH] arch: common: add support for TRY mode in boootconfig Bootconfig partition can have the MAGIC value 0xA3A3A1A1 if try_mode is enabled. Update the checks in smem APIs Change-Id: I2fb71ff5812468f3f5ecd0153c35cab7d8e4bb44 Signed-off-by: Gurumoorthy Santhakumar --- arch/arm/cpu/armv7/qca/common/smem.c | 6 ++++-- arch/arm/include/asm/arch-qca-common/smem.h | 5 +++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/arch/arm/cpu/armv7/qca/common/smem.c b/arch/arm/cpu/armv7/qca/common/smem.c index 11fb96a6e4..7e834456f5 100644 --- a/arch/arm/cpu/armv7/qca/common/smem.c +++ b/arch/arm/cpu/armv7/qca/common/smem.c @@ -524,7 +524,8 @@ int smem_bootconfig_info(void) ret = smem_read_alloc_entry(SMEM_BOOT_DUALPARTINFO, &qca_smem_bootconfig_info, sizeof(qca_smem_bootconfig_info_t)); if ((ret != 0) || - (qca_smem_bootconfig_info.magic_start != _SMEM_DUAL_BOOTINFO_MAGIC_START) || + ((qca_smem_bootconfig_info.magic_start != _SMEM_DUAL_BOOTINFO_MAGIC_START) && + (qca_smem_bootconfig_info.magic_start != _SMEM_DUAL_BOOTINFO_MAGIC_START_TRYMODE)) || (qca_smem_bootconfig_info.magic_end != _SMEM_DUAL_BOOTINFO_MAGIC_END)) return -ENOMSG; @@ -580,7 +581,8 @@ int smem_update_bootconfig_to_flash(void) } } - if (qca_smem_bootconfig_info.magic_start != _SMEM_DUAL_BOOTINFO_MAGIC_START) { + if ((qca_smem_bootconfig_info.magic_start != _SMEM_DUAL_BOOTINFO_MAGIC_START) && + (qca_smem_bootconfig_info.magic_start != _SMEM_DUAL_BOOTINFO_MAGIC_START_TRYMODE)) { if(smem_bootconfig_info() != 0) return -1; } diff --git a/arch/arm/include/asm/arch-qca-common/smem.h b/arch/arm/include/asm/arch-qca-common/smem.h index 404c89ddd5..12278173ff 100644 --- a/arch/arm/include/asm/arch-qca-common/smem.h +++ b/arch/arm/include/asm/arch-qca-common/smem.h @@ -112,8 +112,9 @@ struct per_part_info typedef struct { -#define _SMEM_DUAL_BOOTINFO_MAGIC_START 0xA3A2A1A0 -#define _SMEM_DUAL_BOOTINFO_MAGIC_END 0xB3B2B1B0 +#define _SMEM_DUAL_BOOTINFO_MAGIC_START 0xA3A2A1A0 +#define _SMEM_DUAL_BOOTINFO_MAGIC_START_TRYMODE 0xA3A2A1A1 +#define _SMEM_DUAL_BOOTINFO_MAGIC_END 0xB3B2B1B0 /* Magic number for identification when reading from flash */ uint32_t magic_start;