blob: 865fd2627896643a85da29381e5b2e4db0e55cf3 [file] [log] [blame]
Elyes HAOUAS42eda832020-05-07 11:18:05 +02001# SPDX-License-Identifier: GPL-2.0-only
Kyösti Mälkki595ef3d2015-05-27 12:44:16 +03002
Fabian Kunkel8cab72e2016-07-26 22:46:23 +02003# Memory chip: Hynix H5TQ4G63MFR-PBC with ECC
Elyes HAOUASef906092020-02-20 19:41:17 +01004# BAP ODE E20XX has 2GB RAM soldered down on the Q7
Fabian Kunkel8cab72e2016-07-26 22:46:23 +02005# Memory setting for DDR-1066
Kyösti Mälkki595ef3d2015-05-27 12:44:16 +03006
7# 0 Number of SPD Bytes used / Total SPD Size / CRC Coverage
8# bits[3:0]: 1 = 128 SPD Bytes Used
9# bits[6:4]: 1 = 256 SPD Bytes Total
10# bit7 : 0 = CRC covers bytes 0 ~ 125
Fabian Kunkel8cab72e2016-07-26 22:46:23 +02001111
Kyösti Mälkki595ef3d2015-05-27 12:44:16 +030012
13# 1 SPD Revision -
Fabian Kunkel8cab72e2016-07-26 22:46:23 +020014# 0x12 = Revision 1.2
Fabian Kunkel7558dba2015-05-25 17:08:17 +02001512
Kyösti Mälkki595ef3d2015-05-27 12:44:16 +030016
17# 2 Key Byte / DRAM Device Type
18# bits[7:0]: 0x0b = DDR3 SDRAM
190B
20
21# 3 Key Byte / Module Type
22# bits[3:0]: 3 = SO-DIMM
23# bits[7:4]: reserved
2403
25
26# 4 SDRAM CHIP Density and Banks
Fabian Kunkel8cab72e2016-07-26 22:46:23 +020027# bits[3:0]: 4 = 4 Gigabits Total SDRAM capacity per chip
Kyösti Mälkki595ef3d2015-05-27 12:44:16 +030028# bits[6:4]: 0 = 3 (8 banks)
29# bit7 : reserved
Fabian Kunkel7558dba2015-05-25 17:08:17 +02003004
Kyösti Mälkki595ef3d2015-05-27 12:44:16 +030031
32# 5 SDRAM Addressing
33# bits[2:0]: 1 = 10 Column Address Bits
Fabian Kunkel8cab72e2016-07-26 22:46:23 +020034# bits[5:3]: 3 = 15 Row Address Bits
Kyösti Mälkki595ef3d2015-05-27 12:44:16 +030035# bits[7:6]: reserved
Fabian Kunkel7558dba2015-05-25 17:08:17 +02003619
Kyösti Mälkki595ef3d2015-05-27 12:44:16 +030037
38# 6 Module Nominal Voltage, VDD
39# bit0 : 0 = 1.5 V operable
40# bit1 : 0 = NOT 1.35 V operable
41# bit2 : 0 = NOT 1.25 V operable
42# bits[7:3]: reserved
4300
44
45# 7 Module Organization
46# bits[2:0]: 2 = 16 bits
47# bits[5:3]: 0 = 1 Rank
48# bits[7:6]: reserved
4902
50
51# 8 Module Memory Bus Width
52# bits[2:0]: 3 = Primary bus width is 64 bits
Fabian Kunkel8cab72e2016-07-26 22:46:23 +020053# bits[4:3]: 1 = 1 bit (bus width extension ECC)
Kyösti Mälkki595ef3d2015-05-27 12:44:16 +030054# bits[7:5]: reserved
Fabian Kunkel8cab72e2016-07-26 22:46:23 +0200550B
Kyösti Mälkki595ef3d2015-05-27 12:44:16 +030056
57# 9 Fine Timebase (FTB) Dividend / Divisor
Fabian Kunkel8cab72e2016-07-26 22:46:23 +020058# bits[3:0]: 0x01 divisor
59# bits[7:4]: 0x01 dividend
60# 1/1 = 1ps
6111
Kyösti Mälkki595ef3d2015-05-27 12:44:16 +030062
63# 10 Medium Timebase (MTB) Dividend
64# 11 Medium Timebase (MTB) Divisor
Fabian Kunkel8cab72e2016-07-26 22:46:23 +020065# 1 / 8 = .125 ns - used for DDR3
Kyösti Mälkki595ef3d2015-05-27 12:44:16 +03006601 08
67
68# 12 SDRAM Minimum Cycle Time (tCKmin)
Fabian Kunkel8cab72e2016-07-26 22:46:23 +020069# 0x0F = tCKmin of 1.875 ns = DDR3-1066 (533 MHz clock)
700F
Kyösti Mälkki595ef3d2015-05-27 12:44:16 +030071
72# 13 Reserved
7300
74
75# 14 CAS Latencies Supported, Least Significant Byte
76# 15 CAS Latencies Supported, Most Significant Byte
Fabian Kunkel8cab72e2016-07-26 22:46:23 +020077# Cas Latencies of 8 - 5 are supported
781E 00
Kyösti Mälkki595ef3d2015-05-27 12:44:16 +030079
80# 16 Minimum CAS Latency Time (tAAmin)
Fabian Kunkel8cab72e2016-07-26 22:46:23 +020081# 0x69 = 13.125ns - DDR3-1066F
Fabian Kunkel7558dba2015-05-25 17:08:17 +02008269
Kyösti Mälkki595ef3d2015-05-27 12:44:16 +030083
84# 17 Minimum Write Recovery Time (tWRmin)
85# 0x78 = tWR of 15ns - All DDR3 speed grades
8678
87
88# 18 Minimum RAS# to CAS# Delay Time (tRCDmin)
Fabian Kunkel8cab72e2016-07-26 22:46:23 +020089# 0x69 = 13.125ns - DDR3-1066F
Fabian Kunkel7558dba2015-05-25 17:08:17 +02009069
Kyösti Mälkki595ef3d2015-05-27 12:44:16 +030091
92# 19 Minimum Row Active to Row Active Delay Time (tRRDmin)
93# 0x3C = 7.5ns
943C
95
96# 20 Minimum Row Precharge Delay Time (tRPmin)
Fabian Kunkel8cab72e2016-07-26 22:46:23 +020097# 0x69 = 13.125ns - DDR3-1066F
Fabian Kunkel7558dba2015-05-25 17:08:17 +02009869
Kyösti Mälkki595ef3d2015-05-27 12:44:16 +030099
100# 21 Upper Nibbles for tRAS and tRC
101# bits[3:0]: tRAS most significant nibble = 1 (see byte 22)
102# bits[7:4]: tRC most significant nibble = 1 (see byte 23)
10311
104
105# 22 Minimum Active to Precharge Delay Time (tRASmin), LSB
Fabian Kunkel8cab72e2016-07-26 22:46:23 +0200106# 0x12C = 37.5ns - DDR3-1066 (see byte 21)
1072C
Kyösti Mälkki595ef3d2015-05-27 12:44:16 +0300108
109# 23 Minimum Active to Active/Refresh Delay Time (tRCmin), LSB
Fabian Kunkel8cab72e2016-07-26 22:46:23 +0200110# 0x195 = 50.625ns - DDR3-1066F (see byte 21)
11195
Kyösti Mälkki595ef3d2015-05-27 12:44:16 +0300112
113# 24 Minimum Refresh Recovery Delay Time (tRFCmin), LSB
114# 25 Minimum Refresh Recovery Delay Time (tRFCmin), MSB
115# 0x500 = 160ns - for 2 Gigabit chips
Fabian Kunkel8cab72e2016-07-26 22:46:23 +020011680 07
Kyösti Mälkki595ef3d2015-05-27 12:44:16 +0300117
118# 26 Minimum Internal Write to Read Command Delay Time (tWTRmin)
119# 0x3c = 7.5 ns - All DDR3 SDRAM speed bins
1203C
121
122# 27 Minimum Internal Read to Precharge Command Delay Time (tRTPmin)
123# 0x3c = 7.5ns - All DDR3 SDRAM speed bins
1243C
125
126# 28 Upper Nibble for tFAWmin
127# 29 Minimum Four Activate Window Delay Time (tFAWmin)
Fabian Kunkel8cab72e2016-07-26 22:46:23 +0200128# 0x0190 = 50ns - DDR3-1066, 2 KB page size
12901 90
Kyösti Mälkki595ef3d2015-05-27 12:44:16 +0300130
131# 30 SDRAM Optional Feature
132# bit0 : 1= RZQ/6 supported
133# bit1 : 1 = RZQ/7 supported
134# bits[6:2]: reserved
Fabian Kunkel8cab72e2016-07-26 22:46:23 +0200135# bit7 : 0 = DLL Off mode supported
13603
Kyösti Mälkki595ef3d2015-05-27 12:44:16 +0300137
138# 31 SDRAM Thermal and Refresh Options
Fabian Kunkel8cab72e2016-07-26 22:46:23 +0200139# bit0 : 0 = Temp up to 95c supported
Kyösti Mälkki595ef3d2015-05-27 12:44:16 +0300140# bit1 : 0 = 85-95c uses 2x refresh rate
141# bit2 : 1 = Auto Self Refresh supported
142# bit3 : 0 = no on die thermal sensor
143# bits[6:4]: reserved
144# bit7 : 0 = partial self refresh supported
Fabian Kunkel8cab72e2016-07-26 22:46:23 +020014504
Kyösti Mälkki595ef3d2015-05-27 12:44:16 +0300146
147# 32 Module Thermal Sensor
148# 0 = Thermal sensor not incorporated onto this assembly
14900
150
151# 33 SDRAM Device Type
152# bits[1:0]: 0 = Signal Loading not specified
153# bits[3:2]: reserved
154# bits[6:4]: 0 = Die count not specified
155# bit7 : 0 = Standard Monolithic DRAM Device
15600
157
158# 34 Fine Offset for SDRAM Minimum Cycle Time (tCKmin)
159# 35 Fine Offset for Minimum CAS Latency Time (tAAmin)
160# 36 Fine Offset for Minimum RAS# to CAS# Delay Time (tRCDmin)
161# 37 Fine Offset for Minimum Row Precharge Delay Time (tRPmin)
162# 38 Fine Offset for Minimum Active to Active/Refresh Delay (tRCmin)
16300 00 00 00 00
164
165# 39 - 59 (reserved)
16600 00 00 00 00 00 00 00
16700 00 00 00 00 00 00 00
16800 00 00 00 00
169
170# 60 Raw Card Extension, Module Nominal Height
171# bits[4:0]: 0 = <= 15mm tall
172# bits[7:5]: 0 = raw card revision 0-3
Fabian Kunkel8cab72e2016-07-26 22:46:23 +020017300
Kyösti Mälkki595ef3d2015-05-27 12:44:16 +0300174
175# 61 Module Maximum Thickness
176# bits[3:0]: 0 = thickness front <= 1mm
177# bits[7:4]: 0 = thinkness back <= 1mm
Fabian Kunkel8cab72e2016-07-26 22:46:23 +020017800
Kyösti Mälkki595ef3d2015-05-27 12:44:16 +0300179
180# 62 Reference Raw Card Used
181# bits[4:0]: 0 = Reference Raw card A used
182# bits[6:5]: 0 = revision 0
183# bit7 : 0 = Reference raw cards A through AL
Fabian Kunkel8cab72e2016-07-26 22:46:23 +020018400
Kyösti Mälkki595ef3d2015-05-27 12:44:16 +0300185
186# 63 Address Mapping from Edge Connector to DRAM
187# bit0 : 0 = standard mapping (not mirrored)
188# bits[7:1]: reserved
18900
190
191# 64 - 116 (reserved)
19200 00 00 00 00 00 00 00
19300 00 00 00 00 00 00 00
19400 00 00 00 00 00 00 00
19500 00 00 00 00 00 00 00
19600 00 00 00 00 00 00 00
19700 00 00 00 00 00 00 00
19800 00 00 00 00
199
200# 117 - 118 Module ID: Module Manufacturers JEDEC ID Code
Fabian Kunkel8cab72e2016-07-26 22:46:23 +0200201# 0x80AD = Hynix
Fabian Kunkel7558dba2015-05-25 17:08:17 +020020280 AD
Kyösti Mälkki595ef3d2015-05-27 12:44:16 +0300203
204# 119 Module ID: Module Manufacturing Location - oem specified
205# 120 Module ID: Module Manufacture Year in BCD
Fabian Kunkel8cab72e2016-07-26 22:46:23 +0200206# 0x00 = 2000
20700 00
Kyösti Mälkki595ef3d2015-05-27 12:44:16 +0300208
209# 121 Module ID: Module Manufacture week
Fabian Kunkel8cab72e2016-07-26 22:46:23 +0200210# 0x00 = 0th week
Fabian Kunkel7558dba2015-05-25 17:08:17 +020021100
Kyösti Mälkki595ef3d2015-05-27 12:44:16 +0300212
213# 122 - 125: Module Serial Number
Fabian Kunkel7558dba2015-05-25 17:08:17 +020021400 00 00 00
Kyösti Mälkki595ef3d2015-05-27 12:44:16 +0300215
216# 126 - 127: Cyclical Redundancy Code
Fabian Kunkel8cab72e2016-07-26 22:46:23 +0200217E9 40