+++ /dev/null
-/** @file\r
-\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
- which accompanies this distribution. The full text of the license may be found at\r
- http://opensource.org/licenses/bsd-license.php\r
-\r
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-\r
- **/\r
-\r
-#include <PiDxe.h>\r
-#include <Library/DebugLib.h>\r
-#include <Library/IoLib.h>\r
-#include <Library/NorFlashPlatformLib.h>\r
-#include <ArmPlatform.h>\r
-\r
-#define NOR_FLASH_DEVICE_COUNT 4\r
-\r
-NOR_FLASH_DESCRIPTION mNorFlashDevices[NOR_FLASH_DEVICE_COUNT] = {\r
- { // BootMon\r
- ARM_VE_SMB_NOR0_BASE,\r
- ARM_VE_SMB_NOR0_BASE,\r
- SIZE_256KB * 255,\r
- SIZE_256KB,\r
- { 0xE7223039, 0x5836, 0x41E1, { 0xB5, 0x42, 0xD7, 0xEC, 0x73, 0x6C, 0x5E, 0x59 } }\r
- },\r
- { // BootMon non-volatile storage\r
- ARM_VE_SMB_NOR0_BASE,\r
- ARM_VE_SMB_NOR0_BASE + SIZE_256KB * 255,\r
- SIZE_64KB * 4,\r
- SIZE_64KB,\r
- { 0x02118005, 0x9DA7, 0x443A, { 0x92, 0xD5, 0x78, 0x1F, 0x02, 0x2A, 0xED, 0xBB } }\r
- },\r
- { // UEFI\r
- ARM_VE_SMB_NOR1_BASE,\r
- ARM_VE_SMB_NOR1_BASE,\r
- SIZE_256KB * 255,\r
- SIZE_256KB,\r
- { 0x1F15DA3C, 0x37FF, 0x4070, { 0xB4, 0x71, 0xBB, 0x4A, 0xF1, 0x2A, 0x72, 0x4A } }\r
- },\r
- { // UEFI Variable Services non-volatile storage\r
- ARM_VE_SMB_NOR1_BASE,\r
- ARM_VE_SMB_NOR1_BASE + SIZE_256KB * 255,\r
- SIZE_64KB * 3, //FIXME: Set 3 blocks because I did not succeed to copy 4 blocks into the ARM Versatile Express NOR Flash in the last NOR Flash. It should be 4 blocks\r
- SIZE_64KB,\r
- { 0xCC2CBF29, 0x1498, 0x4CDD, { 0x81, 0x71, 0xF8, 0xB6, 0xB4, 0x1D, 0x09, 0x09 } }\r
- }\r
-};\r
-\r
-EFI_STATUS\r
-NorFlashPlatformInitialization (\r
- VOID\r
- )\r
-{\r
- // Everything seems ok so far, so now we need to disable the platform-specific\r
- // flash write protection for Versatile Express\r
- if ((MmioRead32 (ARM_VE_SYS_FLASH) & 0x1) == 0) {\r
- // Writing to NOR FLASH is disabled, so enable it\r
- MmioWrite32 (ARM_VE_SYS_FLASH,1);\r
- DEBUG((DEBUG_BLKIO, "NorFlashWriteBlocks: informational - Had to enable HSYS_FLASH flag.\n" ));\r
- }\r
-\r
- return EFI_SUCCESS;\r
-}\r
-\r
-EFI_STATUS\r
-NorFlashPlatformGetDevices (\r
- OUT NOR_FLASH_DESCRIPTION **NorFlashDevices,\r
- OUT UINT32 *Count\r
- )\r
-{\r
- if ((NorFlashDevices == NULL) || (Count == NULL)) {\r
- return EFI_INVALID_PARAMETER;\r
- }\r
-\r
- *NorFlashDevices = mNorFlashDevices;\r
- *Count = NOR_FLASH_DEVICE_COUNT;\r
-\r
- return EFI_SUCCESS;\r
-}\r
+++ /dev/null
-#/** @file\r
-#\r
-# Copyright (c) 2011, ARM Ltd. All rights reserved.<BR>\r
-# This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution. The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-#**/\r
-\r
-[Defines]\r
- INF_VERSION = 0x00010005\r
- BASE_NAME = NorFlashArmVExpressLib\r
- FILE_GUID = c0f5dfa0-7599-11e0-9665-0002a5d5c51b\r
- MODULE_TYPE = DXE_DRIVER\r
- VERSION_STRING = 1.0\r
- LIBRARY_CLASS = NorFlashPlatformLib\r
-\r
-[Sources.common]\r
- NorFlashArmVExpress.c\r
-\r
-[Packages]\r
- MdePkg/MdePkg.dec\r
- ArmPlatformPkg/ArmPlatformPkg.dec\r
-\r
-[LibraryClasses]\r
- BaseLib\r
- DebugLib\r
- IoLib\r