xref: /rk3399_ARM-atf/bl2/bl2.mk (revision b5deac9a5cf05a421cd1b72c4a369efe471b53b6)
14f6ad66aSAchin Gupta#
2b62673c6SBoyan Karatotev# Copyright (c) 2013-2025, Arm Limited and Contributors. All rights reserved.
34f6ad66aSAchin Gupta#
482cb2c1aSdp-arm# SPDX-License-Identifier: BSD-3-Clause
54f6ad66aSAchin Gupta#
64f6ad66aSAchin Gupta
79d93fc2fSAntonio Nino DiazBL2_SOURCES		+=	bl2/bl2_image_load_v2.c			\
89d93fc2fSAntonio Nino Diaz				bl2/bl2_main.c				\
9d48c12e9SYatharth Kochar				bl2/${ARCH}/bl2_arch_setup.c		\
1075311203Sdp-arm				lib/locks/exclusive/${ARCH}/spinlock.S	\
1176d26733SRoberto Vargas				plat/common/${ARCH}/platform_up_stack.S	\
12180c4bc2SRoberto Vargas				${MBEDTLS_SOURCES}
13d48c12e9SYatharth Kochar
14d48c12e9SYatharth Kocharifeq (${ARCH},aarch64)
15d48c12e9SYatharth KocharBL2_SOURCES		+=	common/aarch64/early_exceptions.S
16d48c12e9SYatharth Kocharendif
174f6ad66aSAchin Gupta
186c09af9fSZelalem Awekeifeq (${ENABLE_RME},1)
19f19dc624Sjohpow01include lib/gpt_rme/gpt_rme.mk
201839012dSZelalem Aweke
2104cf04c7SBoyan KaratotevBL2_SOURCES		+=	${GPT_LIB_SRCS}
2204cf04c7SBoyan Karatotevendif
236c09af9fSZelalem Aweke
2404cf04c7SBoyan Karatotevifeq (${BL2_RUNS_AT_EL3},1)
2504cf04c7SBoyan KaratotevBL2_SOURCES		+=      bl2/${ARCH}/bl2_el3_entrypoint.S	\
2604cf04c7SBoyan Karatotev				bl2/${ARCH}/bl2_el3_exceptions.S	\
2704cf04c7SBoyan Karatotev				bl2/${ARCH}/bl2_run_next_image.S
2804cf04c7SBoyan Karatotev
2904cf04c7SBoyan KaratotevBL2_DEFAULT_LINKER_SCRIPT_SOURCE := bl2/bl2_el3.ld.S
3004cf04c7SBoyan Karatotevelse
316c09af9fSZelalem Aweke# Normal operation, no RME, no BL2 at EL3
32b1d27b48SRoberto VargasBL2_SOURCES		+=	bl2/${ARCH}/bl2_entrypoint.S
3382274936SChris KayBL2_DEFAULT_LINKER_SCRIPT_SOURCE := bl2/bl2.ld.S
3404cf04c7SBoyan Karatotevendif
35b1d27b48SRoberto Vargas
3604cf04c7SBoyan Karatotevifeq (${RESET_TO_BL2},1)
376c09af9fSZelalem Aweke# BL2 at EL3, no RME
3804cf04c7SBoyan KaratotevBL2_SOURCES		+=	lib/cpus/${ARCH}/cpu_helpers.S
39b1d27b48SRoberto Vargasendif
40ed8f06ddSthagon01-arm
41ed8f06ddSthagon01-armifeq (${ENABLE_PMF},1)
42ed8f06ddSthagon01-armBL2_SOURCES		+=	lib/pmf/pmf_main.c
43ed8f06ddSthagon01-armendif
44*6e2fe623SLauren Wehrmeister
45*6e2fe623SLauren Wehrmeister# CRYPTO_SUPPORT
46*6e2fe623SLauren WehrmeisterNEED_AUTH := $(if $(filter 1,$(TRUSTED_BOARD_BOOT)),1,)
47*6e2fe623SLauren WehrmeisterNEED_HASH := $(if $(filter 1,$(MEASURED_BOOT) $(DRTM_SUPPORT)),1,)
48*6e2fe623SLauren Wehrmeister$(eval $(call set_crypto_support,NEED_AUTH,NEED_HASH))
49*6e2fe623SLauren Wehrmeister
50*6e2fe623SLauren Wehrmeister# BL2_CPPFLAGS
51*6e2fe623SLauren Wehrmeister$(eval BL2_CPPFLAGS += $(call make_defines, \
52*6e2fe623SLauren Wehrmeister    $(sort \
53*6e2fe623SLauren Wehrmeister        CRYPTO_SUPPORT \
54*6e2fe623SLauren Wehrmeister)))
55*6e2fe623SLauren Wehrmeister
56*6e2fe623SLauren Wehrmeister# Numeric_Flags
57*6e2fe623SLauren Wehrmeister$(eval $(call assert_numerics,\
58*6e2fe623SLauren Wehrmeister    $(sort \
59*6e2fe623SLauren Wehrmeister	CRYPTO_SUPPORT \
60*6e2fe623SLauren Wehrmeister)))
61