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