diff options
author | Kyösti Mälkki <kyosti.malkki@gmail.com> | 2016-11-18 18:41:17 +0200 |
---|---|---|
committer | Kyösti Mälkki <kyosti.malkki@gmail.com> | 2016-11-20 21:21:59 +0100 |
commit | 7dc4b84d8c61f233cb33f2adb7962f2f8a95badb (patch) | |
tree | c151610d382009fe0b7617c7c93375889346e3a5 /src/include/device | |
parent | c13d65c29b6219d4b765f40e661548eb389524b5 (diff) |
device/dram/ddr3: Calculate CRC16 of SPD unique identifier
Specification allows for the unique identifier bytes 117..125
to be excluded of CRC calculation. For such SPD, the CRC
would not identify replacement between two identical DIMM parts,
while memory training needs to be redone.
Change-Id: I8e830018b15c344d9f72f921ab84893f633f7654
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: https://review.coreboot.org/17486
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Rudolph <siro@das-labor.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Diffstat (limited to 'src/include/device')
-rw-r--r-- | src/include/device/dram/ddr3.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/include/device/dram/ddr3.h b/src/include/device/dram/ddr3.h index 7388012f86..905aa8407a 100644 --- a/src/include/device/dram/ddr3.h +++ b/src/include/device/dram/ddr3.h @@ -199,6 +199,7 @@ enum ddr3_xmp_profile { typedef u8 spd_raw_data[256]; u16 spd_ddr3_calc_crc(u8 *spd, int len); +u16 spd_ddr3_calc_unique_crc(u8 *spd, int len); int spd_decode_ddr3(dimm_attr * dimm, spd_raw_data spd_data); int dimm_is_registered(enum spd_dimm_type type); void dram_print_spd_ddr3(const dimm_attr * dimm); |