summaryrefslogtreecommitdiff
path: root/util/blobtool/ddr3_unregistered_spd_128.spec
blob: 3bf027af8020cb36256d394232f169fdd027a797 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
# Applies to unbuffered DIMM types
#    UDIMM, SO-DIMM, Micro-DIMM, Micro-UDIMM,
#    72b-SO-UDIMM, 16b-SO-UDIMM, 32b-SO-UDIMM


# 4_01_02_11R24.pdf
#
# JEDEC Standard No. 21-C
# Page 4.1.2.11 - 1
# Annex K: Serial Presence Detect (SPD) for DDR3 SDRAM Modules
# DDR3 SPD
# Document Release 6
# UDIMM Revision 1.3
# RDIMM Revision 1.3
# CDIMM Revision 1.3
# LRDIMM Revision 1.2

{
	# Byte 0: Number of Bytes Used / Number of Bytes in SPD Device /
	#         CRC Coverage
	"SPD_Bytes_Used"						: 4,
	"SPD_Bytes_Total"						: 3,
	"CRC_Coverage"							: 1,

	# Byte 1: SPD Revision
	"SPD_Revision"							: 8,

	# Byte 2: Key Byte / DRAM Device Type
	"DRAM_Device_Type"						: 8,

	# Byte 3: Key Byte / Module Type
	"Module_Type"							: 4,
	"Byte_3_reserved"						: 4,

	# Byte 4: SDRAM Density and Banks
	"SDRAM_Capacity"						: 4,
	"Bank_Address_Bits"						: 3,
	"Byte_4_reserved"						: 1,

	# Byte 5: SDRAM Addressing
	"Column_Address_Bits"						: 3,
	"Row_Address_Bits"						: 3,
	"Byte_5_reserved"						: 2,

	# Byte 6: Module Nominal Voltage, VDD
	"NOT_1.5_V_Operable"						: 1,
	"1.35_V_Operable"						: 1,
	"1.25_V_Operable"						: 1,
	"Byte_6_reserved"						: 5,

	# Byte 7: Module Organization
	"SDRAM_Device_Width"						: 3,
	"Number_of_Ranks"						: 3,
	"Byte_7_reserved"						: 2,

	# Byte 8: Module Memory Bus Width
	"Primary_Bus_Width"						: 3,
	"Bus_Width_Extension"						: 3,
	"Byte_8_reserved"						: 2,

	# Byte 9: Fine Timebase (FTB) Dividend / Divisor
	"Fine_Timebase_Divisor"						: 4,
	"Fine_Timebase_Dividend"					: 4,

	# Bytes 10 / 11: Medium Timebase (MTB) Dividend / Divisor
	"Medium_Timebase_Dividend"					: 8,
	"Medium_Timebase_Divisor"					: 8,

	# Byte 12: SDRAM Minimum Cycle Time (t CK min)
	"Minimum_SDRAM_Cycle_Time"					: 8,

	# Byte 13: Reserved
	"Byte_13_Reserved"						: 8,

	# Bytes 14 / 15: CAS Latencies Supported
	"CL_4_Supported"						: 1,
	"CL_5_Supported"						: 1,
	"CL_6_Supported"						: 1,
	"CL_7_Supported"						: 1,
	"CL_8_Supported"						: 1,
	"CL_9_Supported"						: 1,
	"CL_10_Supported"						: 1,
	"CL_11_Supported"						: 1,

	"CL_12_Supported"						: 1,
	"CL_13_Supported"						: 1,
	"CL_14_Supported"						: 1,
	"CL_15_Supported"						: 1,
	"CL_16_Supported"						: 1,
	"CL_17_Supported"						: 1,
	"CL_18_Supported"						: 1,
	"Byte_15_Reserved"						: 1,

	# Byte 16: Minimum CAS Latency Time (tAAmin)
	"tAAmin"							: 8,

	# Byte 17: Minimum Write Recovery Time (tWRmin)
	"tWRmin"							: 8,

	# Byte 18: Minimum RAS to CAS Delay Time (tRCDmin)
	"tRCDmin"							: 8,

	# Byte 19: Minimum Row Active to Row Active Delay Time (tRRDmin)
	"tRRDmin"							: 8,

	# Byte 20: Minimum Row Precharge Delay Time (tRPmin)
	"tRPmin"							: 8,

	# Bytes 21 - 23: Minimum Active to Precharge Delay Time (tRASmin)
	#               / Minimum Active to Active/Refresh Delay Time
	#               (tRCmin)
	"tRASmin_Most_Significant Nibble"				: 4,
	"tRCmin_Most_Significant Nibble"				: 4,
	"tRASmin_LSB"							: 8,
	"tRCmin_LSB"							: 8,

	# Bytes 24 - 25: Minimum Refresh Recovery Delay Time (tRFCmin)
	"tRFCmin LSB"							: 8,
	"tRFCmin MSB"							: 8,

	# Byte 26: Minimum Internal Write to Read Command Delay Time
	"tWTRmin"							: 8,

	# Byte 27: Minimum Internal Read to Precharge Command Delay Time
	#          (tRTPmin)
	"tRTPmin"							: 8,

	# Byte 28 - 29:  Minimum Four Activate Window Delay Time
	#               (tFAWmin)
	"tFAWmin Most Significant Nibble"				: 4,
	"Byte_28_Reserved"						: 4,
	"tFAWmin Most Significant Byte"					: 8,

	# Byte 30: SDRAM Optional Features
	"RQZ_Div_6_Supported"						: 1,
	"RQZ_Div_7_Supported"						: 1,
	"Byte_30_Reserved"						: 5,
	"DLL_Off_Mode_Supported"					: 1,

	# Byte 31: SDRAM Thermal and Refresh
	#          Options
	"Extended_Temp_range_supported"					: 1,
	"Extended_Temp_Refresh_1x_Refresh"				: 1,
	"Auto_Self_Refresh_Supported"					: 1,
	"On-Die_Thermal_Sensor"						: 1,
	"Byte_31_Reserved"						: 3,
	"Partial_Array_Self_Refresh_Supported"				: 1,

	# Byte 32: Module Thermal Sensor
	"Thermal_Sensor_Accuracy"					: 7,
	"Thermal_Sensor_incorporated"					: 1,

	# Byte 33: SDRAM Device Type
	"Signal_Loading"						: 2,
	"Byte_33_Reserved"						: 2,
	"Die_Count"							: 3,
	"SDRAM_Device_Type"						: 1,

	# Byte 34: Fine Offset for SDRAM Minimum
	#          Cycle Time (tCKmin)
	"tCKmin_Fine_Offset"						: 8,

	#Byte 35: Fine Offset for Minimum CAS Latency Time (tAAmin)
	"tAAmin_Fine_Offset"						: 8,

	# Byte 36: Fine Offset for Minimum RAS to CAS Delay Time
	#          (tRCDmin)
	"tRCDmin_Fine_Offset"						: 8,

	#Byte 37: Fine Offset for Minimum Row Precharge Delay Time
	#         (tRPmin)
	"tRPmin_Fine_Offset"						: 8,

	# Byte 38: Fine Offset for Minimum Active to Active/Refresh
	#          Delay Time (tRCmin)
	"tRCmin_Fine_Offset"						: 8,

	# Bytes 39 / 40: Reserved
	"Byte_39_Reserved"						: 8,
	"Byte_40_Reserved"						: 8,

	# Byte 41: SDRAM Maximum Active Count (MAC) Value
	"Maximum_Activate_Count"					: 4,
	"Maximum_Activate_Window"					: 2,
	"Byte_41_Reserved"						: 2,

	# Bytes 42 - 59: Reserved
	"Reserved_bytes_42_to_59_" [18]					: 8,

# Module-Specific Section: Bytes 60 - 116 for Unbuffered DIMMS

	# Byte 60 (Unbuffered): Raw Card Extension, Module Nominal Height
	"Module_Nominal_Height"						: 5,
	"Raw_Card_Estension"						: 3,

	# Byte 61 (Unbuffered): Module Maximum Thickness
	"Module_Thickness_Front"					: 4,
	"Module_Thickness_Back"						: 4,

	# Byte 62 (Unbuffered): Reference Raw Card Used
	"Reference_Raw_Card"						: 5,
	"Reference_Raw_Card_Revision"					: 2,
	"Reference_Raw_Card_Extension"					: 1,

	# Byte 63: Address Mapping from Edge Connector to DRAM
	"Rank_1_Mapping_Mirrored"					: 1,
	"Byte_63_Reserved"						: 7,

	# Bytes 64 -116 (Unbuffered): Reserved
	"Module_Specific_Byte_Reserved_"[53]				: 8,

	# Bytes 117 - 118: Module ID: Module Manufacturers JEDEC ID Code
	"Module_Manufacturer_JEDEC_ID_Code"				: 16,

	# Byte 119: Module ID: Module Manufacturing Location
	"Module_Manufacturing_Location"					: 8,

	# Bytes 120 - 121: Module ID: Module Manufacturing Date
	"Module_Manufacturing_Date"					: 16,

	# Bytes 122 - 125: Module ID: Module Serial Number
	"Module_Serial_Number"						: 32,

	# Bytes 126 - 127: Cyclical Redundancy Code
	"Module_CRC"							: 16
}