xref: /rk3399_ARM-atf/plat/amd/versal2/platform.mk (revision 6d41398382430134308a513c027b77ec70b03ae4)
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
9c97857dbSAmit Nagal# A78 Erratum for SoC
10c97857dbSAmit NagalERRATA_A78_AE_1941500 := 1
11c97857dbSAmit NagalERRATA_A78_AE_1951502 := 1
12c97857dbSAmit NagalERRATA_A78_AE_2376748 := 1
13c97857dbSAmit NagalERRATA_A78_AE_2395408 := 1
14c97857dbSAmit NagalERRATA_ABI_SUPPORT    := 1
15c97857dbSAmit Nagal
16c97857dbSAmit Nagal# Platform Supports Armv8.2 extensions
17c97857dbSAmit NagalARM_ARCH_MAJOR := 8
18c97857dbSAmit NagalARM_ARCH_MINOR := 2
19c97857dbSAmit Nagal
20c97857dbSAmit Nagaloverride PROGRAMMABLE_RESET_ADDRESS := 1
21c97857dbSAmit NagalPSCI_EXTENDED_STATE_ID := 1
22c97857dbSAmit NagalSEPARATE_CODE_AND_RODATA := 1
23c97857dbSAmit Nagaloverride RESET_TO_BL31 := 1
24c97857dbSAmit NagalPL011_GENERIC_UART := 1
25c97857dbSAmit NagalIPI_CRC_CHECK := 0
26c97857dbSAmit NagalGIC_ENABLE_V4_EXTN :=  0
27c97857dbSAmit NagalGICV3_SUPPORT_GIC600 := 1
28c97857dbSAmit Nagal
29c97857dbSAmit Nagaloverride CTX_INCLUDE_AARCH32_REGS    := 0
30c97857dbSAmit Nagal
31c97857dbSAmit Nagalifdef MEM_BASE
32c97857dbSAmit Nagal    $(eval $(call add_define,MEM_BASE))
33c97857dbSAmit Nagal
34c97857dbSAmit Nagal    ifndef MEM_SIZE
351e2a5e28SMichal Simek        $(error "MEM_BASE defined without MEM_SIZE")
36c97857dbSAmit Nagal    endif
37c97857dbSAmit Nagal    $(eval $(call add_define,MEM_SIZE))
38c97857dbSAmit Nagal
39c97857dbSAmit Nagal    ifdef MEM_PROGBITS_SIZE
40c97857dbSAmit Nagal        $(eval $(call add_define,MEM_PROGBITS_SIZE))
41c97857dbSAmit Nagal    endif
42c97857dbSAmit Nagalendif
43c97857dbSAmit Nagal
44c97857dbSAmit Nagalifdef BL32_MEM_BASE
45c97857dbSAmit Nagal    $(eval $(call add_define,BL32_MEM_BASE))
46c97857dbSAmit Nagal
47c97857dbSAmit Nagal    ifndef BL32_MEM_SIZE
481e2a5e28SMichal Simek        $(error "BL32_MEM_BASE defined without BL32_MEM_SIZE")
49c97857dbSAmit Nagal    endif
50c97857dbSAmit Nagal    $(eval $(call add_define,BL32_MEM_SIZE))
51c97857dbSAmit Nagalendif
52c97857dbSAmit Nagal
53c97857dbSAmit Nagalifdef IPI_CRC_CHECK
54c97857dbSAmit Nagal    $(eval $(call add_define,IPI_CRC_CHECK))
55c97857dbSAmit Nagalendif
56c97857dbSAmit Nagal
57c97857dbSAmit NagalUSE_COHERENT_MEM := 0
58c97857dbSAmit NagalHW_ASSISTED_COHERENCY := 1
59c97857dbSAmit Nagal
6011964742SMaheedhar BollapalliVERSAL2_CONSOLE  ?=      pl011
61*6d413983SMichal Simekifeq (${VERSAL2_CONSOLE}, $(filter ${VERSAL2_CONSOLE},pl011 pl011_0 pl011_1 dcc dtb none))
62c97857dbSAmit Nagal	else
6311964742SMaheedhar Bollapalli	  $(error "Please define VERSAL2_CONSOLE")
64c97857dbSAmit Nagal  endif
65c97857dbSAmit Nagal
6611964742SMaheedhar Bollapalli$(eval $(call add_define_val,VERSAL2_CONSOLE,VERSAL2_CONSOLE_ID_${VERSAL2_CONSOLE}))
6711964742SMaheedhar Bollapalli
6811964742SMaheedhar Bollapalli# Runtime console in default console in DEBUG build
6911964742SMaheedhar Bollapalliifeq ($(DEBUG), 1)
7011964742SMaheedhar BollapalliCONSOLE_RUNTIME ?= pl011
7111964742SMaheedhar Bollapalliendif
7211964742SMaheedhar Bollapalli
7311964742SMaheedhar Bollapalli# Runtime console
7411964742SMaheedhar Bollapalliifdef CONSOLE_RUNTIME
7511964742SMaheedhar Bollapalliifeq 	(${CONSOLE_RUNTIME}, $(filter ${CONSOLE_RUNTIME},pl011 pl011_0 pl011_1 dcc dtb))
7611964742SMaheedhar Bollapalli$(eval $(call add_define_val,CONSOLE_RUNTIME,RT_CONSOLE_ID_${CONSOLE_RUNTIME}))
7711964742SMaheedhar Bollapallielse
7811964742SMaheedhar Bollapalli	$(error "Please define CONSOLE_RUNTIME")
7911964742SMaheedhar Bollapalliendif
8011964742SMaheedhar Bollapalliendif
8111964742SMaheedhar Bollapalli
82c97857dbSAmit Nagal
83c97857dbSAmit Nagalifdef XILINX_OF_BOARD_DTB_ADDR
84c97857dbSAmit Nagal$(eval $(call add_define,XILINX_OF_BOARD_DTB_ADDR))
85c97857dbSAmit Nagalendif
86c97857dbSAmit Nagal
87c97857dbSAmit NagalPLAT_INCLUDES		:=	-Iinclude/plat/arm/common/			\
88c97857dbSAmit Nagal				-Iplat/xilinx/common/include/			\
89c97857dbSAmit Nagal				-Iplat/xilinx/common/ipi_mailbox_service/	\
90c97857dbSAmit Nagal				-I${PLAT_PATH}/include/				\
91c97857dbSAmit Nagal				-Iplat/xilinx/versal/pm_service/
92c97857dbSAmit Nagal
93c97857dbSAmit Nagal# Include GICv3 driver files
94c97857dbSAmit Nagalinclude drivers/arm/gic/v3/gicv3.mk
95c97857dbSAmit Nagalinclude lib/xlat_tables_v2/xlat_tables.mk
96c97857dbSAmit Nagalinclude lib/libfdt/libfdt.mk
97c97857dbSAmit Nagal
98c97857dbSAmit NagalPLAT_BL_COMMON_SOURCES	:=	\
99c97857dbSAmit Nagal				drivers/arm/dcc/dcc_console.c			\
100c97857dbSAmit Nagal				drivers/delay_timer/delay_timer.c		\
101c97857dbSAmit Nagal				drivers/delay_timer/generic_delay_timer.c	\
102c97857dbSAmit Nagal				${GICV3_SOURCES}				\
103c97857dbSAmit Nagal				drivers/arm/pl011/aarch64/pl011_console.S	\
104c97857dbSAmit Nagal				plat/common/aarch64/crash_console_helpers.S	\
105c97857dbSAmit Nagal				plat/arm/common/arm_common.c			\
106c97857dbSAmit Nagal				plat/common/plat_gicv3.c			\
107c97857dbSAmit Nagal				${PLAT_PATH}/aarch64/helpers.S			\
108c97857dbSAmit Nagal				${PLAT_PATH}/aarch64/common.c			\
109c97857dbSAmit Nagal				${PLAT_PATH}/plat_topology.c                    \
110c97857dbSAmit Nagal				${XLAT_TABLES_LIB_SRCS}
111c97857dbSAmit Nagal
112c97857dbSAmit NagalBL31_SOURCES		+=	drivers/arm/cci/cci.c				\
113c97857dbSAmit Nagal				lib/cpus/aarch64/cortex_a78_ae.S		\
114c97857dbSAmit Nagal				lib/cpus/aarch64/cortex_a78.S			\
115c97857dbSAmit Nagal				plat/common/plat_psci_common.c			\
116c97857dbSAmit Nagal				drivers/scmi-msg/base.c				\
117c97857dbSAmit Nagal				drivers/scmi-msg/entry.c			\
118c97857dbSAmit Nagal				drivers/scmi-msg/smt.c				\
119c97857dbSAmit Nagal				drivers/scmi-msg/clock.c			\
120c97857dbSAmit Nagal				drivers/scmi-msg/power_domain.c			\
121c97857dbSAmit Nagal				drivers/scmi-msg/reset_domain.c			\
122c97857dbSAmit Nagal				${PLAT_PATH}/scmi.c
123c97857dbSAmit Nagal
124c97857dbSAmit NagalBL31_SOURCES		+=	${PLAT_PATH}/plat_psci.c
125c97857dbSAmit Nagal
126c97857dbSAmit NagalBL31_SOURCES		+=	plat/xilinx/common/plat_fdt.c			\
12711964742SMaheedhar Bollapalli				common/fdt_wrappers.c                           \
12811964742SMaheedhar Bollapalli				plat/xilinx/common/plat_fdt.c                   \
12911964742SMaheedhar Bollapalli				plat/xilinx/common/plat_console.c               \
130c97857dbSAmit Nagal				plat/xilinx/common/plat_startup.c		\
131c97857dbSAmit Nagal				plat/xilinx/common/ipi.c			\
132c97857dbSAmit Nagal				plat/xilinx/common/ipi_mailbox_service/ipi_mailbox_svc.c	\
133c97857dbSAmit Nagal				${PLAT_PATH}/soc_ipi.c				\
134c97857dbSAmit Nagal				plat/xilinx/common/versal.c			\
135c97857dbSAmit Nagal				${PLAT_PATH}/bl31_setup.c			\
136c97857dbSAmit Nagal				common/fdt_fixup.c				\
13742488064SAndre Przywara				common/fdt_wrappers.c				\
138c97857dbSAmit Nagal				${LIBFDT_SRCS}					\
139c97857dbSAmit Nagal				${PLAT_PATH}/sip_svc_setup.c			\
140c97857dbSAmit Nagal				${PLAT_PATH}/gicv3.c
141c97857dbSAmit Nagal
142c97857dbSAmit Nagalifeq (${ERRATA_ABI_SUPPORT}, 1)
143c97857dbSAmit Nagal# enable the cpu macros for errata abi interface
144c97857dbSAmit NagalCORTEX_A78_AE_H_INC     := 1
145c97857dbSAmit Nagal$(eval $(call add_define, CORTEX_A78_AE_H_INC))
146c97857dbSAmit Nagalendif
147