From 717050d1d27a5c88bf1921da94476d0bfc592d97 Mon Sep 17 00:00:00 2001 From: Nitheesh Sekar Date: Sun, 16 Sep 2018 16:16:42 +0530 Subject: qcs405: Add DRAM resources TEST=build Change-Id: Iea79a942c297400c88aa205da713bcfcb8c51185 Signed-off-by: Sricharan R Signed-off-by: Nitheesh Sekar Reviewed-on: https://review.coreboot.org/c/coreboot/+/29954 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Georgi --- src/soc/qualcomm/qcs405/include/soc/memlayout.ld | 8 +++++--- src/soc/qualcomm/qcs405/include/soc/symbols.h | 1 + src/soc/qualcomm/qcs405/soc.c | 7 ++++++- 3 files changed, 12 insertions(+), 4 deletions(-) (limited to 'src/soc/qualcomm/qcs405') diff --git a/src/soc/qualcomm/qcs405/include/soc/memlayout.ld b/src/soc/qualcomm/qcs405/include/soc/memlayout.ld index d6e4dfb361..8ed258bf52 100644 --- a/src/soc/qualcomm/qcs405/include/soc/memlayout.ld +++ b/src/soc/qualcomm/qcs405/include/soc/memlayout.ld @@ -42,7 +42,9 @@ SECTIONS REGION(bsram_unused, 0x8C68C00, 0xA2400, 0x100) BSRAM_END(0x8D80000) - DRAM_START(0x90000000) - POSTRAM_CBFS_CACHE(0x90000000, 384K) - RAMSTAGE(0x90800000, 128K) + DRAM_START(0x80000000) + /* DDR Carveout for BL31 usage */ + REGION(dram_reserved, 0x85000000, 0x5100000, 4096) + POSTRAM_CBFS_CACHE(0x9F800000, 384K) + RAMSTAGE(0x9F860000, 128K) } diff --git a/src/soc/qualcomm/qcs405/include/soc/symbols.h b/src/soc/qualcomm/qcs405/include/soc/symbols.h index ef2285c910..45e6988683 100644 --- a/src/soc/qualcomm/qcs405/include/soc/symbols.h +++ b/src/soc/qualcomm/qcs405/include/soc/symbols.h @@ -21,5 +21,6 @@ DECLARE_REGION(ssram); DECLARE_REGION(bsram); +DECLARE_REGION(dram_reserved); #endif // _SOC_QUALCOMM_QCS405_SYMBOLS_H_ diff --git a/src/soc/qualcomm/qcs405/soc.c b/src/soc/qualcomm/qcs405/soc.c index f7591a7552..b3bfb9918a 100644 --- a/src/soc/qualcomm/qcs405/soc.c +++ b/src/soc/qualcomm/qcs405/soc.c @@ -13,12 +13,17 @@ * GNU General Public License for more details. */ +#include #include #include +#include +#include static void soc_read_resources(struct device *dev) { - + ram_resource(dev, 0, (uintptr_t)_dram / KiB, (1 * GiB) / KiB); + reserved_ram_resource(dev, 1, (uintptr_t)_dram_reserved / KiB, + REGION_SIZE(dram_reserved) / KiB); } static void soc_init(struct device *dev) -- cgit v1.2.3