xref: /rk3399_ARM-atf/include/plat/arm/common/arm_tzc_dram.ld.S (revision e8eb44182d0536aaa1ab45bd7576b2e0c5769dad)
1cb4adb0dSDaniel Boulby/*
2da04341eSChris Kay * Copyright (c) 2017-2023, ARM Limited and Contributors. All rights reserved.
3cb4adb0dSDaniel Boulby *
4cb4adb0dSDaniel Boulby * SPDX-License-Identifier: BSD-3-Clause
5cb4adb0dSDaniel Boulby */
609d40e0eSAntonio Nino Diaz#ifndef ARM_TZC_DRAM_LD_S
709d40e0eSAntonio Nino Diaz#define ARM_TZC_DRAM_LD_S
8cb4adb0dSDaniel Boulby
909d40e0eSAntonio Nino Diaz#include <lib/xlat_tables/xlat_tables_defs.h>
10cb4adb0dSDaniel Boulby
11cb4adb0dSDaniel BoulbyMEMORY {
12cb4adb0dSDaniel Boulby    EL3_SEC_DRAM (rw): ORIGIN = ARM_EL3_TZC_DRAM1_BASE, LENGTH = ARM_EL3_TZC_DRAM1_SIZE
13cb4adb0dSDaniel Boulby}
14cb4adb0dSDaniel Boulby
15cb4adb0dSDaniel BoulbySECTIONS
16cb4adb0dSDaniel Boulby{
17cb4adb0dSDaniel Boulby	. = ARM_EL3_TZC_DRAM1_BASE;
18cb4adb0dSDaniel Boulby	ASSERT(. == ALIGN(PAGE_SIZE),
19cb4adb0dSDaniel Boulby	"ARM_EL3_TZC_DRAM_BASE address is not aligned on a page boundary.")
20da04341eSChris Kay	.el3_tzc_dram (NOLOAD) : ALIGN(PAGE_SIZE) {
21*ba33528aSShruti Gupta	__PLAT_SPMC_SHMEM_DATASTORE_START__ = .;
22*ba33528aSShruti Gupta	*(.arm_spmc_shmem_datastore)
23*ba33528aSShruti Gupta	__PLAT_SPMC_SHMEM_DATASTORE_END__ = .;
24cb4adb0dSDaniel Boulby	__EL3_SEC_DRAM_START__ = .;
25da04341eSChris Kay	*(.arm_el3_tzc_dram)
26cb4adb0dSDaniel Boulby	__EL3_SEC_DRAM_UNALIGNED_END__ = .;
27cb4adb0dSDaniel Boulby
28cb4adb0dSDaniel Boulby	. = ALIGN(PAGE_SIZE);
29cb4adb0dSDaniel Boulby	__EL3_SEC_DRAM_END__ = .;
30cb4adb0dSDaniel Boulby	} >EL3_SEC_DRAM
31cb4adb0dSDaniel Boulby}
32cb4adb0dSDaniel Boulby
3309d40e0eSAntonio Nino Diaz#endif /* ARM_TZC_DRAM_LD_S */
34