]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Vlv2DeviceRefCodePkg/ValleyView2Soc/NorthCluster/Include/Protocol/MemInfo.h
Upload BSD-licensed Vlv2TbltDevicePkg and Vlv2DeviceRefCodePkg to
[mirror_edk2.git] / Vlv2DeviceRefCodePkg / ValleyView2Soc / NorthCluster / Include / Protocol / MemInfo.h
diff --git a/Vlv2DeviceRefCodePkg/ValleyView2Soc/NorthCluster/Include/Protocol/MemInfo.h b/Vlv2DeviceRefCodePkg/ValleyView2Soc/NorthCluster/Include/Protocol/MemInfo.h
new file mode 100644 (file)
index 0000000..74e31d4
--- /dev/null
@@ -0,0 +1,89 @@
+\r
+/*++\r
+\r
+Copyright (c)  1999  - 2014, Intel Corporation. All rights reserved\r
+\r
+  This program and the accompanying materials are licensed and made available under\r
+  the terms and conditions of the BSD License that accompanies this distribution.\r
+  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
+Module Name:\r
+\r
+  MemInfo.h\r
+\r
+Abstract:\r
+\r
+  This protocol provides the memory information data, such as\r
+  total physical memory size, memory frequency, memory size\r
+  of each dimm and rank.\r
+\r
+  This protocol is EFI compatible.\r
+\r
+--*/\r
+\r
+#ifndef _MEM_INFO_PROTOCOL_H_\r
+#define _MEM_INFO_PROTOCOL_H_\r
+\r
+//\r
+// Define the  protocol GUID\r
+//\r
+#define MEM_INFO_PROTOCOL_GUID \\r
+  { \\r
+    0x6f20f7c8, 0xe5ef, 0x4f21, 0x8d, 0x19, 0xed, 0xc5, 0xf0, 0xc4, 0x96, 0xae \\r
+  }\r
+\r
+//\r
+// Extern the GUID for protocol users.\r
+//\r
+extern EFI_GUID                   gMemInfoProtocolGuid;\r
+\r
+//\r
+// Forward reference for ANSI C compatibility\r
+//\r
+typedef struct _MEM_INFO_PROTOCOL MEM_INFO_PROTOCOL;\r
+\r
+//\r
+// Protocol definitions\r
+//\r
+\r
+#define CH_NUM    2\r
+#define DIMM_NUM  1\r
+#define RANK_NUM  2\r
+\r
+#pragma pack(1)\r
+typedef struct {\r
+  UINT32  memSize;\r
+  UINT8   ddrFreq;\r
+  UINT8   ddrType;\r
+  BOOLEAN EccSupport;\r
+  UINT16  dimmSize[CH_NUM * DIMM_NUM];\r
+  UINT8   reserved;\r
+  UINT16   reserved2;\r
+} MEMORY_INFO_DATA;\r
+#pragma pack()\r
+\r
+/*++\r
+Data definition:\r
+\r
+  memSize         Total physical memory size\r
+  ddrFreq         DDR Frequency\r
+  EccSupport      ECC Support\r
+  dimmSize        Dimm Size\r
+  DimmExist       Dimm Present or not\r
+  RankInDimm      No. of ranks in a dimm\r
+\r
+--*/\r
+\r
+//\r
+// Protocol definition\r
+//\r
+struct _MEM_INFO_PROTOCOL {\r
+  MEMORY_INFO_DATA  MemInfoData;\r
+};\r
+\r
+#endif\r