mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2025-11-24 02:05:01 +00:00
Report mainfw_act based on VbSharedData
Don't use FDT to report it on ARM. This fixes ARM reporting the wrong thing for RO-normal. BUG=none TEST=none Change-Id: Id3a1bd2a1d2502e1d9493ab362be5a58fa88d70e Reviewed-on: http://gerrit.chromium.org/gerrit/4213 Reviewed-by: Olof Johansson <olofj@chromium.org> Reviewed-by: Simon Glass <sjg@chromium.org> Tested-by: Randall Spangler <rspangler@chromium.org>
This commit is contained in:
@@ -321,8 +321,6 @@ const char* VbGetArchPropertyString(const char* name, char* dest, int size) {
|
||||
prop = "hardware-id";
|
||||
else if (!strcasecmp(name, "fwid"))
|
||||
prop = "firmware-version";
|
||||
else if (!strcasecmp(name, "mainfw_act"))
|
||||
prop = "active-firmware";
|
||||
else if (!strcasecmp(name, "mainfw_type"))
|
||||
prop = "firmware-type";
|
||||
else if (!strcasecmp(name, "ecfw_act"))
|
||||
|
||||
@@ -26,7 +26,8 @@
|
||||
typedef enum VdatStringField {
|
||||
VDAT_STRING_TIMERS = 0, /* Timer values */
|
||||
VDAT_STRING_LOAD_FIRMWARE_DEBUG, /* LoadFirmware() debug information */
|
||||
VDAT_STRING_LOAD_KERNEL_DEBUG /* LoadKernel() debug information */
|
||||
VDAT_STRING_LOAD_KERNEL_DEBUG, /* LoadKernel() debug information */
|
||||
VDAT_STRING_MAINFW_ACT /* Active main firmware */
|
||||
} VdatStringField;
|
||||
|
||||
|
||||
@@ -293,6 +294,22 @@ char* GetVdatString(char* dest, int size, VdatStringField field)
|
||||
value = GetVdatLoadKernelDebug(dest, size, sh);
|
||||
break;
|
||||
|
||||
case VDAT_STRING_MAINFW_ACT:
|
||||
switch(sh->firmware_index) {
|
||||
case 0:
|
||||
StrCopy(dest, "A", size);
|
||||
break;
|
||||
case 1:
|
||||
StrCopy(dest, "B", size);
|
||||
break;
|
||||
case 0xFF:
|
||||
StrCopy(dest, "recovery", size);
|
||||
break;
|
||||
default:
|
||||
value = NULL;
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
value = NULL;
|
||||
break;
|
||||
@@ -403,6 +420,8 @@ const char* VbGetSystemPropertyString(const char* name, char* dest, int size) {
|
||||
default:
|
||||
return NULL;
|
||||
}
|
||||
} else if (!strcasecmp(name, "mainfw_act")) {
|
||||
return GetVdatString(dest, size, VDAT_STRING_MAINFW_ACT);
|
||||
} else if (!strcasecmp(name, "vdat_timers")) {
|
||||
return GetVdatString(dest, size, VDAT_STRING_TIMERS);
|
||||
} else if (!strcasecmp(name, "vdat_lfdebug")) {
|
||||
|
||||
Reference in New Issue
Block a user