summaryrefslogtreecommitdiff
path: root/src/soc/amd/picasso/dmi.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/soc/amd/picasso/dmi.c')
-rw-r--r--src/soc/amd/picasso/dmi.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/soc/amd/picasso/dmi.c b/src/soc/amd/picasso/dmi.c
index 860778d76f..3988616896 100644
--- a/src/soc/amd/picasso/dmi.c
+++ b/src/soc/amd/picasso/dmi.c
@@ -27,7 +27,15 @@ static void transfer_memory_info(const TYPE17_DMI_INFO *dmi17,
dimm->ddr_type = dmi17->MemoryType;
- dimm->ddr_frequency = dmi17->Speed;
+ /**
+ * Based on the name, ddr_frequency should hold the memory clock
+ * frequency in MHz. However it is interpreted as MT/s in SMBIOS
+ * downstream. So multiply by 2 to translate to memory speed in MT/s.
+ * ddr_frequency is used for setting both config speed and max
+ * speed. Using config speed so we don't get the false impression
+ * that the RAM is running faster than it actually is.
+ */
+ dimm->ddr_frequency = 2 * dmi17->ConfigSpeed;
dimm->rank_per_dimm = dmi17->Attributes;