1 /** @file 2 * 3 * Copyright (c) 2015, Hisilicon Limited. All rights reserved. 4 * Copyright (c) 2015, Linaro Limited. All rights reserved. 5 * 6 * This program and the accompanying materials 7 * are licensed and made available under the terms and conditions of the BSD License 8 * which accompanies this distribution. The full text of the license may be found at 9 * http://opensource.org/licenses/bsd-license.php 10 * 11 * THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 13 * 14 **/ 15 16 17 #ifndef _MEMORY_SUBCLASS_DRIVER_H 18 #define _MEMORY_SUBCLASS_DRIVER_H 19 20 #include <Uefi.h> 21 #include <PiDxe.h> 22 #include <Protocol/Smbios.h> 23 #include <IndustryStandard/SmBios.h> 24 #include <Library/HiiLib.h> 25 #include <Library/DebugLib.h> 26 #include <Library/MemoryAllocationLib.h> 27 #include <Library/BaseMemoryLib.h> 28 #include <Library/UefiBootServicesTableLib.h> 29 #include <Library/BaseLib.h> 30 #include <Library/UefiLib.h> 31 #include <Library/HobLib.h> 32 #include <Library/PrintLib.h> 33 #include <Library/PcdLib.h> 34 35 #include <Library/HwMemInitLib.h> 36 #include <Guid/DebugMask.h> 37 #include <Guid/MemoryMapData.h> 38 #include <Library/PlatformSysCtrlLib.h> 39 #include <Library/OemMiscLib.h> 40 41 // 42 // This is the generated header file which includes whatever needs to be exported (strings + IFR) 43 // 44 45 extern UINT8 MemorySubClassStrings[]; 46 47 #define MAX_DIMM_SIZE 32 // In GB 48 49 struct SPD_JEDEC_MANUFACTURER 50 { 51 UINT8 MfgIdLSB; 52 UINT8 MfgIdMSB; 53 CHAR16 *Name; 54 }; 55 56 struct SPD_JEDEC_MANUFACTURER JEP106[] = { 57 { 0, 0x10, L"NEC"}, 58 { 0, 0x2c, L"Micron"}, 59 { 0, 0x3d, L"Tektronix"}, 60 { 0, 0x97, L"TI"}, 61 { 0, 0xad, L"Hynix"}, 62 { 0, 0xb3, L"IDT"}, 63 { 0, 0xc1, L"Infineon"}, 64 { 0, 0xce, L"Samsung"}, 65 { 1, 0x94, L"Smart"}, 66 { 1, 0x98, L"Kingston"}, 67 { 2, 0xc8, L"Agilent"}, 68 { 2, 0xfe, L"Elpida"}, 69 { 3, 0x0b, L"Nanya"}, 70 { 4, 0x43, L"Ramaxel"}, 71 { 4, 0xb3, L"Inphi"}, 72 { 5, 0x51, L"Qimonda"}, 73 { 5, 0x57, L"AENEON"}, 74 { 0xFF, 0xFF, L""} 75 }; 76 77 78 79 #endif 80