alder_lake_bios/Insyde/InsydeModulePkg/Include/Ddr3SpdRegs.h

72 lines
3.9 KiB
C

/** @file
Define DDR3 SPD register offest. (Accroading to JEDEC SPD Revision 1.0)
;******************************************************************************
;* Copyright (c) 2012 - 2013, Insyde Software Corp. All Rights Reserved.
;*
;* You may not reproduce, distribute, publish, display, perform, modify, adapt,
;* transmit, broadcast, present, recite, release, license or otherwise exploit
;* any part of this publication in any form, by any means, without the prior
;* written permission of Insyde Software Corporation.
;*
;******************************************************************************
*/
#ifndef _DDR3_SPD_REGS_H_
#define _DDR3_SPD_REGS_H_
//
// SPD register offsets
//
#define SPD_DDR3_DEV_TYPE 2 // DRAM Device Type (3:0)
#define SPD_DDR3_SDRAM 0x0B // DDR3 Memory type DDR3 SDRAM
#define SPD_LPDDR3_SDRAM 0xF1 // DDR3 Memory type LPDDR3 SDRAM
#define SPD_DDR3_MODULE 3 // Module type (3:0)
#define SPD_DDR3_MTYPE_MASK 0x0F // DDR3 Memory Type mask
#define SPD_DDR3_UNBUFFERED 0x02 // DDR3 Unbuffered Memory Type value
#define SPD_DDR3_RDIMM 0x01 // Registered DIMM Memory
#define SPD_DDR3_UDIMM 0x02 // Unbuffered DIMM Memory
#define SPD_DDR3_SODIMM 0x03 // Small Outline DIMM Memory
#define SPD_DDR3_MICRO_DIMM 0x04 // Micro-DIMM Memory
#define SPD_DDR3_MINI_RDIMM 0x05 // Mini Registered DIMM Memory
#define SPD_DDR3_MINI_UDIMM 0x06 // Mini Unbuffered DIMM Memory
#define SPD_DDR3_DENBANK 4 // Banks (6:4), Density (3:0)
#define SPD_DDR3_CAP_MASK 0x07 // Total SDRAM capacity Mask
#define SPD_DDR3_ADDRESS 5 // Row (5:3), Column (2:0) address
#define SPD_DDR3_ORG 7 // Ranks (5:3),device width (2:0)
#define SPD_DDR3_DEVW_MASK 0x07 // DDR3 Device Width
#define SPD_DDR3_RANKNUM_MASK 0x38 // DDR3 Number of Ranks
#define SPD_DDR3_WIDTH 8 // Bus width ext (4:3), Bus width (2:0)
#define SPD_DDR3_PBW_MASK 0x07 // DDR3 Primary bus width mask
#define SPD_DDR3_BWE_MASK 0x18 // DDR3 Bus Width Extension mask
#define SPD_DDR3_MTBDD 10 // Medium Timebase (MTB) Dividend
#define SPD_DDR3_MTBDS 11 // Medium Timebase (MTB) Divisor
#define SPD_DDR3_TCLK 12 // Minimum cycle time (tCKmin)
#define SPD_DDR3_CLL 14 // CAS latency supported, low byte
#define SPD_DDR3_CLH 15 // CAS latency supported, high byte
#define SPD_DDR3_TAA 16 // Minimum CAS latency time (tAA)
#define SPD_DDR3_TWR 17 // Minimum write recovery time (tWR)
#define SPD_DDR3_TRCD 18 // Minimum RAS to CAS time (tRCD)
#define SPD_DDR3_TRRD 19 // Minimum RA to RA time (tRRD)
#define SPD_DDR3_TRP 20 // Minimum precharge time (tRP)
#define SPD_DDR3_TRASRC 21 // Upper nibbles for tRAS (7:4), tRC (3:0)
#define SPD_DDR3_TRAS 22 // Minimum active to precharge (tRAS)
#define SPD_DDR3_TRC 23 // Minimum active to active/refresh (tRC)
#define SPD_DDR3_TRFCL 24 // Minimum refresh recovery (tRFC), low byte
#define SPD_DDR3_TRFCH 25 // Minimum refresh recovery (tRFC), high byte
#define SPD_DDR3_TWTR 26 // Minimum internal wr to rd cmd (tWTR)
#define SPD_DDR3_TRTP 27 // Minimum internal rd to pc cmd (tRTP)
#define SPD_DDR3_TFAWH 28 // Upper Nibble for tFAW
#define SPD_DDR3_TFAWL 29 // Minimum Four Activate Window Delay Time (tFAWmin), Least Significant Byte
#define SPD_DDR3_STROPT 31 // SDRAM Thermal and Refresh Options
#define SPD_DDR3_THERMAL 32 // Thermal Related
#define SPD_DDR3_RAW_CARD 62 // Reference Raw Card Used
#define SPD_DDR3_ADD_MAPPING 63 // Address Mapping (Odd Rank Mirror)
#endif