From 57f8c53a9456a0cebedaaad10010320d2222d5eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ky=C3=B6sti=20M=C3=A4lkki?= Date: Mon, 16 Jan 2017 19:59:52 +0200 Subject: [PATCH] UPSTREAM: pcengines/apu2: Add SKU in SMBIOS Installed memory only, PCB revision cannot be detected. BUG=none BRANCH=none TEST=none Change-Id: I958689da24361763df837e943bb2e03c922f9f84 Signed-off-by: Patrick Georgi Original-Commit-Id: 104074994d741646016e431a30b8966b3fdfe439 Original-Change-Id: Ib6224018db3de4a7ddd9e6f7f30edc438c3f0702 Original-Signed-off-by: Kysti Mlkki Original-Reviewed-on: https://review.coreboot.org/18153 Original-Tested-by: build bot (Jenkins) Original-Reviewed-by: Martin Roth Reviewed-on: https://chromium-review.googlesource.com/430623 Commit-Ready: Aaron Durbin Tested-by: Aaron Durbin Reviewed-by: Aaron Durbin --- src/mainboard/pcengines/apu2/Makefile.inc | 1 + src/mainboard/pcengines/apu2/mainboard.c | 20 +++++++++++++++++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/src/mainboard/pcengines/apu2/Makefile.inc b/src/mainboard/pcengines/apu2/Makefile.inc index e1a5f8d018..77c6d789c3 100644 --- a/src/mainboard/pcengines/apu2/Makefile.inc +++ b/src/mainboard/pcengines/apu2/Makefile.inc @@ -19,6 +19,7 @@ romstage-y += gpio_ftns.c ramstage-y += BiosCallOuts.c ramstage-y += OemCustomize.c +ramstage-y += gpio_ftns.c ## DIMM SPD for on-board memory SPD_BIN = $(obj)/spd.bin diff --git a/src/mainboard/pcengines/apu2/mainboard.c b/src/mainboard/pcengines/apu2/mainboard.c index 98fe8ddf4a..742135571a 100644 --- a/src/mainboard/pcengines/apu2/mainboard.c +++ b/src/mainboard/pcengines/apu2/mainboard.c @@ -28,9 +28,11 @@ #include #include #include - +#include +#include #include #include +#include "gpio_ftns.h" #define SPD_SIZE 128 #define PM_RTC_CONTROL 0x56 @@ -188,6 +190,22 @@ static void mainboard_enable(device_t dev) pirq_setup(); } +/* + * We will stuff the memory size into the smbios sku location. + */ +const char *smbios_mainboard_sku(void) +{ + static char sku[5]; + if (sku[0] != 0) + return sku; + + if (!get_spd_offset()) + snprintf(sku, sizeof(sku), "2 GB"); + else + snprintf(sku, sizeof(sku), "4 GB"); + return sku; +} + struct chip_operations mainboard_ops = { .enable_dev = mainboard_enable, };