xref: /rk3399_rockchip-uboot/arch/sh/cpu/u-boot.lds (revision 8371dabb5fbc1da5d823cf2905e965aa32cb31df)
1afc3929fSMasahiro Yamada/*
2*8371dabbSVladimir Zapolskiy * Copyright (C) 2016 Vladimir Zapolskiy <vz@mleia.com>
3*8371dabbSVladimir Zapolskiy * Copyright (C) 2008-2009 Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com>
4*8371dabbSVladimir Zapolskiy * Copyright (C) 2008 Mark Jonas <mark.jonas@de.bosch.com>
5*8371dabbSVladimir Zapolskiy * Copyright (C) 2007 Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
6afc3929fSMasahiro Yamada *
7afc3929fSMasahiro Yamada * SPDX-License-Identifier:	GPL-2.0+
8afc3929fSMasahiro Yamada */
9afc3929fSMasahiro Yamada
103f8b5391SVladimir Zapolskiy#include "config.h"
113f8b5391SVladimir Zapolskiy
12afc3929fSMasahiro YamadaOUTPUT_FORMAT("elf32-sh-linux", "elf32-sh-linux", "elf32-sh-linux")
13afc3929fSMasahiro YamadaOUTPUT_ARCH(sh)
14*8371dabbSVladimir Zapolskiy
15*8371dabbSVladimir ZapolskiyMEMORY
16*8371dabbSVladimir Zapolskiy{
17*8371dabbSVladimir Zapolskiy	ram	: ORIGIN = CONFIG_SYS_SDRAM_BASE, LENGTH = CONFIG_SYS_SDRAM_SIZE
18*8371dabbSVladimir Zapolskiy}
19*8371dabbSVladimir Zapolskiy
20afc3929fSMasahiro YamadaENTRY(_start)
21afc3929fSMasahiro Yamada
22afc3929fSMasahiro YamadaSECTIONS
23afc3929fSMasahiro Yamada{
24b26d2507SVladimir Zapolskiy	reloc_dst = .;
25afc3929fSMasahiro Yamada
26afc3929fSMasahiro Yamada	PROVIDE (_ftext = .);
27afc3929fSMasahiro Yamada	PROVIDE (_fcode = .);
28afc3929fSMasahiro Yamada	PROVIDE (_start = .);
29afc3929fSMasahiro Yamada
30afc3929fSMasahiro Yamada	.text :
31afc3929fSMasahiro Yamada	{
32afc3929fSMasahiro Yamada		KEEP(*/start.o		(.text))
339ec4a67eSVladimir Zapolskiy		KEEP(CONFIG_BOARDDIR/lowlevel_init.o	(.text .spiboot1.text))
343f8b5391SVladimir Zapolskiy		KEEP(*(.spiboot2.text))
35afc3929fSMasahiro Yamada		. = ALIGN(8192);
36afc3929fSMasahiro Yamada		common/env_embedded.o	(.ppcenv)
37afc3929fSMasahiro Yamada		. = ALIGN(8192);
38afc3929fSMasahiro Yamada		common/env_embedded.o	(.ppcenvr)
39afc3929fSMasahiro Yamada		. = ALIGN(8192);
40afc3929fSMasahiro Yamada		*(.text)
41afc3929fSMasahiro Yamada		. = ALIGN(4);
42*8371dabbSVladimir Zapolskiy	} >ram =0xFF
43afc3929fSMasahiro Yamada	PROVIDE (_ecode = .);
44afc3929fSMasahiro Yamada	.rodata :
45afc3929fSMasahiro Yamada	{
46afc3929fSMasahiro Yamada		*(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
47afc3929fSMasahiro Yamada		. = ALIGN(4);
48*8371dabbSVladimir Zapolskiy	} >ram
49afc3929fSMasahiro Yamada	PROVIDE (_etext = .);
50afc3929fSMasahiro Yamada
51afc3929fSMasahiro Yamada
52afc3929fSMasahiro Yamada	PROVIDE (_fdata = .);
53afc3929fSMasahiro Yamada	.data :
54afc3929fSMasahiro Yamada	{
55afc3929fSMasahiro Yamada		*(.data)
56afc3929fSMasahiro Yamada		. = ALIGN(4);
57*8371dabbSVladimir Zapolskiy	} >ram
58afc3929fSMasahiro Yamada	PROVIDE (_edata = .);
59afc3929fSMasahiro Yamada
60afc3929fSMasahiro Yamada	PROVIDE (_fgot = .);
61afc3929fSMasahiro Yamada	.got :
62afc3929fSMasahiro Yamada	{
63afc3929fSMasahiro Yamada		*(.got)
64afc3929fSMasahiro Yamada		. = ALIGN(4);
65*8371dabbSVladimir Zapolskiy	} >ram
66afc3929fSMasahiro Yamada	PROVIDE (_egot = .);
67afc3929fSMasahiro Yamada
68afc3929fSMasahiro Yamada	.u_boot_list : {
69afc3929fSMasahiro Yamada		KEEP(*(SORT(.u_boot_list*)));
70*8371dabbSVladimir Zapolskiy	} >ram
71afc3929fSMasahiro Yamada
72f41e6088SSimon Glass	PROVIDE (__init_end = .);
73afc3929fSMasahiro Yamada	PROVIDE (reloc_dst_end = .);
74afc3929fSMasahiro Yamada
75afc3929fSMasahiro Yamada	PROVIDE (bss_start = .);
76afc3929fSMasahiro Yamada	PROVIDE (__bss_start = .);
77afc3929fSMasahiro Yamada	.bss :
78afc3929fSMasahiro Yamada	{
79afc3929fSMasahiro Yamada		*(.bss)
80afc3929fSMasahiro Yamada		. = ALIGN(4);
81*8371dabbSVladimir Zapolskiy	} >ram
82afc3929fSMasahiro Yamada	PROVIDE (bss_end = .);
83afc3929fSMasahiro Yamada	PROVIDE (__bss_end = .);
84afc3929fSMasahiro Yamada}
85