[PATCH i2c-tools v4 0/8] decode-dimms: Implement DDR5 decoding
Stephen Horvath <[email protected]> Thu, 23 Jul 2026 13:40:11 +0000
| Newsgroups | org.kernel.vger.linux-i2c |
|---|---|
| Message-ID | <[email protected]> |
Hi, this series of patches adds DDR5 support to decode-dimms. I'm not too experienced with perl or the JEDEC specs, so there's probably going to be some questionable choices here, but I'd love to hear feedback. The first 4 patches (1, 2, 3, 4) add the essential DDR5 information to decode-dimms. The patches 5 & 7 haven't been tested on hardware implementations so I'm happy for them to be dropped if they're not useful. However they add type specific information and error log support. Patch 8 adds XMP and EXPO support for DDR5, though I don't have access to the datasheet for either, so I'm fine if they get dropped as well. Though I may also implement XMP for DDR3 and DDR4 in another series if these are well received. Patch 6 just adds a new function `prints2`, to print a subheading, used for the error logs, XMP and EXPO. Signed-off-by: Stephen Horvath <[email protected]> --- Changes in v4: - Change the nominal VPP to 1.8V - Fix SPD length calculation - Add truncation to the rounding calculation - Simplify `ddr5_round_twr` function - Use DDR5 rounding algorithm for "Timings at Standard Speeds" - Remove some unnecessary nanosecond conversions - Reformat the cover letter with b4's change style - Link to v3: https://patch.msgid.link/[email protected] Changes in v3: V3 has again been rebased onto master, as well as: - The density calculation has been fixed so it no longer provides incorrect results for >48GB modules - tCCD_L_WR, tCCD_L_WR2, tRTP, tCCD_M, tCCD_M_WR, tCCD_M_WTR timings have been added - VDDQ and VPP voltages added - Usages of DDR4 rounding has been replaced with correct DDR5 rounding - Added a standard speed (9200) found in JESD400-5D.01 - The timings have been rearranged in order of address - The text for the timings has been updated to more accurately reflect the JEDEC spec - Patches 6 and 8 have been added (`prints2` + XMP/EXPO support) - Error log support (previously patch 6, now 7) has been improved - Comments in patch 1 have been updated with DDR5 info - Some patch messages have been changed slightly - Link to v2: https://patch.msgid.link/[email protected] Changes in v2: V2 has been rebased onto master, and patch 1 has been updated to check byte 2 for DDR5 identification, not just byte 0, and the commit messages have been made more formal. - Link to v1: https://patch.msgid.link/[email protected] --- Stephen Horvath (8): decode-dimms: Implement DDR5 checksum parsing decode-dimms: Decode DDR5 Manufacturer Data decode-dimms: Decode timings and other data for DDR5 decode-dimms: Decode DDR5 common module information decode-dimms: Add basic decoding of type specific information for DDR5 decode-dimms: Add second level separator decode-dimms: Decode DDR5 error log decode-dimms: Add DDR5 XMP 3.0 and EXPO decoding eeprom/decode-dimms | 840 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 834 insertions(+), 6 deletions(-) --- base-commit: 5852f5375eea6ca9dabf31f4772cb8b8ecc905d8 change-id: 20260624-ddr5-8f35700a6a50 Best regards, -- Stephen Horvath <[email protected]>