summaryrefslogtreecommitdiffstats
path: root/payloads
diff options
context:
space:
mode:
authorRavi Kumar Bokka <rbokka@codeaurora.org>2021-11-10 05:22:47 +0530
committerShelley Chen <shchen@google.com>2022-03-16 01:21:44 +0000
commit42fcb2a8f4f9b395ceb84f7d644864c596b0a9a2 (patch)
treeb291d70663775f1a34cee236a1d197adac8f1ce3 /payloads
parent19baa9d51e4f1b36473dc750735eb6e5345bebda (diff)
downloadcoreboot-42fcb2a8f4f9b395ceb84f7d644864c596b0a9a2.tar.gz
coreboot-42fcb2a8f4f9b395ceb84f7d644864c596b0a9a2.tar.bz2
coreboot-42fcb2a8f4f9b395ceb84f7d644864c596b0a9a2.zip
libpayload: Parse DDR Information using coreboot tables
BUG=b:182963902,b:177917361 TEST=Validated on qualcomm sc7280 development board Signed-off-by: Ravi Kumar Bokka <rbokka@codeaurora.org> Change-Id: Ieca7e9fc0e1a018fcb2e9315aebee088edac858e Reviewed-on: https://review.coreboot.org/c/coreboot/+/59193 Reviewed-by: Shelley Chen <shchen@google.com> Reviewed-by: Yu-Ping Wu <yupingso@google.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'payloads')
-rw-r--r--payloads/libpayload/include/libpayload.h1
-rw-r--r--payloads/libpayload/include/sysinfo.h1
-rw-r--r--payloads/libpayload/libc/coreboot.c3
3 files changed, 5 insertions, 0 deletions
diff --git a/payloads/libpayload/include/libpayload.h b/payloads/libpayload/include/libpayload.h
index 8d8336f559e0..90aeeeba0af4 100644
--- a/payloads/libpayload/include/libpayload.h
+++ b/payloads/libpayload/include/libpayload.h
@@ -46,6 +46,7 @@
#include <libpayload-config.h>
#include <cbgfx.h>
#include <commonlib/bsd/fmap_serialized.h>
+#include <commonlib/bsd/mem_chip_info.h>
#include <ctype.h>
#include <die.h>
#include <endian.h>
diff --git a/payloads/libpayload/include/sysinfo.h b/payloads/libpayload/include/sysinfo.h
index 376f298c77ae..eba4b89227bf 100644
--- a/payloads/libpayload/include/sysinfo.h
+++ b/payloads/libpayload/include/sysinfo.h
@@ -83,6 +83,7 @@ struct sysinfo_t {
uintptr_t compiler;
uintptr_t linker;
uintptr_t assembler;
+ uintptr_t mem_chip_base;
uintptr_t cb_version;
diff --git a/payloads/libpayload/libc/coreboot.c b/payloads/libpayload/libc/coreboot.c
index 72d7664b1a55..f5695d62dd4d 100644
--- a/payloads/libpayload/libc/coreboot.c
+++ b/payloads/libpayload/libc/coreboot.c
@@ -260,6 +260,9 @@ static void cb_parse_cbmem_entry(void *ptr, struct sysinfo_t *info)
case CBMEM_ID_TYPE_C_INFO:
info->type_c_info = cbmem_entry->address;
break;
+ case CBMEM_ID_MEM_CHIP_INFO:
+ info->mem_chip_base = cbmem_entry->address;
+ break;
default:
break;
}