1# 2# Copyright (c) 2019-2020, ARM Limited and Contributors. All rights reserved. 3# Copyright (c) 2019-2023, Intel Corporation. All rights reserved. 4# Copyright (c) 2024, Altera Corporation. All rights reserved. 5# 6# SPDX-License-Identifier: BSD-3-Clause 7# 8include lib/xlat_tables_v2/xlat_tables.mk 9PLAT_INCLUDES := \ 10 -Iplat/intel/soc/agilex5/include/ \ 11 -Iplat/intel/soc/common/drivers/ \ 12 -Iplat/intel/soc/common/lib/sha/ \ 13 -Iplat/intel/soc/common/include/ 14 15# GIC-600 configuration 16GICV3_SUPPORT_GIC600 := 1 17# Include GICv3 driver files 18include drivers/arm/gic/v3/gicv3.mk 19AGX5_GICv3_SOURCES := \ 20 ${GICV3_SOURCES} \ 21 plat/common/plat_gicv3.c 22 23PLAT_BL_COMMON_SOURCES := \ 24 ${AGX5_GICv3_SOURCES} \ 25 drivers/cadence/combo_phy/cdns_combo_phy.c \ 26 drivers/cadence/emmc/cdns_sdmmc.c \ 27 drivers/cadence/nand/cdns_nand.c \ 28 drivers/delay_timer/delay_timer.c \ 29 drivers/delay_timer/generic_delay_timer.c \ 30 drivers/ti/uart/aarch64/16550_console.S \ 31 plat/intel/soc/common/aarch64/platform_common.c \ 32 plat/intel/soc/common/aarch64/plat_helpers.S \ 33 plat/intel/soc/common/drivers/ccu/ncore_ccu.c \ 34 plat/intel/soc/common/drivers/combophy/combophy.c \ 35 plat/intel/soc/common/drivers/sdmmc/sdmmc.c \ 36 plat/intel/soc/common/drivers/ddr/ddr.c \ 37 plat/intel/soc/common/drivers/nand/nand.c \ 38 plat/intel/soc/common/lib/sha/sha.c \ 39 plat/intel/soc/common/socfpga_delay_timer.c 40 41BL2_SOURCES += \ 42 common/desc_image_load.c \ 43 lib/xlat_tables_v2/aarch64/enable_mmu.S \ 44 lib/xlat_tables_v2/xlat_tables_context.c \ 45 lib/xlat_tables_v2/xlat_tables_core.c \ 46 lib/xlat_tables_v2/aarch64/xlat_tables_arch.c \ 47 lib/xlat_tables_v2/xlat_tables_utils.c \ 48 drivers/mmc/mmc.c \ 49 drivers/intel/soc/stratix10/io/s10_memmap_qspi.c \ 50 drivers/io/io_storage.c \ 51 drivers/io/io_block.c \ 52 drivers/io/io_fip.c \ 53 drivers/io/io_mtd.c \ 54 drivers/partition/partition.c \ 55 drivers/partition/gpt.c \ 56 drivers/synopsys/emmc/dw_mmc.c \ 57 lib/cpus/aarch64/cortex_a55.S \ 58 lib/cpus/aarch64/cortex_a76.S \ 59 plat/intel/soc/agilex5/soc/agilex5_clock_manager.c \ 60 plat/intel/soc/agilex5/soc/agilex5_memory_controller.c \ 61 plat/intel/soc/agilex5/soc/agilex5_mmc.c \ 62 plat/intel/soc/agilex5/soc/agilex5_pinmux.c \ 63 plat/intel/soc/agilex5/soc/agilex5_power_manager.c \ 64 plat/intel/soc/agilex5/soc/agilex5_ddr.c \ 65 plat/intel/soc/agilex5/soc/agilex5_iossm_mailbox.c \ 66 plat/intel/soc/common/bl2_plat_mem_params_desc.c \ 67 plat/intel/soc/common/socfpga_image_load.c \ 68 plat/intel/soc/common/socfpga_ros.c \ 69 plat/intel/soc/common/socfpga_storage.c \ 70 plat/intel/soc/common/socfpga_vab.c \ 71 plat/intel/soc/common/soc/socfpga_emac.c \ 72 plat/intel/soc/common/soc/socfpga_firewall.c \ 73 plat/intel/soc/common/soc/socfpga_handoff.c \ 74 plat/intel/soc/common/soc/socfpga_mailbox.c \ 75 plat/intel/soc/common/soc/socfpga_reset_manager.c \ 76 plat/intel/soc/common/drivers/qspi/cadence_qspi.c \ 77 plat/intel/soc/agilex5/bl2_plat_setup.c \ 78 plat/intel/soc/common/drivers/wdt/watchdog.c 79 80include lib/zlib/zlib.mk 81PLAT_INCLUDES += -Ilib/zlib 82BL2_SOURCES += $(ZLIB_SOURCES) 83 84BL31_SOURCES += \ 85 drivers/arm/cci/cci.c \ 86 ${XLAT_TABLES_LIB_SRCS} \ 87 lib/cpus/aarch64/aem_generic.S \ 88 lib/cpus/aarch64/cortex_a55.S \ 89 lib/cpus/aarch64/cortex_a76.S \ 90 plat/common/plat_psci_common.c \ 91 plat/intel/soc/agilex5/bl31_plat_setup.c \ 92 plat/intel/soc/agilex5/soc/agilex5_cache.S \ 93 plat/intel/soc/agilex5/soc/agilex5_clock_manager.c \ 94 plat/intel/soc/agilex5/soc/agilex5_power_manager.c \ 95 plat/intel/soc/common/socfpga_psci.c \ 96 plat/intel/soc/common/socfpga_sip_svc.c \ 97 plat/intel/soc/common/socfpga_sip_svc_v2.c \ 98 plat/intel/soc/common/socfpga_topology.c \ 99 plat/intel/soc/common/sip/socfpga_sip_ecc.c \ 100 plat/intel/soc/common/sip/socfpga_sip_fcs.c \ 101 plat/intel/soc/common/soc/socfpga_mailbox.c \ 102 plat/intel/soc/common/soc/socfpga_system_manager.c \ 103 plat/intel/soc/common/soc/socfpga_reset_manager.c 104 105# Configs for A76 and A55 106HW_ASSISTED_COHERENCY := 1 107USE_COHERENT_MEM := 0 108CTX_INCLUDE_AARCH32_REGS := 0 109ERRATA_A55_1530923 := 1 110 111# Don't have the Linux kernel as a BL33 image by default 112ARM_LINUX_KERNEL_AS_BL33 := 0 113$(eval $(call assert_boolean,ARM_LINUX_KERNEL_AS_BL33)) 114$(eval $(call add_define,ARM_LINUX_KERNEL_AS_BL33)) 115$(eval $(call add_define,ARM_PRELOADED_DTB_BASE)) 116 117# Configs for Boot Source 118SOCFPGA_BOOT_SOURCE_SDMMC ?= 0 119SOCFPGA_BOOT_SOURCE_QSPI ?= 0 120SOCFPGA_BOOT_SOURCE_NAND ?= 0 121 122$(eval $(call assert_booleans,\ 123 $(sort \ 124 SOCFPGA_BOOT_SOURCE_SDMMC \ 125 SOCFPGA_BOOT_SOURCE_QSPI \ 126 SOCFPGA_BOOT_SOURCE_NAND \ 127))) 128$(eval $(call add_defines,\ 129 $(sort \ 130 SOCFPGA_BOOT_SOURCE_SDMMC \ 131 SOCFPGA_BOOT_SOURCE_QSPI \ 132 SOCFPGA_BOOT_SOURCE_NAND \ 133))) 134 135# Configs for VAB Authentication 136SOCFPGA_SECURE_VAB_AUTH := 0 137$(eval $(call assert_boolean,SOCFPGA_SECURE_VAB_AUTH)) 138$(eval $(call add_define,SOCFPGA_SECURE_VAB_AUTH)) 139 140PROGRAMMABLE_RESET_ADDRESS := 0 141RESET_TO_BL2 := 1 142BL2_INV_DCACHE := 0