mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-17 18:14:24 +00:00

To be able to boot, STM32MPU platforms require the BL2 binary (together with its DT) to be preceded with an STM32 header. Add the required files and macro to properly generate this header. Signed-off-by: Yann Gautier <yann.gautier@st.com> Change-Id: I675de2c5cb733fe9d9e9baf76a941741a06dfac8
71 lines
1.6 KiB
ArmAsm
71 lines
1.6 KiB
ArmAsm
/*
|
|
* Copyright (c) 2023, STMicroelectronics - All Rights Reserved
|
|
*
|
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
*/
|
|
|
|
#ifndef STM32MP2_LD_S
|
|
#define STM32MP2_LD_S
|
|
|
|
#include <lib/xlat_tables/xlat_tables_defs.h>
|
|
#include <platform_def.h>
|
|
|
|
OUTPUT_FORMAT(PLATFORM_LINKER_FORMAT)
|
|
OUTPUT_ARCH(PLATFORM_LINKER_ARCH)
|
|
|
|
ENTRY(__BL2_IMAGE_START__)
|
|
|
|
MEMORY {
|
|
HEADER (rw) : ORIGIN = 0x00000000, LENGTH = STM32MP_HEADER_RESERVED_SIZE
|
|
RAM (rwx) : ORIGIN = STM32MP_BINARY_BASE, LENGTH = STM32MP_BINARY_SIZE
|
|
}
|
|
|
|
SECTIONS
|
|
{
|
|
/*
|
|
* TF mapping must conform to ROM code specification.
|
|
*/
|
|
.header : {
|
|
__HEADER_START__ = .;
|
|
KEEP(*(.header))
|
|
. = ALIGN(4);
|
|
__HEADER_END__ = .;
|
|
} >HEADER
|
|
|
|
. = STM32MP_BINARY_BASE;
|
|
.data . : {
|
|
. = ALIGN(PAGE_SIZE);
|
|
__DATA_START__ = .;
|
|
*(.data*)
|
|
|
|
/*
|
|
* dtb.
|
|
* The strongest and only alignment contraint is MMU 4K page.
|
|
* Indeed as images below will be removed, 4K pages will be re-used.
|
|
*/
|
|
. = ( STM32MP_BL2_DTB_BASE - STM32MP_BINARY_BASE );
|
|
__DTB_IMAGE_START__ = .;
|
|
*(.dtb_image*)
|
|
__DTB_IMAGE_END__ = .;
|
|
|
|
/*
|
|
* bl2.
|
|
* The strongest and only alignment contraint is MMU 4K page.
|
|
* Indeed as images below will be removed, 4K pages will be re-used.
|
|
*/
|
|
#if SEPARATE_CODE_AND_RODATA
|
|
. = ( STM32MP_BL2_RO_BASE - STM32MP_BINARY_BASE );
|
|
#else
|
|
. = ( STM32MP_BL2_BASE - STM32MP_BINARY_BASE );
|
|
#endif
|
|
__BL2_IMAGE_START__ = .;
|
|
*(.bl2_image*)
|
|
__BL2_IMAGE_END__ = .;
|
|
|
|
__DATA_END__ = .;
|
|
} >RAM
|
|
|
|
__TF_END__ = .;
|
|
|
|
}
|
|
#endif /* STM32MP2_LD_S */
|