1c97857dbSAmit Nagal# Copyright (c) 2018-2022, Arm Limited and Contributors. All rights reserved. 2c97857dbSAmit Nagal# Copyright (c) 2021-2022, Xilinx, Inc. All rights reserved. 3c97857dbSAmit Nagal# Copyright (c) 2022-2024, Advanced Micro Devices, Inc. All rights reserved. 4c97857dbSAmit Nagal# 5c97857dbSAmit Nagal# SPDX-License-Identifier: BSD-3-Clause 6c97857dbSAmit Nagal 7c97857dbSAmit NagalPLAT_PATH := plat/amd/versal2 8c97857dbSAmit Nagal 9*1fbe81feSAmit Nagaloverride NEED_BL1 := no 10*1fbe81feSAmit Nagaloverride NEED_BL2 := no 11*1fbe81feSAmit Nagal 12c97857dbSAmit Nagal# A78 Erratum for SoC 13c97857dbSAmit NagalERRATA_A78_AE_1941500 := 1 14c97857dbSAmit NagalERRATA_A78_AE_1951502 := 1 15c97857dbSAmit NagalERRATA_A78_AE_2376748 := 1 16c97857dbSAmit NagalERRATA_A78_AE_2395408 := 1 17c97857dbSAmit NagalERRATA_ABI_SUPPORT := 1 18c97857dbSAmit Nagal 19c97857dbSAmit Nagal# Platform Supports Armv8.2 extensions 20c97857dbSAmit NagalARM_ARCH_MAJOR := 8 21c97857dbSAmit NagalARM_ARCH_MINOR := 2 22c97857dbSAmit Nagal 23c97857dbSAmit Nagaloverride PROGRAMMABLE_RESET_ADDRESS := 1 24c97857dbSAmit NagalPSCI_EXTENDED_STATE_ID := 1 25c97857dbSAmit NagalSEPARATE_CODE_AND_RODATA := 1 26c97857dbSAmit Nagaloverride RESET_TO_BL31 := 1 27c97857dbSAmit NagalPL011_GENERIC_UART := 1 28c97857dbSAmit NagalIPI_CRC_CHECK := 0 29c97857dbSAmit NagalGIC_ENABLE_V4_EXTN := 0 30c97857dbSAmit NagalGICV3_SUPPORT_GIC600 := 1 31c97857dbSAmit Nagal 32c97857dbSAmit Nagaloverride CTX_INCLUDE_AARCH32_REGS := 0 33c97857dbSAmit Nagal 349aa71f48SAkshay Belsare# Platform to support Dynamic XLAT Table by default 359aa71f48SAkshay Belsareoverride PLAT_XLAT_TABLES_DYNAMIC := 1 369aa71f48SAkshay Belsare$(eval $(call add_define,PLAT_XLAT_TABLES_DYNAMIC)) 379aa71f48SAkshay Belsare 38c97857dbSAmit Nagalifdef MEM_BASE 39c97857dbSAmit Nagal $(eval $(call add_define,MEM_BASE)) 40c97857dbSAmit Nagal 41c97857dbSAmit Nagal ifndef MEM_SIZE 421e2a5e28SMichal Simek $(error "MEM_BASE defined without MEM_SIZE") 43c97857dbSAmit Nagal endif 44c97857dbSAmit Nagal $(eval $(call add_define,MEM_SIZE)) 45c97857dbSAmit Nagal 46c97857dbSAmit Nagal ifdef MEM_PROGBITS_SIZE 47c97857dbSAmit Nagal $(eval $(call add_define,MEM_PROGBITS_SIZE)) 48c97857dbSAmit Nagal endif 49c97857dbSAmit Nagalendif 50c97857dbSAmit Nagal 51c97857dbSAmit Nagalifdef BL32_MEM_BASE 52c97857dbSAmit Nagal $(eval $(call add_define,BL32_MEM_BASE)) 53c97857dbSAmit Nagal 54c97857dbSAmit Nagal ifndef BL32_MEM_SIZE 551e2a5e28SMichal Simek $(error "BL32_MEM_BASE defined without BL32_MEM_SIZE") 56c97857dbSAmit Nagal endif 57c97857dbSAmit Nagal $(eval $(call add_define,BL32_MEM_SIZE)) 58c97857dbSAmit Nagalendif 59c97857dbSAmit Nagal 60c97857dbSAmit Nagalifdef IPI_CRC_CHECK 61c97857dbSAmit Nagal $(eval $(call add_define,IPI_CRC_CHECK)) 62c97857dbSAmit Nagalendif 63c97857dbSAmit Nagal 64c97857dbSAmit NagalUSE_COHERENT_MEM := 0 65c97857dbSAmit NagalHW_ASSISTED_COHERENCY := 1 66c97857dbSAmit Nagal 6711964742SMaheedhar BollapalliVERSAL2_CONSOLE ?= pl011 686d413983SMichal Simekifeq (${VERSAL2_CONSOLE}, $(filter ${VERSAL2_CONSOLE},pl011 pl011_0 pl011_1 dcc dtb none)) 69c97857dbSAmit Nagal else 7011964742SMaheedhar Bollapalli $(error "Please define VERSAL2_CONSOLE") 71c97857dbSAmit Nagal endif 72c97857dbSAmit Nagal 7311964742SMaheedhar Bollapalli$(eval $(call add_define_val,VERSAL2_CONSOLE,VERSAL2_CONSOLE_ID_${VERSAL2_CONSOLE})) 7411964742SMaheedhar Bollapalli 7511964742SMaheedhar Bollapalli# Runtime console in default console in DEBUG build 7611964742SMaheedhar Bollapalliifeq ($(DEBUG), 1) 7711964742SMaheedhar BollapalliCONSOLE_RUNTIME ?= pl011 7811964742SMaheedhar Bollapalliendif 7911964742SMaheedhar Bollapalli 8011964742SMaheedhar Bollapalli# Runtime console 8111964742SMaheedhar Bollapalliifdef CONSOLE_RUNTIME 8211964742SMaheedhar Bollapalliifeq (${CONSOLE_RUNTIME}, $(filter ${CONSOLE_RUNTIME},pl011 pl011_0 pl011_1 dcc dtb)) 8311964742SMaheedhar Bollapalli$(eval $(call add_define_val,CONSOLE_RUNTIME,RT_CONSOLE_ID_${CONSOLE_RUNTIME})) 8411964742SMaheedhar Bollapallielse 8511964742SMaheedhar Bollapalli $(error "Please define CONSOLE_RUNTIME") 8611964742SMaheedhar Bollapalliendif 8711964742SMaheedhar Bollapalliendif 8811964742SMaheedhar Bollapalli 89c97857dbSAmit Nagal 90c97857dbSAmit Nagalifdef XILINX_OF_BOARD_DTB_ADDR 91c97857dbSAmit Nagal$(eval $(call add_define,XILINX_OF_BOARD_DTB_ADDR)) 92c97857dbSAmit Nagalendif 93c97857dbSAmit Nagal 94c97857dbSAmit NagalPLAT_INCLUDES := -Iinclude/plat/arm/common/ \ 95c97857dbSAmit Nagal -Iplat/xilinx/common/include/ \ 96c97857dbSAmit Nagal -Iplat/xilinx/common/ipi_mailbox_service/ \ 97c97857dbSAmit Nagal -I${PLAT_PATH}/include/ \ 98c97857dbSAmit Nagal -Iplat/xilinx/versal/pm_service/ 99c97857dbSAmit Nagal 100c97857dbSAmit Nagal# Include GICv3 driver files 101c97857dbSAmit Nagalinclude drivers/arm/gic/v3/gicv3.mk 102c97857dbSAmit Nagalinclude lib/xlat_tables_v2/xlat_tables.mk 103c97857dbSAmit Nagalinclude lib/libfdt/libfdt.mk 104c97857dbSAmit Nagal 105c97857dbSAmit NagalPLAT_BL_COMMON_SOURCES := \ 106c97857dbSAmit Nagal drivers/arm/dcc/dcc_console.c \ 107c97857dbSAmit Nagal drivers/delay_timer/delay_timer.c \ 108c97857dbSAmit Nagal drivers/delay_timer/generic_delay_timer.c \ 109c97857dbSAmit Nagal ${GICV3_SOURCES} \ 110c97857dbSAmit Nagal drivers/arm/pl011/aarch64/pl011_console.S \ 111c97857dbSAmit Nagal plat/common/aarch64/crash_console_helpers.S \ 112c97857dbSAmit Nagal plat/arm/common/arm_common.c \ 113c97857dbSAmit Nagal plat/common/plat_gicv3.c \ 114c97857dbSAmit Nagal ${PLAT_PATH}/aarch64/helpers.S \ 115c97857dbSAmit Nagal ${PLAT_PATH}/aarch64/common.c \ 116c97857dbSAmit Nagal ${PLAT_PATH}/plat_topology.c \ 117c97857dbSAmit Nagal ${XLAT_TABLES_LIB_SRCS} 118c97857dbSAmit Nagal 119c97857dbSAmit NagalBL31_SOURCES += drivers/arm/cci/cci.c \ 120c97857dbSAmit Nagal lib/cpus/aarch64/cortex_a78_ae.S \ 121c97857dbSAmit Nagal lib/cpus/aarch64/cortex_a78.S \ 122c97857dbSAmit Nagal plat/common/plat_psci_common.c \ 123c97857dbSAmit Nagal drivers/scmi-msg/base.c \ 124c97857dbSAmit Nagal drivers/scmi-msg/entry.c \ 125c97857dbSAmit Nagal drivers/scmi-msg/smt.c \ 126c97857dbSAmit Nagal drivers/scmi-msg/clock.c \ 127c97857dbSAmit Nagal drivers/scmi-msg/power_domain.c \ 128c97857dbSAmit Nagal drivers/scmi-msg/reset_domain.c \ 129c97857dbSAmit Nagal ${PLAT_PATH}/scmi.c 130c97857dbSAmit Nagal 131c97857dbSAmit NagalBL31_SOURCES += ${PLAT_PATH}/plat_psci.c 132c97857dbSAmit Nagal 133c97857dbSAmit NagalBL31_SOURCES += plat/xilinx/common/plat_fdt.c \ 13411964742SMaheedhar Bollapalli common/fdt_wrappers.c \ 13511964742SMaheedhar Bollapalli plat/xilinx/common/plat_fdt.c \ 13611964742SMaheedhar Bollapalli plat/xilinx/common/plat_console.c \ 137c97857dbSAmit Nagal plat/xilinx/common/plat_startup.c \ 138c97857dbSAmit Nagal plat/xilinx/common/ipi.c \ 139c97857dbSAmit Nagal plat/xilinx/common/ipi_mailbox_service/ipi_mailbox_svc.c \ 140c97857dbSAmit Nagal ${PLAT_PATH}/soc_ipi.c \ 141c97857dbSAmit Nagal plat/xilinx/common/versal.c \ 142c97857dbSAmit Nagal ${PLAT_PATH}/bl31_setup.c \ 143c97857dbSAmit Nagal common/fdt_fixup.c \ 14442488064SAndre Przywara common/fdt_wrappers.c \ 145c97857dbSAmit Nagal ${LIBFDT_SRCS} \ 146c97857dbSAmit Nagal ${PLAT_PATH}/sip_svc_setup.c \ 147c97857dbSAmit Nagal ${PLAT_PATH}/gicv3.c 148c97857dbSAmit Nagal 149c97857dbSAmit Nagalifeq (${ERRATA_ABI_SUPPORT}, 1) 150c97857dbSAmit Nagal# enable the cpu macros for errata abi interface 151c97857dbSAmit NagalCORTEX_A78_AE_H_INC := 1 152c97857dbSAmit Nagal$(eval $(call add_define, CORTEX_A78_AE_H_INC)) 153c97857dbSAmit Nagalendif 154*1fbe81feSAmit Nagal 155*1fbe81feSAmit Nagal# Enable Handoff protocol using transfer lists 156*1fbe81feSAmit NagalTRANSFER_LIST := 1 157*1fbe81feSAmit Nagal 158*1fbe81feSAmit Nagalinclude lib/transfer_list/transfer_list.mk 159*1fbe81feSAmit NagalBL31_SOURCES += plat/xilinx/common/plat_xfer_list.c 160