1619bc13eSMichal Simek# Copyright (c) 2018-2021, Arm Limited and Contributors. All rights reserved. 2*4c5cf47fSMaheedhar Bollapalli# Copyright (c) 2022-2025, Advanced Micro Devices, Inc. All rights reserved. 3f91c3cb1SSiva Durga Prasad Paladugu# 4f91c3cb1SSiva Durga Prasad Paladugu# SPDX-License-Identifier: BSD-3-Clause 5f91c3cb1SSiva Durga Prasad Paladugu 6f91c3cb1SSiva Durga Prasad Paladuguoverride PROGRAMMABLE_RESET_ADDRESS := 1 7f91c3cb1SSiva Durga Prasad PaladuguPSCI_EXTENDED_STATE_ID := 1 8f91c3cb1SSiva Durga Prasad PaladuguA53_DISABLE_NON_TEMPORAL_HINT := 0 9f91c3cb1SSiva Durga Prasad PaladuguSEPARATE_CODE_AND_RODATA := 1 10f91c3cb1SSiva Durga Prasad Paladuguoverride RESET_TO_BL31 := 1 11f91c3cb1SSiva Durga Prasad PaladuguPL011_GENERIC_UART := 1 12654bd99dSVenkatesh Yadav AbbarapuIPI_CRC_CHECK := 0 13302b4dfbSVenkatesh Yadav AbbarapuHARDEN_SLS_ALL := 0 14ade92a64SJay BuddhabhattiCPU_PWRDWN_SGI ?= 6 15ade92a64SJay Buddhabhatti$(eval $(call add_define_val,CPU_PWR_DOWN_REQ_INTR,ARM_IRQ_SEC_SGI_${CPU_PWRDWN_SGI})) 16f91c3cb1SSiva Durga Prasad Paladugu 17769446a6SMichal Simek# A72 Erratum for SoC 18769446a6SMichal SimekERRATA_A72_859971 := 1 19769446a6SMichal SimekERRATA_A72_1319367 := 1 20769446a6SMichal Simek 21f91c3cb1SSiva Durga Prasad Paladuguifdef VERSAL_ATF_MEM_BASE 22f91c3cb1SSiva Durga Prasad Paladugu $(eval $(call add_define,VERSAL_ATF_MEM_BASE)) 23f91c3cb1SSiva Durga Prasad Paladugu 24f91c3cb1SSiva Durga Prasad Paladugu ifndef VERSAL_ATF_MEM_SIZE 251e2a5e28SMichal Simek $(error "VERSAL_ATF_MEM_BASE defined without VERSAL_ATF_MEM_SIZE") 26f91c3cb1SSiva Durga Prasad Paladugu endif 27f91c3cb1SSiva Durga Prasad Paladugu $(eval $(call add_define,VERSAL_ATF_MEM_SIZE)) 28f91c3cb1SSiva Durga Prasad Paladugu 29f91c3cb1SSiva Durga Prasad Paladugu ifdef VERSAL_ATF_MEM_PROGBITS_SIZE 30f91c3cb1SSiva Durga Prasad Paladugu $(eval $(call add_define,VERSAL_ATF_MEM_PROGBITS_SIZE)) 31f91c3cb1SSiva Durga Prasad Paladugu endif 32f91c3cb1SSiva Durga Prasad Paladuguendif 33f91c3cb1SSiva Durga Prasad Paladugu 34f91c3cb1SSiva Durga Prasad Paladuguifdef VERSAL_BL32_MEM_BASE 35f91c3cb1SSiva Durga Prasad Paladugu $(eval $(call add_define,VERSAL_BL32_MEM_BASE)) 36f91c3cb1SSiva Durga Prasad Paladugu 37f91c3cb1SSiva Durga Prasad Paladugu ifndef VERSAL_BL32_MEM_SIZE 381e2a5e28SMichal Simek $(error "VERSAL_BL32_MEM_BASE defined without VERSAL_BL32_MEM_SIZE") 39f91c3cb1SSiva Durga Prasad Paladugu endif 40f91c3cb1SSiva Durga Prasad Paladugu $(eval $(call add_define,VERSAL_BL32_MEM_SIZE)) 41f91c3cb1SSiva Durga Prasad Paladuguendif 42f91c3cb1SSiva Durga Prasad Paladugu 43654bd99dSVenkatesh Yadav Abbarapuifdef IPI_CRC_CHECK 44654bd99dSVenkatesh Yadav Abbarapu $(eval $(call add_define,IPI_CRC_CHECK)) 45654bd99dSVenkatesh Yadav Abbarapuendif 46654bd99dSVenkatesh Yadav Abbarapu 4709ac1ca2SMaheedhar Bollapalliifdef VERSAL_PLATFORM 4809ac1ca2SMaheedhar Bollapalli $(warning "VERSAL_PLATFORM has been deprecated") 4909ac1ca2SMaheedhar Bollapalliendif 50f91c3cb1SSiva Durga Prasad Paladugu 5156d1857eSAmit Nagalifdef XILINX_OF_BOARD_DTB_ADDR 52*4c5cf47fSMaheedhar BollapalliXLNX_DT_CFG := 1 5356d1857eSAmit Nagal$(eval $(call add_define,XILINX_OF_BOARD_DTB_ADDR)) 54*4c5cf47fSMaheedhar Bollapallielse 55*4c5cf47fSMaheedhar BollapalliXLNX_DT_CFG := 0 5656d1857eSAmit Nagalendif 57*4c5cf47fSMaheedhar Bollapalli$(eval $(call add_define,XLNX_DT_CFG)) 5856d1857eSAmit Nagal 597ca7fb1bSAmit NagalPLAT_XLAT_TABLES_DYNAMIC := 0 607ca7fb1bSAmit Nagalifeq (${PLAT_XLAT_TABLES_DYNAMIC},1) 617ca7fb1bSAmit Nagal$(eval $(call add_define,PLAT_XLAT_TABLES_DYNAMIC)) 627ca7fb1bSAmit Nagalendif 637ca7fb1bSAmit Nagal 640375188aSAmit Nagal# enable assert() for release/debug builds 650375188aSAmit NagalENABLE_ASSERTIONS := 1 660375188aSAmit Nagal 675a8ffeabSTejas PatelPLAT_INCLUDES := -Iinclude/plat/arm/common/ \ 685a8ffeabSTejas Patel -Iplat/xilinx/common/include/ \ 696e2f0d10SWendy Liang -Iplat/xilinx/common/ipi_mailbox_service/ \ 70c73a90e5STejas Patel -Iplat/xilinx/versal/include/ \ 71c73a90e5STejas Patel -Iplat/xilinx/versal/pm_service/ 72f91c3cb1SSiva Durga Prasad Paladugu 7356d1857eSAmit Nagalinclude lib/libfdt/libfdt.mk 74a6ea06f5SAlexei Fedorov# Include GICv3 driver files 75a6ea06f5SAlexei Fedorovinclude drivers/arm/gic/v3/gicv3.mk 760e9f54e5SMichal Simekinclude lib/xlat_tables_v2/xlat_tables.mk 77a6ea06f5SAlexei Fedorov 780e9f54e5SMichal SimekPLAT_BL_COMMON_SOURCES := drivers/arm/dcc/dcc_console.c \ 79f91c3cb1SSiva Durga Prasad Paladugu drivers/delay_timer/delay_timer.c \ 80f91c3cb1SSiva Durga Prasad Paladugu drivers/delay_timer/generic_delay_timer.c \ 81a6ea06f5SAlexei Fedorov ${GICV3_SOURCES} \ 82f91c3cb1SSiva Durga Prasad Paladugu drivers/arm/pl011/aarch64/pl011_console.S \ 832cc97771SAmbroise Vincent plat/common/aarch64/crash_console_helpers.S \ 845a8ffeabSTejas Patel plat/arm/common/arm_cci.c \ 8531ce893eSVenkatesh Yadav Abbarapu plat/arm/common/arm_common.c \ 86f91c3cb1SSiva Durga Prasad Paladugu plat/common/plat_gicv3.c \ 87f91c3cb1SSiva Durga Prasad Paladugu plat/xilinx/versal/aarch64/versal_helpers.S \ 880e9f54e5SMichal Simek plat/xilinx/versal/aarch64/versal_common.c \ 890e9f54e5SMichal Simek ${XLAT_TABLES_LIB_SRCS} 90f91c3cb1SSiva Durga Prasad Paladugu 910b25f404SVenkatesh Yadav AbbarapuVERSAL_CONSOLE ?= pl011 926d413983SMichal Simekifeq (${VERSAL_CONSOLE}, $(filter ${VERSAL_CONSOLE},pl011 pl011_0 pl011_1 dcc dtb none)) 930b25f404SVenkatesh Yadav Abbarapuelse 940b25f404SVenkatesh Yadav Abbarapu $(error "Please define VERSAL_CONSOLE") 950b25f404SVenkatesh Yadav Abbarapuendif 960b25f404SVenkatesh Yadav Abbarapu 970b25f404SVenkatesh Yadav Abbarapu$(eval $(call add_define_val,VERSAL_CONSOLE,VERSAL_CONSOLE_ID_${VERSAL_CONSOLE})) 980b25f404SVenkatesh Yadav Abbarapu 99d533f58dSPrasad Kummari# Runtime console in default console in DEBUG build 100d533f58dSPrasad Kummariifeq ($(DEBUG), 1) 101d533f58dSPrasad KummariCONSOLE_RUNTIME ?= pl011 102d533f58dSPrasad Kummariendif 103d533f58dSPrasad Kummari 104d533f58dSPrasad Kummari# Runtime console 105d533f58dSPrasad Kummariifdef CONSOLE_RUNTIME 106d533f58dSPrasad Kummariifeq (${CONSOLE_RUNTIME}, $(filter ${CONSOLE_RUNTIME},pl011 pl011_0 pl011_1 dcc dtb)) 107d533f58dSPrasad Kummari$(eval $(call add_define_val,CONSOLE_RUNTIME,RT_CONSOLE_ID_${CONSOLE_RUNTIME})) 108d533f58dSPrasad Kummarielse 109d533f58dSPrasad Kummari$(error "Please define CONSOLE_RUNTIME") 110d533f58dSPrasad Kummariendif 111d533f58dSPrasad Kummariendif 112d533f58dSPrasad Kummari 1135a8ffeabSTejas PatelBL31_SOURCES += drivers/arm/cci/cci.c \ 114f91c3cb1SSiva Durga Prasad Paladugu lib/cpus/aarch64/cortex_a72.S \ 1157c36fbccSPrasad Kummari common/fdt_wrappers.c \ 116f91c3cb1SSiva Durga Prasad Paladugu plat/common/plat_psci_common.c \ 117c73a90e5STejas Patel plat/xilinx/common/ipi.c \ 11856d1857eSAmit Nagal plat/xilinx/common/plat_fdt.c \ 1197c36fbccSPrasad Kummari plat/xilinx/common/plat_console.c \ 120f000744eSPrasad Kummari plat/xilinx/common/plat_clkfunc.c \ 12131ce893eSVenkatesh Yadav Abbarapu plat/xilinx/common/plat_startup.c \ 1226e2f0d10SWendy Liang plat/xilinx/common/ipi_mailbox_service/ipi_mailbox_svc.c \ 123c73a90e5STejas Patel plat/xilinx/common/pm_service/pm_ipi.c \ 124a92681d9SJay Buddhabhatti plat/xilinx/common/pm_service/pm_api_sys.c \ 125a92681d9SJay Buddhabhatti plat/xilinx/common/pm_service/pm_svc_main.c \ 126079c6e24SAkshay Belsare plat/xilinx/common/versal.c \ 127f91c3cb1SSiva Durga Prasad Paladugu plat/xilinx/versal/bl31_versal_setup.c \ 128f91c3cb1SSiva Durga Prasad Paladugu plat/xilinx/versal/plat_psci.c \ 129f91c3cb1SSiva Durga Prasad Paladugu plat/xilinx/versal/plat_versal.c \ 130f91c3cb1SSiva Durga Prasad Paladugu plat/xilinx/versal/plat_topology.c \ 131f91c3cb1SSiva Durga Prasad Paladugu plat/xilinx/versal/sip_svc_setup.c \ 132c73a90e5STejas Patel plat/xilinx/versal/versal_gicv3.c \ 133c73a90e5STejas Patel plat/xilinx/versal/versal_ipi.c \ 13456d1857eSAmit Nagal plat/xilinx/versal/pm_service/pm_client.c \ 13556d1857eSAmit Nagal common/fdt_fixup.c \ 13656d1857eSAmit Nagal ${LIBFDT_SRCS} 137302b4dfbSVenkatesh Yadav Abbarapu 138302b4dfbSVenkatesh Yadav Abbarapuifeq ($(HARDEN_SLS_ALL), 1) 139302b4dfbSVenkatesh Yadav AbbarapuTF_CFLAGS_aarch64 += -mharden-sls=all 140302b4dfbSVenkatesh Yadav Abbarapuendif 141d766f994SPrasad Kummari 142d766f994SPrasad Kummariifeq (${ERRATA_ABI_SUPPORT}, 1) 143d766f994SPrasad Kummari# enable the cpu macros for errata abi interface 144d766f994SPrasad KummariCORTEX_A72_H_INC := 1 145d766f994SPrasad Kummari$(eval $(call add_define, CORTEX_A72_H_INC)) 146d766f994SPrasad Kummariendif 147