]> git.proxmox.com Git - mirror_edk2.git/commitdiff
ArmPlatformPkg/CTA15-A7: Add a convenient way to restore default values in NOR flash.
authoroliviermartin <oliviermartin@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 12 Mar 2013 00:43:58 +0000 (00:43 +0000)
committeroliviermartin <oliviermartin@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 12 Mar 2013 00:43:58 +0000 (00:43 +0000)
Setting bit4 of SCC register 48 now triggers the erasing of the memory region
reserved for variable storage in NOR flash and the restoration of the default
headers in flash.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Olivier Martin <olivier.martin@arm.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14177 6f19259b-4bc3-4df7-8a09-765794883524

ArmPlatformPkg/ArmVExpressPkg/Include/Platform/CTA15-A7/ArmPlatform.h
ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibCTA15-A7/CTA15-A7.c

index 365f06002b7a0f9ed4ecedb0db11f09b71fab4f1..b52f89a5cbf8d61502595e93e70c5240710244bb 100644 (file)
 \r
 #define ARM_CTA15A7_SCC_SYSINFO                 ARM_CTA15A7_SCC_CFGREG48\r
 \r
-#define ARM_CTA15A7_SCC_SYSINFO_CLUSTER_A7_NUM_CPU(val)   (((val) >> 20) & 0xF)\r
-#define ARM_CTA15A7_SCC_SYSINFO_CLUSTER_A15_NUM_CPU(val)  (((val) >> 16) & 0xF)\r
-#define ARM_CTA15A7_SCC_SYSINFO_ACTIVE_CLUSTER_A15        (1 << 0)\r
-#define ARM_CTA15A7_SCC_SYSINFO_ACTIVE_CLUSTER_A7         (1 << 1)\r
+#define ARM_CTA15A7_SCC_SYSINFO_CLUSTER_A7_NUM_CPU(val)         (((val) >> 20) & 0xF)\r
+#define ARM_CTA15A7_SCC_SYSINFO_CLUSTER_A15_NUM_CPU(val)        (((val) >> 16) & 0xF)\r
+#define ARM_CTA15A7_SCC_SYSINFO_ACTIVE_CLUSTER_A15              (1 << 0)\r
+#define ARM_CTA15A7_SCC_SYSINFO_ACTIVE_CLUSTER_A7               (1 << 1)\r
+#define ARM_CTA15A7_SCC_SYSINFO_UEFI_RESTORE_DEFAULT_NORFLASH   (1 << 4)\r
 \r
 #define ARM_CTA15A7_SPC_BASE                    0x7FFF0B00\r
 #define ARM_CTA15A7_SPC_WAKE_INT_MASK           (ARM_CTA15A7_SPC_BASE + 0x24)\r
index c650a6e3a59d118122733ddb14f581e009a88713..87f41c7ae0c985a4bfe07ec05915eb7620a5204e 100644 (file)
@@ -121,7 +121,11 @@ ArmPlatformGetBootMode (
   VOID\r
   )\r
 {\r
-  return BOOT_WITH_FULL_CONFIGURATION;\r
+  if (MmioRead32(ARM_CTA15A7_SCC_SYSINFO) & ARM_CTA15A7_SCC_SYSINFO_UEFI_RESTORE_DEFAULT_NORFLASH) {\r
+    return BOOT_WITH_DEFAULT_SETTINGS;\r
+  } else {\r
+    return BOOT_WITH_FULL_CONFIGURATION;\r
+  }\r
 }\r
 \r
 /**\r