summaryrefslogtreecommitdiff
path: root/ArmPlatformPkg/ArmVExpressPkg/ArmVExpressDxe/ArmHwDxe.c
diff options
context:
space:
mode:
authorOlivier Martin <olivier.martin@arm.com>2015-02-25 19:14:26 +0000
committeroliviermartin <oliviermartin@Edk2>2015-02-25 19:14:26 +0000
commitdff720276a3ee19af0cb658340ac8514ffce8359 (patch)
tree294de85293545b57a866eb6a64ee84076e93adfb /ArmPlatformPkg/ArmVExpressPkg/ArmVExpressDxe/ArmHwDxe.c
parentdf320b1084907173f100208c06d00b05f4d52b2b (diff)
downloadedk2-platforms-dff720276a3ee19af0cb658340ac8514ffce8359.tar.xz
ArmPlatformPkg/ArmVExpressDxe: Identify the current platform
Add a function to ArmVExpressDxe to identify the current platform we are running on. This includes ARM32 and AArch64 models and hardware. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16931 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'ArmPlatformPkg/ArmVExpressPkg/ArmVExpressDxe/ArmHwDxe.c')
-rw-r--r--ArmPlatformPkg/ArmVExpressPkg/ArmVExpressDxe/ArmHwDxe.c37
1 files changed, 35 insertions, 2 deletions
diff --git a/ArmPlatformPkg/ArmVExpressPkg/ArmVExpressDxe/ArmHwDxe.c b/ArmPlatformPkg/ArmVExpressPkg/ArmVExpressDxe/ArmHwDxe.c
index 7ed5c61059..66ec9963ca 100644
--- a/ArmPlatformPkg/ArmVExpressPkg/ArmVExpressDxe/ArmHwDxe.c
+++ b/ArmPlatformPkg/ArmVExpressPkg/ArmVExpressDxe/ArmHwDxe.c
@@ -12,10 +12,43 @@
**/
-#include <Library/UefiLib.h>
-#include <Library/DebugLib.h>
+#include "ArmVExpressInternal.h"
#include <Library/ArmShellCmdLib.h>
+//
+// Description of the four hardware platforms :
+// just the platform id for the time being.
+// Platform ids are defined in ArmVExpressInternal.h for
+// all "ArmVExpress-like" platforms (AARCH64 or ARM architecture,
+// model or hardware platforms).
+//
+CONST ARM_VEXPRESS_PLATFORM ArmVExpressPlatforms[] = {
+ { ARM_HW_A9x4 },
+ { ARM_HW_A15x2_A7x3 },
+ { ARM_HW_A15 },
+ { ARM_HW_A5 },
+ { ARM_FVP_VEXPRESS_UNKNOWN }
+};
+
+/**
+ Get information about the VExpress platform the firmware is running on.
+
+ @param[out] Platform Address where the pointer to the platform information
+ (type ARM_VEXPRESS_PLATFORM*) should be stored.
+ The returned pointer does not point to an allocated
+ memory area. Not used here.
+
+ @retval EFI_NOT_FOUND The platform was not recognised.
+
+**/
+EFI_STATUS
+ArmVExpressGetPlatform (
+ OUT CONST ARM_VEXPRESS_PLATFORM** Platform
+ )
+{
+ return EFI_NOT_FOUND;
+}
+
EFI_STATUS
EFIAPI
ArmHwInitialise (