1*91f16700Schasinglulu# 2*91f16700Schasinglulu# Copyright (c) 2021-2023, Arm Limited and Contributors. All rights reserved. 3*91f16700Schasinglulu# 4*91f16700Schasinglulu# SPDX-License-Identifier: BSD-3-Clause 5*91f16700Schasinglulu# 6*91f16700Schasinglulu 7*91f16700Schasinglulu# Making sure the corstone1000 platform type is specified 8*91f16700Schasingluluifeq ($(filter ${TARGET_PLATFORM}, fpga fvp),) 9*91f16700Schasinglulu $(error TARGET_PLATFORM must be fpga or fvp) 10*91f16700Schasingluluendif 11*91f16700Schasinglulu 12*91f16700SchasingluluCORSTONE1000_CPU_LIBS +=lib/cpus/aarch64/cortex_a35.S 13*91f16700Schasinglulu 14*91f16700SchasingluluPLAT_INCLUDES := -Iplat/arm/board/corstone1000/common/include \ 15*91f16700Schasinglulu -Iplat/arm/board/corstone1000/include \ 16*91f16700Schasinglulu -Iinclude/plat/arm/common \ 17*91f16700Schasinglulu -Iinclude/plat/arm/css/common/aarch64 18*91f16700Schasinglulu 19*91f16700Schasinglulu 20*91f16700SchasingluluCORSTONE1000_FW_NVCTR_VAL := 255 21*91f16700SchasingluluTFW_NVCTR_VAL := ${CORSTONE1000_FW_NVCTR_VAL} 22*91f16700SchasingluluNTFW_NVCTR_VAL := ${CORSTONE1000_FW_NVCTR_VAL} 23*91f16700Schasinglulu 24*91f16700Schasingluluoverride NEED_BL1 := no 25*91f16700Schasinglulu 26*91f16700Schasingluluoverride NEED_BL2 := yes 27*91f16700SchasingluluFIP_BL2_ARGS := tb-fw 28*91f16700Schasinglulu 29*91f16700Schasingluluoverride NEED_BL2U := no 30*91f16700Schasingluluoverride NEED_BL31 := yes 31*91f16700SchasingluluNEED_BL32 := yes 32*91f16700Schasingluluoverride NEED_BL33 := yes 33*91f16700Schasinglulu 34*91f16700Schasinglulu# Include GICv2 driver files 35*91f16700Schasingluluinclude drivers/arm/gic/v2/gicv2.mk 36*91f16700Schasinglulu 37*91f16700SchasingluluCORSTONE1000_GIC_SOURCES := ${GICV2_SOURCES} \ 38*91f16700Schasinglulu plat/common/plat_gicv2.c \ 39*91f16700Schasinglulu plat/arm/common/arm_gicv2.c 40*91f16700Schasinglulu 41*91f16700Schasinglulu 42*91f16700SchasingluluBL2_SOURCES += plat/arm/board/corstone1000/common/corstone1000_security.c \ 43*91f16700Schasinglulu plat/arm/board/corstone1000/common/corstone1000_err.c \ 44*91f16700Schasinglulu plat/arm/board/corstone1000/common/corstone1000_trusted_boot.c \ 45*91f16700Schasinglulu lib/utils/mem_region.c \ 46*91f16700Schasinglulu lib/cpus/aarch64/cpu_helpers.S \ 47*91f16700Schasinglulu plat/arm/board/corstone1000/common/corstone1000_helpers.S \ 48*91f16700Schasinglulu plat/arm/board/corstone1000/common/corstone1000_plat.c \ 49*91f16700Schasinglulu plat/arm/board/corstone1000/common/corstone1000_bl2_mem_params_desc.c \ 50*91f16700Schasinglulu ${CORSTONE1000_CPU_LIBS} \ 51*91f16700Schasinglulu 52*91f16700Schasinglulu 53*91f16700SchasingluluBL31_SOURCES += drivers/cfi/v2m/v2m_flash.c \ 54*91f16700Schasinglulu lib/utils/mem_region.c \ 55*91f16700Schasinglulu plat/arm/board/corstone1000/common/corstone1000_helpers.S \ 56*91f16700Schasinglulu plat/arm/board/corstone1000/common/corstone1000_topology.c \ 57*91f16700Schasinglulu plat/arm/board/corstone1000/common/corstone1000_security.c \ 58*91f16700Schasinglulu plat/arm/board/corstone1000/common/corstone1000_plat.c \ 59*91f16700Schasinglulu plat/arm/board/corstone1000/common/corstone1000_pm.c \ 60*91f16700Schasinglulu plat/arm/board/corstone1000/common/corstone1000_bl31_setup.c \ 61*91f16700Schasinglulu ${CORSTONE1000_CPU_LIBS} \ 62*91f16700Schasinglulu ${CORSTONE1000_GIC_SOURCES} 63*91f16700Schasinglulu 64*91f16700Schasingluluifneq (${ENABLE_STACK_PROTECTOR},0) 65*91f16700Schasinglulu ifneq (${ENABLE_STACK_PROTECTOR},none) 66*91f16700Schasinglulu CORSTONE1000_SECURITY_SOURCES := plat/arm/board/corstone1000/common/corstone1000_stack_protector.c 67*91f16700Schasinglulu BL2_SOURCES += ${CORSTONE1000_SECURITY_SOURCES} 68*91f16700Schasinglulu BL31_SOURCES += ${CORSTONE1000_SECURITY_SOURCES} 69*91f16700Schasinglulu endif 70*91f16700Schasingluluendif 71*91f16700Schasinglulu 72*91f16700SchasingluluFDT_SOURCES += plat/arm/board/corstone1000/common/fdts/corstone1000_spmc_manifest.dts 73*91f16700SchasingluluCORSTONE1000_TOS_FW_CONFIG := ${BUILD_PLAT}/fdts/corstone1000_spmc_manifest.dtb 74*91f16700Schasinglulu 75*91f16700Schasinglulu# Add the SPMC manifest to FIP and specify the same to certtool 76*91f16700Schasinglulu$(eval $(call TOOL_ADD_PAYLOAD,${CORSTONE1000_TOS_FW_CONFIG},--tos-fw-config,${CORSTONE1000_TOS_FW_CONFIG})) 77*91f16700Schasinglulu 78*91f16700Schasinglulu# Adding TARGET_PLATFORM as a GCC define (-D option) 79*91f16700Schasinglulu$(eval $(call add_define,TARGET_PLATFORM_$(call uppercase,${TARGET_PLATFORM}))) 80*91f16700Schasinglulu 81*91f16700Schasinglulu# Adding CORSTONE1000_FW_NVCTR_VAL as a GCC define (-D option) 82*91f16700Schasinglulu$(eval $(call add_define,CORSTONE1000_FW_NVCTR_VAL)) 83*91f16700Schasinglulu 84*91f16700Schasingluluinclude plat/arm/common/arm_common.mk 85*91f16700Schasingluluinclude plat/arm/board/common/board_common.mk 86