blob: c35ce39d61dc0df48effedc7768adfeea9194a5e [file] [log] [blame]
/** @file
*
* Copyright (c) 2015, Hisilicon Limited. All rights reserved.
* Copyright (c) 2015, Linaro Limited. All rights reserved.
*
* This program and the accompanying materials
* are licensed and made available under the terms and conditions of the BSD License
* which accompanies this distribution. The full text of the license may be found at
* http://opensource.org/licenses/bsd-license.php
*
* THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
* WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
*
**/
#ifndef _MEMORY_SUBCLASS_DRIVER_H
#define _MEMORY_SUBCLASS_DRIVER_H
#include <Uefi.h>
#include <PiDxe.h>
#include <Protocol/Smbios.h>
#include <IndustryStandard/SmBios.h>
#include <Library/HiiLib.h>
#include <Library/DebugLib.h>
#include <Library/MemoryAllocationLib.h>
#include <Library/BaseMemoryLib.h>
#include <Library/UefiBootServicesTableLib.h>
#include <Library/BaseLib.h>
#include <Library/UefiLib.h>
#include <Library/HobLib.h>
#include <Library/PrintLib.h>
#include <Library/PcdLib.h>
#include <Library/HwMemInitLib.h>
#include <Guid/DebugMask.h>
#include <Guid/MemoryMapData.h>
#include <Library/PlatformSysCtrlLib.h>
#include <Library/OemMiscLib.h>
//
// This is the generated header file which includes whatever needs to be exported (strings + IFR)
//
extern UINT8 MemorySubClassStrings[];
#define MAX_DIMM_SIZE 32 // In GB
struct SPD_JEDEC_MANUFACTURER
{
UINT8 MfgIdLSB;
UINT8 MfgIdMSB;
CHAR16 *Name;
};
struct SPD_JEDEC_MANUFACTURER JEP106[] = {
{ 0, 0x10, L"NEC"},
{ 0, 0x2c, L"Micron"},
{ 0, 0x3d, L"Tektronix"},
{ 0, 0x97, L"TI"},
{ 0, 0xad, L"Hynix"},
{ 0, 0xb3, L"IDT"},
{ 0, 0xc1, L"Infineon"},
{ 0, 0xce, L"Samsung"},
{ 1, 0x94, L"Smart"},
{ 1, 0x98, L"Kingston"},
{ 2, 0xc8, L"Agilent"},
{ 2, 0xfe, L"Elpida"},
{ 3, 0x0b, L"Nanya"},
{ 4, 0x43, L"Ramaxel"},
{ 4, 0xb3, L"Inphi"},
{ 5, 0x51, L"Qimonda"},
{ 5, 0x57, L"AENEON"},
{ 0xFF, 0xFF, L""}
};
#endif