diff options
-rw-r--r-- | modules/devices/spd-decode.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/modules/devices/spd-decode.c b/modules/devices/spd-decode.c index 1ec5bf3b..6250be9d 100644 --- a/modules/devices/spd-decode.c +++ b/modules/devices/spd-decode.c @@ -567,11 +567,24 @@ static gchar *decode_ddr3_sdram_extra(unsigned char *bytes) { decode_ddr3_module_timings(bytes, &trcd, &trp, &tras, &tcl); - return g_strdup_printf("[%s]\n" + int ranks = 1 + ((bytes[7] >> 3) & 0x7); + int pins = 4 << (bytes[7] & 0x7); + + /* expected to continue an [SPD] section */ + return g_strdup_printf("%s=%d\n" + "%s=%d\n" + "%s=%s %s %s\n" + "[%s]\n" "tCL=%.2f\n" "tRCD=%.3fns\n" "tRP=%.3fns\n" "tRAS=%.3fns\n", + _("Ranks"), ranks, + _("IO Pins per Chip"), pins, + _("Supported Voltages"), + (bytes[6] & 4) ? "1.25V" : "", + (bytes[6] & 2) ? "1.35V" : "", + (bytes[6] & 1) ? "" : "1.5V", _("Timings"), tcl, trcd, trp, tras ); } |