1dfd5bfb0SChandni Cherukuri# 28840711fSManoj Kumar# Copyright (c) 2020-2021, Arm Limited. All rights reserved. 3dfd5bfb0SChandni Cherukuri# 4dfd5bfb0SChandni Cherukuri# SPDX-License-Identifier: BSD-3-Clause 5dfd5bfb0SChandni Cherukuri# 6dfd5bfb0SChandni Cherukuri 78840711fSManoj Kumar# Making sure the Morello platform type is specified 88840711fSManoj Kumarifeq ($(filter ${TARGET_PLATFORM}, fvp soc),) 98840711fSManoj Kumar $(error TARGET_PLATFORM must be fvp or soc) 108840711fSManoj Kumarendif 118840711fSManoj Kumar 12dfd5bfb0SChandni CherukuriMORELLO_BASE := plat/arm/board/morello 13dfd5bfb0SChandni Cherukuri 14dfd5bfb0SChandni CherukuriINTERCONNECT_SOURCES := ${MORELLO_BASE}/morello_interconnect.c 15dfd5bfb0SChandni Cherukuri 16dfd5bfb0SChandni CherukuriPLAT_INCLUDES := -I${MORELLO_BASE}/include 17dfd5bfb0SChandni Cherukuri 18dfd5bfb0SChandni CherukuriMORELLO_CPU_SOURCES := lib/cpus/aarch64/rainier.S 19dfd5bfb0SChandni Cherukuri 206c07a927SChandni Cherukuri# GIC-600 configuration 216c07a927SChandni CherukuriGICV3_SUPPORT_GIC600 := 1 226c07a927SChandni Cherukuri 236c07a927SChandni Cherukuri# Include GICv3 driver files 246c07a927SChandni Cherukuriinclude drivers/arm/gic/v3/gicv3.mk 256c07a927SChandni Cherukuri 266c07a927SChandni CherukuriMORELLO_GIC_SOURCES := ${GICV3_SOURCES} \ 27dfd5bfb0SChandni Cherukuri plat/common/plat_gicv3.c \ 28dfd5bfb0SChandni Cherukuri plat/arm/common/arm_gicv3.c \ 29dfd5bfb0SChandni Cherukuri 30dfd5bfb0SChandni CherukuriPLAT_BL_COMMON_SOURCES := ${MORELLO_BASE}/morello_plat.c \ 31dfd5bfb0SChandni Cherukuri ${MORELLO_BASE}/aarch64/morello_helper.S 32dfd5bfb0SChandni Cherukuri 33*4af53977SManoj KumarBL1_SOURCES := ${MORELLO_CPU_SOURCES} \ 34*4af53977SManoj Kumar ${INTERCONNECT_SOURCES} \ 35*4af53977SManoj Kumar ${MORELLO_BASE}/morello_err.c \ 36*4af53977SManoj Kumar ${MORELLO_BASE}/morello_trusted_boot.c \ 37*4af53977SManoj Kumar ${MORELLO_BASE}/morello_bl1_setup.c \ 38*4af53977SManoj Kumar drivers/arm/sbsa/sbsa.c 39*4af53977SManoj Kumar 40*4af53977SManoj KumarBL2_SOURCES := ${MORELLO_BASE}/morello_security.c \ 41*4af53977SManoj Kumar ${MORELLO_BASE}/morello_err.c \ 42*4af53977SManoj Kumar ${MORELLO_BASE}/morello_trusted_boot.c \ 43*4af53977SManoj Kumar lib/utils/mem_region.c \ 44*4af53977SManoj Kumar ${MORELLO_BASE}/morello_bl2_setup.c 45*4af53977SManoj Kumar 46dfd5bfb0SChandni CherukuriBL31_SOURCES := ${MORELLO_CPU_SOURCES} \ 47dfd5bfb0SChandni Cherukuri ${INTERCONNECT_SOURCES} \ 48dfd5bfb0SChandni Cherukuri ${MORELLO_GIC_SOURCES} \ 49dfd5bfb0SChandni Cherukuri ${MORELLO_BASE}/morello_bl31_setup.c \ 50dfd5bfb0SChandni Cherukuri ${MORELLO_BASE}/morello_topology.c \ 51dfd5bfb0SChandni Cherukuri ${MORELLO_BASE}/morello_security.c \ 52dfd5bfb0SChandni Cherukuri drivers/arm/css/sds/sds.c 53dfd5bfb0SChandni Cherukuri 54*4af53977SManoj KumarFDT_SOURCES += fdts/morello-${TARGET_PLATFORM}.dts \ 55*4af53977SManoj Kumar ${MORELLO_BASE}/fdts/morello_fw_config.dts \ 56*4af53977SManoj Kumar ${MORELLO_BASE}/fdts/morello_tb_fw_config.dts \ 57*4af53977SManoj Kumar 58*4af53977SManoj KumarFW_CONFIG := ${BUILD_PLAT}/fdts/morello_fw_config.dtb 59*4af53977SManoj KumarTB_FW_CONFIG := ${BUILD_PLAT}/fdts/morello_tb_fw_config.dtb 60*4af53977SManoj Kumar 61*4af53977SManoj Kumar# Add the FW_CONFIG to FIP and specify the same to certtool 62*4af53977SManoj Kumar$(eval $(call TOOL_ADD_PAYLOAD,${FW_CONFIG},--fw-config,${FW_CONFIG})) 63*4af53977SManoj Kumar# Add the TB_FW_CONFIG to FIP and specify the same to certtool 64*4af53977SManoj Kumar$(eval $(call TOOL_ADD_PAYLOAD,${TB_FW_CONFIG},--tb-fw-config,${TB_FW_CONFIG})) 65*4af53977SManoj Kumar 66*4af53977SManoj KumarMORELLO_FW_NVCTR_VAL := 0 67*4af53977SManoj KumarTFW_NVCTR_VAL := ${MORELLO_FW_NVCTR_VAL} 68*4af53977SManoj KumarNTFW_NVCTR_VAL := ${MORELLO_FW_NVCTR_VAL} 69dfd5bfb0SChandni Cherukuri 70dfd5bfb0SChandni Cherukuri# TF-A not required to load the SCP Images 71dfd5bfb0SChandni Cherukurioverride CSS_LOAD_SCP_IMAGES := 0 72dfd5bfb0SChandni Cherukuri 73dfd5bfb0SChandni Cherukurioverride NEED_BL2U := no 74dfd5bfb0SChandni Cherukuri 75dfd5bfb0SChandni Cherukuri# 32 bit mode not supported 76dfd5bfb0SChandni Cherukurioverride CTX_INCLUDE_AARCH32_REGS := 0 77dfd5bfb0SChandni Cherukuri 78dfd5bfb0SChandni Cherukurioverride ARM_PLAT_MT := 1 79dfd5bfb0SChandni Cherukuri 80dfd5bfb0SChandni Cherukuri# Select SCMI/SDS drivers instead of SCPI/BOM driver for communicating with the 81dfd5bfb0SChandni Cherukuri# SCP during power management operations and for SCP RAM Firmware transfer. 82dfd5bfb0SChandni CherukuriCSS_USE_SCMI_SDS_DRIVER := 1 83dfd5bfb0SChandni Cherukuri 84dfd5bfb0SChandni Cherukuri# System coherency is managed in hardware 85dfd5bfb0SChandni CherukuriHW_ASSISTED_COHERENCY := 1 86dfd5bfb0SChandni Cherukuri 87dfd5bfb0SChandni Cherukuri# When building for systems with hardware-assisted coherency, there's no need to 88dfd5bfb0SChandni Cherukuri# use USE_COHERENT_MEM. Require that USE_COHERENT_MEM must be set to 0 too. 89dfd5bfb0SChandni CherukuriUSE_COHERENT_MEM := 0 90dfd5bfb0SChandni Cherukuri 918840711fSManoj Kumar# Add TARGET_PLATFORM to differentiate between Morello FVP and Morello SoC platform 928840711fSManoj Kumar$(eval $(call add_define,TARGET_PLATFORM_$(call uppercase,${TARGET_PLATFORM}))) 938840711fSManoj Kumar 94*4af53977SManoj Kumar# Add MORELLO_FW_NVCTR_VAL 95*4af53977SManoj Kumar$(eval $(call add_define,MORELLO_FW_NVCTR_VAL)) 96*4af53977SManoj Kumar 97dfd5bfb0SChandni Cherukuriinclude plat/arm/common/arm_common.mk 98dfd5bfb0SChandni Cherukuriinclude plat/arm/css/common/css_common.mk 99dfd5bfb0SChandni Cherukuriinclude plat/arm/board/common/board_common.mk 100