]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.h
ArmPlatformPkg/ArmVExpressSecLibRTSM: Only use extended name of system registers...
[mirror_edk2.git] / ArmPlatformPkg / Drivers / NorFlashDxe / NorFlashDxe.h
index 959c0c1905b71344858ce5ae700b0a8b75fe88ef..6c8cea28ea9432373d4069030e7b994db51b7278 100644 (file)
@@ -1,6 +1,6 @@
 /** @file  NorFlashDxe.h\r
 \r
-  Copyright (c) 2011-2012, ARM Ltd. All rights reserved.<BR>\r
+  Copyright (c) 2011 - 2014, ARM Ltd. All rights reserved.<BR>\r
 \r
   This program and the accompanying materials\r
   are licensed and made available under the terms and conditions of the BSD License\r
@@ -19,6 +19,8 @@
 #include <Base.h>\r
 #include <PiDxe.h>\r
 \r
+#include <Guid/EventGroup.h>\r
+\r
 #include <Protocol/BlockIo.h>\r
 #include <Protocol/FirmwareVolumeBlock.h>\r
 \r
@@ -26,6 +28,7 @@
 #include <Library/IoLib.h>\r
 #include <Library/NorFlashPlatformLib.h>\r
 #include <Library/UefiLib.h>\r
+#include <Library/UefiRuntimeLib.h>\r
 \r
 #define NOR_FLASH_ERASE_RETRY                     10\r
 \r
@@ -141,6 +144,7 @@ struct _NOR_FLASH_INSTANCE {
 \r
   BOOLEAN                             SupportFvb;\r
   EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL FvbProtocol;\r
+  VOID*                               FvbBuffer;\r
 \r
   NOR_FLASH_DEVICE_PATH                      DevicePath;\r
 };\r
@@ -300,6 +304,13 @@ NorFlashWriteBlocks (
   IN  VOID              *Buffer\r
   );\r
 \r
+EFI_STATUS\r
+NorFlashWriteSingleWord (\r
+  IN NOR_FLASH_INSTANCE     *Instance,\r
+  IN UINTN                  WordAddress,\r
+  IN UINT32                 WriteData\r
+  );\r
+\r
 EFI_STATUS\r
 NorFlashReadBlocks (\r
   IN NOR_FLASH_INSTANCE   *Instance,\r
@@ -308,9 +319,24 @@ NorFlashReadBlocks (
   OUT VOID                *Buffer\r
   );\r
 \r
+EFI_STATUS\r
+NorFlashRead (\r
+  IN NOR_FLASH_INSTANCE   *Instance,\r
+  IN EFI_LBA              Lba,\r
+  IN UINTN                Offset,\r
+  IN UINTN                BufferSizeInBytes,\r
+  OUT VOID                *Buffer\r
+  );\r
+\r
 EFI_STATUS\r
 NorFlashReset (\r
   IN  NOR_FLASH_INSTANCE *Instance\r
   );\r
 \r
+EFI_STATUS\r
+NorFlashUnlockSingleBlockIfNecessary (\r
+  IN NOR_FLASH_INSTANCE     *Instance,\r
+  IN UINTN                  BlockAddress\r
+  );\r
+\r
 #endif /* __NOR_FLASH_DXE_H__ */\r