aboutsummaryrefslogtreecommitdiff
path: root/modules/devices
diff options
context:
space:
mode:
authorBurt P <pburt0@gmail.com>2019-06-29 15:10:26 -0500
committerBurt P <pburt0@gmail.com>2019-06-29 20:41:37 -0500
commitec3c0e9098b0491ac6032c06f691e45d4bd12299 (patch)
tree7f91a33253dd9ceceb2236973a3265a48ccc5bb1 /modules/devices
parent4067290fd5642fce5db32dfa800da909090e0b67 (diff)
Memory Devices: more details for DDR3
Signed-off-by: Burt P <pburt0@gmail.com>
Diffstat (limited to 'modules/devices')
-rw-r--r--modules/devices/spd-decode.c33
1 files changed, 29 insertions, 4 deletions
diff --git a/modules/devices/spd-decode.c b/modules/devices/spd-decode.c
index 6250be9d..4c34882f 100644
--- a/modules/devices/spd-decode.c
+++ b/modules/devices/spd-decode.c
@@ -569,22 +569,47 @@ static gchar *decode_ddr3_sdram_extra(unsigned char *bytes) {
int ranks = 1 + ((bytes[7] >> 3) & 0x7);
int pins = 4 << (bytes[7] & 0x7);
+ int die_count = (bytes[33] >> 4) & 0x7;
+ int ts = !!(bytes[32] & 0x80);
/* expected to continue an [SPD] section */
return g_strdup_printf("%s=%d\n"
"%s=%d\n"
- "%s=%s %s %s\n"
+ "%s=%d %s\n"
+ "%s=[%02x] %s\n"
+ "%s=%s%s%s\n"
+ "%s="
+ "%s%s%s%s%s%s%s%s"
+ "%s%s%s%s%s%s%s\n"
"[%s]\n"
- "tCL=%.2f\n"
+ "tCL=%.0f\n"
"tRCD=%.3fns\n"
"tRP=%.3fns\n"
"tRAS=%.3fns\n",
_("Ranks"), ranks,
_("IO Pins per Chip"), pins,
+ _("Die count"), die_count, die_count ? "" : _("(Unspecified)"),
+ _("Thermal Sensor"), bytes[32], ts ? _("Present") : _("Not present"),
_("Supported Voltages"),
- (bytes[6] & 4) ? "1.25V" : "",
- (bytes[6] & 2) ? "1.35V" : "",
+ (bytes[6] & 4) ? "1.25V " : "",
+ (bytes[6] & 2) ? "1.35V " : "",
(bytes[6] & 1) ? "" : "1.5V",
+ _("Supported CAS Latencies"),
+ (bytes[15] & 0x40) ? "18 " : "",
+ (bytes[15] & 0x20) ? "17 " : "",
+ (bytes[15] & 0x10) ? "16 " : "",
+ (bytes[15] & 0x08) ? "15 " : "",
+ (bytes[15] & 0x04) ? "14 " : "",
+ (bytes[15] & 0x02) ? "13 " : "",
+ (bytes[15] & 0x01) ? "12 " : "",
+ (bytes[14] & 0x80) ? "11 " : "",
+ (bytes[14] & 0x40) ? "10 " : "",
+ (bytes[14] & 0x20) ? "9 " : "",
+ (bytes[14] & 0x10) ? "8 " : "",
+ (bytes[14] & 0x08) ? "7 " : "",
+ (bytes[14] & 0x04) ? "6 " : "",
+ (bytes[14] & 0x02) ? "5 " : "",
+ (bytes[14] & 0x01) ? "4" : "",
_("Timings"), tcl, trcd, trp, tras
);
}