summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkhali <khali@7894878c-1315-0410-8ee3-d5d059ff63e0>2013-04-14 17:31:52 +0000
committerkhali <khali@7894878c-1315-0410-8ee3-d5d059ff63e0>2013-04-14 17:31:52 +0000
commitd55998b01755f963473087867c5f7ecee3e20a27 (patch)
tree4646925fba92d5c0ba69d615bf98f408ca7dc959
parent3d0d3fc40809647d1cff1a74d1cd0809c50f3953 (diff)
downloadi2c-tools-d55998b01755f963473087867c5f7ecee3e20a27.tar.gz
DDR3: Print width of all known module types.
git-svn-id: http://lm-sensors.org/svn/i2c-tools/trunk@6139 7894878c-1315-0410-8ee3-d5d059ff63e0
-rw-r--r--CHANGES1
-rwxr-xr-xeeprom/decode-dimms27
2 files changed, 20 insertions, 8 deletions
diff --git a/CHANGES b/CHANGES
index fca43f1..ceea7fe 100644
--- a/CHANGES
+++ b/CHANGES
@@ -31,6 +31,7 @@ SVN HEAD
Decode the FTB fields of DDR3 tCk, tAA, tRCD, tRP and tRC
Fix speed and PC3 number of high-speed DDR3 modules
Decode DDR3 reference card revision
+ Print width of all known DDR3 module types
i2cdetect: Do a best effort detection if functionality is missing
Clarify the SMBus commands used for probing by default
i2c-dev.h: Minimize differences with kernel flavor
diff --git a/eeprom/decode-dimms b/eeprom/decode-dimms
index fad04eb..82876ba 100755
--- a/eeprom/decode-dimms
+++ b/eeprom/decode-dimms
@@ -1375,14 +1375,25 @@ sub decode_ddr3_sdram($)
my ($ftb, $mtb);
my $ii;
- my @module_types = ("Undefined", "RDIMM", "UDIMM", "SO-DIMM",
- "Micro-DIMM", "Mini-RDIMM", "Mini-UDIMM",
- "Mini-CDIMM", "72b-SO-UDIMM", "72b-SO-RDIMM",
- "72b-SO-CDIMM", "LRDIMM", "16b-SO-DIMM",
- "32b-SO-DIMM");
+ my @module_types = (
+ { type => "Undefined", width => "Unknown" },
+ { type => "RDIMM", width => 133.35 },
+ { type => "UDIMM", width => 133.35 },
+ { type => "SO-DIMM", width => 67.6 },
+ { type => "Micro-DIMM", width => "TBD" },
+ { type => "Mini-RDIMM", width => 82.0 },
+ { type => "Mini-UDIMM", width => 82.0 },
+ { type => "Mini-CDIMM", width => 67.6 },
+ { type => "72b-SO-UDIMM", width => 67.6 },
+ { type => "72b-SO-RDIMM", width => 67.6 },
+ { type => "72b-SO-CDIMM", width => 67.6 },
+ { type => "LRDIMM", width => 133.35 },
+ { type => "16b-SO-DIMM", width => 67.6 },
+ { type => "32b-SO-DIMM", width => 67.6 },
+ );
printl("Module Type", ($bytes->[3] <= $#module_types) ?
- $module_types[$bytes->[3]] :
+ $module_types[$bytes->[3]]->{type} :
sprintf("Reserved (0x%.2X)", $bytes->[3]));
# time bases
@@ -1539,8 +1550,8 @@ sub decode_ddr3_sdram($)
printl("Module Thickness (mm)", sprintf("%d front, %d back",
($bytes->[61] & 15) + 1,
(($bytes->[61] >> 4) & 15) +1));
- printl("Module Width (mm)", ($bytes->[3] <= 2) ? 133.5 :
- ($bytes->[3] == 3) ? 67.6 : "TBD");
+ printl("Module Width (mm)", $bytes->[3] <= $#module_types ?
+ $module_types[$bytes->[3]]->{width} : "TBD");
printl("Module Reference Card", ddr3_reference_card($bytes->[62], $bytes->[60]));
}