Home | History | Annotate | Download | only in MemorySubClassDxe
      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