blob: e3ea9ccf8ded05fd31bd7a68f23fb33fa483b129 [file] [log] [blame]
XiaoDong Huange3ec6ff2023-06-26 16:43:30 +08001/*
2 * Copyright (c) 2024, Rockchip, Inc. All rights reserved.
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7#ifndef ROCKCHIP_PLAT_LD_S
8#define ROCKCHIP_PLAT_LD_S
9
10MEMORY {
11 PMUSRAM (rwx): ORIGIN = PMUSRAM_BASE, LENGTH = PMUSRAM_RSIZE
12}
13
14SECTIONS
15{
16 . = PMUSRAM_BASE;
17
18 /*
19 * pmu_cpuson_entrypoint request address
20 * align 64K when resume, so put it in the
21 * start of pmusram
22 */
23 .text_pmusram : {
24 ASSERT(. == ALIGN(64 * 1024),
25 ".pmusram.entry request 64K aligned.");
26 KEEP(*(.pmusram.entry))
27 __bl31_pmusram_text_start = .;
28 *(.pmusram.text)
29 *(.pmusram.rodata)
30 . = ALIGN(PAGE_SIZE);
31 __bl31_pmusram_text_end = .;
32 __bl31_pmusram_data_start = .;
33 *(.pmusram.data)
34 . = ALIGN(PAGE_SIZE);
35 __bl31_pmusram_data_end = .;
36
37 ASSERT(__bl31_pmusram_data_end <= PMUSRAM_BASE + PMUSRAM_RSIZE,
38 ".pmusram has exceeded its limit.");
39 } >PMUSRAM
40}
41
42#endif /* ROCKCHIP_PLAT_LD_S */