1From e79fd5cfa3190eb27a9637facc9891cab55b5e09 Mon Sep 17 00:00:00 2001
2From: sahil <sahil@arm.com>
3Date: Mon, 2 May 2022 19:24:47 +0530
4Subject: [PATCH] Platform/ARM/N1Sdp: Persistent storage for N1Sdp
5
6Enable persistent storage on QSPI flash device.
7
8Upstream-Status: Pending
9Signed-off-by: Xueliang Zhong <xueliang.zhong@arm.com>
10Signed-off-by: sahil <sahil@arm.com>
11Change-Id: I403113bb885d1d411d433a7f266715d007509a5e
12---
13 Platform/ARM/N1Sdp/N1SdpPlatform.dsc | 18 +++++++++++++-----
14 Platform/ARM/N1Sdp/N1SdpPlatform.fdf |  4 +++-
15 2 files changed, 16 insertions(+), 6 deletions(-)
16
17diff --git a/Platform/ARM/N1Sdp/N1SdpPlatform.dsc b/Platform/ARM/N1Sdp/N1SdpPlatform.dsc
18index 676ab677..80bc875a 100644
19--- a/Platform/ARM/N1Sdp/N1SdpPlatform.dsc
20+++ b/Platform/ARM/N1Sdp/N1SdpPlatform.dsc
21@@ -44,6 +44,9 @@
22   # file explorer library support
23   FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf
24
25+  # NOR flash support
26+  NorFlashInfoLib|EmbeddedPkg/Library/NorFlashInfoLib/NorFlashInfoLib.inf
27+
28 [LibraryClasses.common.SEC]
29   HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
30   MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
31@@ -161,11 +164,9 @@
32   # ACPI Table Version
33   gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiExposedTableVersions|0x20
34
35-  # Runtime Variable storage
36-  gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0
37-  gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvModeEnable|TRUE
38-  gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize|0x2000
39-  gEfiMdeModulePkgTokenSpaceGuid.PcdMaxAuthVariableSize|0x2800
40+  # NOR flash support
41+  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase|0x18F00000
42+  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize|0x00020000
43
44 ################################################################################
45 #
46@@ -197,6 +198,12 @@
47       gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000000F
48   }
49
50+  # NOR flash support
51+  Platform/ARM/N1Sdp/Drivers/CadenceQspiDxe/CadenceQspiDxe.inf {
52+      <LibraryClasses>
53+      NorFlashPlatformLib|Silicon/ARM/NeoverseN1Soc/Library/NorFlashLib/NorFlashLib.inf
54+  }
55+
56   # Architectural Protocols
57   ArmPkg/Drivers/CpuDxe/CpuDxe.inf
58   ArmPkg/Drivers/ArmGic/ArmGicDxe.inf
59@@ -217,6 +224,7 @@
60   MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf {
61     <LibraryClasses>
62       NULL|MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLib.inf
63+      NULL|EmbeddedPkg/Library/NvVarStoreFormattedLib/NvVarStoreFormattedLib.inf
64       BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
65   }
66
67diff --git a/Platform/ARM/N1Sdp/N1SdpPlatform.fdf b/Platform/ARM/N1Sdp/N1SdpPlatform.fdf
68index e5e24ea5..4329f892 100644
69--- a/Platform/ARM/N1Sdp/N1SdpPlatform.fdf
70+++ b/Platform/ARM/N1Sdp/N1SdpPlatform.fdf
71@@ -1,7 +1,7 @@
72 ## @file
73 #  FDF file of N1Sdp
74 #
75-#  Copyright (c) 2018 - 2021, ARM Limited. All rights reserved.<BR>
76+#  Copyright (c) 2018 - 2023, ARM Limited. All rights reserved.<BR>
77 #
78 #  SPDX-License-Identifier: BSD-2-Clause-Patent
79 ##
80@@ -140,6 +140,8 @@ READ_LOCK_STATUS   = TRUE
81   INF ArmPkg/Drivers/GenericWatchdogDxe/GenericWatchdogDxe.inf
82   INF ArmPkg/Drivers/TimerDxe/TimerDxe.inf
83
84+  INF Platform/ARM/N1Sdp/Drivers/CadenceQspiDxe/CadenceQspiDxe.inf
85+
86   INF Platform/ARM/Drivers/BootMonFs/BootMonFs.inf
87   INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
88
89