summaryrefslogtreecommitdiff
path: root/src/soc/qualcomm
diff options
context:
space:
mode:
Diffstat (limited to 'src/soc/qualcomm')
-rw-r--r--src/soc/qualcomm/qcs405/include/soc/memlayout.ld8
-rw-r--r--src/soc/qualcomm/qcs405/include/soc/symbols.h1
-rw-r--r--src/soc/qualcomm/qcs405/soc.c7
3 files changed, 12 insertions, 4 deletions
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 <symbols.h>
#include <device/device.h>
#include <timestamp.h>
+#include <soc/mmu.h>
+#include <soc/symbols.h>
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)