xref: /rk3399_ARM-atf/plat/rockchip/rk3399/include/plat.ld.S (revision ec6935692a1ecd69473ca0f1990d8ed280dfca61)
1*ec693569SCaesar Wang/*
2*ec693569SCaesar Wang * Copyright (c) 2016, ARM Limited and Contributors. All rights reserved.
3*ec693569SCaesar Wang *
4*ec693569SCaesar Wang * Redistribution and use in source and binary forms, with or without
5*ec693569SCaesar Wang * modification, are permitted provided that the following conditions are met:
6*ec693569SCaesar Wang *
7*ec693569SCaesar Wang * Redistributions of source code must retain the above copyright notice, this
8*ec693569SCaesar Wang * list of conditions and the following disclaimer.
9*ec693569SCaesar Wang *
10*ec693569SCaesar Wang * Redistributions in binary form must reproduce the above copyright notice,
11*ec693569SCaesar Wang * this list of conditions and the following disclaimer in the documentation
12*ec693569SCaesar Wang * and/or other materials provided with the distribution.
13*ec693569SCaesar Wang *
14*ec693569SCaesar Wang * Neither the name of ARM nor the names of its contributors may be used
15*ec693569SCaesar Wang * to endorse or promote products derived from this software without specific
16*ec693569SCaesar Wang * prior written permission.
17*ec693569SCaesar Wang *
18*ec693569SCaesar Wang * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19*ec693569SCaesar Wang * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20*ec693569SCaesar Wang * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21*ec693569SCaesar Wang * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
22*ec693569SCaesar Wang * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23*ec693569SCaesar Wang * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24*ec693569SCaesar Wang * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25*ec693569SCaesar Wang * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26*ec693569SCaesar Wang * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27*ec693569SCaesar Wang * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28*ec693569SCaesar Wang * POSSIBILITY OF SUCH DAMAGE.
29*ec693569SCaesar Wang */
30*ec693569SCaesar Wang#ifndef __ROCKCHIP_PLAT_LD_S__
31*ec693569SCaesar Wang#define __ROCKCHIP_PLAT_LD_S__
32*ec693569SCaesar Wang
33*ec693569SCaesar WangMEMORY {
34*ec693569SCaesar Wang    SRAM (rwx): ORIGIN = SRAM_BASE, LENGTH = SRAM_SIZE
35*ec693569SCaesar Wang}
36*ec693569SCaesar Wang
37*ec693569SCaesar WangSECTIONS
38*ec693569SCaesar Wang{
39*ec693569SCaesar Wang	. = SRAM_BASE;
40*ec693569SCaesar Wang	ASSERT(. == ALIGN(4096),
41*ec693569SCaesar Wang		"SRAM_BASE address is not aligned on a page boundary.")
42*ec693569SCaesar Wang
43*ec693569SCaesar Wang	/*
44*ec693569SCaesar Wang	 * The SRAM space allocation for RK3399
45*ec693569SCaesar Wang	 * ----------------
46*ec693569SCaesar Wang	 * | sram text
47*ec693569SCaesar Wang	 * ----------------
48*ec693569SCaesar Wang	 * | sram data
49*ec693569SCaesar Wang	 * ----------------
50*ec693569SCaesar Wang	 */
51*ec693569SCaesar Wang	.text_sram : ALIGN(4096) {
52*ec693569SCaesar Wang		__bl31_sram_text_start = .;
53*ec693569SCaesar Wang		*(.sram.text)
54*ec693569SCaesar Wang		*(.sram.rodata)
55*ec693569SCaesar Wang		. = ALIGN(4096);
56*ec693569SCaesar Wang		__bl31_sram_text_end = .;
57*ec693569SCaesar Wang	} >SRAM
58*ec693569SCaesar Wang
59*ec693569SCaesar Wang	.data_sram : ALIGN(4096) {
60*ec693569SCaesar Wang		__bl31_sram_data_start = .;
61*ec693569SCaesar Wang		*(.sram.data)
62*ec693569SCaesar Wang		. = ALIGN(4096);
63*ec693569SCaesar Wang		__bl31_sram_data_end = .;
64*ec693569SCaesar Wang	} >SRAM
65*ec693569SCaesar Wang}
66*ec693569SCaesar Wang
67*ec693569SCaesar Wang#endif /* __ROCKCHIP_PLAT_LD_S__ */
68