diff options
author | khali <khali@7894878c-1315-0410-8ee3-d5d059ff63e0> | 2013-04-15 12:24:23 +0000 |
---|---|---|
committer | khali <khali@7894878c-1315-0410-8ee3-d5d059ff63e0> | 2013-04-15 12:24:23 +0000 |
commit | c93dd97d6fe821fdda2cc6b999f5e03836aad703 (patch) | |
tree | a8fdfd29e99bc14f34e080fa44ab6f2727293a22 | |
parent | 9cc02674ef94146af5b8590d397031835df0fb90 (diff) | |
download | i2c-tools-c93dd97d6fe821fdda2cc6b999f5e03836aad703.tar.gz |
DDR3: Add support for Load Reduced DIMM (LRDIMM).
git-svn-id: http://lm-sensors.org/svn/i2c-tools/trunk@6147 7894878c-1315-0410-8ee3-d5d059ff63e0
-rw-r--r-- | CHANGES | 1 | ||||
-rwxr-xr-x | eeprom/decode-dimms | 19 |
2 files changed, 19 insertions, 1 deletions
@@ -34,6 +34,7 @@ SVN HEAD Print width of all known DDR3 module types Print physical characteristics for all DDR3 module types Don't print raw SSTE32882 register values + Add support for Load Reduced DIMM (LRDIMM) DDR3 modules 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 6fc7df4..a5f56f7 100755 --- a/eeprom/decode-dimms +++ b/eeprom/decode-dimms @@ -5,7 +5,7 @@ # Copyright 1998, 1999 Philip Edelbrock <phil@netroedge.com> # modified by Christian Zuckschwerdt <zany@triq.net> # modified by Burkart Lingner <burkart@bollchen.de> -# Copyright (C) 2005-2012 Jean Delvare <khali@linux-fr.org> +# Copyright (C) 2005-2013 Jean Delvare <khali@linux-fr.org> # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -1595,6 +1595,23 @@ sub decode_ddr3_sdram($) "Register revision", ddr3_revision_number($bytes->[67])); printl("Heat spreader", $bytes->[64] & 0x80 ? "Yes" : "No"); } + + if ($module_types[$bytes->[3]]->{family} == DDR3_LOAD_REDUCED) { + prints("Load Reduced DIMM"); + + my @rows = ("Undefined", 1, 2, "Reserved"); + printl("# DRAM Rows", $rows[($bytes->[63] >> 2) & 3]); + my @mirroring = ("None", "Odd ranks", "Reserved", "Reserved"); + printl("Mirroring", $mirroring[$bytes->[63] & 3]); + printl("Rank Numbering", $bytes->[63] & 0x20 ? "Even only" : "Contiguous"); + printl("Buffer Orientation", $bytes->[63] & 0x10 ? "Horizontal" : "Vertical"); + printl("Register manufacturer", + manufacturer_ddr3($bytes->[65], $bytes->[66])); + printl_cond($bytes->[64] != 0xff, + "Buffer Revision", ddr3_revision_number($bytes->[64])); + printl("Heat spreader", $bytes->[63] & 0x80 ? "Yes" : "No"); + } + } # Parameter: EEPROM bytes 0-127 (using 4-5) |