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 334af53977SManoj KumarBL1_SOURCES := ${MORELLO_CPU_SOURCES} \ 344af53977SManoj Kumar ${INTERCONNECT_SOURCES} \ 354af53977SManoj Kumar ${MORELLO_BASE}/morello_err.c \ 364af53977SManoj Kumar ${MORELLO_BASE}/morello_trusted_boot.c \ 374af53977SManoj Kumar ${MORELLO_BASE}/morello_bl1_setup.c \ 384af53977SManoj Kumar drivers/arm/sbsa/sbsa.c 394af53977SManoj Kumar 404af53977SManoj KumarBL2_SOURCES := ${MORELLO_BASE}/morello_security.c \ 414af53977SManoj Kumar ${MORELLO_BASE}/morello_err.c \ 424af53977SManoj Kumar ${MORELLO_BASE}/morello_trusted_boot.c \ 436ad6465eSsah01 ${MORELLO_BASE}/morello_bl2_setup.c \ 446ad6465eSsah01 ${MORELLO_BASE}/morello_image_load.c \ 454af53977SManoj Kumar lib/utils/mem_region.c \ 466ad6465eSsah01 drivers/arm/css/sds/sds.c 474af53977SManoj Kumar 48dfd5bfb0SChandni CherukuriBL31_SOURCES := ${MORELLO_CPU_SOURCES} \ 49dfd5bfb0SChandni Cherukuri ${INTERCONNECT_SOURCES} \ 50dfd5bfb0SChandni Cherukuri ${MORELLO_GIC_SOURCES} \ 51dfd5bfb0SChandni Cherukuri ${MORELLO_BASE}/morello_bl31_setup.c \ 52dfd5bfb0SChandni Cherukuri ${MORELLO_BASE}/morello_topology.c \ 53dfd5bfb0SChandni Cherukuri ${MORELLO_BASE}/morello_security.c \ 54dfd5bfb0SChandni Cherukuri drivers/arm/css/sds/sds.c 55dfd5bfb0SChandni Cherukuri 564af53977SManoj KumarFDT_SOURCES += fdts/morello-${TARGET_PLATFORM}.dts \ 574af53977SManoj Kumar ${MORELLO_BASE}/fdts/morello_fw_config.dts \ 584af53977SManoj Kumar ${MORELLO_BASE}/fdts/morello_tb_fw_config.dts \ 596ad6465eSsah01 ${MORELLO_BASE}/fdts/morello_nt_fw_config.dts 604af53977SManoj Kumar 614af53977SManoj KumarFW_CONFIG := ${BUILD_PLAT}/fdts/morello_fw_config.dtb 624af53977SManoj KumarTB_FW_CONFIG := ${BUILD_PLAT}/fdts/morello_tb_fw_config.dtb 636ad6465eSsah01NT_FW_CONFIG := ${BUILD_PLAT}/fdts/morello_nt_fw_config.dtb 644af53977SManoj Kumar 654af53977SManoj Kumar# Add the FW_CONFIG to FIP and specify the same to certtool 664af53977SManoj Kumar$(eval $(call TOOL_ADD_PAYLOAD,${FW_CONFIG},--fw-config,${FW_CONFIG})) 674af53977SManoj Kumar# Add the TB_FW_CONFIG to FIP and specify the same to certtool 684af53977SManoj Kumar$(eval $(call TOOL_ADD_PAYLOAD,${TB_FW_CONFIG},--tb-fw-config,${TB_FW_CONFIG})) 696ad6465eSsah01# Add the NT_FW_CONFIG to FIP and specify the same to certtool 706ad6465eSsah01$(eval $(call TOOL_ADD_PAYLOAD,${NT_FW_CONFIG},--nt-fw-config,${NT_FW_CONFIG})) 714af53977SManoj Kumar 724af53977SManoj KumarMORELLO_FW_NVCTR_VAL := 0 734af53977SManoj KumarTFW_NVCTR_VAL := ${MORELLO_FW_NVCTR_VAL} 744af53977SManoj KumarNTFW_NVCTR_VAL := ${MORELLO_FW_NVCTR_VAL} 75dfd5bfb0SChandni Cherukuri 76dfd5bfb0SChandni Cherukuri# TF-A not required to load the SCP Images 77dfd5bfb0SChandni Cherukurioverride CSS_LOAD_SCP_IMAGES := 0 78dfd5bfb0SChandni Cherukuri 79dfd5bfb0SChandni Cherukurioverride NEED_BL2U := no 80dfd5bfb0SChandni Cherukuri 81dfd5bfb0SChandni Cherukuri# 32 bit mode not supported 82dfd5bfb0SChandni Cherukurioverride CTX_INCLUDE_AARCH32_REGS := 0 83dfd5bfb0SChandni Cherukuri 84dfd5bfb0SChandni Cherukurioverride ARM_PLAT_MT := 1 85dfd5bfb0SChandni Cherukuri 86*f94c84baSManoj Kumar# Errata workarounds: 87*f94c84baSManoj KumarERRATA_N1_1868343 := 1 88*f94c84baSManoj Kumar 89dfd5bfb0SChandni Cherukuri# Select SCMI/SDS drivers instead of SCPI/BOM driver for communicating with the 90dfd5bfb0SChandni Cherukuri# SCP during power management operations and for SCP RAM Firmware transfer. 91dfd5bfb0SChandni CherukuriCSS_USE_SCMI_SDS_DRIVER := 1 92dfd5bfb0SChandni Cherukuri 93dfd5bfb0SChandni Cherukuri# System coherency is managed in hardware 94dfd5bfb0SChandni CherukuriHW_ASSISTED_COHERENCY := 1 95dfd5bfb0SChandni Cherukuri 96dfd5bfb0SChandni Cherukuri# When building for systems with hardware-assisted coherency, there's no need to 97dfd5bfb0SChandni Cherukuri# use USE_COHERENT_MEM. Require that USE_COHERENT_MEM must be set to 0 too. 98dfd5bfb0SChandni CherukuriUSE_COHERENT_MEM := 0 99dfd5bfb0SChandni Cherukuri 1008840711fSManoj Kumar# Add TARGET_PLATFORM to differentiate between Morello FVP and Morello SoC platform 1018840711fSManoj Kumar$(eval $(call add_define,TARGET_PLATFORM_$(call uppercase,${TARGET_PLATFORM}))) 1028840711fSManoj Kumar 1034af53977SManoj Kumar# Add MORELLO_FW_NVCTR_VAL 1044af53977SManoj Kumar$(eval $(call add_define,MORELLO_FW_NVCTR_VAL)) 1054af53977SManoj Kumar 106dfd5bfb0SChandni Cherukuriinclude plat/arm/common/arm_common.mk 107dfd5bfb0SChandni Cherukuriinclude plat/arm/css/common/css_common.mk 108dfd5bfb0SChandni Cherukuriinclude plat/arm/board/common/board_common.mk 109