summaryrefslogtreecommitdiff
path: root/src/device/dram
diff options
context:
space:
mode:
authorPatrick Rudolph <patrick.rudolph@9elements.com>2021-02-11 15:09:22 +0100
committerAngel Pons <th3fanbus@gmail.com>2021-02-16 10:43:11 +0000
commitff251d21d0de23228b1c10e5b78d49294171c92b (patch)
treedc397b1419cd0b92b8a833bf08046d8faff3ab49 /src/device/dram
parent20eb3506ca3d29ef59de81fb0070628582682751 (diff)
device/dram: Move SPD manufacturer names out of arch/x86
Move SPD manufacturer ID decoding to device/dram. Will be used by the following patch outside of SMBIOS scope as well. Change-Id: Iec175cd6ab1d20761da955785e4bc0e87ae02dbb Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/50544 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Diffstat (limited to 'src/device/dram')
-rw-r--r--src/device/dram/Makefile.inc2
-rw-r--r--src/device/dram/spd.c37
2 files changed, 38 insertions, 1 deletions
diff --git a/src/device/dram/Makefile.inc b/src/device/dram/Makefile.inc
index f7118dbbc2..69fcfa8844 100644
--- a/src/device/dram/Makefile.inc
+++ b/src/device/dram/Makefile.inc
@@ -1,3 +1,3 @@
romstage-y += ddr4.c ddr3.c ddr2.c ddr_common.c
-ramstage-y += ddr4.c ddr3.c ddr2.c ddr_common.c
+ramstage-y += ddr4.c ddr3.c ddr2.c ddr_common.c spd.c
diff --git a/src/device/dram/spd.c b/src/device/dram/spd.c
new file mode 100644
index 0000000000..9a9a767fc2
--- /dev/null
+++ b/src/device/dram/spd.c
@@ -0,0 +1,37 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#include <device/dram/spd.h>
+
+const char *spd_manufacturer_name(const uint16_t mod_id)
+{
+ switch (mod_id) {
+ case 0x9b85:
+ return "Crucial";
+ case 0x4304:
+ return "Ramaxel";
+ case 0x4f01:
+ return "Transcend";
+ case 0x9801:
+ return "Kingston";
+ case 0x987f:
+ return "Hynix";
+ case 0x9e02:
+ return "Corsair";
+ case 0xb004:
+ return "OCZ";
+ case 0xad80:
+ return "Hynix/Hyundai";
+ case 0x3486:
+ return "Super Talent";
+ case 0xcd04:
+ return "GSkill";
+ case 0xce80:
+ return "Samsung";
+ case 0xfe02:
+ return "Elpida";
+ case 0x2c80:
+ return "Micron";
+ default:
+ return NULL;
+ }
+}