Lines Matching +full:0 +full:ns
24 * where: sdram capacity = spd byte4[3:0]
25 * primary bus width = spd byte8[2:0]
26 * sdram width = spd byte7[2:0]
29 * bit[3:0] size(bit) size(byte)
39 * bit[2:0] primary bus width
46 * bit[2:0] sdram device width
58 int nbit_sdram_cap_bsize = 0; in compute_ranksize()
59 int nbit_primary_bus_width = 0; in compute_ranksize()
60 int nbit_sdram_width = 0; in compute_ranksize()
62 if ((spd->density_banks & 0xf) < 7) in compute_ranksize()
63 nbit_sdram_cap_bsize = (spd->density_banks & 0xf) + 28; in compute_ranksize()
64 if ((spd->bus_width & 0x7) < 4) in compute_ranksize()
65 nbit_primary_bus_width = (spd->bus_width & 0x7) + 3; in compute_ranksize()
66 if ((spd->organization & 0x7) < 4) in compute_ranksize()
67 nbit_sdram_width = (spd->organization & 0x7) + 2; in compute_ranksize()
72 debug("DDR: DDR III rank density = 0x%16llx\n", bsize); in compute_ranksize()
100 memset(pdimm, 0, sizeof(dimm_params_t)); in ddr_compute_dimm_parameters()
112 * Guarantee null termination here by presetting all bytes to 0 in ddr_compute_dimm_parameters()
115 memset(pdimm->mpart, 0, sizeof(pdimm->mpart)); in ddr_compute_dimm_parameters()
116 if ((spd->info_size_crc & 0xF) > 1) in ddr_compute_dimm_parameters()
120 pdimm->n_ranks = ((spd->organization >> 3) & 0x7) + 1; in ddr_compute_dimm_parameters()
123 pdimm->primary_sdram_width = 1 << (3 + (spd->bus_width & 0x7)); in ddr_compute_dimm_parameters()
124 if ((spd->bus_width >> 3) & 0x3) in ddr_compute_dimm_parameters()
127 pdimm->ec_sdram_width = 0; in ddr_compute_dimm_parameters()
130 pdimm->device_width = 1 << ((spd->organization & 0x7) + 2); in ddr_compute_dimm_parameters()
133 pdimm->mirrored_dimm = 0; in ddr_compute_dimm_parameters()
134 pdimm->registered_dimm = 0; in ddr_compute_dimm_parameters()
141 for (i = 0; i < 16; i += 2) { in ddr_compute_dimm_parameters()
143 pdimm->rcw[i] = (rcw >> 0) & 0x0F; in ddr_compute_dimm_parameters()
144 pdimm->rcw[i+1] = (rcw >> 4) & 0x0F; in ddr_compute_dimm_parameters()
159 if (spd->mod_section.unbuffered.addr_mapping & 0x1) in ddr_compute_dimm_parameters()
164 printf("unknown module_type 0x%02X\n", spd->module_type); in ddr_compute_dimm_parameters()
169 pdimm->n_row_addr = ((spd->addressing >> 3) & 0x7) + 12; in ddr_compute_dimm_parameters()
170 pdimm->n_col_addr = (spd->addressing & 0x7) + 9; in ddr_compute_dimm_parameters()
171 pdimm->n_banks_per_sdram_device = 8 << ((spd->density_banks >> 4) & 0x7); in ddr_compute_dimm_parameters()
179 pdimm->edc_config = 0x02; in ddr_compute_dimm_parameters()
181 pdimm->edc_config = 0x00; in ddr_compute_dimm_parameters()
188 pdimm->burst_lengths_bitmask = 0x0c; in ddr_compute_dimm_parameters()
192 * The unit in the SPD spec is ns, in ddr_compute_dimm_parameters()
194 * eg: MTB = 0.125ns (125ps) in ddr_compute_dimm_parameters()
205 ((spd->ftb_div & 0xf0) >> 4) * 10 / (spd->ftb_div & 0x0f); in ddr_compute_dimm_parameters()
209 * we assume the MTB is 0.125ns in ddr_compute_dimm_parameters()
211 * tck_min=15 MTB (1.875ns) ->DDR3-1066 in ddr_compute_dimm_parameters()
212 * =12 MTB (1.5ns) ->DDR3-1333 in ddr_compute_dimm_parameters()
213 * =10 MTB (1.25ns) ->DDR3-1600 in ddr_compute_dimm_parameters()
229 * DDR3-800D 100 MTB (12.5ns) in ddr_compute_dimm_parameters()
230 * DDR3-1066F 105 MTB (13.125ns) in ddr_compute_dimm_parameters()
231 * DDR3-1333H 108 MTB (13.5ns) in ddr_compute_dimm_parameters()
232 * DDR3-1600H 90 MTB (11.25ns) in ddr_compute_dimm_parameters()
240 * twr_min = 120 MTB (15ns) -> all speed grades. in ddr_compute_dimm_parameters()
247 * DDR3-800 100 MTB (12.5ns) in ddr_compute_dimm_parameters()
248 * DDR3-1066F 105 MTB (13.125ns) in ddr_compute_dimm_parameters()
249 * DDR3-1333H 108 MTB (13.5ns) in ddr_compute_dimm_parameters()
258 * DDR3-800(1KB page) 80 MTB (10ns) in ddr_compute_dimm_parameters()
259 * DDR3-1333(1KB page) 48 MTB (6ns) in ddr_compute_dimm_parameters()
266 * DDR3-800D 100 MTB (12.5ns) in ddr_compute_dimm_parameters()
267 * DDR3-1066F 105 MTB (13.125ns) in ddr_compute_dimm_parameters()
268 * DDR3-1333H 108 MTB (13.5ns) in ddr_compute_dimm_parameters()
269 * DDR3-1600H 90 MTB (11.25ns) in ddr_compute_dimm_parameters()
276 * DDR3-800D 300 MTB (37.5ns) in ddr_compute_dimm_parameters()
277 * DDR3-1066F 300 MTB (37.5ns) in ddr_compute_dimm_parameters()
278 * DDR3-1333H 288 MTB (36ns) in ddr_compute_dimm_parameters()
279 * DDR3-1600H 280 MTB (35ns) in ddr_compute_dimm_parameters()
281 pdimm->tras_ps = (((spd->tras_trc_ext & 0xf) << 8) | spd->tras_min_lsb) in ddr_compute_dimm_parameters()
286 * DDR3-800D 400 MTB (50ns) in ddr_compute_dimm_parameters()
287 * DDR3-1066F 405 MTB (50.625ns) in ddr_compute_dimm_parameters()
288 * DDR3-1333H 396 MTB (49.5ns) in ddr_compute_dimm_parameters()
289 * DDR3-1600H 370 MTB (46.25ns) in ddr_compute_dimm_parameters()
291 pdimm->trc_ps = (((spd->tras_trc_ext & 0xf0) << 4) | spd->trc_min_lsb) in ddr_compute_dimm_parameters()
296 * 512Mb 720 MTB (90ns) in ddr_compute_dimm_parameters()
297 * 1Gb 880 MTB (110ns) in ddr_compute_dimm_parameters()
298 * 2Gb 1280 MTB (160ns) in ddr_compute_dimm_parameters()
304 * eg: twtr_min = 40 MTB (7.5ns) - all speed bins. in ddr_compute_dimm_parameters()
311 * eg: trtp_min = 40 MTB (7.5ns) - all speed bins. in ddr_compute_dimm_parameters()
322 if ((spd->therm_ref_opt & 0x1) && !(spd->therm_ref_opt & 0x2)) { in ddr_compute_dimm_parameters()
330 * DDR3-800(1KB page) 320 MTB (40ns) in ddr_compute_dimm_parameters()
331 * DDR3-1066(1KB page) 300 MTB (37.5ns) in ddr_compute_dimm_parameters()
332 * DDR3-1333(1KB page) 240 MTB (30ns) in ddr_compute_dimm_parameters()
333 * DDR3-1600(1KB page) 240 MTB (30ns) in ddr_compute_dimm_parameters()
335 pdimm->tfaw_ps = (((spd->tfaw_msb & 0xf) << 8) | spd->tfaw_min) in ddr_compute_dimm_parameters()
338 return 0; in ddr_compute_dimm_parameters()