summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkhali <khali@7894878c-1315-0410-8ee3-d5d059ff63e0>2013-04-14 17:26:41 +0000
committerkhali <khali@7894878c-1315-0410-8ee3-d5d059ff63e0>2013-04-14 17:26:41 +0000
commit9b34f3e78994e2714728956f5030e77cb7abd67a (patch)
treebac1a21aa0ac7e362fcd04db1d1f4c75d1139811
parent584b758088206b27da3ed6e1d52aa2f1def7bf13 (diff)
downloadi2c-tools-9b34f3e78994e2714728956f5030e77cb7abd67a.tar.gz
DDR3: Print timings at standard speeds. This makes it easier to figure
out which memory modules will work well together. git-svn-id: http://lm-sensors.org/svn/i2c-tools/trunk@6136 7894878c-1315-0410-8ee3-d5d059ff63e0
-rw-r--r--CHANGES2
-rwxr-xr-xeeprom/decode-dimms19
2 files changed, 20 insertions, 1 deletions
diff --git a/CHANGES b/CHANGES
index 4017d20..55f12fc 100644
--- a/CHANGES
+++ b/CHANGES
@@ -15,7 +15,7 @@ SVN HEAD
Print DDR and DDR2 core timings for all supported CAS values
Print DDR2 equivalent speed of tCK max
Don't print undefined DDR2 SDRAM timings
- Print SDR, DDR and DDR2 core timings for all standard speeds
+ Print SDR, DDR, DDR2, DDR3 core timings for all standard speeds
Update manufacturer IDs
Make DDR3 manufacturer count parity error non-fatal
Strip former manufacturer name in side-by-side output mode
diff --git a/eeprom/decode-dimms b/eeprom/decode-dimms
index b7924a0..6fb4a1c 100755
--- a/eeprom/decode-dimms
+++ b/eeprom/decode-dimms
@@ -1433,6 +1433,25 @@ sub decode_ddr3_sdram($)
}
printl("Supported CAS Latencies (tCL)", cas_latencies(keys %cas));
+# standard DDR3 speeds
+ prints("Timings at Standard Speeds");
+ foreach my $ctime_at_speed (7.5/8, 7.5/7, 1.25, 1.5, 1.875, 2.5) {
+ my $best_cas = 0;
+
+ # Find min CAS latency at this speed
+ for ($ii = 14; $ii >= 0; $ii--) {
+ next unless ($cas_sup & (1 << $ii));
+ if (ceil($taa / $ctime_at_speed) <= $ii + 4) {
+ $best_cas = $ii + 4;
+ }
+ }
+
+ printl_cond($best_cas && $ctime_at_speed >= $ctime,
+ "tCL-tRCD-tRP-tRAS" . as_ddr(3, $ctime_at_speed),
+ ddr_core_timings($best_cas, $ctime_at_speed,
+ $trcd, $trp, $tras));
+ }
+
# more timing information
prints("Timing Parameters");