diff options
Diffstat (limited to 'src/soc')
-rw-r--r-- | src/soc/qualcomm/qcs405/include/soc/memlayout.ld | 8 | ||||
-rw-r--r-- | src/soc/qualcomm/qcs405/include/soc/symbols.h | 1 | ||||
-rw-r--r-- | src/soc/qualcomm/qcs405/soc.c | 7 |
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) |