1# 2# Copyright (c) 2021, ARM Limited and Contributors. All rights reserved. 3# 4# SPDX-License-Identifier: BSD-3-Clause 5# 6 7# Only aarch64 ARCH supported for FVP_R 8ARCH := aarch64 9 10# Override to exclude BL2, BL2U, BL31, and BL33 for FVP_R 11override NEED_BL2 := no 12override NEED_BL2U := no 13override NEED_BL31 := no 14NEED_BL32 := no 15 16override CTX_INCLUDE_AARCH32_REGS := 0 17 18# Use MPU-based memory management: 19XLAT_MPU_LIB_V1 := 1 20 21# FVP R will not have more than 2 clusters so just use CCI interconnect 22FVP_R_INTERCONNECT_SOURCES := drivers/arm/cci/cci.c 23 24 25include plat/arm/board/common/board_common.mk 26include plat/arm/common/arm_common.mk 27 28PLAT_INCLUDES := -Iplat/arm/board/fvp_r/include 29 30FVP_R_BL_COMMON_SOURCES := plat/arm/board/fvp_r/fvp_r_common.c \ 31 plat/arm/board/fvp_r/fvp_r_context_mgmt.c \ 32 plat/arm/board/fvp_r/fvp_r_debug.S \ 33 plat/arm/board/fvp_r/fvp_r_err.c \ 34 plat/arm/board/fvp_r/fvp_r_helpers.S \ 35 plat/arm/board/fvp_r/fvp_r_misc_helpers.S 36 37FVP_R_BL1_SOURCES := plat/arm/board/fvp_r/fvp_r_bl1_arch_setup.c \ 38 plat/arm/board/fvp_r/fvp_r_bl1_setup.c \ 39 plat/arm/board/fvp_r/fvp_r_io_storage.c \ 40 plat/arm/board/fvp_r/fvp_r_bl1_entrypoint.S \ 41 plat/arm/board/fvp_r/fvp_r_bl1_exceptions.S \ 42 plat/arm/board/fvp_r/fvp_r_bl1_main.c 43 44FVP_R_CPU_LIBS := lib/cpus/${ARCH}/aem_generic.S 45 46FVP_R_DYNC_CFG_SOURCES := common/fdt_wrappers.c \ 47 plat/arm/common/arm_dyn_cfg.c 48 49ifeq (${TRUSTED_BOARD_BOOT},1) 50FVP_R_AUTH_SOURCES := drivers/auth/auth_mod.c \ 51 drivers/auth/crypto_mod.c \ 52 drivers/auth/img_parser_mod.c \ 53 lib/fconf/fconf_tbbr_getter.c \ 54 plat/common/tbbr/plat_tbbr.c \ 55 drivers/auth/tbbr/tbbr_cot_bl1_r64.c \ 56 drivers/auth/tbbr/tbbr_cot_common.c \ 57 plat/arm/board/common/board_arm_trusted_boot.c \ 58 plat/arm/board/common/rotpk/arm_dev_rotpk.S \ 59 plat/arm/board/fvp_r/fvp_r_trusted_boot.c 60 61FVP_R_BL1_SOURCES += ${MBEDTLS_SOURCES} \ 62 ${FVP_R_AUTH_SOURCES} 63endif 64 65ifeq (${USE_SP804_TIMER},1) 66FVP_R_BL_COMMON_SOURCES += drivers/arm/sp804/sp804_delay_timer.c 67else 68FVP_R_BL_COMMON_SOURCES += drivers/delay_timer/generic_delay_timer.c 69endif 70 71# Enable Activity Monitor Unit extensions by default 72ENABLE_AMU := 1 73 74ifneq (${ENABLE_STACK_PROTECTOR},0) 75FVP_R_BL_COMMON_SOURCES += plat/arm/board/fvp_r/fvp_r_stack_protector.c 76endif 77 78override BL1_SOURCES := drivers/arm/sp805/sp805.c \ 79 drivers/cfi/v2m/v2m_flash.c \ 80 drivers/delay_timer/delay_timer.c \ 81 drivers/io/io_fip.c \ 82 drivers/io/io_memmap.c \ 83 drivers/io/io_storage.c \ 84 drivers/io/io_semihosting.c \ 85 lib/cpus/aarch64/cpu_helpers.S \ 86 lib/fconf/fconf_dyn_cfg_getter.c \ 87 lib/semihosting/semihosting.c \ 88 lib/semihosting/${ARCH}/semihosting_call.S \ 89 plat/arm/common/arm_bl1_setup.c \ 90 plat/arm/common/arm_err.c \ 91 plat/arm/common/arm_io_storage.c \ 92 plat/arm/common/fconf/arm_fconf_io.c \ 93 plat/common/plat_bl1_common.c \ 94 plat/common/aarch64/platform_up_stack.S \ 95 ${FVP_R_BL1_SOURCES} \ 96 ${FVP_R_BL_COMMON_SOURCES} \ 97 ${FVP_R_CPU_LIBS} \ 98 ${FVP_R_DYNC_CFG_SOURCES} \ 99 ${FVP_R_INTERCONNECT_SOURCES} 100