EE1004: Difference between revisions
Created page with "[https://www.jedec.org/category/keywords/ee1004-v EE1004-v] is a JEDEC standard for SPD published May 2022. It is used in DDR4+ DIMMs, and has its own kernel module, <tt>ee1004</tt>, updating the <tt>at24</tt> module. ==Reading EE1004== Load the <tt>eeprom</tt> and <tt>ee1004</tt> modules (the former is still necessary for <tt>decode-dimms</tt> to function, but is deprecated). Determine which DIMMs are populated via addresses 0x50--0x57 on an SMBUS-type I2C connecti..." |
No edit summary |
||
| (4 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
[https://www.jedec.org/category/keywords/ee1004-v EE1004-v] is a JEDEC standard for [[SPD]] published May 2022. It is used in DDR4+ DIMMs, and has its own kernel module, <tt>ee1004</tt>, | [https://www.jedec.org/category/keywords/ee1004-v EE1004-v] is a JEDEC standard for [[SPD]] published May 2022. It is used in DDR4+ DIMMs, and has its own kernel module, <tt>ee1004</tt>, superseding the <tt>at24</tt> module used for AT24C02 EEPROMs. These are 512-byte devices accessed through a single I2C address; SMBus controls whether the upper or lower page is accessed. | ||
== | ==Binding EE1004== | ||
Load the <tt>eeprom</tt> and <tt>ee1004</tt> modules (the former is still necessary for <tt>decode-dimms</tt> to function, but is deprecated). Determine which DIMMs are populated via addresses 0x50--0x57 on an | Load the <tt>eeprom</tt> and <tt>ee1004</tt> modules (the former is still necessary for <tt>decode-dimms</tt> to function, but is deprecated). Determine which DIMMs are populated via addresses 0x50--0x57 on an SMBus-type I2C connection. Here, buses 0 and 1 are SMBus (using the <tt>i2c-piix4</tt> module). | ||
<pre> | <pre> | ||
[schwarzgerat](0) $ i2cdetect -l | [schwarzgerat](0) $ i2cdetect -l | ||
| Line 24: | Line 24: | ||
[schwarzgerat](0) $ | [schwarzgerat](0) $ | ||
</pre> | </pre> | ||
Here, we see my 8 DIMMs populating addresses 0x50 through 0x57. We now must associate these addresses with <tt>ee1004</tt>: | |||
<pre> | |||
[schwarzgerat](0) $ for i in `seq 0 7` ; do echo ee1004 0x5$i | sudo tee /sys/bus/i2c/devices/i2c-0/new_device ; done | |||
ee1004 0x50 | |||
ee1004 0x51 | |||
ee1004 0x52 | |||
ee1004 0x53 | |||
ee1004 0x54 | |||
ee1004 0x55 | |||
ee1004 0x56 | |||
ee1004 0x57 | |||
[schwarzgerat](1) $ | |||
</pre> | |||
At this point, <tt>decode-dimms</tt> ought be able to pull the EE1004 information. Try using <tt>decode-dimms --side-by-side</tt> for more compact presentation. | |||
==External links== | |||
* [https://en.wikipedia.org/wiki/Serial_presence_detect Serial presence detect] on wikipedia | |||