• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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