1*91f16700Schasinglulu# 2*91f16700Schasinglulu# Copyright (c) 2019-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 corstone700 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*91f16700SchasingluluCORSTONE700_CPU_LIBS += lib/cpus/aarch32/cortex_a32.S 13*91f16700Schasinglulu 14*91f16700SchasingluluBL32_SOURCES += plat/arm/common/aarch32/arm_helpers.S \ 15*91f16700Schasinglulu plat/arm/common/arm_console.c \ 16*91f16700Schasinglulu plat/arm/common/arm_common.c \ 17*91f16700Schasinglulu lib/xlat_tables/aarch32/xlat_tables.c \ 18*91f16700Schasinglulu lib/xlat_tables/xlat_tables_common.c \ 19*91f16700Schasinglulu ${CORSTONE700_CPU_LIBS} \ 20*91f16700Schasinglulu plat/arm/board/corstone700/common/drivers/mhu/corstone700_mhu.c 21*91f16700Schasinglulu 22*91f16700SchasingluluPLAT_INCLUDES := -Iplat/arm/board/corstone700/common/include \ 23*91f16700Schasinglulu -Iinclude/plat/arm/common \ 24*91f16700Schasinglulu -Iplat/arm/board/corstone700/common/drivers/mhu 25*91f16700Schasinglulu 26*91f16700SchasingluluNEED_BL32 := yes 27*91f16700Schasinglulu 28*91f16700Schasingluluifeq (${AARCH32_SP},none) 29*91f16700Schasinglulu $(error Variable AARCH32_SP has to be set for AArch32) 30*91f16700Schasingluluendif 31*91f16700Schasinglulu 32*91f16700Schasinglulu# Include GICv2 driver files 33*91f16700Schasingluluinclude drivers/arm/gic/v2/gicv2.mk 34*91f16700Schasinglulu 35*91f16700SchasingluluCORSTONE700_GIC_SOURCES := ${GICV2_SOURCES} \ 36*91f16700Schasinglulu plat/common/plat_gicv2.c \ 37*91f16700Schasinglulu plat/arm/common/arm_gicv2.c 38*91f16700Schasinglulu 39*91f16700Schasinglulu# BL1/BL2 Image not a part of the capsule Image for Corstone700 40*91f16700Schasingluluoverride NEED_BL1 := no 41*91f16700Schasingluluoverride NEED_BL2 := no 42*91f16700Schasingluluoverride NEED_BL2U := no 43*91f16700Schasingluluoverride NEED_BL33 := yes 44*91f16700Schasinglulu 45*91f16700Schasinglulu#TFA for Corstone700 starts from BL32 46*91f16700Schasingluluoverride RESET_TO_SP_MIN := 1 47*91f16700Schasinglulu 48*91f16700Schasinglulu#Device tree 49*91f16700SchasingluluCORSTONE700_HW_CONFIG_DTS := fdts/corstone700_${TARGET_PLATFORM}.dts 50*91f16700SchasingluluCORSTONE700_HW_CONFIG := ${BUILD_PLAT}/fdts/corstone700_${TARGET_PLATFORM}.dtb 51*91f16700SchasingluluFDT_SOURCES += ${CORSTONE700_HW_CONFIG_DTS} 52*91f16700Schasinglulu$(eval CORSTONE700_HW_CONFIG := ${BUILD_PLAT}/$(patsubst %.dts,%.dtb,$(CORSTONE700_HW_CONFIG_DTS))) 53*91f16700Schasinglulu 54*91f16700Schasinglulu# Add the HW_CONFIG to FIP and specify the same to certtool 55*91f16700Schasinglulu$(eval $(call TOOL_ADD_PAYLOAD,${CORSTONE700_HW_CONFIG},--hw-config,${CORSTONE700_HW_CONFIG})) 56*91f16700Schasinglulu 57*91f16700Schasinglulu# Check for Linux kernel as a BL33 image by default 58*91f16700Schasinglulu$(eval $(call add_define,ARM_LINUX_KERNEL_AS_BL33)) 59*91f16700Schasinglulu ifndef ARM_PRELOADED_DTB_BASE 60*91f16700Schasinglulu $(error "ARM_PRELOADED_DTB_BASE must be set if ARM_LINUX_KERNEL_AS_BL33 is used.") 61*91f16700Schasinglulu endif 62*91f16700Schasinglulu $(eval $(call add_define,ARM_PRELOADED_DTB_BASE)) 63*91f16700Schasinglulu 64*91f16700Schasinglulu# Adding TARGET_PLATFORM as a GCC define (-D option) 65*91f16700Schasinglulu$(eval $(call add_define,TARGET_PLATFORM_$(call uppercase,${TARGET_PLATFORM}))) 66*91f16700Schasinglulu 67*91f16700Schasingluluinclude plat/arm/board/common/board_common.mk 68