#
# This file is part of the coreboot project.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; version 2 of the License.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.

# HYNIX-H5TQ4G83MFR

# SPD contents for APU 2GB DDR3 (1333MHz PC1333) soldered down
#  0 Number of SPD Bytes used / Total SPD Size / CRC Coverage
#    bits[3:0]: 1 = 128 SPD Bytes Used
#    bits[6:4]: 1 = 256 SPD Bytes Total
#    bit7     : 0 = CRC covers bytes 0 ~ 125
11

#  1 SPD Revision -
#    0x10 = Revision 1.0
10
#  2 Key Byte / DRAM Device Type
#    bits[7:0]: 0x0b = DDR3 SDRAM
0B

#  3 Key Byte / Module Type
#    bits[3:0]: 3 = SO-DIMM
#    bits[7:4]:     reserved
03

#  4 SDRAM CHIP Density and Banks
#    bits[3:0]: 3 = 2 Gigabits Total SDRAM capacity per chip
#    bits[3:0]: 4 = 4 Gigabits Total SDRAM capacity per chip
#    bits[6:4]: 0 = 3 (8 banks)
#    bit7     :     reserved
04

#  5 SDRAM Addressing
#    bits[2:0]: 1 = 10 Column Address Bits
#    bits[5:3]: 3 = 15 Row Address Bits
#    bits[5:3]: 4 = 16 Row Address Bits
#    bits[7:6]:     reserved
21

#  6 Module Nominal Voltage, VDD
#    bit0     : 0 = 1.5 V operable
#    bit1     : 0 = NOT 1.35 V operable
#    bit2     : 0 = NOT 1.25 V operable
#    bits[7:3]:     reserved
00

#  7 Module Organization
#    bits[2:0]: 1 = 8 bits
#    bits[5:3]: 0 = 1 Rank
#    bits[7:6]:     reserved
01

#  8 Module Memory Bus Width
#    bits[2:0]: 3 = Primary bus width is 64 bits
#    bits[4:3]: 0 = 0 bits (no bus width extension)
#    bits[7:5]:     reserved
03

#  9 Fine Timebase (FTB) Dividend / Divisor
#    bits[3:0]: 0x01 divisor
#    bits[7:4]: 0x01 dividend
#               1 / 1 = 1.0 ps
11

# 10 Medium Timebase (MTB) Dividend
# 11 Medium Timebase (MTB) Divisor
#    1 / 8 = .125 ns
01 08

# 12 SDRAM Minimum Cycle Time (tCKmin)
#    0x0c  = tCKmin of 1.5 ns = in multiples of MTB
0C

# 13 Reserved
00

# 14 CAS Latencies Supported, Least Significant Byte
# 15 CAS Latencies Supported, Most Significant Byte
#    Cas Latencies of 11 - 5 are supported
7E 00

# 16 Minimum CAS Latency Time (tAAmin)
#    0x6C = 13.5ns - DDR3-1333
6C

# 17 Minimum Write Recovery Time (tWRmin)
#    0x78 = tWR of 15ns - All DDR3 speed grades
78

# 18 Minimum RAS# to CAS# Delay Time (tRCDmin)
#    0x6E = 13.5ns -  DDR3-1333
6C

# 19 Minimum Row Active to Row Active Delay Time (tRRDmin)
#   0x30 = 6ns
30

# 20 Minimum Row Precharge Delay Time (tRPmin)
#    0x6C = 13.5ns -  DDR3-1333
6C

# 21 Upper Nibbles for tRAS and tRC
#    bits[3:0]: tRAS most significant nibble = 1 (see byte 22)
#    bits[7:4]: tRC most significant nibble = 1 (see byte 23)
11

# 22 Minimum Active to Precharge Delay Time (tRASmin), LSB
#    0x120 = 36ns - DDR3-1333 (see byte 21)
20

# 23 Minimum Active to Active/Refresh Delay Time (tRCmin), LSB
#    0x28C = 49.5ns - DDR3-1333
8C

# 24 Minimum Refresh Recovery Delay Time (tRFCmin), LSB
# 25 Minimum Refresh Recovery Delay Time (tRFCmin), MSB
#    0x500 = 160ns - for 2 Gigabit chips
#    0x820 = 260ns - for 4 Gigabit chips
20 08

# 26 Minimum Internal Write to Read Command Delay Time (tWTRmin)
#    0x3c = 7.5 ns - All DDR3 SDRAM speed bins
3C

# 27 Minimum Internal Read to Precharge Command Delay Time (tRTPmin)
#    0x3c =  7.5ns -  All DDR3 SDRAM speed bins
3C

# 28 Upper Nibble for tFAWmin
# 29 Minimum Four Activate Window Delay Time (tFAWmin)
#    0x00F0 = 30ns -  DDR3-1333, 1 KB page size
00 F0

# 30 SDRAM Optional Feature
#    bit0     : 1= RZQ/6 supported
#    bit1     : 1 = RZQ/7 supported
#    bits[6:2]:     reserved
#    bit7     : 1 = DLL Off mode supported
83

# 31 SDRAM Thermal and Refresh Options
#    bit0     : 1 = Temp up to 95c supported
#    bit1     : 0 = 85-95c uses 2x refresh rate
#    bit2     : 1 = Auto Self Refresh supported
#    bit3     : 0 = no on die thermal sensor
#    bits[6:4]:     reserved
#    bit7     : 0 = partial self refresh supported
05

# 32 Module Thermal Sensor
#    0 = Thermal sensor not incorporated onto this assembly
00

# 33 SDRAM Device Type
#    bits[1:0]: 2 = Signal Loading
#    bits[3:2]:     reserved
#    bits[6:4]: 4 = Die count
#    bit7     : 0 = Standard Monolithic DRAM Device
42

# 34 Fine Offset for SDRAM Minimum Cycle Time (tCKmin)
# 35 Fine Offset for Minimum CAS Latency Time (tAAmin)
# 36 Fine Offset for Minimum RAS# to CAS# Delay Time (tRCDmin)
# 37 Fine Offset for Minimum Row Precharge Delay Time (tRPmin)
# 38 Fine Offset for Minimum Active to Active/Refresh Delay (tRCmin)
00 00 00 00 00

#      39 (reserved)
00

#      40 - 47 (reserved)
00 00 00 00 00 00 00 00

#      48 - 55 (reserved)
00 00 00 00 00 00 00 00

#      56 - 59 (reserved)
00 00 00 00

#      60 Raw Card Extension, Module Nominal Height
#              bits[4:0]: 0 = <= 15mm tall
#              bits[7:5]: 0 = raw card revision 0-3
00

#      61 Module Maximum Thickness
#              bits[3:0]: 0 = thickness front <= 1mm
#              bits[7:4]: 0 = thinkness back <= 1mm
00

#      62 Reference Raw Card Used
#              bits[4:0]: 0 = Reference Raw card A used
#              bits[6:5]: 0 = revision 0
#              bit7 : 0 = Reference raw cards A through AL
00

#      63 Address Mapping from Edge Connector to DRAM
#              bit0 : 0 = standard mapping (not mirrored)
#              bits[7:1]: reserved
00

#      64 - 71 (reserved)
00 00 00 00 00 00 00 00

#      72 - 79 (reserved)
00 00 00 00 00 00 00 00

#      80 - 87 (reserved)
00 00 00 00 00 00 00 00

#      88 - 95 (reserved)
00 00 00 00 00 00 00 00

#      96 - 103 (reserved)
00 00 00 00 00 00 00 00

#      104 - 111 (reserved)
00 00 00 00 00 00 00 00

#      112 - 116 (reserved)
00 00 00 00 00

# 117 - 118 Module ID: Module Manufacturers JEDEC ID Code
#           0x0001 = AMD
00 01

# 119 Module ID: Module Manufacturing Location - oem specified
00

# 120 Module ID: Module Manufacture Year in BCD
#     0x13 = 2013
# 121 Module ID: Module Manufacture week
#     0x12 = 12th week
13 12

#      122 - 125: Module Serial Number
00 00 00 00

#      126 - 127: Cyclical Redundancy Code
7b 97