Message ID | 1509001896-7182-4-git-send-email-kever.yang@rock-chips.com |
---|---|
State | Superseded |
Delegated to: | Philipp Tomsich |
Headers | show |
Series | rockchip: enable TPL/SPL for rk3328 | expand |
> Rockchip TPL is not going to use both sram and dram, so > we will use a separate link file. > > Signed-off-by: Kever Yang <kever.yang@rock-chips.com> > --- > > arch/arm/mach-rockchip/rk3328/u-boot-tpl.lds | 91 ++++++++++++++++++++++++++++ > 1 file changed, 91 insertions(+) > create mode 100644 arch/arm/mach-rockchip/rk3328/u-boot-tpl.lds > Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
On Thu, 26 Oct 2017, Kever Yang wrote: > Rockchip TPL is not going to use both sram and dram, so > we will use a separate link file. > > Signed-off-by: Kever Yang <kever.yang@rock-chips.com> > --- > > arch/arm/mach-rockchip/rk3328/u-boot-tpl.lds | 91 ++++++++++++++++++++++++++++ > 1 file changed, 91 insertions(+) > create mode 100644 arch/arm/mach-rockchip/rk3328/u-boot-tpl.lds > > diff --git a/arch/arm/mach-rockchip/rk3328/u-boot-tpl.lds b/arch/arm/mach-rockchip/rk3328/u-boot-tpl.lds > new file mode 100644 > index 0000000..3fd50fd > --- /dev/null > +++ b/arch/arm/mach-rockchip/rk3328/u-boot-tpl.lds > @@ -0,0 +1,91 @@ > +/* > + * (C) Copyright 2013 > + * David Feng <fenghua@phytium.com.cn> > + * > + * (C) Copyright 2002 > + * Gary Jennejohn, DENX Software Engineering, <garyj@denx.de> > + * > + * (C) Copyright 2010 > + * Texas Instruments, <www.ti.com> > + * Aneesh V <aneesh@ti.com> > + * > + * SPDX-License-Identifier: GPL-2.0+ > + */ > + > +OUTPUT_FORMAT("elf64-littleaarch64", "elf64-littleaarch64", "elf64-littleaarch64") > +OUTPUT_ARCH(aarch64) > +ENTRY(_start) > +SECTIONS > +{ > + . = 0x00000000; > + > + .text : { > + . = ALIGN(8); > + *(.__image_copy_start) > + CPUDIR/start.o (.text*) > + *(.text*) > + } > + > + .rodata : { > + . = ALIGN(8); > + *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) > + } > + > + .data : { > + . = ALIGN(8); > + *(.data*) > + } > + > + .u_boot_list : { > + . = ALIGN(8); > + KEEP(*(SORT(.u_boot_list*))); > + } > + > + .image_copy_end : { > + . = ALIGN(8); > + *(.__image_copy_end) > + } > + > + .end : { > + . = ALIGN(8); > + *(.__end) > + } > + > + _image_binary_end = .; > + > + .bss_start (NOLOAD) : { > + . = ALIGN(8); > + KEEP(*(.__bss_start)); > + } > + > + .bss (NOLOAD) : { > + *(.bss*) > + . = ALIGN(8); > + } > + > + .bss_end (NOLOAD) : { > + KEEP(*(.__bss_end)); > + } > + > + /DISCARD/ : { *(.dynsym) } > + /DISCARD/ : { *(.dynstr*) } > + /DISCARD/ : { *(.dynamic*) } > + /DISCARD/ : { *(.plt*) } > + /DISCARD/ : { *(.interp*) } > + /DISCARD/ : { *(.gnu*) } > +} > + > +#if defined(CONFIG_TPL_MAX_SIZE) > +ASSERT(__image_copy_end - __image_copy_start < (CONFIG_TPL_MAX_SIZE), \ > + "TPL image too big"); > +#endif > + > +#if defined(CONFIG_TPL_BSS_MAX_SIZE) > +ASSERT(__bss_end - __bss_start < (CONFIG_TPL_BSS_MAX_SIZE), \ > + "TPL image BSS too big"); > +#endif > + > +#if defined(CONFIG_TPL_MAX_FOOTPRINT) > +ASSERT(__bss_end - _start < (CONFIG_TPL_MAX_FOOTPRINT), \ > + "TPL image plus BSS too big"); > +#endif > Could this simply be merged with rk3368/boot-tpl.lds and could we use a common file for both (and any future devices that follow the same boot model)?
diff --git a/arch/arm/mach-rockchip/rk3328/u-boot-tpl.lds b/arch/arm/mach-rockchip/rk3328/u-boot-tpl.lds new file mode 100644 index 0000000..3fd50fd --- /dev/null +++ b/arch/arm/mach-rockchip/rk3328/u-boot-tpl.lds @@ -0,0 +1,91 @@ +/* + * (C) Copyright 2013 + * David Feng <fenghua@phytium.com.cn> + * + * (C) Copyright 2002 + * Gary Jennejohn, DENX Software Engineering, <garyj@denx.de> + * + * (C) Copyright 2010 + * Texas Instruments, <www.ti.com> + * Aneesh V <aneesh@ti.com> + * + * SPDX-License-Identifier: GPL-2.0+ + */ + +OUTPUT_FORMAT("elf64-littleaarch64", "elf64-littleaarch64", "elf64-littleaarch64") +OUTPUT_ARCH(aarch64) +ENTRY(_start) +SECTIONS +{ + . = 0x00000000; + + .text : { + . = ALIGN(8); + *(.__image_copy_start) + CPUDIR/start.o (.text*) + *(.text*) + } + + .rodata : { + . = ALIGN(8); + *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) + } + + .data : { + . = ALIGN(8); + *(.data*) + } + + .u_boot_list : { + . = ALIGN(8); + KEEP(*(SORT(.u_boot_list*))); + } + + .image_copy_end : { + . = ALIGN(8); + *(.__image_copy_end) + } + + .end : { + . = ALIGN(8); + *(.__end) + } + + _image_binary_end = .; + + .bss_start (NOLOAD) : { + . = ALIGN(8); + KEEP(*(.__bss_start)); + } + + .bss (NOLOAD) : { + *(.bss*) + . = ALIGN(8); + } + + .bss_end (NOLOAD) : { + KEEP(*(.__bss_end)); + } + + /DISCARD/ : { *(.dynsym) } + /DISCARD/ : { *(.dynstr*) } + /DISCARD/ : { *(.dynamic*) } + /DISCARD/ : { *(.plt*) } + /DISCARD/ : { *(.interp*) } + /DISCARD/ : { *(.gnu*) } +} + +#if defined(CONFIG_TPL_MAX_SIZE) +ASSERT(__image_copy_end - __image_copy_start < (CONFIG_TPL_MAX_SIZE), \ + "TPL image too big"); +#endif + +#if defined(CONFIG_TPL_BSS_MAX_SIZE) +ASSERT(__bss_end - __bss_start < (CONFIG_TPL_BSS_MAX_SIZE), \ + "TPL image BSS too big"); +#endif + +#if defined(CONFIG_TPL_MAX_FOOTPRINT) +ASSERT(__bss_end - _start < (CONFIG_TPL_MAX_FOOTPRINT), \ + "TPL image plus BSS too big"); +#endif
Rockchip TPL is not going to use both sram and dram, so we will use a separate link file. Signed-off-by: Kever Yang <kever.yang@rock-chips.com> --- arch/arm/mach-rockchip/rk3328/u-boot-tpl.lds | 91 ++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 arch/arm/mach-rockchip/rk3328/u-boot-tpl.lds