xref: /rk3399_ARM-atf/plat/renesas/common/include/plat.ld.S (revision fc037ffc9e0a86f0ba6fc00cd075fce34dc002ae)
1*011a4c2fSBiju Das/*
2*011a4c2fSBiju Das * Copyright (c) 2018, ARM Limited and Contributors. All rights reserved.
3*011a4c2fSBiju Das *
4*011a4c2fSBiju Das * SPDX-License-Identifier: BSD-3-Clause
5*011a4c2fSBiju Das */
6*011a4c2fSBiju Das#ifndef RCAR_PLAT_LD_S
7*011a4c2fSBiju Das#define RCAR_PLAT_LD_S
8*011a4c2fSBiju Das
9*011a4c2fSBiju Das#include <lib/xlat_tables/xlat_tables_defs.h>
10*011a4c2fSBiju Das#include <platform_def.h>
11*011a4c2fSBiju Das
12*011a4c2fSBiju DasMEMORY {
13*011a4c2fSBiju Das    SRAM (rwx): ORIGIN = BL31_SRAM_BASE, LENGTH = DEVICE_SRAM_SIZE
14*011a4c2fSBiju Das    PRAM (r): ORIGIN = BL31_LIMIT - DEVICE_SRAM_SIZE, LENGTH = DEVICE_SRAM_SIZE
15*011a4c2fSBiju Das}
16*011a4c2fSBiju Das
17*011a4c2fSBiju DasSECTIONS
18*011a4c2fSBiju Das{
19*011a4c2fSBiju Das	/* SRAM_COPY is in PRAM */
20*011a4c2fSBiju Das	. = BL31_LIMIT - DEVICE_SRAM_SIZE;
21*011a4c2fSBiju Das	__SRAM_COPY_START__ = .;
22*011a4c2fSBiju Das
23*011a4c2fSBiju Das	.system_ram : {
24*011a4c2fSBiju Das		/* system ram start is in SRAM */
25*011a4c2fSBiju Das		__system_ram_start__ = .;
26*011a4c2fSBiju Das		*(.system_ram*)
27*011a4c2fSBiju Das		*iic_dvfs.o(.rodata)
28*011a4c2fSBiju Das	        __system_ram_end__ = .;
29*011a4c2fSBiju Das	} >SRAM AT>PRAM
30*011a4c2fSBiju Das
31*011a4c2fSBiju Das    ASSERT(__BL31_END__ <= BL31_LIMIT - DEVICE_SRAM_SIZE,
32*011a4c2fSBiju Das    "BL31 image too large - writing on top of SRAM!")
33*011a4c2fSBiju Das
34*011a4c2fSBiju Das}
35*011a4c2fSBiju Das
36*011a4c2fSBiju Das#endif /* RCAR_PLAT_LD_S */
37