mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-08-13 16:07:04 +02:00
Provide six initcall levels for drivers/modules initialize HW controllers or runtime arguments during cold boot. The initcall level cold boot execution order: -MTK_EARLY_PLAT_INIT Call before MMU enabled. -MTK_ARCH_INIT MMU Enabled, arch related init(GiC init, interrupt type registration). -MTK_PLAT_SETUP_0_INIT MTK driver init level 0. -MTK_PLAT_SETUP_1_INIT MTK driver init level 1. -MTK_PLAT_RUNTIME_INIT MTK driver init. After this initcall, TF-A handovers to MTK 2nd bootloader. -MTK_PLAT_BL33_DEFER_INIT MTK 2nd bootloader traps to TF-A before handover to rich OS. This initcall executed in the trap handler(boot_to_kernel). Signed-off-by: Leon Chen <leon.chen@mediatek.com> Change-Id: Icd7fe95372441db73c975ccb6ce77a6c529df1cc
31 lines
739 B
SourcePawn
31 lines
739 B
SourcePawn
/*
|
|
* Copyright (c) 2022, MediaTek Inc. All rights reserved.
|
|
*
|
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
*/
|
|
|
|
#ifndef PLAT_LD_RODATA_INC
|
|
#define PLAT_LD_RODATA_INC
|
|
|
|
#include <lib/mtk_init/mtk_init.h>
|
|
. = ALIGN(32);
|
|
INIT_CALL_TABLE(EXPAND_AS_LINK_SECTION);
|
|
__MTK_PLAT_INITCALL_END__ = .;
|
|
. = ALIGN(32);
|
|
__MTK_MMAP_POINTER_POOL_START__ = .;
|
|
KEEP(*(.mtk_mmap_pool))
|
|
__MTK_MMAP_POINTER_POOL_END_UNALIGNED__ = .;
|
|
. = ALIGN(8);
|
|
__MTK_MMAP_POOL_START__ = .;
|
|
KEEP(*(.mtk_mmap_lists))
|
|
__MTK_MMAP_POOL_END_UNALIGNED__ = .;
|
|
. = ALIGN(32);
|
|
__MTK_SMC_POOL_START__ = .;
|
|
KEEP(*(.mtk_smc_descriptor_pool))
|
|
__MTK_SMC_POOL_END_UNALIGNED__ = .;
|
|
. = ALIGN(8);
|
|
#include <vendor_pubsub_events.h>
|
|
*(mtk_plat_ro)
|
|
|
|
#endif /* PLAT_LD_RODATA_INC */
|