1# 2# Copyright (c) 2019-2023, NVIDIA CORPORATION. All rights reserved. 3# 4# SPDX-License-Identifier: BSD-3-Clause 5# 6 7include common/fdt_wrappers.mk 8 9ARM_ARCH_MAJOR := 8 10ARM_ARCH_MINOR := 2 11 12# platform configs 13ENABLE_CONSOLE_SPE := 1 14$(eval $(call add_define,ENABLE_CONSOLE_SPE)) 15 16ENABLE_STRICT_CHECKING_MODE := 1 17$(eval $(call add_define,ENABLE_STRICT_CHECKING_MODE)) 18 19USE_GPC_DMA := 1 20$(eval $(call add_define,USE_GPC_DMA)) 21 22RESET_TO_BL31 := 1 23 24PROGRAMMABLE_RESET_ADDRESS := 1 25 26COLD_BOOT_SINGLE_CPU := 1 27 28# platform settings 29TZDRAM_BASE := 0x40000000 30$(eval $(call add_define,TZDRAM_BASE)) 31 32MAX_XLAT_TABLES := 25 33$(eval $(call add_define,MAX_XLAT_TABLES)) 34 35MAX_MMAP_REGIONS := 30 36$(eval $(call add_define,MAX_MMAP_REGIONS)) 37 38# enable RAS handling 39HANDLE_EA_EL3_FIRST_NS := 1 40ENABLE_FEAT_RAS := 1 41 42# platform files 43PLAT_INCLUDES += -Iplat/nvidia/tegra/include/t194 \ 44 -I${SOC_DIR}/drivers/include 45 46BL31_SOURCES += ${TEGRA_GICv2_SOURCES} \ 47 drivers/ti/uart/aarch64/16550_console.S \ 48 lib/cpus/aarch64/denver.S \ 49 ${TEGRA_DRIVERS}/bpmp_ipc/intf.c \ 50 ${TEGRA_DRIVERS}/bpmp_ipc/ivc.c \ 51 ${TEGRA_DRIVERS}/memctrl/memctrl_v2.c \ 52 ${TEGRA_DRIVERS}/smmu/smmu.c \ 53 ${SOC_DIR}/drivers/mce/mce.c \ 54 ${SOC_DIR}/drivers/mce/nvg.c \ 55 ${SOC_DIR}/drivers/mce/aarch64/nvg_helpers.S \ 56 ${SOC_DIR}/drivers/se/se.c \ 57 ${SOC_DIR}/plat_memctrl.c \ 58 ${SOC_DIR}/plat_psci_handlers.c \ 59 ${SOC_DIR}/plat_setup.c \ 60 ${SOC_DIR}/plat_secondary.c \ 61 ${SOC_DIR}/plat_sip_calls.c \ 62 ${SOC_DIR}/plat_smmu.c \ 63 ${SOC_DIR}/plat_trampoline.S 64 65ifeq (${USE_GPC_DMA}, 1) 66BL31_SOURCES += ${TEGRA_DRIVERS}/gpcdma/gpcdma.c 67endif 68 69ifeq (${ENABLE_CONSOLE_SPE},1) 70BL31_SOURCES += ${TEGRA_DRIVERS}/spe/shared_console.S 71endif 72 73# RAS sources 74ifeq (${ENABLE_FEAT_RAS}-${HANDLE_EA_EL3_FIRST_NS},1-1) 75BL31_SOURCES += lib/extensions/ras/std_err_record.c \ 76 lib/extensions/ras/ras_common.c \ 77 ${SOC_DIR}/plat_ras.c 78endif 79 80# SPM dispatcher 81ifeq (${SPD},spmd) 82include lib/libfdt/libfdt.mk 83# sources to support spmd 84BL31_SOURCES += plat/common/plat_spmd_manifest.c \ 85 ${LIBFDT_SRCS} 86 87BL31_SOURCES += ${FDT_WRAPPERS_SOURCES} 88endif 89