Frans Hendriks | ed52e3d | 2019-07-15 08:48:55 +0200 | [diff] [blame^] | 1 | # |
| 2 | # This file is part of the coreboot project. |
| 3 | # |
| 4 | # Copyright (C) 2018-2019 Eltan B.V. |
| 5 | # |
| 6 | # This program is free software; you can redistribute it and/or modify |
| 7 | # it under the terms of the GNU General Public License as published by |
| 8 | # the Free Software Foundation; version 2 of the License. |
| 9 | # |
| 10 | # This program is distributed in the hope that it will be useful, |
| 11 | # but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 12 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| 13 | # GNU General Public License for more details. |
| 14 | # |
| 15 | |
| 16 | # |
| 17 | # 8 Gb DDR3 (1600 MHz 11-11-11) Samsung K4B8G1646D-MYK0 |
| 18 | # |
| 19 | # DUAL DIE |
| 20 | # |
| 21 | # 512Mb x16 ( 8 bank, 16 Rows, 10 Col, 2 KB page size ) |
| 22 | # 5-6-7-8-9-10-11 |
| 23 | # DDR3L-1600 |
| 24 | # tCk 1.25ns |
| 25 | # tRCD 13.75ns |
| 26 | # tRP 13.75ns |
| 27 | # tRAS 35ns |
| 28 | # tRC 48.75ns |
| 29 | # CL-tRCD-tRP 11-11-11 |
| 30 | |
| 31 | # 0 Number of SPD Bytes used / Total SPD Size / CRC Coverage |
| 32 | # bits[3:0]: 3 = 384 SPD Bytes Used |
| 33 | # bits[6:4]: 1 = 256 SPD Bytes Total |
| 34 | # bit7 : 0 = CRC covers bytes 0 ~ 128 |
| 35 | 23 |
| 36 | |
| 37 | # 1 SPD Revision |
| 38 | # 0x10 = Revision 1.0 |
| 39 | 10 |
| 40 | |
| 41 | # 2 Key Byte / DRAM Device Type |
| 42 | # bits[7:0]: 0x0c = DDR3 SDRAM |
| 43 | 0B |
| 44 | |
| 45 | # 3 Key Byte / Module Type |
| 46 | # bits[3:0]: 3 = SODIMM |
| 47 | # bits[6:4]: 0 = Not hybrid |
| 48 | # bits[7]: 0 = Not hybrid |
| 49 | 03 |
| 50 | |
| 51 | # 4 SDRAM CHIP Density and Banks |
| 52 | # bits[3:0]: 4 = 4 Gigabits Total SDRAM capacity per chip |
| 53 | # bits[6:4]: 0 = 3 (8 banks) |
| 54 | # bits[7]: reserverd |
| 55 | 04 |
| 56 | |
| 57 | # 5 SDRAM Addressing |
| 58 | # bits[2:0]: 1 = 10 Column Address Bits |
| 59 | # bits[5:3]: 100b = 16 Row Address Bits |
| 60 | # bits[7:6]: 0 = reserved |
| 61 | 21 |
| 62 | |
| 63 | # 6 Module Nominal Voltage |
| 64 | # bits[0]: 0 = 1.5V operable |
| 65 | # bits[1]: 1 = 1.35V operable |
| 66 | # bits[2]: 0 = NOT 1.25V operable |
| 67 | # bits[7:3]: reserved |
| 68 | 02 |
| 69 | |
| 70 | # 7 Module Organization |
| 71 | # bits[2:0]: 010b = 16 bits SDRAM device |
| 72 | # bits[5:3]: 001b = 2 ranks |
| 73 | # bits[7:6]: reserved |
| 74 | 0A |
| 75 | |
| 76 | # 8 Module Memory Bus width |
| 77 | # bits[2:0]: 3 = 64 bits pirmary bus width |
| 78 | # bits[4:3]: 0 = 0 bits bus witdth extension |
| 79 | # bits[7:5]: reserved |
| 80 | 03 |
| 81 | |
| 82 | # 9 Fine Timebase (FTB) dividend / divisor |
| 83 | # bits[3:0]: 1 = Divisor |
| 84 | # bits[7:4]: 1 = Dividend |
| 85 | 11 |
| 86 | |
| 87 | # 10 Medium Timebase (MTB) dividend |
| 88 | # bits[7:0]: 0 = 1 (timebase 0.125ns) |
| 89 | 01 |
| 90 | |
| 91 | # 11 Medium Timebase (MTB) divisor |
| 92 | # bits[7:0]: 8 (timebase 0.125ns) |
| 93 | 08 |
| 94 | |
| 95 | # 12 SDRAM Minimum cycle time (tCKmin) |
| 96 | # 0xA tCK = 1.25ns (DDR3-1600 (800 MHz clock)) |
| 97 | 0A |
| 98 | |
| 99 | # 13 Reserved |
| 100 | 00 |
| 101 | |
| 102 | # 14 CAS Latencies supported, Least Significate Byte |
| 103 | # Support 5,6,7,8,9,10,11 |
| 104 | FE |
| 105 | |
| 106 | # 15 CAS Latencies supported, Most Significate Byte |
| 107 | # Not supporting CL 12-18 |
| 108 | 00 |
| 109 | |
| 110 | # 16 Minimum CAS Latency Time (tAAmin) |
| 111 | # 0x69 tAA = 13.125ns (offset = 00) DDR3-1600K downbin |
| 112 | 69 |
| 113 | |
| 114 | # 17 Minimum Write Recovery Time (tWRmin) |
| 115 | # 0x78 tWR = 15 ns |
| 116 | 78 |
| 117 | |
| 118 | # 18 Minimum RAS to CAS Delay Time (tRCDmin) |
| 119 | # 0x69 tRCD = 13.125ns (offset 00) DDR3-1600K downbin |
| 120 | 69 |
| 121 | |
| 122 | # 19 Minimum Row Active to Row Active Delay Time (tRRDmin) |
| 123 | # 48 tRRD = 6.0ns DDR3-1600, 1KB |
| 124 | 30 |
| 125 | |
| 126 | # 20 Minimum Row Precharge Delay Time (tRPmin) |
| 127 | # 0x69 tRP = 13.125ns (offset 00) DDR3-1600K downbin |
| 128 | 69 |
| 129 | |
| 130 | # 21 Upper Nibble for tRAS and tRC |
| 131 | # 3:0 : 1 higher tRAS = 35ns |
| 132 | # 7:0 : 1 higher tRC = 48.125ns |
| 133 | 11 |
| 134 | |
| 135 | # 22 Minimum Active to Precharge Delay Time (tRASmin), Least Significant byte |
| 136 | # lower 0x118 : tRAS = 35ns DDR3-1600 |
| 137 | 18 |
| 138 | |
| 139 | # 23 Minimum Active to Precharge Delay Time (tRCmin), Most Significant byte |
| 140 | # lower 0x181 : tRC = 48.125ns (offset 00) DDR3-1600K downbin |
| 141 | 81 |
| 142 | |
| 143 | # 24 Minimum Refresh Recovery Delay time (tRFCmin), Least Significant byte |
| 144 | # lower 0x680 : tRFC = 208ns 4 Gb |
| 145 | 80 |
| 146 | |
| 147 | # 25 Minimum Refresh Recovery Delay time (tRFCmin), Most Significant byte |
| 148 | # higher 0x680 : tRFC = 208ns 4 Gb |
| 149 | 06 |
| 150 | |
| 151 | # 26 tWTRmin |
| 152 | # 0x3C : tWTR = 7.5 ns (DDR3) |
| 153 | 3C |
| 154 | |
| 155 | # 27 tRTPmin |
| 156 | # 0x3C : tRTP = 7.5 ns (DDR3) |
| 157 | 3C |
| 158 | |
| 159 | # 28 Upper Nibble for tFAW |
| 160 | # Bit [3:0] : 1 = higher 0x140 tFAW = 40ns DDR3-1600K, 2 KB page size |
| 161 | 01 |
| 162 | |
| 163 | # 29 tFAWmin Lower |
| 164 | # lower 0x140 : tFAW = 40ns DDR3-1600K, 2 KB page size |
| 165 | 40 |
| 166 | |
| 167 | # 30 SDRAM Optional Features |
| 168 | # byte [0] : 1 = RZQ/6 is support |
| 169 | # byte [1] : 1 = RZQ/7 is supported |
| 170 | # byte [7] : 1 = DLL-Off Mode support |
| 171 | 83 |
| 172 | |
| 173 | # 31 Thermal options |
| 174 | # byte [2]: 1 = Auto Self Refresh (ASR) is supported |
| 175 | 04 |
| 176 | |
| 177 | # 32 Module Thermal support |
| 178 | # byte [0] : 0 = Thermal sensor accuracy undefined |
| 179 | # byte [7] : 0 = No thermal sensor |
| 180 | 00 |
| 181 | |
| 182 | # 33 SDRAM device type |
| 183 | # byte [1:0] : 01b = multi load stack |
| 184 | # byte [6:4] : 100b = 8 die |
| 185 | # byte [7] : 0 = Standard Device |
| 186 | 41 |
| 187 | |
| 188 | # 34 Fine tCKmin |
| 189 | # 0x00 tCK = 1.25ns (DDR3-1600 (800 MHz clock)) |
| 190 | 00 |
| 191 | |
| 192 | # 35 Fine tAAmin |
| 193 | # 0x00 tAA = 13.125ns (tAAmin offset = 00) DDR3-1600K downbin |
| 194 | 00 |
| 195 | |
| 196 | # 36 Fine tRCDmin |
| 197 | # 0x00 tRCD = 13.125ns DDR3-1600K downbin |
| 198 | 00 |
| 199 | |
| 200 | # 37 Fine tRPmin |
| 201 | # 0x00 tRP = 13.125ns (offset 00) DDR3-1600K downbin |
| 202 | 00 |
| 203 | |
| 204 | # 38 Fine tRCmin |
| 205 | # 0x00 tRC = 48.125ns (offset 00) DDR3-1600K downbin |
| 206 | 00 |
| 207 | |
| 208 | # 39-59 reserved, general section |
| 209 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
| 210 | 00 00 00 00 00 |
| 211 | |
| 212 | # 60-116 Module specific section |
| 213 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
| 214 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
| 215 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
| 216 | 00 00 00 00 00 00 00 00 00 |
| 217 | |
| 218 | # 117-118 Module Manufacturer |
| 219 | 80 CE |
| 220 | |
| 221 | # 119 Module Manufacturing Location |
| 222 | 01 |
| 223 | |
| 224 | # 120-121 Module Manufacturing Date |
| 225 | 12 1B |
| 226 | |
| 227 | # 122-125 Module Serial number |
| 228 | 00 00 00 00 |
| 229 | |
| 230 | # 126-127 SPD CRC |
| 231 | 00 00 |
| 232 | |
| 233 | # 128-145 Module Part number |
| 234 | 4B 34 42 38 47 31 36 34 36 44 2D 4D 59 4B 30 20 |
| 235 | 20 20 |
| 236 | |
| 237 | # 145-146 Module revision code |
| 238 | 00 00 |
| 239 | |
| 240 | # 148-149 DRAM Manufacturer ID code |
| 241 | 80 CE |
| 242 | |
| 243 | # 150-175 Manufacturer Specific Data |
| 244 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
| 245 | 00 00 00 00 00 00 00 00 00 00 |
| 246 | |
| 247 | # 176-255 Open for Customer Use |
| 248 | |
| 249 | # 176 - 255 |
| 250 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
| 251 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
| 252 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
| 253 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
| 254 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |